{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app.component.html","./src/app/shared/app-container/app-container.component.html","./src/app/shared/attachment/attachment.component.html","./src/app/shared/automatic-forms/automatic-forms.component.html","./src/app/shared/common-controls/belongs-diploma/belongs-diploma.component.html","./src/app/shared/common-controls/control-autocomplete-local/control-autocomplete-local.component.html","./src/app/shared/common-controls/control-autocomplete/control-autocomplete.component.html","./src/app/shared/common-controls/control-belongs-dipoma/control-belong-diploma.component.html","./src/app/shared/common-controls/control-checkbox/control-checkbox.component.html","./src/app/shared/common-controls/control-chips-text/control-chips-text.component.html","./src/app/shared/common-controls/control-chips/control-chips.component.html","./src/app/shared/common-controls/control-datepicker/control-datepicker.component.html","./src/app/shared/common-controls/control-fullcalendar/control-fullcalendar.component.html","./src/app/shared/common-controls/control-image-picker/control-image-picker.component.html","./src/app/shared/common-controls/control-image-presenter/control-image-presenter.component.html","./src/app/shared/common-controls/control-input/control-input.component.html","./src/app/shared/common-controls/control-masked-input/control-masked-input.component.html","./src/app/shared/common-controls/control-numeric/control-numeric.component.html","./src/app/shared/common-controls/control-picklist/control-picklist.component.html","./src/app/shared/common-controls/control-radio/control-radio.component.html","./src/app/shared/common-controls/control-read-only/control-read-only.component.html","./src/app/shared/common-controls/control-richtext/control-richtext.component.html","./src/app/shared/common-controls/control-schedule/control-schedule.component.html","./src/app/shared/common-controls/control-school/control-school.component.html","./src/app/shared/common-controls/control-select-multiple-search/control-select-multiple-search.component.html","./src/app/shared/common-controls/control-select-multiple/control-select-multiple.component.html","./src/app/shared/common-controls/control-select/control-select.component.html","./src/app/shared/common-controls/control-show-item/control-show-item.component.html","./src/app/shared/common-controls/control-student/control-student.component.html","./src/app/shared/common-controls/control-textarea/control-textarea.component.html","./src/app/shared/common-controls/control-time/control-time.component.html","./src/app/shared/common-controls/control-upload/control-upload.component.html","./src/app/shared/common-controls/image-picker/image-picker.component.html","./src/app/shared/common-controls/pick-table/pick-table.component.html","./src/app/shared/confirmation-dialog/confirmation-dialog.component.html","./src/app/shared/delete-dialog/delete-dialog.component.html","./src/app/shared/files-dialog/files-dialog.component.html","./src/app/shared/list-table/list-table.component.html","./src/app/shared/login-form/login-form.component.html","./src/app/shared/notification-dialog/notification-dialog.component.html","./src/app/app-routing.module.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/auth/guards/auth-redirect.guard.ts","./src/app/auth/guards/auth.guard.ts","./src/app/core/constants/ad.constants.ts","./src/app/core/core.module.ts","./src/app/core/enums/partition.enum.ts","./src/app/core/enums/table.enum.ts","./src/app/core/interceptors/ad-authorization.interceptor.ts","./src/app/core/interceptors/config-url.interceptor.ts","./src/app/core/interceptors/server-error.interceptor.ts","./src/app/core/interceptors/status-messages.ts","./src/app/core/internationalization/i18n.en.ts","./src/app/core/internationalization/i18n.es.ts","./src/app/core/internationalization/languagelibrary.ts","./src/app/core/pipes/array-filter/array-filter.pipe.ts","./src/app/core/pipes/count/count.pipe.ts","./src/app/core/pipes/error-message/error-message.pipe.ts","./src/app/core/pipes/format-file-container/format-file-container.pipe.ts","./src/app/core/pipes/format-time/format-time.pipe.ts","./src/app/core/pipes/keys/keys.pipe.ts","./src/app/core/pipes/order-array/order-array.pipe.ts","./src/app/core/pipes/pipes-module.module.ts","./src/app/core/pipes/smart-async/smart-async.pipe.ts","./src/app/core/pipes/split-for/split-for.pipe.ts","./src/app/core/pipes/string-not-null/string-not-null.pipe.ts","./src/app/core/pipes/translate/translate.pipe.ts","./src/app/core/services/LocalStorage.service.ts","./src/app/core/services/active-directory/ad-facade.service.ts","./src/app/core/services/active-directory/ad.service.ts","./src/app/core/services/auth/auth.service.ts","./src/app/core/services/configuration/area-facade.service.ts","./src/app/core/services/configuration/certificate-facade.service.ts","./src/app/core/services/configuration/certificate-historical-facade.service.ts","./src/app/core/services/configuration/certificate-type-facade.service.ts","./src/app/core/services/configuration/configuration-facade.service.ts","./src/app/core/services/configuration/configuration.service.ts","./src/app/core/services/configuration/customer-facade.service.ts","./src/app/core/services/configuration/index.ts","./src/app/core/services/configuration/policy-facade.service.ts","./src/app/core/services/configuration/query-facade.service.ts","./src/app/core/services/configuration/role-facade.service.ts","./src/app/core/services/control-forms.service.ts","./src/app/core/services/control/exporter-facade.service.ts","./src/app/core/services/encrDecr.service.ts","./src/app/core/services/error.service.ts","./src/app/core/services/exporter.service.ts","./src/app/core/services/global-error-handler.ts","./src/app/core/services/microsoft-application-insights.service.ts","./src/app/core/services/oracle-storage.service.ts","./src/app/core/services/table-storage.service.ts","./src/app/core/services/utils.service.ts","./src/app/core/store/actions/ad.actions.ts","./src/app/core/store/actions/auth.actions.ts","./src/app/core/store/actions/configuration.actions.ts","./src/app/core/store/actions/configuration/area.actions.ts","./src/app/core/store/actions/configuration/certificate-historical.actions.ts","./src/app/core/store/actions/configuration/certificate-type.actions.ts","./src/app/core/store/actions/configuration/certificate.actions.ts","./src/app/core/store/actions/configuration/customer.actions.ts","./src/app/core/store/actions/configuration/general-config.actions.ts","./src/app/core/store/actions/configuration/index.ts","./src/app/core/store/actions/configuration/policy.actions.ts","./src/app/core/store/actions/configuration/query.actions.ts","./src/app/core/store/actions/configuration/role.actions.ts","./src/app/core/store/actions/index.ts","./src/app/core/store/actions/management/casefile.actions.ts","./src/app/core/store/actions/management/index.ts","./src/app/core/store/actions/views/index.ts","./src/app/core/store/actions/views/view.actions.ts","./src/app/core/store/effects/ad.effects.ts","./src/app/core/store/effects/auth.effects.ts","./src/app/core/store/effects/configurations/area.effects.ts","./src/app/core/store/effects/configurations/certificate-historical.effects.ts","./src/app/core/store/effects/configurations/certificate-type.effects.ts","./src/app/core/store/effects/configurations/certificate.effects.ts","./src/app/core/store/effects/configurations/customer.effects.ts","./src/app/core/store/effects/configurations/general-config.effects.ts","./src/app/core/store/effects/configurations/index.ts","./src/app/core/store/effects/configurations/policy.effects.ts","./src/app/core/store/effects/configurations/query.effects.ts","./src/app/core/store/effects/configurations/role.effects.ts","./src/app/core/store/effects/management/casefile.effects.ts","./src/app/core/store/effects/management/index.ts","./src/app/core/store/reducers/ad.reducer.ts","./src/app/core/store/reducers/auth.reducer.ts","./src/app/core/store/reducers/configuration.reducer.ts","./src/app/core/store/reducers/index.ts","./src/app/core/store/reducers/management.reducer.ts","./src/app/core/store/reducers/views.reducer.ts","./src/app/core/utilities/SpecialFormGenerator.ts","./src/app/core/utilities/SpecialForms.ts","./src/app/core/utilities/UniqueIdGenerator.ts","./src/app/core/utilities/app-insights.util.ts","./src/app/core/utilities/data.util.ts","./src/app/core/utilities/strategies/retry.util.ts","./src/app/core/utilities/validations.customer.ts","./src/app/custom-material/custom-material.module.ts","./src/app/custom-material/format-datepicker.ts","./src/app/safe.pipe.ts","./src/app/shared/app-container/app-container.component.scss","./src/app/shared/app-container/app-container.component.ts","./src/app/shared/attachment/attachment.component.scss","./src/app/shared/attachment/attachment.component.ts","./src/app/shared/attachment/icons-by-type.pipe.ts","./src/app/shared/automatic-forms/automatic-forms.component.scss","./src/app/shared/automatic-forms/automatic-forms.component.ts","./src/app/shared/common-controls/belongs-diploma/belongs-diploma.component.scss","./src/app/shared/common-controls/belongs-diploma/belongs-diploma.component.ts","./src/app/shared/common-controls/control-autocomplete-local/control-autocomplete-local.component.scss","./src/app/shared/common-controls/control-autocomplete-local/control-autocomplete-local.component.ts","./src/app/shared/common-controls/control-autocomplete/control-autocomplete.component.scss","./src/app/shared/common-controls/control-autocomplete/control-autocomplete.component.ts","./src/app/shared/common-controls/control-belongs-dipoma/control-belong-diploma.component.scss","./src/app/shared/common-controls/control-belongs-dipoma/control-belong-diploma.component.ts","./src/app/shared/common-controls/control-checkbox/control-checkbox.component.scss","./src/app/shared/common-controls/control-checkbox/control-checkbox.component.ts","./src/app/shared/common-controls/control-chips-text/control-chips-text.component.scss","./src/app/shared/common-controls/control-chips-text/control-chips-text.component.ts","./src/app/shared/common-controls/control-chips/control-chips.component.scss","./src/app/shared/common-controls/control-chips/control-chips.component.ts","./src/app/shared/common-controls/control-datepicker/control-datepicker.component.scss","./src/app/shared/common-controls/control-datepicker/control-datepicker.component.ts","./src/app/shared/common-controls/control-fullcalendar/control-fullcalendar.component.scss","./src/app/shared/common-controls/control-fullcalendar/control-fullcalendar.component.ts","./src/app/shared/common-controls/control-image-picker/control-image-picker.component.scss","./src/app/shared/common-controls/control-image-picker/control-image-picker.component.ts","./src/app/shared/common-controls/control-image-presenter/control-image-presenter.component.scss","./src/app/shared/common-controls/control-image-presenter/control-image-presenter.component.ts","./src/app/shared/common-controls/control-input/control-input.component.scss","./src/app/shared/common-controls/control-input/control-input.component.ts","./src/app/shared/common-controls/control-masked-input/control-masked-input.component.scss","./src/app/shared/common-controls/control-masked-input/control-masked-input.component.ts","./src/app/shared/common-controls/control-numeric/control-numeric.component.scss","./src/app/shared/common-controls/control-numeric/control-numeric.component.ts","./src/app/shared/common-controls/control-picklist/control-picklist.component.scss","./src/app/shared/common-controls/control-picklist/control-picklist.component.ts","./src/app/shared/common-controls/control-radio/control-radio.component.scss","./src/app/shared/common-controls/control-radio/control-radio.component.ts","./src/app/shared/common-controls/control-read-only/control-read-only.component.scss","./src/app/shared/common-controls/control-read-only/control-read-only.component.ts","./src/app/shared/common-controls/control-richtext/control-richtext.component.scss","./src/app/shared/common-controls/control-richtext/control-richtext.component.ts","./src/app/shared/common-controls/control-schedule/control-schedule.component.scss","./src/app/shared/common-controls/control-schedule/control-schedule.component.ts","./src/app/shared/common-controls/control-school/control-school.component.scss","./src/app/shared/common-controls/control-school/control-school.component.ts","./src/app/shared/common-controls/control-select-multiple-search/control-select-multiple-search.component.scss","./src/app/shared/common-controls/control-select-multiple-search/control-select-multiple-search.component.ts","./src/app/shared/common-controls/control-select-multiple/control-select-multiple.component.scss","./src/app/shared/common-controls/control-select-multiple/control-select-multiple.component.ts","./src/app/shared/common-controls/control-select/control-select.component.scss","./src/app/shared/common-controls/control-select/control-select.component.ts","./src/app/shared/common-controls/control-show-item/control-show-item.component.scss","./src/app/shared/common-controls/control-show-item/control-show-item.component.ts","./src/app/shared/common-controls/control-student/control-student.component.scss","./src/app/shared/common-controls/control-student/control-student.component.ts","./src/app/shared/common-controls/control-textarea/control-textarea.component.scss","./src/app/shared/common-controls/control-textarea/control-textarea.component.ts","./src/app/shared/common-controls/control-time/control-time.component.scss","./src/app/shared/common-controls/control-time/control-time.component.ts","./src/app/shared/common-controls/control-upload/control-upload.component.scss","./src/app/shared/common-controls/control-upload/control-upload.component.ts","./src/app/shared/common-controls/image-picker/image-picker.component.scss","./src/app/shared/common-controls/image-picker/image-picker.component.ts","./src/app/shared/common-controls/pick-table/pick-table.component.scss","./src/app/shared/common-controls/pick-table/pick-table.component.ts","./src/app/shared/confirmation-dialog/confirmation-dialog.component.scss","./src/app/shared/confirmation-dialog/confirmation-dialog.component.ts","./src/app/shared/delete-dialog/delete-dialog.component.scss","./src/app/shared/delete-dialog/delete-dialog.component.ts","./src/app/shared/files-dialog/files-dialog.component.scss","./src/app/shared/files-dialog/files-dialog.component.ts","./src/app/shared/index.ts","./src/app/shared/list-table/list-table.component.scss","./src/app/shared/list-table/list-table.component.ts","./src/app/shared/login-form/login-form.component.scss","./src/app/shared/login-form/login-form.component.ts","./src/app/shared/login-form/login-form.form.ts","./src/app/shared/notification-dialog/notification-dialog.component.scss","./src/app/shared/notification-dialog/notification-dialog.component.ts","./src/app/shared/shared.module.ts","./src/environments/environment.prod.ts","./src/environments/environment.ts","./src/main.ts","fs (ignored)","crypto (ignored)","stream (ignored)","zlib (ignored)","webpack:///fs (ignored)?3347","http (ignored)","https (ignored)","url (ignored)"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","module.exports = \"\\r\\n\"","module.exports = \"
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n {{node.icon}}\\r\\n
    {{node.name|translate}}
    \\r\\n
  • \\r\\n
    \\r\\n \\r\\n
  • \\r\\n
    \\r\\n {{node.icon}}\\r\\n
    {{node.name|translate}}
    \\r\\n
    \\r\\n
      \\r\\n \\r\\n \\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n {{_sfcontrol.label|translate}}\\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n {{item.blob.name}}\\r\\n
    \\r\\n \\\"\\\"\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n Hello, {{data.name}}\\r\\n\"","module.exports = \"
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \"","module.exports = \"
    \\r\\n\\r\\n \\r\\n {{labelSelect}}\\r\\n \\r\\n Seleccione\\r\\n \\r\\n {{dataElement.element}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \"","module.exports = \"
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{element[sfcontrol.data[2]]}}\\r\\n \\r\\n \\r\\n \\r\\n {{inputCtrl.errors|errorMessage|translate}}\\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\"","module.exports = \"\\r\\n \\r\\n {{_sfcontrol.data[4]}}\\r\\n \\r\\n \\r\\n \\r\\n {{option[_sfcontrol.data[3]]}}\\r\\n \\r\\n \\r\\n {{_sfcontrol.data[5]}}\\r\\n {{_sfcontrol.tooltip}}\\r\\n \\r\\n {{_sfcontrol.errors|errorMessage|translate}}\\r\\n \\r\\n \\r\\n\"","module.exports = \"\"","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n {{_sfcontrol.label}}\\r\\n \\r\\n \\r\\n\\r\\n\"","module.exports = \"\\r\\n One fish\\r\\n Two fish\\r\\n Primary fish\\r\\n Accent fish\\r\\n \"","module.exports = \" \\r\\n \\r\\n \\r\\n \\r\\n {{chip}}\\r\\n cancel\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{sfcontrol.tooltip|translate}}\\r\\n \\r\\n \\r\\n {{sfcontrol.errors|errorMessage|translate}}\\r\\n \\r\\n \\r\\n\"","module.exports = \"\\r\\n \\r\\n {{_sfcontrol.data[2]}}\\r\\n \\r\\n \\r\\n \\r\\n {{_sfcontrol.tooltip}}\\r\\n \\r\\n {{_sfcontrol.errors|errorMessage|translate}}\\r\\n \\r\\n \\r\\n\"","module.exports = \"\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\"","module.exports = \"\\r\\n\"","module.exports = \"
    \\r\\n \\\"\\\"\\r\\n
    \\r\\n\"","module.exports = \"\\r\\n \\r\\n {{_sfcontrol.data[1]|translate}}\\r\\n \\r\\n {{_sfcontrol.data[2]}}\\r\\n {{_sfcontrol.tooltip|translate}}\\r\\n \\r\\n {{_sfcontrol.errors|errorMessage|translate}}\\r\\n \\r\\n \\r\\n\"","module.exports = \"\\r\\n \\r\\n {{_sfcontrol.data[1]}}\\r\\n \\r\\n {{_sfcontrol.data[2]}}\\r\\n {{_sfcontrol.tooltip}}\\r\\n \\r\\n {{_sfcontrol.errors|errorMessage|translate}}\\r\\n \\r\\n \\r\\n\\r\\n\"","module.exports = \"\\r\\n \\r\\n {{_sfcontrol.data[1]|translate}}\\r\\n \\r\\n {{_sfcontrol.data[2]}}\\r\\n {{_sfcontrol.tooltip|translate}}\\r\\n \\r\\n {{_sfcontrol.errors|errorMessage|translate}}\\r\\n \\r\\n \\r\\n\"","module.exports = \"\\r\\n\"","module.exports = \"\\r\\n {{_sfcontrol.label}}\\r\\n \\r\\n {{_sfcontrol.data[4]}}\\r\\n {{_sfcontrol.data[5]}}\\r\\n \\r\\n {{_sfcontrol.data[2]}}\\r\\n {{_sfcontrol.tooltip|translate}}\\r\\n \\r\\n {{_sfcontrol.errors|errorMessage|translate}}\\r\\n \\r\\n\\r\\n\"","module.exports = \"
    \\r\\n \\r\\n {{_sfcontrol.label}}:\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n {{_sfcontrol.data[0]}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\"","module.exports = \"\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\"","module.exports = \"\\r\\n
    \\r\\n \\r\\n Día \\r\\n \\r\\n \\r\\n {{day}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{erroresFormulario.day}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Hora de inicio\\r\\n \\r\\n \\r\\n {{erroresFormulario.startTime}}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Hora final\\r\\n \\r\\n \\r\\n {{erroresFormulario.endingTime}}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Día {{element.day}} Hora de inicio {{element.startTime | time_am_pm}} Hora final {{element.endingTime | time_am_pm}} Duración {{element.duration}} Borrar \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \"","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Información\\r\\n \\r\\n \\r\\n Por favor complete la información correspondiente a los años que el estudiante ha cursado.\\r\\n \\r\\n \\r\\n

    \\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n Grado inicial\\r\\n \\r\\n \\r\\n {{grade}}\\r\\n \\r\\n \\r\\n \\r\\n {{erroresFormulario.GradeStart}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Grado final\\r\\n \\r\\n \\r\\n {{grade}}\\r\\n \\r\\n \\r\\n \\r\\n {{erroresFormulario.GradeEnd}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Año inicial\\r\\n \\r\\n \\r\\n {{erroresFormulario.YearStart}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Año final\\r\\n \\r\\n \\r\\n {{erroresFormulario.YearEnd}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Establecimiento\\r\\n \\r\\n \\r\\n {{erroresFormulario.Establishment}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Calendario\\r\\n \\r\\n \\r\\n {{calendar}}\\r\\n \\r\\n \\r\\n \\r\\n {{erroresFormulario.Calendar}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Ciudad\\r\\n \\r\\n \\r\\n {{erroresFormulario.City}}\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
    Grado inicial {{element.GradeStart}} Grado final {{element.GradeEnd}} Año inicial {{element.YearStart}} Año final {{element.YearEnd}} Establecimiento {{element.Establishment}} Calendario {{element.Calendar}} Ciudad {{element.City}} Borrar \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \"","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item[_sfcontrol.data[2]]}}\\r\\n \\r\\n \\r\\n \\r\\n {{_sfcontrol.data[4]}}\\r\\n
    \\r\\n {{_sfcontrol.tooltip}}\\r\\n {{_sfcontrol.errors|errorMessage|translate}}\\r\\n \\r\\n
    \\r\\n\\r\\n¿Crear diplomado modular?\\r\\n\"","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item[_sfcontrol.data[2]]}}\\r\\n \\r\\n \\r\\n \\r\\n {{_sfcontrol.data[4]}}\\r\\n
    \\r\\n {{_sfcontrol.tooltip}}\\r\\n {{_sfcontrol.errors|errorMessage|translate}}\\r\\n \\r\\n
    \\r\\n\"","module.exports = \"\\r\\n {{_sfcontrol.data[3]}}\\r\\n \\r\\n {{_sfcontrol.data[5] || 'Seleccione una opción'}}\\r\\n \\r\\n {{item[_sfcontrol.data[2]]}}\\r\\n \\r\\n \\r\\n {{_sfcontrol.data[4]}}\\r\\n {{_sfcontrol.tooltip}}\\r\\n \\r\\n {{_sfcontrol.errors|errorMessage|translate}}\\r\\n \\r\\n\"","module.exports = \"
    \\r\\n
    \\r\\n {{sfcontrol.value}}\\r\\n
    \\r\\n \\r\\n
    \\r\\n {{sfcontrol.label}}\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\"","module.exports = \"\\r\\n
    \\r\\n\\r\\n \\r\\n Nombre\\r\\n \\r\\n \\r\\n {{erroresFormulario.Name}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Edad\\r\\n \\r\\n \\r\\n {{erroresFormulario.Age}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Grado\\r\\n \\r\\n \\r\\n {{grade}}\\r\\n \\r\\n \\r\\n \\r\\n {{erroresFormulario.Grade}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Lugar donde estudia\\r\\n \\r\\n \\r\\n {{erroresFormulario.Place}}\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
    Nombre {{element.Name}} Edad {{element.Age}} Grado {{element.Grade}} Lugar donde estudia {{element.Place}} Borrar \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \"","module.exports = \"\\r\\n \\r\\n {{_sfcontrol.data[0]}}\\r\\n \\r\\n {{_sfcontrol.data[1]}}\\r\\n {{_sfcontrol.tooltip}}\\r\\n \\r\\n {{_sfcontrol.errors|errorMessage|translate}}\\r\\n \\r\\n \\r\\n \"","module.exports = \"\\r\\n \\r\\n {{_sfcontrol.data[1]|translate}}\\r\\n \\r\\n {{_sfcontrol.data[2]}}\\r\\n {{_sfcontrol.tooltip|translate}}\\r\\n \\r\\n {{_sfcontrol.errors|errorMessage|translate}}\\r\\n \\r\\n \\r\\n\"","module.exports = \"\\r\\n\\r\\n {{_sfcontrol.label}}\\r\\n \\r\\n {{ f.name }} ({{ f.type }})\\r\\n \\r\\n\"","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    {{inputImage?.files[0]?.name}}
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\\"\\\"\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\"","module.exports = \"
    \\r\\n
    \\r\\n \\r\\n Docentes\\r\\n \\r\\n search\\r\\n \\r\\n \\r\\n \\r\\n {{leftItem.element}}\\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n {{rightItem.element}}\\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n{{sfControlData2.label}}:\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n {{item.element}}\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n\"","module.exports = \"\\r\\n {{data.title}}\\r\\n {{data.text}}\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \"","module.exports = \"\\r\\n {{data.title}}\\r\\n {{data.text}}\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \"","module.exports = \"\\r\\n {{data.title}}\\r\\n {{data.text}}\\r\\n Descargar PDF\\r\\n\\r\\n

    \\r\\n
    \\r\\n \\r\\n
    \"","module.exports = \"
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{column.label}}\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n {{row[column.name]}}\\r\\n \\r\\n \\r\\n {{row[column.name]}}\\r\\n \\r\\n \\r\\n {{row[column.name]}}\\r\\n Información del estudiante\\r\\n Información de los padres\\r\\n\\r\\n \\r\\n \\r\\n {{row[column.name]}}\\r\\n \\r\\n \\r\\n {{row[column.name]}}\\r\\n \\r\\n \\r\\n {{row[column.name]}}\\r\\n \\r\\n \\r\\n [{{row[column.name]}}]\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n {{row[column.name]}}\\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n {{row[column.name] ? column.data[0] : column.data[1]}}\\r\\n \\r\\n \\r\\n
    \\r\\n \\\"\\\"\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\"","module.exports = \"
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n Ingreso al sistema\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n {{\\\"Ingresar\\\"|translate}}\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{serverError}}\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\"","module.exports = \"
    \\r\\n

    {{data.title}}

    \\r\\n

    {{data.text}}

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \"","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuard } from './auth/guards/auth.guard';\r\nimport { AuthRedirectGuard } from './auth/guards/auth-redirect.guard';\r\n\r\n\r\nexport const routes: Routes = [\r\n { path: \"\", redirectTo: \"views\", pathMatch: \"full\" },\r\n {\r\n path: \"home\",\r\n loadChildren: () => import('@root/home/home.module.ts').then(m => m.HomeModule),\r\n canLoad: [AuthGuard]\r\n },\r\n {\r\n path: \"auth\",\r\n loadChildren: () => import('@root/auth/auth.module.ts').then(m => m.AuthModule),\r\n canLoad: [AuthRedirectGuard]\r\n },\r\n {\r\n path: \"configuration\",\r\n loadChildren: () => import('@root/configuration/configuration.module.ts').then(m => m.ConfigurationModule),\r\n canLoad: [AuthGuard]\r\n },\r\n {\r\n path: \"views\",\r\n loadChildren: () => import('@root/views/views.module.ts').then(m => m.ViewModule)\r\n },\r\n {\r\n path: \"management\",\r\n loadChildren: () => import('@root/management/management.module.ts').then(m => m.ManagementModule)\r\n },\r\n { path: \"**\", redirectTo: \"/views/queries\" }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { NgxRolesService } from 'ngx-permissions';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit {\r\n constructor(private _applicationInsights: ApplicationInsights,private roles:NgxRolesService) {\r\n\r\n }\r\n ngOnInit() {\r\n this._applicationInsights.loadAppInsights()\r\n //console.log(this.roles.getRoles())\r\n }\r\n\r\n}\r\n","import { BrowserModule } from \"@angular/platform-browser\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { HttpClientModule, HttpErrorResponse } from \"@angular/common/http\";\r\n\r\n// Import Modules\r\nimport { CoreModule } from \"./core/core.module\";\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { AppComponent } from \"./app.component\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { SharedModule } from \"@root/shared/shared.module\";\r\nimport { ControlAutocompleteComponent } from \"./shared/common-controls/control-autocomplete/control-autocomplete.component\";\r\nimport { PdfViewerModule } from \"ng2-pdf-viewer\";\r\nimport { AuthService } from \"@services/auth/auth.service\";\r\n//import { AuthRedirectGuard } from './auth/guards/auth-redirect.guard';\r\nimport { AuthGuard } from \"./auth/guards/auth.guard\";\r\nimport { SafePipe } from \"./safe.pipe\";\r\n/* import { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg'; */\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { MicrosoftApplicationInsightsService } from \"@services/microsoft-application-insights.service\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { APP_INITIALIZER } from \"@angular/core\";\r\nimport { CustomerFacadeService } from \"@services/configuration/customer-facade.service\";\r\nimport { CustomerModel } from \"@models/configuration/customer.model\";\r\nimport {\r\n NgxPermissionsModule,\r\n NgxPermissionsService,\r\n NgxRolesService,\r\n} from \"ngx-permissions\";\r\n\r\n@NgModule({\r\n declarations: [AppComponent, SafePipe],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n CoreModule.forRoot(),\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n PdfViewerModule,\r\n SharedModule,\r\n RouterModule.forRoot([\r\n { path: \"\", component: MicrosoftApplicationInsightsService },\r\n ]),\r\n NgxPermissionsModule.forRoot(),\r\n ],\r\n providers: [\r\n ControlAutocompleteComponent,\r\n AuthGuard,\r\n AuthService,\r\n DatePipe,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: (\r\n acl: CustomerFacadeService,\r\n ps: NgxPermissionsService,\r\n rs: NgxRolesService\r\n ) => {\r\n return () => {\r\n return new Promise((resolve, reject) =>\r\n acl.getAllowsByMenu().subscribe(\r\n (value) => resolve(value),\r\n (error) => reject(error)\r\n )\r\n )\r\n .then((data) => {\r\n data.forEach((response: CustomerModel[]) => ps.addPermission([]));\r\n data.forEach((response: CustomerModel) => {\r\n //console.log(response);\r\n rs.addRole(response.nameArea, []);\r\n });\r\n return data;\r\n })\r\n .catch((err: HttpErrorResponse) => {\r\n console.log(err.error);\r\n });\r\n };\r\n },\r\n deps: [CustomerFacadeService, NgxPermissionsService, NgxRolesService],\r\n multi: true,\r\n },\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { CanLoad, Router, CanActivate } from '@angular/router';\r\nimport { take } from 'rxjs/operators';\r\nimport { AuthService } from '@services/auth/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthRedirectGuard implements OnInit, CanLoad, CanActivate {\r\n\r\n private IsAuth:boolean;\r\n\r\n constructor\r\n (\r\n private _auth: AuthService,\r\n private _router: Router,\r\n ){ \r\n }\r\n\r\n ngOnInit():void{\r\n }\r\n\r\n canLoad(){\r\n if (this._auth.isAuthenticate()){\r\n this._router.navigateByUrl(\"/home\")\r\n /* var actualRoute = window.location.origin+'/home';\r\n window.location.replace(actualRoute); */\r\n }else{\r\n return true\r\n }\r\n }\r\n\r\n canActivate(){\r\n if (this._auth.isAuthenticate()){\r\n this._router.navigateByUrl(\"/home\")\r\n }else{\r\n return true\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {CanLoad, Route, Router} from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '@services/auth/auth.service';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanLoad {\r\n constructor(\r\n private _router: Router,\r\n private _auth: AuthService\r\n ) {\r\n \r\n }\r\n\r\n canLoad(route: Route): Observable | Promise | boolean {\r\n if (this._auth.isAuthenticate()) {\r\n return true\r\n }else{\r\n /* var actualRoute = window.location.origin+'/auth/login';\r\n window.location.replace(actualRoute); */\r\n this._router.navigateByUrl(\"/auth/login\")\r\n }\r\n }\r\n}\r\n","export const TOKEN_GRAPH_API = 'TOKEN_GRAPH_API'","import { NgModule, ErrorHandler } from '@angular/core';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\nimport { ROOT_REDUCERS } from './store/reducers';\r\n\r\n// Import Services\r\nimport { AuthService } from '@services/auth/auth.service';\r\n//Configurations\r\nimport {\r\n ConfigurationService,\r\n ConfigurationFacadeService,\r\n \r\n} from '@services/configuration/index';\r\n\r\nimport { AuthEffects } from '@effects/auth.effects';\r\nimport { ADEffects } from '@effects/ad.effects';\r\nimport { AdAuthorizationInterceptor } from '@root/core/interceptors/ad-authorization.interceptor';\r\nimport { ConfiUriInterceptor } from './interceptors/config-url.interceptor';\r\nimport { AdService } from '@services/active-directory/ad.service';\r\nimport { AdFacadeService } from '@services/active-directory/ad-facade.service';\r\nimport { TableStorageService } from '@services/table-storage.service';\r\nimport { OracleStorageService } from '@services/oracle-storage.service';\r\nimport { configurationsEffects } from '@effects/configurations';\r\nimport { managementEffects } from '@effects/management';\r\nimport { EncrDecrService } from '@services/encrDecr.service';\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { GlobalErrorHandler } from '@services/global-error-handler';\r\nimport { ServerErrorInterceptor } from './interceptors/server-error.interceptor';\r\nimport { appInsightsFactory } from '@utilities/app-insights.util';\r\nimport { CustomerEffects } from '@effects/configurations/customer.effects';\r\n\r\n@NgModule({\r\n imports: [\r\n StoreModule.forRoot(ROOT_REDUCERS, {\r\n runtimeChecks: {\r\n strictStateImmutability: true,\r\n strictActionImmutability: true,\r\n strictStateSerializability: true,\r\n strictActionSerializability: true,\r\n },\r\n }),\r\n EffectsModule.forRoot([\r\n ...managementEffects,\r\n ...configurationsEffects,\r\n AuthEffects,\r\n ADEffects,\r\n CustomerEffects\r\n ])\r\n ],\r\n})\r\nexport class CoreModule {\r\n static forRoot() {\r\n return {\r\n ngModule: CoreModule,\r\n providers: [\r\n { provide: 'AuthServiceInterface', useClass: AuthService },\r\n { provide: 'ConfigurationService', useClass: ConfigurationService },\r\n { provide: 'TableStorageService', useClass: TableStorageService },\r\n { provide: 'OracleStorageService', useClass: OracleStorageService },\r\n { provide: 'EncDecrService', useClass: EncrDecrService },\r\n { provide: 'AdService', useClass: AdService },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: ConfiUriInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AdAuthorizationInterceptor,\r\n multi: true\r\n },\r\n { \r\n provide: HTTP_INTERCEPTORS, \r\n useClass: ServerErrorInterceptor, \r\n multi: true \r\n },\r\n {\r\n provide: ApplicationInsights,\r\n useFactory: appInsightsFactory\r\n },\r\n {\r\n provide: ErrorHandler,\r\n useClass: GlobalErrorHandler\r\n },\r\n ConfigurationFacadeService,\r\n AdFacadeService,\r\n EncrDecrService\r\n ],\r\n };\r\n }\r\n}","export enum Partitions {\r\n ADDRESS = 'Address',\r\n USERS = 'Users',\r\n DIRECTORIES = 'Directories',\r\n FINAL_DISPOSITION = 'FinalDisposition',\r\n\r\n AREA = 'AreaOperation',\r\n GENERALCONFIG = 'GeneralConfigOperation',\r\n CUSTOMER = 'CustomerOperation',\r\n POLICY = 'PolicyOperation',\r\n ROLE = 'RoleOperation',\r\n CERTIFICATE = 'SignOperation',\r\n //FILESIGNATURE = 'Queue/FileSignature',\r\n FILESIGNATURE = 'SignOperation/ExecuteNewRequest',\r\n CERTIFICATESTATUS = 'CertificateStatusOperation',\r\n CERTIFICATETYPE = 'CertificateTypesOperation',\r\n\r\n //Authorization\r\n ACTIONSAZURECEC = \"Action\",\r\n ALLOWSAZURECEC = \"Allow\",\r\n GROUPSAZURECEC = 'Group',\r\n ROLESAZURECEC = 'Role',\r\n RESOURCESAZURECEC = \"Resource\",\r\n ACTIONSBYROLESAZURECEC = \"ActionsByRoles\",\r\n USERSBYGROUPSAZURECEC = \"UserByGroup\",\r\n\r\n //Authorization --> Endpoints\r\n ACTIONSAZURE = \"ActionAzure\",\r\n ALLOWSAZURE = \"AllowAzure\",\r\n GROUPSAZURE = 'GroupAzure',\r\n RESOURCESAZURE = \"ResourceAzure\",\r\n ROLESAZURE = 'RoleAzure',\r\n ACTIONSBYROLESAZURE = \"ActionsByRolesAzure\",\r\n USERSBYGROUPSAZURE = \"UserByGroupAzure\",\r\n}\r\n","export enum Tables {\r\n AGENDA=\"Agenda\",\r\n CONFIGURATIONS = \"ListConfigurations\",\r\n CASEFILES = \"CaseFile\",\r\n DOCUMENT = \"Document\",\r\n USERS = \"users\",\r\n CONFIDENTIAL_DOCUMENTS= 'Confidentials',\r\n ORGANIZATIONAL_TYPES = 'api/organizationalTypes',\r\n\r\n //Authorization\r\n AUTHORIZATION = \"ModuleAuthorization\"\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpEvent, HttpRequest, HttpHandler, HttpInterceptor, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\nimport { environment } from '@environments/environment'\r\nimport { catchError, mergeMap } from 'rxjs/operators';\r\nimport { ConfigurationServiceInterface } from '@interfaces/configuration-service.interface';\r\nimport { ADServiceInterface } from '@interfaces/ad-service.interface';\r\nimport { TableStorageServiceInterface } from '@interfaces/table-storage.interface';\r\n\r\n@Injectable()\r\nexport class AdAuthorizationInterceptor implements HttpInterceptor {\r\n\r\n constructor(\r\n @Inject('AdService') private adService: ADServiceInterface,\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n //console.log(request.url)\r\n if (request.url == environment.graphApiToken) {\r\n return next.handle(request);\r\n }\r\n if (request.url.indexOf(environment.graphApiUrl) > -1 || request.url.indexOf(environment.apiUrl) > -1 || request.url.indexOf(environment.graphApiURL) > -1) {\r\n return this.getTokenConfig(false, next, request)\r\n .pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n let status:string;\r\n if(typeof(error)==\"string\"){\r\n status = error;\r\n }\r\n if (status && (status.indexOf(\"401\") > -1 || status.indexOf(\"403\") > -1)) {\r\n return this.getTokenConfig(true, next, request)\r\n }\r\n return throwError(error);\r\n })\r\n )\r\n }\r\n return next.handle(request);\r\n }\r\n\r\n private getTokenConfig(isExpired: boolean, next: HttpHandler, request: HttpRequest): Observable> {\r\n return this.adService\r\n .getToken$(isExpired)\r\n .pipe(\r\n mergeMap(token => next.handle(\r\n this.addAuthenticationToken(token, request)\r\n )),\r\n )\r\n }\r\n private addAuthenticationToken(token: string, request: HttpRequest): HttpRequest {\r\n // TODO VALIDATE URL EXTERN API\r\n \r\n let username = \"signature_manager\";\r\n let password = \"Eafit2021*\";\r\n let authorizationData = 'Basic ' + btoa(username + ':' + password);\r\n if (request.url.indexOf(environment.graphApiURL) > -1) {\r\n authorizationData = `Bearer ${token}`;\r\n }\r\n if (request.url == environment.graphApiToken) {\r\n return request;\r\n }\r\n let url = request.url\r\n return request.clone({\r\n url,\r\n setHeaders: {\r\n ['Content-Type']: 'application/json;odata=nometadata',\r\n ['Accept']: 'application/json',\r\n ['Access-Control-Allow-Origin']: '*',\r\n ['Access-Control-Allow-Headers']: 'Authorization, X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Allow-Request-Method',\r\n ['Access-Control-Allow-Methods']: 'DELETE, POST, PUT, GET, OPTIONS',\r\n ['Allow']: 'GET, POST, OPTIONS, PUT, DELETE, X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method',\r\n ['Authorization']: authorizationData,\r\n }\r\n });\r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpEvent, HttpRequest, HttpHandler, HttpInterceptor, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\nimport { environment } from '@environments/environment'\r\nimport { catchError, mergeMap } from 'rxjs/operators';\r\nimport { ConfigurationServiceInterface } from '@interfaces/configuration-service.interface';\r\nimport { TableStorageServiceInterface } from '@interfaces/table-storage.interface';\r\n\r\n@Injectable()\r\nexport class ConfiUriInterceptor implements HttpInterceptor {\r\n\r\n constructor(\r\n @Inject('TableStorageService') private tableStorageService: TableStorageServiceInterface,\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n //console.log(request.url)\r\n if (request.url == environment.graphApiToken) {\r\n return next.handle(request);\r\n }\r\n if (request.url.indexOf(environment.apiUrl) > -1 || request.url.indexOf(environment.graphApiURL) > -1) {\r\n return this.getTokenConfig(false, next, request)\r\n .pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n // this.tableStorageService.loggerErrorHttp(error)\r\n if (error && error.status === 403) {\r\n return this.getTokenConfig(true, next, request)\r\n }\r\n return throwError(error);\r\n })\r\n )\r\n }\r\n return next.handle(request);\r\n }\r\n\r\n private getTokenConfig(isExpired: boolean, next: HttpHandler, request: HttpRequest): Observable> {\r\n return this.tableStorageService\r\n .getToken$(isExpired)\r\n .pipe(\r\n mergeMap(token => next.handle(\r\n this.addAuthenticationToken(token, request)\r\n )),\r\n )\r\n }\r\n private addAuthenticationToken(token: string, request: HttpRequest): HttpRequest {\r\n const tokenData = token.slice(1, token.length)\r\n //console.log(request.url.indexOf(environment.graphApiURL))\r\n let username = \"signature_manager\";\r\n let password = \"Eafit2021*\";\r\n let authorizationData = 'Basic ' + btoa(username + ':' + password);\r\n if (request.url.indexOf(environment.graphApiURL) > -1) {\r\n authorizationData = `Bearer ${tokenData}`;\r\n }\r\n let headers: { [name: string]: string | string[] } = {\r\n ['Content-Type']: 'application/json;odata=nometadata',\r\n ['Accept']: 'application/json',\r\n ['Access-Control-Allow-Origin']: '*',\r\n ['Access-Control-Allow-Headers']: 'Authorization, X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Allow-Request-Method',\r\n ['Access-Control-Allow-Methods']: 'DELETE, POST, PUT, GET, OPTIONS',\r\n ['Allow']: 'GET, POST, OPTIONS, PUT, DELETE, X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method',\r\n ['Authorization']: authorizationData,\r\n //['Authorization']: `Bearer ${tokenData}`,\r\n //['Ocp-Apim-Subscription-Key']: '727423652990415a912bb212d79581d4'\r\n }\r\n /* let url = `${request.url}&${tokenData}` */\r\n let url = `${request.url}`\r\n if (request.method === 'GET' || request.method === 'POST' || request.method === 'PUT' || request.method === 'DELETE') {\r\n /* url = `${request.url}?${tokenData}` */\r\n url = `${request.url}`\r\n }\r\n /*\r\n else if(request.method === 'DELETE'){\r\n url = `${request.url}`\r\n headers = {\r\n ...headers,\r\n ['If-Match']: '*'\r\n }\r\n }*/\r\n return request.clone({\r\n url,\r\n setHeaders: headers\r\n });\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n} from \"@angular/common/http\";\r\nimport { throwError } from \"rxjs\";\r\nimport { catchError, retryWhen } from \"rxjs/internal/operators\";\r\nimport { environment } from \"@environments/environment\";\r\nimport { MicrosoftApplicationInsightsService } from \"@services/microsoft-application-insights.service\";\r\nimport { statusMessages } from \"./status-messages\";\r\nimport { genericRetryStrategy } from \"@utilities/strategies/retry.util\";\r\n\r\n@Injectable()\r\nexport class ServerErrorInterceptor implements HttpInterceptor {\r\n constructor(\r\n private _microsoftApplicationInsightsService: MicrosoftApplicationInsightsService\r\n ) {}\r\n\r\n //** INTERCEPTOR PARA FORMATEAR LOS ERRORES DEL FRONT Y DEL BACK */\r\n\r\n intercept(req: HttpRequest, next: HttpHandler) {\r\n return next.handle(req).pipe(\r\n retryWhen(genericRetryStrategy()),\r\n catchError((error) => {\r\n console.log(error);\r\n // Registrar el error en aplication insigths\r\n this._microsoftApplicationInsightsService.logError(\r\n error,\r\n window.location.href\r\n );\r\n let errorMessage = \"\";\r\n if (error instanceof ErrorEvent) {\r\n // Error del clientes\r\n //alert(\"Error del clientes\")\r\n errorMessage = `Client-side error: ${error.error.message}`;\r\n } else {\r\n // Error del BackEnd\r\n //alert(\"Error del BackEnd\")\r\n //console.log('Error: ', error);\r\n if (error.status == 200) {\r\n errorMessage = `${statusMessages(error.status, error.error.text)}`;\r\n } else {\r\n errorMessage = `Error del servidor: ${statusMessages(\r\n error.status\r\n )}`;\r\n }\r\n }\r\n\r\n // Reenvio del error modificado.\r\n return throwError(errorMessage);\r\n })\r\n );\r\n }\r\n}\r\n","import { NgSwitch } from '@angular/common';\r\n\r\n/**\r\n * Función para obtener el mensaje de error en función del código de estado de una petición\r\n * @param {number} statusCode\r\n * @returns {string}\r\n */\r\n\r\nexport const statusMessages = (statusCode: number,text?:string): string => {\r\n console.log('Codigo de estado enviado desde el interceptor: ', statusCode);\r\n console.log(text)\r\n switch(statusCode) {\r\n case 200:\r\n return text\r\n \r\n case 201:\r\n return statusCode + ' ' + 'Agregado exitosamente.'\r\n \r\n case 202:\r\n return statusCode + ' ' + 'La petición fue exitosa pero no ha sido procesada, es posible que sea rechazada.'\r\n \r\n case 203:\r\n return statusCode + ' ' + 'La petición fue exitosa, pero es posible que su contenido provenga de otra fuente.'\r\n \r\n case 301:\r\n return statusCode + ' ' + 'El recurso solicitado se ha movido permanentemente.'\r\n \r\n case 302:\r\n return statusCode + ' ' + 'El recurso solicitado se ha movido temporalmente.'\r\n \r\n case 400:\r\n return statusCode + ' ' + 'Petición no exitosa inténtelo más tarde o revise los datos de la misma.'\r\n \r\n case 401:\r\n return statusCode + ' ' + 'Acceso denegado, no cuenta con los permisos necesarios para esta solicitud. Compruebe su token de acceso o vuelva a inciar sesion'\r\n \r\n case 403:\r\n return statusCode + ' ' + 'Petición fallida, la API se encuentra fuera de servicio en estos momentos.'\r\n \r\n case 404:\r\n return statusCode + ' ' + 'El Recurso o registro solicitado no fue encontrado en nuestro servidor, verifique los datos de la petición.'\r\n \r\n case 405:\r\n return statusCode + ' ' + 'Petición no soportada, verifique los datos de la misma.'\r\n \r\n case 406:\r\n return statusCode + ' ' + 'No es posible retornar datos en el formato esperado por el navegador.'\r\n \r\n case 407:\r\n return statusCode + ' ' + 'Se requiere autenticación del proxi para procesar la petición.'\r\n \r\n case 408:\r\n return statusCode + ' ' + 'El cliente no continuo con la petición.'\r\n \r\n case 409:\r\n return statusCode + ' ' + 'Se presento un conflicto al procesar la petición revise los datos enviados.'\r\n \r\n case 410:\r\n return statusCode + ' ' + 'El Recurso o registro solicitado no fue encontrado en nuestro servidor, verifique los datos de la petición.'\r\n \r\n case 411:\r\n return statusCode + ' ' + 'No se pudo procesar la petición debido a un error en la cabecera.'\r\n \r\n case 412:\r\n return statusCode + ' ' + 'Petición fallida, la API se encuentra fuera de servicio en estos momentos.'\r\n \r\n case 500:\r\n return statusCode + ' ' + 'Error interno del servidor, puede que en estos momento nuestro servidor presente problemas, inténtelo más tarde.'\r\n \r\n case 501:\r\n return statusCode + ' ' + 'Funcionalidad no soportada por el servidor, revise el contenido de la petición.'\r\n \r\n case 503:\r\n return statusCode + ' ' + 'Servidor no disponible, puede estar congestionado o en mantenimiento, inténtelo más tarde.'\r\n \r\n case 504:\r\n return statusCode + ' ' + 'Servidor no disponible, puede estar congestionado o en mantenimiento, inténtelo más tarde.'\r\n \r\n case 505:\r\n return statusCode + ' ' + 'Versión del protocolo HTTP no soportada por el servidor'\r\n \r\n default:\r\n return 'Error desconocido, verifique su conexión a internet o comuniquese con el proveedor';\r\n \r\n }\r\n}","\r\nexport const english = {\r\n requiredError:'This field is required',\r\n init:'Home',\r\n cancelDocumentText:'Cancelar documento'\r\n};\r\n","\r\nexport const spanish = {\r\n ConfigMenu:\"Menu de configuracion\",\r\n description:\"Descripcion\",\r\n SearchBy:'Buscar por',\r\n successText:'Enviar',\r\n deleteText:'Eliminar',\r\n backText:'Regresar',\r\n cancelText:'Cancelar',\r\n requiredError:'Campo requerido',\r\n emailError: 'Email incorrecto',\r\n minlengthError:'La cantidad de caracteres mínimo no es el esperado',\r\n maxlengthError:'La cantidad de caracteres máximo no es el esperado',\r\n minError:'Valor inferior al mínimo',\r\n maxError:'Valor superior al máximo',\r\n patternError:'El dato ingresado no tiene el formato esperado',\r\n maxDate:'La fecha final no puede ser menor que la fecha inicial',\r\n maxTodayInicio: 'La fecha inicial no puede ser mayor a la fecha actual',\r\n maxTodayFin: 'La fecha final no puede ser mayor a la fecha actual',\r\n\r\n Queries:'Consultas',\r\n Query:'Consulta',\r\n Customers: 'Clientes',\r\n Customer: 'Cliente',\r\n Users: 'Usuarios',\r\n User: 'Usuario',\r\n Policies: 'Políticas',\r\n Policy: 'Política',\r\n CertifiedDetail: 'Histórico de Certificado Digital',\r\n GeneralConfigs: 'Configuraciones generales',\r\n\r\n ActionsAzure: 'Acciones',\r\n ActionAzure: 'Acción',\r\n AllowsAzure: 'Permisos',\r\n AllowAzure: 'Permiso',\r\n GroupsAzure: 'Grupos',\r\n GroupAzure: 'Grupo',\r\n ResourcesAzure: 'Recursos',\r\n ResourceAzure: 'Recurso',\r\n RolesAzure: 'Roles',\r\n RoleAzure: 'Rol',\r\n ActionsByRolesAzure: 'Acciones por roles',\r\n ActionByRoleAzure: 'Acción por rol',\r\n UsersByGroupsAzure: 'Usuarios por grupos',\r\n UserByGroupAzure: 'Usuario por grupo',\r\n\r\n idU: 'Código de verificación',\r\n certificateType: 'Id tipo de certificado',\r\n certificateTypeCode: 'Código tipo de certificado',\r\n namecertificateTypes: 'Nombre del certificado',\r\n maineMail: 'Correo del solicitante',\r\n alternativeEmail: 'Correo alterno',\r\n date: 'Fecha',\r\n dateExpired: 'Fecha de vencimiento',\r\n time: 'Hora modificación',\r\n status: 'Estado',\r\n responsible: 'Responsable',\r\n nameCertificate: 'Titulo Certificado',\r\n name:'Nombre',\r\n titleCertificate: \"Titulo certificado\",\r\n namePolicy: 'Nombre política',\r\n codePolicy: 'Código política',\r\n validationPeriod: 'Tiempo de validez',\r\n valididationPeriod: 'Tiempo de validez',\r\n policyCode: 'Código política',\r\n state: 'Estado',\r\n password: 'Contraseña',\r\n email: 'Usuario',\r\n nameArea: 'Área',\r\n creationDate: 'Fecha de Creacion',\r\n error: 'Error',\r\n redirectUrl: 'Url redirección portal EAFIT'\r\n\r\n};\r\n","import { spanish } from \"./i18n.es\";\r\nimport { english } from \"./i18n.en\";\r\n\r\nexport enum languages {\r\n spanish = \"es\",\r\n english = \"en\"\r\n}\r\n\r\nexport const getLanguageLibrary = () => {\r\n const currentLang = localStorage.getItem(\"language\");\r\n switch (currentLang) {\r\n case languages.spanish:\r\n return spanish;\r\n case languages.english:\r\n return english;\r\n default:\r\n return spanish;\r\n }\r\n};\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'arrayFilter' })\r\nexport class ArrayFilterPipe implements PipeTransform {\r\n transform(resources: Array, fieldName: string, valueName: string, type = true): Array {\r\n let res = [];\r\n if (type)\r\n res = resources ? resources.filter(resource => resource[fieldName] == valueName) : [];\r\n else\r\n res = resources ? resources.filter(resource => resource[fieldName] != valueName) : [];\r\n return res;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'count'\r\n})\r\nexport class CountPipe implements PipeTransform {\r\n transform(val:string, params:string) {\r\n var array = val.split(params);\r\n return array.length;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'errorMessage'\r\n})\r\nexport class ErrorMessagePipe implements PipeTransform {\r\n errorTypes = {\r\n minlength:'minlengthError',\r\n maxlength: 'maxlengthError',\r\n required: 'requiredError',\r\n email: 'emailError',\r\n pattern:'patternError',\r\n min:'minError',\r\n max:'maxError',\r\n maxDate:'maxDate',\r\n }\r\n\r\n transform(errors: any): any {\r\n let error = '';\r\n Object.keys(errors).reverse().map(key => {\r\n error = this.errorTypes[key] || errors[key];\r\n });\r\n return error;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'formatFileContainer'\r\n})\r\nexport class FormatFileContainerPipe implements PipeTransform {\r\n\r\n transform(value: string): any {\r\n return value.toLowerCase().replace(/[^a-z0-9]/g, '');\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Pipe que recibe una cadena de texto representando una hora en formato 24\r\n * y los trasformar a formato 12/24\r\n */\r\n@Pipe({name: 'time_am_pm'})\r\nexport class FormatTimePipe implements PipeTransform {\r\n transform(value: string): string {\r\n const index = value.indexOf(':');\r\n const hour = value.slice(0, index);\r\n const minute = value.slice(index+1);\r\n let numberHour = Number(hour);\r\n let indicator: string;\r\n if (numberHour > 11 ) {\r\n indicator = 'p.m.';\r\n if (numberHour > 12) {\r\n numberHour -= 12;\r\n }\r\n } else {\r\n indicator = 'a.m.';\r\n }\r\n const transformedHour = numberHour < 10 ? `0${numberHour}` : numberHour.toString();\r\n return `${transformedHour}:${minute} ${indicator}`;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'keys' })\r\nexport class KeysPipe implements PipeTransform {\r\n transform(value, complete = true): any {\r\n let keys = [];\r\n for (let key in value) {\r\n keys.push({ key: key, value: value[key] });\r\n }\r\n\r\n return complete ? keys : keys.map(item => item.value);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport * as _ from 'lodash';\r\n\r\n@Pipe({ name: 'orderArray' })\r\nexport class OrderArrayPipe implements PipeTransform {\r\n\r\n transform(value: Array, orderBy: Object): any {\r\n if (value.length) {\r\n const sortKeys = Object.keys(orderBy);\r\n const sortValues = Object.values(orderBy)\r\n return _.orderBy(value, sortKeys, sortValues);\r\n }\r\n return value;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SmartAsyncPipe } from './smart-async/smart-async.pipe';\r\nimport { OrderArrayPipe } from './order-array/order-array.pipe';\r\nimport { KeysPipe } from './keys/keys.pipe';\r\nimport { ArrayFilterPipe } from './array-filter/array-filter.pipe';\r\nimport { ErrorMessagePipe } from './error-message/error-message.pipe';\r\nimport { TranslatePipe } from './translate/translate.pipe';\r\nimport { FormatFileContainerPipe } from './format-file-container/format-file-container.pipe';\r\nimport { SplitForPipe } from './split-for/split-for.pipe';\r\nimport { StringNotNullPipe } from './string-not-null/string-not-null.pipe';\r\nimport { FormatTimePipe } from './format-time/format-time.pipe';\r\nimport { CountPipe } from './count/count.pipe';\r\nimport { UtilsService } from '@services/utils.service';\r\nimport { LocalStorageService } from '@services/LocalStorage.service';\r\n\r\nconst PIPES = [\r\n FormatFileContainerPipe,\r\n SmartAsyncPipe,\r\n OrderArrayPipe,\r\n KeysPipe,\r\n ArrayFilterPipe,\r\n ErrorMessagePipe,\r\n TranslatePipe,\r\n SplitForPipe,\r\n StringNotNullPipe,\r\n FormatTimePipe,\r\n CountPipe,\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n ...PIPES\r\n ]\r\n , exports: [\r\n ...PIPES\r\n ],\r\n providers: [UtilsService, LocalStorageService],\r\n})\r\nexport class PipesModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\n\r\n@Pipe({\r\n name: 'smartAsync'\r\n})\r\nexport class SmartAsyncPipe implements PipeTransform {\r\n\r\n transform(value: any): any {\r\n if (value instanceof Observable)\r\n return value;\r\n else {\r\n return new BehaviorSubject(value);\r\n }\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'split'\r\n})\r\nexport class SplitForPipe implements PipeTransform {\r\n transform(val:string, params:string) {\r\n return val ? val.split(params) : '';\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'stringNotNull'\r\n})\r\nexport class StringNotNullPipe implements PipeTransform {\r\n transform(val:string) {\r\n }\r\n}","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { getLanguageLibrary } from \"../../internationalization/languagelibrary\";\r\n\r\n@Pipe({\r\n name: \"translate\"\r\n})\r\nexport class TranslatePipe implements PipeTransform {\r\n transform(value: any): any {\r\n return getLanguageLibrary()[value] ? getLanguageLibrary()[value] : value;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n//import * as constants from '../configurations/constants'\r\n\r\n@Injectable()\r\nexport class LocalStorageService {\r\n\r\n constructor() {\r\n }\r\n\r\n setItem(key, item) {\r\n localStorage.setItem(key, JSON.stringify(item));\r\n }\r\n\r\n getClient(item?: string) {\r\n let cliente = JSON.parse(localStorage.getItem('cliente'));\r\n return item ? cliente[item] : cliente;\r\n }\r\n\r\n get(key: string): any {\r\n return JSON.parse(localStorage.getItem(key));\r\n }\r\n\r\n getToken() {\r\n return JSON.parse(localStorage.getItem(\"TokenSecurity\"));\r\n }\r\n setToken(token) {\r\n localStorage.setItem(\"TokenSecurity\", token);\r\n }\r\n\r\n removeItem(key: string) {\r\n localStorage.removeItem(key)\r\n }\r\n\r\n removeAll() {\r\n localStorage.clear();\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport * as fromAppRoot from \"@reducers/index\";\r\nimport { ADActionModel } from \"@models/ad/ad-action.model\";\r\nimport { Tables } from \"@root/core/enums/table.enum\";\r\nimport { AdActions } from \"@actions/index\";\r\nimport { Observable } from \"rxjs\";\r\nimport { UserGraphApiModel } from \"@models/user.model\";\r\nimport { getADUsers } from \"@reducers/ad.reducer\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AdFacadeService {\r\n constructor(private store: Store) {}\r\n\r\n searchADUsers$ = (query) => {\r\n const action: ADActionModel = {\r\n queryParams: `${Tables.USERS}?&$filter=startswith(displayName,'${query}')&$select=userType,id,mail,displayName`,\r\n };\r\n this.store.dispatch(AdActions.searchADUsers({ action }));\r\n };\r\n\r\n searchAllADUsers = (query) => {\r\n const action: ADActionModel = {\r\n queryParams: `${Tables.USERS}?&$filter=startswith(displayName,'${query}')&$select=userType,id,mail,displayName`,\r\n };\r\n this.store.dispatch(AdActions.searchADUsers({ action }));\r\n };\r\n\r\n getADUsers$ = (): Observable =>\r\n this.store.select(fromAppRoot.getADUsers);\r\n getIsLoading$(): Observable {\r\n return this.store.select(fromAppRoot.getLoadingAD);\r\n }\r\n\r\n resetUserAD = () => {\r\n this.store.dispatch(AdActions.cleanAD());\r\n };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ADServiceInterface } from '@interfaces/ad-service.interface';\r\nimport { ADActionModel } from '@models/ad/ad-action.model';\r\nimport { Observable, of } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { environment } from '@environments/environment';\r\nimport { TOKEN_GRAPH_API } from '@root/core/constants/ad.constants';\r\nimport { AD } from '@models/ad';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AdService implements ADServiceInterface {\r\n\r\n search$(action: ADActionModel): Observable {\r\n return this._httpClient\r\n .get(`${environment.graphApiUrl}${action.queryParams}`)\r\n .pipe(\r\n map(data => data[\"value\"] as AD[]),\r\n )\r\n }\r\n\r\n getToken$(isExpired: boolean): Observable {\r\n const token: string = localStorage.getItem(TOKEN_GRAPH_API);\r\n if (!isExpired && token) return of(token)\r\n return this._httpClient\r\n .get(environment.graphApiToken)\r\n .pipe(\r\n tap(token => console.log(token)),\r\n map(data => data[\"data\"]),\r\n tap(token => localStorage.setItem(TOKEN_GRAPH_API, token))\r\n )\r\n }\r\n\r\n constructor(private _httpClient: HttpClient) { }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n\r\nimport { AuthServiceInterface } from '@interfaces/auth-service.interface';\r\nimport { UserModel } from '@models/user.model';\r\nimport { emptyUser } from '@utilities/data.util';\r\nimport { Authenticate } from '@models/Authenticate.model';\r\n\r\n@Injectable()\r\nexport class AuthService implements AuthServiceInterface {\r\n createUser$(user: UserModel): Observable {\r\n return of(user);\r\n }\r\n\r\n login$(credential: Authenticate): Observable {\r\n return of(emptyUser());\r\n }\r\n\r\n logout$(): Observable {\r\n return of(true);\r\n }\r\n\r\n getCurrentUser(): UserModel {\r\n const user = JSON.parse(localStorage.getItem('CurrentUser'));\r\n return user;\r\n }\r\n\r\n getArea(): any {\r\n const user = JSON.parse(localStorage.getItem('CurrentUser'));\r\n const area = localStorage.getItem('access');\r\n if(area){\r\n return area;\r\n }else{\r\n return null;\r\n }\r\n }\r\n\r\n isAuthenticate(): boolean {\r\n return this.getCurrentUser() != null;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AreaModel } from '@models/configuration/area.model';\r\nimport { Store } from '@ngrx/store';\r\nimport * as fromAppRoot from '@reducers/index';\r\nimport { AreaActions } from '@actions/configuration/index';\r\nimport { TableStorageActionModel } from '@models/common/table-storage-action.model';\r\nimport { Partitions } from '@root/core/enums/partition.enum';\r\nimport { FacadeInterface } from '@interfaces/facade-interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AreaFacadeService implements FacadeInterface {\r\n\r\n getAll$(): Observable {\r\n return this.store.select(fromAppRoot.getAreas)\r\n }\r\n\r\n getCurrentItem$(): Observable {\r\n return this.store\r\n .select(fromAppRoot.getCurrentArea);\r\n }\r\n\r\n search(): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.AREA}/GetAll`,\r\n }\r\n this.store.dispatch(AreaActions.searchAreas({ action: props }));\r\n }\r\n\r\n create(payload: AreaModel): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.AREA}/Post`,\r\n payload\r\n }\r\n this.store.dispatch(AreaActions.createArea({ action: props }));\r\n }\r\n\r\n update(payload: AreaModel): void {\r\n const action: TableStorageActionModel = {\r\n queryParams: `${Partitions.AREA}/Post`,\r\n payload\r\n }\r\n this.store.dispatch(AreaActions.updateArea({ action }));\r\n }\r\n\r\n select(Area: AreaModel): void {\r\n this.store.dispatch(AreaActions.selectArea({ Area }));\r\n }\r\n\r\n delete(payload: AreaModel): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.AREA}/Delete?id=`+payload.id,\r\n payload\r\n }\r\n this.store.dispatch(AreaActions.deleteArea({ action: props }));\r\n }\r\n\r\n reset(): void {\r\n }\r\n\r\n resetSelected(): void {\r\n }\r\n\r\n getIsLoading$(): Observable {\r\n return this.store.select(fromAppRoot.getLoadingArea);\r\n }\r\n\r\n constructor(\r\n private store: Store,\r\n ) { }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { CertificateModel } from '@models/configuration/certificate.model';\r\nimport { Store } from '@ngrx/store';\r\nimport * as fromAppRoot from '@reducers/index';\r\nimport { TableStorageActionModel } from '@models/common/table-storage-action.model';\r\nimport { Partitions } from '@root/core/enums/partition.enum';\r\nimport { FacadeInterface } from '@interfaces/facade-interface';\r\nimport { CertificateActions } from '@actions/configuration';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CertificateFacadeService implements FacadeInterface {\r\n\r\n getAll$(): Observable {\r\n return this.store.select(fromAppRoot.getCertificates)\r\n }\r\n\r\n getCertificateStatus$(): Observable {\r\n return this.store\r\n .select(fromAppRoot.getCertificateStatus)\r\n }\r\n\r\n getCertificatesState$(): Observable {\r\n return this.store\r\n .select(fromAppRoot.getCertificatesByState)\r\n }\r\n\r\n getCertificatesFile$(): Observable {\r\n return this.store\r\n .select(fromAppRoot.getCertificatesFile)\r\n }\r\n\r\n getCurrentItem$(): Observable {\r\n return this.store\r\n .select(fromAppRoot.getCurrentCertificate);\r\n }\r\n\r\n search(): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}/GetAll`,\r\n }\r\n this.store.dispatch(CertificateActions.searchCertificates({ action: props }));\r\n }\r\n\r\n searchStatus(): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATESTATUS}/GetAll`,\r\n }\r\n this.store.dispatch(CertificateActions.searchCertificateStatus({ action: props }));\r\n }\r\n\r\n searchCertificatesState(state): void {\r\n const action: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}/GetAll?status=${state}`\r\n }\r\n this.store.dispatch(CertificateActions.searchCertificatesState({ action }));\r\n }\r\n\r\n searchFile(idU:string,status:string): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}/GetStatusId?id=`+idU+'&status='+status,\r\n }\r\n this.store.dispatch(CertificateActions.searchCertificatesFile({ action: props }));\r\n }\r\n\r\n create(payload: CertificateModel): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.FILESIGNATURE}?uuid=${payload.id}&newStatus=${payload.status} `,\r\n payload\r\n }\r\n this.store.dispatch(CertificateActions.createCertificate({ action: props }));\r\n }\r\n\r\n update(payload: CertificateModel): void {\r\n const action: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}`,\r\n payload\r\n }\r\n this.store.dispatch(CertificateActions.updateCertificate({ action }));\r\n }\r\n\r\n select(Certificate: CertificateModel): void {\r\n this.store.dispatch(CertificateActions.selectCertificate({ Certificate }));\r\n }\r\n\r\n delete(payload: CertificateModel): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}`,\r\n payload\r\n }\r\n this.store.dispatch(CertificateActions.deleteCertificate({ action: props }));\r\n }\r\n\r\n reset(): void {\r\n }\r\n\r\n resetSelected(): void {\r\n }\r\n\r\n constructor(\r\n private store: Store,\r\n ) { }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { CertificateHistoricalModel } from '@models/configuration/certificate-historical.model';\r\nimport { Store } from '@ngrx/store';\r\nimport * as fromAppRoot from '@reducers/index';\r\nimport { TableStorageActionModel } from '@models/common/table-storage-action.model';\r\nimport { Partitions } from '@root/core/enums/partition.enum';\r\nimport { FacadeInterface } from '@interfaces/facade-interface';\r\nimport { CertificateHistoricalActions } from '@actions/configuration';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CertificateHistoricalFacadeService implements FacadeInterface {\r\n\r\n getAll$(): Observable {\r\n return this.store.select(fromAppRoot.getCertificateHistoricals)\r\n }\r\n\r\n getCurrentItem$(): Observable {\r\n return this.store\r\n .select(fromAppRoot.getCurrentCertificateHistorical);\r\n }\r\n\r\n search(): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}/GetAll`,\r\n }\r\n this.store.dispatch(CertificateHistoricalActions.searchCertificateHistoricals({ action: props }));\r\n }\r\n\r\n create(payload: CertificateHistoricalModel): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}`,\r\n payload\r\n }\r\n this.store.dispatch(CertificateHistoricalActions.createCertificateHistorical({ action: props }));\r\n }\r\n\r\n update(payload: CertificateHistoricalModel): void {\r\n const action: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}`,\r\n payload\r\n }\r\n this.store.dispatch(CertificateHistoricalActions.updateCertificateHistorical({ action }));\r\n }\r\n\r\n select(CertificateHistorical: CertificateHistoricalModel): void {\r\n this.store.dispatch(CertificateHistoricalActions.selectCertificateHistorical({ CertificateHistorical }));\r\n }\r\n\r\n delete(payload: CertificateHistoricalModel): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}`,\r\n payload\r\n }\r\n this.store.dispatch(CertificateHistoricalActions.deleteCertificateHistorical({ action: props }));\r\n }\r\n\r\n searchFile(idU:string,status:string): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}/GetStatusId?id=`+idU+'&status='+status,\r\n }\r\n this.store.dispatch(CertificateHistoricalActions.searchCertificateHistoricals({ action: props }));\r\n }\r\n\r\n reset(): void {\r\n }\r\n\r\n resetSelected(): void {\r\n }\r\n\r\n constructor(\r\n private store: Store,\r\n ) { }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { CertificateTypeModel } from '@models/configuration/certificate-type.model';\r\nimport { Store } from '@ngrx/store';\r\nimport * as fromAppRoot from '@reducers/index';\r\nimport { TableStorageActionModel } from '@models/common/table-storage-action.model';\r\nimport { Partitions } from '@root/core/enums/partition.enum';\r\nimport { FacadeInterface } from '@interfaces/facade-interface';\r\nimport { CertificateTypeActions } from '@actions/configuration';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CertificateTypeFacadeService implements FacadeInterface {\r\n\r\n getAll$(): Observable {\r\n return this.store.select(fromAppRoot.getCertificateTypes)\r\n }\r\n\r\n getCurrentItem$(): Observable {\r\n return this.store\r\n .select(fromAppRoot.getCurrentCertificateType);\r\n }\r\n\r\n search(): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATETYPE}/GetAll`,\r\n }\r\n this.store.dispatch(CertificateTypeActions.searchCertificateTypes({ action: props }));\r\n }\r\n\r\n create(payload: CertificateTypeModel): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATETYPE}/Post`,\r\n payload\r\n }\r\n this.store.dispatch(CertificateTypeActions.createCertificateType({ action: props }));\r\n }\r\n\r\n update(payload: CertificateTypeModel): void {\r\n const action: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATETYPE}/Post`,\r\n payload\r\n }\r\n this.store.dispatch(CertificateTypeActions.updateCertificateType({ action }));\r\n }\r\n\r\n select(CertificateType: CertificateTypeModel): void {\r\n this.store.dispatch(CertificateTypeActions.selectCertificateType({ CertificateType }));\r\n }\r\n\r\n delete(payload: CertificateTypeModel): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATETYPE}/Delete?id=`+payload.id,\r\n payload\r\n }\r\n this.store.dispatch(CertificateTypeActions.deleteCertificateType({ action: props }));\r\n }\r\n\r\n reset(): void {\r\n }\r\n\r\n resetSelected(): void {\r\n }\r\n\r\n constructor(\r\n private store: Store,\r\n ) { }\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport * as fromAppRoot from '@reducers/index';\r\nimport { ConfigurationServiceInterface } from '@interfaces/configuration-service.interface';\r\nimport { MenuItemModel } from '@models/menu-item.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigurationFacadeService {\r\n\r\n getMenuItems$(): Observable {\r\n return this.configurationService\r\n .getMenuItems$()\r\n }\r\n\r\n getNavBarOptions$(): Observable {\r\n return this.configurationService\r\n .getNavBarOptions$()\r\n }\r\n getError$(): Observable {\r\n return this.store\r\n .select(fromAppRoot.getErrorConfiguration);\r\n }\r\n getIsLoading$(): Observable {\r\n return this.store\r\n .select(fromAppRoot.isLoadingConfiguration);\r\n }\r\n getMessages$(): Observable {\r\n return this.store\r\n .select(fromAppRoot.getMessageConfiguration);\r\n }\r\n constructor(\r\n private store: Store,\r\n @Inject('ConfigurationService') private configurationService: ConfigurationServiceInterface,\r\n ) { }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { ConfigurationServiceInterface } from '@interfaces/configuration-service.interface';\r\nimport { MenuItemModel } from '@models/menu-item.model';\r\nimport { menuItemsData, navBarOptions } from '@utilities/data.util';\r\n\r\n@Injectable()\r\nexport class ConfigurationService implements ConfigurationServiceInterface {\r\n constructor() { }\r\n\r\n getMenuItems$(): Observable {\r\n return of(menuItemsData())\r\n }\r\n\r\n getNavBarOptions$(): Observable {\r\n return of(navBarOptions())\r\n }\r\n \r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { CustomerModel } from \"@models/configuration/customer.model\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport * as fromAppRoot from \"@reducers/index\";\r\nimport { CustomerActions } from \"@actions/configuration/index\";\r\nimport { TableStorageActionModel } from \"@models/common/table-storage-action.model\";\r\nimport { Partitions } from \"@root/core/enums/partition.enum\";\r\nimport { FacadeInterface } from \"@interfaces/facade-interface\";\r\nimport { AuthService } from \"@services/auth/auth.service\";\r\nimport { OracleStorageService } from \"@services/oracle-storage.service\";\r\nimport { OracleStorageActionModel } from \"@models/common/oracle-storage-action.model\";\r\nimport { map, tap } from \"rxjs/operators\";\r\nimport { environment } from \"@environments/environment\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class CustomerFacadeService implements FacadeInterface {\r\n getAll$(): Observable {\r\n return this.store.select(fromAppRoot.getCustomers);\r\n }\r\n\r\n getAllAuthorization$(): Observable {\r\n return this.store.select(fromAppRoot.getCustomersAuthorization);\r\n }\r\n\r\n getCurrentItem$(): Observable {\r\n return this.store.select(fromAppRoot.getCurrentCustomer);\r\n }\r\n\r\n searchCustomersAuthorization(): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CUSTOMER}/GetAll`,\r\n };\r\n this.store.dispatch(\r\n CustomerActions.searchCustomersAuthorization({ action: props })\r\n );\r\n }\r\n\r\n search(): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CUSTOMER}/GetAll`,\r\n };\r\n this.store.dispatch(CustomerActions.searchCustomers({ action: props }));\r\n }\r\n\r\n create(payload: CustomerModel): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CUSTOMER}/Post`,\r\n payload,\r\n };\r\n this.store.dispatch(CustomerActions.createCustomer({ action: props }));\r\n }\r\n\r\n update(payload: CustomerModel): void {\r\n const action: TableStorageActionModel = {\r\n queryParams: `${Partitions.CUSTOMER}/Post`,\r\n payload,\r\n };\r\n this.store.dispatch(CustomerActions.updateCustomer({ action }));\r\n }\r\n\r\n select(Customer: CustomerModel): void {\r\n this.store.dispatch(CustomerActions.selectCustomer({ Customer }));\r\n }\r\n\r\n delete(payload: CustomerModel): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.CUSTOMER}/Delete?id=` + payload.id,\r\n payload,\r\n };\r\n this.store.dispatch(CustomerActions.deleteCustomer({ action: props }));\r\n }\r\n\r\n cleanGetOne(): void {\r\n this.store.dispatch(CustomerActions.cleanCustomers(null));\r\n }\r\n\r\n reset(): void {}\r\n\r\n resetSelected(): void {}\r\n\r\n public getAllowsByMenu(): Observable {\r\n let currentUser = JSON.parse(localStorage.getItem(\"CurrentUser\"));\r\n let access = localStorage.getItem(\"access\");\r\n //console.log(\"CARGA APP MODULE\", access);\r\n\r\n const action: OracleStorageActionModel = {\r\n queryParams: `${Partitions.CUSTOMER}/GetAll`,\r\n };\r\n //console.log(\"¿ESTA AUTENTICADO?\",this._auth.isAuthenticate());\r\n if (this._auth.isAuthenticate() && (access==environment.ROLE_CONFIGURATION || access==environment.ROLE_NAME_ADMINISTRATION)) {\r\n let requestACL$: Observable;\r\n\r\n requestACL$ = this.oracleStorageService.createGeneric$(action);\r\n\r\n return requestACL$.pipe(\r\n //tap((customers: CustomerModel[]) => console.log(customers)),\r\n map((customers: CustomerModel[]) => {\r\n return customers.filter(\r\n (element) => element.email == currentUser.email && element.nameArea==access\r\n );\r\n }),\r\n //tap((customers: CustomerModel[]) => console.log(customers))\r\n );\r\n }\r\n }\r\n\r\n getIsLoading$(): Observable {\r\n return this.store.select(fromAppRoot.getLoadingCustomer);\r\n }\r\n\r\n constructor(\r\n private store: Store,\r\n private _auth: AuthService,\r\n private oracleStorageService: OracleStorageService\r\n ) {}\r\n}\r\n","import { ConfigurationService } from '@services/configuration/configuration.service';\r\nimport { ConfigurationFacadeService } from '@services/configuration/configuration-facade.service';\r\nimport { CustomerFacadeService } from './customer-facade.service';\r\nimport { PolicyFacadeService } from './policy-facade.service';\r\nimport { CertificateFacadeService } from './certificate-facade.service';\r\nimport { QueryFacadeService } from './query-facade.service';\r\nimport { CertificateTypeFacadeService } from './certificate-type-facade.service';\r\nimport { RoleFacadeService } from './role-facade.service';\r\nimport { AreaFacadeService } from './area-facade.service';\r\nimport { CertificateHistoricalFacadeService } from './certificate-historical-facade.service';\r\n\r\nexport {\r\n ConfigurationService,\r\n ConfigurationFacadeService,\r\n CustomerFacadeService,\r\n PolicyFacadeService,\r\n CertificateFacadeService,\r\n CertificateHistoricalFacadeService,\r\n CertificateTypeFacadeService,\r\n QueryFacadeService,\r\n RoleFacadeService,\r\n AreaFacadeService,\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { PolicyModel } from \"@models/configuration/policy.model\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport * as fromAppRoot from \"@reducers/index\";\r\nimport { PolicyActions } from \"@actions/configuration/index\";\r\nimport { TableStorageActionModel } from \"@models/common/table-storage-action.model\";\r\nimport { Partitions } from \"@root/core/enums/partition.enum\";\r\nimport { FacadeInterface } from \"@interfaces/facade-interface\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class PolicyFacadeService implements FacadeInterface {\r\n getAll$(): Observable {\r\n return this.store.select(fromAppRoot.getPolicies);\r\n }\r\n\r\n getCurrentItem$(): Observable {\r\n return this.store.select(fromAppRoot.getCurrentPolicy);\r\n }\r\n\r\n search(): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.POLICY}/GetwsSignPolicies`,\r\n };\r\n this.store.dispatch(PolicyActions.searchPolicies({ action: props }));\r\n }\r\n\r\n create(payload: PolicyModel): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.POLICY}/Post`,\r\n payload,\r\n };\r\n this.store.dispatch(PolicyActions.createPolicy({ action: props }));\r\n }\r\n\r\n update(payload: PolicyModel): void {\r\n const action: TableStorageActionModel = {\r\n queryParams: `${Partitions.POLICY}/Post`,\r\n payload,\r\n };\r\n this.store.dispatch(PolicyActions.updatePolicy({ action }));\r\n }\r\n\r\n setCurrentItem(rowKey: string): void {\r\n this.store.dispatch(PolicyActions.setCurrentPolicy({ rowKey }));\r\n }\r\n\r\n select(Policy: PolicyModel): void {\r\n this.store.dispatch(PolicyActions.selectPolicy({ Policy }));\r\n }\r\n\r\n delete(payload: PolicyModel): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.POLICY}/Delete?id=` + payload.id,\r\n payload,\r\n };\r\n this.store.dispatch(PolicyActions.deletePolicy({ action: props }));\r\n }\r\n\r\n reset(): void {}\r\n\r\n resetSelected(): void {}\r\n\r\n getIsLoading$(): Observable {\r\n return this.store.select(fromAppRoot.getLoadingPolicy);\r\n }\r\n\r\n constructor(private store: Store) {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { QueryModel } from '@models/configuration/query.model';\r\nimport { Store } from '@ngrx/store';\r\nimport * as fromAppRoot from '@reducers/index';\r\nimport { QueryActions } from '@actions/configuration/index';\r\n\r\nimport { Partitions } from '@root/core/enums/partition.enum';\r\nimport { FacadeInterface } from '@interfaces/facade-interface';\r\nimport { OracleStorageActionModel } from '@models/common/oracle-storage-action.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QueryFacadeService implements FacadeInterface {\r\n\r\n getAll$(): Observable {\r\n return this.store.select(fromAppRoot.getQueries)\r\n }\r\n\r\n getCurrentItem$(): Observable {\r\n return this.store\r\n .select(fromAppRoot.getCurrentQuery);\r\n }\r\n\r\n getOne$(): Observable {\r\n return this.store.select(fromAppRoot.getQueryOne)\r\n }\r\n\r\n search(): void {\r\n const props: OracleStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}`,\r\n }\r\n this.store.dispatch(QueryActions.searchQueries({ action: props }));\r\n }\r\n\r\n searchOne(IdU:string): void {\r\n const props: OracleStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}/Get?id=`+IdU,\r\n }\r\n this.store.dispatch(QueryActions.searchQueryOne({ action: props }));\r\n }\r\n\r\n cleanGetOne(): void {\r\n this.store.dispatch(QueryActions.cleanQuery(null));\r\n }\r\n\r\n create(payload: QueryModel): void {\r\n const props: OracleStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}`,\r\n payload\r\n }\r\n this.store.dispatch(QueryActions.createQuery({ action: props }));\r\n }\r\n\r\n update(payload: QueryModel): void {\r\n const action: OracleStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}`,\r\n payload\r\n }\r\n this.store.dispatch(QueryActions.updateQuery({ action }));\r\n }\r\n\r\n setCurrentItem(rowKey: string): void {\r\n this.store.dispatch(QueryActions.setCurrentQuery({ rowKey }));\r\n }\r\n\r\n select(Query: QueryModel): void {\r\n this.store.dispatch(QueryActions.selectQuery({ Query }));\r\n }\r\n\r\n delete(payload: QueryModel): void {\r\n const props: OracleStorageActionModel = {\r\n queryParams: `${Partitions.CERTIFICATE}`,\r\n payload\r\n }\r\n this.store.dispatch(QueryActions.deleteQuery({ action: props }));\r\n }\r\n\r\n reset(): void {\r\n }\r\n\r\n resetSelected(): void {\r\n }\r\n\r\n constructor(\r\n private store: Store,\r\n ) { }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { RoleModel } from '@models/configuration/role.model';\r\nimport { Store } from '@ngrx/store';\r\nimport * as fromAppRoot from '@reducers/index';\r\nimport { RoleActions } from '@actions/configuration/index';\r\nimport { TableStorageActionModel } from '@models/common/table-storage-action.model';\r\nimport { Partitions } from '@root/core/enums/partition.enum';\r\nimport { FacadeInterface } from '@interfaces/facade-interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RoleFacadeService implements FacadeInterface {\r\n\r\n getAll$(): Observable {\r\n return this.store.select(fromAppRoot.getRoles)\r\n }\r\n\r\n getCurrentItem$(): Observable {\r\n return this.store\r\n .select(fromAppRoot.getCurrentRole);\r\n }\r\n\r\n search(): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.ROLE}/GetAll`,\r\n }\r\n this.store.dispatch(RoleActions.searchRoles({ action: props }));\r\n }\r\n\r\n create(payload: RoleModel): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.ROLE}/Post`,\r\n payload\r\n }\r\n this.store.dispatch(RoleActions.createRole({ action: props }));\r\n }\r\n\r\n update(payload: RoleModel): void {\r\n const action: TableStorageActionModel = {\r\n queryParams: `${Partitions.ROLE}/Post`,\r\n payload\r\n }\r\n this.store.dispatch(RoleActions.updateRole({ action }));\r\n }\r\n\r\n select(Role: RoleModel): void {\r\n this.store.dispatch(RoleActions.selectRole({ Role }));\r\n }\r\n\r\n delete(payload: RoleModel): void {\r\n const props: TableStorageActionModel = {\r\n queryParams: `${Partitions.ROLE}/Delete`,\r\n payload\r\n }\r\n this.store.dispatch(RoleActions.deleteRole({ action: props }));\r\n }\r\n\r\n reset(): void {\r\n }\r\n\r\n resetSelected(): void {\r\n }\r\n\r\n constructor(\r\n private store: Store,\r\n ) { }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class ControlFormsService {\r\n public itemValueRichText = new BehaviorSubject(true);\r\n public itemValueTime = new BehaviorSubject(true);\r\n public itemValuePickList = new BehaviorSubject(true);\r\n public itemValueDataPicker = new BehaviorSubject(true);\r\n public itemValueImagePicker = new BehaviorSubject(true);\r\n\r\n set theItemRichText(value: boolean) {\r\n this.itemValueRichText.next(value);\r\n localStorage.setItem(\"richText\", JSON.stringify(value) );\r\n }\r\n\r\n get theItemRichText() {\r\n return JSON.parse( localStorage.getItem(\"richText\") );\r\n }\r\n\r\n set theItemTime(value: boolean) {\r\n this.itemValueTime.next(value);\r\n localStorage.setItem(\"time\", JSON.stringify(value) );\r\n }\r\n\r\n get theItemTime() {\r\n return JSON.parse( localStorage.getItem(\"time\") );\r\n }\r\n\r\n set theItemPickList(value: boolean) {\r\n this.itemValuePickList.next(value);\r\n localStorage.setItem(\"pickList\", JSON.stringify(value) );\r\n }\r\n\r\n get theItemPickList() {\r\n return JSON.parse( localStorage.getItem(\"pickList\") );\r\n }\r\n\r\n set theItemDataPicker(value: boolean) {\r\n this.itemValueDataPicker.next(value);\r\n localStorage.setItem(\"dataPicker\", JSON.stringify(value) );\r\n }\r\n\r\n get theItemDataPicker() {\r\n return JSON.parse( localStorage.getItem(\"dataPicker\") );\r\n }\r\n\r\n set theItemImagePicker(value: boolean) {\r\n this.itemValueImagePicker.next(value);\r\n localStorage.setItem(\"imagePicker\", JSON.stringify(value) );\r\n }\r\n\r\n get theItemImagePicker() {\r\n return JSON.parse( localStorage.getItem(\"imagePicker\") );\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ExporterService } from '../exporter.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExportFacadeService {\r\n\r\n constructor(private oExporterService: ExporterService) { }\r\n\r\n exportToExcel(list: any[], excelFileName: string): void {\r\n this.oExporterService.exportToExcel(list, excelFileName);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { EncryptServiceInterface } from '@interfaces/encrypt-service.interface';\r\n\r\n@Injectable(/* {\r\n providedIn: 'root'\r\n}*/) \r\n\r\nexport class EncrDecrService implements EncryptServiceInterface{\r\n constructor() { }\r\n \r\n //Metodo set para encriptar el valor.\r\n set(keys:any, value:string) : string{\r\n var key = CryptoJS.enc.Utf8.parse(keys);\r\n var iv = CryptoJS.enc.Utf8.parse(keys);\r\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(value.toString()), key,\r\n {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n\r\n return encrypted.toString();\r\n }\r\n\r\n //Metodo get para desencriptar el valor.\r\n get(keys:any, value:string) : string{\r\n var key = CryptoJS.enc.Utf8.parse(keys);\r\n var iv = CryptoJS.enc.Utf8.parse(keys);\r\n var decrypted = CryptoJS.AES.decrypt(value, key, {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n\r\n return decrypted.toString(CryptoJS.enc.Utf8);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorService {\r\n\r\n getClientMessage(error: Error): string {\r\n if (!navigator.onLine) {\r\n return 'No Internet Connection';\r\n }\r\n return error.message ? error.message : error.toString();\r\n }\r\n\r\n getClientStack(error: Error): string {\r\n return error.stack;\r\n }\r\n\r\n getServerMessage(error: HttpErrorResponse): string {\r\n return error.message;\r\n }\r\n\r\n getServerStack(error: HttpErrorResponse): string {\r\n return 'stack';\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\n\r\n// XLXS\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLXS from 'xlsx';\r\n\r\ndeclare var getDate: any;\r\n\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8';\r\nconst EXCEL_EXT = '.xlsx';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExporterService {\r\n\r\n constructor() { }\r\n\r\n exportToExcel(json: any[], excelFileName: string): void {\r\n const header = Object.keys(json[0]); // columns name\r\n var wscols = [];\r\n for (var i = 0; i < header.length; i++) { // columns length added\r\n wscols.push({ wch: header[i].length + 25 })\r\n }\r\n\r\n const worksheet: XLXS.WorkSheet = XLXS.utils.json_to_sheet(json);\r\n worksheet[\"!cols\"] = wscols;\r\n const workbook: XLXS.WorkBook = {\r\n Sheets: { 'data': worksheet },\r\n SheetNames: ['data']\r\n };\r\n const excelBuffer: any = XLXS.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n\r\n this.saveAsExcel(excelBuffer, excelFileName);\r\n }\r\n\r\n private saveAsExcel(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\r\n const date = (new Date(Date.now()).toLocaleString()).replace(\",\", \"_\").replace(\" \", \"\");\r\n\r\n FileSaver.saveAs(data, fileName.concat(\"_\".concat(String(date))).concat(EXCEL_EXT));\r\n }\r\n\r\n}\r\n","import { Injectable, ErrorHandler, Injector } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { ErrorService } from './error.service';\r\n//import { AlertService } from './alert.service';\r\nimport { MicrosoftApplicationInsightsService } from './microsoft-application-insights.service';\r\n\r\n@Injectable()\r\nexport class GlobalErrorHandler implements ErrorHandler {\r\n\r\n private _microsoftApplicationInsightsService: MicrosoftApplicationInsightsService\r\n private _errorService: ErrorService\r\n //private _alertService: AlertService\r\n constructor(private injector: Injector) {\r\n this._microsoftApplicationInsightsService = this.injector.get(MicrosoftApplicationInsightsService);\r\n this._errorService = this.injector.get(ErrorService);\r\n //this._alertService = this.injector.get(AlertService);\r\n }\r\n\r\n handleError(error: Error | HttpErrorResponse) {\r\n let message;\r\n let stackTrace;\r\n /* if (error instanceof HttpErrorResponse) {\r\n // Servidor errores\r\n message = this._errorService.getServerMessage(error);\r\n stackTrace = this._errorService.getServerStack(error);\r\n // this._alertService.showError(message);\r\n } else { */\r\n // Cliente errores\r\n message = this._errorService.getClientMessage(error);\r\n stackTrace = this._errorService.getClientStack(error);\r\n // this._alertService.showError(message);\r\n // }\r\n\r\n // Registrar el error en aplication insigths\r\n this._microsoftApplicationInsightsService.logError(error, window.location.href, stackTrace);\r\n }\r\n}\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { environment } from '@environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MicrosoftApplicationInsightsService {\r\n\r\n constructor(private injector: Injector, private _applicationInsights: ApplicationInsights) { }\r\n\r\n\r\n /**\r\n * Función para registrar todos los errores que ocurran en el aplicativo\r\n */\r\n logError(error: Error, url:string, stack?: string) {\r\n const appInsights = this.injector.get(ApplicationInsights);\r\n appInsights.trackException({ exception: error, properties:{\r\n url:url\r\n }});\r\n appInsights.flush() // Envia todos los errores a telemetry aun que estan en buffer\r\n environment.DEBUG_LOG && console.error('MicrosoftApplicationInsightsService: ',error);\r\n }\r\n\r\n\r\n /**\r\n * Función para registrar las entradas a cada una de las vistas\r\n */\r\n tracePage(name: string, user:any ){\r\n this._applicationInsights.trackPageView({name: name ,properties: {\r\n fullName: user ? user.fullName:null,\r\n email: user ? user.email:null,\r\n uid: user ? user.uid:null\r\n }});\r\n }\r\n\r\n\r\n /**\r\n * Función para registrar los eventos de cierre de sesión fallidos que ocurran en el aplicativo\r\n */\r\n trackEvent(name:string, error:any) {\r\n this._applicationInsights.trackEvent({name: name ,properties: {\r\n error: error\r\n }});\r\n }\r\n\r\n /**\r\n * Función para registrar eventos de inicio y cierre de sesión que ocurran en el aplicativo\r\n */\r\n trackSession(name:string, user:any) {\r\n this._applicationInsights.trackEvent({name: name ,properties: {\r\n fullName: user.fullName,\r\n email: user.email,\r\n uid: user.uid\r\n }});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { OracleStorageServiceInterface } from '@interfaces/oracle-storage.interface';\r\nimport { OracleStorageActionModel } from '@models/common/oracle-storage-action.model';\r\nimport { Observable, of } from 'rxjs';\r\nimport { environment } from '@environments/environment';\r\nimport { map, tap, retry } from 'rxjs/operators';\r\nimport { TOKEN_GRAPH_API } from '../constants/ad.constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OracleStorageService implements OracleStorageServiceInterface {\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n getToken$(isExpired: boolean): Observable {\r\n const token: string = localStorage.getItem(TOKEN_GRAPH_API);\r\n if (!isExpired && token) return of(token)\r\n return this.httpClient\r\n .get(environment.graphApiToken)\r\n .pipe(\r\n tap(token => console.log(token)),\r\n map(data => data[\"data\"]),\r\n tap(token => localStorage.setItem(TOKEN_GRAPH_API, token))\r\n )\r\n }\r\n\r\n create$(action: OracleStorageActionModel): Observable {\r\n return this.httpClient\r\n .post(`${environment.apiUrl}${action.queryParams}`, action.payload)\r\n .pipe(\r\n retry(3),\r\n map(data => data as T)\r\n )\r\n }\r\n\r\n\r\n search$(action: OracleStorageActionModel): Observable {\r\n return this.httpClient\r\n .get(`${environment.apiUrl}${action.queryParams}`)\r\n .pipe(\r\n retry(3),\r\n map(data => data as T[]),\r\n )\r\n }\r\n\r\n searchOne$(action: OracleStorageActionModel): Observable {\r\n let params = new HttpParams();\r\n //let IdU = action.payload.IdU;\r\n //params = params.append('id', IdU);\r\n return this.httpClient\r\n .get(`${environment.apiUrl}${action.queryParams}`)\r\n .pipe(\r\n retry(3),\r\n map(data => data as T[]),\r\n )\r\n }\r\n\r\n update$(action: OracleStorageActionModel): Observable {\r\n return this.httpClient\r\n .post(`${environment.apiUrl}${action.queryParams}`, action.payload)\r\n .pipe(\r\n retry(3),\r\n map(data => action.payload as T)\r\n )\r\n }\r\n\r\n\r\n delete$(action: OracleStorageActionModel): Observable {\r\n return this.httpClient\r\n .delete(`${environment.apiUrl}${action.queryParams}`, action.payload)\r\n .pipe(\r\n retry(3),\r\n map(data => action.payload as T)\r\n )\r\n }\r\n\r\n createSecond$(action: OracleStorageActionModel): Observable {\r\n let url = \"http://taumas.eafit.edu.co\"+ environment.BASE_REF +\"/apifirmasdigitales/api/\";\r\n return this.httpClient\r\n .get(`${environment.apiUrl}${action.queryParams}`)\r\n .pipe(\r\n retry(3),\r\n map(data => data as T)\r\n )\r\n }\r\n\r\n createGeneric$(action: OracleStorageActionModel): Observable {\r\n return this.httpClient\r\n .get(`${environment.apiUrl}${action.queryParams}`)\r\n .pipe(\r\n retry(3),\r\n map(data => data as T[]),\r\n )\r\n }\r\n\r\n loggerErrorHttp(error: HttpErrorResponse): void {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { TableStorageServiceInterface } from '@interfaces/table-storage.interface';\r\nimport { TableStorageActionModel } from '@models/common/table-storage-action.model';\r\nimport { Observable, of } from 'rxjs';\r\nimport { environment } from '@environments/environment';\r\nimport { map, tap, retry } from 'rxjs/operators';\r\nimport { TablesStorages } from '@models/common';\r\nimport { TOKEN_GRAPH_API } from '../constants/ad.constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TableStorageService implements TableStorageServiceInterface {\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n create$(action: TableStorageActionModel): Observable {\r\n return this.httpClient\r\n .post(`${environment.apiUrl}${action.queryParams}`, action.payload)\r\n .pipe(\r\n retry(3),\r\n map(data => data as T)\r\n )\r\n }\r\n /* delete$(action: TableStorageActionModel): Observable {\r\n return this.httpClient\r\n .put(`${environment.apiUrl}${action.queryParams}`, action.payload)\r\n .pipe(\r\n retry(3),\r\n map(data => action.payload)\r\n )\r\n } */\r\n delete$(action: TableStorageActionModel): Observable {\r\n return this.httpClient\r\n .delete(`${environment.apiUrl}${action.queryParams}`, action.payload)\r\n .pipe(\r\n retry(3),\r\n map(data => action.payload as T)\r\n )\r\n }\r\n search$(action: TableStorageActionModel): Observable {\r\n return this.httpClient\r\n .get(`${environment.apiUrl}${action.queryParams}`)\r\n .pipe(\r\n retry(3),\r\n map(data => data as T[]),\r\n )\r\n }\r\n\r\n update$(action: TableStorageActionModel): Observable {\r\n return this.httpClient\r\n .post(`${environment.apiUrl}${action.queryParams}`, action.payload)\r\n .pipe(\r\n retry(3),\r\n map(data => action.payload as T)\r\n )\r\n }\r\n /* delete$(action: TableStorageActionModel): Observable {\r\n throw new Error(\"Method not implemented.\");\r\n } */\r\n /* delete$(action: TableStorageActionModel): Observable {\r\n return this.httpClient\r\n .put(`${environment.apiUrl}${action.queryParams}`, action.payload)\r\n .pipe(\r\n map(data => action.payload)\r\n )\r\n } */\r\n getToken$(isExpired: boolean): Observable {\r\n const token: string = localStorage.getItem(TOKEN_GRAPH_API);\r\n if (!isExpired && token) return of(token)\r\n return this.httpClient\r\n .get(environment.graphApiToken)\r\n .pipe(\r\n tap(token => console.log(token)),\r\n map(data => data[\"data\"]),\r\n tap(token => localStorage.setItem(TOKEN_GRAPH_API, token))\r\n )\r\n }\r\n\r\n loggerErrorHttp(error: HttpErrorResponse): void {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { LocalStorageService } from './LocalStorage.service';\r\n//import * as constants from '../configurations/constants';\r\n\r\n@Injectable()\r\nexport class UtilsService {\r\n\r\n constructor(private _localStorageService: LocalStorageService) { }\r\n\r\n public capitalize(s) {\r\n return s\r\n .toLowerCase()\r\n .replace(/\\b./g, function (a) {\r\n return a.toUpperCase();\r\n });\r\n };\r\n\r\n public arrayRemove(arr, value) {\r\n\r\n return arr.filter(function (ele) {\r\n return ele != value;\r\n });\r\n\r\n }\r\n\r\n public compare(a, b, prop) {\r\n if (a[prop] < b[prop])\r\n return -1;\r\n if (a[prop] > b[prop])\r\n return 1;\r\n return 0;\r\n }\r\n\r\n orderByObject(arr: any[], key: string, order: \"desc\" | \"asc\" = \"asc\") {\r\n let data = arr\r\n if (order == \"asc\") {\r\n return data.sort((a, b) => (parseInt(a[key]) > parseInt(b[key])) ? 1 : ((parseInt(b[key]) > parseInt(a[key])) ? -1 : 0));\r\n }\r\n else {\r\n return data.sort((a, b) => (parseInt(a[key]) < parseInt(b[key])) ? 1 : ((parseInt(b[key]) < parseInt(a[key])) ? -1 : 0));\r\n }\r\n }\r\n\r\n public reverseString(str): string {\r\n return (str === '') ? '' : this.reverseString(str.substr(1)) + str.charAt(0);\r\n }\r\n\r\n public stringNextAscii(str): string {\r\n let nextCodeAscii = str.substring(str.length - 1).charCodeAt() + 1\r\n let charValue = String.fromCharCode(nextCodeAscii)\r\n return str.substring(0, str.length - 1) + charValue\r\n }\r\n\r\n removeDuplicates(arr: Array): Array {\r\n var temp = {};\r\n for (var i = 0; i < arr.length; i++)\r\n temp[arr[i]] = true;\r\n var r = [];\r\n for (var k in temp)\r\n r.push(k);\r\n return r;\r\n }\r\n\r\n removeDuplicatesObject(arr: object[], prop: string): object[] {\r\n var obj = {};\r\n for (var i = 0, len = arr.length; i < len; i++) {\r\n if (!obj[arr[i][prop]]) obj[arr[i][prop]] = arr[i];\r\n }\r\n var newArr = [];\r\n for (var key in obj) newArr.push(obj[key]);\r\n return newArr;\r\n }\r\n\r\n generatePassword(): string {\r\n return Math.random().toString(36).slice(-8);\r\n }\r\n\r\n public resolveObject(object: Object, pathArr: Array) {\r\n return pathArr.reduce((obj, key) => (obj && obj[key] !== 'undefined')\r\n ? obj[key]\r\n : undefined, object);\r\n }\r\n public guid() {\r\n let _p8 = function (s) {\r\n var p = (Math.random().toString(16) + \"000000000\").substr(2, 8);\r\n return s\r\n ? \"-\" + p.substr(0, 4) + \"-\" + p.substr(4, 4)\r\n : p;\r\n }\r\n return _p8(undefined) + _p8(true) + _p8(true) + _p8(undefined);\r\n }\r\n\r\n expand(id: number, master: Array, fieldSearch) {\r\n\r\n let value = master.length > 0\r\n ? master.filter(x => x[fieldSearch] == id)\r\n : []\r\n return value.length > 0\r\n ? value[0]\r\n : []\r\n }\r\n\r\n expandMultipleFields(obj: object, fields: Array): any {\r\n fields.length > 0\r\n ? fields.map(field => {\r\n obj[field[0]] = this.expand(obj[field[0]], field[1], field[2])\r\n })\r\n : []\r\n return obj\r\n }\r\n\r\n\r\n\r\n /*----------------------------- Autocomplete Functions -----------------------------------------*/\r\n\r\n\r\n\r\n addInf(rowkey, name, partitionname, dataAutoCompleteInput) {\r\n this.addData(rowkey, name, partitionname, dataAutoCompleteInput);\r\n }\r\n\r\n addData(rowkey, name, partitionname, dataAutoCompleteInput) {\r\n let auxObject = {};\r\n auxObject = {\r\n RowKey: rowkey,\r\n Name: name,\r\n PartitionName: partitionname\r\n };\r\n\r\n dataAutoCompleteInput.push(auxObject);\r\n }\r\n\r\n /* ------------------------------------------------------------------------ */\r\n\r\n /**\r\n * Función principal que va generar la rama principal del árbol o el primer nivel\r\n */\r\n getDataTree(dataMaster, NameIdMaster, NameIdParent) {\r\n let dataTree = [];\r\n let dataTreeAux = [];\r\n let treeComplement = [];\r\n let data = dataMaster; //Se guarda la copia de la información de la cual se va generar el arbol\r\n\r\n //Ciclo encargado de ir generando cada uno de los nodos del arbol\r\n for (let i = 0; i < data.length; i++) {\r\n let objAux = {\r\n label: data[i].Name,\r\n data: data[i],\r\n expandedIcon: \"fa fa-folder-open\",\r\n collapsedIcon: \"fa fa-folder\",\r\n draggable: true,\r\n droppable: true\r\n };\r\n // Validamos si el nodo actual es de primer nivel para ir generando la base del\r\n // arbol\r\n if (data[i].Level == 1) {\r\n //Se llama la funcion encargada de agregar el hijo al nodo actual\r\n this.getChildren(data[i][NameIdMaster], objAux, dataTree, data, NameIdParent);\r\n } else {\r\n // Caso en el cual la primera base del arbol está generada, esta funcion se\r\n // encarga de buscar el nodo padre del nodo actual\r\n this.getParent(data[i][NameIdParent], objAux, NameIdMaster, data, treeComplement);\r\n }\r\n // Al final del ciclo el árbol principal está generado, por lo que resta unir el\r\n // resto de arboles\r\n if (i == data.length - 1) {\r\n this.complementTrees(treeComplement, NameIdMaster);\r\n this.completeTree(dataTree, dataTreeAux, treeComplement, NameIdMaster);\r\n }\r\n }\r\n\r\n return dataTree;\r\n }\r\n\r\n completeTree(dataTree, dataTreeAux, treeComplement, IdMaster) {\r\n dataTreeAux = dataTree; //Variable que guarda una copia del arbol principal\r\n for (let i = 0; i < treeComplement.length; i++) {\r\n // Variable que guarda el id de la unidad organizacional del padre del nodo\r\n // actual i del arbol complemento\r\n let id = treeComplement[i].parent.data[IdMaster];\r\n for (let j = 0; j < dataTree.length; j++) {\r\n //Si el @id es el nodo actual j quiere decir que el nodo i es hijo del nodo j\r\n if (id == dataTree[j].data[IdMaster]) {\r\n let obj = treeComplement[i]; //Nodo actual i del arbol complemento\r\n //Se verifica que tenga mas hijos de lo contrario se crea la propiedad y se agrega\r\n if (dataTree[j].children.length > 0) {\r\n for (let k = 0; k < dataTree[j].children.length; k++) {\r\n if (dataTree[j].children[k].data[IdMaster] == obj.data[IdMaster]) {\r\n dataTree[j]\r\n .children\r\n .push(obj);\r\n dataTree[j]\r\n .children\r\n .splice(k, 1);\r\n }\r\n }\r\n } else {\r\n dataTree[j].children = [];\r\n dataTree[j]\r\n .children\r\n .push(obj);\r\n }\r\n treeComplement.splice(i, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Funcion encargada de organizar los hijos del arbol complemento\r\n */\r\n complementTrees(treeComplement, IdMaster) {\r\n for (let i = 0; i < treeComplement.length; i++) {\r\n // Variable que guarda el id de la unidad organizacional del padre del nodo\r\n // actual i\r\n let id = treeComplement[i].parent.data[IdMaster];\r\n for (let j = 0; j < treeComplement.length; j++) {\r\n //Si el @id es el nodo actual j quiere decir que el nodo i es hijo del nodo j\r\n if (id == treeComplement[j].data[IdMaster]) {\r\n let obj = treeComplement[i];\r\n treeComplement[j].children = [];\r\n treeComplement[j]\r\n .children\r\n .push(obj);\r\n treeComplement.splice(i, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Funcion encargada de agregar el nodo actual al arbol\r\n * @param idDataMaster id del nodo actual\r\n * @param objAux nodo actual en construccion\r\n * @param dataTree Arbol principal\r\n * @param data Copia de la informacion de la maestra\r\n * @param NameIdParent Nombre de la propiedad que hace referencia al Id del Padre\r\n */\r\n getChildren(idDataMaster, objAux, dataTree, data, NameIdParent) {\r\n this.addChildren(idDataMaster, objAux, data, NameIdParent);\r\n dataTree.push(objAux);\r\n }\r\n\r\n /**\r\n * Funcion encargada de buscar el conjunto de hijos del nodo actual para su posterior agregado\r\n * @param idDataMaster id del nodo actual\r\n * @param objAux nodo actual en construccion\r\n * @param data Copia de la informacion de la maestra\r\n * @param NameIdParent Nombre de la propiedad que hace referencia al Id del Padre\r\n */\r\n addChildren(idDataMaster, objAux, data, NameIdParent) {\r\n let auxData: any; //Variable encargada de guardar todos los hijos del nodo actual @idDataMaster\r\n auxData = data.filter((item) => item[NameIdParent] === idDataMaster);\r\n if (auxData.length > 0) {\r\n // Se guardan en la propiedad children propia de TreeNode los hijos del nodo\r\n // actual\r\n objAux.children = this.pushChild(auxData);\r\n }\r\n }\r\n\r\n /**\r\n * Funcion encargada de retornar la lista de nodos en el modelo TreeNode\r\n * @param auxData lista de nodos\r\n */\r\n pushChild(auxData) {\r\n let child: any;\r\n let childs: Array = [];\r\n for (let i = 0; i < auxData.length; i++) {\r\n child = {\r\n label: auxData[i].Name,\r\n data: auxData[i],\r\n expandedIcon: \"fa fa-folder-open\",\r\n collapsedIcon: \"fa fa-folder\",\r\n draggable: true,\r\n droppable: true\r\n\r\n }\r\n childs.push(child);\r\n }\r\n return childs;\r\n }\r\n\r\n /**\r\n * Funcion encargada de buscar el padre del nodo actual para su posterior agregado\r\n * @param idParent id del padre del nodo actual\r\n * @param objAux nodo actual\r\n * @param IdMaster Nombre de la propiedad que hace referencia al Id de la maestra\r\n * @param data copia de la informacion de la maestra\r\n * @param treeComplement Arbol complemento\r\n */\r\n getParent(idParent, objAux, IdMaster, data, treeComplement) {\r\n let auxData: any; //Variable encargada de guardar el padre del nodo actual @idParent\r\n auxData = data.filter((item) => item[IdMaster] === idParent);\r\n if (auxData.length > 0) {\r\n objAux.children = this.pushParent(auxData, objAux, treeComplement);\r\n }\r\n }\r\n\r\n /**\r\n * Funcion encargada de agregar a un nodo a una lista complemento\r\n * @param auxData Nodo padre del nodo actual\r\n * @param objAux nodo actual\r\n * @param treeComplement Arbol complemento\r\n */\r\n pushParent(auxData, objAux, treeComplement) {\r\n objAux.parent = {\r\n label: auxData[0].Name,\r\n data: auxData[0],\r\n expandedIcon: \"fa fa-folder-open\",\r\n collapsedIcon: \"fa fa-folder\",\r\n draggable: true,\r\n droppable: true\r\n };\r\n treeComplement.push(objAux);\r\n }\r\n\r\n /**\r\n * Funcion encargada de generar el arbol de series\r\n * @param dataTree Array con la información de la maestra series\r\n * @param NameIdParent Nombre de la propiedad que hace referencia al Id del Padre\r\n * @param ParentTree Arbol principal\r\n * @param subDataTree Array con la información de la maestra subseries\r\n */\r\n getSubTrees(dataTree, NameIdParent, ParentTree, subDataTree) {\r\n let data = dataTree;\r\n\r\n for (let i = 0; i < data.length; i++) {\r\n let objAux = {\r\n label: data[i].Name,\r\n data: data[i],\r\n expandedIcon: \"fa fa-folder-open\",\r\n collapsedIcon: \"fa fa-folder\",\r\n draggable: true,\r\n droppable: true\r\n };\r\n\r\n // Se envia el id y la serie actual para generar el arbol completo\r\n this.getParentOrgUnit(data[i][NameIdParent], objAux, NameIdParent, ParentTree);\r\n\r\n // Se verifica que sea la ultima posicion para generar el arbol de subseries\r\n if (i == data.length - 1) {\r\n this.getSubseriesTree(ParentTree, subDataTree);\r\n }\r\n }\r\n return ParentTree;\r\n }\r\n\r\n /**\r\n * @param idParent id del padre del nodo actual\r\n * @param objAux nodo actual\r\n * @param NameIdParent Nombre de la propiedad que hace referencia al Id del Padre\r\n * @param ParentTree Arbol principal\r\n */\r\n getParentOrgUnit(idParent, objAux, NameIdParent, ParentTree) {\r\n this.hasChild(ParentTree, idParent, objAux, NameIdParent);\r\n }\r\n\r\n /**\r\n * Funcion recursiva que agrega las series al arbol de unidades organizacionales\r\n * @param array Arbol principal (Unidades organizacionales)\r\n * @param idParent id del padre del nodo actual\r\n * @param NameIdParent Nombre de la propiedad que hace referencia al Id del Padre\r\n */\r\n hasChild(array, idParent, objAux, NameIdParent) {\r\n //Se recorre cada uno de los nodos actuales del arbol\r\n for (let i = 0; i < array.length; i++) {\r\n //Se verifica que el id del padre es el nodo actual i\r\n if (array[i].data[NameIdParent] == idParent) {\r\n // Se verifica que el nodo actual no tenga hijos, se crea la propiedad y se\r\n // agrega el nodo actual\r\n if (array[i].children == undefined) {\r\n array[i].children = [];\r\n array[i]\r\n .children\r\n .push(objAux);\r\n } else {\r\n //Se agrega el nodo actual\r\n array[i]\r\n .children\r\n .push(objAux);\r\n }\r\n return true;\r\n } else {\r\n // Si el @idParent no es el nodo actual i se verifica que tenga hijos para así\r\n // recorrerlos\r\n if (array[i].children != undefined) {\r\n /**\r\n * @param array[i].children Es el conjunto de hijos del nodo actual i\r\n * @param idParent id del padre del nodo actual\r\n * @param objAux nodo actual\r\n */\r\n this.hasChild(array[i].children, idParent, objAux, NameIdParent);\r\n }\r\n }\r\n }\r\n return;\r\n }\r\n\r\n getSubseriesTree(dataTree, subDataTree) {\r\n let dataSubseriesUnits = subDataTree;\r\n\r\n for (let i = 0; i < dataSubseriesUnits.length; i++) {\r\n let objAux = {\r\n label: dataSubseriesUnits[i].Name,\r\n data: dataSubseriesUnits[i],\r\n expandedIcon: \"fa fa-folder-open\",\r\n collapsedIcon: \"fa fa-folder\",\r\n draggable: true,\r\n droppable: true\r\n };\r\n\r\n this.getParentSeries(dataSubseriesUnits[i].IdSerie, objAux, dataTree);\r\n\r\n }\r\n\r\n }\r\n\r\n getParentSeries(idParent, objAux, dataTree) {\r\n this.hasChildSeries(dataTree, idParent, objAux);\r\n }\r\n\r\n hasChildSeries(array, idParent, objAux) {\r\n for (let i = 0; i < array.length; i++) {\r\n if (array[i].data.IdSerie != undefined && array[i].data.IdSerie == idParent) {\r\n if (array[i].children == undefined) {\r\n array[i].children = [];\r\n array[i]\r\n .children\r\n .push(objAux);\r\n } else {\r\n array[i]\r\n .children\r\n .push(objAux);\r\n }\r\n return true;\r\n } else {\r\n if (array[i].children != undefined) {\r\n this.hasChildSeries(array[i].children, idParent, objAux);\r\n }\r\n }\r\n }\r\n return;\r\n }\r\n\r\n}\r\n","import { props, createAction } from '@ngrx/store';\r\nimport { UserGraphApiModel } from '@models/user.model';\r\nimport { ADActionModel } from '@models/ad/ad-action.model';\r\n\r\n\r\nexport const searchADUsers= createAction(\r\n '[AD] Search AD users',\r\n props<{ action: ADActionModel }>()\r\n);\r\n\r\nexport const searchADUsersSuccess = createAction(\r\n '[AD] Search Ad users success',\r\n props<{ adUsers: UserGraphApiModel[] }>()\r\n);\r\n\r\nexport const cleanAD = createAction('[AD/API] Clear ADs');\r\n\r\nexport const resetLoading = createAction(\r\n '[Loading] Reset Loading Success'\r\n);","import { createAction, props } from '@ngrx/store';\r\n\r\nimport { UserModel } from '@models/user.model';\r\nimport { Authenticate } from '@models/Authenticate.model';\r\n\r\n\r\nexport const login = createAction(\r\n '[Auth] Login',\r\n props<{ credential: Authenticate }>()\r\n);\r\n\r\nexport const loginSuccess = createAction(\r\n '[Auth] Login Success',\r\n props<{ user: UserModel }>()\r\n);\r\n\r\nexport const loginFailure = createAction(\r\n '[Auth] Login Failure',\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const logout = createAction(\r\n '[Auth] Logout',\r\n);\r\n\r\nexport const logoutSuccess = createAction(\r\n '[Auth] Logout Success',\r\n);\r\n\r\nexport const createUser = createAction(\r\n '[Auth] Create User',\r\n props<{ user: UserModel }>()\r\n);","import { createAction, props } from '@ngrx/store';\r\n\r\nexport const configurationError = createAction(\r\n '[Configuration] Configuration Error',\r\n props<{ error: string }>()\r\n);","import { createAction, props } from '@ngrx/store';\r\nimport { OracleStorageActionModel } from '@models/common/oracle-storage-action.model';\r\nimport { AreaModel } from '@models/configuration/area.model';\r\n\r\nexport const createArea = createAction(\r\n '[Area] Create Area',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const createAreaSuccess = createAction(\r\n '[Area] Create Area Success',\r\n props<{ Area: AreaModel }>()\r\n);\r\n\r\nexport const searchAreas = createAction(\r\n '[Areas] Search Areas',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const searchAreasSuccess = createAction(\r\n '[Areas] Search Areas Success',\r\n props<{ Areas: AreaModel[] }>()\r\n);\r\n\r\nexport const updateArea = createAction(\r\n '[Area] Update Area',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const updateAreaSuccess = createAction(\r\n '[Area] Update Area Success',\r\n props<{ Area: AreaModel }>()\r\n);\r\n\r\nexport const selectArea = createAction(\r\n '[Area] Select Area',\r\n props<{ Area: AreaModel }>()\r\n);\r\n\r\nexport const deleteArea = createAction(\r\n '[Area] Delete Area',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const deleteAreaSuccess = createAction(\r\n '[Area] Delete Area Success',\r\n props<{ Area: AreaModel }>()\r\n);\r\n\r\nexport const resetLoading = createAction(\r\n '[Loading] Reset Loading Success'\r\n);","import { createAction, props } from '@ngrx/store';\r\nimport { TableStorageActionModel } from '@models/common/table-storage-action.model';\r\nimport { CertificateHistoricalModel } from '@models/configuration/certificate-historical.model';\r\n\r\nexport const createCertificateHistorical = createAction(\r\n '[CertificateHistorical] Create CertificateHistorical',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const createCertificateHistoricalSuccess = createAction(\r\n '[CertificateHistorical] Create CertificateHistorical Success',\r\n props<{ CertificateHistorical: CertificateHistoricalModel }>()\r\n);\r\n\r\nexport const searchCertificateHistoricals = createAction(\r\n '[CertificateHistoricals] Search CertificateHistoricals',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const searchCertificateHistoricalsSuccess = createAction(\r\n '[CertificateHistoricals] Search CertificateHistoricals Success',\r\n props<{ CertificateHistoricals: CertificateHistoricalModel[] }>()\r\n);\r\n\r\nexport const updateCertificateHistorical = createAction(\r\n '[CertificateHistorical] Update CertificateHistorical',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const updateCertificateHistoricalSuccess = createAction(\r\n '[CertificateHistorical] Update CertificateHistorical Success',\r\n props<{ CertificateHistorical: CertificateHistoricalModel }>()\r\n);\r\n\r\nexport const selectCertificateHistorical = createAction(\r\n '[CertificateHistorical] Select CertificateHistorical',\r\n props<{ CertificateHistorical: CertificateHistoricalModel }>()\r\n);\r\n\r\nexport const deleteCertificateHistorical = createAction(\r\n '[CertificateHistorical] Delete CertificateHistorical',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const deleteCertificateHistoricalSuccess = createAction(\r\n '[CertificateHistorical] Delete CertificateHistorical Success',\r\n props<{ CertificateHistorical: CertificateHistoricalModel }>()\r\n);\r\n\r\nexport const resetLoading = createAction(\r\n '[Loading] Reset Loading Success'\r\n);","import { createAction, props } from '@ngrx/store';\r\nimport { TableStorageActionModel } from '@models/common/table-storage-action.model';\r\nimport { CertificateTypeModel } from '@models/configuration/certificate-type.model';\r\n\r\nexport const createCertificateType = createAction(\r\n '[CertificateType] Create CertificateType',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const createCertificateTypeSuccess = createAction(\r\n '[CertificateType] Create CertificateType Success',\r\n props<{ CertificateType: CertificateTypeModel }>()\r\n);\r\n\r\nexport const searchCertificateTypes = createAction(\r\n '[CertificateTypes] Search CertificateTypes',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const searchCertificateTypesSuccess = createAction(\r\n '[CertificateTypes] Search CertificateTypes Success',\r\n props<{ CertificateTypes: CertificateTypeModel[] }>()\r\n);\r\n\r\nexport const updateCertificateType = createAction(\r\n '[CertificateType] Update CertificateType',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const updateCertificateTypeSuccess = createAction(\r\n '[CertificateType] Update CertificateType Success',\r\n props<{ CertificateType: CertificateTypeModel }>()\r\n);\r\n\r\nexport const selectCertificateType = createAction(\r\n '[CertificateType] Select CertificateType',\r\n props<{ CertificateType: CertificateTypeModel }>()\r\n);\r\n\r\nexport const deleteCertificateType = createAction(\r\n '[CertificateType] Delete CertificateType',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const deleteCertificateTypeSuccess = createAction(\r\n '[CertificateType] Delete CertificateType Success',\r\n props<{ CertificateType: CertificateTypeModel }>()\r\n);\r\n\r\nexport const resetLoading = createAction(\r\n '[Loading] Reset Loading Success'\r\n);","import { createAction, props } from '@ngrx/store';\r\nimport { TableStorageActionModel } from '@models/common/table-storage-action.model';\r\nimport { CertificateModel } from '@models/configuration/certificate.model';\r\n\r\nexport const createCertificate = createAction(\r\n '[Certificate] Create Certificate',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const createCertificateSuccess = createAction(\r\n '[Certificate] Create Certificate Success',\r\n props<{ Certificate: CertificateModel }>()\r\n);\r\n\r\nexport const searchCertificateStatus = createAction(\r\n '[CertificateStatus] Search CertificateStatus',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const searchCertificateStatusSuccess = createAction(\r\n '[CertificateStatus] Search CertificateStatus Success',\r\n props<{ CertificateStatus: CertificateModel[] }>()\r\n);\r\n\r\nexport const searchCertificates = createAction(\r\n '[Certificates] Search Certificates',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const searchCertificatesSuccess = createAction(\r\n '[Certificates] Search Certificates Success',\r\n props<{ Certificates: CertificateModel[] }>()\r\n);\r\n\r\nexport const searchCertificatesState = createAction(\r\n '[Certificates] Search CertificatesState',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const searchCertificatesStateSuccess = createAction(\r\n '[Certificates] Search CertificatesState Success',\r\n props<{ CertificatesByState: CertificateModel[] }>()\r\n);\r\n\r\nexport const searchCertificatesFile = createAction(\r\n '[CertificatesFile] Search CertificatesFile',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const searchCertificatesFileSuccess = createAction(\r\n '[CertificatesFile] Search CertificatesFile Success',\r\n props<{ CertificatesFile: CertificateModel[] }>()\r\n);\r\n\r\nexport const updateCertificate = createAction(\r\n '[Certificate] Update Certificate',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const updateCertificateSuccess = createAction(\r\n '[Certificate] Update Certificate Success',\r\n props<{ Certificate: CertificateModel }>()\r\n);\r\n\r\nexport const selectCertificate = createAction(\r\n '[Certificate] Select Certificate',\r\n props<{ Certificate: CertificateModel }>()\r\n);\r\n\r\nexport const deleteCertificate = createAction(\r\n '[Certificate] Delete Certificate',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const deleteCertificateSuccess = createAction(\r\n '[Certificate] Delete Certificate Success',\r\n props<{ Certificate: CertificateModel }>()\r\n);\r\n\r\nexport const resetLoading = createAction(\r\n '[Loading] Reset Loading Success'\r\n);","import { createAction, props } from '@ngrx/store';\r\nimport { OracleStorageActionModel } from '@models/common/oracle-storage-action.model';\r\nimport { CustomerModel } from '@models/configuration/customer.model';\r\n\r\nexport const createCustomer = createAction(\r\n '[Customer] Create Customer',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const createCustomerSuccess = createAction(\r\n '[Customer] Create Customer Success',\r\n props<{ Customer: CustomerModel }>()\r\n);\r\n\r\nexport const searchCustomersAuthorization = createAction(\r\n '[Customers] Search CustomersAuthorization',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const searchCustomers = createAction(\r\n '[Customers] Search Customers',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const searchCustomersSuccess = createAction(\r\n '[Customers] Search Customers Success',\r\n props<{ Customers: CustomerModel[] }>()\r\n);\r\n\r\nexport const searchCustomersAuthorizationSuccess = createAction(\r\n '[Customers] Search CustomersAuthorization Success',\r\n props<{ CustomersAuthorization: CustomerModel[] }>()\r\n);\r\n\r\nexport const updateCustomer = createAction(\r\n '[Customer] Update Customer',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const updateCustomerSuccess = createAction(\r\n '[Customer] Update Customer Success',\r\n props<{ Customer: CustomerModel }>()\r\n);\r\n\r\nexport const selectCustomer = createAction(\r\n '[Customer] Select Customer',\r\n props<{ Customer: CustomerModel }>()\r\n);\r\n\r\nexport const setCurrentCustomer = createAction(\r\n '[Customer] Current Customer',\r\n props<{ rowKey: string | null }>()\r\n);\r\n\r\nexport const deleteCustomer = createAction(\r\n '[Customer] Delete Customer',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const deleteCustomerSuccess = createAction(\r\n '[Customer] Delete Customer Success',\r\n props<{ Customer: CustomerModel }>()\r\n);\r\n\r\nexport const cleanCustomers = createAction(\r\n '[Customers] Clean Customers',\r\n props<{ Customers: any[] }>()\r\n);\r\n\r\nexport const resetLoading = createAction(\r\n '[Loading] Reset Loading Success'\r\n);","import { createAction, props } from '@ngrx/store';\r\nimport { OracleStorageActionModel } from '@models/common/oracle-storage-action.model';\r\nimport { GeneralConfigModel } from '@models/configuration/general-config.model';\r\n\r\nexport const createGeneralConfig = createAction(\r\n '[GeneralConfig] Create GeneralConfig',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const createGeneralConfigSuccess = createAction(\r\n '[GeneralConfig] Create GeneralConfig Success',\r\n props<{ GeneralConfig: GeneralConfigModel }>()\r\n);\r\n\r\nexport const searchGeneralConfigs = createAction(\r\n '[GeneralConfigs] Search GeneralConfigs',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const searchGeneralConfigsSuccess = createAction(\r\n '[GeneralConfigs] Search GeneralConfigs Success',\r\n props<{ GeneralConfigs: GeneralConfigModel[] }>()\r\n);\r\n\r\nexport const updateGeneralConfig = createAction(\r\n '[GeneralConfig] Update GeneralConfig',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const updateGeneralConfigSuccess = createAction(\r\n '[GeneralConfig] Update GeneralConfig Success',\r\n props<{ GeneralConfig: GeneralConfigModel }>()\r\n);\r\n\r\nexport const selectGeneralConfig = createAction(\r\n '[GeneralConfig] Select GeneralConfig',\r\n props<{ GeneralConfig: GeneralConfigModel }>()\r\n);\r\n\r\nexport const deleteGeneralConfig = createAction(\r\n '[GeneralConfig] Delete GeneralConfig',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const deleteGeneralConfigSuccess = createAction(\r\n '[GeneralConfig] Delete GeneralConfig Success',\r\n props<{ GeneralConfig: GeneralConfigModel }>()\r\n);\r\n\r\nexport const resetLoading = createAction(\r\n '[Loading] Reset Loading Success'\r\n);\r\n","import * as CustomerActions from './customer.actions';\r\nimport * as PolicyActions from './policy.actions';\r\nimport * as QueryActions from './query.actions';\r\nimport * as CertificateActions from './certificate.actions';\r\nimport * as CertificateHistoricalActions from './certificate-historical.actions';\r\nimport * as CertificateTypeActions from './certificate-type.actions';\r\nimport * as RoleActions from './role.actions';\r\nimport * as AreaActions from './area.actions';\r\nimport * as GeneralConfigActions from './general-config.actions';\r\n\r\nexport {\r\n CustomerActions,\r\n PolicyActions,\r\n CertificateActions,\r\n CertificateHistoricalActions,\r\n QueryActions,\r\n CertificateTypeActions,\r\n RoleActions,\r\n AreaActions,\r\n GeneralConfigActions,\r\n};\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { OracleStorageActionModel } from '@models/common/oracle-storage-action.model';\r\nimport { PolicyModel } from '@models/configuration/policy.model';\r\n\r\nexport const createPolicy = createAction(\r\n '[Policy] Create Policy',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const createPolicySuccess = createAction(\r\n '[Policy] Create Policy Success',\r\n props<{ Policy: PolicyModel }>()\r\n);\r\n\r\nexport const searchPolicies = createAction(\r\n '[Policies] Search Policies',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const searchPoliciesSuccess = createAction(\r\n '[Policies] Search Policies Success',\r\n props<{ Policies: PolicyModel[] }>()\r\n);\r\n\r\nexport const updatePolicy = createAction(\r\n '[Policy] Update Policy',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const updatePolicySuccess = createAction(\r\n '[Policy] Update Policy Success',\r\n props<{ Policy: PolicyModel }>()\r\n);\r\n\r\nexport const selectPolicy = createAction(\r\n '[Policy] Select Policy',\r\n props<{ Policy: PolicyModel }>()\r\n);\r\n\r\nexport const setCurrentPolicy = createAction(\r\n '[Policy] Current Policy',\r\n props<{ rowKey: string | null }>()\r\n);\r\n\r\nexport const deletePolicy = createAction(\r\n '[Policy] Delete Policy',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const deletePolicySuccess = createAction(\r\n '[Policy] Delete Policy Success',\r\n props<{ Policy: PolicyModel }>()\r\n);\r\n\r\nexport const resetLoading = createAction(\r\n '[Loading] Reset Loading Success'\r\n);","import { createAction, props } from '@ngrx/store';\r\nimport { OracleStorageActionModel } from '@models/common/oracle-storage-action.model';\r\nimport { QueryModel } from '@models/configuration/query.model';\r\n\r\nexport const createQuery = createAction(\r\n '[Query] Create Query',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const createQuerySuccess = createAction(\r\n '[Query] Create Query Success',\r\n props<{ Query: QueryModel }>()\r\n);\r\n\r\nexport const searchQueries = createAction(\r\n '[Queries] Search Queries',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const searchQueriesSuccess = createAction(\r\n '[Queries] Search Queries Success',\r\n props<{ Queries: QueryModel[] }>()\r\n);\r\n\r\nexport const searchQueryOne = createAction(\r\n '[QueryOne] Search QueryOne',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const searchQueryOneSuccess = createAction(\r\n '[QueryOne] Search QueryOne Success',\r\n props<{ QueryOne: QueryModel[] }>()\r\n);\r\n\r\nexport const updateQuery = createAction(\r\n '[Query] Update Query',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const updateQuerySuccess = createAction(\r\n '[Query] Update Query Success',\r\n props<{ Query: QueryModel }>()\r\n);\r\n\r\nexport const selectQuery = createAction(\r\n '[Query] Select Query',\r\n props<{ Query: QueryModel }>()\r\n);\r\n\r\nexport const setCurrentQuery = createAction(\r\n '[Query] Current Query',\r\n props<{ rowKey: string | null }>()\r\n);\r\n\r\nexport const deleteQuery = createAction(\r\n '[Query] Delete Query',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const deleteQuerySuccess = createAction(\r\n '[Query] Delete Query Success',\r\n props<{ Query: QueryModel }>()\r\n);\r\n\r\nexport const cleanQuery = createAction(\r\n '[Query] Clean Query',\r\n props<{ QueryOne: any[] }>()\r\n);\r\n\r\nexport const resetLoading = createAction(\r\n '[Loading] Reset Loading Success'\r\n);","import { createAction, props } from '@ngrx/store';\r\nimport { OracleStorageActionModel } from '@models/common/oracle-storage-action.model';\r\nimport { RoleModel } from '@models/configuration/role.model';\r\n\r\nexport const createRole = createAction(\r\n '[Role] Create Role',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const createRoleSuccess = createAction(\r\n '[Role] Create Role Success',\r\n props<{ Role: RoleModel }>()\r\n);\r\n\r\nexport const searchRoles = createAction(\r\n '[Roles] Search Roles',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const searchRolesSuccess = createAction(\r\n '[Roles] Search Roles Success',\r\n props<{ Roles: RoleModel[] }>()\r\n);\r\n\r\nexport const updateRole = createAction(\r\n '[Role] Update Role',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const updateRoleSuccess = createAction(\r\n '[Role] Update Role Success',\r\n props<{ Role: RoleModel }>()\r\n);\r\n\r\nexport const selectRole = createAction(\r\n '[Role] Select Role',\r\n props<{ Role: RoleModel }>()\r\n);\r\n\r\nexport const deleteRole = createAction(\r\n '[Role] Delete Role',\r\n props<{ action: OracleStorageActionModel }>()\r\n);\r\n\r\nexport const deleteRoleSuccess = createAction(\r\n '[Role] Delete Role Success',\r\n props<{ Role: RoleModel }>()\r\n);\r\n\r\nexport const resetLoading = createAction(\r\n '[Loading] Reset Loading Success'\r\n);","import * as AdActions from './ad.actions';\r\nimport * as AuthActions from './auth.actions';\r\nimport * as ConfigurationActions from './configuration.actions';\r\n\r\nexport {\r\n AdActions,\r\n AuthActions,\r\n ConfigurationActions,\r\n};\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { TableStorageActionModel } from '@models/common/table-storage-action.model';\r\nimport { CasefileModel } from '@models/management/casefile.model';\r\n\r\nexport const createCasefile = createAction(\r\n '[Casefile] Create casefile',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const createCasefileSuccess = createAction(\r\n '[Casefile] Create casefile Success',\r\n props<{ casefile: CasefileModel }>()\r\n);\r\n\r\nexport const searchCasefiles = createAction(\r\n '[Casefile] Search Casefiles',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const historicalCaseFile = createAction(\r\n '[Casefile] Search historicalCasefiles',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const historicalCaseFileSuccess = createAction(\r\n '[Casefile] Search historicalCasefiles Success',\r\n props<{ casefiles: CasefileModel[] }>()\r\n);\r\n\r\nexport const searchCasefilesSuccess = createAction(\r\n '[Casefile] Search casefiles Success',\r\n props<{ casefiles: CasefileModel[] }>()\r\n);\r\n\r\nexport const updateCasefile = createAction(\r\n '[Casefile] Update casefile',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const updateCasefileSuccess = createAction(\r\n '[Casefile] Update casefile Success',\r\n props<{ casefile: CasefileModel }>()\r\n);\r\n\r\nexport const selectCasefile = createAction(\r\n '[Casefile] Select casefile',\r\n props<{ casefile: CasefileModel }>()\r\n);\r\n\r\nexport const deleteCasefile = createAction(\r\n '[Casefile] Delete Casefile',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\nexport const deleteCasefileSuccess = createAction(\r\n '[Casefile] Delete Casefile Success',\r\n props<{ Casefile: CasefileModel }>()\r\n)","import * as CaseFileActions from './casefile.actions';\r\n\r\nexport {\r\n CaseFileActions,\r\n};\r\n","import * as ViewActions from './view.actions';\r\n\r\nexport {\r\n ViewActions,\r\n};\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { TableStorageActionModel } from '@models/common/table-storage-action.model';\r\n\r\nexport const getMyConfidentialsAction = createAction(\r\n '[Views] my confidentials get',\r\n props<{ action: TableStorageActionModel }>()\r\n);\r\n\r\n\r\nexport const getMyConfidentialsSuccessAction = createAction(\r\n '[Views] my confidentials get success',\r\n props<{ data: any }>()\r\n);","import { Injectable, Inject } from '@angular/core';\r\nimport { Actions, ofType, createEffect } from '@ngrx/effects';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\r\n\r\nimport {\r\n AdActions, ConfigurationActions\r\n} from '@actions/index';\r\nimport { UserGraphApiModel } from '@models/user.model';\r\nimport { ADServiceInterface } from '@interfaces/ad-service.interface';\r\n\r\n\r\n@Injectable()\r\nexport class ADEffects {\r\n\r\n // ad Effects\r\n searchUsers$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(AdActions.searchADUsers),\r\n switchMap(({ action }) =>\r\n this.adService.search$(action)\r\n .pipe(\r\n tap(x=>console.log(\"GRAHP\",x)),\r\n map((adUsers: UserGraphApiModel[]) => {\r\n return adUsers.filter((item:UserGraphApiModel)=>(item.userType!=\"Guest\"))\r\n }),\r\n tap(x=>console.log(\"GRAHP\",x)),\r\n map((adUsers: UserGraphApiModel[]) => AdActions\r\n .searchADUsersSuccess({ adUsers })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error: `Error ${error}` }),AdActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n @Inject('AdService') private adService: ADServiceInterface) { }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Actions, ofType, createEffect } from '@ngrx/effects';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthServiceInterface } from '@interfaces/auth-service.interface';\r\nimport {\r\n AuthActions\r\n} from '@actions/index';\r\nimport { UserModel } from '@models/user.model';\r\n\r\n\r\n@Injectable()\r\nexport class AuthEffects {\r\n\r\n login$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(AuthActions.login),\r\n switchMap(({ credential }) =>\r\n this.authService\r\n .login$(credential)\r\n .pipe(\r\n map((user: UserModel) => AuthActions.loginSuccess({ user })),\r\n catchError(error => of(AuthActions.loginFailure({ error })))\r\n )\r\n ))\r\n );\r\n\r\n createUser$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(AuthActions.createUser),\r\n switchMap(({ user }) =>\r\n this.authService\r\n .createUser$(user)\r\n .pipe(\r\n map((user: UserModel) => AuthActions.loginSuccess({ user })),\r\n catchError(error => of(AuthActions.loginFailure({ error })))\r\n )\r\n ))\r\n );\r\n\r\n loginSuccess$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(AuthActions.loginSuccess),\r\n tap(() => this.router.navigate(['home']))\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n logout$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(AuthActions.logout),\r\n switchMap(() =>\r\n this.authService\r\n .logout$()\r\n .pipe(\r\n map(() => AuthActions.logoutSuccess()),\r\n catchError(error => of(AuthActions.loginFailure({ error })))\r\n )\r\n ))\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n @Inject('AuthServiceInterface') private authService: AuthServiceInterface,\r\n private router: Router\r\n ) { }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Actions, ofType, createEffect } from '@ngrx/effects';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\r\nimport { ConfigurationActions } from '@actions/index';\r\nimport { AreaActions } from '@actions/configuration/index';\r\nimport { OracleStorageService } from '@services/oracle-storage.service';\r\nimport { AreaModel } from '@models/configuration/area.model';\r\n\r\n\r\n@Injectable()\r\nexport class AreaEffects {\r\n // Areas Effects\r\n searchAreas$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(AreaActions.searchAreas),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .search$(action)\r\n .pipe(\r\n map((Areas: AreaModel[]) => AreaActions\r\n .searchAreasSuccess({ Areas })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),AreaActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n createAreas$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(AreaActions.createArea),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .create$(action)\r\n .pipe(\r\n map((Area: AreaModel) => AreaActions\r\n .createAreaSuccess({ Area })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),AreaActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n updateAreas$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(AreaActions.updateArea),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .update$(action)\r\n .pipe(\r\n map((Area: AreaModel) => AreaActions\r\n .updateAreaSuccess({ Area })\r\n ),\r\n catchError(error => {\r\n console.error(error)\r\n return of(ConfigurationActions.configurationError({ error }),AreaActions.resetLoading()\r\n )})\r\n )\r\n ))\r\n );\r\n\r\n deleteAreas$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(AreaActions.deleteArea),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .delete$(action)\r\n .pipe(\r\n map((Area: AreaModel) => AreaActions\r\n .deleteAreaSuccess({ Area })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),AreaActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n \r\n constructor(\r\n private actions$: Actions,\r\n @Inject('OracleStorageService') private oracleStorageService: OracleStorageService,\r\n ) { }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { Actions, ofType, createEffect } from \"@ngrx/effects\";\r\nimport { of } from \"rxjs\";\r\nimport { catchError, map, switchMap, tap } from \"rxjs/operators\";\r\n\r\nimport { ConfigurationActions } from \"@actions/index\";\r\nimport { CertificateHistoricalActions } from \"@actions/configuration\";\r\nimport { TableStorageService } from \"@services/table-storage.service\";\r\nimport { CertificateHistoricalModel } from \"@models/configuration/certificate-historical.model\";\r\nimport { isObject } from 'util';\r\n\r\n@Injectable()\r\nexport class CertificateHistoricalEffects {\r\n // CertificateHistoricals Effects\r\n searchCertificateHistoricals$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateHistoricalActions.searchCertificateHistoricals),\r\n switchMap(({ action }) =>\r\n this.tableStorageService.search$(action).pipe(\r\n map((CertificateHistoricals: CertificateHistoricalModel[]) =>\r\n CertificateHistoricalActions.searchCertificateHistoricalsSuccess({ CertificateHistoricals })\r\n ),\r\n catchError((error) =>\r\n of(ConfigurationActions.configurationError({ error }),CertificateHistoricalActions.resetLoading())\r\n )\r\n )\r\n )\r\n )\r\n );\r\n\r\n\r\n createCertificateHistoricals$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateHistoricalActions.createCertificateHistorical),\r\n switchMap(({ action }) =>\r\n this.tableStorageService.create$(action).pipe(\r\n map((CertificateHistorical: CertificateHistoricalModel) =>\r\n CertificateHistoricalActions.createCertificateHistoricalSuccess({ CertificateHistorical })\r\n ),\r\n catchError((error) =>\r\n of(ConfigurationActions.configurationError({ error }),CertificateHistoricalActions.resetLoading())\r\n )\r\n )\r\n )\r\n )\r\n );\r\n\r\n updateCertificateHistoricals$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateHistoricalActions.updateCertificateHistorical),\r\n switchMap(({ action }) =>\r\n this.tableStorageService.update$(action).pipe(\r\n map((CertificateHistorical: CertificateHistoricalModel) =>\r\n CertificateHistoricalActions.updateCertificateHistoricalSuccess({ CertificateHistorical })\r\n ),\r\n catchError((error) =>\r\n of(ConfigurationActions.configurationError({ error }),CertificateHistoricalActions.resetLoading())\r\n )\r\n )\r\n )\r\n )\r\n );\r\n\r\n deleteCertificateHistoricals$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateHistoricalActions.deleteCertificateHistorical),\r\n switchMap(({ action }) =>\r\n this.tableStorageService.delete$(action).pipe(\r\n map((CertificateHistorical: CertificateHistoricalModel) =>\r\n CertificateHistoricalActions.deleteCertificateHistoricalSuccess({ CertificateHistorical })\r\n ),\r\n catchError((error) =>\r\n of(ConfigurationActions.configurationError({ error }),CertificateHistoricalActions.resetLoading())\r\n )\r\n )\r\n )\r\n )\r\n );\r\n /////////////\r\n constructor(\r\n private actions$: Actions,\r\n @Inject(\"TableStorageService\")\r\n private tableStorageService: TableStorageService\r\n ) {}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Actions, ofType, createEffect } from '@ngrx/effects';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\r\n\r\nimport { ConfigurationActions} from '@actions/index';\r\nimport { CertificateTypeActions } from '@actions/configuration';\r\nimport { OracleStorageService } from '@services/oracle-storage.service';\r\nimport { CertificateTypeModel } from '@models/configuration/certificate-type.model';\r\n\r\n@Injectable()\r\nexport class CertificateTypeEffects {\r\n // CertificateTypes Effects\r\n searchCertificateTypes$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateTypeActions.searchCertificateTypes),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .search$(action)\r\n .pipe(\r\n map((CertificateTypes: CertificateTypeModel[]) => CertificateTypeActions\r\n .searchCertificateTypesSuccess({ CertificateTypes })\r\n ),\r\n catchError(error => {\r\n console.log(error)\r\n return of(ConfigurationActions.configurationError({ error }),CertificateTypeActions.resetLoading())\r\n })\r\n )\r\n ))\r\n );\r\n\r\n createCertificateTypes$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateTypeActions.createCertificateType),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .create$(action)\r\n .pipe(\r\n map((CertificateType: CertificateTypeModel) => CertificateTypeActions\r\n .createCertificateTypeSuccess({ CertificateType })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),CertificateTypeActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n updateCertificateTypes$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateTypeActions.updateCertificateType),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .update$(action)\r\n .pipe(\r\n map((CertificateType: CertificateTypeModel) => CertificateTypeActions\r\n .updateCertificateTypeSuccess({ CertificateType })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),CertificateTypeActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n deleteCertificateTypes$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateTypeActions.deleteCertificateType),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .delete$(action)\r\n .pipe(\r\n map((CertificateType: CertificateTypeModel) => CertificateTypeActions\r\n .deleteCertificateTypeSuccess({ CertificateType })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),CertificateTypeActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n /////////////\r\n constructor(\r\n private actions$: Actions,\r\n @Inject('OracleStorageService') private oracleStorageService: OracleStorageService,\r\n ) { }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { Actions, ofType, createEffect } from \"@ngrx/effects\";\r\nimport { of } from \"rxjs\";\r\nimport { catchError, map, switchMap, tap } from \"rxjs/operators\";\r\n\r\nimport { ConfigurationActions } from \"@actions/index\";\r\nimport { CertificateActions } from \"@actions/configuration\";\r\nimport { OracleStorageService } from '@services/oracle-storage.service';\r\nimport { CertificateModel } from \"@models/configuration/certificate.model\";\r\nimport { isObject } from 'util';\r\n\r\n@Injectable()\r\nexport class CertificateEffects {\r\n // Certificates Effects\r\n searchCertificates$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateActions.searchCertificates),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService.search$(action).pipe(\r\n map((Certificates: CertificateModel[]) =>\r\n CertificateActions.searchCertificatesSuccess({ Certificates })\r\n ),\r\n catchError((error) =>\r\n of(ConfigurationActions.configurationError({ error }),CertificateActions.resetLoading())\r\n )\r\n )\r\n )\r\n )\r\n );\r\n\r\n searchCertificateStatus$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateActions.searchCertificateStatus),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService.search$(action).pipe(\r\n map((CertificateStatus: CertificateModel[]) =>\r\n CertificateActions.searchCertificateStatusSuccess({ CertificateStatus })\r\n ),\r\n catchError((error) =>\r\n of(ConfigurationActions.configurationError({ error }),CertificateActions.resetLoading())\r\n )\r\n )\r\n )\r\n )\r\n );\r\n\r\n searchCertificatesState$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateActions.searchCertificatesState),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService.search$(action).pipe(\r\n map((CertificatesByState: CertificateModel[]) =>\r\n CertificateActions.searchCertificatesStateSuccess({ CertificatesByState })\r\n ),\r\n catchError((error) => {\r\n let errorBack: string;\r\n if (isObject(error)) {\r\n if (error.message) {\r\n errorBack = error.message;\r\n } else {\r\n errorBack = \"ERROR AL BUSCAR CERTIFICADOS POR ESTADO\";\r\n }\r\n } else {\r\n errorBack = error;\r\n }\r\n return of(\r\n ConfigurationActions.configurationError({ error: errorBack })\r\n );\r\n })\r\n )\r\n )\r\n )\r\n );\r\n\r\n searchCertificatesFile$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateActions.searchCertificatesFile),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService.search$(action).pipe(\r\n /* tap(x=>console.log(x)),\r\n map((items:any[])=>{\r\n return items.map((element:any)=>{\r\n return {\r\n ...element,\r\n filestring: element.filePath\r\n }\r\n })\r\n }),\r\n tap(x=>console.log(x)), */\r\n map((CertificatesFile: CertificateModel[]) =>\r\n CertificateActions.searchCertificatesFileSuccess({ CertificatesFile })\r\n ),\r\n catchError((error) => {\r\n let errorBack: string;\r\n if (isObject(error)) {\r\n if (error.message) {\r\n errorBack = error.message;\r\n } else {\r\n errorBack = \"ERROR AL BUSCAR CERTIFICADOS POR FILE\";\r\n }\r\n } else {\r\n errorBack = error;\r\n }\r\n return of(\r\n ConfigurationActions.configurationError({ error: errorBack })\r\n );\r\n })\r\n )\r\n )\r\n )\r\n );\r\n\r\n createCertificates$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateActions.createCertificate),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService.createSecond$(action).pipe(\r\n map((Certificate: CertificateModel) =>\r\n CertificateActions.createCertificateSuccess({ Certificate })\r\n ),\r\n catchError((error) =>\r\n of(ConfigurationActions.configurationError({ error }),CertificateActions.resetLoading())\r\n )\r\n )\r\n )\r\n )\r\n );\r\n\r\n updateCertificates$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateActions.updateCertificate),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService.update$(action).pipe(\r\n map((Certificate: CertificateModel) =>\r\n CertificateActions.updateCertificateSuccess({ Certificate })\r\n ),\r\n catchError((error) =>\r\n of(ConfigurationActions.configurationError({ error }),CertificateActions.resetLoading())\r\n )\r\n )\r\n )\r\n )\r\n );\r\n\r\n deleteCertificates$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CertificateActions.deleteCertificate),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService.delete$(action).pipe(\r\n map((Certificate: CertificateModel) =>\r\n CertificateActions.deleteCertificateSuccess({ Certificate })\r\n ),\r\n catchError((error) =>\r\n of(ConfigurationActions.configurationError({ error }),CertificateActions.resetLoading())\r\n )\r\n )\r\n )\r\n )\r\n );\r\n /////////////\r\n constructor(\r\n private actions$: Actions,\r\n @Inject(\"OracleStorageService\")\r\n private oracleStorageService: OracleStorageService\r\n ) {}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Actions, ofType, createEffect } from '@ngrx/effects';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\r\nimport { ConfigurationActions } from '@actions/index';\r\nimport { CustomerActions } from '@actions/configuration/index';\r\nimport { OracleStorageService } from '@services/oracle-storage.service';\r\nimport { CustomerModel } from '@models/configuration/customer.model';\r\n\r\n\r\n@Injectable()\r\nexport class CustomerEffects {\r\n // Customers Effects\r\n searchCustomers$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.searchCustomers),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .search$(action)\r\n .pipe(\r\n map((Customers: CustomerModel[]) => CustomerActions\r\n .searchCustomersSuccess({ Customers })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),CustomerActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n searchCustomersAuthorization$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.searchCustomersAuthorization),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .search$(action)\r\n .pipe(\r\n tap((CustomersAuthorization:CustomerModel[])=>console.log(CustomersAuthorization)),\r\n map((CustomersAuthorization: CustomerModel[]) => CustomerActions\r\n .searchCustomersAuthorizationSuccess({ CustomersAuthorization })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),CustomerActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n createCustomers$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.createCustomer),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .create$(action)\r\n .pipe(\r\n map((Customer: CustomerModel) => CustomerActions\r\n .createCustomerSuccess({ Customer })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),CustomerActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n updateCustomers$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.updateCustomer),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .update$(action)\r\n .pipe(\r\n map((Customer: CustomerModel) => CustomerActions\r\n .updateCustomerSuccess({ Customer })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),CustomerActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n deleteCustomers$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.deleteCustomer),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .delete$(action)\r\n .pipe(\r\n map((Customer: CustomerModel) => CustomerActions\r\n .deleteCustomerSuccess({ Customer })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),CustomerActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n \r\n constructor(\r\n private actions$: Actions,\r\n @Inject('OracleStorageService') private oracleStorageService: OracleStorageService,\r\n ) { }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Actions, ofType, createEffect } from '@ngrx/effects';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\r\nimport { ConfigurationActions } from '@actions/index';\r\nimport { GeneralConfigActions } from '@actions/configuration/index';\r\nimport { OracleStorageService } from '@services/oracle-storage.service';\r\nimport { GeneralConfigModel } from '@models/configuration/general-config.model';\r\n\r\n\r\n@Injectable()\r\nexport class GeneralConfigEffects {\r\n // GeneralConfigs Effects\r\n searchGeneralConfigs$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(GeneralConfigActions.searchGeneralConfigs),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .search$(action)\r\n .pipe(\r\n map((GeneralConfigs: GeneralConfigModel[]) => GeneralConfigActions\r\n .searchGeneralConfigsSuccess({ GeneralConfigs })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),GeneralConfigActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n createGeneralConfigs$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(GeneralConfigActions.createGeneralConfig),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .create$(action)\r\n .pipe(\r\n map((GeneralConfig: GeneralConfigModel) => GeneralConfigActions\r\n .createGeneralConfigSuccess({ GeneralConfig })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),GeneralConfigActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n updateGeneralConfigs$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(GeneralConfigActions.updateGeneralConfig),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .update$(action)\r\n .pipe(\r\n map((GeneralConfig: GeneralConfigModel) => GeneralConfigActions\r\n .updateGeneralConfigSuccess({ GeneralConfig })\r\n ),\r\n catchError(error => {\r\n console.error(error)\r\n return of(ConfigurationActions.configurationError({ error }),GeneralConfigActions.resetLoading()\r\n )})\r\n )\r\n ))\r\n );\r\n\r\n deleteGeneralConfigs$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(GeneralConfigActions.deleteGeneralConfig),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .delete$(action)\r\n .pipe(\r\n map((GeneralConfig: GeneralConfigModel) => GeneralConfigActions\r\n .deleteGeneralConfigSuccess({ GeneralConfig })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),GeneralConfigActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n @Inject('OracleStorageService') private oracleStorageService: OracleStorageService,\r\n ) { }\r\n}\r\n","\r\nimport { CustomerEffects } from './customer.effects';\r\nimport { PolicyEffects } from './policy.effects';\r\nimport { CertificateEffects } from './certificate.effects';\r\nimport { QueryEffects } from './query.effects';\r\nimport { CertificateTypeEffects } from './certificate-type.effects';\r\nimport { RoleEffects } from './role.effects';\r\nimport { AreaEffects } from './area.effects';\r\nimport { CertificateHistoricalEffects } from './certificate-historical.effects';\r\nimport { GeneralConfigEffects } from './general-config.effects';\r\n\r\nexport const configurationsEffects = [\r\n CustomerEffects,\r\n PolicyEffects,\r\n CertificateEffects,\r\n CertificateHistoricalEffects,\r\n QueryEffects,\r\n CertificateTypeEffects,\r\n RoleEffects,\r\n AreaEffects,\r\n GeneralConfigEffects,\r\n]\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Actions, ofType, createEffect } from '@ngrx/effects';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\r\nimport { ConfigurationActions } from '@actions/index';\r\nimport { PolicyActions } from '@actions/configuration/index';\r\nimport { OracleStorageService } from '@services/oracle-storage.service';\r\nimport { PolicyModel } from '@models/configuration/policy.model';\r\n\r\n\r\n@Injectable()\r\nexport class PolicyEffects {\r\n // Policys Effects\r\n searchPolicys$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(PolicyActions.searchPolicies),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .search$(action)\r\n .pipe(\r\n tap(x=>console.log(x)),\r\n map((policies: any) => {\r\n let array = policies.data;\r\n return array.map((item: any) => {\r\n let newItem = {\r\n id: item.policyId,\r\n idCustomer: item.customers,\r\n name: item.name,\r\n nameCustomer: item.customers,\r\n policyCode: item.policyId,\r\n valididationPeriod: item.validityPeriod\r\n }\r\n return newItem;\r\n });\r\n }),\r\n tap(x=>console.log(x)),\r\n map((Policies: PolicyModel[]) => PolicyActions\r\n .searchPoliciesSuccess({ Policies })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),PolicyActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n createPolicys$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(PolicyActions.createPolicy),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .create$(action)\r\n .pipe(\r\n map((Policy: PolicyModel) => PolicyActions\r\n .createPolicySuccess({ Policy })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),PolicyActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n updatePolicys$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(PolicyActions.updatePolicy),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .update$(action)\r\n .pipe(\r\n map((Policy: PolicyModel) => PolicyActions\r\n .updatePolicySuccess({ Policy })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),PolicyActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n deletePolicys$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(PolicyActions.deletePolicy),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .delete$(action)\r\n .pipe(\r\n map((Policy: PolicyModel) => PolicyActions\r\n .deletePolicySuccess({ Policy })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),PolicyActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n \r\n constructor(\r\n private actions$: Actions,\r\n @Inject('OracleStorageService') private oracleStorageService: OracleStorageService,\r\n ) { }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Actions, ofType, createEffect } from '@ngrx/effects';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\r\nimport { ConfigurationActions } from '@actions/index';\r\nimport { PolicyActions, QueryActions } from '@actions/configuration/index';\r\nimport { OracleStorageService } from '@services/oracle-storage.service';\r\nimport { QueryModel } from '@models/configuration/query.model';\r\n\r\n\r\n@Injectable()\r\nexport class QueryEffects {\r\n // Querys Effects\r\n searchQuerys$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(QueryActions.searchQueries),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .search$(action)\r\n .pipe(\r\n map((Queries: QueryModel[]) => QueryActions\r\n .searchQueriesSuccess({ Queries })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),PolicyActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n searchQueryOne$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(QueryActions.searchQueryOne),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .searchOne$(action)\r\n .pipe(\r\n map((QueryOne: QueryModel[]) => QueryActions\r\n .searchQueryOneSuccess({ QueryOne })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),PolicyActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n createQuerys$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(QueryActions.createQuery),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .create$(action)\r\n .pipe(\r\n map((Query: QueryModel) => QueryActions\r\n .createQuerySuccess({ Query })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),PolicyActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n updateQuerys$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(QueryActions.updateQuery),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .update$(action)\r\n .pipe(\r\n map((Query: QueryModel) => QueryActions\r\n .updateQuerySuccess({ Query })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),PolicyActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n deleteQuerys$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(QueryActions.deleteQuery),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .delete$(action)\r\n .pipe(\r\n map((Query: QueryModel) => QueryActions\r\n .deleteQuerySuccess({ Query })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),PolicyActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n \r\n constructor(\r\n private actions$: Actions,\r\n @Inject('OracleStorageService') private oracleStorageService: OracleStorageService,\r\n ) { }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Actions, ofType, createEffect } from '@ngrx/effects';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\r\nimport { ConfigurationActions } from '@actions/index';\r\nimport { RoleActions } from '@actions/configuration/index';\r\nimport { OracleStorageService } from '@services/oracle-storage.service';\r\nimport { RoleModel } from '@models/configuration/role.model';\r\n\r\n\r\n@Injectable()\r\nexport class RoleEffects {\r\n // Roles Effects\r\n searchRoles$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(RoleActions.searchRoles),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .search$(action)\r\n .pipe(\r\n map((Roles: RoleModel[]) => RoleActions\r\n .searchRolesSuccess({ Roles })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),RoleActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n createRoles$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(RoleActions.createRole),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .create$(action)\r\n .pipe(\r\n map((Role: RoleModel) => RoleActions\r\n .createRoleSuccess({ Role })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),RoleActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n updateRoles$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(RoleActions.updateRole),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .update$(action)\r\n .pipe(\r\n map((Role: RoleModel) => RoleActions\r\n .updateRoleSuccess({ Role })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),RoleActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n\r\n deleteRoles$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(RoleActions.deleteRole),\r\n switchMap(({ action }) =>\r\n this.oracleStorageService\r\n .delete$(action)\r\n .pipe(\r\n map((Role: RoleModel) => RoleActions\r\n .deleteRoleSuccess({ Role })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error }),RoleActions.resetLoading()))\r\n )\r\n ))\r\n );\r\n \r\n constructor(\r\n private actions$: Actions,\r\n @Inject('OracleStorageService') private oracleStorageService: OracleStorageService,\r\n ) { }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Actions, ofType, createEffect } from '@ngrx/effects';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\r\nimport { ConfigurationActions } from '@actions/index';\r\nimport { CaseFileActions } from '@actions/management/index';\r\nimport { TableStorageService } from '@services/table-storage.service';\r\nimport { CasefileModel } from '@models/management/casefile.model';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n@Injectable()\r\nexport class CasefileEffects {\r\n // casefiles Effects\r\n searchCasefiles$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CaseFileActions.searchCasefiles),\r\n switchMap(({ action }) =>\r\n this.tableStorageService\r\n .search$(action)\r\n .pipe(\r\n map((casefiles: CasefileModel[]) => CaseFileActions\r\n .searchCasefilesSuccess({ casefiles })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error })))\r\n )\r\n ))\r\n );\r\n\r\n createCasefile$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CaseFileActions.createCasefile),\r\n switchMap(({ action }) =>\r\n this.tableStorageService\r\n .create$(action)\r\n .pipe(\r\n map((casefile: CasefileModel) => CaseFileActions\r\n .createCasefileSuccess({ casefile })\r\n ),\r\n tap(s =>this.router.navigate(['management/previewCasefile'])),\r\n catchError(error => of(ConfigurationActions.configurationError({ error })))\r\n )\r\n ))\r\n );\r\n\r\n updateCasefile$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CaseFileActions.updateCasefile),\r\n switchMap(({ action }) =>\r\n this.tableStorageService\r\n .update$(action)\r\n .pipe(\r\n map((casefile: CasefileModel) => CaseFileActions\r\n .updateCasefileSuccess({ casefile })\r\n ),\r\n tap(s =>this.router.navigate(['management/previewCasefile'])),\r\n catchError(error => of(ConfigurationActions.configurationError({ error })))\r\n )\r\n ))\r\n );\r\n\r\n deleteCasefile$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(CaseFileActions.deleteCasefile),\r\n switchMap(({ action }) =>\r\n this.tableStorageService\r\n .delete$(action)\r\n .pipe(\r\n map((Casefile: CasefileModel) => CaseFileActions\r\n .deleteCasefileSuccess({ Casefile })\r\n ),\r\n catchError(error => of(ConfigurationActions.configurationError({ error })))\r\n )\r\n ))\r\n );\r\n /////////////\r\n constructor(\r\n private actions$: Actions,\r\n @Inject('TableStorageService') private tableStorageService: TableStorageService,\r\n private router: Router\r\n ) { }\r\n}","import { CasefileEffects } from './casefile.effects';\r\n\r\n\r\nexport const managementEffects = [\r\n CasefileEffects,\r\n]","import { Action, createReducer, on } from '@ngrx/store';\r\n\r\nimport * as AuthActions from '@actions/auth.actions';\r\nimport { UserModel, UserGraphApiModel } from '@models/user.model';\r\nimport { emptyUser } from '@utilities/data.util';\r\nimport { AdActions } from '@actions/index';\r\n\r\nexport interface State {\r\n adUsers: UserGraphApiModel[];\r\n loading: boolean,\r\n}\r\n\r\nexport const initialState: State = {\r\n adUsers: [],\r\n loading: false,\r\n};\r\n\r\n\r\nconst adReducer = createReducer(\r\n initialState,\r\n on(AdActions.searchADUsers, (state) => ({ ...state, error: null, loading: true })),\r\n on(AdActions.searchADUsersSuccess, (state, { adUsers }) => ({ ...state, loading: false, adUsers })),\r\n on(AdActions.resetLoading, state => {\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n }),\r\n on(AdActions.cleanAD, state => {\r\n return {\r\n ...state,\r\n loading: false,\r\n adUsers: []\r\n };\r\n }),\r\n);\r\n\r\n\r\nexport function reducer(state: State | undefined, action: Action) {\r\n return adReducer(state, action);\r\n}\r\n\r\nexport const getADUsers = (state: State) => state.adUsers;\r\nexport const getLoadingAD = (state: State) => state.loading;","import { Action, createReducer, on } from '@ngrx/store';\r\n\r\nimport * as AuthActions from '@actions/auth.actions';\r\nimport { UserModel, UserGraphApiModel } from '@models/user.model';\r\nimport { emptyUser } from '@utilities/data.util';\r\n\r\nexport interface State {\r\n loggedIn: boolean;\r\n user: UserModel | null;\r\n error: string | null;\r\n loading: boolean;\r\n}\r\n\r\nexport const initialState: State = {\r\n loggedIn: false,\r\n user: emptyUser(),\r\n error: null,\r\n loading: false,\r\n};\r\n\r\n\r\nconst authReducer = createReducer(\r\n initialState,\r\n on(AuthActions.login, (state, { credential }) => ({ ...state, error: null, loading: true })),\r\n on(AuthActions.createUser, (state, { user }) => ({ ...state, error: null, loading: true, user })),\r\n on(AuthActions.loginSuccess, (state, { user }) => ({\r\n ...state,\r\n error: null,\r\n loading: false,\r\n user,\r\n loggedIn: true,\r\n })),\r\n on(AuthActions.logoutSuccess, (state) => ({ ...state, ...initialState })),\r\n on(AuthActions.loginFailure, (state, { error }) => ({ ...state, error, loading: false })),\r\n);\r\n\r\nexport function reducer(state: State | undefined, action: Action) {\r\n return authReducer(state, action);\r\n}\r\n\r\nexport const getLoggedIn = (state: State) => state.loggedIn;\r\nexport const getUser = (state: State) => state.user;\r\nexport const getADUserS = (state: State) => state.user;\r\nexport const getError = (state: State) => state.error;\r\nexport const getAuthLoading = (state: State) => state.loading;","import { Action, createReducer, on } from '@ngrx/store';\r\nimport * as ConfigurationActions from '@actions/configuration.actions';\r\nimport { CustomerModel } from '@models/configuration/customer.model';\r\nimport { PolicyModel } from '@models/configuration/policy.model';\r\nimport { CertificateModel } from '@models/configuration/certificate.model';\r\nimport { QueryModel } from '@models/configuration/query.model';\r\n\r\nimport {\r\n CustomerActions,\r\n PolicyActions,\r\n CertificateActions,\r\n QueryActions,\r\n CertificateTypeActions,\r\n RoleActions,\r\n AreaActions,\r\n GeneralConfigActions,\r\n CertificateHistoricalActions,\r\n} from '@actions/configuration/index';\r\nimport { CertificateTypeModel } from '@models/configuration/certificate-type.model';\r\nimport { RoleModel } from '@models/configuration/role.model';\r\nimport { AreaModel } from '@models/configuration/area.model';\r\nimport { CertificateHistoricalModel } from '@models/configuration/certificate-historical.model';\r\nimport { GeneralConfigModel } from '@models/configuration/general-config.model';\r\n\r\nexport interface State {\r\n Customers: CustomerModel[];\r\n CustomersAuthorization: CustomerModel[];\r\n CurrentCustomer: CustomerModel;\r\n Policies: PolicyModel[];\r\n CurrentPolicy: PolicyModel;\r\n Certificates: CertificateModel[];\r\n CertificateStatus: CertificateModel[];\r\n CertificatesByState: CertificateModel[];\r\n CertificatesFile: CertificateModel[];\r\n CurrentCertificate: CertificateModel;\r\n CertificateHistoricals: CertificateHistoricalModel[];\r\n CurrentCertificateHistorical: CertificateHistoricalModel;\r\n CertificateTypes: CertificateTypeModel[];\r\n CurrentCertificateType: CertificateTypeModel;\r\n Queries: QueryModel[];\r\n CurrentQuery: QueryModel;\r\n QueryOne: QueryModel[];\r\n Roles: RoleModel[];\r\n CurrentRole: RoleModel;\r\n Areas: AreaModel[];\r\n CurrentArea: AreaModel;\r\n GeneralConfigs: GeneralConfigModel[];\r\n CurrentGeneralConfig: GeneralConfigModel;\r\n Error: string | null;\r\n Loading: boolean;\r\n LoadingPolicy: boolean;\r\n LoadingCustomer: boolean;\r\n LoadingArea: boolean;\r\n LoadingGeneralConfig: boolean;\r\n Message: string | null;\r\n}\r\n\r\nexport const initialState: State = {\r\n Customers: [],\r\n CustomersAuthorization: [],\r\n CurrentCustomer: null,\r\n Policies: [],\r\n CurrentPolicy: null,\r\n Certificates: [],\r\n CertificateStatus: [],\r\n CertificatesByState: [],\r\n CertificatesFile: [],\r\n CurrentCertificate: null,\r\n CertificateHistoricals: [],\r\n CurrentCertificateHistorical: null,\r\n CertificateTypes: [],\r\n CurrentCertificateType: null,\r\n Queries: [],\r\n CurrentQuery: null,\r\n QueryOne: null,\r\n Roles: [],\r\n CurrentRole: null,\r\n Areas: [],\r\n CurrentArea: null,\r\n GeneralConfigs: [],\r\n CurrentGeneralConfig: null,\r\n Error: null,\r\n Loading: false,\r\n LoadingPolicy: false,\r\n LoadingCustomer: false,\r\n LoadingArea: false,\r\n LoadingGeneralConfig: false,\r\n Message: null\r\n};\r\n\r\nconst configurationReducer = createReducer(\r\n initialState,\r\n\r\n //---------------------------Policy-----------------------------------------\r\n //--------------------------------------------------------------------------\r\n on(PolicyActions.searchPolicies, (state) => searchFlags(state)),\r\n on(PolicyActions.searchPoliciesSuccess, (state, { Policies }) => ({ ...state, Loading: false, Policies, LoadingPolicy:false })),\r\n on(PolicyActions.createPolicy, (state) => updateFlags(state)),\r\n on(PolicyActions.createPolicySuccess, (state, { Policy }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Política creada correctamente...\",\r\n Policies: [...state.Policies, Policy],\r\n CurrentPolicy: null,\r\n })),\r\n on(PolicyActions.updatePolicy, (state) => updateFlags(state)),\r\n on(PolicyActions.updatePolicySuccess, (state, { Policy }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Política actualizada correctamente...\",\r\n Policies: [...state.Policies, Policy],\r\n CurrentPolicy: Policy,\r\n })),\r\n on(PolicyActions.deletePolicy, (state) => deleteFlags(state)),\r\n on(PolicyActions.deletePolicySuccess, (state, { Policy }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Política eliminada correctamente...\",\r\n Policies: [...state.Policies],\r\n CurrentPolicy: null,\r\n })),\r\n on(PolicyActions.selectPolicy, (state, { Policy }) => ({\r\n ...state,\r\n CurrentPolicy: Policy\r\n })),\r\n on(PolicyActions.resetLoading, state => {\r\n return {\r\n ...state,\r\n Loading: false,\r\n LoadingPolicy: false,\r\n };\r\n }),\r\n\r\n //---------------------------Area-----------------------------------------\r\n //----------------------------------------------------------------------------\r\n on(AreaActions.searchAreas, (state) => searchFlags(state)),\r\n on(AreaActions.searchAreasSuccess, (state, { Areas }) => ({ ...state, Loading: false, LoadingArea: false,Areas })),\r\n on(AreaActions.createArea, (state) => updateFlags(state)),\r\n on(AreaActions.createAreaSuccess, (state, { Area }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Area creada correctamente...\",\r\n Areas: [...state.Areas, Area],\r\n CurrentArea: null,\r\n })),\r\n on(AreaActions.updateArea, (state) => updateFlags(state)),\r\n on(AreaActions.updateAreaSuccess, (state, { Area }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Area actualizada correctamente...\",\r\n Areas: [...state.Areas, Area],\r\n CurrentArea: Area,\r\n })),\r\n on(AreaActions.deleteArea, (state) => deleteFlags(state)),\r\n on(AreaActions.deleteAreaSuccess, (state, { Area }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Area eliminada correctamente...\",\r\n Areas: [...state.Areas],\r\n CurrentArea: null,\r\n })),\r\n on(AreaActions.selectArea, (state, { Area }) => ({\r\n ...state,\r\n CurrentArea: Area\r\n })),\r\n on(AreaActions.resetLoading, state => {\r\n return {\r\n ...state,\r\n Loading: false,\r\n };\r\n }),\r\n\r\n //---------------------------GeneralConfig-----------------------------------------\r\n //----------------------------------------------------------------------------\r\n on(GeneralConfigActions.searchGeneralConfigs, (state) => searchFlags(state)),\r\n on(GeneralConfigActions.searchGeneralConfigsSuccess, (state, { GeneralConfigs }) => ({ ...state, Loading: false, LoadingGeneralConfig: false,GeneralConfigs })),\r\n on(GeneralConfigActions.createGeneralConfig, (state) => updateFlags(state)),\r\n on(GeneralConfigActions.createGeneralConfigSuccess, (state, { GeneralConfig }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"GeneralConfig creada correctamente...\",\r\n GeneralConfigs: [...state.GeneralConfigs, GeneralConfig],\r\n CurrentGeneralConfig: null,\r\n })),\r\n on(GeneralConfigActions.updateGeneralConfig, (state) => updateFlags(state)),\r\n on(GeneralConfigActions.updateGeneralConfigSuccess, (state, { GeneralConfig }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"GeneralConfig actualizada correctamente...\",\r\n GeneralConfigs: [...state.GeneralConfigs, GeneralConfig],\r\n CurrentGeneralConfig: GeneralConfig,\r\n })),\r\n on(GeneralConfigActions.deleteGeneralConfig, (state) => deleteFlags(state)),\r\n on(GeneralConfigActions.deleteGeneralConfigSuccess, (state, { GeneralConfig }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"GeneralConfig eliminada correctamente...\",\r\n GeneralConfigs: [...state.GeneralConfigs],\r\n CurrentGeneralConfig: null,\r\n })),\r\n on(GeneralConfigActions.selectGeneralConfig, (state, { GeneralConfig }) => ({\r\n ...state,\r\n CurrentGeneralConfig: GeneralConfig\r\n })),\r\n on(GeneralConfigActions.resetLoading, state => {\r\n return {\r\n ...state,\r\n Loading: false,\r\n };\r\n }),\r\n\r\n //---------------------------Customer-----------------------------------------\r\n //----------------------------------------------------------------------------\r\n on(CustomerActions.searchCustomers, (state) => searchFlags(state)),\r\n on(CustomerActions.searchCustomersSuccess, (state, { Customers }) => ({ ...state, Loading: false, LoadingCustomer: false, Customers })),\r\n on(CustomerActions.searchCustomersAuthorization, (state) => searchFlags(state)),\r\n on(CustomerActions.searchCustomersAuthorizationSuccess, (state, { CustomersAuthorization }) => ({ ...state, Loading: false, CustomersAuthorization })),\r\n on(CustomerActions.createCustomer, (state) => updateFlags(state)),\r\n on(CustomerActions.createCustomerSuccess, (state, { Customer }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Cliente creado correctamente...\",\r\n Customers: [...state.Customers, Customer],\r\n CurrentCustomer: null,\r\n })),\r\n on(CustomerActions.updateCustomer, (state) => updateFlags(state)),\r\n on(CustomerActions.updateCustomerSuccess, (state, { Customer }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Cliente actualizado correctamente...\",\r\n Customers: [...state.Customers, Customer],\r\n CurrentCustomer: Customer,\r\n })),\r\n on(CustomerActions.deleteCustomer, (state) => deleteFlags(state)),\r\n on(CustomerActions.deleteCustomerSuccess, (state, { Customer }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Cliente eliminado correctamente...\",\r\n Customers: [...state.Customers],\r\n CurrentCustomer: null,\r\n })),\r\n on(CustomerActions.selectCustomer, (state, { Customer }) => ({\r\n ...state,\r\n CurrentCustomer: Customer\r\n })),\r\n on(CustomerActions.resetLoading, state => {\r\n return {\r\n ...state,\r\n Loading: false,\r\n LoadingCustomer: false,\r\n };\r\n }),\r\n\r\n on(CustomerActions.cleanCustomers, (state, { Customers }) => ({ ...state, Customers: [] })),\r\n\r\n //---------------------------CertificateType-----------------------------------------\r\n //--------------------------------------------------------------------------\r\n on(CertificateTypeActions.searchCertificateTypes, (state) => searchFlags(state)),\r\n on(CertificateTypeActions.searchCertificateTypesSuccess, (state, { CertificateTypes }) => ({ ...state, Loading: false, CertificateTypes })),\r\n on(CertificateTypeActions.createCertificateType, (state) => updateFlags(state)),\r\n on(CertificateTypeActions.createCertificateTypeSuccess, (state, { CertificateType }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Tipo de certificado creada correctamente...\",\r\n CertificateTypes: [...state.CertificateTypes, CertificateType],\r\n CurrentCertificateType: null,\r\n })),\r\n on(CertificateTypeActions.updateCertificateType, (state) => updateFlags(state)),\r\n on(CertificateTypeActions.updateCertificateTypeSuccess, (state, { CertificateType }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Tipo de certificado actualizada correctamente...\",\r\n CertificateTypes: [...state.CertificateTypes, CertificateType],\r\n CurrentCertificateType: CertificateType,\r\n })),\r\n on(CertificateTypeActions.deleteCertificateType, (state) => deleteFlags(state)),\r\n on(CertificateTypeActions.deleteCertificateTypeSuccess, (state, { CertificateType }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Tipo de certificado eliminada correctamente...\",\r\n CertificateTypes: [...state.CertificateTypes],\r\n CurrentCertificateType: null,\r\n })),\r\n on(CertificateTypeActions.selectCertificateType, (state, { CertificateType }) => ({\r\n ...state,\r\n CurrentCertificateType: CertificateType\r\n })),\r\n on(CertificateTypeActions.resetLoading, state => {\r\n return {\r\n ...state,\r\n Loading: false,\r\n };\r\n }),\r\n\r\n //---------------------------Certificate-----------------------------------------\r\n //--------------------------------------------------------------------------\r\n on(CertificateActions.searchCertificates, (state) => searchFlags(state)),\r\n on(CertificateActions.searchCertificatesSuccess, (state, { Certificates }) => ({ ...state, Loading: false, Certificates })),\r\n on(CertificateActions.searchCertificateStatus, (state) => searchFlags(state)),\r\n on(CertificateActions.searchCertificateStatusSuccess, (state, { CertificateStatus }) => ({ ...state, Loading: false, CertificateStatus })),\r\n on(CertificateActions.searchCertificatesState, (state) => searchFlags(state)),\r\n on(CertificateActions.searchCertificatesStateSuccess, (state, { CertificatesByState }) => ({ ...state, Loading: false, CertificatesByState })),\r\n on(CertificateActions.searchCertificatesFile, (state) => searchFlags(state)),\r\n on(CertificateActions.searchCertificatesFileSuccess, (state, { CertificatesFile }) => ({ ...state, Loading: false, CertificatesFile })),\r\n on(CertificateActions.createCertificate, (state) => updateFlags(state)),\r\n on(CertificateActions.createCertificateSuccess, (state, { Certificate }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Certificado creado correctamente...\",\r\n Certificates: [...state.Certificates, Certificate],\r\n CurrentCertificate: null,\r\n })),\r\n on(CertificateActions.updateCertificate, (state) => updateFlags(state)),\r\n on(CertificateActions.updateCertificateSuccess, (state, { Certificate }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Certificado actualizado correctamente...\",\r\n Certificates: [...state.Certificates, Certificate],\r\n CurrentCertificate: Certificate,\r\n })),\r\n on(CertificateActions.deleteCertificate, (state) => deleteFlags(state)),\r\n on(CertificateActions.deleteCertificateSuccess, (state, { Certificate }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Certificado eliminado correctamente...\",\r\n Certificates: [...state.Certificates],\r\n CurrentCertificate: null,\r\n })),\r\n on(CertificateActions.selectCertificate, (state, { Certificate }) => ({\r\n ...state,\r\n CurrentCertificate: Certificate\r\n })),\r\n on(CertificateActions.resetLoading, state => {\r\n return {\r\n ...state,\r\n Loading: false,\r\n };\r\n }),\r\n\r\n //---------------------------Query-----------------------------------------\r\n //--------------------------------------------------------------------------\r\n on(QueryActions.searchQueries, (state) => searchFlags(state)),\r\n on(QueryActions.searchQueriesSuccess, (state, { Queries }) => ({ ...state, Loading: false, Queries })),\r\n on(QueryActions.searchQueryOne, (state) => searchFlags(state)),\r\n on(QueryActions.searchQueryOneSuccess, (state, { QueryOne }) => ({ ...state, Loading: false, QueryOne })),\r\n on(QueryActions.createQuery, (state) => updateFlags(state)),\r\n on(QueryActions.createQuerySuccess, (state, { Query }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Consulta creada correctamente...\",\r\n Queries: [...state.Queries, Query],\r\n CurrentQuery: null,\r\n })),\r\n on(QueryActions.updateQuery, (state) => updateFlags(state)),\r\n on(QueryActions.updateQuerySuccess, (state, { Query }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Consulta actualizada correctamente...\",\r\n Queries: [...state.Queries, Query],\r\n CurrentQuery: Query,\r\n })),\r\n on(QueryActions.deleteQuery, (state) => deleteFlags(state)),\r\n on(QueryActions.deleteQuerySuccess, (state, { Query }) => ({\r\n ...state,\r\n Loading: false,\r\n Message: \"Consulta eliminada correctamente...\",\r\n Queries: [...state.Queries],\r\n CurrentQuery: null,\r\n })),\r\n on(QueryActions.selectQuery, (state, { Query }) => ({\r\n ...state,\r\n CurrentQuery: Query\r\n })),\r\n on(QueryActions.resetLoading, state => {\r\n return {\r\n ...state,\r\n Loading: false,\r\n };\r\n }),\r\n\r\n on(QueryActions.cleanQuery, (state, { QueryOne }) => ({ ...state, QueryOne: null, CertificatesFile: [] })),\r\n\r\n on(ConfigurationActions.configurationError, (state, { error }) => ({ ...state, Error:error, Loading: false })),\r\n);\r\n\r\nconst searchFlags = (state: State): State => {\r\n return {\r\n ...state,\r\n Error: null,\r\n Message: null,\r\n Loading: true,\r\n LoadingPolicy: true,\r\n LoadingCustomer: true,\r\n LoadingArea: true,\r\n }\r\n}\r\nconst updateFlags = (state: State): State => {\r\n return {\r\n ...state,\r\n Error: null,\r\n Loading: true,\r\n Message: null\r\n }\r\n}\r\nconst deleteFlags = (state: State): State => {\r\n return {\r\n ...state,\r\n Error: null,\r\n Loading: true,\r\n Message: null\r\n }\r\n}\r\nexport function reducer(state: State | undefined, action: Action) {\r\n return configurationReducer(state, action);\r\n}\r\n\r\nexport const getCustomers = (state: State) => state.Customers;\r\nexport const getCustomersAuthorization = (state: State) => state.CustomersAuthorization;\r\nexport const getCurrentCustomer = (state: State) => state.CurrentCustomer;\r\nexport const getLoadingCustomer = (state: State) => state.LoadingCustomer;\r\n\r\nexport const getPolicies = (state: State) => state.Policies;\r\nexport const getCurrentPolicy = (state: State) => state.CurrentPolicy;\r\nexport const getLoadingPolicy = (state: State) => state.LoadingPolicy\r\n\r\nexport const getCertificates= (state: State) => state.Certificates;\r\nexport const getCertificateStatus= (state: State) => state.CertificateStatus;\r\nexport const getCertificatesByState= (state: State) => state.CertificatesByState;\r\nexport const getCertificatesFile= (state: State) => state.CertificatesFile;\r\nexport const getCurrentCertificate = (state: State) => state.CurrentCertificate;\r\n\r\nexport const getCertificateHistoricals= (state: State) => state.CertificateHistoricals;\r\nexport const getCurrentCertificateHistorical = (state: State) => state.CurrentCertificateHistorical;\r\n\r\nexport const getCertificateTypes= (state: State) => state.CertificateTypes;\r\nexport const getCurrentCertificateType = (state: State) => state.CurrentCertificateType;\r\n\r\nexport const getRoles= (state: State) => state.Roles;\r\nexport const getCurrentRole = (state: State) => state.CurrentRole;\r\n\r\nexport const getAreas= (state: State) => state.Areas;\r\nexport const getCurrentArea = (state: State) => state.CurrentArea;\r\nexport const getLoadingArea = (state: State) => state.LoadingArea;\r\n\r\nexport const getGeneralConfigs= (state: State) => state.GeneralConfigs;\r\nexport const getCurrentGeneralConfig = (state: State) => state.CurrentGeneralConfig;\r\nexport const getLoadingGeneralConfig = (state: State) => state.LoadingGeneralConfig;\r\n\r\nexport const getQueries = (state: State) => state.Queries;\r\nexport const getCurrentQuery = (state: State) => state.CurrentQuery;\r\nexport const getQueryOne = (state: State) => state.QueryOne;\r\n\r\nexport const getError = (state: State) => state.Error;\r\nexport const getLoading = (state: State) => state.Loading;\r\nexport const getMessageAction = (state: State) => state.Message;\r\n","import {\r\n createSelector,\r\n createFeatureSelector,\r\n Action,\r\n ActionReducerMap,\r\n} from '@ngrx/store';\r\nimport { InjectionToken } from '@angular/core';\r\n\r\n/**\r\n * Every reducer module's default export is the reducer function itself. In\r\n * addition, each module should export a type or interface that describes\r\n * the state of the reducer plus any selector functions. The `* as`\r\n * notation packages up all of the exports into a single object.\r\n */\r\nimport * as fromAuth from './auth.reducer';\r\nimport * as fromConfiguration from './configuration.reducer';\r\nimport * as fromManagement from './management.reducer';\r\nimport * as fromViews from './views.reducer';\r\nimport * as fromAD from './ad.reducer';\r\n\r\n/**\r\n * As mentioned, we treat each reducer like a table in a database. This means\r\n * our top level state interface is just a map of keys to inner state types.\r\n */\r\nexport interface State {\r\n auth: fromAuth.State;\r\n configuration: fromConfiguration.State;\r\n ad: fromAD.State;\r\n management: fromManagement.State,\r\n views: fromViews.State\r\n}\r\n\r\nexport const ROOT_REDUCERS = new InjectionToken>\r\n ('Root reducers token', {\r\n factory: () => ({\r\n auth: fromAuth.reducer,\r\n configuration: fromConfiguration.reducer,\r\n ad: fromAD.reducer,\r\n management: fromManagement.reducer,\r\n views: fromViews.reducer\r\n }),\r\n });\r\n\r\n/**\r\n* Auth Reducers\r\n*/\r\nexport const getAuthState = createFeatureSelector(\r\n 'auth'\r\n);\r\n\r\nexport const getLoggedIn = createSelector(\r\n getAuthState,\r\n fromAuth.getLoggedIn\r\n);\r\n\r\nexport const getUser = createSelector(\r\n getAuthState,\r\n fromAuth.getUser\r\n);\r\n\r\nexport const getLoginPageError = createSelector(\r\n getAuthState,\r\n fromAuth.getError\r\n);\r\nexport const getAuthLoading = createSelector(\r\n getAuthState,\r\n fromAuth.getAuthLoading\r\n);\r\n\r\n\r\n//#region Reducers de las listas de configuración\r\nexport const getConfigutarionState = createFeatureSelector(\r\n 'configuration'\r\n);\r\n\r\nexport const getErrorConfiguration = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getError\r\n);\r\nexport const isLoadingConfiguration = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getLoading\r\n);\r\n\r\nexport const getMessageConfiguration = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getMessageAction\r\n);\r\n\r\n\r\n// Customer\r\n\r\nexport const getCustomers = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCustomers\r\n);\r\nexport const getCustomersAuthorization = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCustomersAuthorization\r\n);\r\nexport const getCurrentCustomer = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCurrentCustomer\r\n);\r\nexport const getLoadingCustomer = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getLoadingCustomer\r\n);\r\n\r\n// Policy\r\n\r\nexport const getPolicies = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getPolicies\r\n);\r\nexport const getCurrentPolicy = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCurrentPolicy\r\n);\r\nexport const getLoadingPolicy = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getLoadingPolicy\r\n);\r\n\r\n// Certificate\r\n\r\nexport const getCertificates = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCertificates\r\n);\r\nexport const getCertificateStatus = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCertificateStatus\r\n);\r\nexport const getCertificatesByState = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCertificatesByState\r\n);\r\nexport const getCertificatesFile = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCertificatesFile\r\n);\r\nexport const getCurrentCertificate = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCurrentCertificate\r\n);\r\n\r\n// CertificateHistorical\r\n\r\nexport const getCertificateHistoricals = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCertificateHistoricals\r\n);\r\nexport const getCurrentCertificateHistorical = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCurrentCertificateHistorical\r\n);\r\n\r\n// CertificateType\r\n\r\nexport const getCertificateTypes = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCertificateTypes\r\n);\r\nexport const getCurrentCertificateType = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCurrentCertificateType\r\n);\r\n\r\n// Role\r\n\r\nexport const getRoles = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getRoles\r\n);\r\nexport const getCurrentRole = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCurrentRole\r\n);\r\n\r\n// Area\r\n\r\nexport const getAreas = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getAreas\r\n);\r\nexport const getCurrentArea = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCurrentArea\r\n);\r\nexport const getLoadingArea = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getLoadingArea\r\n);\r\n\r\n// GeneralConfig\r\n\r\nexport const getGeneralConfigs = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getGeneralConfigs\r\n);\r\nexport const getCurrentGeneralConfig = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCurrentGeneralConfig\r\n);\r\nexport const getLoadingGeneralConfig = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getLoadingGeneralConfig\r\n);\r\n\r\n// Query\r\n\r\nexport const getQueries = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getQueries\r\n);\r\nexport const getCurrentQuery = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getCurrentQuery\r\n);\r\n\r\nexport const getQueryOne = createSelector(\r\n getConfigutarionState,\r\n fromConfiguration.getQueryOne\r\n);\r\n\r\n//#endregion Reducers de las listas de configuración\r\n\r\n\r\n/**\r\n* active directory reducers\r\n*/\r\nexport const getADState = createFeatureSelector(\r\n 'ad'\r\n);\r\n\r\nexport const getADUsers = createSelector(\r\n getADState,\r\n fromAD.getADUsers\r\n);\r\nexport const getLoadingAD = createSelector(\r\n getADState,\r\n fromAD.getLoadingAD\r\n);\r\n\r\n\r\n/**\r\n* Management Reducers\r\n*/\r\nexport const getManagementState = createFeatureSelector(\r\n 'management'\r\n);\r\n\r\nexport const getErrorManagement = createSelector(\r\n getManagementState,\r\n fromManagement.getError\r\n);\r\nexport const isLoadingManagement = createSelector(\r\n getManagementState,\r\n fromManagement.getLoading\r\n);\r\n\r\nexport const getMessageManagement = createSelector(\r\n getManagementState,\r\n fromManagement.getMessageAction\r\n);\r\n\r\nexport const getCasefiles = createSelector(\r\n getManagementState,\r\n fromManagement.getCaseFile\r\n);\r\nexport const getCurrentCasefile = createSelector(\r\n getManagementState,\r\n fromManagement.getCurrentCasefile\r\n);\r\n\r\n\r\n// Views reducers-----------------------------------------------\r\n\r\nexport const getViewsState = createFeatureSelector(\r\n 'views'\r\n);\r\n\r\nexport const getMyConfidentials = createSelector(\r\n getViewsState,\r\n fromViews.getMyConfidentials\r\n);\r\n\r\n","import { Action, createReducer, on } from '@ngrx/store';\r\n\r\nimport * as CasefileActions from '@actions/management/casefile.actions';\r\n\r\nimport * as ConfigurationActions from '@actions/configuration.actions';\r\nimport { CasefileModel } from '@models/management/casefile.model';\r\n\r\nexport interface State {\r\n casefiles: CasefileModel[];\r\n currentCasefile: CasefileModel;\r\n error: string | null;\r\n loading: boolean;\r\n message: string | null\r\n}\r\n\r\nexport const initialState: State = {\r\n casefiles: [],\r\n currentCasefile: null,\r\n error: null,\r\n loading: true,\r\n message: null\r\n};\r\n\r\n\r\nconst configurationReducer = createReducer(\r\n initialState,\r\n //**************************** CaseFiles ************************************* */\r\n on(CasefileActions.searchCasefiles, (state) => ({ ...state, error: null, loading: true })),\r\n on(CasefileActions.searchCasefilesSuccess, (state, { casefiles }) => ({ ...state, loading: false, casefiles })),\r\n on(CasefileActions.historicalCaseFile, (state) => ({ ...state, error: null, loading: true })),\r\n on(CasefileActions.historicalCaseFileSuccess, (state, { casefiles }) => ({ ...state, loading: false, casefiles })),\r\n on(CasefileActions.createCasefile, (state) => updateFlags(state)),\r\n on(CasefileActions.createCasefileSuccess, (state, { casefile }) => ({\r\n ...state,\r\n loading: false,\r\n message: \"Disposicion creada correctamente...\",\r\n Casefile: [...state.casefiles, casefile]\r\n })),\r\n on(CasefileActions.updateCasefile, (state) => updateFlags(state)),\r\n on(CasefileActions.updateCasefileSuccess, (state, { casefile }) => {\r\n const filter = state\r\n .casefiles\r\n .filter(item => item.RowKey !== casefile.RowKey)\r\n return {\r\n ...state,\r\n loading: false,\r\n message: \"Disposicion actualizada correctamente...\",\r\n dispositions: [...filter, casefile],\r\n currentCasefile: null,\r\n }\r\n }),\r\n on(CasefileActions.deleteCasefile, (state) => deleteFlags(state)),\r\n on(CasefileActions.deleteCasefileSuccess, (state, { Casefile }) => {\r\n const filter = state\r\n .casefiles\r\n .filter(item => item.RowKey !== Casefile.RowKey)\r\n return {\r\n ...state,\r\n loading: false,\r\n message: \"Tipo de organización eliminado correctamente...\",\r\n Casefiles: [...filter, Casefile],\r\n currentCasefile: null,\r\n }\r\n }),\r\n on(CasefileActions.selectCasefile, (state, { casefile }) => ({\r\n ...state,\r\n currentCasefile: casefile\r\n })),\r\n\r\n \r\n);\r\n\r\n//********************************************************************************************************** */\r\nconst updateFlags = (state: State): State => {\r\n return {\r\n ...state,\r\n error: null,\r\n loading: true,\r\n message: null\r\n }\r\n}\r\nconst deleteFlags = (state: State): State => {\r\n return {\r\n ...state,\r\n error: null,\r\n loading: true,\r\n message: null\r\n }\r\n}\r\n\r\nexport function reducer(state: State | undefined, action: Action) {\r\n return configurationReducer(state, action);\r\n}\r\n\r\n\r\nexport const getCaseFile = (state: State) => state.casefiles;\r\nexport const getCurrentCasefile = (state: State) => state.currentCasefile;\r\n\r\nexport const getError = (state: State) => state.error;\r\nexport const getLoading = (state: State) => state.loading;\r\nexport const getMessageAction = (state: State) => state.message;\r\n","import { Action, createReducer, on } from '@ngrx/store';\r\nimport { ViewActions } from '@actions/views/index';\r\n\r\nexport interface State {\r\n myConfidentials: any[];\r\n}\r\n\r\nexport const initialState: State = {\r\n myConfidentials: [],\r\n};\r\n\r\n\r\nconst adReducer = createReducer(\r\n initialState,\r\n on(ViewActions.getMyConfidentialsAction, (state) => ({ ...state, error: null, loading: true })),\r\n on(ViewActions.getMyConfidentialsSuccessAction, (state, { data }) => ({ ...state, loading: false, data })),\r\n);\r\n\r\n\r\nexport function reducer(state: State | undefined, action: Action) {\r\n return adReducer(state, action);\r\n}\r\n\r\nexport const getMyConfidentials = (state: State) => state.myConfidentials;","import { Validators } from \"@angular/forms\";\r\nimport {\r\n SpecialFormGroup,\r\n SpecialFormControl,\r\n FieldDescriptor,\r\n controlTypes,\r\n SpecialFormArray\r\n} from \"./SpecialForms\";\r\n\r\nexport const SpecialFormGenerator = (\r\n fields: FieldDescriptor[]\r\n): SpecialFormGroup => {\r\n const form = new SpecialFormGroup({});\r\n fields.forEach(field => {\r\n let validations: Array = [];\r\n //if(field.hidden!=true){\r\n\r\n\r\n if (field.type === controlTypes.array) {\r\n if (field.data[0] instanceof Array) {\r\n const auxForm = SpecialFormGenerator(field.data[0]);\r\n form.addControl(field.name,\r\n new SpecialFormArray(field, auxForm, [], field.required ? arrayLengthRequired : undefined));\r\n }\r\n } else if (field.type === controlTypes.form) {\r\n if (field.data[0] instanceof Array) {\r\n const auxForm = SpecialFormGenerator(field.data[0]);\r\n form.addControl(field.name, auxForm);\r\n }\r\n } else {\r\n if (field.required) validations.push(Validators.required);\r\n if (field.length) validations.push(Validators.maxLength(field.length));\r\n validations = validations.concat(field.validations);\r\n form.addControl(\r\n field.name,\r\n new SpecialFormControl(field, field.defect, validations)\r\n );\r\n }\r\n //}\r\n });\r\n return form;\r\n}\r\nexport const fieldDataToArray = (fields: Object): FieldDescriptor[] =>\r\n Object.keys(fields).map(name =>\r\n setDefectFieldOptions(Object.assign({ \"name\": name }, fields[name])));\r\n\r\nexport const setDefectFieldOptions = (field: FieldDescriptor): FieldDescriptor =>\r\n Object.assign({\r\n label: \"\",\r\n length: 0,\r\n order: 0,\r\n name: name,\r\n defect: \"\",\r\n required: true,\r\n readOnly: false,\r\n data: [],\r\n validations: [],\r\n type: controlTypes.text,\r\n hidden: false,\r\n }, field);\r\n\r\n\r\n\r\nexport const dateFormat = (dateTime: Date) => {\r\n const date = dateTime.toISOString().split(\"T\")[0];\r\n const time = dateTime.toTimeString().split(\" \")[0];\r\n return date + \" \" + time;\r\n};\r\n\r\nexport const getDaysRemaining = (createDate: number, time: number) => {\r\n const today = new Date().getTime();\r\n const timeDif = Math.round((today - createDate) / (86400000));\r\n return +time - timeDif;\r\n};\r\n\r\n\r\n\r\nexport const arrayLengthRequired = aux => {\r\n if (aux.value.length) {\r\n return null;\r\n }\r\n return { noItems: \"no hay ningun item seleccionado\" };\r\n};\r\n","import {\r\n FormControl,\r\n AsyncValidatorFn,\r\n ValidatorFn,\r\n FormGroup,\r\n AbstractControl,\r\n Validators,\r\n FormArray\r\n} from \"@angular/forms\";\r\nimport * as _ from \"lodash\";\r\n\r\nexport enum controlTypes {\r\n text = 'text',\r\n state = 'state',\r\n textCount = 'textCount',\r\n pkey = 'pkey',\r\n longText = 'longText',\r\n mask = 'mask',\r\n dropdown = 'dropdown',\r\n dropdownMultiple = 'dropdownMultiple',\r\n dropdownMultipleSearch = 'dropdownMultipleSearch',\r\n readOnly = 'readOnly',\r\n date = 'date',\r\n time = 'time',\r\n boolean = 'boolean',\r\n radio = 'radio',\r\n file = 'file',\r\n autocomplete = 'autocomplete',\r\n array = 'array',\r\n numeric = 'numeric',\r\n form = 'form',\r\n chips = 'chips',\r\n chipsText = 'chipsText',\r\n hidden = 'hidden',\r\n actions = 'actions',\r\n buttonLink = 'buttonLink',\r\n richtext = 'richtext',\r\n picklist = 'picklist',\r\n belongDiploma = 'belongDiploma',\r\n attachment = 'attachment',\r\n fullcalendar = 'fullcalendar',\r\n imagePicker = 'imagePicker',\r\n imagePresenter = 'imagePresenter',\r\n schedule = 'schedule',\r\n school = 'school',\r\n student = 'student',\r\n showItem = 'showItem',\r\n showMenu = 'showMenu',\r\n autocompleteLocal = 'autocompleteLocal',\r\n hyperLink = 'hyperLink'\r\n\r\n}\r\nexport interface FieldDescriptor {\r\n idType?: string;\r\n label?: string;\r\n length?: number;\r\n order?: number;\r\n name?: string;\r\n defect?: any;\r\n required?: boolean;\r\n complement?: Object;\r\n readOnly?: boolean;\r\n hidden?: boolean;\r\n validations?: Array;\r\n tooltip?: string;\r\n data?: any;\r\n richtext?: any;\r\n type?:\r\n | controlTypes.pkey\r\n | controlTypes.text\r\n | controlTypes.state\r\n | controlTypes.textCount\r\n | controlTypes.longText\r\n | controlTypes.mask\r\n | controlTypes.readOnly\r\n | controlTypes.dropdown\r\n | controlTypes.dropdownMultiple\r\n | controlTypes.dropdownMultipleSearch\r\n | controlTypes.date\r\n | controlTypes.time\r\n | controlTypes.boolean\r\n | controlTypes.radio\r\n | controlTypes.file\r\n | controlTypes.array\r\n | controlTypes.form\r\n | controlTypes.chips\r\n | controlTypes.chipsText\r\n | controlTypes.autocomplete\r\n | controlTypes.numeric\r\n | controlTypes.actions\r\n | controlTypes.buttonLink\r\n | controlTypes.richtext\r\n | controlTypes.picklist\r\n | controlTypes.belongDiploma\r\n | controlTypes.attachment\r\n | controlTypes.imagePicker\r\n | controlTypes.imagePresenter\r\n | controlTypes.schedule\r\n | controlTypes.school\r\n | controlTypes.student\r\n | controlTypes.autocompleteLocal\r\n | controlTypes.hyperLink\r\n}\r\n\r\nexport class SpecialFormControl extends FormControl {\r\n public label: string = \"\";\r\n public name: string = \"\";\r\n public tooltip: string = \"\";\r\n public defect: any = \"\";\r\n public order: number = 0;\r\n public complement: Object = {};\r\n public complementValue: Object = {};\r\n public validations: Array = [];\r\n public data: any[] = [];\r\n public type: string = \"text\";\r\n public readOnly = false;\r\n public hidden = false;\r\n public required = false;\r\n public validatorsBuffer: ValidatorFn | ValidatorFn[] | null;\r\n\r\n constructor(\r\n configObject: FieldDescriptor,\r\n formState?: any,\r\n validatorOrOpts?: ValidatorFn | ValidatorFn[] | null,\r\n asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null\r\n ) {\r\n super(formState, validatorOrOpts, asyncValidator);\r\n this.defect = formState;\r\n Object.assign(this, configObject);\r\n this.validatorsBuffer = validatorOrOpts;\r\n }\r\n\r\n //Setea si el control es de solo lecturaF\r\n setReadOnly(status: boolean) {\r\n this.readOnly = status;\r\n status ? this.disable() : this.enable();\r\n }\r\n\r\n /**\r\n * Método que permite agregar una validacion sin perder las anteriores\r\n * @param Validation\r\n */\r\n\r\n setSpecialValidation(Validation: ValidatorFn) {\r\n if (this.validatorsBuffer instanceof Array) {\r\n let requiredIndex = this.validatorsBuffer.findIndex(\r\n item => item === Validation\r\n );\r\n if (requiredIndex == -1) {\r\n this.validatorsBuffer.push(Validators.required);\r\n this.setValidators(this.validatorsBuffer);\r\n }\r\n }\r\n }\r\n\r\n changeData(newData: any[]) {\r\n this.data = newData;\r\n }\r\n\r\n /**\r\n * Método que permite eliminar una de las validaciones que se tiene.\r\n * @param Validation\r\n */\r\n\r\n deleteSpecialValidation(Validation: ValidatorFn) {\r\n if (this.validatorsBuffer instanceof Array) {\r\n let requiredIndex = this.validatorsBuffer.findIndex(\r\n item => item === Validation\r\n );\r\n if (requiredIndex != -1) {\r\n this.validatorsBuffer.splice(requiredIndex, 1);\r\n this.setValidators(this.validatorsBuffer);\r\n }\r\n }\r\n }\r\n //setea el requerido al control\r\n\r\n setRequired(status: boolean) {\r\n this.required = status;\r\n if (this.validatorsBuffer instanceof Array) {\r\n let requiredIndex = this.validatorsBuffer.findIndex(\r\n item => item === Validators.required\r\n );\r\n if (requiredIndex == -1 && status) {\r\n this.validatorsBuffer.push(Validators.required);\r\n this.setValidators(this.validatorsBuffer);\r\n } else if (requiredIndex != -1 && !status) {\r\n this.validatorsBuffer.splice(requiredIndex, 1);\r\n this.setValidators(this.validatorsBuffer);\r\n }\r\n }\r\n }\r\n\r\n specialReset() {\r\n this.setValue(this.defect);\r\n }\r\n\r\n setComplement(data) {\r\n Object.keys(this.complement).forEach((key) => {\r\n this.complementValue[key] = data[this.complement[key]];\r\n })\r\n }\r\n\r\n}\r\n\r\nexport class SpecialFormGroup extends FormGroup {\r\n constructor(\r\n controls: {\r\n [key: string]: SpecialFormControl;\r\n },\r\n validatorOrOpts?: ValidatorFn | ValidatorFn[] | null,\r\n asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null,\r\n ) {\r\n super(controls, validatorOrOpts, asyncValidator);\r\n }\r\n\r\n unpristineRequired() {\r\n let auxReset = {};\r\n for (let key in this.controls) {\r\n if (this.controls[key] instanceof SpecialFormControl) {\r\n if (!(this.controls[key]).valid) {\r\n (this.controls[key]).markAsDirty();\r\n }\r\n } else if (this.controls[key] instanceof SpecialFormArray) {\r\n (this.controls[key]).unpristineRequired();\r\n }\r\n }\r\n }\r\n\r\n specialReset() {\r\n let auxReset = {};\r\n for (let key in this.controls) {\r\n if (this.controls[key] instanceof SpecialFormControl) {\r\n auxReset[key] = (this.controls[key]).defect;\r\n // (this.controls[key]).markAsPristine();\r\n } else if (this.controls[key] instanceof SpecialFormArray) {\r\n (this.controls[key]).specialDelete();\r\n }\r\n }\r\n this.reset(auxReset);\r\n }\r\n\r\n /**\r\n * donde value es el objeto semilla y detailForm es un arreglo de form key para dar un marco al formarray\r\n */\r\n\r\n specialResetWithValue(value) {\r\n this.reset(value);\r\n for (let key in this.controls) {\r\n if (this.controls[key] instanceof SpecialFormArray) {\r\n (this.controls[key]).fillFormArray(value[key]);\r\n }\r\n }\r\n }\r\n\r\n getIdPkey(): SpecialFormControl {\r\n for (let key in this.controls) {\r\n if (this.controls[key] instanceof SpecialFormControl) {\r\n if ((this.controls[key]).type == controlTypes.pkey) {\r\n return this.controls[key];\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n setReadonly(fieldsObject) {\r\n Object.keys(fieldsObject).map((key) => {\r\n if (this.controls[key] instanceof SpecialFormControl) {\r\n (this.controls[key]).setReadOnly(fieldsObject[key]);\r\n }\r\n });\r\n }\r\n\r\n getComplements() {\r\n let buffer = {};\r\n for (let key in this.controls) {\r\n if (this.controls[key] instanceof SpecialFormControl) {\r\n buffer = { ...buffer, ...(this.controls[key]).complementValue }\r\n }\r\n }\r\n return buffer;\r\n }\r\n\r\n \r\n}\r\n\r\nexport class SpecialFormArray extends FormArray {\r\n public label: string = \"\";\r\n public tooltip: string = \"\";\r\n public data: string[];\r\n public readOnly = false;\r\n public form: SpecialFormGroup;\r\n public required = false;\r\n public validatorsBuffer: ValidatorFn | ValidatorFn[] | null;\r\n constructor(\r\n configObject: FieldDescriptor,\r\n form: SpecialFormGroup,\r\n controls: AbstractControl[],\r\n validatorOrOpts?: ValidatorFn | ValidatorFn[] | null,\r\n asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null\r\n ) {\r\n super(controls, validatorOrOpts, asyncValidator);\r\n this.label = configObject.label;\r\n this.form = form;\r\n this.required = configObject.required;\r\n this.validatorsBuffer = validatorOrOpts;\r\n }\r\n\r\n specialDelete() {\r\n let length = this.controls.length;\r\n for (let i = 0; i < length; i++) {\r\n this.removeAt(0);\r\n }\r\n }\r\n\r\n fillFormArray(data: Array) {\r\n this.specialDelete();\r\n data.forEach(item => {\r\n this.form.specialResetWithValue(item);\r\n this.push(_.cloneDeep(this.form));\r\n });\r\n this.form.reset();\r\n }\r\n\r\n SpecialPush(index?) {\r\n if (index == null || index == undefined) this.push(_.cloneDeep(this.form));\r\n else this.controls[index].reset(this.form.value);\r\n }\r\n\r\n editControl(index: number) {\r\n this.form.reset(this.controls[index].value);\r\n }\r\n\r\n unpristineRequired() {\r\n this.markAsDirty();\r\n this.controls.forEach(item => {\r\n if (item instanceof SpecialFormGroup) {\r\n }\r\n (item).unpristineRequired();\r\n });\r\n }\r\n\r\n // recursiveFillForm(form: FormGroup, data: Object): FormGroup {\r\n // for (let key in form.controls) {\r\n // let control = form.controls[key];\r\n // if (control instanceof FormControl) {\r\n // control.setValue(data[key])\r\n // } else if (control instanceof FormArray) {\r\n // data[key].forEach(element => {\r\n\r\n // });\r\n // } else if (control instanceof FormGroup) {\r\n // control.reset(data[key])\r\n // }\r\n // }\r\n // return form;\r\n // }\r\n}\r\n","// https://gist.github.com/mikelehen/3596a30bd69384624c11\r\n/**\r\n * Fancy ID generator that creates 20-character string identifiers with the following properties:\r\n *\r\n * 1. They're based on timestamp so that they sort *after* any existing ids.\r\n * 2. They contain 72-bits of random data after the timestamp so that IDs won't collide with other clients' IDs.\r\n * 3. They sort *lexicographically* (so the timestamp is converted to characters that will sort properly).\r\n * 4. They're monotonically increasing. Even if you generate more than one in the same timestamp, the\r\n * latter ones will sort after the former ones. We do this by using the previous random bits\r\n * but \"incrementing\" them by 1 (only in the case of a timestamp collision).\r\n */\r\n\r\nexport class UniqueIdGenerator {\r\n\r\n // Timestamp of last push, used to prevent local collisions if you push twice in one ms.\r\n private static lastPushTime = 0;\r\n\r\n // Modeled after base64 web-safe chars, but ordered by ASCII.\r\n private static PUSH_CHARS = '-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz';\r\n\r\n // We generate 72-bits of randomness which get turned into 12 characters and appended to the\r\n // timestamp to prevent collisions with other clients. We store the last characters we\r\n // generated because in the event of a collision, we'll use those same characters except\r\n // \"incremented\" by one.\r\n private static lastRandChars = [];\r\n\r\n // Generates chronologically orderable unique string one by one\r\n public static generate() {\r\n let now = new Date().getTime();\r\n const duplicateTime = (now === UniqueIdGenerator.lastPushTime);\r\n UniqueIdGenerator.lastPushTime = now;\r\n\r\n const timeStampChars = new Array(8);\r\n // tslint:disable-next-line:no-var-keyword\r\n for (var i = 7; i >= 0; i--) {\r\n timeStampChars[i] = UniqueIdGenerator.PUSH_CHARS.charAt(now % 64);\r\n // NOTE: Can't use << here because javascript will convert to int and lose the upper bits.\r\n now = Math.floor(now / 64);\r\n }\r\n if (now !== 0) { throw new Error('We should have converted the entire timestamp.'); }\r\n\r\n let id = timeStampChars.join('');\r\n\r\n if (!duplicateTime) {\r\n for (i = 0; i < 12; i++) {\r\n UniqueIdGenerator.lastRandChars[i] = Math.floor(Math.random() * 64);\r\n }\r\n } else {\r\n // If the timestamp hasn't changed since last push, use the same random number, except incremented by 1.\r\n for (i = 11; i >= 0 && UniqueIdGenerator.lastRandChars[i] === 63; i--) {\r\n UniqueIdGenerator.lastRandChars[i] = 0;\r\n }\r\n UniqueIdGenerator.lastRandChars[i]++;\r\n }\r\n for (i = 0; i < 12; i++) {\r\n id += UniqueIdGenerator.PUSH_CHARS.charAt(UniqueIdGenerator.lastRandChars[i]);\r\n }\r\n if (id.length !== 20) { throw new Error('Length should be 20.'); }\r\n\r\n return id;\r\n }\r\n}\r\n","import { environment } from '@environments/environment';\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\nexport function appInsightsFactory(): ApplicationInsights {\r\n return new ApplicationInsights({\r\n config: {\r\n instrumentationKey: environment.INSTRUMENTATION_KEY\r\n }\r\n });\r\n}","import { UserModel } from \"../models/user.model\";\r\nimport { MenuItemModel } from '@models/menu-item.model';\r\n\r\nexport const emptyUser = (): UserModel => {\r\n return {\r\n fullName: 'Carolina Ortega',\r\n email: '',\r\n firstName: '',\r\n lastName: '',\r\n uid: '',\r\n photoURL: '',\r\n };\r\n};\r\nexport const navBarOptions = (): MenuItemModel[] => {\r\n return [\r\n {\r\n route: ['auth', 'login'],\r\n icon: 'person'\r\n },\r\n {\r\n route: ['auth', 'sign-up'],\r\n icon: 'group_add'\r\n },\r\n {\r\n route: ['home', 'news'],\r\n icon: 'autorenew'\r\n }]\r\n}\r\n\r\nexport var menuItemsData = ():MenuItemModel[]=>{return []};\r\n\r\nvar area:string = localStorage.getItem(\"access\");\r\nif (area != null) {\r\n if (area === 'Configuración') {\r\n menuItemsData = (): MenuItemModel[] => {\r\n return [\r\n {\r\n name: 'Inicio',\r\n icon: 'home',\r\n route: ['home', '']\r\n },\r\n {\r\n name: 'Configuración',\r\n icon: 'settings',\r\n children: [\r\n {\r\n name: 'Clientes',\r\n icon: 'settings',\r\n route: ['configuration', 'customers']\r\n },\r\n {\r\n name: 'Áreas',\r\n icon: 'settings',\r\n route: ['configuration', 'areas']\r\n },\r\n {\r\n name: 'Lista Tipos de Certificados',\r\n icon: 'settings',\r\n route: ['configuration', 'certificates-types-preview']\r\n },\r\n {\r\n name: 'Configuraciones generales',\r\n icon: 'settings',\r\n route: ['configuration', 'general-configs']\r\n },\r\n ]\r\n },\r\n ]\r\n };\r\n } else if (area === 'Administración') {\r\n menuItemsData = (): MenuItemModel[] => {\r\n return [\r\n {\r\n name: 'Inicio',\r\n icon: 'home',\r\n route: ['home', '']\r\n },\r\n {\r\n name: 'Administración',\r\n icon: 'list',\r\n children: [\r\n {\r\n name: 'Lista de certificados solicitados',\r\n icon: 'list',\r\n route: ['configuration', 'certificates-preview']\r\n },\r\n ]\r\n },\r\n ]\r\n };\r\n }else{\r\n /* menuItemsData = (): MenuItemModel[] => {\r\n return [\r\n {\r\n name: 'Inicio',\r\n icon: 'home',\r\n route: ['configuration', '']\r\n },\r\n ]\r\n }; */\r\n }\r\n}\r\n","/**\r\n * Archivo utilizado para configurar la estrategía predeterminada\r\n * para la política de reintentos dentro de las peticiones http\r\n */\r\n\r\nimport { Observable, timer, of } from 'rxjs'\r\nimport { HttpErrorResponse } from '@angular/common/http'\r\nimport { delayWhen, mergeMap } from 'rxjs/operators'\r\nimport { environment } from '@environments/environment'\r\nimport { RetryModel } from '@models/common/retry.model'\r\n\r\nexport const genericRetryStrategy =({\r\n maxRetryAttempts = environment.MAX_RETRY_ERRORS,\r\n duration = environment.ERROR_DELAY,\r\n excludedStatusCodes = environment.EXCLUDED_STATUS_CODE,\r\n flagConsole = environment.DEBUG_LOG,\r\n nameRequest = \"\",\r\n consoleAux = \"\"\r\n}: RetryModel = {}) => {\r\n return (errors$: Observable) => {\r\n return errors$.pipe(\r\n delayWhen(() => timer(Number(duration))),\r\n mergeMap((error: HttpErrorResponse, i) => {\r\n const retryAttempt = i + 1;\r\n if (retryAttempt > maxRetryAttempts || excludedStatusCodes.find(e => e === error.status)) {\r\n throw error;\r\n }\r\n return of(null)\r\n }),\r\n )\r\n } \r\n}","import { SpecialFormGroup, SpecialFormControl } from \"@utilities/SpecialForms\";\r\nimport { CustomerModel } from \"@models/configuration/customer.model\";\r\nimport {\r\n Validators,\r\n ValidatorFn,\r\n AbstractControl,\r\n ValidationErrors,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { isNullOrUndefined } from \"util\";\r\n\r\nexport class Validations {\r\n public static addValidations(\r\n form: SpecialFormGroup,\r\n customers: CustomerModel[],\r\n key: string\r\n ): void {\r\n const emailControl = form.get(\"email\");\r\n\r\n let myCustomers: CustomerModel[] = [];\r\n if (key) {\r\n myCustomers = customers.filter((i) => i.id !== parseInt(key));\r\n } else {\r\n myCustomers = customers;\r\n }\r\n console.log(\"LLAMA VALIDACIONES\", myCustomers);\r\n\r\n if (emailControl && myCustomers && customers.length > 0) {\r\n emailControl.setValidators([\r\n Validators.email,\r\n //this.repeatedEmailAreaValidator(myCustomers),\r\n ]);\r\n } else {\r\n emailControl.setValidators([\r\n Validators.email,\r\n //this.repeatedEmailAreaValidator(myCustomers),\r\n ]);\r\n }\r\n }\r\n\r\n // Validador de nombre repetido\r\n private static repeatedNameValidator(list: CustomerModel[]): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n try {\r\n const emailVerify = (control.value as string).trim().toLowerCase();\r\n console.log(list);\r\n const emailList = list\r\n .filter((i) => !isNullOrUndefined(i.email))\r\n .map((i) => i.email.toLowerCase());\r\n const result = emailList.includes(emailVerify);\r\n console.log(emailVerify);\r\n console.log(emailList);\r\n console.log(result);\r\n return result ? { repeatedName: \"Email repetido\" } : null;\r\n } catch {\r\n const emailVerify = null;\r\n const emailList = list\r\n .filter((i) => !isNullOrUndefined(i.email))\r\n .map((i) => i.email.toLowerCase());\r\n const result = emailList.includes(emailVerify);\r\n return result ? { repeatedName: \"Email repetido\" } : null;\r\n }\r\n };\r\n }\r\n\r\n public static repeatedEmailAreaValidator(\r\n control: AbstractControl,\r\n list: CustomerModel[],\r\n form?: CustomerModel\r\n ): ValidatorFn {\r\n console.log(form);\r\n /* var result: any;\r\n if (form.name && form.idArea) {\r\n result = this.validationEmailArea(\r\n form.name,\r\n form.idArea.toString(),\r\n list\r\n );\r\n } else {\r\n result = false;\r\n }\r\n console.log(result); */\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n let email = form.name ? form.name : null;\r\n let idArea = form.idArea ? form.idArea.toString() : null;\r\n console.log(email, idArea);\r\n const emailVerify = (email as string).trim().toLowerCase();\r\n const idAreaVerify = (idArea as string).trim().toLowerCase();\r\n let newList = list.map((i) => {\r\n return {\r\n email: i.email ? i.email.toString() : null,\r\n idArea: i.email ? i.idArea.toString() : null,\r\n };\r\n });\r\n const emailList = newList\r\n .filter(\r\n (i) => !isNullOrUndefined(i.email) && !isNullOrUndefined(i.idArea)\r\n )\r\n .map((i) => i.email.toLowerCase() + i.idArea.toLowerCase());\r\n\r\n //console.log(emailList);\r\n const emailAreaFind =\r\n emailVerify.toLowerCase() + idAreaVerify.toLowerCase();\r\n //console.log(emailAreaFind);\r\n var result: any;\r\n result = emailList.includes(emailAreaFind);\r\n //console.log(result);\r\n return result ? { repeatedName: \"Email repetido\" } : null;\r\n };\r\n }\r\n\r\n public static validationEmailArea(\r\n email: string,\r\n idArea: string,\r\n list: CustomerModel[]\r\n ): any {\r\n //console.log(email, idArea);\r\n email = email ? email : null;\r\n idArea = idArea ? idArea.toString() : null;\r\n var result: boolean = false;\r\n if(email && idArea){\r\n const emailVerify = (email as string).trim().toLowerCase();\r\n const idAreaVerify = (idArea as string).trim().toLowerCase();\r\n let newList = list.map((i) => {\r\n return {\r\n email: i.email ? i.email.toString() : null,\r\n idArea: i.email ? i.idArea.toString() : null,\r\n };\r\n });\r\n const emailList = newList\r\n .filter(\r\n (i) => !isNullOrUndefined(i.email) && !isNullOrUndefined(i.idArea)\r\n )\r\n .map((i) => i.email.toLowerCase() + i.idArea.toLowerCase());\r\n \r\n //console.log(emailList);\r\n const emailAreaFind =\r\n emailVerify.toLowerCase() + idAreaVerify.toLowerCase();\r\n //console.log(emailAreaFind);\r\n result = emailList.includes(emailAreaFind);\r\n //console.log(result);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public static addValidationsAutoComplete(\r\n control: FormControl,\r\n message: any\r\n ): void {\r\n console.log(control);\r\n\r\n if (control) {\r\n control.setValidators([this.validatorsAutoComplete(message)]);\r\n }\r\n }\r\n\r\n private static validatorsAutoComplete(message: any): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n try {\r\n return message ? message : null;\r\n } catch {\r\n return message ? message : null;\r\n }\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgxDropzoneModule } from 'ngx-dropzone';\r\nconst MAT_DATE_FORMATS =\"\";\r\nimport {\r\n MatFormFieldModule,\r\n MatToolbarModule,\r\n MatTreeModule,\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatRadioModule,\r\n MatCardModule,\r\n MatInputModule,\r\n MatSlideToggleModule,\r\n MatDialogModule,\r\n MatSidenavModule,\r\n MatStepperModule,\r\n MatSnackBarModule,\r\n MatTableModule,\r\n MatExpansionModule,\r\n MatDatepickerModule,\r\n MatIconModule,\r\n MatSelectModule,\r\n MatAutocompleteModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatRippleModule,\r\n MatProgressSpinnerModule,\r\n MatChipsModule,\r\n MatTabsModule,\r\n MatListModule,\r\n NativeDateModule,\r\n MatMenuModule,\r\n MatButtonToggleModule,\r\n MatTooltipModule,\r\n} from '@angular/material';\r\nimport { TextMaskModule } from 'angular2-text-mask';\r\n\r\nconst MATERIAL_MODULE = [\r\n TextMaskModule,\r\n MatDialogModule, \r\n MatFormFieldModule,\r\n MatToolbarModule,\r\n MatButtonModule, \r\n MatInputModule,\r\n NgxDropzoneModule,\r\n MatRippleModule,\r\n MatFormFieldModule,\r\n MatTreeModule,\r\n MatNativeDateModule,\r\n MatDatepickerModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatRadioModule,\r\n MatCardModule,\r\n MatInputModule,\r\n MatSlideToggleModule,\r\n MatDialogModule,\r\n MatSidenavModule,\r\n MatStepperModule,\r\n MatSnackBarModule,\r\n MatTableModule,\r\n MatExpansionModule,\r\n MatIconModule,\r\n MatSelectModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatProgressSpinnerModule,\r\n MatChipsModule,\r\n MatTabsModule,\r\n MatListModule,\r\n NativeDateModule,\r\n MatMenuModule,\r\n MatButtonToggleModule,\r\n MatTooltipModule,\r\n]\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ...MATERIAL_MODULE\r\n ],\r\n exports: [\r\n ...MATERIAL_MODULE\r\n ],\r\n declarations: [],\r\n providers: [\r\n {\r\n provide: MAT_DATE_FORMATS,\r\n useValue: {\r\n parse: {\r\n dateInput: ['l', 'LL'],\r\n },\r\n display: {\r\n dateInput: 'L',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n },\r\n },\r\n },\r\n ]\r\n})\r\nexport class CustomMaterialModule { }\r\n","import { NativeDateAdapter } from '@angular/material';\r\nimport { MatDateFormats } from '@angular/material/core';\r\n// export class AppDateAdapter extends NativeDateAdapter {\r\n// format(date: Date, displayFormat: Object): string {\r\n// if (displayFormat === 'input') {\r\n// let day: string = date.getDate().toString();\r\n// day = +day < 10 ? '0' + day : day;\r\n// let month: string = (date.getMonth() + 1).toString();\r\n// month = +month < 10 ? '0' + month : month;\r\n// let year = date.getFullYear();\r\n// return `${day}-${month}-${year}`;\r\n// }\r\n// return date.toDateString();\r\n// }\r\n// }\r\nexport const APP_DATE_FORMATS: MatDateFormats = {\r\n parse: {\r\n dateInput: { month: 'short', year: 'numeric', day: 'numeric' },\r\n },\r\n display: {\r\n dateInput: 'input',\r\n monthYearLabel: { year: 'numeric', month: 'numeric' },\r\n dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric'\r\n },\r\n monthYearA11yLabel: { year: 'numeric', month: 'long' },\r\n }\r\n};","\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safe'\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n\r\n constructor(protected sanitizer: DomSanitizer) {}\r\n \r\n public transform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n switch (type) {\r\n\t\t\tcase 'html': return this.sanitizer.bypassSecurityTrustHtml(value);\r\n\t\t\tcase 'style': return this.sanitizer.bypassSecurityTrustStyle(value);\r\n\t\t\tcase 'script': return this.sanitizer.bypassSecurityTrustScript(value);\r\n\t\t\tcase 'url': return this.sanitizer.bypassSecurityTrustUrl(value);\r\n\t\t\tcase 'resourceUrl': return this.sanitizer.bypassSecurityTrustResourceUrl(value);\r\n\t\t\tdefault: throw new Error(`Invalid safe type specified: ${type}`);\r\n\t\t}\r\n }\r\n}\r\n","module.exports = \".mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 calc(14px * .83)/20px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 calc(14px * .67)/20px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,\\\"Helvetica Neue\\\",sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,\\\"Helvetica Neue\\\",sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,\\\"Helvetica Neue\\\",sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-card{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-expansion-panel-header{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.34375em) scale(.75);transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.34374em) scale(.75);transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28122em) scale(.75);transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28121em) scale(.75);transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.2812em) scale(.75);transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em 0}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-.59375em) scale(.75);transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-.59374em) scale(.75);transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0 1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.59375em) scale(.75);transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.59374em) scale(.75);transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-select{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-list-option{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-simple-snackbar{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-nested-tree-node,.mat-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;-webkit-transition:opacity,-webkit-transform 0s cubic-bezier(0,0,.2,1);transition:opacity,-webkit-transform 0s cubic-bezier(0,0,.2,1);transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transition:opacity,transform 0s cubic-bezier(0,0,.2,1),-webkit-transform 0s cubic-bezier(0,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}@media (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:-webkit-box;display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:-webkit-box;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;-webkit-transition:opacity .4s cubic-bezier(.25,.8,.25,1);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}@-webkit-keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-start{/*!*/}@-webkit-keyframes cdk-text-field-autofill-end{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option{color:rgba(0,0,0,.87)}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#3f51b5}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff4081}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-optgroup-label{color:rgba(0,0,0,.54)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-pseudo-checkbox-disabled{color:#b0b0b0}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#3f51b5}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ff4081}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-badge-content{color:#fff;background:#3f51b5}@media (-ms-high-contrast:active){.mat-badge-content{outline:solid 1px;border-radius:0}}.mat-badge-accent .mat-badge-content{background:#ff4081;color:#fff}.mat-badge-warn .mat-badge-content{color:#fff;background:#f44336}.mat-badge{position:relative}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:rgba(0,0,0,.38)}.mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out, -webkit-transform .2s ease-in-out;-webkit-transform:scale(.6);transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.mat-badge-content._mat-animation-noopable,.ng-animate-disabled .mat-badge-content{-webkit-transition:none;transition:none}.mat-badge-content.mat-badge-active{-webkit-transform:none;transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-bottom-sheet-container{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);background:#fff;color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:0 0}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#3f51b5}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ff4081}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled],.mat-stroked-button.mat-accent[disabled],.mat-stroked-button.mat-primary[disabled],.mat-stroked-button.mat-warn[disabled],.mat-stroked-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#3f51b5}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#ff4081}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#f44336}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay,.mat-stroked-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button .mat-ripple-element,.mat-icon-button .mat-ripple-element,.mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.mat-button-focus-overlay{background:#000}.mat-stroked-button:not([disabled]){border-color:rgba(0,0,0,.12)}.mat-fab,.mat-flat-button,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:#fff}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#3f51b5}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ff4081}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-flat-button.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-accent .mat-ripple-element,.mat-flat-button.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-warn .mat-ripple-element,.mat-flat-button.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-flat-button:not([class*=mat-elevation-z]),.mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-raised-button[disabled]:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab[disabled]:not([class*=mat-elevation-z]),.mat-mini-fab[disabled]:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-button-toggle-group,.mat-button-toggle-standalone{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-appearance-standard{color:rgba(0,0,0,.87);background:#fff}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:solid 1px rgba(0,0,0,.12)}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:solid 1px rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:rgba(0,0,0,.87)}.mat-button-toggle-disabled{color:rgba(0,0,0,.26);background-color:#eee}.mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:solid 1px rgba(0,0,0,.12)}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}@media (-ms-high-contrast:black-on-white){.mat-checkbox-checkmark-path{stroke:#000!important}}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#3f51b5}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ff4081}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:rgba(0,0,0,.54)}@media (-ms-high-contrast:active){.mat-checkbox-disabled{opacity:.5}}@media (-ms-high-contrast:active){.mat-checkbox-background{background:0 0}}.mat-checkbox .mat-ripple-element{background-color:#000}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#3f51b5}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#ff4081}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#f44336}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.mat-chip.mat-standard-chip::after{background:#000}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#3f51b5;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ff4081;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-table{background:#fff}.mat-table tbody,.mat-table tfoot,.mat-table thead,.mat-table-sticky,[mat-footer-row],[mat-header-row],[mat-row],mat-footer-row,mat-header-row,mat-row{background:inherit}mat-footer-row,mat-header-row,mat-row,td.mat-cell,td.mat-footer-cell,th.mat-header-cell{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell,.mat-footer-cell{color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button,.mat-datepicker-toggle{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-calendar-body-selected{background-color:#3f51b5;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(63,81,181,.4)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);background-color:#fff;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ff4081;color:#fff}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(255,64,129,.4)}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#f44336;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(244,67,54,.4)}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content-touch{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-datepicker-toggle-active{color:#3f51b5}.mat-datepicker-toggle-active.mat-accent{color:#ff4081}.mat-datepicker-toggle-active.mat-warn{color:#f44336}.mat-dialog-container{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:rgba(0,0,0,.04)}@media (hover:none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label{color:rgba(0,0,0,.6)}.mat-hint{color:rgba(0,0,0,.6)}.mat-form-field.mat-focused .mat-form-field-label{color:#3f51b5}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ff4081}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ff4081}.mat-form-field-ripple{background-color:rgba(0,0,0,.87)}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#3f51b5}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ff4081}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after{color:#3f51b5}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after{color:#ff4081}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#f44336}.mat-error{color:#f44336}.mat-form-field-appearance-legacy .mat-form-field-label{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-hint{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:-webkit-gradient(linear,left top, right top,color-stop(0, rgba(0,0,0,.42)),color-stop(33%, rgba(0,0,0,.42)),color-stop(0, transparent));background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:-webkit-gradient(linear,left top, right top,color-stop(0, rgba(0,0,0,.42)),color-stop(33%, rgba(0,0,0,.42)),color-stop(0, transparent));background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:rgba(0,0,0,.04)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:rgba(0,0,0,.02)}.mat-form-field-appearance-fill .mat-form-field-underline::before{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:rgba(0,0,0,.12)}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:rgba(0,0,0,.87)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#3f51b5}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ff4081}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:rgba(0,0,0,.06)}.mat-icon.mat-primary{color:#3f51b5}.mat-icon.mat-accent{color:#ff4081}.mat-icon.mat-warn{color:#f44336}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{color:rgba(0,0,0,.54)}.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after,.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#3f51b5}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ff4081}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after{color:#f44336}.mat-list-base .mat-list-item{color:rgba(0,0,0,.87)}.mat-list-base .mat-list-option{color:rgba(0,0,0,.87)}.mat-list-base .mat-subheader{color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-action-list .mat-list-item:focus,.mat-action-list .mat-list-item:hover,.mat-list-option:focus,.mat-list-option:hover,.mat-nav-list .mat-list-item:focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled],.mat-menu-item[disabled]::after{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon-no-color,.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-last{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{fill:#c5cae9}.mat-progress-bar-buffer{background-color:#c5cae9}.mat-progress-bar-fill::after{background-color:#3f51b5}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ff4081}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#3f51b5}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff4081}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#3f51b5}.mat-radio-button.mat-primary .mat-radio-inner-circle,.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#3f51b5}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff4081}.mat-radio-button.mat-accent .mat-radio-inner-circle,.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#ff4081}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle,.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#f44336}.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button .mat-ripple-element{background-color:#000}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel{background:#fff}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#3f51b5}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff4081}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-drawer-side{border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-side.mat-drawer-end{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#ff4081}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:rgba(255,64,129,.54)}.mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#ff4081}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#3f51b5}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:rgba(63,81,181,.54)}.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#3f51b5}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:rgba(244,67,54,.54)}.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#f44336}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#3f51b5}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ff4081}.mat-accent .mat-slider-thumb-label-text{color:#fff}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,64,129,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(0,0,0,.26)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}@media (hover:none){.mat-step-header:hover{background:0 0}}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.54)}.mat-step-header .mat-step-icon{background-color:rgba(0,0,0,.54);color:#fff}.mat-step-header .mat-step-icon-selected,.mat-step-header .mat-step-icon-state-done,.mat-step-header .mat-step-icon-state-edit{background-color:#3f51b5;color:#fff}.mat-step-header .mat-step-icon-state-error{background-color:transparent;color:#f44336}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-step-header .mat-step-label.mat-step-label-error{color:#f44336}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-horizontal-stepper-header::after,.mat-horizontal-stepper-header::before,.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-sort-header-arrow{color:#757575}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#3f51b5}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff4081}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-header-pagination,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#3f51b5}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-header-pagination,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ff4081}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:#fff}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-header-pagination,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#3f51b5;color:#fff}.mat-toolbar.mat-accent{background:#ff4081;color:#fff}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-toolbar .mat-focused .mat-form-field-ripple,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-form-field-underline{background-color:currentColor}.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-select-value{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{background:#fff}.mat-nested-tree-node,.mat-tree-node{color:rgba(0,0,0,.87)}.mat-snack-bar-container{color:rgba(255,255,255,.7);background:#323232;box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-simple-snackbar-action{color:#ff4081}@charset \\\"UTF-8\\\";.fc {\\n direction: ltr;\\n text-align: left;\\n}.fc-rtl {\\n text-align: right;\\n}body .fc {\\n /* extra precedence to overcome jqui */\\n font-size: 1em;\\n}/* Colors\\n--------------------------------------------------------------------------------------------------*/.fc-highlight {\\n /* when user is selecting cells */\\n background: #bce8f1;\\n opacity: 0.3;\\n}.fc-bgevent {\\n /* default look for background events */\\n background: #8fdf82;\\n opacity: 0.3;\\n}.fc-nonbusiness {\\n /* default look for non-business-hours areas */\\n /* will inherit .fc-bgevent's styles */\\n background: #d7d7d7;\\n}/* Popover\\n--------------------------------------------------------------------------------------------------*/.fc-popover {\\n position: absolute;\\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);\\n}.fc-popover .fc-header {\\n /* TODO: be more consistent with fc-head/fc-body */\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n flex-direction: row;\\n -webkit-box-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n align-items: center;\\n padding: 2px 4px;\\n}.fc-rtl .fc-popover .fc-header {\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: reverse;\\n flex-direction: row-reverse;\\n}.fc-popover .fc-header .fc-title {\\n margin: 0 2px;\\n}.fc-popover .fc-header .fc-close {\\n cursor: pointer;\\n opacity: 0.65;\\n font-size: 1.1em;\\n}/* Misc Reusable Components\\n--------------------------------------------------------------------------------------------------*/.fc-divider {\\n border-style: solid;\\n border-width: 1px;\\n}hr.fc-divider {\\n height: 0;\\n margin: 0;\\n padding: 0 0 2px;\\n /* height is unreliable across browsers, so use padding */\\n border-width: 1px 0;\\n}.fc-bg,\\n.fc-bgevent-skeleton,\\n.fc-highlight-skeleton,\\n.fc-mirror-skeleton {\\n /* these element should always cling to top-left/right corners */\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n}.fc-bg {\\n bottom: 0;\\n /* strech bg to bottom edge */\\n}.fc-bg table {\\n height: 100%;\\n /* strech bg to bottom edge */\\n}/* Tables\\n--------------------------------------------------------------------------------------------------*/.fc table {\\n width: 100%;\\n box-sizing: border-box;\\n /* fix scrollbar issue in firefox */\\n table-layout: fixed;\\n border-collapse: collapse;\\n border-spacing: 0;\\n font-size: 1em;\\n /* normalize cross-browser */\\n}.fc th {\\n text-align: center;\\n}.fc th,\\n.fc td {\\n border-style: solid;\\n border-width: 1px;\\n padding: 0;\\n vertical-align: top;\\n}.fc td.fc-today {\\n border-style: double;\\n /* overcome neighboring borders */\\n}/* Internal Nav Links\\n--------------------------------------------------------------------------------------------------*/a[data-goto] {\\n cursor: pointer;\\n}a[data-goto]:hover {\\n text-decoration: underline;\\n}/* Fake Table Rows\\n--------------------------------------------------------------------------------------------------*/.fc .fc-row {\\n /* extra precedence to overcome themes forcing a 1px border */\\n /* no visible border by default. but make available if need be (scrollbar width compensation) */\\n border-style: solid;\\n border-width: 0;\\n}.fc-row table {\\n /* don't put left/right border on anything within a fake row.\\n the outer tbody will worry about this */\\n border-left: 0 hidden transparent;\\n border-right: 0 hidden transparent;\\n /* no bottom borders on rows */\\n border-bottom: 0 hidden transparent;\\n}.fc-row:first-child table {\\n border-top: 0 hidden transparent;\\n /* no top border on first row */\\n}/* Day Row (used within the header and the DayGrid)\\n--------------------------------------------------------------------------------------------------*/.fc-row {\\n position: relative;\\n}.fc-row .fc-bg {\\n z-index: 1;\\n}/* highlighting cells & background event skeleton */.fc-row .fc-bgevent-skeleton,\\n.fc-row .fc-highlight-skeleton {\\n bottom: 0;\\n /* stretch skeleton to bottom of row */\\n}.fc-row .fc-bgevent-skeleton table,\\n.fc-row .fc-highlight-skeleton table {\\n height: 100%;\\n /* stretch skeleton to bottom of row */\\n}.fc-row .fc-highlight-skeleton td,\\n.fc-row .fc-bgevent-skeleton td {\\n border-color: transparent;\\n}.fc-row .fc-bgevent-skeleton {\\n z-index: 2;\\n}.fc-row .fc-highlight-skeleton {\\n z-index: 3;\\n}/*\\nrow content (which contains day/week numbers and events) as well as \\\"mirror\\\" (which contains\\ntemporary rendered events).\\n*/.fc-row .fc-content-skeleton {\\n position: relative;\\n z-index: 4;\\n padding-bottom: 2px;\\n /* matches the space above the events */\\n}.fc-row .fc-mirror-skeleton {\\n z-index: 5;\\n}.fc .fc-row .fc-content-skeleton table,\\n.fc .fc-row .fc-content-skeleton td,\\n.fc .fc-row .fc-mirror-skeleton td {\\n /* see-through to the background below */\\n /* extra precedence to prevent theme-provided backgrounds */\\n background: none;\\n /* in case s are globally styled */\\n border-color: transparent;\\n}.fc-row .fc-content-skeleton td,\\n.fc-row .fc-mirror-skeleton td {\\n /* don't put a border between events and/or the day number */\\n border-bottom: 0;\\n}.fc-row .fc-content-skeleton tbody td,\\n.fc-row .fc-mirror-skeleton tbody td {\\n /* don't put a border between event cells */\\n border-top: 0;\\n}/* Scrolling Container\\n--------------------------------------------------------------------------------------------------*/.fc-scroller {\\n -webkit-overflow-scrolling: touch;\\n}/* TODO: move to timegrid/daygrid */.fc-scroller > .fc-day-grid,\\n.fc-scroller > .fc-time-grid {\\n position: relative;\\n /* re-scope all positions */\\n width: 100%;\\n /* hack to force re-sizing this inner element when scrollbars appear/disappear */\\n}/* Global Event Styles\\n--------------------------------------------------------------------------------------------------*/.fc-event {\\n position: relative;\\n /* for resize handle and other inner positioning */\\n display: block;\\n /* make the tag block */\\n font-size: 0.85em;\\n line-height: 1.4;\\n border-radius: 3px;\\n border: 1px solid #3788d8;\\n}.fc-event,\\n.fc-event-dot {\\n background-color: #3788d8;\\n /* default BACKGROUND color */\\n}.fc-event,\\n.fc-event:hover {\\n color: #fff;\\n /* default TEXT color */\\n text-decoration: none;\\n /* if has an href */\\n}.fc-event[href],\\n.fc-event.fc-draggable {\\n cursor: pointer;\\n /* give events with links and draggable events a hand mouse pointer */\\n}.fc-not-allowed,\\n.fc-not-allowed .fc-event {\\n /* to override an event's custom cursor */\\n cursor: not-allowed;\\n}.fc-event .fc-content {\\n position: relative;\\n z-index: 2;\\n}/* resizer (cursor AND touch devices) */.fc-event .fc-resizer {\\n position: absolute;\\n z-index: 4;\\n}/* resizer (touch devices) */.fc-event .fc-resizer {\\n display: none;\\n}.fc-event.fc-allow-mouse-resize .fc-resizer,\\n.fc-event.fc-selected .fc-resizer {\\n /* only show when hovering or selected (with touch) */\\n display: block;\\n}/* hit area */.fc-event.fc-selected .fc-resizer:before {\\n /* 40x40 touch area */\\n content: \\\"\\\";\\n position: absolute;\\n z-index: 9999;\\n /* user of this util can scope within a lower z-index */\\n top: 50%;\\n left: 50%;\\n width: 40px;\\n height: 40px;\\n margin-left: -20px;\\n margin-top: -20px;\\n}/* Event Selection (only for touch devices)\\n--------------------------------------------------------------------------------------------------*/.fc-event.fc-selected {\\n z-index: 9999 !important;\\n /* overcomes inline z-index */\\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\\n}.fc-event.fc-selected:after {\\n content: \\\"\\\";\\n position: absolute;\\n z-index: 1;\\n /* same z-index as fc-bg, behind text */\\n /* overcome the borders */\\n top: -1px;\\n right: -1px;\\n bottom: -1px;\\n left: -1px;\\n /* darkening effect */\\n background: #000;\\n opacity: 0.25;\\n}/* Event Dragging\\n--------------------------------------------------------------------------------------------------*/.fc-event.fc-dragging.fc-selected {\\n box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);\\n}.fc-event.fc-dragging:not(.fc-selected) {\\n opacity: 0.75;\\n}/* Horizontal Events\\n--------------------------------------------------------------------------------------------------*//* bigger touch area when selected */.fc-h-event.fc-selected:before {\\n content: \\\"\\\";\\n position: absolute;\\n z-index: 3;\\n /* below resizers */\\n top: -10px;\\n bottom: -10px;\\n left: 0;\\n right: 0;\\n}/* events that are continuing to/from another week. kill rounded corners and butt up against edge */.fc-ltr .fc-h-event.fc-not-start,\\n.fc-rtl .fc-h-event.fc-not-end {\\n margin-left: 0;\\n border-left-width: 0;\\n padding-left: 1px;\\n /* replace the border with padding */\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}.fc-ltr .fc-h-event.fc-not-end,\\n.fc-rtl .fc-h-event.fc-not-start {\\n margin-right: 0;\\n border-right-width: 0;\\n padding-right: 1px;\\n /* replace the border with padding */\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}/* resizer (cursor AND touch devices) *//* left resizer */.fc-ltr .fc-h-event .fc-start-resizer,\\n.fc-rtl .fc-h-event .fc-end-resizer {\\n cursor: w-resize;\\n left: -1px;\\n /* overcome border */\\n}/* right resizer */.fc-ltr .fc-h-event .fc-end-resizer,\\n.fc-rtl .fc-h-event .fc-start-resizer {\\n cursor: e-resize;\\n right: -1px;\\n /* overcome border */\\n}/* resizer (mouse devices) */.fc-h-event.fc-allow-mouse-resize .fc-resizer {\\n width: 7px;\\n top: -1px;\\n /* overcome top border */\\n bottom: -1px;\\n /* overcome bottom border */\\n}/* resizer (touch devices) */.fc-h-event.fc-selected .fc-resizer {\\n /* 8x8 little dot */\\n border-radius: 4px;\\n border-width: 1px;\\n width: 6px;\\n height: 6px;\\n border-style: solid;\\n border-color: inherit;\\n background: #fff;\\n /* vertically center */\\n top: 50%;\\n margin-top: -4px;\\n}/* left resizer */.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,\\n.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {\\n margin-left: -4px;\\n /* centers the 8x8 dot on the left edge */\\n}/* right resizer */.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,\\n.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {\\n margin-right: -4px;\\n /* centers the 8x8 dot on the right edge */\\n}/* DayGrid events\\n----------------------------------------------------------------------------------------------------\\nWe use the full \\\"fc-day-grid-event\\\" class instead of using descendants because the event won't\\nbe a descendant of the grid when it is being dragged.\\n*/.fc-day-grid-event {\\n margin: 1px 2px 0;\\n /* spacing between events and edges */\\n padding: 0 1px;\\n}tr:first-child > td > .fc-day-grid-event {\\n margin-top: 2px;\\n /* a little bit more space before the first event */\\n}.fc-mirror-skeleton tr:first-child > td > .fc-day-grid-event {\\n margin-top: 0;\\n /* except for mirror skeleton */\\n}.fc-day-grid-event .fc-content {\\n /* force events to be one-line tall */\\n white-space: nowrap;\\n overflow: hidden;\\n}.fc-day-grid-event .fc-time {\\n font-weight: bold;\\n}/* resizer (cursor devices) *//* left resizer */.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,\\n.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {\\n margin-left: -2px;\\n /* to the day cell's edge */\\n}/* right resizer */.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,\\n.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {\\n margin-right: -2px;\\n /* to the day cell's edge */\\n}/* Event Limiting\\n--------------------------------------------------------------------------------------------------*//* \\\"more\\\" link that represents hidden events */a.fc-more {\\n margin: 1px 3px;\\n font-size: 0.85em;\\n cursor: pointer;\\n text-decoration: none;\\n}a.fc-more:hover {\\n text-decoration: underline;\\n}.fc-limited {\\n /* rows and cells that are hidden because of a \\\"more\\\" link */\\n display: none;\\n}/* popover that appears when \\\"more\\\" link is clicked */.fc-day-grid .fc-row {\\n z-index: 1;\\n /* make the \\\"more\\\" popover one higher than this */\\n}.fc-more-popover {\\n z-index: 2;\\n width: 220px;\\n}.fc-more-popover .fc-event-container {\\n padding: 10px;\\n}/* Now Indicator\\n--------------------------------------------------------------------------------------------------*/.fc-now-indicator {\\n position: absolute;\\n border: 0 solid red;\\n}/* Utilities\\n--------------------------------------------------------------------------------------------------*/.fc-unselectable {\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n -webkit-touch-callout: none;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}/*\\nTODO: more distinction between this file and common.css\\n*//* Colors\\n--------------------------------------------------------------------------------------------------*/.fc-unthemed th,\\n.fc-unthemed td,\\n.fc-unthemed thead,\\n.fc-unthemed tbody,\\n.fc-unthemed .fc-divider,\\n.fc-unthemed .fc-row,\\n.fc-unthemed .fc-content,\\n.fc-unthemed .fc-popover,\\n.fc-unthemed .fc-list-view,\\n.fc-unthemed .fc-list-heading td {\\n border-color: #ddd;\\n}.fc-unthemed .fc-popover {\\n background-color: #fff;\\n}.fc-unthemed .fc-divider,\\n.fc-unthemed .fc-popover .fc-header,\\n.fc-unthemed .fc-list-heading td {\\n background: #eee;\\n}.fc-unthemed td.fc-today {\\n background: #fcf8e3;\\n}.fc-unthemed .fc-disabled-day {\\n background: #d7d7d7;\\n opacity: 0.3;\\n}/* Icons\\n--------------------------------------------------------------------------------------------------\\nfrom https://feathericons.com/ and built with IcoMoon\\n*/@font-face {\\n font-family: \\\"fcicons\\\";\\n src: url(\\\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\\\") format(\\\"truetype\\\");\\n font-weight: normal;\\n font-style: normal;\\n}.fc-icon {\\n /* use !important to prevent issues with browser extensions that change fonts */\\n font-family: \\\"fcicons\\\" !important;\\n speak: none;\\n font-style: normal;\\n font-weight: normal;\\n font-variant: normal;\\n text-transform: none;\\n line-height: 1;\\n /* Better Font Rendering =========== */\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}.fc-icon-chevron-left:before {\\n content: \\\"\\\";\\n}.fc-icon-chevron-right:before {\\n content: \\\"\\\";\\n}.fc-icon-chevrons-left:before {\\n content: \\\"\\\";\\n}.fc-icon-chevrons-right:before {\\n content: \\\"\\\";\\n}.fc-icon-minus-square:before {\\n content: \\\"\\\";\\n}.fc-icon-plus-square:before {\\n content: \\\"\\\";\\n}.fc-icon-x:before {\\n content: \\\"\\\";\\n}.fc-icon {\\n display: inline-block;\\n width: 1em;\\n height: 1em;\\n text-align: center;\\n}/* Buttons\\n--------------------------------------------------------------------------------------------------\\nLots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css\\n*//* reset */.fc-button {\\n border-radius: 0;\\n overflow: visible;\\n text-transform: none;\\n margin: 0;\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n}.fc-button:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n}.fc-button {\\n -webkit-appearance: button;\\n}.fc-button:not(:disabled) {\\n cursor: pointer;\\n}.fc-button::-moz-focus-inner {\\n padding: 0;\\n border-style: none;\\n}/* theme */.fc-button {\\n display: inline-block;\\n font-weight: 400;\\n color: #212529;\\n text-align: center;\\n vertical-align: middle;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n background-color: transparent;\\n border: 1px solid transparent;\\n padding: 0.4em 0.65em;\\n font-size: 1em;\\n line-height: 1.5;\\n border-radius: 0.25em;\\n}.fc-button:hover {\\n color: #212529;\\n text-decoration: none;\\n}.fc-button:focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);\\n}.fc-button:disabled {\\n opacity: 0.65;\\n}/* \\\"primary\\\" coloring */.fc-button-primary {\\n color: #fff;\\n background-color: #2C3E50;\\n border-color: #2C3E50;\\n}.fc-button-primary:hover {\\n color: #fff;\\n background-color: #1e2b37;\\n border-color: #1a252f;\\n}.fc-button-primary:focus {\\n box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);\\n}.fc-button-primary:disabled {\\n color: #fff;\\n background-color: #2C3E50;\\n border-color: #2C3E50;\\n}.fc-button-primary:not(:disabled):active,\\n.fc-button-primary:not(:disabled).fc-button-active {\\n color: #fff;\\n background-color: #1a252f;\\n border-color: #151e27;\\n}.fc-button-primary:not(:disabled):active:focus,\\n.fc-button-primary:not(:disabled).fc-button-active:focus {\\n box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);\\n}/* icons within buttons */.fc-button .fc-icon {\\n vertical-align: middle;\\n font-size: 1.5em;\\n}/* Buttons Groups\\n--------------------------------------------------------------------------------------------------*/.fc-button-group {\\n position: relative;\\n display: -webkit-inline-box;\\n display: inline-flex;\\n vertical-align: middle;\\n}.fc-button-group > .fc-button {\\n position: relative;\\n -webkit-box-flex: 1;\\n flex: 1 1 auto;\\n}.fc-button-group > .fc-button:hover {\\n z-index: 1;\\n}.fc-button-group > .fc-button:focus,\\n.fc-button-group > .fc-button:active,\\n.fc-button-group > .fc-button.fc-button-active {\\n z-index: 1;\\n}.fc-button-group > .fc-button:not(:first-child) {\\n margin-left: -1px;\\n}.fc-button-group > .fc-button:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}.fc-button-group > .fc-button:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}/* Popover\\n--------------------------------------------------------------------------------------------------*/.fc-unthemed .fc-popover {\\n border-width: 1px;\\n border-style: solid;\\n}/* List View\\n--------------------------------------------------------------------------------------------------*/.fc-unthemed .fc-list-item:hover td {\\n background-color: #f5f5f5;\\n}/* Toolbar\\n--------------------------------------------------------------------------------------------------*/.fc-toolbar {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n align-items: center;\\n}.fc-toolbar.fc-header-toolbar {\\n margin-bottom: 1.5em;\\n}.fc-toolbar.fc-footer-toolbar {\\n margin-top: 1.5em;\\n}/* inner content */.fc-toolbar > * > :not(:first-child) {\\n margin-left: 0.75em;\\n}.fc-toolbar h2 {\\n font-size: 1.75em;\\n margin: 0;\\n}/* View Structure\\n--------------------------------------------------------------------------------------------------*/.fc-view-container {\\n position: relative;\\n}/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques *//* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */.fc-view-container *,\\n.fc-view-container *:before,\\n.fc-view-container *:after {\\n box-sizing: content-box;\\n}.fc-view,\\n.fc-view > table {\\n /* so dragged elements can be above the view's main element */\\n position: relative;\\n z-index: 1;\\n}@media print {\\n .fc {\\n max-width: 100% !important;\\n }\\n\\n /* Global Event Restyling\\n --------------------------------------------------------------------------------------------------*/\\n .fc-event {\\n background: #fff !important;\\n color: #000 !important;\\n page-break-inside: avoid;\\n }\\n\\n .fc-event .fc-resizer {\\n display: none;\\n }\\n\\n /* Table & Day-Row Restyling\\n --------------------------------------------------------------------------------------------------*/\\n .fc th,\\n.fc td,\\n.fc hr,\\n.fc thead,\\n.fc tbody,\\n.fc-row {\\n border-color: #ccc !important;\\n background: #fff !important;\\n }\\n\\n /* kill the overlaid, absolutely-positioned components */\\n /* common... */\\n .fc-bg,\\n.fc-bgevent-skeleton,\\n.fc-highlight-skeleton,\\n.fc-mirror-skeleton,\\n.fc-bgevent-container,\\n.fc-business-container,\\n.fc-highlight-container,\\n.fc-mirror-container {\\n display: none;\\n }\\n\\n /* don't force a min-height on rows (for DayGrid) */\\n .fc tbody .fc-row {\\n height: auto !important;\\n /* undo height that JS set in distributeHeight */\\n min-height: 0 !important;\\n /* undo the min-height from each view's specific stylesheet */\\n }\\n\\n .fc tbody .fc-row .fc-content-skeleton {\\n position: static;\\n /* undo .fc-rigid */\\n padding-bottom: 0 !important;\\n /* use a more border-friendly method for this... */\\n }\\n\\n .fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {\\n /* only works in newer browsers */\\n padding-bottom: 1em;\\n /* ...gives space within the skeleton. also ensures min height in a way */\\n }\\n\\n .fc tbody .fc-row .fc-content-skeleton table {\\n /* provides a min-height for the row, but only effective for IE, which exaggerates this value,\\n making it look more like 3em. for other browers, it will already be this tall */\\n height: 1em;\\n }\\n\\n /* Undo month-view event limiting. Display all events and hide the \\\"more\\\" links\\n --------------------------------------------------------------------------------------------------*/\\n .fc-more-cell,\\n.fc-more {\\n display: none !important;\\n }\\n\\n .fc tr.fc-limited {\\n display: table-row !important;\\n }\\n\\n .fc td.fc-limited {\\n display: table-cell !important;\\n }\\n\\n .fc-popover {\\n display: none;\\n /* never display the \\\"more..\\\" popover in print mode */\\n }\\n\\n /* TimeGrid Restyling\\n --------------------------------------------------------------------------------------------------*/\\n /* undo the min-height 100% trick used to fill the container's height */\\n .fc-time-grid {\\n min-height: 0 !important;\\n }\\n\\n /* don't display the side axis at all (\\\"all-day\\\" and time cells) */\\n .fc-timeGrid-view .fc-axis {\\n display: none;\\n }\\n\\n /* don't display the horizontal lines */\\n .fc-slats,\\n.fc-time-grid hr {\\n /* this hr is used when height is underused and needs to be filled */\\n display: none !important;\\n /* important overrides inline declaration */\\n }\\n\\n /* let the container that holds the events be naturally positioned and create real height */\\n .fc-time-grid .fc-content-skeleton {\\n position: static;\\n }\\n\\n /* in case there are no events, we still want some height */\\n .fc-time-grid .fc-content-skeleton table {\\n height: 4em;\\n }\\n\\n /* kill the horizontal spacing made by the event container. event margins will be done below */\\n .fc-time-grid .fc-event-container {\\n margin: 0 !important;\\n }\\n\\n /* TimeGrid *Event* Restyling\\n --------------------------------------------------------------------------------------------------*/\\n /* naturally position events, vertically stacking them */\\n .fc-time-grid .fc-event {\\n position: static !important;\\n margin: 3px 2px !important;\\n }\\n\\n /* for events that continue to a future day, give the bottom border back */\\n .fc-time-grid .fc-event.fc-not-end {\\n border-bottom-width: 1px !important;\\n }\\n\\n /* indicate the event continues via \\\"...\\\" text */\\n .fc-time-grid .fc-event.fc-not-end:after {\\n content: \\\"...\\\";\\n }\\n\\n /* for events that are continuations from previous days, give the top border back */\\n .fc-time-grid .fc-event.fc-not-start {\\n border-top-width: 1px !important;\\n }\\n\\n /* indicate the event is a continuation via \\\"...\\\" text */\\n .fc-time-grid .fc-event.fc-not-start:before {\\n content: \\\"...\\\";\\n }\\n\\n /* time */\\n /* undo a previous declaration and let the time text span to a second line */\\n .fc-time-grid .fc-event .fc-time {\\n white-space: normal !important;\\n }\\n\\n /* hide the the time that is normally displayed... */\\n .fc-time-grid .fc-event .fc-time span {\\n display: none;\\n }\\n\\n /* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */\\n .fc-time-grid .fc-event .fc-time:after {\\n content: attr(data-full);\\n }\\n\\n /* Vertical Scroller & Containers\\n --------------------------------------------------------------------------------------------------*/\\n /* kill the scrollbars and allow natural height */\\n .fc-scroller,\\n.fc-day-grid-container,\\n.fc-time-grid-container {\\n /* */\\n overflow: visible !important;\\n height: auto !important;\\n }\\n\\n /* kill the horizontal border/padding used to compensate for scrollbars */\\n .fc-row {\\n border: 0 !important;\\n margin: 0 !important;\\n }\\n\\n /* Button Controls\\n --------------------------------------------------------------------------------------------------*/\\n .fc-button-group,\\n.fc button {\\n display: none;\\n /* don't display any button-related controls */\\n }\\n}/* DayGridView\\n--------------------------------------------------------------------------------------------------*//* day row structure */.fc-dayGridWeek-view .fc-content-skeleton,\\n.fc-dayGridDay-view .fc-content-skeleton {\\n /* there may be week numbers in these views, so no padding-top */\\n padding-bottom: 1em;\\n /* ensure a space at bottom of cell for user selecting/clicking */\\n}.fc-dayGrid-view .fc-body .fc-row {\\n min-height: 4em;\\n /* ensure that all rows are at least this tall */\\n}/* a \\\"rigid\\\" row will take up a constant amount of height because content-skeleton is absolute */.fc-row.fc-rigid {\\n overflow: hidden;\\n}.fc-row.fc-rigid .fc-content-skeleton {\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n}/* week and day number styling */.fc-day-top.fc-other-month {\\n opacity: 0.3;\\n}.fc-dayGrid-view .fc-week-number,\\n.fc-dayGrid-view .fc-day-number {\\n padding: 2px;\\n}.fc-dayGrid-view th.fc-week-number,\\n.fc-dayGrid-view th.fc-day-number {\\n padding: 0 2px;\\n /* column headers can't have as much v space */\\n}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number {\\n float: right;\\n}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number {\\n float: left;\\n}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number {\\n float: left;\\n border-radius: 0 0 3px 0;\\n}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number {\\n float: right;\\n border-radius: 0 0 0 3px;\\n}.fc-dayGrid-view .fc-day-top .fc-week-number {\\n min-width: 1.5em;\\n text-align: center;\\n background-color: #f2f2f2;\\n color: #808080;\\n}/* when week/day number have own column */.fc-dayGrid-view td.fc-week-number {\\n text-align: center;\\n}.fc-dayGrid-view td.fc-week-number > * {\\n /* work around the way we do column resizing and ensure a minimum width */\\n display: inline-block;\\n min-width: 1.25em;\\n}.primary {\\n background-color: blue;\\n color: #ffffff;\\n}body {\\n margin: 0;\\n}.w-100 {\\n width: 100% !important;\\n}.w-90 {\\n width: 90% !important;\\n}.w-80 {\\n width: 80% !important;\\n}.w-70 {\\n width: 70% !important;\\n}.w-50 {\\n width: 50% !important;\\n}.mt-1 {\\n margin-top: 1rem !important;\\n}.mt-2 {\\n margin-top: 2rem !important;\\n}.mt-3 {\\n margin-top: 3rem !important;\\n}.mt-4 {\\n margin-top: 4rem !important;\\n}.mt-5 {\\n margin-top: 5rem !important;\\n}.d-block {\\n display: block !important;\\n}.d-none {\\n display: none !important;\\n}.d-flex {\\n display: -webkit-box !important;\\n display: flex !important;\\n}.z-elevation-1 {\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\n}.error-container {\\n display: -webkit-box;\\n display: flex;\\n margin-bottom: 0.5rem;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n -webkit-box-align: center;\\n align-items: center;\\n}.error-container .server-error {\\n background-color: #f44336;\\n color: #f2f2f2;\\n font-family: \\\"OpenSans\\\";\\n font-size: 10px;\\n font-weight: 100;\\n text-align: center;\\n padding: 0.5rem 1rem;\\n margin: 0 1rem;\\n border-radius: 0.4rem;\\n}.error-container .arrow-up-gadget {\\n width: 0;\\n height: 0;\\n border-left: 0.5rem solid transparent;\\n border-right: 0.5rem solid transparent;\\n border-bottom: 0.8rem solid #f44336;\\n text-align: center;\\n}.mat-form-field.no-padding .mat-form-field-wrapper {\\n margin: 0;\\n padding: 0;\\n}.mat-form-field.no-padding .mat-form-field-infix {\\n padding: 0.4rem 0;\\n}#programGeneralInformation .mat-form-field-disabled input[matInput], #programGeneralInformation .mat-form-field-disabled textarea[matInput], #programGeneralInformation .mat-form-field-disabled .mat-select-value {\\n color: darkslategrey;\\n}#programGeneralInformation .mat-form-field-disabled .mat-form-field-underline {\\n height: 0;\\n}#programGeneralInformation .mat-form-field-disabled .mat-select-arrow {\\n visibility: hidden;\\n}.form-container {\\n display: grid;\\n grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr));\\n grid-gap: 1rem;\\n}.simple-container {\\n width: 100%;\\n box-sizing: border-box;\\n padding: 0 2rem;\\n max-width: 768px;\\n margin: 2rem auto;\\n}.app-container {\\n width: 100%;\\n box-sizing: border-box;\\n padding: 0 2rem;\\n max-width: 1200px;\\n margin: 2rem auto;\\n}.btn {\\n max-width: 15rem;\\n}.spinner-container {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n position: fixed;\\n right: 0;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n opacity: 0.4;\\n z-index: 1060;\\n background-color: black;\\n}.truncate {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}.custom-dialog-container .mat-dialog-container {\\n max-height: calc(100vh - 2rem);\\n}#froala-license-none > div > div.fr-wrapper.show-placeholder > div:nth-child(1) > a,\\n#froala-license-none > div > div.fr-wrapper > div:nth-child(1) > a {\\n display: none !important;\\n}#froala-license-none .second-toolbar {\\n display: none !important;\\n}#froala-license-none .dark-theme.fr-box.fr-basic .fr-wrapper {\\n border-bottom-color: #cccccc !important;\\n}.login-form-container .mat-form-field-label, .login-form-container .mat-error {\\n color: #FFFFFF !important;\\n}.mat-tree-container .mat-tree-node:hover {\\n background-color: #00a9e0 !important;\\n}.menu-item-logout {\\n outline: none !important;\\n}.menu-item-logout:hover {\\n background-color: #00a9e0 !important;\\n}.mat-menu-panel-custom {\\n box-shadow: none !important;\\n}.mat-drawer-container {\\n background: none !important;\\n}.mat-drawer {\\n padding-left: 1rem !important;\\n padding-top: 1rem !important;\\n padding-right: 0.5rem !important;\\n width: 25% !important;\\n}.mat-drawer, .mat-tree, .mat-tree-node {\\n background-color: #8D96BF !important;\\n color: #FFFFFF;\\n}/* width */::-webkit-scrollbar {\\n width: 0px;\\n}/* Track */::-webkit-scrollbar-track {\\n border-radius: 10px;\\n}/* Handle */::-webkit-scrollbar-thumb {\\n background: #f2f2f2;\\n border-radius: 10px;\\n}/* Handle on hover */::-webkit-scrollbar-thumb:hover {\\n background: #d2d2d2;\\n}.app-container-tab {\\n background-color: transparent !important;\\n}.mat-card {\\n box-shadow: none !important;\\n}.chipsText .mat-chip-list-wrapper {\\n margin: 4px !important;\\n}.chipsText .mat-standard-chip {\\n min-height: 25px !important;\\n font-size: 12 px !important;\\n padding: 8px !important;\\n}.mat-calendar-body-selected {\\n color: #ffffff !important;\\n}.swal2-popup {\\n font-family: \\\"Inter\\\", sans-serif !important;\\n}.swal2-styled.swal2-confirm {\\n border: 2px solid #000000 !important;\\n padding: 15px 27px 15px 27px !important;\\n margin-top: 10px !important;\\n cursor: pointer !important;\\n -webkit-transition: all 0.3s ease !important;\\n transition: all 0.3s ease !important;\\n color: #000000 !important;\\n display: inline-block !important;\\n text-align: center !important;\\n font-size: 16px !important;\\n font-family: \\\"Inter\\\", sans-serif !important;\\n border-radius: 0 !important;\\n background-color: none !important;\\n background: none !important;\\n}.swal2-styled.swal2-confirm:hover {\\n background-color: #000000 !important;\\n color: #FFFFFF !important;\\n border: 2px solid #000000 !important;\\n text-decoration: none !important;\\n font-family: \\\"Inter\\\", sans-serif !important;\\n}.swal2-styled:focus {\\n outline: none !important;\\n box-shadow: none !important;\\n}.sidenav-container {\\n width: 100%;\\n min-height: 100vh;\\n padding: 0;\\n background-image: url('body.jpg') !important;\\n background-position: center;\\n background-repeat: no-repeat;\\n background-size: cover;\\n}.sidenav-container .navBar {\\n width: 100%;\\n display: -webkit-box;\\n display: flex;\\n height: 5rem;\\n -webkit-box-pack: center;\\n justify-content: center;\\n background-color: #00a9e0;\\n color: #ffffff;\\n}.sidenav-container .navBar .navbar-internal {\\n width: 98%;\\n padding: 20px 26px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n align-items: center;\\n}.sidenav-container .navBar .navbar-internal .app-logo {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n}.sidenav-container .navBar .navbar-internal .app-logo .project-logo {\\n background-color: transparent;\\n color: #ffffff;\\n}.sidenav-container .navBar .navbar-internal .app-logo .project-logo .project-name {\\n font-family: Arial, Helvetica, sans-serif;\\n font-weight: 100;\\n}@media only screen and (max-width: 992px) {\\n .sidenav-container .navBar .navbar-internal .app-logo .project-logo .project-name {\\n display: none;\\n }\\n}.sidenav-container .navBar .navbar-internal .search-field {\\n width: 30%;\\n border-radius: 5px;\\n max-width: 35rem;\\n padding: 0;\\n background-color: #ffffff;\\n}.sidenav-container .navBar .navbar-internal .search-field .icon {\\n color: #2D3E50;\\n}.sidenav-container .navBar .navbar-internal .search-field input {\\n color: #2D3E50;\\n}.sidenav-container .navBar .navbar-internal .options-container {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n}.sidenav-container .navBar .navbar-internal .options-container button {\\n margin: 0 6px;\\n}@media only screen and (max-width: 576px) {\\n .sidenav-container .navBar .navbar-internal .options-container {\\n display: none;\\n }\\n}.sidenav-container .navBar .navbar-internal .user-info-container {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: end;\\n justify-content: flex-end;\\n -webkit-box-align: center;\\n align-items: center;\\n padding: 0.5rem;\\n}.sidenav-container .navBar .navbar-internal .user-info-container .user-full-name {\\n font-family: Arial, Helvetica, sans-serif;\\n font-weight: 100;\\n}@media only screen and (max-width: 992px) {\\n .sidenav-container .navBar .navbar-internal .user-info-container .user-full-name {\\n display: none;\\n }\\n}.sidenav-container .navBar .navbar-internal .user-info-container .user-photo {\\n border-radius: 50%;\\n color: #ffffff;\\n /*background-color: $grey;*/\\n font-size: 3rem;\\n width: 3rem;\\n height: 3rem;\\n margin-right: 0.4rem;\\n cursor: pointer !important;\\n}.sidenav-container .navBar .navbar-internal .user-info-container .button-profile {\\n outline: none !important;\\n}.sidenav-container .drawer-container {\\n height: calc(100vh - 5rem);\\n}.sidenav-container .drawer-container .drawer {\\n background-color: #ffffff;\\n min-width: 300px;\\n height: 100%;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n box-sizing: border-box;\\n}.sidenav-container .drawer-container .drawer-content {\\n /*background-color: $athens-gray;*/\\n padding: 0 16px;\\n}.mat-tree-container {\\n background-color: #ffffff;\\n color: #2D3E50;\\n}.mat-tree-container ul,\\n.mat-tree-container li {\\n margin-top: 0;\\n margin-bottom: 0;\\n list-style-type: none;\\n width: 100%;\\n}.mat-tree-container .mat-tree-invisible {\\n display: none;\\n}.mat-tree-container .mat-tree-node {\\n background-color: #ffffff;\\n width: 100%;\\n}.mat-tree-container .mat-tree-node li {\\n cursor: pointer;\\n}.mat-tree-container .mat-tree-node li .mat-grid-list {\\n /* background-color: blue; */\\n}.mat-tree-container .mat-tree-node li .mat-grid-list .mat-grid-logo {\\n background-color: #9ac3d0;\\n}.mat-tree-container .mat-tree-node li .mat-grid-list .mat-grid-logo .mat-icon {\\n color: white;\\n}.mat-tree-container .mat-tree-node li .mat-grid-list .mat-grid-text .mat-label {\\n position: absolute;\\n left: 5px;\\n}.mat-tree-container .mat-tree-node li .mat-grid-list .active {\\n background-color: #9ac3d0;\\n position: absolute;\\n left: 5px;\\n}.mat-tree-container .mat-tree-node li .item-btn {\\n cursor: pointer;\\n background-color: transparent;\\n}.mat-tree-container .mat-tree-node ul .mat-divider {\\n cursor: pointer;\\n background-color: transparent;\\n}.mat-tree-container .mat-tree-node .mat-divider {\\n cursor: pointer;\\n background-color: #00000008;\\n}.mat-tree-container .mat-tree-node:hover {\\n background-color: #9ac3d0;\\n width: 100%;\\n border-radius: 5px;\\n}.mat-tree-container .mat-tree-node:hover ul .mat-divider {\\n cursor: pointer;\\n background-color: #00000008;\\n}.mat-tree-container .mat-tree-node:hover li {\\n cursor: pointer;\\n}.mat-tree-container .mat-tree-node:hover li .mat-grid-list {\\n /* background-color: blue; */\\n}.mat-tree-container .mat-tree-node:hover li .mat-grid-list .mat-grid-logo {\\n background-color: #9ac3d0;\\n}.mat-tree-container .mat-tree-node:hover li .mat-grid-list .mat-grid-logo .mat-icon {\\n color: white;\\n}.mat-tree-container .mat-tree-node:hover li .mat-grid-list .mat-grid-text .mat-label {\\n position: absolute;\\n left: 5px;\\n}.mat-tree-container .mat-tree-node:hover .item-btn {\\n cursor: pointer;\\n background-color: transparent;\\n}.mat-tree-container .mat-tree-node:hover .mat-divider {\\n cursor: pointer;\\n background-color: #00000008;\\n}.mat-tree-container .mat-nested-tree-node {\\n background-color: #ffffff;\\n width: 100%;\\n}.mat-tree-container .mat-nested-tree-node li {\\n cursor: pointer;\\n}.mat-tree-container .mat-nested-tree-node li .mat-grid-list {\\n /* background-color: blue; */\\n}.mat-tree-container .mat-nested-tree-node li .mat-grid-list .mat-grid-logo {\\n background-color: #9ac3d0;\\n}.mat-tree-container .mat-nested-tree-node li .mat-grid-list .mat-grid-logo .mat-icon {\\n color: white;\\n}.mat-tree-container .mat-nested-tree-node li .mat-grid-list .mat-grid-text .mat-label {\\n position: absolute;\\n left: 5px;\\n}.mat-tree-container .mat-nested-tree-node ul .mat-divider {\\n cursor: pointer;\\n background-color: transparent;\\n}.mat-tree-container .mat-nested-tree-node .mat-divider {\\n cursor: pointer;\\n background-color: #00000008;\\n}.mat-tree-container .mat-nested-tree-node:hover {\\n /* background-color: rgba(0, 125, 74, 0.5); */\\n width: 100%;\\n}.mat-tree-container .mat-nested-tree-node:hover ul .mat-divider {\\n cursor: pointer;\\n background-color: white !important;\\n}.mat-tree-container .mat-nested-tree-node:hover li {\\n cursor: pointer;\\n /* background-color: rgba(0, 125, 74, 0.5); */\\n}.mat-tree-container .mat-nested-tree-node:hover li .mat-grid-list {\\n /* background-color: white; */\\n}.mat-tree-container .mat-nested-tree-node:hover li .mat-grid-list .mat-grid-logo {\\n /* background-color: #9ac3d0; */\\n}.mat-tree-container .mat-nested-tree-node:hover li .mat-grid-list .mat-grid-logo .mat-icon {\\n color: white;\\n}.mat-tree-container .mat-nested-tree-node:hover li .mat-grid-list .mat-grid-text .mat-label {\\n position: absolute;\\n left: 5px;\\n background-color: transparent;\\n}.mat-tree-container .mat-nested-tree-node:hover li .mat-grid-list .mat-grid-expand .mat-label {\\n position: absolute;\\n left: 5px;\\n /* background-color: rgba(0, 125, 74, 0.5); */\\n}.mat-tree-container .mat-nested-tree-node:hover .item-btn {\\n cursor: pointer;\\n background-color: transparent;\\n}.mat-tree-container .mat-nested-tree-node:hover .mat-divider {\\n cursor: pointer;\\n background-color: #00000008;\\n}.icon_side_nav {\\n margin: 0.5rem !important;\\n color: #ffffff !important;\\n}.name_side_nav {\\n display: inline !important;\\n vertical-align: super !important;\\n}.mat-tree-container .mat-tree-node {\\n margin-bottom: 0.5rem !important;\\n background-color: #ABB6D6 !important;\\n min-height: 0px !important;\\n}.mat-tree-container .mat-tree-node:hover {\\n border-radius: 0px !important;\\n}.mat-tree-container .mat-tree-node:hover .icon_side_nav {\\n color: #ffffff !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9AYW5ndWxhci9tYXRlcmlhbC9wcmVidWlsdC10aGVtZXMvaW5kaWdvLXBpbmsuY3NzIiwibm9kZV9tb2R1bGVzL0BmdWxsY2FsZW5kYXIvY29yZS9tYWluLmNzcyIsIm5vZGVfbW9kdWxlcy9AZnVsbGNhbGVuZGFyL2RheWdyaWQvbWFpbi5jc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtY29udGFpbmVyL0Q6XFxGaXJtYXNEaWdpdGFsZXNGcm9udC9zcmNcXGFwcFxcc2hhcmVkXFxhcHAtY29udGFpbmVyXFxhcHAtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWNvbnRhaW5lci9hcHAtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWNvbnRhaW5lci9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3RkaW4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBQW1CLGVBQWUsQ0FBQyxjQUFjLENBQUMsOENBQThDLENBQUMsb0NBQW9DLGFBQWEsQ0FBQyxvQ0FBb0MsY0FBYyxDQUFDLHlDQUF5QyxxREFBcUQsQ0FBQyxlQUFlLENBQUMsc0NBQXNDLHFEQUFxRCxDQUFDLGVBQWUsQ0FBQyw2Q0FBNkMscURBQXFELENBQUMsZUFBZSxDQUFDLDZDQUE2QyxxREFBcUQsQ0FBQyxlQUFlLENBQUMsMkJBQTJCLGlFQUFpRSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsaUVBQWlFLENBQUMsZUFBZSxDQUFDLDZCQUE2QixxREFBcUQsQ0FBQyxzQ0FBc0MscURBQXFELENBQUMsNENBQTRDLGVBQWUsQ0FBQyx3QkFBd0IscURBQXFELENBQUMsOENBQThDLHVEQUF1RCxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyw4Q0FBOEMscURBQXFELENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLDhDQUE4QyxxREFBcUQsQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsOENBQThDLHFE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LENDaE9ZO0VBRUksNkJBQUE7QURpT2hCLENDaE9nQjtFQUVJLCtCQUFBO0FEaU9wQixDQ2hPb0I7RUFDSSxZQUFBO0FEa094QixDQzdOb0I7RUFDSSxrQkFBQTtFQUNBLFNBQUE7RUFDQSw2QkFBQTtBRCtOeEIsQ0N6Tm9CO0VBQ0ksa0JBQUE7RUFDQSxTQUFBO0VBQ0EsNkNBQUE7QUQyTnhCLENDcE5RO0VBQ0ksZUFBQTtFQUNBLDZCQUFBO0FEc05aLENDbk5RO0VBQ0ksZUFBQTtFQUNBLDJCQUFBO0FEcU5aLENDaE5BO0VBQ0kseUJBQUE7RUFDQSx5QkFBQTtBRG1OSixDQ2pOQTtFQUNJLDBCQUFBO0VBQ0EsZ0NBQUE7QURvTkosQ0NqTkE7RUFDSSxnQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsMEJBQUE7QURvTkosQ0NsTkE7RUFDSSw2QkFBQTtBRHFOSixDQ3BOSTtFQUNJLHlCQUFBO0FEc05SIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2FwcC1jb250YWluZXIvYXBwLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYXQtYmFkZ2UtY29udGVudHtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGwgLm1hdC1iYWRnZS1jb250ZW50e2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZSAubWF0LWJhZGdlLWNvbnRlbnR7Zm9udC1zaXplOjI0cHh9Lm1hdC1oMSwubWF0LWhlYWRsaW5lLC5tYXQtdHlwb2dyYXBoeSBoMXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO21hcmdpbjowIDAgMTZweH0ubWF0LWgyLC5tYXQtdGl0bGUsLm1hdC10eXBvZ3JhcGh5IGgye2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDMsLm1hdC1zdWJoZWFkaW5nLTIsLm1hdC10eXBvZ3JhcGh5IGgze2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDQsLm1hdC1zdWJoZWFkaW5nLTEsLm1hdC10eXBvZ3JhcGh5IGg0e2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDUsLm1hdC10eXBvZ3JhcGh5IGg1e2ZvbnQ6NDAwIGNhbGMoMTRweCAqIC44MykvMjBweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDYsLm1hdC10eXBvZ3JhcGh5IGg2e2ZvbnQ6NDAwIGNhbGMoMTRweCAqIC42NykvMjBweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS0yLC5tYXQtYm9keS1zdHJvbmd7Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWJvZHksLm1hdC1ib2R5LTEsLm1hdC10eXBvZ3JhcGh5e2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1ib2R5IHAsLm1hdC1ib2R5LTEgcCwubWF0LXR5cG9ncmFwaHkgcHttYXJnaW46MCAwIDEycHh9Lm1hdC1jYXB0aW9uLC5tYXQtc21hbGx7Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWRpc3BsYXktNCwubWF0LXR5cG9ncmFwaHkgLm1hdC1kaXNwbGF5LTR7Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0uMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTMsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0ze2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LS4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMiwubWF0LXR5cG9ncmFwaHkgLm1hdC1kaXNwbGF5LTJ7Zm9udDo0MDAgNDVweC80OHB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMSwubWF0LXR5cG9ncmFwaHkgLm1hdC1kaXNwbGF5LTF7Zm9udDo0MDAgMzRweC80MHB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVye2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1idXR0b24sLm1hdC1mYWIsLm1hdC1mbGF0LWJ1dHRvbiwubWF0LWljb24tYnV0dG9uLC5tYXQtbWluaS1mYWIsLm1hdC1yYWlzZWQtYnV0dG9uLC5tYXQtc3Ryb2tlZC1idXR0b257Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGV7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtY2FyZHtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxle2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyIC5tYXQtY2FyZC10aXRsZXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtY29udGVudCwubWF0LWNhcmQtc3VidGl0bGV7Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveHtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXQgLm1hdC1jaGVja2JveC1sYWJlbHtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb24sLm1hdC1jaGlwIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29ue2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGV7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGx7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbCwubWF0LWZvb3Rlci1jZWxse2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJ7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwsLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9ue2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlciB0aHtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGV7Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50e2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1mb3JtLWZpZWxke2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJ7cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29ue2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiwubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b257aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb24sLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCAubWF0LWljb24tYnV0dG9uIC5tYXQtaWNvbntoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoLjc1KTt3aWR0aDoxMzMuMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSguNzUpO3dpZHRoOjEzMy4zMzMzNCV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJ7dG9wOi0uODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWx7dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJ7cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cysubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoLjc1KTt3aWR0aDoxMzMuMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWiguMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzM0JX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWiguMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzM1JX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye21hcmdpbi10b3A6LjU0MTY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSguNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSguNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC1pbmZpeHtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LS41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLS41OTM3NWVtKSBzY2FsZSguNzUpO3dpZHRoOjEzMy4zMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjU5Mzc0ZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzM0JX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1pbmZpeHtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoLjc1KTt3aWR0aDoxMzMuMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoLjc1KTt3aWR0aDoxMzMuMzMzMzQlfS5tYXQtZ3JpZC10aWxlLWZvb3RlciwubWF0LWdyaWQtdGlsZS1oZWFkZXJ7Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtZm9vdGVyIC5tYXQtbGluZSwubWF0LWdyaWQtdGlsZS1oZWFkZXIgLm1hdC1saW5le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1mb290ZXIgLm1hdC1saW5lOm50aC1jaGlsZChuKzIpLC5tYXQtZ3JpZC10aWxlLWhlYWRlciAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnR7bWFyZ2luLXRvcDotLjA2MjVlbX0ubWF0LW1lbnUtaXRlbXtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yLC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSAubWF0LXNlbGVjdC10cmlnZ2Vye2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbntmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3R7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJ7aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudHtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci1ob3Jpem9udGFsLC5tYXQtc3RlcHBlci12ZXJ0aWNhbHtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVse2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9ye2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3J7Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVke2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cHtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWwsLm1hdC10YWItbGlua3tmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhciwubWF0LXRvb2xiYXIgaDEsLm1hdC10b29sYmFyIGgyLC5tYXQtdG9vbGJhciBoMywubWF0LXRvb2xiYXIgaDQsLm1hdC10b29sYmFyIGg1LC5tYXQtdG9vbGJhciBoNntmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO21hcmdpbjowfS5tYXQtdG9vbHRpcHtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldHtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVte2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9ue2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbSAubWF0LWxpbmV7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3Qtb3B0aW9ue2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1vcHRpb24gLm1hdC1saW5le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZSAubWF0LXN1YmhlYWRlcntmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3QtaXRlbXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LWl0ZW0gLm1hdC1saW5le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LWl0ZW0gLm1hdC1saW5lOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3Qtb3B0aW9ue2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1vcHRpb24gLm1hdC1saW5lOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LXN1YmhlYWRlcntmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9ue2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVse2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1zaW1wbGUtc25hY2tiYXJ7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbntsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZXtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1uZXN0ZWQtdHJlZS1ub2RlLC5tYXQtdHJlZS1ub2Rle2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWR7b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zZm9ybTpzY2FsZSgwKX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSl7Lm1hdC1yaXBwbGUtZWxlbWVudHtkaXNwbGF5Om5vbmV9fS5jZGstdmlzdWFsbHktaGlkZGVue2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIsLmNkay1vdmVybGF5LWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJ7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXI6ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcntkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5le3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoLjI1LC44LC4yNSwxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmd7b3BhY2l0eToxfUBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpey5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5ne29wYWNpdHk6LjZ9fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9we2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCwuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ3tvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3h7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja3twb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7LyohKi99QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7LyohKi99LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZDotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbi1uYW1lOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb24tbmFtZTpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXple3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmd7aGVpZ2h0OmF1dG8haW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiFpbXBvcnRhbnQ7cGFkZGluZzoycHggMCFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCFpbXBvcnRhbnR9Lm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjEpfS5tYXQtb3B0aW9ue2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LW9wdGlvbjpmb2N1czpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSk6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA0KX0ubWF0LW9wdGlvbi5tYXQtYWN0aXZle2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LW9wdGlvbi5tYXQtb3B0aW9uLWRpc2FibGVke2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXByaW1hcnkgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7Y29sb3I6IzNmNTFiNX0ubWF0LWFjY2VudCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtjb2xvcjojZmY0MDgxfS5tYXQtd2FybiAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtjb2xvcjojZjQ0MzM2fS5tYXQtb3B0Z3JvdXAtbGFiZWx7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtb3B0Z3JvdXAtZGlzYWJsZWQgLm1hdC1vcHRncm91cC1sYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1wc2V1ZG8tY2hlY2tib3h7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtcHNldWRvLWNoZWNrYm94OjphZnRlcntjb2xvcjojZmFmYWZhfS5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVke2NvbG9yOiNiMGIwYjB9Lm1hdC1wcmltYXJ5IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsLm1hdC1wcmltYXJ5IC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGV7YmFja2dyb3VuZDojM2Y1MWI1fS5tYXQtYWNjZW50IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsLm1hdC1hY2NlbnQgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSwubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGV7YmFja2dyb3VuZDojZmY0MDgxfS5tYXQtd2FybiAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLC5tYXQtd2FybiAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRle2JhY2tncm91bmQ6I2Y0NDMzNn0ubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWQsLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVke2JhY2tncm91bmQ6I2IwYjBiMH0ubWF0LWVsZXZhdGlvbi16MHtib3gtc2hhZG93OjAgMCAwIDAgcmdiYSgwLDAsMCwuMiksMCAwIDAgMCByZ2JhKDAsMCwwLC4xNCksMCAwIDAgMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejF7Ym94LXNoYWRvdzowIDJweCAxcHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDFweCAxcHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggM3B4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoye2JveC1zaGFkb3c6MCAzcHggMXB4IC0ycHggcmdiYSgwLDAsMCwuMiksMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16M3tib3gtc2hhZG93OjAgM3B4IDNweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgM3B4IDRweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA4cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejR7Ym94LXNoYWRvdzowIDJweCA0cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDRweCA1cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16NXtib3gtc2hhZG93OjAgM3B4IDVweCAtMXB4IHJnYmEoMCwwLDAsLjIpLDAgNXB4IDhweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxNHB4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXo2e2JveC1zaGFkb3c6MCAzcHggNXB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCA2cHggMTBweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxOHB4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXo3e2JveC1zaGFkb3c6MCA0cHggNXB4IC0ycHggcmdiYSgwLDAsMCwuMiksMCA3cHggMTBweCAxcHggcmdiYSgwLDAsMCwuMTQpLDAgMnB4IDE2cHggMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16OHtib3gtc2hhZG93OjAgNXB4IDVweCAtM3B4IHJnYmEoMCwwLDAsLjIpLDAgOHB4IDEwcHggMXB4IHJnYmEoMCwwLDAsLjE0KSwwIDNweCAxNHB4IDJweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejl7Ym94LXNoYWRvdzowIDVweCA2cHggLTNweCByZ2JhKDAsMCwwLC4yKSwwIDlweCAxMnB4IDFweCByZ2JhKDAsMCwwLC4xNCksMCAzcHggMTZweCAycHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoxMHtib3gtc2hhZG93OjAgNnB4IDZweCAtM3B4IHJnYmEoMCwwLDAsLjIpLDAgMTBweCAxNHB4IDFweCByZ2JhKDAsMCwwLC4xNCksMCA0cHggMThweCAzcHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoxMXtib3gtc2hhZG93OjAgNnB4IDdweCAtNHB4IHJnYmEoMCwwLDAsLjIpLDAgMTFweCAxNXB4IDFweCByZ2JhKDAsMCwwLC4xNCksMCA0cHggMjBweCAzcHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoxMntib3gtc2hhZG93OjAgN3B4IDhweCAtNHB4IHJnYmEoMCwwLDAsLjIpLDAgMTJweCAxN3B4IDJweCByZ2JhKDAsMCwwLC4xNCksMCA1cHggMjJweCA0cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoxM3tib3gtc2hhZG93OjAgN3B4IDhweCAtNHB4IHJnYmEoMCwwLDAsLjIpLDAgMTNweCAxOXB4IDJweCByZ2JhKDAsMCwwLC4xNCksMCA1cHggMjRweCA0cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoxNHtib3gtc2hhZG93OjAgN3B4IDlweCAtNHB4IHJnYmEoMCwwLDAsLjIpLDAgMTRweCAyMXB4IDJweCByZ2JhKDAsMCwwLC4xNCksMCA1cHggMjZweCA0cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoxNXtib3gtc2hhZG93OjAgOHB4IDlweCAtNXB4IHJnYmEoMCwwLDAsLjIpLDAgMTVweCAyMnB4IDJweCByZ2JhKDAsMCwwLC4xNCksMCA2cHggMjhweCA1cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoxNntib3gtc2hhZG93OjAgOHB4IDEwcHggLTVweCByZ2JhKDAsMCwwLC4yKSwwIDE2cHggMjRweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNnB4IDMwcHggNXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTd7Ym94LXNoYWRvdzowIDhweCAxMXB4IC01cHggcmdiYSgwLDAsMCwuMiksMCAxN3B4IDI2cHggMnB4IHJnYmEoMCwwLDAsLjE0KSwwIDZweCAzMnB4IDVweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejE4e2JveC1zaGFkb3c6MCA5cHggMTFweCAtNXB4IHJnYmEoMCwwLDAsLjIpLDAgMThweCAyOHB4IDJweCByZ2JhKDAsMCwwLC4xNCksMCA3cHggMzRweCA2cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoxOXtib3gtc2hhZG93OjAgOXB4IDEycHggLTZweCByZ2JhKDAsMCwwLC4yKSwwIDE5cHggMjlweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgN3B4IDM2cHggNnB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MjB7Ym94LXNoYWRvdzowIDEwcHggMTNweCAtNnB4IHJnYmEoMCwwLDAsLjIpLDAgMjBweCAzMXB4IDNweCByZ2JhKDAsMCwwLC4xNCksMCA4cHggMzhweCA3cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoyMXtib3gtc2hhZG93OjAgMTBweCAxM3B4IC02cHggcmdiYSgwLDAsMCwuMiksMCAyMXB4IDMzcHggM3B4IHJnYmEoMCwwLDAsLjE0KSwwIDhweCA0MHB4IDdweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejIye2JveC1zaGFkb3c6MCAxMHB4IDE0cHggLTZweCByZ2JhKDAsMCwwLC4yKSwwIDIycHggMzVweCAzcHggcmdiYSgwLDAsMCwuMTQpLDAgOHB4IDQycHggN3B4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MjN7Ym94LXNoYWRvdzowIDExcHggMTRweCAtN3B4IHJnYmEoMCwwLDAsLjIpLDAgMjNweCAzNnB4IDNweCByZ2JhKDAsMCwwLC4xNCksMCA5cHggNDRweCA4cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoyNHtib3gtc2hhZG93OjAgMTFweCAxNXB4IC03cHggcmdiYSgwLDAsMCwuMiksMCAyNHB4IDM4cHggM3B4IHJnYmEoMCwwLDAsLjE0KSwwIDlweCA0NnB4IDhweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1hcHAtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmE7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtdGhlbWUtbG9hZGVkLW1hcmtlcntkaXNwbGF5Om5vbmV9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWx7YmFja2dyb3VuZDojZmZmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgMnB4IDRweCAtMXB4IHJnYmEoMCwwLDAsLjIpLDAgNHB4IDVweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1hY3RpdmUpOm5vdCg6aG92ZXIpe2JhY2tncm91bmQ6I2ZmZn0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtYWN0aXZlKTpub3QoOmhvdmVyKTpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWJhZGdlLWNvbnRlbnR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiMzZjUxYjV9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpey5tYXQtYmFkZ2UtY29udGVudHtvdXRsaW5lOnNvbGlkIDFweDtib3JkZXItcmFkaXVzOjB9fS5tYXQtYmFkZ2UtYWNjZW50IC5tYXQtYmFkZ2UtY29udGVudHtiYWNrZ3JvdW5kOiNmZjQwODE7Y29sb3I6I2ZmZn0ubWF0LWJhZGdlLXdhcm4gLm1hdC1iYWRnZS1jb250ZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZDojZjQ0MzM2fS5tYXQtYmFkZ2V7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1iYWRnZS1oaWRkZW4gLm1hdC1iYWRnZS1jb250ZW50e2Rpc3BsYXk6bm9uZX0ubWF0LWJhZGdlLWRpc2FibGVkIC5tYXQtYmFkZ2UtY29udGVudHtiYWNrZ3JvdW5kOiNiOWI5Yjk7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtYmFkZ2UtY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXItcmFkaXVzOjUwJTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC42KTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7cG9pbnRlci1ldmVudHM6bm9uZX0ubWF0LWJhZGdlLWNvbnRlbnQuX21hdC1hbmltYXRpb24tbm9vcGFibGUsLm5nLWFuaW1hdGUtZGlzYWJsZWQgLm1hdC1iYWRnZS1jb250ZW50e3RyYW5zaXRpb246bm9uZX0ubWF0LWJhZGdlLWNvbnRlbnQubWF0LWJhZGdlLWFjdGl2ZXt0cmFuc2Zvcm06bm9uZX0ubWF0LWJhZGdlLXNtYWxsIC5tYXQtYmFkZ2UtY29udGVudHt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2xpbmUtaGVpZ2h0OjE2cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2UtYWJvdmUgLm1hdC1iYWRnZS1jb250ZW50e3RvcDotOHB4fS5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWJlbG93IC5tYXQtYmFkZ2UtY29udGVudHtib3R0b206LThweH0ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTE2cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi0xNnB4fS5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMTZweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMTZweH0ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LThweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0OmF1dG87cmlnaHQ6LThweH0ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6LThweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotOHB4fS5tYXQtYmFkZ2UtbWVkaXVtIC5tYXQtYmFkZ2UtY29udGVudHt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2xpbmUtaGVpZ2h0OjIycHh9Lm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLWFib3ZlIC5tYXQtYmFkZ2UtY29udGVudHt0b3A6LTExcHh9Lm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLWJlbG93IC5tYXQtYmFkZ2UtY29udGVudHtib3R0b206LTExcHh9Lm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDotMjJweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi0yMnB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6LTIycHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6YXV0bztsZWZ0Oi0yMnB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTExcHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6YXV0bztyaWdodDotMTFweH0ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0Oi0xMXB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMTFweH0ubWF0LWJhZGdlLWxhcmdlIC5tYXQtYmFkZ2UtY29udGVudHt3aWR0aDoyOHB4O2hlaWdodDoyOHB4O2xpbmUtaGVpZ2h0OjI4cHh9Lm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYWJvdmUgLm1hdC1iYWRnZS1jb250ZW50e3RvcDotMTRweH0ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1iZWxvdyAubWF0LWJhZGdlLWNvbnRlbnR7Ym90dG9tOi0xNHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDotMjhweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0OmF1dG87cmlnaHQ6LTI4cHh9Lm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0Oi0yOHB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6YXV0bztsZWZ0Oi0yOHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDotMTRweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0OmF1dG87cmlnaHQ6LTE0cHh9Lm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0Oi0xNHB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6YXV0bztsZWZ0Oi0xNHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcntib3gtc2hhZG93OjAgOHB4IDEwcHggLTVweCByZ2JhKDAsMCwwLC4yKSwwIDE2cHggMjRweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNnB4IDMwcHggNXB4IHJnYmEoMCwwLDAsLjEyKTtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtYnV0dG9uLC5tYXQtaWNvbi1idXR0b24sLm1hdC1zdHJva2VkLWJ1dHRvbntjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6MCAwfS5tYXQtYnV0dG9uLm1hdC1wcmltYXJ5LC5tYXQtaWNvbi1idXR0b24ubWF0LXByaW1hcnksLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeXtjb2xvcjojM2Y1MWI1fS5tYXQtYnV0dG9uLm1hdC1hY2NlbnQsLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWFjY2VudHtjb2xvcjojZmY0MDgxfS5tYXQtYnV0dG9uLm1hdC13YXJuLC5tYXQtaWNvbi1idXR0b24ubWF0LXdhcm4sLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fS5tYXQtYnV0dG9uLm1hdC1hY2NlbnRbZGlzYWJsZWRdLC5tYXQtYnV0dG9uLm1hdC1wcmltYXJ5W2Rpc2FibGVkXSwubWF0LWJ1dHRvbi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1idXR0b25bZGlzYWJsZWRdW2Rpc2FibGVkXSwubWF0LWljb24tYnV0dG9uLm1hdC1hY2NlbnRbZGlzYWJsZWRdLC5tYXQtaWNvbi1idXR0b24ubWF0LXByaW1hcnlbZGlzYWJsZWRdLC5tYXQtaWNvbi1idXR0b24ubWF0LXdhcm5bZGlzYWJsZWRdLC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdW2Rpc2FibGVkXSwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1hY2NlbnRbZGlzYWJsZWRdLC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXByaW1hcnlbZGlzYWJsZWRdLC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm5bZGlzYWJsZWRdLC5tYXQtc3Ryb2tlZC1idXR0b25bZGlzYWJsZWRdW2Rpc2FibGVkXXtjb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6IzNmNTFiNX0ubWF0LWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtYnV0dG9uLm1hdC13YXJuIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbi5tYXQtd2FybiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1idXR0b25bZGlzYWJsZWRdIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LXN0cm9rZWQtYnV0dG9uW2Rpc2FibGVkXSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm1hdC1idXR0b24gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWljb24tYnV0dG9uIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50e29wYWNpdHk6LjE7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9Lm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kOiMwMDB9Lm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoW2Rpc2FibGVkXSl7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWZhYiwubWF0LWZsYXQtYnV0dG9uLC5tYXQtbWluaS1mYWIsLm1hdC1yYWlzZWQtYnV0dG9ue2NvbG9yOnJnYmEoMCwwLDAsLjg3KTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lm1hdC1mYWIubWF0LXByaW1hcnksLm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeSwubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeXtjb2xvcjojZmZmfS5tYXQtZmFiLm1hdC1hY2NlbnQsLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtbWluaS1mYWIubWF0LWFjY2VudCwubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudHtjb2xvcjojZmZmfS5tYXQtZmFiLm1hdC13YXJuLC5tYXQtZmxhdC1idXR0b24ubWF0LXdhcm4sLm1hdC1taW5pLWZhYi5tYXQtd2FybiwubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm57Y29sb3I6I2ZmZn0ubWF0LWZhYi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LWZhYi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1mYWIubWF0LXdhcm5bZGlzYWJsZWRdLC5tYXQtZmFiW2Rpc2FibGVkXVtkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5W2Rpc2FibGVkXSwubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LWZsYXQtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF0sLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5W2Rpc2FibGVkXSwubWF0LW1pbmktZmFiLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LW1pbmktZmFiW2Rpc2FibGVkXVtkaXNhYmxlZF0sLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1hY2NlbnRbZGlzYWJsZWRdLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LXJhaXNlZC1idXR0b25bZGlzYWJsZWRdW2Rpc2FibGVkXXtjb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1mYWIubWF0LXByaW1hcnksLm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeSwubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjV9Lm1hdC1mYWIubWF0LWFjY2VudCwubWF0LWZsYXQtYnV0dG9uLm1hdC1hY2NlbnQsLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50e2JhY2tncm91bmQtY29sb3I6I2ZmNDA4MX0ubWF0LWZhYi5tYXQtd2FybiwubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuLC5tYXQtbWluaS1mYWIubWF0LXdhcm4sLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJue2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LWZhYi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LWZhYi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1mYWIubWF0LXdhcm5bZGlzYWJsZWRdLC5tYXQtZmFiW2Rpc2FibGVkXVtkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5W2Rpc2FibGVkXSwubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LWZsYXQtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF0sLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5W2Rpc2FibGVkXSwubWF0LW1pbmktZmFiLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LW1pbmktZmFiW2Rpc2FibGVkXVtkaXNhYmxlZF0sLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1hY2NlbnRbZGlzYWJsZWRdLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LXJhaXNlZC1idXR0b25bZGlzYWJsZWRdW2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWZhYi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWZhYi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tYXQtZmFiLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtbWluaS1mYWIubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tYXQtZmxhdC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksLm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgMCAwIDAgcmdiYSgwLDAsMCwuMiksMCAwIDAgMCByZ2JhKDAsMCwwLC4xNCksMCAwIDAgMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1yYWlzZWQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MCAzcHggMXB4IC0ycHggcmdiYSgwLDAsMCwuMiksMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LXJhaXNlZC1idXR0b246bm90KFtkaXNhYmxlZF0pOmFjdGl2ZTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgNXB4IDVweCAtM3B4IHJnYmEoMCwwLDAsLjIpLDAgOHB4IDEwcHggMXB4IHJnYmEoMCwwLDAsLjE0KSwwIDNweCAxNHB4IDJweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1yYWlzZWQtYnV0dG9uW2Rpc2FibGVkXTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgMCAwIDAgcmdiYSgwLDAsMCwuMiksMCAwIDAgMCByZ2JhKDAsMCwwLC4xNCksMCAwIDAgMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1mYWI6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksLm1hdC1taW5pLWZhYjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgM3B4IDVweCAtMXB4IHJnYmEoMCwwLDAsLjIpLDAgNnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMThweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWZhYjpub3QoW2Rpc2FibGVkXSk6YWN0aXZlOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pLC5tYXQtbWluaS1mYWI6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgN3B4IDhweCAtNHB4IHJnYmEoMCwwLDAsLjIpLDAgMTJweCAxN3B4IDJweCByZ2JhKDAsMCwwLC4xNCksMCA1cHggMjJweCA0cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZmFiW2Rpc2FibGVkXTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSwubWF0LW1pbmktZmFiW2Rpc2FibGVkXTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgMCAwIDAgcmdiYSgwLDAsMCwuMiksMCAwIDAgMCByZ2JhKDAsMCwwLC4xNCksMCAwIDAgMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25le2JveC1zaGFkb3c6MCAzcHggMXB4IC0ycHggcmdiYSgwLDAsMCwuMiksMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCwubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJke2JveC1zaGFkb3c6bm9uZX0ubWF0LWJ1dHRvbi10b2dnbGV7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtYnV0dG9uLXRvZ2dsZSAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZHtjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7YmFja2dyb3VuZDojZmZmfS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6IzAwMH0ubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUrLm1hdC1idXR0b24tdG9nZ2xle2JvcmRlci1sZWZ0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMil9W2Rpcj1ydGxdIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZSsubWF0LWJ1dHRvbi10b2dnbGV7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItcmlnaHQ6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZC5tYXQtYnV0dG9uLXRvZ2dsZS12ZXJ0aWNhbCAubWF0LWJ1dHRvbi10b2dnbGUrLm1hdC1idXR0b24tdG9nZ2xle2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0Om5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6I2UwZTBlMDtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZHtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVke2NvbG9yOnJnYmEoMCwwLDAsLjI2KTtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9Lm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmR7YmFja2dyb3VuZDojZmZmfS5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZC5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6I2JkYmRiZH0ubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCwubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJke2JvcmRlcjpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtY2FyZHtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtY2FyZDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgMnB4IDFweCAtMXB4IHJnYmEoMCwwLDAsLjIpLDAgMXB4IDFweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAzcHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1jYXJkLm1hdC1jYXJkLWZsYXQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtY2FyZC1zdWJ0aXRsZXtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1jaGVja2JveC1mcmFtZXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtY2hlY2tib3gtY2hlY2ttYXJre2ZpbGw6I2ZhZmFmYX0ubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoe3N0cm9rZTojZmFmYWZhIWltcG9ydGFudH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmJsYWNrLW9uLXdoaXRlKXsubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoe3N0cm9rZTojMDAwIWltcG9ydGFudH19Lm1hdC1jaGVja2JveC1taXhlZG1hcmt7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhfS5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtcHJpbWFyeSAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC1wcmltYXJ5IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjV9Lm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC13YXJuIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCwubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LXdhcm4gLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LWNoZWNrYm94LWRpc2FibGVkLm1hdC1jaGVja2JveC1jaGVja2VkIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCwubWF0LWNoZWNrYm94LWRpc2FibGVkLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNiMGIwYjB9Lm1hdC1jaGVja2JveC1kaXNhYmxlZDpub3QoLm1hdC1jaGVja2JveC1jaGVja2VkKSAubWF0LWNoZWNrYm94LWZyYW1le2JvcmRlci1jb2xvcjojYjBiMGIwfS5tYXQtY2hlY2tib3gtZGlzYWJsZWQgLm1hdC1jaGVja2JveC1sYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpey5tYXQtY2hlY2tib3gtZGlzYWJsZWR7b3BhY2l0eTouNX19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpey5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOjAgMH19Lm1hdC1jaGVja2JveCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6IzAwMH0ubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1jaGVja2JveDphY3RpdmU6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDojM2Y1MWI1fS5tYXQtY2hlY2tib3gtY2hlY2tlZDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtY2hlY2tib3g6YWN0aXZlOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDojZmY0MDgxfS5tYXQtY2hlY2tib3gtY2hlY2tlZDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWNoZWNrYm94OmFjdGl2ZTpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kOiNmNDQzMzZ9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwe2JhY2tncm91bmQtY29sb3I6I2UwZTBlMDtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1yZW1vdmV7Y29sb3I6cmdiYSgwLDAsMCwuODcpO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpOmFjdGl2ZXtib3gtc2hhZG93OjAgM3B4IDNweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgM3B4IDRweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA4cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpIC5tYXQtY2hpcC1yZW1vdmU6aG92ZXJ7b3BhY2l0eTouNTR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLWRpc2FibGVke29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOjphZnRlcntiYWNrZ3JvdW5kOiMwMDB9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6IzNmNTFiNTtjb2xvcjojZmZmfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtcHJpbWFyeSAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOiNmZmY7b3BhY2l0eTouNH0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtd2FybntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzY7Y29sb3I6I2ZmZn0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXdhcm4gLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODE7Y29sb3I6I2ZmZn0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudCAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOiNmZmY7b3BhY2l0eTouNH0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm1hdC10YWJsZXtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC10YWJsZSB0Ym9keSwubWF0LXRhYmxlIHRmb290LC5tYXQtdGFibGUgdGhlYWQsLm1hdC10YWJsZS1zdGlja3ksW21hdC1mb290ZXItcm93XSxbbWF0LWhlYWRlci1yb3ddLFttYXQtcm93XSxtYXQtZm9vdGVyLXJvdyxtYXQtaGVhZGVyLXJvdyxtYXQtcm93e2JhY2tncm91bmQ6aW5oZXJpdH1tYXQtZm9vdGVyLXJvdyxtYXQtaGVhZGVyLXJvdyxtYXQtcm93LHRkLm1hdC1jZWxsLHRkLm1hdC1mb290ZXItY2VsbCx0aC5tYXQtaGVhZGVyLWNlbGx7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1oZWFkZXItY2VsbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1jZWxsLC5tYXQtZm9vdGVyLWNlbGx7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtY2FsZW5kYXItYXJyb3d7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbiwubWF0LWRhdGVwaWNrZXItY29udGVudCAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbiwubWF0LWRhdGVwaWNrZXItdG9nZ2xle2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcntjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlcjo6YWZ0ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVse2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50e2NvbG9yOnJnYmEoMCwwLDAsLjg3KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9Lm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCl7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCksLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpLC5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpe2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS10b2RheTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMTgpfS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjU7Y29sb3I6I2ZmZn0ubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQ+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6cmdiYSg2Myw4MSwxODEsLjQpfS5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50e2JveC1zaGFkb3c6MCAycHggNHB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCA0cHggNXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODE7Y29sb3I6I2ZmZn0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSw2NCwxMjksLjQpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNjtjb2xvcjojZmZmfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NCw2Nyw1NCwuNCl9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQtdG91Y2h7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtZGF0ZXBpY2tlci10b2dnbGUtYWN0aXZle2NvbG9yOiMzZjUxYjV9Lm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmUubWF0LWFjY2VudHtjb2xvcjojZmY0MDgxfS5tYXQtZGF0ZXBpY2tlci10b2dnbGUtYWN0aXZlLm1hdC13YXJue2NvbG9yOiNmNDQzMzZ9Lm1hdC1kaWFsb2ctY29udGFpbmVye2JveC1zaGFkb3c6MCAxMXB4IDE1cHggLTdweCByZ2JhKDAsMCwwLC4yKSwwIDI0cHggMzhweCAzcHggcmdiYSgwLDAsMCwuMTQpLDAgOXB4IDQ2cHggOHB4IHJnYmEoMCwwLDAsLjEyKTtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtZGl2aWRlcntib3JkZXItdG9wLWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWRpdmlkZXItdmVydGljYWx7Ym9yZGVyLXJpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWV4cGFuc2lvbi1wYW5lbHtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtZXhwYW5zaW9uLXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MCAzcHggMXB4IC0ycHggcmdiYSgwLDAsMCwuMiksMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWFjdGlvbi1yb3d7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1leHBhbnNpb24tcGFuZWwgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSksLm1hdC1leHBhbnNpb24tcGFuZWwgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSwubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCl9QG1lZGlhIChob3Zlcjpub25lKXsubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCk6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDojZmZmfX0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGV7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtZXhwYW5zaW9uLWluZGljYXRvcjo6YWZ0ZXIsLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9ue2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXXtjb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uLC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlclthcmlhLWRpc2FibGVkPXRydWVdIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10aXRsZXtjb2xvcjppbmhlcml0fS5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC42KX0ubWF0LWhpbnR7Y29sb3I6cmdiYSgwLDAsMCwuNil9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjojM2Y1MWI1fS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtbGFiZWwubWF0LWFjY2VudHtjb2xvcjojZmY0MDgxfS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtbGFiZWwubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn0ubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJlcXVpcmVkLW1hcmtlcntjb2xvcjojZmY0MDgxfS5tYXQtZm9ybS1maWVsZC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC13YXJue2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6IzNmNTFiNX0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpLm1hdC1hY2NlbnQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZmY0MDgxfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb2N1c2VkOm5vdCgubWF0LWZvcm0tZmllbGQtaW52YWxpZCkubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2VyLC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtYWNjZW50e2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtZXJyb3J7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1oaW50e2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjQyKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDAsMCwwLC40MikgMCxyZ2JhKDAsMCwwLC40MikgMzMlLHRyYW5zcGFyZW50IDApO2JhY2tncm91bmQtc2l6ZTo0cHggMTAwJTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNDIpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgwLDAsMCwuNDIpIDAscmdiYSgwLDAsMCwuNDIpIDMzJSx0cmFuc3BhcmVudCAwKTtiYWNrZ3JvdW5kLXNpemU6NHB4IDEwMCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtZmxleHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA0KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1mbGV4e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDIpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNDIpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmV7Y29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7Y29sb3I6IzNmNTFiNX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb2N1c2VkLm1hdC1hY2NlbnQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7Y29sb3I6I2ZmNDA4MX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb2N1c2VkLm1hdC13YXJuIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1pbnZhbGlkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZXtjb2xvcjpyZ2JhKDAsMCwwLC4wNil9Lm1hdC1pY29uLm1hdC1wcmltYXJ5e2NvbG9yOiMzZjUxYjV9Lm1hdC1pY29uLm1hdC1hY2NlbnR7Y29sb3I6I2ZmNDA4MX0ubWF0LWljb24ubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyLC5tYXQtaW5wdXQtZWxlbWVudDpkaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1pbnB1dC1lbGVtZW50e2NhcmV0LWNvbG9yOiMzZjUxYjV9Lm1hdC1pbnB1dC1lbGVtZW50OjpwbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDAsMCwwLC40Mil9Lm1hdC1pbnB1dC1lbGVtZW50OjotbW96LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoMCwwLDAsLjQyKX0ubWF0LWlucHV0LWVsZW1lbnQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSgwLDAsMCwuNDIpfS5tYXQtaW5wdXQtZWxlbWVudDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSgwLDAsMCwuNDIpfS5tYXQtYWNjZW50IC5tYXQtaW5wdXQtZWxlbWVudHtjYXJldC1jb2xvcjojZmY0MDgxfS5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtaW5wdXQtZWxlbWVudCwubWF0LXdhcm4gLm1hdC1pbnB1dC1lbGVtZW50e2NhcmV0LWNvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye2NvbG9yOiNmNDQzMzZ9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW17Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1vcHRpb257Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtbGlzdC1iYXNlIC5tYXQtc3ViaGVhZGVye2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWxpc3QtaXRlbS1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9Lm1hdC1hY3Rpb24tbGlzdCAubWF0LWxpc3QtaXRlbTpmb2N1cywubWF0LWFjdGlvbi1saXN0IC5tYXQtbGlzdC1pdGVtOmhvdmVyLC5tYXQtbGlzdC1vcHRpb246Zm9jdXMsLm1hdC1saXN0LW9wdGlvbjpob3ZlciwubWF0LW5hdi1saXN0IC5tYXQtbGlzdC1pdGVtOmZvY3VzLC5tYXQtbmF2LWxpc3QgLm1hdC1saXN0LWl0ZW06aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1tZW51LXBhbmVse2JhY2tncm91bmQ6I2ZmZn0ubWF0LW1lbnUtcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDJweCA0cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDRweCA1cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LW1lbnUtaXRlbXtiYWNrZ3JvdW5kOjAgMDtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdLC5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXTo6YWZ0ZXJ7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbi1uby1jb2xvciwubWF0LW1lbnUtaXRlbS1zdWJtZW51LXRyaWdnZXI6OmFmdGVye2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LW1lbnUtaXRlbS1oaWdobGlnaHRlZDpub3QoW2Rpc2FibGVkXSksLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KFtkaXNhYmxlZF0pLC5tYXQtbWVudS1pdGVtLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KFtkaXNhYmxlZF0pLC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA0KX0ubWF0LXBhZ2luYXRvcntiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1wYWdpbmF0b3IsLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIC5tYXQtc2VsZWN0LXRyaWdnZXJ7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCwubWF0LXBhZ2luYXRvci1pbmNyZW1lbnR7Ym9yZGVyLXRvcDoycHggc29saWQgcmdiYSgwLDAsMCwuNTQpO2JvcmRlci1yaWdodDoycHggc29saWQgcmdiYSgwLDAsMCwuNTQpfS5tYXQtcGFnaW5hdG9yLWZpcnN0LC5tYXQtcGFnaW5hdG9yLWxhc3R7Ym9yZGVyLXRvcDoycHggc29saWQgcmdiYSgwLDAsMCwuNTQpfS5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCwubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1maXJzdCwubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1pbmNyZW1lbnQsLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItbGFzdHtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmR7ZmlsbDojYzVjYWU5fS5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjNWNhZTl9Lm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC1hY2NlbnQgLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZHtmaWxsOiNmZjgwYWJ9Lm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCAubWF0LXByb2dyZXNzLWJhci1idWZmZXJ7YmFja2dyb3VuZC1jb2xvcjojZmY4MGFifS5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC1hY2NlbnQgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC13YXJuIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmR7ZmlsbDojZmZjZGQyfS5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC13YXJuIC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmNkZDJ9Lm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4gLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBjaXJjbGUsLm1hdC1zcGlubmVyIGNpcmNsZXtzdHJva2U6IzNmNTFiNX0ubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LWFjY2VudCBjaXJjbGUsLm1hdC1zcGlubmVyLm1hdC1hY2NlbnQgY2lyY2xle3N0cm9rZTojZmY0MDgxfS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtd2FybiBjaXJjbGUsLm1hdC1zcGlubmVyLm1hdC13YXJuIGNpcmNsZXtzdHJva2U6I2Y0NDMzNn0ubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjojM2Y1MWI1fS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUpLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnk6YWN0aXZlIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOiNmZjQwODF9Lm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudCAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUpLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50OmFjdGl2ZSAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6I2ZmNDA4MX0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2Fybi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6I2Y0NDMzNn0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2FybiAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2FybiAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2Fybi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuOmFjdGl2ZSAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZCAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZCAubWF0LXJhZGlvLWxhYmVsLWNvbnRlbnR7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcmFkaW8tYnV0dG9uIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5tYXQtc2VsZWN0LXZhbHVle2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXNlbGVjdC1wbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDAsMCwwLC40Mil9Lm1hdC1zZWxlY3QtZGlzYWJsZWQgLm1hdC1zZWxlY3QtdmFsdWV7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtc2VsZWN0LWFycm93e2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LXNlbGVjdC1wYW5lbHtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1zZWxlY3QtcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDJweCA0cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDRweCA1cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQubWF0LXByaW1hcnkgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6IzNmNTFiNX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQubWF0LWFjY2VudCAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojZmY0MDgxfS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZC5tYXQtd2FybiAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZCAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWludmFsaWQgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1kaXNhYmxlZCAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1kcmF3ZXItY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYTtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1kcmF3ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWRyYXdlci5tYXQtZHJhd2VyLXB1c2h7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtZHJhd2VyOm5vdCgubWF0LWRyYXdlci1zaWRlKXtib3gtc2hhZG93OjAgOHB4IDEwcHggLTVweCByZ2JhKDAsMCwwLC4yKSwwIDE2cHggMjRweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNnB4IDMwcHggNXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWRyYXdlci1zaWRle2JvcmRlci1yaWdodDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZHJhd2VyLXNpZGUubWF0LWRyYXdlci1lbmR7Ym9yZGVyLWxlZnQ6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKTtib3JkZXItcmlnaHQ6bm9uZX1bZGlyPXJ0bF0gLm1hdC1kcmF3ZXItc2lkZXtib3JkZXItbGVmdDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpO2JvcmRlci1yaWdodDpub25lfVtkaXI9cnRsXSAubWF0LWRyYXdlci1zaWRlLm1hdC1kcmF3ZXItZW5ke2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1kcmF3ZXItYmFja2Ryb3AubWF0LWRyYXdlci1zaG93bntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpfS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie2JhY2tncm91bmQtY29sb3I6I2ZmNDA4MX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSw2NCwxMjksLjU0KX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6I2ZmNDA4MX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtcHJpbWFyeS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjV9Lm1hdC1zbGlkZS10b2dnbGUubWF0LXByaW1hcnkubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSg2Myw4MSwxODEsLjU0KX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtcHJpbWFyeS5tYXQtY2hlY2tlZCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6IzNmNTFiNX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtd2Fybi5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1zbGlkZS10b2dnbGUubWF0LXdhcm4ubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDQsNjcsNTQsLjU0KX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtd2Fybi5tYXQtY2hlY2tlZCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LXNsaWRlLXRvZ2dsZTpub3QoLm1hdC1jaGVja2VkKSAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6IzAwMH0ubWF0LXNsaWRlLXRvZ2dsZS10aHVtYntib3gtc2hhZG93OjAgMnB4IDFweCAtMXB4IHJnYmEoMCwwLDAsLjIpLDAgMXB4IDFweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAzcHggMCByZ2JhKDAsMCwwLC4xMik7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhfS5tYXQtc2xpZGUtdG9nZ2xlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci10aHVtYiwubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwsLm1hdC1wcmltYXJ5IC5tYXQtc2xpZGVyLXRyYWNrLWZpbGx7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e2NvbG9yOiNmZmZ9Lm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwsLm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdHJhY2stZmlsbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtjb2xvcjojZmZmfS5tYXQtd2FybiAubWF0LXNsaWRlci10aHVtYiwubWF0LXdhcm4gLm1hdC1zbGlkZXItdGh1bWItbGFiZWwsLm1hdC13YXJuIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGx7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtd2FybiAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e2NvbG9yOiNmZmZ9Lm1hdC1zbGlkZXItZm9jdXMtcmluZ3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDY0LDEyOSwuMil9LmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQsLm1hdC1zbGlkZXI6aG92ZXIgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYiwubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kLC5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1zbGlkZXItZGlzYWJsZWQ6aG92ZXIgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LXNsaWRlci1taW4tdmFsdWUgLm1hdC1zbGlkZXItZm9jdXMtcmluZ3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtc2xpZGVyLW1pbi12YWx1ZS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZy5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYiwubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZykgLm1hdC1zbGlkZXItdGh1bWJ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjI2KTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZykuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKTpob3ZlciAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZykuY2RrLWZvY3VzZWQubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYiwubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpOmhvdmVyLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdGh1bWJ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LXNsaWRlci1oYXMtdGlja3MgLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdGlja3N7YmFja2dyb3VuZC1pbWFnZTpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJnYmEoMCwwLDAsLjcpLHJnYmEoMCwwLDAsLjcpIDJweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi1tb3otcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCguMDAwMWRlZyxyZ2JhKDAsMCwwLC43KSxyZ2JhKDAsMCwwLC43KSAycHgsdHJhbnNwYXJlbnQgMCx0cmFuc3BhcmVudCl9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3N7YmFja2dyb3VuZC1pbWFnZTpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxyZ2JhKDAsMCwwLC43KSxyZ2JhKDAsMCwwLC43KSAycHgsdHJhbnNwYXJlbnQgMCx0cmFuc3BhcmVudCl9Lm1hdC1zdGVwLWhlYWRlci5jZGsta2V5Ym9hcmQtZm9jdXNlZCwubWF0LXN0ZXAtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQsLm1hdC1zdGVwLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA0KX1AbWVkaWEgKGhvdmVyOm5vbmUpey5tYXQtc3RlcC1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDowIDB9fS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLW9wdGlvbmFse2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1pY29ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNTQpO2NvbG9yOiNmZmZ9Lm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCwubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsLm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0e2JhY2tncm91bmQtY29sb3I6IzNmNTFiNTtjb2xvcjojZmZmfS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc3RhdGUtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjojZjQ0MzM2fS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWFjdGl2ZXtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtbGFiZWwubWF0LXN0ZXAtbGFiZWwtZXJyb3J7Y29sb3I6I2Y0NDMzNn0ubWF0LXN0ZXBwZXItaG9yaXpvbnRhbCwubWF0LXN0ZXBwZXItdmVydGljYWx7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtc3RlcHBlci12ZXJ0aWNhbC1saW5lOjpiZWZvcmV7Ym9yZGVyLWxlZnQtY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcjo6YWZ0ZXIsLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjpiZWZvcmUsLm1hdC1zdGVwcGVyLWhvcml6b250YWwtbGluZXtib3JkZXItdG9wLWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LXNvcnQtaGVhZGVyLWFycm93e2NvbG9yOiM3NTc1NzV9Lm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpfS5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlciAubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIC5tYXQtdGFiLW5hdi1iYXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpO2JvcmRlci1ib3R0b206bm9uZX0ubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1saW5re2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXRhYi1ncm91cFtjbGFzcyo9bWF0LWJhY2tncm91bmQtXSAubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItbmF2LWJhcltjbGFzcyo9bWF0LWJhY2tncm91bmQtXXtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLXRvcDpub25lfS5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTk3LDIwMiwyMzMsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjV9Lm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LWluay1iYXIsLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeS5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDEyOCwxNzEsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjA1LDIxMCwuMyl9Lm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LXRhYi1ncm91cC5tYXQtd2Fybi5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgxOTcsMjAyLDIzMywuMyl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmtzLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rc3tiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjV9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmssLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5re2NvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVkLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMTI4LDE3MSwuMyl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWhlYWRlciwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24sLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmtzLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWhlYWRlciwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rc3tiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmt7Y29sb3I6I2ZmZn0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVkLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjA1LDIxMCwuMyl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxpbmtzLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rc3tiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxpbmssLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5re2NvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVkLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfS5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOiNmNWY1ZjU7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtdG9vbGJhci5tYXQtcHJpbWFyeXtiYWNrZ3JvdW5kOiMzZjUxYjU7Y29sb3I6I2ZmZn0ubWF0LXRvb2xiYXIubWF0LWFjY2VudHtiYWNrZ3JvdW5kOiNmZjQwODE7Y29sb3I6I2ZmZn0ubWF0LXRvb2xiYXIubWF0LXdhcm57YmFja2dyb3VuZDojZjQ0MzM2O2NvbG9yOiNmZmZ9Lm1hdC10b29sYmFyIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLC5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQtcmlwcGxlLC5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfS5tYXQtdG9vbGJhciAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC10b29sYmFyIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvdywubWF0LXRvb2xiYXIgLm1hdC1zZWxlY3QtYXJyb3csLm1hdC10b29sYmFyIC5tYXQtc2VsZWN0LXZhbHVle2NvbG9yOmluaGVyaXR9Lm1hdC10b29sYmFyIC5tYXQtaW5wdXQtZWxlbWVudHtjYXJldC1jb2xvcjpjdXJyZW50Q29sb3J9Lm1hdC10b29sdGlwe2JhY2tncm91bmQ6cmdiYSg5Nyw5Nyw5NywuOSl9Lm1hdC10cmVle2JhY2tncm91bmQ6I2ZmZn0ubWF0LW5lc3RlZC10cmVlLW5vZGUsLm1hdC10cmVlLW5vZGV7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtc25hY2stYmFyLWNvbnRhaW5lcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KTtiYWNrZ3JvdW5kOiMzMjMyMzI7Ym94LXNoYWRvdzowIDNweCA1cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDZweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDE4cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9ue2NvbG9yOiNmZjQwODF9IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLmZjIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5mYy1ydGwge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuYm9keSAuZmMge1xuICAvKiBleHRyYSBwcmVjZWRlbmNlIHRvIG92ZXJjb21lIGpxdWkgKi9cbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWhpZ2hsaWdodCB7XG4gIC8qIHdoZW4gdXNlciBpcyBzZWxlY3RpbmcgY2VsbHMgKi9cbiAgYmFja2dyb3VuZDogI2JjZThmMTtcbiAgb3BhY2l0eTogMC4zO1xufVxuXG4uZmMtYmdldmVudCB7XG4gIC8qIGRlZmF1bHQgbG9vayBmb3IgYmFja2dyb3VuZCBldmVudHMgKi9cbiAgYmFja2dyb3VuZDogIzhmZGY4MjtcbiAgb3BhY2l0eTogMC4zO1xufVxuXG4uZmMtbm9uYnVzaW5lc3Mge1xuICAvKiBkZWZhdWx0IGxvb2sgZm9yIG5vbi1idXNpbmVzcy1ob3VycyBhcmVhcyAqL1xuICAvKiB3aWxsIGluaGVyaXQgLmZjLWJnZXZlbnQncyBzdHlsZXMgKi9cbiAgYmFja2dyb3VuZDogI2Q3ZDdkNztcbn1cblxuLyogUG9wb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4uZmMtcG9wb3ZlciAuZmMtaGVhZGVyIHtcbiAgLyogVE9ETzogYmUgbW9yZSBjb25zaXN0ZW50IHdpdGggZmMtaGVhZC9mYy1ib2R5ICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMnB4IDRweDtcbn1cblxuLmZjLXJ0bCAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy10aXRsZSB7XG4gIG1hcmdpbjogMCAycHg7XG59XG5cbi5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLWNsb3NlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjY1O1xuICBmb250LXNpemU6IDEuMWVtO1xufVxuXG4vKiBNaXNjIFJldXNhYmxlIENvbXBvbmVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1kaXZpZGVyIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG59XG5cbmhyLmZjLWRpdmlkZXIge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAwIDJweDtcbiAgLyogaGVpZ2h0IGlzIHVucmVsaWFibGUgYWNyb3NzIGJyb3dzZXJzLCBzbyB1c2UgcGFkZGluZyAqL1xuICBib3JkZXItd2lkdGg6IDFweCAwO1xufVxuXG4uZmMtYmcsXG4uZmMtYmdldmVudC1za2VsZXRvbixcbi5mYy1oaWdobGlnaHQtc2tlbGV0b24sXG4uZmMtbWlycm9yLXNrZWxldG9uIHtcbiAgLyogdGhlc2UgZWxlbWVudCBzaG91bGQgYWx3YXlzIGNsaW5nIHRvIHRvcC1sZWZ0L3JpZ2h0IGNvcm5lcnMgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4uZmMtYmcge1xuICBib3R0b206IDA7XG4gIC8qIHN0cmVjaCBiZyB0byBib3R0b20gZWRnZSAqL1xufVxuXG4uZmMtYmcgdGFibGUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8qIHN0cmVjaCBiZyB0byBib3R0b20gZWRnZSAqL1xufVxuXG4vKiBUYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYyB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiBmaXggc2Nyb2xsYmFyIGlzc3VlIGluIGZpcmVmb3ggKi9cbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiBub3JtYWxpemUgY3Jvc3MtYnJvd3NlciAqL1xufVxuXG4uZmMgdGgge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mYyB0aCxcbi5mYyB0ZCB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uZmMgdGQuZmMtdG9kYXkge1xuICBib3JkZXItc3R5bGU6IGRvdWJsZTtcbiAgLyogb3ZlcmNvbWUgbmVpZ2hib3JpbmcgYm9yZGVycyAqL1xufVxuXG4vKiBJbnRlcm5hbCBOYXYgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmFbZGF0YS1nb3RvXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuYVtkYXRhLWdvdG9dOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qIEZha2UgVGFibGUgUm93c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjIC5mYy1yb3cge1xuICAvKiBleHRyYSBwcmVjZWRlbmNlIHRvIG92ZXJjb21lIHRoZW1lcyBmb3JjaW5nIGEgMXB4IGJvcmRlciAqL1xuICAvKiBubyB2aXNpYmxlIGJvcmRlciBieSBkZWZhdWx0LiBidXQgbWFrZSBhdmFpbGFibGUgaWYgbmVlZCBiZSAoc2Nyb2xsYmFyIHdpZHRoIGNvbXBlbnNhdGlvbikgKi9cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG4uZmMtcm93IHRhYmxlIHtcbiAgLyogZG9uJ3QgcHV0IGxlZnQvcmlnaHQgYm9yZGVyIG9uIGFueXRoaW5nIHdpdGhpbiBhIGZha2Ugcm93LlxuICAgICB0aGUgb3V0ZXIgdGJvZHkgd2lsbCB3b3JyeSBhYm91dCB0aGlzICovXG4gIGJvcmRlci1sZWZ0OiAwIGhpZGRlbiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwIGhpZGRlbiB0cmFuc3BhcmVudDtcbiAgLyogbm8gYm90dG9tIGJvcmRlcnMgb24gcm93cyAqL1xuICBib3JkZXItYm90dG9tOiAwIGhpZGRlbiB0cmFuc3BhcmVudDtcbn1cblxuLmZjLXJvdzpmaXJzdC1jaGlsZCB0YWJsZSB7XG4gIGJvcmRlci10b3A6IDAgaGlkZGVuIHRyYW5zcGFyZW50O1xuICAvKiBubyB0b3AgYm9yZGVyIG9uIGZpcnN0IHJvdyAqL1xufVxuXG4vKiBEYXkgUm93ICh1c2VkIHdpdGhpbiB0aGUgaGVhZGVyIGFuZCB0aGUgRGF5R3JpZClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mYy1yb3cgLmZjLWJnIHtcbiAgei1pbmRleDogMTtcbn1cblxuLyogaGlnaGxpZ2h0aW5nIGNlbGxzICYgYmFja2dyb3VuZCBldmVudCBza2VsZXRvbiAqL1xuLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbixcbi5mYy1yb3cgLmZjLWhpZ2hsaWdodC1za2VsZXRvbiB7XG4gIGJvdHRvbTogMDtcbiAgLyogc3RyZXRjaCBza2VsZXRvbiB0byBib3R0b20gb2Ygcm93ICovXG59XG5cbi5mYy1yb3cgLmZjLWJnZXZlbnQtc2tlbGV0b24gdGFibGUsXG4uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24gdGFibGUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8qIHN0cmV0Y2ggc2tlbGV0b24gdG8gYm90dG9tIG9mIHJvdyAqL1xufVxuXG4uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24gdGQsXG4uZmMtcm93IC5mYy1iZ2V2ZW50LXNrZWxldG9uIHRkIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbiB7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5mYy1yb3cgLmZjLWhpZ2hsaWdodC1za2VsZXRvbiB7XG4gIHotaW5kZXg6IDM7XG59XG5cbi8qXG5yb3cgY29udGVudCAod2hpY2ggY29udGFpbnMgZGF5L3dlZWsgbnVtYmVycyBhbmQgZXZlbnRzKSBhcyB3ZWxsIGFzIFwibWlycm9yXCIgKHdoaWNoIGNvbnRhaW5zXG50ZW1wb3JhcnkgcmVuZGVyZWQgZXZlbnRzKS5cbiovXG4uZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA0O1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICAvKiBtYXRjaGVzIHRoZSBzcGFjZSBhYm92ZSB0aGUgZXZlbnRzICovXG59XG5cbi5mYy1yb3cgLmZjLW1pcnJvci1za2VsZXRvbiB7XG4gIHotaW5kZXg6IDU7XG59XG5cbi5mYyAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRhYmxlLFxuLmZjIC5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGQsXG4uZmMgLmZjLXJvdyAuZmMtbWlycm9yLXNrZWxldG9uIHRkIHtcbiAgLyogc2VlLXRocm91Z2ggdG8gdGhlIGJhY2tncm91bmQgYmVsb3cgKi9cbiAgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBwcmV2ZW50IHRoZW1lLXByb3ZpZGVkIGJhY2tncm91bmRzICovXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIC8qIGluIGNhc2UgPHRkPnMgYXJlIGdsb2JhbGx5IHN0eWxlZCAqL1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRkLFxuLmZjLXJvdyAuZmMtbWlycm9yLXNrZWxldG9uIHRkIHtcbiAgLyogZG9uJ3QgcHV0IGEgYm9yZGVyIGJldHdlZW4gZXZlbnRzIGFuZC9vciB0aGUgZGF5IG51bWJlciAqL1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRib2R5IHRkLFxuLmZjLXJvdyAuZmMtbWlycm9yLXNrZWxldG9uIHRib2R5IHRkIHtcbiAgLyogZG9uJ3QgcHV0IGEgYm9yZGVyIGJldHdlZW4gZXZlbnQgY2VsbHMgKi9cbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLyogU2Nyb2xsaW5nIENvbnRhaW5lclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXNjcm9sbGVyIHtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4vKiBUT0RPOiBtb3ZlIHRvIHRpbWVncmlkL2RheWdyaWQgKi9cbi5mYy1zY3JvbGxlciA+IC5mYy1kYXktZ3JpZCxcbi5mYy1zY3JvbGxlciA+IC5mYy10aW1lLWdyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIHJlLXNjb3BlIGFsbCBwb3NpdGlvbnMgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIGhhY2sgdG8gZm9yY2UgcmUtc2l6aW5nIHRoaXMgaW5uZXIgZWxlbWVudCB3aGVuIHNjcm9sbGJhcnMgYXBwZWFyL2Rpc2FwcGVhciAqL1xufVxuXG4vKiBHbG9iYWwgRXZlbnQgU3R5bGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtZXZlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIGZvciByZXNpemUgaGFuZGxlIGFuZCBvdGhlciBpbm5lciBwb3NpdGlvbmluZyAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgLyogbWFrZSB0aGUgPGE+IHRhZyBibG9jayAqL1xuICBmb250LXNpemU6IDAuODVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzc4OGQ4O1xufVxuXG4uZmMtZXZlbnQsXG4uZmMtZXZlbnQtZG90IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM3ODhkODtcbiAgLyogZGVmYXVsdCBCQUNLR1JPVU5EIGNvbG9yICovXG59XG5cbi5mYy1ldmVudCxcbi5mYy1ldmVudDpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICAvKiBkZWZhdWx0IFRFWFQgY29sb3IgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAvKiBpZiA8YT4gaGFzIGFuIGhyZWYgKi9cbn1cblxuLmZjLWV2ZW50W2hyZWZdLFxuLmZjLWV2ZW50LmZjLWRyYWdnYWJsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogZ2l2ZSBldmVudHMgd2l0aCBsaW5rcyBhbmQgZHJhZ2dhYmxlIGV2ZW50cyBhIGhhbmQgbW91c2UgcG9pbnRlciAqL1xufVxuXG4uZmMtbm90LWFsbG93ZWQsXG4uZmMtbm90LWFsbG93ZWQgLmZjLWV2ZW50IHtcbiAgLyogdG8gb3ZlcnJpZGUgYW4gZXZlbnQncyBjdXN0b20gY3Vyc29yICovXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5mYy1ldmVudCAuZmMtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuLyogcmVzaXplciAoY3Vyc29yIEFORCB0b3VjaCBkZXZpY2VzKSAqL1xuLmZjLWV2ZW50IC5mYy1yZXNpemVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA0O1xufVxuXG4vKiByZXNpemVyICh0b3VjaCBkZXZpY2VzKSAqL1xuLmZjLWV2ZW50IC5mYy1yZXNpemVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZjLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtcmVzaXplcixcbi5mYy1ldmVudC5mYy1zZWxlY3RlZCAuZmMtcmVzaXplciB7XG4gIC8qIG9ubHkgc2hvdyB3aGVuIGhvdmVyaW5nIG9yIHNlbGVjdGVkICh3aXRoIHRvdWNoKSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogaGl0IGFyZWEgKi9cbi5mYy1ldmVudC5mYy1zZWxlY3RlZCAuZmMtcmVzaXplcjpiZWZvcmUge1xuICAvKiA0MHg0MCB0b3VjaCBhcmVhICovXG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogOTk5OTtcbiAgLyogdXNlciBvZiB0aGlzIHV0aWwgY2FuIHNjb3BlIHdpdGhpbiBhIGxvd2VyIHotaW5kZXggKi9cbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbn1cblxuLyogRXZlbnQgU2VsZWN0aW9uIChvbmx5IGZvciB0b3VjaCBkZXZpY2VzKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWV2ZW50LmZjLXNlbGVjdGVkIHtcbiAgei1pbmRleDogOTk5OSAhaW1wb3J0YW50O1xuICAvKiBvdmVyY29tZXMgaW5saW5lIHotaW5kZXggKi9cbiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLmZjLWV2ZW50LmZjLXNlbGVjdGVkOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICAvKiBzYW1lIHotaW5kZXggYXMgZmMtYmcsIGJlaGluZCB0ZXh0ICovXG4gIC8qIG92ZXJjb21lIHRoZSBib3JkZXJzICovXG4gIHRvcDogLTFweDtcbiAgcmlnaHQ6IC0xcHg7XG4gIGJvdHRvbTogLTFweDtcbiAgbGVmdDogLTFweDtcbiAgLyogZGFya2VuaW5nIGVmZmVjdCAqL1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjI1O1xufVxuXG4vKiBFdmVudCBEcmFnZ2luZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWV2ZW50LmZjLWRyYWdnaW5nLmZjLXNlbGVjdGVkIHtcbiAgYm94LXNoYWRvdzogMCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLmZjLWV2ZW50LmZjLWRyYWdnaW5nOm5vdCguZmMtc2VsZWN0ZWQpIHtcbiAgb3BhY2l0eTogMC43NTtcbn1cblxuLyogSG9yaXpvbnRhbCBFdmVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIGJpZ2dlciB0b3VjaCBhcmVhIHdoZW4gc2VsZWN0ZWQgKi9cbi5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMztcbiAgLyogYmVsb3cgcmVzaXplcnMgKi9cbiAgdG9wOiAtMTBweDtcbiAgYm90dG9tOiAtMTBweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi8qIGV2ZW50cyB0aGF0IGFyZSBjb250aW51aW5nIHRvL2Zyb20gYW5vdGhlciB3ZWVrLiBraWxsIHJvdW5kZWQgY29ybmVycyBhbmQgYnV0dCB1cCBhZ2FpbnN0IGVkZ2UgKi9cbi5mYy1sdHIgLmZjLWgtZXZlbnQuZmMtbm90LXN0YXJ0LFxuLmZjLXJ0bCAuZmMtaC1ldmVudC5mYy1ub3QtZW5kIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDFweDtcbiAgLyogcmVwbGFjZSB0aGUgYm9yZGVyIHdpdGggcGFkZGluZyAqL1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4uZmMtbHRyIC5mYy1oLWV2ZW50LmZjLW5vdC1lbmQsXG4uZmMtcnRsIC5mYy1oLWV2ZW50LmZjLW5vdC1zdGFydCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAxcHg7XG4gIC8qIHJlcGxhY2UgdGhlIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4vKiByZXNpemVyIChjdXJzb3IgQU5EIHRvdWNoIGRldmljZXMpICovXG4vKiBsZWZ0IHJlc2l6ZXIgICovXG4uZmMtbHRyIC5mYy1oLWV2ZW50IC5mYy1zdGFydC1yZXNpemVyLFxuLmZjLXJ0bCAuZmMtaC1ldmVudCAuZmMtZW5kLXJlc2l6ZXIge1xuICBjdXJzb3I6IHctcmVzaXplO1xuICBsZWZ0OiAtMXB4O1xuICAvKiBvdmVyY29tZSBib3JkZXIgKi9cbn1cblxuLyogcmlnaHQgcmVzaXplciAqL1xuLmZjLWx0ciAuZmMtaC1ldmVudCAuZmMtZW5kLXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1oLWV2ZW50IC5mYy1zdGFydC1yZXNpemVyIHtcbiAgY3Vyc29yOiBlLXJlc2l6ZTtcbiAgcmlnaHQ6IC0xcHg7XG4gIC8qIG92ZXJjb21lIGJvcmRlciAqL1xufVxuXG4vKiByZXNpemVyIChtb3VzZSBkZXZpY2VzKSAqL1xuLmZjLWgtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1yZXNpemVyIHtcbiAgd2lkdGg6IDdweDtcbiAgdG9wOiAtMXB4O1xuICAvKiBvdmVyY29tZSB0b3AgYm9yZGVyICovXG4gIGJvdHRvbTogLTFweDtcbiAgLyogb3ZlcmNvbWUgYm90dG9tIGJvcmRlciAqL1xufVxuXG4vKiByZXNpemVyICh0b3VjaCBkZXZpY2VzKSAqL1xuLmZjLWgtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXJlc2l6ZXIge1xuICAvKiA4eDggbGl0dGxlIGRvdCAqL1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAvKiB2ZXJ0aWNhbGx5IGNlbnRlciAqL1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTRweDtcbn1cblxuLyogbGVmdCByZXNpemVyICAqL1xuLmZjLWx0ciAuZmMtaC1ldmVudC5mYy1zZWxlY3RlZCAuZmMtc3RhcnQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWgtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLWVuZC1yZXNpemVyIHtcbiAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gIC8qIGNlbnRlcnMgdGhlIDh4OCBkb3Qgb24gdGhlIGxlZnQgZWRnZSAqL1xufVxuXG4vKiByaWdodCByZXNpemVyICovXG4uZmMtbHRyIC5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1lbmQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWgtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXN0YXJ0LXJlc2l6ZXIge1xuICBtYXJnaW4tcmlnaHQ6IC00cHg7XG4gIC8qIGNlbnRlcnMgdGhlIDh4OCBkb3Qgb24gdGhlIHJpZ2h0IGVkZ2UgKi9cbn1cblxuLyogRGF5R3JpZCBldmVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbldlIHVzZSB0aGUgZnVsbCBcImZjLWRheS1ncmlkLWV2ZW50XCIgY2xhc3MgaW5zdGVhZCBvZiB1c2luZyBkZXNjZW5kYW50cyBiZWNhdXNlIHRoZSBldmVudCB3b24ndFxuYmUgYSBkZXNjZW5kYW50IG9mIHRoZSBncmlkIHdoZW4gaXQgaXMgYmVpbmcgZHJhZ2dlZC5cbiovXG4uZmMtZGF5LWdyaWQtZXZlbnQge1xuICBtYXJnaW46IDFweCAycHggMDtcbiAgLyogc3BhY2luZyBiZXR3ZWVuIGV2ZW50cyBhbmQgZWRnZXMgKi9cbiAgcGFkZGluZzogMCAxcHg7XG59XG5cbnRyOmZpcnN0LWNoaWxkID4gdGQgPiAuZmMtZGF5LWdyaWQtZXZlbnQge1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIC8qIGEgbGl0dGxlIGJpdCBtb3JlIHNwYWNlIGJlZm9yZSB0aGUgZmlyc3QgZXZlbnQgKi9cbn1cblxuLmZjLW1pcnJvci1za2VsZXRvbiB0cjpmaXJzdC1jaGlsZCA+IHRkID4gLmZjLWRheS1ncmlkLWV2ZW50IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgLyogZXhjZXB0IGZvciBtaXJyb3Igc2tlbGV0b24gKi9cbn1cblxuLmZjLWRheS1ncmlkLWV2ZW50IC5mYy1jb250ZW50IHtcbiAgLyogZm9yY2UgZXZlbnRzIHRvIGJlIG9uZS1saW5lIHRhbGwgKi9cbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZjLWRheS1ncmlkLWV2ZW50IC5mYy10aW1lIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIHJlc2l6ZXIgKGN1cnNvciBkZXZpY2VzKSAqL1xuLyogbGVmdCByZXNpemVyICAqL1xuLmZjLWx0ciAuZmMtZGF5LWdyaWQtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1zdGFydC1yZXNpemVyLFxuLmZjLXJ0bCAuZmMtZGF5LWdyaWQtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1lbmQtcmVzaXplciB7XG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAvKiB0byB0aGUgZGF5IGNlbGwncyBlZGdlICovXG59XG5cbi8qIHJpZ2h0IHJlc2l6ZXIgKi9cbi5mYy1sdHIgLmZjLWRheS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtZW5kLXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1kYXktZ3JpZC1ldmVudC5mYy1hbGxvdy1tb3VzZS1yZXNpemUgLmZjLXN0YXJ0LXJlc2l6ZXIge1xuICBtYXJnaW4tcmlnaHQ6IC0ycHg7XG4gIC8qIHRvIHRoZSBkYXkgY2VsbCdzIGVkZ2UgKi9cbn1cblxuLyogRXZlbnQgTGltaXRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFwibW9yZVwiIGxpbmsgdGhhdCByZXByZXNlbnRzIGhpZGRlbiBldmVudHMgKi9cbmEuZmMtbW9yZSB7XG4gIG1hcmdpbjogMXB4IDNweDtcbiAgZm9udC1zaXplOiAwLjg1ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hLmZjLW1vcmU6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmZjLWxpbWl0ZWQge1xuICAvKiByb3dzIGFuZCBjZWxscyB0aGF0IGFyZSBoaWRkZW4gYmVjYXVzZSBvZiBhIFwibW9yZVwiIGxpbmsgKi9cbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogcG9wb3ZlciB0aGF0IGFwcGVhcnMgd2hlbiBcIm1vcmVcIiBsaW5rIGlzIGNsaWNrZWQgKi9cbi5mYy1kYXktZ3JpZCAuZmMtcm93IHtcbiAgei1pbmRleDogMTtcbiAgLyogbWFrZSB0aGUgXCJtb3JlXCIgcG9wb3ZlciBvbmUgaGlnaGVyIHRoYW4gdGhpcyAqL1xufVxuXG4uZmMtbW9yZS1wb3BvdmVyIHtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDIyMHB4O1xufVxuXG4uZmMtbW9yZS1wb3BvdmVyIC5mYy1ldmVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4vKiBOb3cgSW5kaWNhdG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtbm93LWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiAwIHNvbGlkIHJlZDtcbn1cblxuLyogVXRpbGl0aWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdW5zZWxlY3RhYmxlIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLypcblRPRE86IG1vcmUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGlzIGZpbGUgYW5kIGNvbW1vbi5jc3NcbiovXG4vKiBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy11bnRoZW1lZCB0aCxcbi5mYy11bnRoZW1lZCB0ZCxcbi5mYy11bnRoZW1lZCB0aGVhZCxcbi5mYy11bnRoZW1lZCB0Ym9keSxcbi5mYy11bnRoZW1lZCAuZmMtZGl2aWRlcixcbi5mYy11bnRoZW1lZCAuZmMtcm93LFxuLmZjLXVudGhlbWVkIC5mYy1jb250ZW50LFxuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyLFxuLmZjLXVudGhlbWVkIC5mYy1saXN0LXZpZXcsXG4uZmMtdW50aGVtZWQgLmZjLWxpc3QtaGVhZGluZyB0ZCB7XG4gIGJvcmRlci1jb2xvcjogI2RkZDtcbn1cblxuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmZjLXVudGhlbWVkIC5mYy1kaXZpZGVyLFxuLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIsXG4uZmMtdW50aGVtZWQgLmZjLWxpc3QtaGVhZGluZyB0ZCB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG59XG5cbi5mYy11bnRoZW1lZCB0ZC5mYy10b2RheSB7XG4gIGJhY2tncm91bmQ6ICNmY2Y4ZTM7XG59XG5cbi5mYy11bnRoZW1lZCAuZmMtZGlzYWJsZWQtZGF5IHtcbiAgYmFja2dyb3VuZDogI2Q3ZDdkNztcbiAgb3BhY2l0eTogMC4zO1xufVxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZyb20gaHR0cHM6Ly9mZWF0aGVyaWNvbnMuY29tLyBhbmQgYnVpbHQgd2l0aCBJY29Nb29uXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZjaWNvbnNcIjtcbiAgc3JjOiB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmZBQUFBQzhBQUFBWUdOdFlYQVhWdEtOQUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1WmdZeWR4SUFBQUY0QUFBRk5HaGxZV1FVSjdjSUFBQUdyQUFBQURab2FHVmhCMjBEekFBQUJ1UUFBQUFrYUcxMGVDSUFCaFFBQUFjSUFBQUFMR3h2WTJFRDRBVTZBQUFITkFBQUFCaHRZWGh3QUE4QWpBQUFCMHdBQUFBZ2JtRnRaWHNyNjkwQUFBZHNBQUFCaG5CdmMzUUFBd0FBQUFBSTlBQUFBQ0FBQXdQQUFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcEJnUEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2UWIvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBV0lBalFLZUFza0FFd0FBSlNjM05qUW5KaUlIQVFZVUZ3RVdNamMyTkNjQ251TGlEUTBNSkF6L0FBME5BUUFNSkF3TkRjbmk0Z3dqRFF3TS93QU5Jd3ovQUEwTkRDTU5BQUFBQVFGaUFJMENuZ0xKQUJNQUFDVUJOalFuQVNZaUJ3WVVId0VIQmhRWEZqSTNBWjRCQUEwTi93QU1KQXdORGVMaURRME1KQXlOQVFBTUl3MEJBQXdNRFNNTTR1SU5Jd3dORFFBQUFBSUE0Z0MzQXg0Q25nQVRBQ2NBQUNVbk56WTBKeVlpRHdFR0ZCOEJGakkzTmpRbklTYzNOalFuSmlJUEFRWVVId0VXTWpjMk5DY0I4N2UzRFEwTUl3M1ZEUTNWRFNNTURRMEJLN2UzRFEwTUpBelZEUTNWRENRTURRM3p1TGNNSkF3TkRkVU5Jd3pXREF3Tkl3eTR0d3drREEwTjFRMGpETllNREEwakRBQUFBZ0RpQUxjREhnS2VBQk1BSndBQUpUYzJOQzhCSmlJSEJoUWZBUWNHRkJjV01qY2hOelkwTHdFbUlnY0dGQjhCQndZVUZ4WXlOd0pKMVEwTjFRMGpEQTBOdDdjTkRRd2pEZjdWMVEwTjFRd2tEQTBOdDdjTkRRd2tETGZXRENNTjFRME5EQ1FNdDdnTUl3ME1ETllNSXczVkRRME1KQXkzdUF3akRRd01BQUFEQUZVQUFBT3JBMVVBTXdCb0FIY0FBQk1pQmdjT0FRY09BUWNPQVJVUkZCWVhIZ0VYSGdFWEhnRXpJVEkyTno0Qk56NEJOejRCTlJFMEppY3VBU2N1QVNjdUFTTUZJVElXRng0QkZ4NEJGeDRCRlJFVUJnY09BUWNPQVFjT0FTTWhJaVluTGdFbkxnRW5MZ0UxRVRRMk56NEJOejRCTno0Qk14TWhNalkxTkNZaklTSUdGUlFXTTlVTkdBd0xGUWtKRGdVRkJRVUZCUTRKQ1JVTERCZ05BbFlOR0F3TEZRa0pEZ1VGQlFVRkJRNEpDUlVMREJnTi9hb0NWZ1FJQkFRSEF3TUZBUUlCQVFJQkJRTURCd1FFQ0FUOXFnUUlCQVFIQXdNRkFRSUJBUUlCQlFNREJ3UUVDQVNBQVZZUkdSa1IvcW9SR1JrUkExVUZCQVVPQ1FrVkRBc1pEZjJyRFJrTERCVUpDQTRGQlFVRkJRVU9DUWdWREFzWkRRSlZEUmtMREJVSkNRNEZCQVZWQWdFQ0JRTUNCd1FFQ0FYOXF3UUpBd1FIQXdNRkFRSUNBZ0lCQlFNREJ3UURDUVFDVlFVSUJBUUhBZ01GQWdFQy9vQVpFaEVaR1JFU0dRQUFBQUFEQUZVQUFBT3JBMVVBTXdCb0FJa0FBQk1pQmdjT0FRY09BUWNPQVJVUkZCWVhIZ0VYSGdFWEhnRXpJVEkyTno0Qk56NEJOejRCTlJFMEppY3VBU2N1QVNjdUFTTUZJVElXRng0QkZ4NEJGeDRCRlJFVUJnY09BUWNPQVFjT0FTTWhJaVluTGdFbkxnRW5MZ0UxRVRRMk56NEJOejRCTno0Qk14TXpGUlFXTXpJMlBRRXpNalkxTkNZckFUVTBKaU1pQmgwQkl5SUdGUlFXTTlVTkdBd0xGUWtKRGdVRkJRVUZCUTRKQ1JVTERCZ05BbFlOR0F3TEZRa0pEZ1VGQlFVRkJRNEpDUlVMREJnTi9hb0NWZ1FJQkFRSEF3TUZBUUlCQVFJQkJRTURCd1FFQ0FUOXFnUUlCQVFIQXdNRkFRSUJBUUlCQlFNREJ3UUVDQVNBZ0JrU0VobUFFUmtaRVlBWkVoSVpnQkVaR1JFRFZRVUVCUTRKQ1JVTUN4a04vYXNOR1FzTUZRa0lEZ1VGQlFVRkJRNEpDQlVNQ3hrTkFsVU5HUXNNRlFrSkRnVUVCVlVDQVFJRkF3SUhCQVFJQmYyckJBa0RCQWNEQXdVQkFnSUNBZ0VGQXdNSEJBTUpCQUpWQlFnRUJBY0NBd1VDQVFMK2dJQVNHUmtTZ0JrU0VSbUFFaGtaRW9BWkVSSVpBQUFCQU9JQWpRTWVBc2tBSUFBQUV4Y0hCaFFYRmpJL0FSY1dNamMyTkM4Qk56WTBKeVlpRHdFbkppSUhCaFFYNHVMaURRME1KQXppNGd3a0RBME40dUlORFF3a0RPTGlEQ1FNRFEwQ2plTGlEU01NRFEzaDRRME5EQ01ONHVJTUl3ME1ET0xpREF3Tkl3d0FBQUFCQUFBQUFRQUFhNW4weTE4UFBQVUFDd1FBQUFBQUFOaXZPVnNBQUFBQTJLODVXd0FBQUFBRHF3TlZBQUFBQ0FBQ0FBQUFBQUFBQUFFQUFBUEEvOEFBQUFRQUFBQUFBQU9yQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFMQkFBQUFBQUFBQUFBQUFBQUFnQUFBQVFBQVdJRUFBRmlCQUFBNGdRQUFPSUVBQUJWQkFBQVZRUUFBT0lBQUFBQUFBb0FGQUFlQUVRQWFnQ3FBT29CbmdKa0Fwb0FBUUFBQUFzQWlnQURBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNEFyZ0FCQUFBQUFBQUJBQWNBQUFBQkFBQUFBQUFDQUFjQVlBQUJBQUFBQUFBREFBY0FOZ0FCQUFBQUFBQUVBQWNBZFFBQkFBQUFBQUFGQUFzQUZRQUJBQUFBQUFBR0FBY0FTd0FCQUFBQUFBQUtBQm9BaWdBREFBRUVDUUFCQUE0QUJ3QURBQUVFQ1FBQ0FBNEFad0FEQUFFRUNRQURBQTRBUFFBREFBRUVDUUFFQUE0QWZBQURBQUVFQ1FBRkFCWUFJQUFEQUFFRUNRQUdBQTRBVWdBREFBRUVDUUFLQURRQXBHWmphV052Ym5NQVpnQmpBR2tBWXdCdkFHNEFjMVpsY25OcGIyNGdNUzR3QUZZQVpRQnlBSE1BYVFCdkFHNEFJQUF4QUM0QU1HWmphV052Ym5NQVpnQmpBR2tBWXdCdkFHNEFjMlpqYVdOdmJuTUFaZ0JqQUdrQVl3QnZBRzRBYzFKbFozVnNZWElBVWdCbEFHY0FkUUJzQUdFQWNtWmphV052Ym5NQVpnQmpBR2tBWXdCdkFHNEFjMFp2Ym5RZ1oyVnVaWEpoZEdWa0lHSjVJRWxqYjAxdmIyNHVBRVlBYndCdUFIUUFJQUJuQUdVQWJnQmxBSElBWVFCMEFHVUFaQUFnQUdJQWVRQWdBRWtBWXdCdkFFMEFid0J2QUc0QUxnQUFBQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPVwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLmZjLWljb24ge1xuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICBmb250LWZhbWlseTogXCJmY2ljb25zXCIgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uZmMtaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIBcIjtcbn1cblxuLmZjLWljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kgVwiO1xufVxuXG4uZmMtaWNvbi1jaGV2cm9ucy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSCXCI7XG59XG5cbi5mYy1pY29uLWNoZXZyb25zLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSDXCI7XG59XG5cbi5mYy1pY29uLW1pbnVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6khFwiO1xufVxuXG4uZmMtaWNvbi1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6khVwiO1xufVxuXG4uZmMtaWNvbi14OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSGXCI7XG59XG5cbi5mYy1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBCdXR0b25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTG90cyB0YWtlbiBmcm9tIEZsYXRseSAoTUlUKTogaHR0cHM6Ly9ib290c3dhdGNoLmNvbS80L2ZsYXRseS9ib290c3RyYXAuY3NzXG4qL1xuLyogcmVzZXQgKi9cbi5mYy1idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5mYy1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbi5mYy1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLmZjLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZjLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogdGhlbWUgKi9cbi5mYy1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMC40ZW0gMC42NWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xufVxuXG4uZmMtYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmZjLWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDQsIDYyLCA4MCwgMC4yNSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQ0LCA2MiwgODAsIDAuMjUpO1xufVxuXG4uZmMtYnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC42NTtcbn1cblxuLyogXCJwcmltYXJ5XCIgY29sb3JpbmcgKi9cbi5mYy1idXR0b24tcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMzRTUwO1xuICBib3JkZXItY29sb3I6ICMyQzNFNTA7XG59XG5cbi5mYy1idXR0b24tcHJpbWFyeTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyYjM3O1xuICBib3JkZXItY29sb3I6ICMxYTI1MmY7XG59XG5cbi5mYy1idXR0b24tcHJpbWFyeTpmb2N1cyB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNzYsIDkxLCAxMDYsIDAuNSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDc2LCA5MSwgMTA2LCAwLjUpO1xufVxuXG4uZmMtYnV0dG9uLXByaW1hcnk6ZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJDM0U1MDtcbiAgYm9yZGVyLWNvbG9yOiAjMkMzRTUwO1xufVxuXG4uZmMtYnV0dG9uLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6YWN0aXZlLFxuLmZjLWJ1dHRvbi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpLmZjLWJ1dHRvbi1hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhMjUyZjtcbiAgYm9yZGVyLWNvbG9yOiAjMTUxZTI3O1xufVxuXG4uZmMtYnV0dG9uLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6YWN0aXZlOmZvY3VzLFxuLmZjLWJ1dHRvbi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpLmZjLWJ1dHRvbi1hY3RpdmU6Zm9jdXMge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDc2LCA5MSwgMTA2LCAwLjUpO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg3NiwgOTEsIDEwNiwgMC41KTtcbn1cblxuLyogaWNvbnMgd2l0aGluIGJ1dHRvbnMgKi9cbi5mYy1idXR0b24gLmZjLWljb24ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuXG4vKiBCdXR0b25zIEdyb3Vwc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWJ1dHRvbi1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uZmMtYnV0dG9uLWdyb3VwID4gLmZjLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b246aG92ZXIge1xuICB6LWluZGV4OiAxO1xufVxuXG4uZmMtYnV0dG9uLWdyb3VwID4gLmZjLWJ1dHRvbjpmb2N1cyxcbi5mYy1idXR0b24tZ3JvdXAgPiAuZmMtYnV0dG9uOmFjdGl2ZSxcbi5mYy1idXR0b24tZ3JvdXAgPiAuZmMtYnV0dG9uLmZjLWJ1dHRvbi1hY3RpdmUge1xuICB6LWluZGV4OiAxO1xufVxuXG4uZmMtYnV0dG9uLWdyb3VwID4gLmZjLWJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuXG4uZmMtYnV0dG9uLWdyb3VwID4gLmZjLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4uZmMtYnV0dG9uLWdyb3VwID4gLmZjLWJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5cbi8qIFBvcG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciB7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4vKiBMaXN0IFZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy11bnRoZW1lZCAuZmMtbGlzdC1pdGVtOmhvdmVyIHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cblxuLyogVG9vbGJhclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mYy10b29sYmFyLmZjLWhlYWRlci10b29sYmFyIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG59XG5cbi5mYy10b29sYmFyLmZjLWZvb3Rlci10b29sYmFyIHtcbiAgbWFyZ2luLXRvcDogMS41ZW07XG59XG5cbi8qIGlubmVyIGNvbnRlbnQgKi9cbi5mYy10b29sYmFyID4gKiA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1ZW07XG59XG5cbi5mYy10b29sYmFyIGgyIHtcbiAgZm9udC1zaXplOiAxLjc1ZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLyogVmlldyBTdHJ1Y3R1cmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy12aWV3LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogdW5kbyB0d2l0dGVyIGJvb3RzdHJhcCdzIGJveC1zaXppbmcgcnVsZXMuIG5vcm1hbGl6ZXMgcG9zaXRpb25pbmcgdGVjaG5pcXVlcyAqL1xuLyogZG9uJ3QgZG8gdGhpcyBmb3IgdGhlIHRvb2xiYXIgYmVjYXVzZSB3ZSdsbCB3YW50IGJvb3RzdHJhcCB0byBzdHlsZSB0aG9zZSBidXR0b25zIGFzIHNvbWUgcHQgKi9cbi5mYy12aWV3LWNvbnRhaW5lciAqLFxuLmZjLXZpZXctY29udGFpbmVyICo6YmVmb3JlLFxuLmZjLXZpZXctY29udGFpbmVyICo6YWZ0ZXIge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLmZjLXZpZXcsXG4uZmMtdmlldyA+IHRhYmxlIHtcbiAgLyogc28gZHJhZ2dlZCBlbGVtZW50cyBjYW4gYmUgYWJvdmUgdGhlIHZpZXcncyBtYWluIGVsZW1lbnQgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAuZmMge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogR2xvYmFsIEV2ZW50IFJlc3R5bGluZ1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIC5mYy1ldmVudCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG5cbiAgLmZjLWV2ZW50IC5mYy1yZXNpemVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogVGFibGUgJiBEYXktUm93IFJlc3R5bGluZ1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIC5mYyB0aCxcbi5mYyB0ZCxcbi5mYyBocixcbi5mYyB0aGVhZCxcbi5mYyB0Ym9keSxcbi5mYy1yb3cge1xuICAgIGJvcmRlci1jb2xvcjogI2NjYyAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIGtpbGwgdGhlIG92ZXJsYWlkLCBhYnNvbHV0ZWx5LXBvc2l0aW9uZWQgY29tcG9uZW50cyAqL1xuICAvKiBjb21tb24uLi4gKi9cbiAgLmZjLWJnLFxuLmZjLWJnZXZlbnQtc2tlbGV0b24sXG4uZmMtaGlnaGxpZ2h0LXNrZWxldG9uLFxuLmZjLW1pcnJvci1za2VsZXRvbixcbi5mYy1iZ2V2ZW50LWNvbnRhaW5lcixcbi5mYy1idXNpbmVzcy1jb250YWluZXIsXG4uZmMtaGlnaGxpZ2h0LWNvbnRhaW5lcixcbi5mYy1taXJyb3ItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogZG9uJ3QgZm9yY2UgYSBtaW4taGVpZ2h0IG9uIHJvd3MgKGZvciBEYXlHcmlkKSAqL1xuICAuZmMgdGJvZHkgLmZjLXJvdyB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLyogdW5kbyBoZWlnaHQgdGhhdCBKUyBzZXQgaW4gZGlzdHJpYnV0ZUhlaWdodCAqL1xuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAvKiB1bmRvIHRoZSBtaW4taGVpZ2h0IGZyb20gZWFjaCB2aWV3J3Mgc3BlY2lmaWMgc3R5bGVzaGVldCAqL1xuICB9XG5cbiAgLmZjIHRib2R5IC5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgLyogdW5kbyAuZmMtcmlnaWQgKi9cbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIC8qIHVzZSBhIG1vcmUgYm9yZGVyLWZyaWVuZGx5IG1ldGhvZCBmb3IgdGhpcy4uLiAqL1xuICB9XG5cbiAgLmZjIHRib2R5IC5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgLyogb25seSB3b3JrcyBpbiBuZXdlciBicm93c2VycyAqL1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgLyogLi4uZ2l2ZXMgc3BhY2Ugd2l0aGluIHRoZSBza2VsZXRvbi4gYWxzbyBlbnN1cmVzIG1pbiBoZWlnaHQgaW4gYSB3YXkgKi9cbiAgfVxuXG4gIC5mYyB0Ym9keSAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRhYmxlIHtcbiAgICAvKiBwcm92aWRlcyBhIG1pbi1oZWlnaHQgZm9yIHRoZSByb3csIGJ1dCBvbmx5IGVmZmVjdGl2ZSBmb3IgSUUsIHdoaWNoIGV4YWdnZXJhdGVzIHRoaXMgdmFsdWUsXG4gICAgICAgbWFraW5nIGl0IGxvb2sgbW9yZSBsaWtlIDNlbS4gZm9yIG90aGVyIGJyb3dlcnMsIGl0IHdpbGwgYWxyZWFkeSBiZSB0aGlzIHRhbGwgKi9cbiAgICBoZWlnaHQ6IDFlbTtcbiAgfVxuXG4gIC8qIFVuZG8gbW9udGgtdmlldyBldmVudCBsaW1pdGluZy4gRGlzcGxheSBhbGwgZXZlbnRzIGFuZCBoaWRlIHRoZSBcIm1vcmVcIiBsaW5rc1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIC5mYy1tb3JlLWNlbGwsXG4uZmMtbW9yZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZjIHRyLmZjLWxpbWl0ZWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZjIHRkLmZjLWxpbWl0ZWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mYy1wb3BvdmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIG5ldmVyIGRpc3BsYXkgdGhlIFwibW9yZS4uXCIgcG9wb3ZlciBpbiBwcmludCBtb2RlICovXG4gIH1cblxuICAvKiBUaW1lR3JpZCBSZXN0eWxpbmdcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAvKiB1bmRvIHRoZSBtaW4taGVpZ2h0IDEwMCUgdHJpY2sgdXNlZCB0byBmaWxsIHRoZSBjb250YWluZXIncyBoZWlnaHQgKi9cbiAgLmZjLXRpbWUtZ3JpZCB7XG4gICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogZG9uJ3QgZGlzcGxheSB0aGUgc2lkZSBheGlzIGF0IGFsbCAoXCJhbGwtZGF5XCIgYW5kIHRpbWUgY2VsbHMpICovXG4gIC5mYy10aW1lR3JpZC12aWV3IC5mYy1heGlzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogZG9uJ3QgZGlzcGxheSB0aGUgaG9yaXpvbnRhbCBsaW5lcyAqL1xuICAuZmMtc2xhdHMsXG4uZmMtdGltZS1ncmlkIGhyIHtcbiAgICAvKiB0aGlzIGhyIGlzIHVzZWQgd2hlbiBoZWlnaHQgaXMgdW5kZXJ1c2VkIGFuZCBuZWVkcyB0byBiZSBmaWxsZWQgKi9cbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLyogaW1wb3J0YW50IG92ZXJyaWRlcyBpbmxpbmUgZGVjbGFyYXRpb24gKi9cbiAgfVxuXG4gIC8qIGxldCB0aGUgY29udGFpbmVyIHRoYXQgaG9sZHMgdGhlIGV2ZW50cyBiZSBuYXR1cmFsbHkgcG9zaXRpb25lZCBhbmQgY3JlYXRlIHJlYWwgaGVpZ2h0ICovXG4gIC5mYy10aW1lLWdyaWQgLmZjLWNvbnRlbnQtc2tlbGV0b24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cblxuICAvKiBpbiBjYXNlIHRoZXJlIGFyZSBubyBldmVudHMsIHdlIHN0aWxsIHdhbnQgc29tZSBoZWlnaHQgKi9cbiAgLmZjLXRpbWUtZ3JpZCAuZmMtY29udGVudC1za2VsZXRvbiB0YWJsZSB7XG4gICAgaGVpZ2h0OiA0ZW07XG4gIH1cblxuICAvKiBraWxsIHRoZSBob3Jpem9udGFsIHNwYWNpbmcgbWFkZSBieSB0aGUgZXZlbnQgY29udGFpbmVyLiBldmVudCBtYXJnaW5zIHdpbGwgYmUgZG9uZSBiZWxvdyAqL1xuICAuZmMtdGltZS1ncmlkIC5mYy1ldmVudC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogVGltZUdyaWQgKkV2ZW50KiBSZXN0eWxpbmdcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAvKiBuYXR1cmFsbHkgcG9zaXRpb24gZXZlbnRzLCB2ZXJ0aWNhbGx5IHN0YWNraW5nIHRoZW0gKi9cbiAgLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDNweCAycHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIGZvciBldmVudHMgdGhhdCBjb250aW51ZSB0byBhIGZ1dHVyZSBkYXksIGdpdmUgdGhlIGJvdHRvbSBib3JkZXIgYmFjayAqL1xuICAuZmMtdGltZS1ncmlkIC5mYy1ldmVudC5mYy1ub3QtZW5kIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIGluZGljYXRlIHRoZSBldmVudCBjb250aW51ZXMgdmlhIFwiLi4uXCIgdGV4dCAqL1xuICAuZmMtdGltZS1ncmlkIC5mYy1ldmVudC5mYy1ub3QtZW5kOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIi4uLlwiO1xuICB9XG5cbiAgLyogZm9yIGV2ZW50cyB0aGF0IGFyZSBjb250aW51YXRpb25zIGZyb20gcHJldmlvdXMgZGF5cywgZ2l2ZSB0aGUgdG9wIGJvcmRlciBiYWNrICovXG4gIC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LmZjLW5vdC1zdGFydCB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBpbmRpY2F0ZSB0aGUgZXZlbnQgaXMgYSBjb250aW51YXRpb24gdmlhIFwiLi4uXCIgdGV4dCAqL1xuICAuZmMtdGltZS1ncmlkIC5mYy1ldmVudC5mYy1ub3Qtc3RhcnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIi4uLlwiO1xuICB9XG5cbiAgLyogdGltZSAqL1xuICAvKiB1bmRvIGEgcHJldmlvdXMgZGVjbGFyYXRpb24gYW5kIGxldCB0aGUgdGltZSB0ZXh0IHNwYW4gdG8gYSBzZWNvbmQgbGluZSAqL1xuICAuZmMtdGltZS1ncmlkIC5mYy1ldmVudCAuZmMtdGltZSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogaGlkZSB0aGUgdGhlIHRpbWUgdGhhdCBpcyBub3JtYWxseSBkaXNwbGF5ZWQuLi4gKi9cbiAgLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQgLmZjLXRpbWUgc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIC4uLnJlcGxhY2UgaXQgd2l0aCBhIG1vcmUgdmVyYm9zZSB2ZXJzaW9uIChpbmNsdWRlcyBBTS9QTSkgc3RvcmVkIGluIGFuIGh0bWwgYXR0cmlidXRlICovXG4gIC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50IC5mYy10aW1lOmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtZnVsbCk7XG4gIH1cblxuICAvKiBWZXJ0aWNhbCBTY3JvbGxlciAmIENvbnRhaW5lcnNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAvKiBraWxsIHRoZSBzY3JvbGxiYXJzIGFuZCBhbGxvdyBuYXR1cmFsIGhlaWdodCAqL1xuICAuZmMtc2Nyb2xsZXIsXG4uZmMtZGF5LWdyaWQtY29udGFpbmVyLFxuLmZjLXRpbWUtZ3JpZC1jb250YWluZXIge1xuICAgIC8qICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIGtpbGwgdGhlIGhvcml6b250YWwgYm9yZGVyL3BhZGRpbmcgdXNlZCB0byBjb21wZW5zYXRlIGZvciBzY3JvbGxiYXJzICovXG4gIC5mYy1yb3cge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogQnV0dG9uIENvbnRyb2xzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLmZjLWJ1dHRvbi1ncm91cCxcbi5mYyBidXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogZG9uJ3QgZGlzcGxheSBhbnkgYnV0dG9uLXJlbGF0ZWQgY29udHJvbHMgKi9cbiAgfVxufVxuIiwiLyogRGF5R3JpZFZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIGRheSByb3cgc3RydWN0dXJlICovXG4uZmMtZGF5R3JpZFdlZWstdmlldyAuZmMtY29udGVudC1za2VsZXRvbixcbi5mYy1kYXlHcmlkRGF5LXZpZXcgLmZjLWNvbnRlbnQtc2tlbGV0b24ge1xuICAvKiB0aGVyZSBtYXkgYmUgd2VlayBudW1iZXJzIGluIHRoZXNlIHZpZXdzLCBzbyBubyBwYWRkaW5nLXRvcCAqL1xuICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAvKiBlbnN1cmUgYSBzcGFjZSBhdCBib3R0b20gb2YgY2VsbCBmb3IgdXNlciBzZWxlY3RpbmcvY2xpY2tpbmcgKi9cbn1cblxuLmZjLWRheUdyaWQtdmlldyAuZmMtYm9keSAuZmMtcm93IHtcbiAgbWluLWhlaWdodDogNGVtO1xuICAvKiBlbnN1cmUgdGhhdCBhbGwgcm93cyBhcmUgYXQgbGVhc3QgdGhpcyB0YWxsICovXG59XG5cbi8qIGEgXCJyaWdpZFwiIHJvdyB3aWxsIHRha2UgdXAgYSBjb25zdGFudCBhbW91bnQgb2YgaGVpZ2h0IGJlY2F1c2UgY29udGVudC1za2VsZXRvbiBpcyBhYnNvbHV0ZSAqL1xuLmZjLXJvdy5mYy1yaWdpZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mYy1yb3cuZmMtcmlnaWQgLmZjLWNvbnRlbnQtc2tlbGV0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi8qIHdlZWsgYW5kIGRheSBudW1iZXIgc3R5bGluZyAqL1xuLmZjLWRheS10b3AuZmMtb3RoZXItbW9udGgge1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi5mYy1kYXlHcmlkLXZpZXcgLmZjLXdlZWstbnVtYmVyLFxuLmZjLWRheUdyaWQtdmlldyAuZmMtZGF5LW51bWJlciB7XG4gIHBhZGRpbmc6IDJweDtcbn1cblxuLmZjLWRheUdyaWQtdmlldyB0aC5mYy13ZWVrLW51bWJlcixcbi5mYy1kYXlHcmlkLXZpZXcgdGguZmMtZGF5LW51bWJlciB7XG4gIHBhZGRpbmc6IDAgMnB4O1xuICAvKiBjb2x1bW4gaGVhZGVycyBjYW4ndCBoYXZlIGFzIG11Y2ggdiBzcGFjZSAqL1xufVxuXG4uZmMtbHRyIC5mYy1kYXlHcmlkLXZpZXcgLmZjLWRheS10b3AgLmZjLWRheS1udW1iZXIge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5mYy1ydGwgLmZjLWRheUdyaWQtdmlldyAuZmMtZGF5LXRvcCAuZmMtZGF5LW51bWJlciB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uZmMtbHRyIC5mYy1kYXlHcmlkLXZpZXcgLmZjLWRheS10b3AgLmZjLXdlZWstbnVtYmVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAzcHggMDtcbn1cblxuLmZjLXJ0bCAuZmMtZGF5R3JpZC12aWV3IC5mYy1kYXktdG9wIC5mYy13ZWVrLW51bWJlciB7XG4gIGZsb2F0OiByaWdodDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgM3B4O1xufVxuXG4uZmMtZGF5R3JpZC12aWV3IC5mYy1kYXktdG9wIC5mYy13ZWVrLW51bWJlciB7XG4gIG1pbi13aWR0aDogMS41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgY29sb3I6ICM4MDgwODA7XG59XG5cbi8qIHdoZW4gd2Vlay9kYXkgbnVtYmVyIGhhdmUgb3duIGNvbHVtbiAqL1xuLmZjLWRheUdyaWQtdmlldyB0ZC5mYy13ZWVrLW51bWJlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZjLWRheUdyaWQtdmlldyB0ZC5mYy13ZWVrLW51bWJlciA+ICoge1xuICAvKiB3b3JrIGFyb3VuZCB0aGUgd2F5IHdlIGRvIGNvbHVtbiByZXNpemluZyBhbmQgZW5zdXJlIGEgbWluaW11bSB3aWR0aCAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMS4yNWVtO1xufVxuIiwiQGltcG9ydCBcIn5AYW5ndWxhci9tYXRlcmlhbC9wcmVidWlsdC10aGVtZXMvaW5kaWdvLXBpbmsuY3NzXCI7XHJcbkBpbXBvcnQgJ35AZnVsbGNhbGVuZGFyL2NvcmUvbWFpbi5jc3MnO1xyXG5AaW1wb3J0ICd+QGZ1bGxjYWxlbmRhci9kYXlncmlkL21haW4uY3NzJztcclxuXHJcbiR3aGl0ZTojZmZmZmZmO1xyXG4kYmx1ZTpibHVlO1xyXG4kZ3JheS1saWdodDogI2NjY2NjYztcclxuJGRhbmdlcjpyZ2IoMjQ0LCA2NywgNTQpOztcclxuJGdyZXk6Z3JleTtcclxuJGxpZ2h0LWdyZXk6I2YyZjJmMjtcclxuJHBpY2tsZWQtQmx1ZXdvb2Q6IzJEM0U1MDtcclxuJGF0aGVucy1ncmF5OiNFRUVGRjM7XHJcbiRwcmltYXJ5LWFwcDogIzAwYTllMDtcclxuJHNlY29uZGFyeS1hcHA6IzAwMDA2NjtcclxuXHJcbiRmb250LXNpemUteHNtYWxsOiAxMHB4O1xyXG4kZm9udC1zaXplLXNtYWxsOiAxNHB4O1xyXG4kZm9udC1zaXplLWJhc2U6IDE2cHg7XHJcbiRmb250LXNpemUtbWVkaXVtOiAyMHB4O1xyXG4kZm9udC1zaXplLWxhcmdlOiAkZm9udC1zaXplLWJhc2UqMS41O1xyXG4kZm9udC1zaXplLXhsYXJnZTogMjZweDtcclxuJGZvbnQtc2l6ZS14eGxhcmdlOiAzNnB4O1xyXG5cclxuJGZvbnQtc2l6ZS1oMTogNjBweDtcclxuJGZvbnQtc2l6ZS1oMjogNDBweDtcclxuJGZvbnQtc2l6ZS1oMzogMzJweDtcclxuJGZvbnQtc2l6ZS1oNDogMjRweDtcclxuJGZvbnQtc2l6ZS1oNTogMjBweDtcclxuJGZvbnQtc2l6ZS1oNjogMTZweDtcclxuXHJcbiRzY3JlZW4tc2l6ZS1tb2JpbGU6NTc2cHg7XHJcbiRzY3JlZW4tc2l6ZS10YWJsZXQ6NzY4cHg7XHJcbiRzY3JlZW4tc2l6ZS1sYXB0b3A6OTkycHg7XHJcbiRzY3JlZW4tc2l6ZS1kZXNrdG9wOjEyMDBweDtcclxuXHJcbi5wcmltYXJ5e1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICBjb2xvcjokd2hpdGU7XHJcbn1cclxuXHJcbmJvZHl7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcblxyXG4ud3tcclxuICAgICYtMTAwe1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLTkwe1xyXG4gICAgICAgIHdpZHRoOiA5MCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYtODB7XHJcbiAgICAgICAgd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi03MHtcclxuICAgICAgICB3aWR0aDogNzAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLTUwe1xyXG4gICAgICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4ubXR7XHJcbiAgICAmLTF7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi0ye1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYtM3tcclxuICAgICAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLTR7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNHJlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi01e1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDVyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLmR7XHJcbiAgICAmLWJsb2Nre1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLW5vbmV7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi1mbGV4e1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnotZWxldmF0aW9ue1xyXG4gICAgJi0xe1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLCAwIDJweCAycHggMCByZ2JhKDAsMCwwLC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjEyKTtcclxuICAgIH1cclxufVxyXG5cclxuLmVycm9yLWNvbnRhaW5lcntcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLnNlcnZlci1lcnJvcntcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFuZ2VyO1xyXG4gICAgICAgIGNvbG9yOiRsaWdodC1ncmV5O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnT3BlblNhbnMnO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14c21hbGw7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XHJcbiAgICAgICAgbWFyZ2luOiAwIDFyZW07XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC40cmVtO1xyXG4gICAgfVxyXG4gICAgLmFycm93LXVwLWdhZGdldCB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMC44cmVtIHNvbGlkICRkYW5nZXI7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcbn1cclxuXHJcbi5tYXQtZm9ybS1maWVsZCB7XHJcbiAgICAmLm5vLXBhZGRpbmd7XHJcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWluZml4e1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEFqdXN0ZSBkZSBwcm9waWVkYWRlcyBkZSBsb3MgY29udHJvbGVzIGRlbCBmb3JtdWxhcmlvIHByb2dyYW1HZW5lcmFsSW5mb3JtYXRpb25cclxuLy8gY3VhbmRvIGxvcyBjb250cm9sZXMgZXN0w6FuIGRlc2hhYmlsaWRvc1xyXG4jcHJvZ3JhbUdlbmVyYWxJbmZvcm1hdGlvbiAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQge1xyXG4gICAgaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIC5tYXQtc2VsZWN0LXZhbHVlIHtcclxuICAgICAgICBjb2xvcjogZGFya3NsYXRlZ3JleTtcclxuICAgIH1cclxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgIH1cclxuICAgIC5tYXQtc2VsZWN0LWFycm93IHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG59XHJcbi5mb3JtLWNvbnRhaW5lcntcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KCBhdXRvLWZpbGwsIG1pbm1heCgyNHJlbSwgMWZyKSk7XHJcbiAgICBncmlkLWdhcDogMXJlbTtcclxufVxyXG5cclxuLnNpbXBsZS1jb250YWluZXJ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBwYWRkaW5nOiAwIDJyZW07XHJcbiAgICBtYXgtd2lkdGg6IDc2OHB4O1xyXG4gICAgbWFyZ2luOiAycmVtIGF1dG87XHJcbn1cclxuXHJcbi5hcHAtY29udGFpbmVye1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogMCAycmVtO1xyXG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbiAgICBtYXJnaW46IDJyZW0gYXV0bztcclxufVxyXG5cclxuLmJ0bntcclxuICAgIG1heC13aWR0aDogMTVyZW07XHJcbn1cclxuXHJcbi5zcGlubmVyLWNvbnRhaW5lcntcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICByaWdodDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICB6LWluZGV4OiAxMDYwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbn1cclxuXHJcbi50cnVuY2F0ZSB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4uY3VzdG9tLWRpYWxvZy1jb250YWluZXIgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcclxuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAycmVtKTtcclxufVxyXG5cclxuLy9QYXJhIHF1ZSBvY3VsdGFyIGVsIG1lbnNhamUgYWwgc3ViaXIgYSBwcm9kIGRlbCByaWNodGV4dFxyXG5cclxuI2Zyb2FsYS1saWNlbnNlLW5vbmUgPiBkaXYgPiBkaXYuZnItd3JhcHBlci5zaG93LXBsYWNlaG9sZGVyID4gZGl2Om50aC1jaGlsZCgxKSA+IGEsXHJcbiNmcm9hbGEtbGljZW5zZS1ub25lID4gZGl2ID4gZGl2LmZyLXdyYXBwZXIgPiBkaXY6bnRoLWNoaWxkKDEpID4gYXtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuI2Zyb2FsYS1saWNlbnNlLW5vbmUgLnNlY29uZC10b29sYmFye1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jZnJvYWxhLWxpY2Vuc2Utbm9uZSAuZGFyay10aGVtZS5mci1ib3guZnItYmFzaWMgLmZyLXdyYXBwZXJ7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjY2NjY2NjICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vZXN0aWxvcyBwYXJhIGVsIGxvZ2luXHJcbi5sb2dpbi1mb3JtLWNvbnRhaW5lciAubWF0LWZvcm0tZmllbGQtbGFiZWwsIC5sb2dpbi1mb3JtLWNvbnRhaW5lciAubWF0LWVycm9ye1xyXG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC10cmVlLW5vZGU6aG92ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhOWUwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tZW51LWl0ZW0tbG9nb3V0e1xyXG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbi5tZW51LWl0ZW0tbG9nb3V0OmhvdmVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTllMCAhaW1wb3J0YW50O1xyXG59XHJcbi5tYXQtbWVudS1wYW5lbC1jdXN0b217XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hdC1kcmF3ZXItY29udGFpbmVye1xyXG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vL0VzdGlsb3MgcGFyYSBlbCBzaWRlbmF2XHJcbi5tYXQtZHJhd2Vye1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1yaWdodDogLjVyZW0gIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1hdC1kcmF3ZXIsLm1hdC10cmVlLC5tYXQtdHJlZS1ub2Rle1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhEOTZCRiAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuXHJcblxyXG4vL0VzdGlsb3MgcGFyYSBlbCBzY3JvbGxcclxuXHJcbi8qIHdpZHRoICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6IDBweDtcclxufVxyXG5cclxuLyogVHJhY2sgKi9cclxuOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcblxyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG5cclxuLyogSGFuZGxlICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuLyogSGFuZGxlIG9uIGhvdmVyICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2QyZDJkMjtcclxufVxyXG5cclxuLmFwcC1jb250YWluZXItdGFie1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1hdC1jYXJke1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbi5jaGlwc1RleHQgLm1hdC1jaGlwLWxpc3Qtd3JhcHBlcntcclxuICAgIG1hcmdpbjogNHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmNoaXBzVGV4dCAubWF0LXN0YW5kYXJkLWNoaXB7XHJcbiAgICBtaW4taGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDEyIHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcclxufVxyXG4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7XHJcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50XHJcbn1cclxuXHJcbi5zd2FsMi1wb3B1cHtcclxuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zd2FsMi1zdHlsZWQuc3dhbDItY29uZmlybSB7XHJcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDAwMCAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmc6IDE1cHggMjdweCAxNXB4IDI3cHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3dhbDItc3R5bGVkLnN3YWwyLWNvbmZpcm06aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zd2FsMi1zdHlsZWQ6Zm9jdXN7XHJcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4iLCJAaW1wb3J0IFwifkBhbmd1bGFyL21hdGVyaWFsL3ByZWJ1aWx0LXRoZW1lcy9pbmRpZ28tcGluay5jc3NcIjtcbkBpbXBvcnQgJ35AZnVsbGNhbGVuZGFyL2NvcmUvbWFpbi5jc3MnO1xuQGltcG9ydCAnfkBmdWxsY2FsZW5kYXIvZGF5Z3JpZC9tYWluLmNzcyc7XG4ucHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4udy0xMDAge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLnctOTAge1xuICB3aWR0aDogOTAlICFpbXBvcnRhbnQ7XG59XG4udy04MCB7XG4gIHdpZHRoOiA4MCUgIWltcG9ydGFudDtcbn1cbi53LTcwIHtcbiAgd2lkdGg6IDcwJSAhaW1wb3J0YW50O1xufVxuLnctNTAge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0xIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xufVxuLm10LTIge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7XG59XG4ubXQtMyB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbn1cbi5tdC00IHtcbiAgbWFyZ2luLXRvcDogNHJlbSAhaW1wb3J0YW50O1xufVxuLm10LTUge1xuICBtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5kLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbi5kLW5vbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uZC1mbGV4IHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuXG4uei1lbGV2YXRpb24tMSB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLmVycm9yLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZXJyb3ItY29udGFpbmVyIC5zZXJ2ZXItZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xuICBjb2xvcjogI2YyZjJmMjtcbiAgZm9udC1mYW1pbHk6IFwiT3BlblNhbnNcIjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogMTAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBtYXJnaW46IDAgMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC40cmVtO1xufVxuLmVycm9yLWNvbnRhaW5lciAuYXJyb3ctdXAtZ2FkZ2V0IHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDAuNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAuOHJlbSBzb2xpZCAjZjQ0MzM2O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXQtZm9ybS1maWVsZC5uby1wYWRkaW5nIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLm1hdC1mb3JtLWZpZWxkLm5vLXBhZGRpbmcgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgcGFkZGluZzogMC40cmVtIDA7XG59XG5cbiNwcm9ncmFtR2VuZXJhbEluZm9ybWF0aW9uIC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCBpbnB1dFttYXRJbnB1dF0sICNwcm9ncmFtR2VuZXJhbEluZm9ybWF0aW9uIC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCB0ZXh0YXJlYVttYXRJbnB1dF0sICNwcm9ncmFtR2VuZXJhbEluZm9ybWF0aW9uIC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LXNlbGVjdC12YWx1ZSB7XG4gIGNvbG9yOiBkYXJrc2xhdGVncmV5O1xufVxuI3Byb2dyYW1HZW5lcmFsSW5mb3JtYXRpb24gLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICBoZWlnaHQ6IDA7XG59XG4jcHJvZ3JhbUdlbmVyYWxJbmZvcm1hdGlvbiAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mb3JtLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI0cmVtLCAxZnIpKTtcbiAgZ3JpZC1nYXA6IDFyZW07XG59XG5cbi5zaW1wbGUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDAgMnJlbTtcbiAgbWF4LXdpZHRoOiA3NjhweDtcbiAgbWFyZ2luOiAycmVtIGF1dG87XG59XG5cbi5hcHAtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDAgMnJlbTtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMnJlbSBhdXRvO1xufVxuXG4uYnRuIHtcbiAgbWF4LXdpZHRoOiAxNXJlbTtcbn1cblxuLnNwaW5uZXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwLjQ7XG4gIHotaW5kZXg6IDEwNjA7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xufVxuXG4udHJ1bmNhdGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmN1c3RvbS1kaWFsb2ctY29udGFpbmVyIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAycmVtKTtcbn1cblxuI2Zyb2FsYS1saWNlbnNlLW5vbmUgPiBkaXYgPiBkaXYuZnItd3JhcHBlci5zaG93LXBsYWNlaG9sZGVyID4gZGl2Om50aC1jaGlsZCgxKSA+IGEsXG4jZnJvYWxhLWxpY2Vuc2Utbm9uZSA+IGRpdiA+IGRpdi5mci13cmFwcGVyID4gZGl2Om50aC1jaGlsZCgxKSA+IGEge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbiNmcm9hbGEtbGljZW5zZS1ub25lIC5zZWNvbmQtdG9vbGJhciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuI2Zyb2FsYS1saWNlbnNlLW5vbmUgLmRhcmstdGhlbWUuZnItYm94LmZyLWJhc2ljIC5mci13cmFwcGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2NjY2NjYyAhaW1wb3J0YW50O1xufVxuXG4ubG9naW4tZm9ybS1jb250YWluZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLCAubG9naW4tZm9ybS1jb250YWluZXIgLm1hdC1lcnJvciB7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC10cmVlLW5vZGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhOWUwICFpbXBvcnRhbnQ7XG59XG5cbi5tZW51LWl0ZW0tbG9nb3V0IHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubWVudS1pdGVtLWxvZ291dDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGE5ZTAgIWltcG9ydGFudDtcbn1cblxuLm1hdC1tZW51LXBhbmVsLWN1c3RvbSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1hdC1kcmF3ZXItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWRyYXdlciB7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWRyYXdlciwgLm1hdC10cmVlLCAubWF0LXRyZWUtbm9kZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4RDk2QkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qIHdpZHRoICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDBweDtcbn1cblxuLyogVHJhY2sgKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4vKiBIYW5kbGUgKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4vKiBIYW5kbGUgb24gaG92ZXIgKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZDJkMmQyO1xufVxuXG4uYXBwLWNvbnRhaW5lci10YWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWNhcmQge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5jaGlwc1RleHQgLm1hdC1jaGlwLWxpc3Qtd3JhcHBlciB7XG4gIG1hcmdpbjogNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5jaGlwc1RleHQgLm1hdC1zdGFuZGFyZC1jaGlwIHtcbiAgbWluLWhlaWdodDogMjVweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEyIHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG4uc3dhbDItcG9wdXAge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG59XG5cbi5zd2FsMi1zdHlsZWQuc3dhbDItY29uZmlybSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMTVweCAyN3B4IDE1cHggMjdweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnN3YWwyLXN0eWxlZC5zd2FsMi1jb25maXJtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG59XG5cbi5zd2FsMi1zdHlsZWQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNpZGVuYXYtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2JvZHkuanBnXCIpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbi5zaWRlbmF2LWNvbnRhaW5lciAubmF2QmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGE5ZTA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnNpZGVuYXYtY29udGFpbmVyIC5uYXZCYXIgLm5hdmJhci1pbnRlcm5hbCB7XG4gIHdpZHRoOiA5OCU7XG4gIHBhZGRpbmc6IDIwcHggMjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnNpZGVuYXYtY29udGFpbmVyIC5uYXZCYXIgLm5hdmJhci1pbnRlcm5hbCAuYXBwLWxvZ28ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5zaWRlbmF2LWNvbnRhaW5lciAubmF2QmFyIC5uYXZiYXItaW50ZXJuYWwgLmFwcC1sb2dvIC5wcm9qZWN0LWxvZ28ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uc2lkZW5hdi1jb250YWluZXIgLm5hdkJhciAubmF2YmFyLWludGVybmFsIC5hcHAtbG9nbyAucHJvamVjdC1sb2dvIC5wcm9qZWN0LW5hbWUge1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnNpZGVuYXYtY29udGFpbmVyIC5uYXZCYXIgLm5hdmJhci1pbnRlcm5hbCAuYXBwLWxvZ28gLnByb2plY3QtbG9nbyAucHJvamVjdC1uYW1lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uc2lkZW5hdi1jb250YWluZXIgLm5hdkJhciAubmF2YmFyLWludGVybmFsIC5zZWFyY2gtZmllbGQge1xuICB3aWR0aDogMzAlO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIG1heC13aWR0aDogMzVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4uc2lkZW5hdi1jb250YWluZXIgLm5hdkJhciAubmF2YmFyLWludGVybmFsIC5zZWFyY2gtZmllbGQgLmljb24ge1xuICBjb2xvcjogIzJEM0U1MDtcbn1cbi5zaWRlbmF2LWNvbnRhaW5lciAubmF2QmFyIC5uYXZiYXItaW50ZXJuYWwgLnNlYXJjaC1maWVsZCBpbnB1dCB7XG4gIGNvbG9yOiAjMkQzRTUwO1xufVxuLnNpZGVuYXYtY29udGFpbmVyIC5uYXZCYXIgLm5hdmJhci1pbnRlcm5hbCAub3B0aW9ucy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5zaWRlbmF2LWNvbnRhaW5lciAubmF2QmFyIC5uYXZiYXItaW50ZXJuYWwgLm9wdGlvbnMtY29udGFpbmVyIGJ1dHRvbiB7XG4gIG1hcmdpbjogMCA2cHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gIC5zaWRlbmF2LWNvbnRhaW5lciAubmF2QmFyIC5uYXZiYXItaW50ZXJuYWwgLm9wdGlvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uc2lkZW5hdi1jb250YWluZXIgLm5hdkJhciAubmF2YmFyLWludGVybmFsIC51c2VyLWluZm8tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xufVxuLnNpZGVuYXYtY29udGFpbmVyIC5uYXZCYXIgLm5hdmJhci1pbnRlcm5hbCAudXNlci1pbmZvLWNvbnRhaW5lciAudXNlci1mdWxsLW5hbWUge1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnNpZGVuYXYtY29udGFpbmVyIC5uYXZCYXIgLm5hdmJhci1pbnRlcm5hbCAudXNlci1pbmZvLWNvbnRhaW5lciAudXNlci1mdWxsLW5hbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5zaWRlbmF2LWNvbnRhaW5lciAubmF2QmFyIC5uYXZiYXItaW50ZXJuYWwgLnVzZXItaW5mby1jb250YWluZXIgLnVzZXItcGhvdG8ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICAvKmJhY2tncm91bmQtY29sb3I6ICRncmV5OyovXG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjRyZW07XG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xufVxuLnNpZGVuYXYtY29udGFpbmVyIC5uYXZCYXIgLm5hdmJhci1pbnRlcm5hbCAudXNlci1pbmZvLWNvbnRhaW5lciAuYnV0dG9uLXByb2ZpbGUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uc2lkZW5hdi1jb250YWluZXIgLmRyYXdlci1jb250YWluZXIge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA1cmVtKTtcbn1cbi5zaWRlbmF2LWNvbnRhaW5lciAuZHJhd2VyLWNvbnRhaW5lciAuZHJhd2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgbWluLXdpZHRoOiAzMDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLnNpZGVuYXYtY29udGFpbmVyIC5kcmF3ZXItY29udGFpbmVyIC5kcmF3ZXItY29udGVudCB7XG4gIC8qYmFja2dyb3VuZC1jb2xvcjogJGF0aGVucy1ncmF5OyovXG4gIHBhZGRpbmc6IDAgMTZweDtcbn1cblxuLm1hdC10cmVlLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMkQzRTUwO1xufVxuLm1hdC10cmVlLWNvbnRhaW5lciB1bCxcbi5tYXQtdHJlZS1jb250YWluZXIgbGkge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm1hdC10cmVlLWNvbnRhaW5lciAubWF0LXRyZWUtaW52aXNpYmxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC10cmVlLW5vZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB3aWR0aDogMTAwJTtcbn1cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC10cmVlLW5vZGUgbGkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtdHJlZS1ub2RlIGxpIC5tYXQtZ3JpZC1saXN0IHtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsgKi9cbn1cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC10cmVlLW5vZGUgbGkgLm1hdC1ncmlkLWxpc3QgLm1hdC1ncmlkLWxvZ28ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWFjM2QwO1xufVxuLm1hdC10cmVlLWNvbnRhaW5lciAubWF0LXRyZWUtbm9kZSBsaSAubWF0LWdyaWQtbGlzdCAubWF0LWdyaWQtbG9nbyAubWF0LWljb24ge1xuICBjb2xvcjogd2hpdGU7XG59XG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtdHJlZS1ub2RlIGxpIC5tYXQtZ3JpZC1saXN0IC5tYXQtZ3JpZC10ZXh0IC5tYXQtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDVweDtcbn1cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC10cmVlLW5vZGUgbGkgLm1hdC1ncmlkLWxpc3QgLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5YWMzZDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNXB4O1xufVxuLm1hdC10cmVlLWNvbnRhaW5lciAubWF0LXRyZWUtbm9kZSBsaSAuaXRlbS1idG4ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLm1hdC10cmVlLWNvbnRhaW5lciAubWF0LXRyZWUtbm9kZSB1bCAubWF0LWRpdmlkZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLm1hdC10cmVlLWNvbnRhaW5lciAubWF0LXRyZWUtbm9kZSAubWF0LWRpdmlkZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAwODtcbn1cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC10cmVlLW5vZGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWFjM2QwO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuLm1hdC10cmVlLWNvbnRhaW5lciAubWF0LXRyZWUtbm9kZTpob3ZlciB1bCAubWF0LWRpdmlkZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAwODtcbn1cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC10cmVlLW5vZGU6aG92ZXIgbGkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtdHJlZS1ub2RlOmhvdmVyIGxpIC5tYXQtZ3JpZC1saXN0IHtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsgKi9cbn1cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC10cmVlLW5vZGU6aG92ZXIgbGkgLm1hdC1ncmlkLWxpc3QgLm1hdC1ncmlkLWxvZ28ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWFjM2QwO1xufVxuLm1hdC10cmVlLWNvbnRhaW5lciAubWF0LXRyZWUtbm9kZTpob3ZlciBsaSAubWF0LWdyaWQtbGlzdCAubWF0LWdyaWQtbG9nbyAubWF0LWljb24ge1xuICBjb2xvcjogd2hpdGU7XG59XG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtdHJlZS1ub2RlOmhvdmVyIGxpIC5tYXQtZ3JpZC1saXN0IC5tYXQtZ3JpZC10ZXh0IC5tYXQtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDVweDtcbn1cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC10cmVlLW5vZGU6aG92ZXIgLml0ZW0tYnRuIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC10cmVlLW5vZGU6aG92ZXIgLm1hdC1kaXZpZGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwMDg7XG59XG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtbmVzdGVkLXRyZWUtbm9kZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm1hdC10cmVlLWNvbnRhaW5lciAubWF0LW5lc3RlZC10cmVlLW5vZGUgbGkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtbmVzdGVkLXRyZWUtbm9kZSBsaSAubWF0LWdyaWQtbGlzdCB7XG4gIC8qIGJhY2tncm91bmQtY29sb3I6IGJsdWU7ICovXG59XG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtbmVzdGVkLXRyZWUtbm9kZSBsaSAubWF0LWdyaWQtbGlzdCAubWF0LWdyaWQtbG9nbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5YWMzZDA7XG59XG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtbmVzdGVkLXRyZWUtbm9kZSBsaSAubWF0LWdyaWQtbGlzdCAubWF0LWdyaWQtbG9nbyAubWF0LWljb24ge1xuICBjb2xvcjogd2hpdGU7XG59XG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtbmVzdGVkLXRyZWUtbm9kZSBsaSAubWF0LWdyaWQtbGlzdCAubWF0LWdyaWQtdGV4dCAubWF0LWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1cHg7XG59XG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtbmVzdGVkLXRyZWUtbm9kZSB1bCAubWF0LWRpdmlkZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLm1hdC10cmVlLWNvbnRhaW5lciAubWF0LW5lc3RlZC10cmVlLW5vZGUgLm1hdC1kaXZpZGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwMDg7XG59XG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtbmVzdGVkLXRyZWUtbm9kZTpob3ZlciB7XG4gIC8qIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTI1LCA3NCwgMC41KTsgKi9cbiAgd2lkdGg6IDEwMCU7XG59XG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtbmVzdGVkLXRyZWUtbm9kZTpob3ZlciB1bCAubWF0LWRpdmlkZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtbmVzdGVkLXRyZWUtbm9kZTpob3ZlciBsaSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjUsIDc0LCAwLjUpOyAqL1xufVxuLm1hdC10cmVlLWNvbnRhaW5lciAubWF0LW5lc3RlZC10cmVlLW5vZGU6aG92ZXIgbGkgLm1hdC1ncmlkLWxpc3Qge1xuICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgKi9cbn1cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlOmhvdmVyIGxpIC5tYXQtZ3JpZC1saXN0IC5tYXQtZ3JpZC1sb2dvIHtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogIzlhYzNkMDsgKi9cbn1cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlOmhvdmVyIGxpIC5tYXQtZ3JpZC1saXN0IC5tYXQtZ3JpZC1sb2dvIC5tYXQtaWNvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlOmhvdmVyIGxpIC5tYXQtZ3JpZC1saXN0IC5tYXQtZ3JpZC10ZXh0IC5tYXQtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtbmVzdGVkLXRyZWUtbm9kZTpob3ZlciBsaSAubWF0LWdyaWQtbGlzdCAubWF0LWdyaWQtZXhwYW5kIC5tYXQtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDVweDtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjUsIDc0LCAwLjUpOyAqL1xufVxuLm1hdC10cmVlLWNvbnRhaW5lciAubWF0LW5lc3RlZC10cmVlLW5vZGU6aG92ZXIgLml0ZW0tYnRuIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlOmhvdmVyIC5tYXQtZGl2aWRlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDA4O1xufVxuXG4uaWNvbl9zaWRlX25hdiB7XG4gIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5uYW1lX3NpZGVfbmF2IHtcbiAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBzdXBlciAhaW1wb3J0YW50O1xufVxuXG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtdHJlZS1ub2RlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBQkI2RDYgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC10cmVlLW5vZGU6aG92ZXIge1xuICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbn1cbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC10cmVlLW5vZGU6aG92ZXIgLmljb25fc2lkZV9uYXYge1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufSIsIkBpbXBvcnQgXCIuLi8uLi8uLi9zdHlsZXMuc2Nzc1wiO1xyXG5cclxuLnNpZGVuYXYtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2JvZHkuanBnJykgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgLm5hdkJhcntcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGhlaWdodDogNXJlbTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1hcHA7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAubmF2YmFyLWludGVybmFse1xyXG4gICAgICAgICAgICB3aWR0aDogOTglO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDI2cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIC5hcHAtbG9nb3tcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC5wcm9qZWN0LWxvZ297XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9qZWN0LW5hbWV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc2l6ZS1sYXB0b3ApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnByb2plY3QtbmFtZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNlYXJjaC1maWVsZHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDM1cmVtO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIC5pY29ue1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGlja2xlZC1CbHVld29vZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlucHV0e1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiRwaWNrbGVkLUJsdWV3b29kO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5vcHRpb25zLWNvbnRhaW5lcntcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJ1dHRvbntcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zaXplLW1vYmlsZSkge1xyXG4gICAgICAgICAgICAgICAgLm9wdGlvbnMtY29udGFpbmVye1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnVzZXItaW5mby1jb250YWluZXJ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC51c2VyLWZ1bGwtbmFtZXtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNpemUtbGFwdG9wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVzZXItZnVsbC1uYW1le1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC51c2VyLXBob3Rve1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIC8qYmFja2dyb3VuZC1jb2xvcjogJGdyZXk7Ki9cclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDNyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC40cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmJ1dHRvbi1wcm9maWxle1xyXG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kcmF3ZXItY29udGFpbmVye1xyXG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDVyZW0pO1xyXG4gICAgICAgIC5kcmF3ZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZHJhd2VyLWNvbnRlbnR7XHJcbiAgICAgICAgICAgIC8qYmFja2dyb3VuZC1jb2xvcjogJGF0aGVucy1ncmF5OyovXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tYXQtdHJlZS1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgY29sb3I6ICRwaWNrbGVkLUJsdWV3b29kO1xyXG5cclxuICAgIHVsLFxyXG4gICAgbGkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG5cclxuICAgIH1cclxuXHJcbiAgICAubWF0LXRyZWUtaW52aXNpYmxlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5tYXQtdHJlZS1ub2RlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICAgICAgLm1hdC1ncmlkLWxpc3Qge1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIGJhY2tncm91bmQtY29sb3I6IGJsdWU7ICovXHJcbiAgICAgICAgICAgICAgICAubWF0LWdyaWQtbG9nbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzlhYzNkMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hdC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubWF0LWdyaWQtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLm1hdC1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzlhYzNkMDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaXRlbS1idG57XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAubWF0LWRpdmlkZXIge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tYXQtZGl2aWRlciB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDA4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWF0LXRyZWUtbm9kZTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzlhYzNkMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcblxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgLm1hdC1kaXZpZGVyIHtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAwODtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAubWF0LWdyaWQtbGlzdCB7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC8qIGJhY2tncm91bmQtY29sb3I6IGJsdWU7ICovXHJcbiAgICAgICAgICAgICAgICAubWF0LWdyaWQtbG9nbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzlhYzNkMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hdC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubWF0LWdyaWQtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLm1hdC1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pdGVtLWJ0bntcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tYXQtZGl2aWRlciB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDA4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWF0LW5lc3RlZC10cmVlLW5vZGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgICAgICAubWF0LWdyaWQtbGlzdCB7XHJcblxyXG4gICAgICAgICAgICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsgKi9cclxuICAgICAgICAgICAgICAgIC5tYXQtZ3JpZC1sb2dvIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWFjM2QwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAubWF0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5tYXQtZ3JpZC10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICAubWF0LWxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAubWF0LWRpdmlkZXIge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tYXQtZGl2aWRlciB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDA4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlOmhvdmVyIHtcclxuICAgICAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyNSwgNzQsIDAuNSk7ICovXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgLm1hdC1kaXZpZGVyIHtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyNSwgNzQsIDAuNSk7ICovXHJcbiAgICAgICAgICAgIC5tYXQtZ3JpZC1saXN0IHtcclxuXHJcbiAgICAgICAgICAgICAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgKi9cclxuICAgICAgICAgICAgICAgIC5tYXQtZ3JpZC1sb2dvIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogIzlhYzNkMDsgKi9cclxuICAgICAgICAgICAgICAgICAgICAubWF0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5tYXQtZ3JpZC10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICAubWF0LWxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm1hdC1ncmlkLWV4cGFuZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLm1hdC1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyNSwgNzQsIDAuNSk7ICovXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLml0ZW0tYnRue1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1hdC1kaXZpZGVyIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwMDg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaWNvbl9zaWRlX25hdntcclxuICAgIG1hcmdpbjogLjVyZW0gIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuLm5hbWVfc2lkZV9uYXZ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlciAhaW1wb3J0YW50XHJcbn1cclxuXHJcbi5tYXQtdHJlZS1jb250YWluZXIgLm1hdC10cmVlLW5vZGV7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0FCQjZENiAhaW1wb3J0YW50O1xyXG4gICAgbWluLWhlaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hdC10cmVlLWNvbnRhaW5lciAubWF0LXRyZWUtbm9kZTpob3ZlcntcclxuICAgIGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgLmljb25fc2lkZV9uYXZ7XHJcbiAgICAgICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxuICAgIH1cclxufSJdfQ== */\"","import {\r\n Component,\r\n Input,\r\n ViewChild,\r\n EventEmitter,\r\n Output\r\n} from '@angular/core';\r\nimport { MatDrawer, MatTreeNestedDataSource } from '@angular/material';\r\nimport { NestedTreeControl } from '@angular/cdk/tree';\r\n\r\nimport { MenuItemModel } from '@models/menu-item.model';\r\nimport { UserModel } from '@models/user.model';\r\nimport { emptyUser } from '@utilities/data.util';\r\nimport { controlTypes, SpecialFormGroup } from '@utilities/SpecialForms';\r\nimport { fieldDataToArray, SpecialFormGenerator } from '@utilities/SpecialFormGenerator';\r\nimport { Router } from '@angular/router';\r\nimport * as Msal from 'msal';\r\nimport { environment } from '@environments/environment';\r\n\r\n@Component({\r\n selector: 'app-container',\r\n templateUrl: './app-container.component.html',\r\n styleUrls: ['./app-container.component.scss'],\r\n host: {\r\n '(document:click)': 'onClick()',\r\n '(window:resize)': 'onResize()'\r\n },\r\n})\r\nexport class AppContainerComponent {\r\n @Input('menuItems') menuItems: MenuItemModel[] = [];\r\n @Input('navBarOptions') navBarOptions: MenuItemModel[] = [];\r\n @Input('user') currentUser: UserModel;\r\n public area:string = localStorage.getItem(\"access\");\r\n\r\n @Output('optionClick') optionClick: EventEmitter = new EventEmitter();\r\n @ViewChild('drawer', { static: true }) _drawer: MatDrawer;\r\n drawerType = '';\r\n form: SpecialFormGroup;\r\n\r\n treeControl = new NestedTreeControl(node => node.children);\r\n dataSource = new MatTreeNestedDataSource();\r\n formFields = fieldDataToArray({\r\n query: {\r\n label: \"Search\",\r\n required:false,\r\n data: ['text',, 'search'],\r\n type: controlTypes.text\r\n }\r\n });\r\n onResize() {\r\n if (window.innerWidth < 768) {\r\n this.drawerType = 'over';\r\n } else {\r\n this.drawerType = 'side';\r\n }\r\n }\r\n\r\n onClick() {\r\n if (this._drawer && this._drawer.opened) {\r\n this._drawer.close();\r\n }\r\n }\r\n\r\n constructor(private router: Router) {\r\n }\r\n\r\n hasChild = (_: number, node: MenuItemModel) => !!node.children && node.children.length > 0;\r\n\r\n ngOnInit() {\r\n this.onResize();\r\n this.dataSource.data = this.menuItems;\r\n this.form = SpecialFormGenerator(this.formFields);\r\n this.currentUser = JSON.parse(localStorage.getItem(\"CurrentUser\"))\r\n }\r\n\r\n openDrawer() {\r\n this._drawer.toggle();\r\n }\r\n\r\n logout(){\r\n localStorage.clear()\r\n sessionStorage.clear()\r\n const msalConfig = {\r\n auth: environment.msalConfigAuth,\r\n };\r\n const msalInstance = new Msal.UserAgentApplication(msalConfig);\r\n msalInstance.logout();\r\n var actualRoute = window.location.origin + environment.BASE_REF + '/auth';\r\n window.location.replace(actualRoute);\r\n }\r\n}\r\n","module.exports = \"#files {\\n font-family: \\\"Trebuchet MS\\\", Arial, Helvetica, sans-serif;\\n border-collapse: collapse;\\n width: 100%;\\n border-radius: 20px;\\n}\\n\\n#files td, #files th {\\n border: 1px solid #ddd;\\n padding: 8px;\\n border-radius: 20px;\\n}\\n\\n#files tr:nth-child(even) {\\n background-color: #f2f2f2;\\n border-radius: 20px;\\n}\\n\\n#files tr:hover {\\n background-color: #ddd;\\n border-radius: 20px;\\n}\\n\\n#files th {\\n padding-top: 12px;\\n padding-bottom: 12px;\\n text-align: left;\\n background-color: #201c55;\\n color: white;\\n border-radius: 20px;\\n}\\n\\n.button-container {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: end;\\n justify-content: flex-end;\\n -webkit-box-align: center;\\n align-items: center;\\n box-sizing: border-box;\\n padding: 16px;\\n}\\n\\n.button-container .btn-style {\\n height: 35px;\\n width: 50%;\\n max-width: 10rem;\\n margin: 0 1%;\\n}\\n\\n.card-container {\\n width: 100%;\\n height: 100%;\\n margin: 0;\\n box-sizing: border-box;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n}\\n\\n.card-container .title {\\n margin-top: 1rem;\\n color: black;\\n width: 100%;\\n font-size: 12px;\\n}\\n\\n.card-container .image {\\n width: 2rem;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.card-container .button {\\n margin: auto 0 8px;\\n}\\n\\n:host {\\n grid-row: span 1;\\n grid-column: span 2;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2F0dGFjaG1lbnQvRDpcXEZpcm1hc0RpZ2l0YWxlc0Zyb250L3NyY1xcYXBwXFxzaGFyZWRcXGF0dGFjaG1lbnRcXGF0dGFjaG1lbnQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hdHRhY2htZW50L2F0dGFjaG1lbnQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx5REFBQTtFQUNBLHlCQUFBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBO0FDQ0Y7O0FERUE7RUFDRSxzQkFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtBQ0NGOztBREVBO0VBQTBCLHlCQUFBO0VBQTBCLG1CQUFBO0FDR3BEOztBRERBO0VBQWlCLHNCQUFBO0VBQXVCLG1CQUFBO0FDTXhDOztBREpBO0VBQ0UsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLGdCQUFBO0VBQ0EseUJBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7QUNPRjs7QURKQTtFQUNFLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHFCQUFBO1VBQUEseUJBQUE7RUFDQSx5QkFBQTtVQUFBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxhQUFBO0FDT0Y7O0FETkU7RUFDSSxZQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtBQ1FOOztBREpBO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxTQUFBO0VBQ0Esc0JBQUE7RUFDQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx5QkFBQTtVQUFBLG1CQUFBO0VBQ0EsNEJBQUE7RUFBQSw2QkFBQTtVQUFBLHNCQUFBO0FDT0Y7O0FETEU7RUFDRSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtBQ09KOztBREpFO0VBQ0UsV0FBQTtFQUNBLG9CQUFBO0tBQUEsaUJBQUE7QUNNSjs7QURIRTtFQUNFLGtCQUFBO0FDS0o7O0FEREE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0FDSUYiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvYXR0YWNobWVudC9hdHRhY2htZW50LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2ZpbGVzIHtcclxuICBmb250LWZhbWlseTogXCJUcmVidWNoZXQgTVNcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbn1cclxuXHJcbiNmaWxlcyB0ZCwgI2ZpbGVzIHRoIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gIHBhZGRpbmc6IDhweDtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG59XHJcblxyXG4jZmlsZXMgdHI6bnRoLWNoaWxkKGV2ZW4pe2JhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7Ym9yZGVyLXJhZGl1czogMjBweDt9XHJcblxyXG4jZmlsZXMgdHI6aG92ZXIge2JhY2tncm91bmQtY29sb3I6ICNkZGQ7Ym9yZGVyLXJhZGl1czogMjBweDt9XHJcblxyXG4jZmlsZXMgdGgge1xyXG4gIHBhZGRpbmctdG9wOiAxMnB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMnB4O1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMyLCAyOCwgODUpO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG59XHJcblxyXG4uYnV0dG9uLWNvbnRhaW5lcntcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHBhZGRpbmc6IDE2cHg7XHJcbiAgLmJ0bi1zdHlsZXtcclxuICAgICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDEwcmVtO1xyXG4gICAgICBtYXJnaW46IDAgMSU7XHJcbiAgfVxyXG59XHJcblxyXG4uY2FyZC1jb250YWluZXJ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG1hcmdpbjogMDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIFxyXG4gIC50aXRsZXtcclxuICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICBjb2xvcjpibGFjaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gIH1cclxuXHJcbiAgLmltYWdle1xyXG4gICAgd2lkdGg6IDJyZW07XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICB9XHJcblxyXG4gIC5idXR0b257XHJcbiAgICBtYXJnaW46IGF1dG8gMCA4cHg7XHJcbiAgfVxyXG59XHJcblxyXG46aG9zdCB7XHJcbiAgZ3JpZC1yb3c6IHNwYW4gMTtcclxuICBncmlkLWNvbHVtbjogc3BhbiAyO1xyXG59IiwiI2ZpbGVzIHtcbiAgZm9udC1mYW1pbHk6IFwiVHJlYnVjaGV0IE1TXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xufVxuXG4jZmlsZXMgdGQsICNmaWxlcyB0aCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbn1cblxuI2ZpbGVzIHRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG59XG5cbiNmaWxlcyB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG59XG5cbiNmaWxlcyB0aCB7XG4gIHBhZGRpbmctdG9wOiAxMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwMWM1NTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDE2cHg7XG59XG4uYnV0dG9uLWNvbnRhaW5lciAuYnRuLXN0eWxlIHtcbiAgaGVpZ2h0OiAzNXB4O1xuICB3aWR0aDogNTAlO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBtYXJnaW46IDAgMSU7XG59XG5cbi5jYXJkLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5jYXJkLWNvbnRhaW5lciAudGl0bGUge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBjb2xvcjogYmxhY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDEycHg7XG59XG4uY2FyZC1jb250YWluZXIgLmltYWdlIHtcbiAgd2lkdGg6IDJyZW07XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmNhcmQtY29udGFpbmVyIC5idXR0b24ge1xuICBtYXJnaW46IGF1dG8gMCA4cHg7XG59XG5cbjpob3N0IHtcbiAgZ3JpZC1yb3c6IHNwYW4gMTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbn0iXX0= */\"","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\n\r\nimport { SpecialFormGroup, SpecialFormControl } from '@utilities/SpecialForms';\r\nimport { AzureStorage } from './scripts/azure-storage.blob.min.js';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\r\nimport { Router } from '@angular/router';\r\n//import { BlobService, UploadConfig, UploadParams } from 'angular-azure-blob-service'\r\ndeclare const AzureStorage: any;\r\ndeclare const fileService: any;\r\n\r\n@Component({\r\n selector: 'attachment',\r\n templateUrl: './attachment.component.html',\r\n styleUrls: ['./attachment.component.scss']\r\n})\r\nexport class AttachmentComponent implements OnInit {\r\n\r\n //En este input se debe ingresar el nombre del BlobContainer que se va a afectar\r\n //En caso de no existir se crea el contenedor.\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n @Output('blurAction') _blurAction: EventEmitter = new EventEmitter();\r\n @Output('enterKey') _enterKey: EventEmitter = new EventEmitter();\r\n @Input('preRowKey') preRowKey: string;\r\n @Input('container') set containerEvent(value: string) {\r\n if (value) {\r\n this.container = value;\r\n this.ngOnInit()\r\n this.list();\r\n \r\n }\r\n }\r\n\r\n container: string\r\n\r\n form: SpecialFormGroup;\r\n formFields = [];\r\n blobService;\r\n blobArray = [];\r\n files: File[] = [];\r\n /* account = {\r\n name: \"ronellygestiondocumental\",\r\n sas: \"se=2019-11-20&sp=rwdlac&sv=2018-03-28&ss=b&srt=sco&sig=1TWoryZgnrqT4th/Lkv3sb56uQvQHu6778PvIPXTiz0%3D\"\r\n };\r\n\r\n blobUri = 'https://' + this.account.name + '.blob.core.windows.net';\r\n this.blobService = AzureStorage.Blob.createBlobServiceWithSas(this.blobUri, this.account.sas); */\r\n fileData: File = null;\r\n previewUrl: any = null;\r\n fileUploadProgress: string = null;\r\n uploadedFilePath: string = null;\r\n constructor(\r\n private http: HttpClient,\r\n public dialog: MatDialog,\r\n private _router: Router,\r\n ) { }\r\n\r\n ngOnInit() {\r\n //console.log(this._sfcontrol.label)\r\n //alert(this.container)\r\n this.list()\r\n this.createContainer()\r\n \r\n }\r\n\r\n getBlobService() {\r\n const account = {\r\n //sas: 'se=2019-11-20&sp=rwdlac&sv=2018-03-28&ss=b&srt=sco&sig=1TWoryZgnrqT4th/Lkv3sb56uQvQHu6778PvIPXTiz0%3D',\r\n sas: '?sv=2019-02-02&ss=bfqt&srt=sco&sp=rwdlacup&se=2030-02-01T15:04:12Z&st=2020-02-01T07:04:12Z&spr=https,http&sig=sm2gcWtTKvPZEGsV%2FipCwdOTx5pZ0jg4Lym77Xe1UBc%3D',\r\n name: 'cecdev',\r\n };\r\n\r\n const blobUri = 'https://' + account.name + '.blob.core.windows.net';\r\n const blobService = AzureStorage.Blob.createBlobServiceWithSas(blobUri, account.sas);\r\n this.blobService = blobService;\r\n }\r\n\r\n createContainer() {\r\n this.getBlobService()\r\n this.blobService.createContainerIfNotExists(this.container, (error, container) => {\r\n if (error) {\r\n // Handle create container error\r\n } else {\r\n console.log(container.name);\r\n }\r\n });\r\n }\r\n\r\n fileProgress(event: any) {\r\n //alert(event.addedFiles)\r\n //this.fileData = fileInput.target.files[0];\r\n this.files.push(...event.addedFiles);\r\n //this.preview();\r\n }\r\n\r\n async onSubmit(event) {\r\n this.fileProgress(event)\r\n this.getBlobService()\r\n /* this.createContainer() */\r\n \r\n this.blobService.createBlockBlobFromBrowserFile(\r\n this.container, this.files[0].name, ...event.addedFiles,\r\n (error, result) => {\r\n result=>{\r\n //alert(result)\r\n this.ngOnInit()\r\n }\r\n if (error) {\r\n alert(error)\r\n } else {\r\n alert(\"Archivo agregado correctamente\")\r\n //location.reload()\r\n }\r\n });\r\n \r\n setTimeout(() => {\r\n this.ngOnInit()\r\n }, 5000);\r\n \r\n }\r\n\r\n async list() {\r\n this.getBlobService()\r\n //this.createContainer()\r\n this.blobService.listBlobsSegmented(this.container, null, async (error, results) => {\r\n if (error) {\r\n // Handle list blobs error\r\n } else {\r\n this.blobArray = [];\r\n results.entries.forEach(blob => {\r\n //alert(blob.name);\r\n /* var newDiv = document.createElement(\"h4\"); \r\n var newContent = document.createTextNode(blob.name); \r\n newDiv.appendChild(newContent); //añade texto al div creado. */\r\n var downloadLink = this.blobService.getUrl(this.container, blob.name,\r\n (error, result) => {\r\n if (error) {\r\n // Handle delete blob error\r\n //alert(downloadLink)\r\n } else {\r\n console.log('Blob download successfully');\r\n }\r\n });\r\n this.blobArray.push({ \"blob\": blob, \"downloadLink\": downloadLink + \"?sv=2019-02-02&ss=bqtf&srt=sco&sp=rwdlacup&se=2019-11-19T08:42:21Z&sig=PVtnElaCa%2FdTDnRcWWIsMIOi9a3tWVKm%2FL3F63iw4JU%3D&_=1574124295978\" })\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n Download(link) {\r\n window.open(link, '_blank')\r\n // this.getBlobService()\r\n // var downloadLink = this.blobService.getUrl(this.container, blobName,\r\n // (error, result) => {\r\n // if (error) {\r\n // // Handle delete blob error\r\n // //alert(downloadLink)\r\n // } else {\r\n // console.log('Blob download successfully');\r\n // }\r\n // });\r\n // console.log(downloadLink)\r\n //alert(downloadLink)\r\n // this.blobService.getUrl('myshare', 'mydirectory', 'myfile', 'SAS_TOKEN');\r\n //alert(downloadLink);\r\n }\r\n\r\n\r\n delete(blobEvent) {\r\n this.getBlobService()\r\n var blobName = this.container;\r\n let dialogRef = this.dialog.open(ConfirmationDialogComponent, {\r\n height: '350px',\r\n width: '550px',\r\n data: { title: '¿Está seguro que desea eliminar?', text: 'Esto no se podra deshacer!!' }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n setTimeout(() => {\r\n this.blobService.deleteBlobIfExists(this.container, blobEvent, (error, result) => {\r\n if (error) {\r\n // Handle delete blob error\r\n } else {\r\n console.log('Blob deleted successfully');\r\n location.reload()\r\n }\r\n });\r\n }, 1000);\r\n \r\n } else {\r\n //this.cancelCasefile() :\r\n console.log('dont do it')\r\n }\r\n //this.list()\r\n });\r\n this.list()\r\n }\r\n\r\n preview() {\r\n // Show preview \r\n var mimeType = this.fileData.type;\r\n if (mimeType.match(/image\\/*/) == null) {\r\n return;\r\n }\r\n\r\n var reader = new FileReader();\r\n reader.readAsDataURL(this.fileData);\r\n reader.onload = (_event) => {\r\n this.previewUrl = reader.result;\r\n }\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'iconsByType'\r\n})\r\nexport class IconsByTypePipe implements PipeTransform {\r\n transform(value: any): any {\r\n switch (value) {\r\n case 'image/jpeg': return './assets/icons/image.png';\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \".button-container {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: end;\\n justify-content: flex-end;\\n}\\n.button-container .btn-style {\\n width: 50%;\\n max-width: 10rem;\\n margin: 0 1%;\\n}\\n.position-input-query-component {\\n padding-left: 35.5%;\\n padding-right: 10%;\\n position: absolute;\\n top: 45%;\\n}\\n.style-input-query-component {\\n border-bottom: 2px solid gray;\\n border-right: 2px solid gray;\\n width: 170%;\\n}\\n.grid-24 {\\n grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr)) !important;\\n}\\n.grid-22 {\\n grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr)) !important;\\n}\\n.grid-20 {\\n grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)) !important;\\n}\\n.grid-18 {\\n grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)) !important;\\n}\\n.grid-16 {\\n grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)) !important;\\n}\\n.grid-14 {\\n grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)) !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2F1dG9tYXRpYy1mb3Jtcy9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3JjXFxhcHBcXHNoYXJlZFxcYXV0b21hdGljLWZvcm1zXFxhdXRvbWF0aWMtZm9ybXMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hdXRvbWF0aWMtZm9ybXMvYXV0b21hdGljLWZvcm1zLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksb0JBQUE7RUFBQSxhQUFBO0VBQ0EscUJBQUE7VUFBQSx5QkFBQTtBQ0NKO0FEQUk7RUFDSSxVQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0FDRVI7QURFQTtFQUNJLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7QUNDSjtBREVBO0VBQ0ksNkJBQUE7RUFDQSw0QkFBQTtFQUNBLFdBQUE7QUNDSjtBREVBO0VBQ0ksdUVBQUE7QUNDSjtBRENBO0VBQ0ksdUVBQUE7QUNFSjtBREFBO0VBQ0ksdUVBQUE7QUNHSjtBRERBO0VBQ0ksdUVBQUE7QUNJSjtBREZBO0VBQ0ksdUVBQUE7QUNLSjtBREhBO0VBQ0ksdUVBQUE7QUNNSiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9hdXRvbWF0aWMtZm9ybXMvYXV0b21hdGljLWZvcm1zLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ1dHRvbi1jb250YWluZXJ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIC5idG4tc3R5bGV7XHJcbiAgICAgICAgd2lkdGg6NTAlO1xyXG4gICAgICAgIG1heC13aWR0aDogMTByZW07XHJcbiAgICAgICAgbWFyZ2luOiAwIDElO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucG9zaXRpb24taW5wdXQtcXVlcnktY29tcG9uZW50e1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzNS41JTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNDUlXHJcbn1cclxuXHJcbi5zdHlsZS1pbnB1dC1xdWVyeS1jb21wb25lbnR7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgZ3JheTtcclxuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIGdyYXk7XHJcbiAgICB3aWR0aDogMTcwJTtcclxufVxyXG5cclxuLmdyaWQtMjR7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNHJlbSwgMWZyKSkgIWltcG9ydGFudDtcclxufVxyXG4uZ3JpZC0yMntcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIycmVtLCAxZnIpKSAhaW1wb3J0YW50O1xyXG59XHJcbi5ncmlkLTIwe1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjByZW0sIDFmcikpICFpbXBvcnRhbnQ7XHJcbn1cclxuLmdyaWQtMTh7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxOHJlbSwgMWZyKSkgIWltcG9ydGFudDtcclxufVxyXG4uZ3JpZC0xNntcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE2cmVtLCAxZnIpKSAhaW1wb3J0YW50O1xyXG59XHJcbi5ncmlkLTE0e1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTRyZW0sIDFmcikpICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLmJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLmJ1dHRvbi1jb250YWluZXIgLmJ0bi1zdHlsZSB7XG4gIHdpZHRoOiA1MCU7XG4gIG1heC13aWR0aDogMTByZW07XG4gIG1hcmdpbjogMCAxJTtcbn1cblxuLnBvc2l0aW9uLWlucHV0LXF1ZXJ5LWNvbXBvbmVudCB7XG4gIHBhZGRpbmctbGVmdDogMzUuNSU7XG4gIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQ1JTtcbn1cblxuLnN0eWxlLWlucHV0LXF1ZXJ5LWNvbXBvbmVudCB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBncmF5O1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBncmF5O1xuICB3aWR0aDogMTcwJTtcbn1cblxuLmdyaWQtMjQge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNHJlbSwgMWZyKSkgIWltcG9ydGFudDtcbn1cblxuLmdyaWQtMjIge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMnJlbSwgMWZyKSkgIWltcG9ydGFudDtcbn1cblxuLmdyaWQtMjAge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMHJlbSwgMWZyKSkgIWltcG9ydGFudDtcbn1cblxuLmdyaWQtMTgge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxOHJlbSwgMWZyKSkgIWltcG9ydGFudDtcbn1cblxuLmdyaWQtMTYge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxNnJlbSwgMWZyKSkgIWltcG9ydGFudDtcbn1cblxuLmdyaWQtMTQge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxNHJlbSwgMWZyKSkgIWltcG9ydGFudDtcbn0iXX0= */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { controlTypes, SpecialFormGroup } from '@utilities/SpecialForms';\r\nimport { Location } from '@angular/common';\r\n\r\n\r\n@Component({\r\n selector: 'automatic-forms',\r\n templateUrl: './automatic-forms.component.html',\r\n styleUrls: ['./automatic-forms.component.scss']\r\n})\r\nexport class AutomaticFormsComponent implements OnInit {\r\n @Input('form') form: SpecialFormGroup;\r\n @Input('successText') successText: string = '';\r\n //@Input('cancelText') cancelText: string = 'Reiniciar';\r\n @Input('cancelText') cancelText: string = '';\r\n @Input('deleteText') deleteText: string = 'Eliminar';\r\n @Input('backText') backText: string = '';\r\n @Input('closeText') closeText: string = '';\r\n @Input('enableButtons') enableButtons: boolean = true;\r\n @Input('preRowKey') preRowKey: string;\r\n @Input() enableBackButton: boolean = true;\r\n @Input() enableCloseButton: boolean = false;\r\n @Input() enableSuccessButton: boolean = true;\r\n @Input('grid') grid: string;\r\n @Output('enterKey') _enterKey: EventEmitter = new EventEmitter();\r\n\r\n @Output('submit') submit: EventEmitter = new EventEmitter();\r\n @Output('clean') clean: EventEmitter = new EventEmitter();\r\n @Output('delete') delete: EventEmitter = new EventEmitter();\r\n @Output('back') back: EventEmitter = new EventEmitter();\r\n @Output('arrayDate') arraDate: EventEmitter = new EventEmitter();\r\n @Output() close: EventEmitter = new EventEmitter();\r\n @Output() hyperLinkCheck: EventEmitter = new EventEmitter();\r\n @Output() buttonPressed = new EventEmitter();\r\n controlTypes = controlTypes;\r\n blockedDays;\r\n\r\n constructor(private _location:Location ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n submitAction() {\r\n this.form.valid ?\r\n this.submit.emit(this.form.value) :\r\n this.form.unpristineRequired();\r\n }\r\n\r\n cancelAction() {\r\n this.form.specialReset();\r\n this.clean.emit(this.form.value)\r\n }\r\n\r\n deleteAction() {\r\n this.delete.emit(this.form.value)\r\n }\r\n\r\n goBack() {\r\n this._location.back();\r\n }\r\n\r\n closeAction() {\r\n this.close.next();\r\n }\r\n\r\n BlockedDaysArray(array){\r\n this.arraDate.emit(array)\r\n }\r\n\r\n enterKey(e) {\r\n this._enterKey.emit(e);\r\n }\r\n\r\n}\r\n","module.exports = \".contenedor {\\n box-sizing: border-box;\\n border: 2px lightgray solid;\\n padding: 10px;\\n width: 100%;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n justify-content: space-around;\\n -webkit-box-align: center;\\n align-items: center;\\n}\\n.contenedor .contenedor-botones {\\n margin-top: 10px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n flex-direction: row;\\n justify-content: space-around;\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9iZWxvbmdzLWRpcGxvbWEvRDpcXEZpcm1hc0RpZ2l0YWxlc0Zyb250L3NyY1xcYXBwXFxzaGFyZWRcXGNvbW1vbi1jb250cm9sc1xcYmVsb25ncy1kaXBsb21hXFxiZWxvbmdzLWRpcGxvbWEuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvYmVsb25ncy1kaXBsb21hL2JlbG9uZ3MtZGlwbG9tYS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLHNCQUFBO0VBQ0EsMkJBQUE7RUFDQSxhQUFBO0VBQ0EsV0FBQTtFQUNBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLDRCQUFBO0VBQUEsNkJBQUE7VUFBQSxzQkFBQTtFQUNBLDZCQUFBO0VBQ0EseUJBQUE7VUFBQSxtQkFBQTtBQ0NKO0FEQ0k7RUFDSSxnQkFBQTtFQUNBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLDhCQUFBO0VBQUEsNkJBQUE7VUFBQSxtQkFBQTtFQUNBLDZCQUFBO0VBQ0EsV0FBQTtBQ0NSIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9iZWxvbmdzLWRpcGxvbWEvYmVsb25ncy1kaXBsb21hLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRlbmVkb3Ige1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJvcmRlcjogMnB4IGxpZ2h0Z3JheSBzb2xpZDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIC5jb250ZW5lZG9yLWJvdG9uZXMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIGhlaWdodDogMTAwcHg7XHJcbiAgICB9XHJcbn0iLCIuY29udGVuZWRvciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMnB4IGxpZ2h0Z3JheSBzb2xpZDtcbiAgcGFkZGluZzogMTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmNvbnRlbmVkb3IgLmNvbnRlbmVkb3ItYm90b25lcyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB3aWR0aDogMTAwJTtcbn0iXX0= */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { MatSelectChange } from '@angular/material/select';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\n@Component({\r\n selector: 'app-belongs-diploma',\r\n templateUrl: './belongs-diploma.component.html',\r\n styleUrls: ['./belongs-diploma.component.scss']\r\n})\r\nexport class BelongsDiplomaComponent implements OnInit {\r\n\r\n @Input() labelSelect: string;\r\n @Input() placeHolderInput: string;\r\n @Input('list') dataList: {id: number; element: string}[];\r\n @Input() textButtonSave: string;\r\n\r\n @Output() newElement = new EventEmitter();\r\n @Output() idElementSelected = new EventEmitter();\r\n\r\n listControl = new FormControl('');\r\n textControl = new FormControl('');\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n elementSelected(dataSelect: MatSelectChange): void {\r\n const value = dataSelect.value;\r\n if (!isNullOrUndefined(value)) {\r\n this.idElementSelected.emit(value as number);\r\n }\r\n }\r\n\r\n public save(): void {\r\n const value = this.textControl.value;\r\n if (value) {\r\n this.newElement.emit(( value as string).trim().toUpperCase() );\r\n this.textControl.reset();\r\n }\r\n }\r\n \r\n public cancel(): void {\r\n this.listControl.reset();\r\n this.textControl.reset();\r\n }\r\n\r\n}\r\n","module.exports = \".disabled {\\n color: rgba(0, 0, 0, 0.38);\\n}\\n\\n:host {\\n grid-column: span 2;\\n}\\n\\n.full-width {\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWF1dG9jb21wbGV0ZS1sb2NhbC9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3JjXFxhcHBcXHNoYXJlZFxcY29tbW9uLWNvbnRyb2xzXFxjb250cm9sLWF1dG9jb21wbGV0ZS1sb2NhbFxcY29udHJvbC1hdXRvY29tcGxldGUtbG9jYWwuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1hdXRvY29tcGxldGUtbG9jYWwvY29udHJvbC1hdXRvY29tcGxldGUtbG9jYWwuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSwwQkFBQTtBQ0NKOztBRENBO0VBQ0ksbUJBQUE7QUNFSjs7QURDQTtFQUNJLFdBQUE7QUNFSiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1hdXRvY29tcGxldGUtbG9jYWwvY29udHJvbC1hdXRvY29tcGxldGUtbG9jYWwuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZGlzYWJsZWQge1xyXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjM4KTtcclxufVxyXG46aG9zdCB7XHJcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xyXG59XHJcblxyXG4uZnVsbC13aWR0aCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufSIsIi5kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG46aG9zdCB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDI7XG59XG5cbi5mdWxsLXdpZHRoIHtcbiAgd2lkdGg6IDEwMCU7XG59Il19 */\"","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { SpecialFormControl } from \"@utilities/SpecialForms\";\r\nimport { Observable, BehaviorSubject, combineLatest } from \"rxjs\";\r\nimport {\r\n filter,\r\n startWith,\r\n map,\r\n take,\r\n tap,\r\n distinctUntilChanged,\r\n} from \"rxjs/operators\";\r\nimport { isNullOrUndefined } from \"util\";\r\nimport { FormControl, Validators } from \"@angular/forms\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AdFacadeService } from \"@services/active-directory/ad-facade.service\";\r\nimport { UserGraphApiModel } from \"@models/user.model\";\r\nimport { Validations } from \"@utilities/validations.customer\";\r\n\r\n@Component({\r\n selector: \"control-autocomplete-local\",\r\n templateUrl: \"./control-autocomplete-local.component.html\",\r\n styleUrls: [\"./control-autocomplete-local.component.scss\"],\r\n})\r\nexport class ControlAutocompleteLocalComponent implements OnInit {\r\n @Input() sfcontrol: SpecialFormControl;\r\n\r\n @Output(\"word\") word: EventEmitter = new EventEmitter();\r\n @Output(\"blurAction\") _blurAction: EventEmitter = new EventEmitter();\r\n @Output(\"enterKey\") _enterKey: EventEmitter = new EventEmitter();\r\n\r\n public typeField: string = \"control-read-only\";\r\n\r\n public inputCtrl = new FormControl();\r\n\r\n public dataList$: Observable;\r\n\r\n private _currentValue = new BehaviorSubject(null);\r\n\r\n private _listAll$ = new BehaviorSubject([]);\r\n subs = new Subscription();\r\n filteredOptions: string[] = [];\r\n\r\n constructor(private _adFacadeService: AdFacadeService) {}\r\n\r\n ngOnInit() {\r\n /* this.subs.add(\r\n this.data.subscribe((data) => {\r\n this.filteredOptions = data;\r\n })\r\n )\r\n */\r\n\r\n /* if (this.sfcontrol.data[0] instanceof Observable) {\r\n this.sfcontrol.data[0]\r\n .pipe(\r\n filter( i => !isNullOrUndefined(i) ) \r\n ).subscribe( i => this._listAll$.next( i ) )\r\n } else {\r\n this._listAll$.next( this.sfcontrol.data[0] )\r\n } */\r\n\r\n this._adFacadeService\r\n .getADUsers$()\r\n .pipe(\r\n //tap((x) => console.log(\"NUEVOS AD\", x)),\r\n filter((i) => !isNullOrUndefined(i) && i.length > 0),\r\n map((entrada) => {\r\n let i = [...entrada];\r\n return i.sort((a, b) => this.sortData(a, b));\r\n }),\r\n //tap((x) => console.log(\"NUEVOS AD\", x))\r\n )\r\n .subscribe((i) => this._listAll$.next(i));\r\n\r\n const input$ = this.inputCtrl.valueChanges.pipe(\r\n filter((i) => !isNullOrUndefined(i)),\r\n startWith(\"\"),\r\n map((i) => (i).toLowerCase()),\r\n tap((i) => {\r\n this.words(i);\r\n })\r\n );\r\n\r\n this.dataList$ = combineLatest(this._listAll$, input$).pipe(\r\n /* tap(alert), */\r\n map(([list, textInput]) => {\r\n let _list = [...list];\r\n return _list.filter((i) =>\r\n (i[this.sfcontrol.data[2]]).toLowerCase().includes(textInput)\r\n );\r\n })\r\n );\r\n\r\n combineLatest(this._currentValue, this._listAll$)\r\n .pipe(\r\n //tap((x) => console.log(\"combineLatest antes filter\", x)),\r\n filter(([currentValue, list]) => !isNullOrUndefined(currentValue)),\r\n //tap((x) => console.log(\"combineLatest despues filter\", x)),\r\n map(([currentValue, list]) => {\r\n //console.log(list, this.sfcontrol.data[1], currentValue);\r\n let find = list.find(\r\n (i) => i[this.sfcontrol.data[1]] === currentValue\r\n );\r\n find = find ? find : null;\r\n return find;\r\n }),\r\n //tap((x) => console.log(\"combineLatest despues map\", x)),\r\n filter((i) => !isNullOrUndefined(i)),\r\n distinctUntilChanged((data1, data2) => data1[\"mail\"] == data2[\"mail\"]),\r\n //tap((x) => console.log(\"combineLatest despues distinctUntilChanged\", x))\r\n //take(1)\r\n )\r\n .subscribe((i) => {\r\n console.log(i[this.sfcontrol.data[2]])\r\n this.inputCtrl.setValue(i[this.sfcontrol.data[2]])\r\n });\r\n\r\n // ACTUALIZACION BASADO EN CAMBIO DE VALOR DEL CONTROL\r\n this.sfcontrol.valueChanges.subscribe((value) => {\r\n //console.log(value);\r\n //console.log(this.sfcontrol)\r\n if(this.sfcontrol.readOnly){\r\n this.inputCtrl.disable()\r\n }else{\r\n this.inputCtrl.enable()\r\n }\r\n let valid = JSON.parse(localStorage.getItem(\"validEmailArea\"));\r\n //console.log(valid)\r\n let message: any;\r\n if (valid) {\r\n message = { repeatedName: \"El usuario ya tiene esta área asignada\" };\r\n Validations.addValidationsAutoComplete(this.inputCtrl, message);\r\n this.inputCtrl.markAsTouched();\r\n this.inputCtrl.updateValueAndValidity();\r\n } else {\r\n this.inputCtrl.setErrors(null);\r\n this.inputCtrl.setValidators(null);\r\n this.inputCtrl.markAsTouched();\r\n this.inputCtrl.updateValueAndValidity();\r\n }\r\n //console.log(this.inputCtrl)\r\n if (value) {\r\n this._currentValue.next(value);\r\n } else {\r\n this.inputCtrl.setValue(null);\r\n this.inputCtrl.setErrors(null);\r\n this.inputCtrl.setValidators(null);\r\n this.inputCtrl.markAsTouched();\r\n this.inputCtrl.updateValueAndValidity();\r\n }\r\n });\r\n }\r\n\r\n words(i) {\r\n //console.log(\"PALABRA\", i);\r\n this.word.emit(i);\r\n if (i) {\r\n this._adFacadeService.searchAllADUsers(i);\r\n }\r\n //alert(i)\r\n }\r\n\r\n private sortData(a: UserGraphApiModel, b: UserGraphApiModel): number {\r\n const aName = a.displayName ? a.displayName.toLowerCase() : \"\";\r\n const bName = b.displayName ? b.displayName.toLowerCase() : \"\";\r\n let response: number;\r\n if (aName > bName) {\r\n response = 1;\r\n }\r\n if (aName < bName) {\r\n response = -1;\r\n }\r\n if (aName === bName) {\r\n response = 0;\r\n }\r\n return response;\r\n }\r\n /* update(input$){\r\n this.dataList$ = combineLatest( this._listAll$, input$ )\r\n .pipe(\r\n map( ([list, textInput]) => {\r\n let _list = [...list];\r\n return _list.filter( i => (i[ this.sfcontrol.data[2] ]).toLowerCase().includes( textInput ) );\r\n }\r\n ),\r\n );\r\n } */\r\n\r\n public selected(element: object): void {\r\n this.sfcontrol.markAsDirty();\r\n this.sfcontrol.setValue(element[this.sfcontrol.data[1]]);\r\n this.sfcontrol.setComplement(element);\r\n }\r\n}\r\n","module.exports = \":host {\\n width: 100%;\\n height: 4rem;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: end;\\n align-items: flex-end;\\n position: relative;\\n}\\n:host input {\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWF1dG9jb21wbGV0ZS9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3JjXFxhcHBcXHNoYXJlZFxcY29tbW9uLWNvbnRyb2xzXFxjb250cm9sLWF1dG9jb21wbGV0ZVxcY29udHJvbC1hdXRvY29tcGxldGUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1hdXRvY29tcGxldGUvY29udHJvbC1hdXRvY29tcGxldGUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHNCQUFBO1VBQUEscUJBQUE7RUFDQSxrQkFBQTtBQ0NKO0FEQ0k7RUFDSSxXQUFBO0FDQ1IiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvY29tbW9uLWNvbnRyb2xzL2NvbnRyb2wtYXV0b2NvbXBsZXRlL2NvbnRyb2wtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3R7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNHJlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgaW5wdXR7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn0iLCI6aG9zdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuOmhvc3QgaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbn0iXX0= */\"","import { Component, Input, Output, EventEmitter, AfterContentInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { debounceTime, filter } from 'rxjs/operators';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\nimport { Subscription } from 'rxjs';\r\n@Component({\r\n selector: 'control-autocomplete',\r\n templateUrl: './control-autocomplete.component.html',\r\n styleUrls: ['./control-autocomplete.component.scss'],\r\n})\r\nexport class ControlAutocompleteComponent {\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n @Output('blurAction') _blurAction: EventEmitter = new EventEmitter();\r\n @Output('enterKey') _enterKey: EventEmitter = new EventEmitter();\r\n\r\n subs = new Subscription();\r\n myControl = new FormControl();\r\n filteredOptions: string[] = [];\r\n constructor() { }\r\n\r\n ngAfterViewInit() {\r\n if (this._sfcontrol) {\r\n if (this._sfcontrol.value instanceof Object) {\r\n setTimeout(() => {\r\n this.myControl.setValue(this._sfcontrol.value);\r\n this._sfcontrol.setValue(this._sfcontrol.value[this._sfcontrol.data[2]]);\r\n }, 500);\r\n }\r\n\r\n this.subs.add(\r\n this._sfcontrol.statusChanges.subscribe((status) => {\r\n status === 'DISABLED' ? this.myControl.disable() : this.myControl.enable();\r\n if (this._sfcontrol.pristine && this._sfcontrol.invalid) {\r\n this.myControl.reset();\r\n }\r\n })\r\n );\r\n\r\n this.subs.add(\r\n this._sfcontrol.valueChanges.pipe(\r\n filter((value) => value instanceof Object)\r\n ).subscribe((value) => {\r\n this.myControl.setValue(value);\r\n this._sfcontrol.setValue(value[this._sfcontrol.data[2]]);\r\n })\r\n );\r\n\r\n this.subs.add(\r\n this.myControl.valueChanges.pipe(\r\n debounceTime(1000),\r\n ).subscribe((query) => {\r\n this._sfcontrol.data[0](query)\r\n })\r\n )\r\n\r\n this.subs.add(\r\n this._sfcontrol.data[1].subscribe((data) => {\r\n this.filteredOptions = data;\r\n })\r\n )\r\n }\r\n }\r\n\r\n configValue = (data) => {\r\n return (data && data[this._sfcontrol.data[3]]) ? data[this._sfcontrol.data[3]] : '';\r\n }\r\n\r\n optionSelected(data: MatAutocompleteSelectedEvent) {\r\n this._sfcontrol.setComplement(data.option.value);\r\n this._sfcontrol.markAsDirty();\r\n this._sfcontrol.setValue(data.option.value[this._sfcontrol.data[2]]);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","module.exports = \":host {\\n grid-row: span 2;\\n grid-column: span 2;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWJlbG9uZ3MtZGlwb21hL0Q6XFxGaXJtYXNEaWdpdGFsZXNGcm9udC9zcmNcXGFwcFxcc2hhcmVkXFxjb21tb24tY29udHJvbHNcXGNvbnRyb2wtYmVsb25ncy1kaXBvbWFcXGNvbnRyb2wtYmVsb25nLWRpcGxvbWEuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1iZWxvbmdzLWRpcG9tYS9jb250cm9sLWJlbG9uZy1kaXBsb21hLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BO0VBQ0ksZ0JBQUE7RUFDQSxtQkFBQTtBQ05KIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWJlbG9uZ3MtZGlwb21hL2NvbnRyb2wtYmVsb25nLWRpcGxvbWEuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA6aG9zdHtcclxuLy8gICAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgICAgaGVpZ2h0OiA0cmVtO1xyXG4vLyAgICAgZGlzcGxheTogZmxleDtcclxuLy8gICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuLy8gfVxyXG5cclxuOmhvc3Qge1xyXG4gICAgZ3JpZC1yb3c6IHNwYW4gMjtcclxuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XHJcbn0iLCI6aG9zdCB7XG4gIGdyaWQtcm93OiBzcGFuIDI7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDI7XG59Il19 */\"","import { Component, Input } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\nimport { Observable, Subscription, combineLatest } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'control-belong-diploma',\r\n templateUrl: './control-belong-diploma.component.html',\r\n styleUrls: ['./control-belong-diploma.component.scss']\r\n})\r\nexport class ControlBelongDiplomaComponent {\r\n // @Input('readOnly') _readOnly = false;\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n\r\n value: any = \"\";\r\n subs: Subscription = new Subscription();\r\n data: Object[] = [];\r\n labelTextButton: string;\r\n labelSelect: string;\r\n labelPlaceHolder: string;\r\n\r\n ngOnInit() {\r\n if (this._sfcontrol.data[0] instanceof Observable) {\r\n // this.subs.add(\r\n // combineLatest(\r\n // this._sfcontrol.data[0].pipe(filter(a => a ? true : false)),\r\n // this._sfcontrol.valueChanges,\r\n // (data: Array, value) => {\r\n // const select = data.find(a => a[this._sfcontrol.data[1]] === value);\r\n // select && this._sfcontrol.setComplement(select);\r\n // }\r\n // ).subscribe(() => { })\r\n // )\r\n this.subs.add(\r\n this._sfcontrol.data[0].subscribe(d => {\r\n this.data = d;\r\n this.asignacionEtiqueta(this.textProcessor(this._sfcontrol.label));\r\n })\r\n )\r\n } else {\r\n this.data = this._sfcontrol.data[0];\r\n // this._sfcontrol.valueChanges.pipe(\r\n // ).subscribe((value) => {\r\n // const select = this.data.find(a => a[this._sfcontrol.data[1]] === value);\r\n // select && this._sfcontrol.setComplement(select);\r\n // })\r\n this.asignacionEtiqueta(this.textProcessor(this._sfcontrol.label));\r\n }\r\n }\r\n\r\n private asignacionEtiqueta( data: string[] ): void {\r\n this.labelSelect = data[0];\r\n this.labelPlaceHolder = data[1];\r\n this.labelTextButton = data[2];\r\n }\r\n\r\n public textProcessor(input: string): string[] {\r\n return input.split(',').map(data => data.trim());\r\n }\r\n\r\n public salidaElemento(element: string): void {\r\n this._sfcontrol.markAsDirty();\r\n this._sfcontrol.setValue({element: element, id: null});\r\n }\r\n\r\n public salidaSelector(id: number): void {\r\n this._sfcontrol.markAsDirty();\r\n this._sfcontrol.setValue({element: null, id: id});\r\n }\r\n\r\n // select(value) {\r\n // this._sfcontrol.markAsDirty();\r\n // this._sfcontrol.setValue(value);\r\n // }\r\n\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","module.exports = \":host {\\n width: 100%;\\n}\\n:host label {\\n display: block;\\n font-size: 1rem;\\n font-weight: bold;\\n margin-bottom: 1rem;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWNoZWNrYm94L0Q6XFxGaXJtYXNEaWdpdGFsZXNGcm9udC9zcmNcXGFwcFxcc2hhcmVkXFxjb21tb24tY29udHJvbHNcXGNvbnRyb2wtY2hlY2tib3hcXGNvbnRyb2wtY2hlY2tib3guY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1jaGVja2JveC9jb250cm9sLWNoZWNrYm94LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksV0FBQTtBQ0NKO0FEQ0k7RUFDSSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7QUNDUiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1jaGVja2JveC9jb250cm9sLWNoZWNrYm94LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3R7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBsYWJlbHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIH1cclxufSIsIjpob3N0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG46aG9zdCBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufSJdfQ== */\"","import { Component, Input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\nimport { isNullOrUndefined } from 'util';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'control-checkbox',\r\n templateUrl: './control-checkbox.component.html',\r\n styleUrls: ['./control-checkbox.component.scss'],\r\n})\r\nexport class ControlCheckboxComponent implements OnInit, OnDestroy {\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n @Input('description') _description: string = '';\r\n \r\n @Output('changeEvent') _changeEvent: EventEmitter = new EventEmitter();\r\n @Output() hyperLink: EventEmitter = new EventEmitter();\r\n\r\n\r\n private _currentValue: boolean;\r\n private _finisher = new Subject();\r\n\r\n ngOnInit(): void {\r\n this._sfcontrol.valueChanges.pipe(\r\n takeUntil( this._finisher )\r\n ).subscribe( i => {\r\n\r\n if ( !isNullOrUndefined( this._currentValue ) ) {\r\n if (this._currentValue !== i) {\r\n this._sfcontrol.setValue( this._currentValue );\r\n this._currentValue = null;\r\n }\r\n }\r\n\r\n } \r\n );\r\n }\r\n\r\n public hyperlinkEvent(): void {\r\n this._currentValue = this._sfcontrol.value;\r\n this.hyperLink.emit( this._sfcontrol.name );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._finisher.next();\r\n }\r\n\r\n}\r\n","module.exports = \":host {\\n width: 100%;\\n min-height: 4rem;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: end;\\n align-items: flex-end;\\n}\\n:host .chip-list {\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWNoaXBzLXRleHQvRDpcXEZpcm1hc0RpZ2l0YWxlc0Zyb250L3NyY1xcYXBwXFxzaGFyZWRcXGNvbW1vbi1jb250cm9sc1xcY29udHJvbC1jaGlwcy10ZXh0XFxjb250cm9sLWNoaXBzLXRleHQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1jaGlwcy10ZXh0L2NvbnRyb2wtY2hpcHMtdGV4dC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHNCQUFBO1VBQUEscUJBQUE7QUNDSjtBRENJO0VBQ0ksV0FBQTtBQ0NSIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWNoaXBzLXRleHQvY29udHJvbC1jaGlwcy10ZXh0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3R7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDRyZW07XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cclxuICAgIC5jaGlwLWxpc3R7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn0iLCI6aG9zdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG46aG9zdCAuY2hpcC1saXN0IHtcbiAgd2lkdGg6IDEwMCU7XG59Il19 */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\n\r\n@Component({\r\n selector: 'control-chips-text',\r\n templateUrl: './control-chips-text.component.html',\r\n styleUrls: ['./control-chips-text.component.scss']\r\n})\r\nexport class ControlChipsTextComponent implements OnInit {\r\n\r\n @Input('sfcontrol') sfcontrol: SpecialFormControl;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n\r\n\r\n }\r\n\r\n}\r\n","module.exports = \"/* :host{\\n width: 100%;\\n min-height: 4rem;\\n display: flex;\\n align-items: flex-end;\\n\\n .chip-list{\\n width: 100%;\\n }\\n} */\\n:host {\\n grid-row: span 1;\\n grid-column: span 2;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWNoaXBzL0Q6XFxGaXJtYXNEaWdpdGFsZXNGcm9udC9zcmNcXGFwcFxcc2hhcmVkXFxjb21tb24tY29udHJvbHNcXGNvbnRyb2wtY2hpcHNcXGNvbnRyb2wtY2hpcHMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1jaGlwcy9jb250cm9sLWNoaXBzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7R0FBQTtBQVdBO0VBQ0ksZ0JBQUE7RUFDQSxtQkFBQTtBQ0FKIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWNoaXBzL2NvbnRyb2wtY2hpcHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiA6aG9zdHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogNHJlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcblxyXG4gICAgLmNoaXAtbGlzdHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufSAqL1xyXG5cclxuOmhvc3Qge1xyXG4gICAgZ3JpZC1yb3c6IHNwYW4gMTtcclxuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XHJcbn0iLCIvKiA6aG9zdHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA0cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgLmNoaXAtbGlzdHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufSAqL1xuOmhvc3Qge1xuICBncmlkLXJvdzogc3BhbiAxO1xuICBncmlkLWNvbHVtbjogc3BhbiAyO1xufSJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChild } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\nimport { ENTER, FF_SEMICOLON } from '@angular/cdk/keycodes';\r\nimport { MatChipInputEvent, MatChipList } from '@angular/material';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'control-chips',\r\n templateUrl: './control-chips.component.html',\r\n styleUrls: ['./control-chips.component.scss']\r\n})\r\nexport class ControlChipsComponent implements OnInit {\r\n\r\n @Input('sfcontrol') sfcontrol: SpecialFormControl;\r\n @Output('blurAction') blurAction: EventEmitter = new EventEmitter();\r\n @Output('enterKey') enterKey: EventEmitter = new EventEmitter();\r\n @Input('visible') visible = true;\r\n @Input('selectable') selectable = true;\r\n @Input('removable') removable = true;\r\n @Input('addOnBlur') addOnBlur: boolean = true;\r\n \r\n @Output('onAdd') onAdd: EventEmitter = new EventEmitter();\r\n @Output('onRemove') onRemove: EventEmitter = new EventEmitter();\r\n @ViewChild('chipList', { static: false }) chipList: MatChipList;\r\n readonly separatorKeysCodes: number[] = [ENTER, FF_SEMICOLON];\r\n subs = new Subscription();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.subs.add(\r\n this.sfcontrol.statusChanges.subscribe((status) => {\r\n this.chipList.errorState = this.sfcontrol.invalid && this.sfcontrol.dirty;\r\n })\r\n )\r\n }\r\n\r\n add(event: MatChipInputEvent): void {\r\n const input = event.input;\r\n const newValue = event.value;\r\n\r\n // Add our chip\r\n if ((newValue || '').trim()) {\r\n const currentValues = this.sfcontrol.value ? this.sfcontrol.value.split('; ') : [];\r\n this.sfcontrol.setValue([...currentValues, newValue].join('; '));\r\n }\r\n\r\n // Reset the input value\r\n if (input) {\r\n input.value = '';\r\n }\r\n }\r\n\r\n onBlur(){\r\n this.sfcontrol.markAsDirty();\r\n this.chipList.errorState = this.sfcontrol.invalid && this.sfcontrol.dirty;\r\n }\r\n\r\n remove(value: any[]): void {\r\n const currentValues = this.sfcontrol.value.split('; ');\r\n const index = currentValues.indexOf(value);\r\n\r\n if (index > -1) {\r\n currentValues.splice(index, 1);\r\n const value = currentValues.join('; ');\r\n this.sfcontrol.markAsDirty();\r\n this.sfcontrol.setValue(value === '' ? undefined : value);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n\r\n}\r\n","module.exports = \":host {\\n width: 100%;\\n height: 4rem;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: end;\\n align-items: flex-end;\\n}\\n:host input {\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWRhdGVwaWNrZXIvRDpcXEZpcm1hc0RpZ2l0YWxlc0Zyb250L3NyY1xcYXBwXFxzaGFyZWRcXGNvbW1vbi1jb250cm9sc1xcY29udHJvbC1kYXRlcGlja2VyXFxjb250cm9sLWRhdGVwaWNrZXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1kYXRlcGlja2VyL2NvbnRyb2wtZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7RUFBQSxhQUFBO0VBQ0Esc0JBQUE7VUFBQSxxQkFBQTtBQ0NKO0FEQ0k7RUFDSSxXQUFBO0FDQ1IiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvY29tbW9uLWNvbnRyb2xzL2NvbnRyb2wtZGF0ZXBpY2tlci9jb250cm9sLWRhdGVwaWNrZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA0cmVtO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuXHJcbiAgICBpbnB1dHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufSIsIjpob3N0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuOmhvc3QgaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbn0iXX0= */\"","import { Component, Input, OnInit, AfterViewChecked } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\nimport {DateAdapter, MAT_DATE_FORMATS} from '@angular/material/core';\r\nimport { APP_DATE_FORMATS } from '@root/custom-material/format-datepicker';\r\nimport { MatDatepickerInputEvent } from '@angular/material';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { ControlFormsService } from '@services/control-forms.service';\r\n \r\n@Component({\r\n selector: 'control-datepicker',\r\n templateUrl: './control-datepicker.component.html',\r\n styleUrls: ['./control-datepicker.component.scss'],\r\n providers: [\r\n // {provide: DateAdapter, useClass: AppDateAdapter},\r\n {provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS}\r\n ]\r\n})\r\nexport class ControlDatepickerComponent implements OnInit, AfterViewChecked {\r\n \r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n public maxDate= new Date();\r\n \r\n public set sfcontrol(control : SpecialFormControl) {\r\n if (control) {\r\n this._sfcontrol = control;\r\n }\r\n }\r\n public get sfcontrol(): SpecialFormControl {\r\n if (this._sfcontrol.value) {\r\n return this._sfcontrol;\r\n }\r\n }\r\n\r\n private _finisher = new Subject();\r\n @Input() hidding: boolean = false;\r\n \r\n constructor(\r\n private _controlFormsService: ControlFormsService,\r\n\r\n ) { \r\n this._controlFormsService.itemValueDataPicker.pipe(takeUntil(this._finisher)).subscribe((nextValue) => {\r\n if(!nextValue){\r\n this.hidding = true;\r\n }\r\n }); \r\n }\r\n \r\n ngOnInit(){\r\n \r\n }\r\n\r\n ngAfterViewChecked(){\r\n /* if(this._sfcontrol.value){\r\n let startDate = moment(this._sfcontrol.value).add(1, 'day').format('YYYY-MM-DD')\r\n this._sfcontrol.setValue(new Date(startDate))\r\n } */\r\n }\r\n \r\n change(data: MatDatepickerInputEvent) {\r\n if (data) {\r\n this._sfcontrol.setValue(data.value);\r\n }\r\n \r\n }\r\n}","module.exports = \":host {\\n grid-row: span 1;\\n grid-column: span 2;\\n}\\n\\n.btn-style {\\n width: 50%;\\n max-width: 10rem;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWZ1bGxjYWxlbmRhci9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3JjXFxhcHBcXHNoYXJlZFxcY29tbW9uLWNvbnRyb2xzXFxjb250cm9sLWZ1bGxjYWxlbmRhclxcY29udHJvbC1mdWxsY2FsZW5kYXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1mdWxsY2FsZW5kYXIvY29udHJvbC1mdWxsY2FsZW5kYXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDSSxnQkFBQTtFQUNBLG1CQUFBO0FDREo7O0FESUE7RUFDSSxVQUFBO0VBQ0EsZ0JBQUE7QUNESiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1mdWxsY2FsZW5kYXIvY29udHJvbC1mdWxsY2FsZW5kYXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbjpob3N0IHtcclxuICAgIGdyaWQtcm93OiBzcGFuIDE7XHJcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xyXG59XHJcblxyXG4uYnRuLXN0eWxle1xyXG4gICAgd2lkdGg6NTAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMHJlbTtcclxufSIsIjpob3N0IHtcbiAgZ3JpZC1yb3c6IHNwYW4gMTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbn1cblxuLmJ0bi1zdHlsZSB7XG4gIHdpZHRoOiA1MCU7XG4gIG1heC13aWR0aDogMTByZW07XG59Il19 */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChild } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\nimport dayGridPlugin from '@fullcalendar/daygrid';\r\nimport interactionPlugin from '@fullcalendar/interaction'; // for selectable\r\nimport { FullCalendarComponent } from '@fullcalendar/angular';\r\n\r\ninterface EventCalendar {\r\n title: string;\r\n date: string;\r\n backgroundColor?: string;\r\n textColor?: string;\r\n borderColor?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'control-fullcalendar',\r\n templateUrl: './control-fullcalendar.component.html',\r\n styleUrls: ['./control-fullcalendar.component.scss']\r\n})\r\nexport class ControlFullCalendarComponent implements OnInit {\r\n\r\n @Input() sfcontrol : SpecialFormControl;\r\n\r\n @Input('events') events: string\r\n\r\n @Output('blurAction') _blurAction: EventEmitter = new EventEmitter();\r\n @Output('enterKey') _enterKey: EventEmitter = new EventEmitter();\r\n @Output('BlockedDaysArray') BlockedDaysArray: EventEmitter = new EventEmitter();\r\n hidden\r\n myControl\r\n\r\n @ViewChild('calendar', {static: false}) controlCalendar: FullCalendarComponent;\r\n\r\n public calendarEvents: EventCalendar[] = [];\r\n \r\n calendarPlugins = [dayGridPlugin, interactionPlugin];\r\n calendarOptions = {\r\n defaultView: 'dayGridMonth',\r\n selectable: true,\r\n selectMirror: true,\r\n editable: true,\r\n header: {\r\n right: 'prevYear,prev,next,nextYear,today',\r\n center: 'title',\r\n left: 'dayGridMonth'\r\n },\r\n }\r\n\r\n constructor() { \r\n\r\n }\r\n\r\n ngOnInit() { \r\n this.hidden=true;\r\n this.cleanCalendar();\r\n \r\n this.assignInitialValue(this.sfcontrol.value);\r\n\r\n this.sfcontrol.valueChanges\r\n .pipe(\r\n //take(1) \r\n ).subscribe( value => this.assignInitialValue(value) );\r\n\r\n }\r\n\r\n handleDateClick(e){\r\n \r\n let myEvents: EventCalendar[] = [];\r\n const eventName = 'BLOQUEADO';\r\n const eventDate = e.dateStr;\r\n const currentEvent = this.calendarEvents.find( i => i.date === eventDate );\r\n if (currentEvent) {\r\n myEvents = this.calendarEvents.filter( i => i.date !== eventDate); \r\n } else {\r\n myEvents = [...this.calendarEvents];\r\n const myEvent = { title: eventName, date: eventDate };\r\n myEvents.push( myEvent );\r\n }\r\n\r\n this.calendarEvents = [...myEvents];\r\n\r\n this.updateControl(myEvents);\r\n \r\n }\r\n\r\n assignInitialValue(value: string): void {\r\n let input = value as string;\r\n const data: string[] = input ? input.split('#') : [];\r\n\r\n const convertedData: EventCalendar[] = data.map( i => {\r\n \r\n if ( i.includes('{') ) {\r\n // CONVERTIR EL CALENDARIO EN SOLO LECTURA\r\n const objectExt = JSON.parse(i);\r\n\r\n return { \r\n title: objectExt['name'], \r\n date: objectExt['date'], \r\n backgroundColor: objectExt['color'], \r\n borderColor: 'blue',\r\n textColor: 'darkblue' \r\n };\r\n } else {\r\n return { title: 'BLOQUEADO', date: i }; \r\n }\r\n \r\n } );\r\n\r\n this.calendarEvents = [...convertedData];\r\n\r\n }\r\n\r\n\r\n cleanCalendar(){\r\n this.calendarEvents=[]\r\n this.BlockedDaysArray ?\r\n this.BlockedDaysArray.emit(\"Limpiar\") :\r\n null;\r\n }\r\n \r\n\r\n private updateControl( dataCalentar: EventCalendar[] ): void {\r\n const days = dataCalentar.length > 0 ? dataCalentar.map( i => i.date).join('#') : '';\r\n\r\n this.sfcontrol.markAsDirty();\r\n this.sfcontrol.setValue( days );\r\n\r\n }\r\n\r\n public eventoReder(evento: any) {\r\n\r\n }\r\n\r\n public diaRender(evento: any) {\r\n\r\n }\r\n\r\n}\r\n\r\n\r\n","module.exports = \":host {\\n grid-column: span 2;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWltYWdlLXBpY2tlci9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3JjXFxhcHBcXHNoYXJlZFxcY29tbW9uLWNvbnRyb2xzXFxjb250cm9sLWltYWdlLXBpY2tlclxcY29udHJvbC1pbWFnZS1waWNrZXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1pbWFnZS1waWNrZXIvY29udHJvbC1pbWFnZS1waWNrZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0E7RUFDSSxtQkFBQTtBQ05KIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWltYWdlLXBpY2tlci9jb250cm9sLWltYWdlLXBpY2tlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIDpob3N0e1xyXG4vLyAgICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgICBoZWlnaHQ6IDRyZW07XHJcbi8vICAgICBkaXNwbGF5OiBmbGV4O1xyXG4vLyAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4vLyB9XHJcblxyXG46aG9zdCB7XHJcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xyXG59IiwiOmhvc3Qge1xuICBncmlkLWNvbHVtbjogc3BhbiAyO1xufSJdfQ== */\"","import { Component, Input } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\n\r\n@Component({\r\n selector: 'control-image-picker',\r\n templateUrl: './control-image-picker.component.html',\r\n styleUrls: ['./control-image-picker.component.scss']\r\n})\r\nexport class ControlImagePickerComponent {\r\n\r\n @Input() sfcontrol: SpecialFormControl;\r\n\r\n\r\n imageReturned( data: string ): void {\r\n this.sfcontrol.markAsDirty();\r\n this.sfcontrol.setValue( data );\r\n }\r\n\r\n}","module.exports = \":host {\\n grid-column: span 1;\\n}\\n\\n.image {\\n display: -webkit-box;\\n display: flex;\\n justify-items: center;\\n box-sizing: border-box;\\n background-color: lavender;\\n min-height: 200px;\\n min-width: 100px;\\n margin-top: 10px;\\n border: 2px darkgrey solid;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWltYWdlLXByZXNlbnRlci9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3JjXFxhcHBcXHNoYXJlZFxcY29tbW9uLWNvbnRyb2xzXFxjb250cm9sLWltYWdlLXByZXNlbnRlclxcY29udHJvbC1pbWFnZS1wcmVzZW50ZXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1pbWFnZS1wcmVzZW50ZXIvY29udHJvbC1pbWFnZS1wcmVzZW50ZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0E7RUFDSSxtQkFBQTtBQ05KOztBRFFBO0VBQ0ksb0JBQUE7RUFBQSxhQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLDBCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsMEJBQUE7QUNMSiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1pbWFnZS1wcmVzZW50ZXIvY29udHJvbC1pbWFnZS1wcmVzZW50ZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA6aG9zdHtcclxuLy8gICAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgICAgaGVpZ2h0OiA0cmVtO1xyXG4vLyAgICAgZGlzcGxheTogZmxleDtcclxuLy8gICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuLy8gfVxyXG5cclxuOmhvc3Qge1xyXG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcclxufVxyXG4uaW1hZ2Uge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsYXZlbmRlcjtcclxuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgbWluLXdpZHRoOiAxMDBweDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBib3JkZXI6IDJweCBkYXJrZ3JleSBzb2xpZDtcclxufSIsIjpob3N0IHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcbn1cblxuLmltYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsYXZlbmRlcjtcbiAgbWluLWhlaWdodDogMjAwcHg7XG4gIG1pbi13aWR0aDogMTAwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGJvcmRlcjogMnB4IGRhcmtncmV5IHNvbGlkO1xufSJdfQ== */\"","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\n\r\n\r\nconst AVATAR = 'data:image/jpeg;base64,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'\r\n\r\n@Component({\r\n selector: 'control-image-presenter',\r\n templateUrl: './control-image-presenter.component.html',\r\n styleUrls: ['./control-image-presenter.component.scss']\r\n})\r\nexport class ControlImagePresenterComponent implements OnInit{\r\n\r\n @Input() sfcontrol: SpecialFormControl;\r\n public typeField: string = 'control-image-presenter'\r\n\r\n ngOnInit() {\r\n this.sfcontrol.setValue(AVATAR);\r\n }\r\n\r\n}","module.exports = \":host {\\n width: 100%;\\n height: 4rem;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: end;\\n align-items: flex-end;\\n}\\n:host input {\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLWlucHV0L0Q6XFxGaXJtYXNEaWdpdGFsZXNGcm9udC9zcmNcXGFwcFxcc2hhcmVkXFxjb21tb24tY29udHJvbHNcXGNvbnRyb2wtaW5wdXRcXGNvbnRyb2wtaW5wdXQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1pbnB1dC9jb250cm9sLWlucHV0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksV0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSxzQkFBQTtVQUFBLHFCQUFBO0FDQ0o7QURDSTtFQUNJLFdBQUE7QUNDUiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1pbnB1dC9jb250cm9sLWlucHV0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3R7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNHJlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcblxyXG4gICAgaW5wdXR7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIjpob3N0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuOmhvc3QgaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbn0iXX0= */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\n\r\n@Component({\r\n selector: 'control-input',\r\n templateUrl: './control-input.component.html',\r\n styleUrls: ['./control-input.component.scss']\r\n})\r\nexport class ControlInputComponent implements OnInit {\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n \r\n @Output('blurAction') _blurAction: EventEmitter = new EventEmitter();\r\n @Output('enterKey') _enterKey: EventEmitter = new EventEmitter();\r\n \r\n\r\n\r\n public hidden\r\n constructor() { }\r\n\r\n ngOnInit() { \r\n this.hidden=true\r\n }\r\n\r\n}\r\n\r\n\r\n","module.exports = \":host {\\n width: 100%;\\n height: 4rem;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: end;\\n align-items: flex-end;\\n}\\n:host input {\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLW1hc2tlZC1pbnB1dC9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3JjXFxhcHBcXHNoYXJlZFxcY29tbW9uLWNvbnRyb2xzXFxjb250cm9sLW1hc2tlZC1pbnB1dFxcY29udHJvbC1tYXNrZWQtaW5wdXQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1tYXNrZWQtaW5wdXQvY29udHJvbC1tYXNrZWQtaW5wdXQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHNCQUFBO1VBQUEscUJBQUE7QUNDSjtBRENJO0VBQ0ksV0FBQTtBQ0NSIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLW1hc2tlZC1pbnB1dC9jb250cm9sLW1hc2tlZC1pbnB1dC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0e1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDRyZW07XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cclxuICAgIGlucHV0e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59IiwiOmhvc3Qge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG46aG9zdCBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufSJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\n\r\n@Component({\r\n selector: 'control-masked-input',\r\n templateUrl: './control-masked-input.component.html',\r\n styleUrls: ['./control-masked-input.component.scss']\r\n})\r\nexport class ControlMaskedInputComponent implements OnInit {\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n @Output('blurAction') _blurAction: EventEmitter = new EventEmitter();\r\n @Output('enterKey') _enterKey: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n}\r\n\r\n\r\n","module.exports = \":host {\\n width: 100%;\\n height: 4rem;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: end;\\n align-items: flex-end;\\n}\\n:host input {\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLW51bWVyaWMvRDpcXEZpcm1hc0RpZ2l0YWxlc0Zyb250L3NyY1xcYXBwXFxzaGFyZWRcXGNvbW1vbi1jb250cm9sc1xcY29udHJvbC1udW1lcmljXFxjb250cm9sLW51bWVyaWMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1udW1lcmljL2NvbnRyb2wtbnVtZXJpYy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7RUFBQSxhQUFBO0VBQ0Esc0JBQUE7VUFBQSxxQkFBQTtBQ0NKO0FEQ0k7RUFDSSxXQUFBO0FDQ1IiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvY29tbW9uLWNvbnRyb2xzL2NvbnRyb2wtbnVtZXJpYy9jb250cm9sLW51bWVyaWMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA0cmVtO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuXHJcbiAgICBpbnB1dHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiOmhvc3Qge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG46aG9zdCBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufSJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\n\r\n@Component({\r\n selector: 'control-numeric',\r\n templateUrl: './control-numeric.component.html',\r\n styleUrls: ['./control-numeric.component.scss']\r\n})\r\nexport class ControlNumericComponent implements OnInit {\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n @Output('blurAction') _blurAction: EventEmitter = new EventEmitter();\r\n @Output('enterKey') _enterKey: EventEmitter = new EventEmitter();\r\n\r\n hidden\r\n constructor() { }\r\n\r\n ngOnInit() { \r\n this.hidden=true\r\n }\r\n\r\n}\r\n\r\n\r\n","module.exports = \":host {\\n grid-column: span 2;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXBpY2tsaXN0L0Q6XFxGaXJtYXNEaWdpdGFsZXNGcm9udC9zcmNcXGFwcFxcc2hhcmVkXFxjb21tb24tY29udHJvbHNcXGNvbnRyb2wtcGlja2xpc3RcXGNvbnRyb2wtcGlja2xpc3QuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1waWNrbGlzdC9jb250cm9sLXBpY2tsaXN0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BO0VBQ0ksbUJBQUE7QUNOSiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1waWNrbGlzdC9jb250cm9sLXBpY2tsaXN0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gOmhvc3R7XHJcbi8vICAgICB3aWR0aDogMTAwJTtcclxuLy8gICAgIGhlaWdodDogNHJlbTtcclxuLy8gICAgIGRpc3BsYXk6IGZsZXg7XHJcbi8vICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbi8vIH1cclxuXHJcbjpob3N0IHtcclxuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XHJcbn0iLCI6aG9zdCB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDI7XG59Il19 */\"","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\n\r\nimport { SpecialFormControl } from \"@utilities/SpecialForms\";\r\nimport { Observable, Subscription, Subject } from \"rxjs\";\r\nimport { DataList } from \"../pick-table/pick-table.component\";\r\nimport { takeUntil, tap, map } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"control-picklist\",\r\n templateUrl: \"./control-picklist.component.html\",\r\n styleUrls: [\"./control-picklist.component.scss\"],\r\n})\r\nexport class ControlPickListComponent implements OnDestroy {\r\n private finisher = new Subject();\r\n\r\n // @Input('readOnly') _readOnly = false;\r\n @Input(\"sfcontrol\") _sfcontrol: SpecialFormControl;\r\n subs: Subscription = new Subscription();\r\n data: DataList[] = [];\r\n dataSelected$: Observable;\r\n data$: Observable;\r\n\r\n ngOnInit() {\r\n // const data: SelectDataList[] = teachers.map(i => ({ id: i.RowKey, element: i.Name.toUpperCase() }));\r\n (this._sfcontrol.data[0] as Observable)\r\n .pipe(\r\n map((teachers) =>\r\n teachers.map((i) => ({ id: i.RowKey, element: i.Name.toUpperCase() }))\r\n ),\r\n takeUntil(this.finisher)\r\n )\r\n .subscribe((i) => {\r\n this.data = i;\r\n });\r\n }\r\n\r\n elementosProcesados(datos: string) {\r\n this._sfcontrol.markAsDirty();\r\n this._sfcontrol.setValue(datos);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.finisher.next();\r\n }\r\n}\r\n","module.exports = \":host {\\n width: 100%;\\n}\\n:host label {\\n display: block;\\n font-size: 1rem;\\n font-weight: bold;\\n margin-bottom: 1rem;\\n}\\n.mr-3 {\\n margin-right: 1em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXJhZGlvL0Q6XFxGaXJtYXNEaWdpdGFsZXNGcm9udC9zcmNcXGFwcFxcc2hhcmVkXFxjb21tb24tY29udHJvbHNcXGNvbnRyb2wtcmFkaW9cXGNvbnRyb2wtcmFkaW8uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1yYWRpby9jb250cm9sLXJhZGlvLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksV0FBQTtBQ0NKO0FEQ0k7RUFDSSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7QUNDUjtBREVBO0VBQ0ksaUJBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1yYWRpby9jb250cm9sLXJhZGlvLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3R7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBsYWJlbHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIH1cclxufVxyXG4ubXItM3tcclxuICAgIG1hcmdpbi1yaWdodDogMWVtO1xyXG59IiwiOmhvc3Qge1xuICB3aWR0aDogMTAwJTtcbn1cbjpob3N0IGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5tci0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG59Il19 */\"","import { Component, Input, OnInit, OnDestroy } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'control-radio',\r\n templateUrl: './control-radio.component.html',\r\n styleUrls: ['./control-radio.component.scss'],\r\n})\r\nexport class ControlRadioComponent implements OnInit, OnDestroy {\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n @Input('description') _description: string = '';\r\n private _finisher = new Subject();\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._finisher.next();\r\n }\r\n\r\n radioChange(value: any) {\r\n this._sfcontrol.setValue(value.value)\r\n }\r\n\r\n}\r\n","module.exports = \".disabled {\\n color: rgba(0, 0, 0, 0.38);\\n}\\n\\n/* :host {\\n grid-column: span 2;\\n} */\\n\\n:host {\\n width: 100%;\\n /* height: 4rem; */\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: end;\\n align-items: flex-end;\\n}\\n\\n:host input {\\n width: 100%;\\n}\\n\\n.inline {\\n display: inline-block;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXJlYWQtb25seS9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3JjXFxhcHBcXHNoYXJlZFxcY29tbW9uLWNvbnRyb2xzXFxjb250cm9sLXJlYWQtb25seVxcY29udHJvbC1yZWFkLW9ubHkuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1yZWFkLW9ubHkvY29udHJvbC1yZWFkLW9ubHkuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSwwQkFBQTtBQ0NKOztBRENBOztHQUFBOztBQUlBO0VBQ0ksV0FBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFBQSxhQUFBO0VBQ0Esc0JBQUE7VUFBQSxxQkFBQTtBQ0NKOztBRENJO0VBQ0ksV0FBQTtBQ0NSOztBREdBO0VBQ0kscUJBQUE7QUNBSiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1yZWFkLW9ubHkvY29udHJvbC1yZWFkLW9ubHkuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZGlzYWJsZWQge1xyXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjM4KTtcclxufVxyXG4vKiA6aG9zdCB7XHJcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xyXG59ICovXHJcblxyXG46aG9zdHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLyogaGVpZ2h0OiA0cmVtOyAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuXHJcbiAgICBpbnB1dHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbn1cclxuLmlubGluZXtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrXHJcbn1cclxuIiwiLmRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi8qIDpob3N0IHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xufSAqL1xuOmhvc3Qge1xuICB3aWR0aDogMTAwJTtcbiAgLyogaGVpZ2h0OiA0cmVtOyAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG46aG9zdCBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufSJdfQ== */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\n\r\n@Component({\r\n selector: 'control-read-only',\r\n templateUrl: './control-read-only.component.html',\r\n styleUrls: ['./control-read-only.component.scss']\r\n})\r\nexport class ControlReadOnlyComponent implements OnInit {\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n public typeField: string = 'control-read-only'\r\n \r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"/*:host{\\n width: 100%;\\n height: 4rem;\\n display: flex;\\n align-items: flex-end;\\n\\n input{\\n width: 100%;\\n }\\n}*/\\n:host {\\n grid-row: span 1;\\n grid-column: span 2;\\n}\\n.fr-wrapper div:first-child a {\\n display: none !important;\\n}\\n.fr-wrapperdiv:first-child {\\n display: none !important;\\n}\\n.fr-wrapper div.second-toolbar {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXJpY2h0ZXh0L0Q6XFxGaXJtYXNEaWdpdGFsZXNGcm9udC9zcmNcXGFwcFxcc2hhcmVkXFxjb21tb24tY29udHJvbHNcXGNvbnRyb2wtcmljaHRleHRcXGNvbnRyb2wtcmljaHRleHQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1yaWNodGV4dC9jb250cm9sLXJpY2h0ZXh0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7RUFBQTtBQVdBO0VBQ0ksZ0JBQUE7RUFDQSxtQkFBQTtBQ0FKO0FERUE7RUFBaUMsd0JBQUE7QUNFakM7QUREQTtFQUErQix3QkFBQTtBQ0svQjtBREhBO0VBQW1DLHdCQUFBO0FDT25DIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXJpY2h0ZXh0L2NvbnRyb2wtcmljaHRleHQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKjpob3N0e1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDRyZW07XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cclxuICAgIGlucHV0e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59Ki9cclxuXHJcbjpob3N0IHtcclxuICAgIGdyaWQtcm93OiBzcGFuIDE7XHJcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xyXG59XHJcbi5mci13cmFwcGVyIGRpdjpmaXJzdC1jaGlsZCBheyAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgICB9XHJcbi5mci13cmFwcGVyZGl2OmZpcnN0LWNoaWxkIHsgICBkaXNwbGF5Om5vbmUhaW1wb3J0YW50OyAgIH1cclxuXHJcbi5mci13cmFwcGVyIGRpdi5zZWNvbmQtdG9vbGJhciB7ICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAgIH1cclxuIiwiLyo6aG9zdHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDRyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgICBpbnB1dHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufSovXG46aG9zdCB7XG4gIGdyaWQtcm93OiBzcGFuIDE7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDI7XG59XG5cbi5mci13cmFwcGVyIGRpdjpmaXJzdC1jaGlsZCBhIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZnItd3JhcHBlcmRpdjpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmZyLXdyYXBwZXIgZGl2LnNlY29uZC10b29sYmFyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufSJdfQ== */\"","import {\r\n Component,\r\n OnInit,\r\n AfterViewChecked,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\n\r\nimport { SpecialFormControl } from \"@utilities/SpecialForms\";\r\nimport { ControlFormsService } from '@services/control-forms.service';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: \"control-richtext\",\r\n templateUrl: \"./control-richtext.component.html\",\r\n styleUrls: [\"./control-richtext.component.scss\"],\r\n})\r\nexport class ControlRichTextComponent implements OnInit, AfterViewChecked {\r\n @Input(\"sfcontrol\") _sfcontrol: SpecialFormControl;\r\n @Output(\"blurAction\") _blurAction: EventEmitter = new EventEmitter();\r\n @Output(\"enterKey\") _enterKey: EventEmitter = new EventEmitter();\r\n\r\n public froala: string = \"\";\r\n\r\n public options: Object;\r\n private _finisher$ = new Subject();\r\n\r\n constructor(\r\n \r\n private _controlFormsService: ControlFormsService,\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this._sfcontrol.valueChanges\r\n .pipe()\r\n .subscribe((value) => (this.froala = value));\r\n this.activacion();\r\n \r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n //Called after every check of the component's view. Applies to components only.\r\n //Add 'implements AfterViewChecked' to the class.\r\n //this.options = optionsDisabled;\r\n }\r\n\r\n activacion(): void{\r\n this._controlFormsService.itemValueRichText.pipe(takeUntil(this._finisher$)).subscribe((nextValue) => {\r\n \r\n if (nextValue == false) {\r\n this.options = {\r\n attribution: false,\r\n charCounterCount: false,\r\n quickInsertEnabled: false,\r\n placeholderText: false,\r\n events: {\r\n initialized: (editor) => {\r\n _editor: editor.getEditor().edit.off();\r\n },\r\n },\r\n toolbarButtons: {\r\n // Key represents the more button from the toolbar.\r\n moreText: {\r\n // List of buttons used in the group.\r\n buttons: [\r\n \"bold\",\r\n \"italic\",\r\n \"fontFamily\",\r\n \"fontSize\",\r\n \"textColor\",\r\n \"backgroundColor\",\r\n \"inlineClass\",\r\n \"inlineStyle\",\r\n \"underline\",\r\n \"strikeThrough\",\r\n \"clearFormatting\",\r\n ],\r\n\r\n // Alignment of the group in the toolbar.\r\n align: \"left\",\r\n\r\n // By default, 3 buttons are shown in the main toolbar. The rest of them are available when using the more button.\r\n buttonsVisible: 4,\r\n },\r\n\r\n moreParagraph: {\r\n buttons: [\r\n \"alignLeft\",\r\n \"alignCenter\",\r\n \"alignRight\",\r\n \"alignJustify\",\r\n \"formatOLSimple\",\r\n \"formatOL\",\r\n \"formatUL\",\r\n \"paragraphFormat\",\r\n \"paragraphStyle\",\r\n \"lineHeight\",\r\n \"outdent\",\r\n \"indent\",\r\n \"quote\",\r\n ],\r\n align: \"left\",\r\n buttonsVisible: 4,\r\n },\r\n\r\n moreRich: {\r\n buttons: [\r\n \"insertLink\",\r\n \"insertImage\",\r\n \"emoticons\",\r\n \"fontAwesome\",\r\n \"specialCharacters\",\r\n \"embedly\",\r\n \"insertFile\",\r\n \"insertHR\",\r\n \"insertTable\",\r\n ],\r\n align: \"left\",\r\n buttonsVisible: 3,\r\n },\r\n\r\n moreMisc: {\r\n buttons: [\r\n \"html\",\r\n \"undo\",\r\n \"redo\",\r\n \"fullscreen\",\r\n \"print\",\r\n \"selectAll\",\r\n \"help\",\r\n ],\r\n align: \"right\",\r\n buttonsVisible: 3,\r\n },\r\n },\r\n\r\n // Change buttons for XS screen.\r\n toolbarButtonsXS: [\r\n [\"undo\", \"redo\"],\r\n [\"bold\", \"italic\", \"underline\"],\r\n ],\r\n\r\n theme: \"dark\",\r\n };\r\n } else {\r\n this.options = {\r\n attribution: false,\r\n charCounterCount: false,\r\n quickInsertEnabled: false,\r\n placeholderText: false,\r\n toolbarButtons: {\r\n // Key represents the more button from the toolbar.\r\n moreText: {\r\n // List of buttons used in the group.\r\n buttons: [\r\n \"bold\",\r\n \"italic\",\r\n \"fontFamily\",\r\n \"fontSize\",\r\n \"textColor\",\r\n \"backgroundColor\",\r\n \"inlineClass\",\r\n \"inlineStyle\",\r\n \"underline\",\r\n \"strikeThrough\",\r\n \"clearFormatting\",\r\n ],\r\n\r\n // Alignment of the group in the toolbar.\r\n align: \"left\",\r\n\r\n // By default, 3 buttons are shown in the main toolbar. The rest of them are available when using the more button.\r\n buttonsVisible: 4,\r\n },\r\n\r\n moreParagraph: {\r\n buttons: [\r\n \"alignLeft\",\r\n \"alignCenter\",\r\n \"alignRight\",\r\n \"alignJustify\",\r\n \"formatOLSimple\",\r\n \"formatOL\",\r\n \"formatUL\",\r\n \"paragraphFormat\",\r\n \"paragraphStyle\",\r\n \"lineHeight\",\r\n \"outdent\",\r\n \"indent\",\r\n \"quote\",\r\n ],\r\n align: \"left\",\r\n buttonsVisible: 4,\r\n },\r\n\r\n moreRich: {\r\n buttons: [\r\n \"insertLink\",\r\n \"insertImage\",\r\n \"emoticons\",\r\n \"fontAwesome\",\r\n \"specialCharacters\",\r\n \"embedly\",\r\n \"insertFile\",\r\n \"insertHR\",\r\n \"insertTable\",\r\n ],\r\n align: \"left\",\r\n buttonsVisible: 3,\r\n },\r\n\r\n moreMisc: {\r\n buttons: [\r\n \"html\",\r\n \"undo\",\r\n \"redo\",\r\n \"fullscreen\",\r\n \"print\",\r\n \"selectAll\",\r\n \"help\",\r\n ],\r\n align: \"right\",\r\n buttonsVisible: 3,\r\n },\r\n },\r\n\r\n // Change buttons for XS screen.\r\n toolbarButtonsXS: [\r\n [\"undo\", \"redo\"],\r\n [\"bold\", \"italic\", \"underline\"],\r\n ],\r\n\r\n theme: \"dark\",\r\n };\r\n }\r\n\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._finisher$.next();\r\n }\r\n}\r\n","module.exports = \":host {\\n grid-column: span 2;\\n width: 100%;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n}\\n\\n.sombra {\\n border: 1px #0f0c0c solid;\\n background-color: white;\\n border-radius: 5px;\\n box-shadow: rgba(122, 73, 73, 0.9) 0px 0px 8px;\\n}\\n\\n.titulo {\\n font-size: 1.5rem;\\n font-family: \\\"Roboto Condensed\\\", sans-serif;\\n text-align: center;\\n border-bottom: 1px lightgray solid;\\n padding: 5px;\\n}\\n\\n@media (min-width: 600px) {\\n .titulo {\\n font-size: 1.8rem;\\n }\\n}\\n\\n.formulario {\\n padding: 10px;\\n margin: 10px auto;\\n display: grid;\\n grid-gap: 10px;\\n grid-template-columns: 1fr 1fr 1fr;\\n grid-template-areas: \\\"day t0 t1\\\" \\\"bot bot bot\\\";\\n}\\n\\n.formulario .campo {\\n max-width: 100%;\\n}\\n\\n.formulario .days {\\n grid-area: day;\\n}\\n\\n.formulario .time0 {\\n grid-area: t0;\\n}\\n\\n.formulario .time1 {\\n grid-area: t1;\\n}\\n\\n.formulario .botones {\\n grid-area: bot;\\n margin: 5px auto;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: justify;\\n justify-content: space-between;\\n max-width: 200px;\\n padding: 15px;\\n}\\n\\n.formulario .botones button {\\n margin: 5px;\\n}\\n\\n.list-container {\\n width: 100%;\\n height: 200px;\\n overflow: auto;\\n}\\n\\n.list-container table {\\n width: 100%;\\n}\\n\\n.cuerpo {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXNjaGVkdWxlL0Q6XFxGaXJtYXNEaWdpdGFsZXNGcm9udC9zcmNcXGFwcFxcc2hhcmVkXFxjb21tb24tY29udHJvbHNcXGNvbnRyb2wtc2NoZWR1bGVcXGNvbnRyb2wtc2NoZWR1bGUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1zY2hlZHVsZS9jb250cm9sLXNjaGVkdWxlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksbUJBQUE7RUFDQSxXQUFBO0VBRUEsb0JBQUE7RUFBQSxhQUFBO0VBRUEsNEJBQUE7RUFBQSw2QkFBQTtVQUFBLHNCQUFBO0FDREo7O0FEMEJJO0VBQ0kseUJBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsOENBQUE7QUN2QlI7O0FEeUJJO0VBQ0ksaUJBQUE7RUFDQSwyQ0FBQTtFQUNBLGtCQUFBO0VBQ0Esa0NBQUE7RUFDQSxZQUFBO0FDdEJSOztBRHVCUTtFQU5KO0lBT1EsaUJBQUE7RUNwQlY7QUFDRjs7QUR1Qkk7RUFDSSxhQUFBO0VBRUEsaUJBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLGtDQUFBO0VBQ0EsOENBQUE7QUNyQlI7O0FEeUJRO0VBQ0ksZUFBQTtBQ3ZCWjs7QUR5QlE7RUFDSSxjQUFBO0FDdkJaOztBRHlCUTtFQUNJLGFBQUE7QUN2Qlo7O0FEeUJRO0VBQ0ksYUFBQTtBQ3ZCWjs7QUQwQlE7RUFDSSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx5QkFBQTtVQUFBLDhCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0FDeEJaOztBRHlCWTtFQUNJLFdBQUE7QUN2QmhCOztBRDRCSTtFQUNJLFdBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtBQ3pCUjs7QUQyQlE7RUFDSSxXQUFBO0FDekJaOztBRDhCSTtFQUNJLG9CQUFBO0VBQUEsYUFBQTtFQUNBLDRCQUFBO0VBQUEsNkJBQUE7VUFBQSxzQkFBQTtBQzNCUiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1zY2hlZHVsZS9jb250cm9sLXNjaGVkdWxlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3R7XHJcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvL2hlaWdodDogNHJlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvL2FsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG5cclxufVxyXG5cclxuXHJcblxyXG4vLyA6aG9zdCB7XHJcbi8vICAgICBmbGV4OiAxO1xyXG4vLyAgICAgYm9yZGVyOiA1cHggb3JhbmdlIHNvbGlkO1xyXG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuLy8gICB9XHJcblxyXG4vLyAuY29udGVuZWRvciB7XHJcbi8vICAgICAvLyBib3JkZXI6IDNweCBibHVlIHNvbGlkO1xyXG4vLyAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgLy8gdG9wOiAwO1xyXG4vLyAgICAgLy8gbGVmdDogMDtcclxuLy8gICAgIC8vIGJvdHRvbTogMDtcclxuLy8gICAgIC8vIHJpZ2h0OiAwO1xyXG4vLyAgICAgbWF4LXdpZHRoOiA3NTBweDtcclxuLy8gICAgIHBhZGRpbmc6IDVweDtcclxuLy8gICAgIG1hcmdpbjogMCBhdXRvO1xyXG4vLyAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC5zb21icmEge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHJnYigxNSwgMTIsIDEyKSBzb2xpZDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogcmdiYSgxMjIsIDczLCA3MywgMC45KSAwcHggMHB4IDhweDtcclxuICAgIH1cclxuICAgIC50aXR1bG8ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBsaWdodGdyYXkgc29saWQ7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm11bGFyaW8ge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgLy9tYXgtd2lkdGg6IDY4MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDEwcHg7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiAgICBcImRheSB0MCB0MVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJib3QgYm90IGJvdFwiO1xyXG4gICAgXHJcblxyXG4gICAgICAgIC5jYW1wbyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmRheXMge1xyXG4gICAgICAgICAgICBncmlkLWFyZWE6IGRheTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpbWUwIHtcclxuICAgICAgICAgICAgZ3JpZC1hcmVhOiB0MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpbWUxIHtcclxuICAgICAgICAgICAgZ3JpZC1hcmVhOiB0MTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ib3RvbmVzIHtcclxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBib3Q7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5saXN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuXHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAuY3VlcnBvIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgXHJcbiAgICB9XHJcblxyXG4vLyB9XHJcbiIsIjpob3N0IHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5zb21icmEge1xuICBib3JkZXI6IDFweCAjMGYwYzBjIHNvbGlkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiByZ2JhKDEyMiwgNzMsIDczLCAwLjkpIDBweCAwcHggOHB4O1xufVxuXG4udGl0dWxvIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggbGlnaHRncmF5IHNvbGlkO1xuICBwYWRkaW5nOiA1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRpdHVsbyB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gIH1cbn1cblxuLmZvcm11bGFyaW8ge1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW46IDEwcHggYXV0bztcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IDEwcHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiZGF5IHQwIHQxXCIgXCJib3QgYm90IGJvdFwiO1xufVxuLmZvcm11bGFyaW8gLmNhbXBvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLmZvcm11bGFyaW8gLmRheXMge1xuICBncmlkLWFyZWE6IGRheTtcbn1cbi5mb3JtdWxhcmlvIC50aW1lMCB7XG4gIGdyaWQtYXJlYTogdDA7XG59XG4uZm9ybXVsYXJpbyAudGltZTEge1xuICBncmlkLWFyZWE6IHQxO1xufVxuLmZvcm11bGFyaW8gLmJvdG9uZXMge1xuICBncmlkLWFyZWE6IGJvdDtcbiAgbWFyZ2luOiA1cHggYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAxNXB4O1xufVxuLmZvcm11bGFyaW8gLmJvdG9uZXMgYnV0dG9uIHtcbiAgbWFyZ2luOiA1cHg7XG59XG5cbi5saXN0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdzogYXV0bztcbn1cbi5saXN0LWNvbnRhaW5lciB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3VlcnBvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn0iXX0= */\"","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\n\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\nimport { FormGroup, AbstractControl, Validators, FormBuilder, FormGroupDirective, ValidatorFn, ValidationErrors } from '@angular/forms';\r\nimport { takeUntil, take, filter, switchMap, map, tap } from 'rxjs/operators';\r\nimport { Subject, Observable, BehaviorSubject } from 'rxjs';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport { UniqueIdGenerator } from '@utilities/UniqueIdGenerator';\r\nimport { isNullOrUndefined } from 'util';\r\nimport { ControlFormsService } from '@services/control-forms.service';\r\n\r\nconst PATRON_NUMERO = /^\\d{1,2}$/;\r\nconst HOUR_PATTERN = /^[0-1]?[0-2]:[0-5][0-9]\\s?(A. M.|P. M.|a. m.|p. m.)$/;\r\n\r\ninterface ScheduleModel {\r\n id: string;\r\n day: string;\r\n startTime: string;\r\n endingTime: string;\r\n duration: number;\r\n} \r\n\r\n\r\n@Component({\r\n selector: 'control-schedule',\r\n templateUrl: './control-schedule.component.html',\r\n styleUrls: ['./control-schedule.component.scss']\r\n})\r\nexport class ControlScheduleComponent implements OnInit, OnDestroy {\r\n @Input() sfcontrol: SpecialFormControl;\r\n @Output('blurAction') _blurAction: EventEmitter = new EventEmitter();\r\n @Output('enterKey') _enterKey: EventEmitter = new EventEmitter();\r\n\r\n public _schedules$ = new BehaviorSubject([]);\r\n public _schedules: ScheduleModel[] = [];\r\n public dataSource = new MatTableDataSource([]);\r\n public titulo: string;\r\n public formStatus = false;\r\n public formularioDatos: FormGroup;\r\n public erroresFormulario = {\r\n day: '',\r\n startTime: '',\r\n endingTime: ''\r\n };\r\n\r\n public displayedColumns = ['day', 'startTime', 'endingTime', 'duration', 'delete'];\r\n public days = ['lunes', 'martes', 'miercoles', 'jueves', 'viernes', 'sabado', 'domingo'];\r\n \r\n private _addElement = new Subject();\r\n private _deleteElement = new Subject();\r\n private _finisher = new Subject();\r\n private _startDay: string;\r\n\r\n private mensajesValidacion = {\r\n day: {\r\n required: 'Seleccione el día',\r\n },\r\n startTime: {\r\n required: 'Especifique la hora de inicio',\r\n // pattern: 'Debe adpartarse al patron ##:## am/pm'\r\n },\r\n endingTime: {\r\n required: 'Espeficique la hora final',\r\n // pattern: 'Debe adpartarse al patron ##:## am/pm'\r\n }\r\n };\r\n\r\n constructor( \r\n private fb: FormBuilder,\r\n private _controlFormsService: ControlFormsService,\r\n ) {\r\n this.construyeFormulario();\r\n }\r\n\r\n private construyeFormulario(): void {\r\n this.formularioDatos = this.fb.group({\r\n day: [ '', [\r\n Validators.required,\r\n Validators.minLength(3),\r\n Validators.maxLength(50)\r\n ] ],\r\n startTime: [0, [\r\n Validators.required,\r\n // Validators.pattern(HOUR_PATTERN)\r\n ]],\r\n endingTime: [ '', [\r\n Validators.required,\r\n // Validators.pattern(HOUR_PATTERN)\r\n ] ]\r\n }, { validators: this.timeValidator() });\r\n\r\n this.formularioDatos.valueChanges\r\n .pipe( takeUntil( this._finisher ) )\r\n .subscribe(data => this.alCambiarValor(data));\r\n\r\n }\r\n\r\n private alCambiarValor(data?: any): void {\r\n if (!this.formularioDatos) {\r\n alert('No existe formularioDatos');\r\n return;\r\n }\r\n\r\n const formulario: FormGroup = this.formularioDatos;\r\n\r\n for (const campo in this.erroresFormulario) {\r\n if (campo in this.erroresFormulario) {\r\n const control: AbstractControl = formulario.get(campo);\r\n this.erroresFormulario[campo] = '';\r\n if (control && control.dirty && !control.valid) {\r\n const mensajes = this.mensajesValidacion[campo];\r\n for (const error in control.errors) {\r\n if (error in control.errors) {\r\n this.erroresFormulario[campo] += mensajes[error] + ' ';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n this.formStatus = false;\r\n if (this.formularioDatos.status === 'VALID') {\r\n this.formStatus = true;\r\n }\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this._controlFormsService.itemValueTime.pipe(takeUntil(this._finisher)).subscribe((nextValue) => {\r\n if(!nextValue){\r\n this.formularioDatos.get('startTime').disable();\r\n this.formularioDatos.get('endingTime').disable();\r\n this.formularioDatos.get('day').disable();\r\n }\r\n });\r\n\r\n this.sfcontrol.valueChanges\r\n .pipe(\r\n take(1) \r\n ).subscribe( value => {\r\n let input = value as string;\r\n\r\n const data: ScheduleModel[] = input ? input.split('#').map( i => JSON.parse(i) ) : [];\r\n \r\n this._schedules$.next(data);\r\n this.dataSource.data = data;\r\n }\r\n );\r\n\r\n if (this.sfcontrol.data[0] instanceof Observable ) {\r\n this.sfcontrol.data[0]\r\n .pipe(\r\n filter( day => !isNullOrUndefined(day) ),\r\n takeUntil( this._finisher )\r\n )\r\n .subscribe( i => {\r\n this._startDay = this.days[ i - 1 ];\r\n this.formularioDatos.get('day').setValue( this._startDay );\r\n } \r\n );\r\n }\r\n\r\n this._schedules$.subscribe( data => {\r\n this._schedules = [...data];\r\n\r\n /* if (data.length === 0) {\r\n this.formularioDatos.get('day').disable();\r\n } else {\r\n this.formularioDatos.get('day').enable();\r\n } */\r\n\r\n } \r\n );\r\n\r\n // AGREGAR\r\n this._addElement\r\n .pipe(\r\n filter( i => !isNullOrUndefined(i) ),\r\n switchMap( schedule => this._schedules$\r\n .pipe(\r\n map( lists => [...lists, schedule] ),\r\n take(1)\r\n ) \r\n ),\r\n takeUntil( this._finisher )\r\n ).subscribe( i => {\r\n const data = [...i];//this.multipleSort( i );\r\n this._schedules$.next( data );\r\n this.dataSource.data = data; \r\n this.updateValue( data );\r\n } \r\n );\r\n\r\n // BORRAR\r\n this._deleteElement\r\n .pipe(\r\n filter( i => !isNullOrUndefined(i) ),\r\n switchMap( id => this._schedules$\r\n .pipe(\r\n map( list => list.filter( i => i.id !== id) ),\r\n take(1)\r\n ) \r\n ),\r\n takeUntil( this._finisher )\r\n ).subscribe( data => {\r\n this._schedules$.next( data );\r\n this.dataSource.data = data;\r\n this.updateValue( data );\r\n } \r\n );\r\n\r\n }\r\n\r\n // Si el listado de programas está vacío, entonces\r\n // no se debe cambiar la opción del selector\r\n\r\n\r\n\r\n public onSubmit(directivaFormulario: FormGroupDirective): void {\r\n const data = this.formularioDatos.value;\r\n const stateDisableDay = this.formularioDatos.get('day').disabled;\r\n\r\n let newDay: string;\r\n if (stateDisableDay) {\r\n newDay = this._startDay;\r\n } else {\r\n newDay = this.formularioDatos.get('day').value;\r\n }\r\n\r\n const horaInicio = this.hoursToNumbers(data['startTime']);\r\n const horaFinal = this.hoursToNumbers(data['endingTime']);\r\n const duration = horaFinal - horaInicio;\r\n if (duration > 0) {\r\n const dataTime: ScheduleModel = {\r\n ...data, \r\n duration: duration,\r\n id: UniqueIdGenerator.generate(),\r\n day: newDay\r\n };\r\n\r\n this._addElement.next( dataTime );\r\n \r\n directivaFormulario.resetForm();\r\n }\r\n }\r\n\r\n public delete(data: string): void {\r\n this._deleteElement.next( data );\r\n }\r\n\r\n private updateValue( list: ScheduleModel[] ): void {\r\n this.sfcontrol.markAsDirty();\r\n this.sfcontrol.setValue(list.map( i => JSON.stringify(i)).join('#'));\r\n }\r\n\r\n\r\n /** Validador de función de tiempo */\r\n private timeValidator(): ValidatorFn {\r\n return (form: FormGroup): ValidationErrors | null => {\r\n const formValue = form.value;\r\n const startTime = this.hoursToNumbers(formValue['startTime']);\r\n const endingTime = this.hoursToNumbers(formValue['endingTime']);\r\n const day = formValue['day'] as string;\r\n const filteredScheduler = this._schedules.filter(i => i.day === day);\r\n\r\n let wrongPosition = false;\r\n for (let index = 0; index < filteredScheduler.length; index++) {\r\n const currentScheduler = filteredScheduler[index];\r\n const currentStartTimeScheduler = this.hoursToNumbers(currentScheduler.startTime);\r\n const currentEndingTimeScheduler = this.hoursToNumbers(currentScheduler.endingTime);\r\n\r\n /** Siguiente elemento */\r\n let nextScheduler: ScheduleModel;\r\n let nextStartTimeScheduler: number;\r\n let nextEndingTimeScheduler: number;\r\n if ( index + 1 <= filteredScheduler.length - 1 ) {\r\n nextScheduler = filteredScheduler[index + 1];\r\n nextStartTimeScheduler = this.hoursToNumbers(nextScheduler.startTime);\r\n nextEndingTimeScheduler = this.hoursToNumbers(nextScheduler.endingTime); \r\n }\r\n /** fin siguiente elemento */\r\n\r\n /** Anterior elemento */\r\n let previousScheduler: ScheduleModel;\r\n let previousStartTimeScheduler: number;\r\n let previousEndingTimeScheduler: number;\r\n if (index - 1 >= 0 ) {\r\n previousScheduler = filteredScheduler[index - 1];\r\n previousStartTimeScheduler = this.hoursToNumbers(previousScheduler.startTime);\r\n previousEndingTimeScheduler = this.hoursToNumbers(previousScheduler.endingTime); \r\n }\r\n /** fin anterior elemento */\r\n\r\n if ( previousScheduler && nextScheduler ) {\r\n\r\n /** Comprueba que no se solapen los bordes */\r\n if (startTime > previousStartTimeScheduler && startTime < previousEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n if (endingTime > previousStartTimeScheduler && endingTime < previousEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n\r\n if (startTime > currentStartTimeScheduler && startTime < currentEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n if (endingTime > currentStartTimeScheduler && endingTime < currentEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n\r\n if (startTime > nextStartTimeScheduler && startTime < nextEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n if (endingTime > nextStartTimeScheduler && endingTime < nextEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n /** Fin de comprobación de solapación de bordes */\r\n\r\n if (startTime <= previousStartTimeScheduler && endingTime >= previousEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n\r\n if (startTime <= currentStartTimeScheduler && endingTime >= currentEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n\r\n if (startTime <= nextStartTimeScheduler && endingTime >= nextEndingTimeScheduler ) {\r\n wrongPosition = true; \r\n }\r\n\r\n } else if ( !previousScheduler && nextScheduler ) {\r\n \r\n /** Comprueba que no se solapen los bordes */\r\n if (startTime > currentStartTimeScheduler && startTime < currentEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n if (endingTime > currentStartTimeScheduler && endingTime < currentEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n\r\n if (startTime > nextStartTimeScheduler && startTime < nextEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n if (endingTime > nextStartTimeScheduler && endingTime < nextEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n /** Fin de comprobación de solapación de bordes */\r\n\r\n if (startTime <= currentStartTimeScheduler && endingTime >= currentEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n\r\n if (startTime <= nextStartTimeScheduler && endingTime >= nextEndingTimeScheduler ) {\r\n wrongPosition = true; \r\n }\r\n } else if ( previousScheduler && !nextScheduler ) {\r\n \r\n /** Comprueba que no se solapen los bordes */\r\n if (startTime > previousStartTimeScheduler && startTime < previousEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n if (endingTime > previousStartTimeScheduler && endingTime < previousEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n\r\n if (startTime > currentStartTimeScheduler && startTime < currentEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n if (endingTime > currentStartTimeScheduler && endingTime < currentEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n /** Fin de comprobación de solapación de bordes */\r\n\r\n if (startTime < previousStartTimeScheduler && endingTime >= previousEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n\r\n if (startTime < currentStartTimeScheduler && endingTime >= currentEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n } else {\r\n /** Comprueba que no se solapen los bordes */\r\n\r\n if (startTime > currentStartTimeScheduler && startTime < currentEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n if (endingTime > currentStartTimeScheduler && endingTime < currentEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n \r\n /** Fin de comprobación de solapación de bordes */\r\n\r\n if (startTime <= currentStartTimeScheduler && endingTime >= currentEndingTimeScheduler) {\r\n wrongPosition = true;\r\n }\r\n\r\n }\r\n \r\n }\r\n\r\n return (startTime >= endingTime) || wrongPosition ? {'schedulerError': 'scheduler error'} : null;\r\n };\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n this._finisher.next();\r\n }\r\n\r\n private hoursToNumbers(input: string): number {\r\n if (input) {\r\n const index = input.indexOf(':');\r\n const hour = input.slice(0, index);\r\n const minute = input.slice(index+1);\r\n return Number(hour) + (Number(minute)/60);\r\n }\r\n return -1;\r\n }\r\n\r\n\r\n private multipleSort( entryList: ScheduleModel[] ): ScheduleModel[] {\r\n const outputList: ScheduleModel[] = [];\r\n entryList.sort( this.sortScheduleByDay );\r\n for (const day of this.days) {\r\n const data = entryList.filter( i => i.day === day);\r\n data.sort( this.sortScheduleByStartTime );\r\n data.forEach( i => outputList.push(i) );\r\n }\r\n return outputList;\r\n }\r\n \r\n\r\n private sortScheduleByDay( a: ScheduleModel, b: ScheduleModel ): number {\r\n\r\n const days = {\r\n 'lunes': 1,\r\n 'martes': 2,\r\n 'miercoles': 3,\r\n 'jueves': 4,\r\n 'viernes': 5,\r\n 'sabado': 6,\r\n 'domingo': 7\r\n };\r\n\r\n if (days[a.day] > days[b.day]) {\r\n return 1;\r\n }\r\n\r\n if (days[a.day] < days[b.day]) {\r\n return -1;\r\n }\r\n return 0;\r\n }\r\n\r\n private sortScheduleByStartTime( a: ScheduleModel, b: ScheduleModel ): number {\r\n\r\n if (a.startTime > b.startTime) {\r\n return 1;\r\n }\r\n\r\n if (a.startTime < b.startTime) {\r\n return -1;\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n \r\n // /** Calcula la fecha final del grupo */\r\n // private endDateCalculation(schedule: string, daysBlocked: string, startDate: string ): void {\r\n // const objectDays: Object = {};\r\n // if (schedule) {\r\n // const data = schedule.split('#')\r\n // .map( i => JSON.parse(i) )\r\n // .map( i => ({day: i['day'], duration: +i['duration']}) );\r\n \r\n // data.forEach( i => {\r\n // if ( objectDays[i.day]) {\r\n // objectDays[i.day] += i.duration;\r\n // } else {\r\n // Object.defineProperty( objectDays, i.day, {value: i.duration, enumerable: true, writable: true} );\r\n // }\r\n // });\r\n \r\n // let days = 0;\r\n // let residualTime = this._currentProgram ? +this._currentProgram.Duration : 0;\r\n \r\n // while (residualTime > 0) {\r\n // for (const key in objectDays) {\r\n // if (objectDays.hasOwnProperty(key)) {\r\n // const element = objectDays[key];\r\n // residualTime -= element;\r\n // days++;\r\n // if (residualTime <= 0) {\r\n // break;\r\n // }\r\n // }\r\n // } \r\n // }\r\n \r\n // const weekdays = ['domingo', 'lunes', 'martes', 'miercoles', 'jueves', 'viernes', 'sabado'];\r\n \r\n // const schoolDays = Object.keys(objectDays);\r\n \r\n // // DIAS BLOQUEADOS\r\n // const arrangementBlockedDays = daysBlocked ? daysBlocked.split('#') : [];\r\n // const activeDays: string[] = [];\r\n \r\n // let referenceDate = startDate;\r\n // let endDate: string;\r\n // while (days > 0) {\r\n \r\n // const nameDay = moment(referenceDate).weekday();\r\n \r\n // if ( !arrangementBlockedDays.some( i => i === referenceDate) && schoolDays.some( i => i === weekdays[nameDay] ) ) {\r\n // days--;\r\n // activeDays.push(referenceDate);\r\n // endDate = referenceDate; \r\n // }\r\n // referenceDate = moment(referenceDate).add( 1, 'day' ).format('YYYY-MM-DD');\r\n // }\r\n \r\n // this.formGeneralInformation.patchValue({EndDate: endDate});\r\n // this._endDate = endDate;\r\n // this._activeDays = activeDays.join('#');\r\n // }\r\n \r\n // }\r\n\r\n\r\n\r\n}\r\n\r\n\r\n","module.exports = \":host {\\n grid-column: span 2;\\n width: 100%;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n}\\n\\n.sombra {\\n border: 1px #0f0c0c solid;\\n background-color: white;\\n border-radius: 5px;\\n box-shadow: rgba(122, 73, 73, 0.9) 0px 0px 8px;\\n}\\n\\n.titulo {\\n font-size: 1.5rem;\\n font-family: \\\"Roboto Condensed\\\", sans-serif;\\n text-align: center;\\n border-bottom: 1px lightgray solid;\\n padding: 5px;\\n}\\n\\n@media (min-width: 600px) {\\n .titulo {\\n font-size: 1.8rem;\\n }\\n}\\n\\n.formulario {\\n padding: 10px;\\n display: grid;\\n grid-gap: 10px;\\n grid-template-columns: 1fr 1fr 1fr 1fr;\\n grid-template-areas: \\\"day t0 t1\\\" \\\"bot bot bot\\\";\\n}\\n\\n.formulario .campo {\\n max-width: 100%;\\n}\\n\\n.formulario .days {\\n grid-area: day;\\n}\\n\\n.formulario .time0 {\\n grid-area: t0;\\n}\\n\\n.formulario .time1 {\\n grid-area: t1;\\n}\\n\\n.formulario .botones {\\n grid-area: bot;\\n margin: 5px auto;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: justify;\\n justify-content: space-between;\\n max-width: 200px;\\n padding: 15px;\\n}\\n\\n.formulario .botones button {\\n margin: 5px;\\n}\\n\\n.list-container {\\n width: 100%;\\n overflow: auto;\\n}\\n\\n.list-container table {\\n width: 100%;\\n}\\n\\n.cuerpo {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXNjaG9vbC9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3JjXFxhcHBcXHNoYXJlZFxcY29tbW9uLWNvbnRyb2xzXFxjb250cm9sLXNjaG9vbFxcY29udHJvbC1zY2hvb2wuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1zY2hvb2wvY29udHJvbC1zY2hvb2wuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxtQkFBQTtFQUNBLFdBQUE7RUFFQSxvQkFBQTtFQUFBLGFBQUE7RUFFQSw0QkFBQTtFQUFBLDZCQUFBO1VBQUEsc0JBQUE7QUNESjs7QUQwQkk7RUFDSSx5QkFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JBQUE7RUFDQSw4Q0FBQTtBQ3ZCUjs7QUR5Qkk7RUFDSSxpQkFBQTtFQUNBLDJDQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQ0FBQTtFQUNBLFlBQUE7QUN0QlI7O0FEdUJRO0VBTko7SUFPUSxpQkFBQTtFQ3BCVjtBQUNGOztBRHVCSTtFQUNJLGFBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLHNDQUFBO0VBQ0EsOENBQUE7QUNwQlI7O0FEd0JRO0VBQ0ksZUFBQTtBQ3RCWjs7QUR3QlE7RUFDSSxjQUFBO0FDdEJaOztBRHdCUTtFQUNJLGFBQUE7QUN0Qlo7O0FEd0JRO0VBQ0ksYUFBQTtBQ3RCWjs7QUR5QlE7RUFDSSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx5QkFBQTtVQUFBLDhCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0FDdkJaOztBRHdCWTtFQUNJLFdBQUE7QUN0QmhCOztBRDJCSTtFQUNJLFdBQUE7RUFDQSxjQUFBO0FDeEJSOztBRDBCUTtFQUNJLFdBQUE7QUN4Qlo7O0FENkJJO0VBQ0ksb0JBQUE7RUFBQSxhQUFBO0VBQ0EsNEJBQUE7RUFBQSw2QkFBQTtVQUFBLHNCQUFBO0FDMUJSIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXNjaG9vbC9jb250cm9sLXNjaG9vbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0e1xyXG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy9oZWlnaHQ6IDRyZW07XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLy9hbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLy8gOmhvc3Qge1xyXG4vLyAgICAgZmxleDogMTtcclxuLy8gICAgIGJvcmRlcjogNXB4IG9yYW5nZSBzb2xpZDtcclxuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbi8vICAgfVxyXG5cclxuLy8gLmNvbnRlbmVkb3Ige1xyXG4vLyAgICAgLy8gYm9yZGVyOiAzcHggYmx1ZSBzb2xpZDtcclxuLy8gICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgIC8vIHRvcDogMDtcclxuLy8gICAgIC8vIGxlZnQ6IDA7XHJcbi8vICAgICAvLyBib3R0b206IDA7XHJcbi8vICAgICAvLyByaWdodDogMDtcclxuLy8gICAgIG1heC13aWR0aDogNzUwcHg7XHJcbi8vICAgICBwYWRkaW5nOiA1cHg7XHJcbi8vICAgICBtYXJnaW46IDAgYXV0bztcclxuLy8gICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAuc29tYnJhIHtcclxuICAgICAgICBib3JkZXI6IDFweCByZ2IoMTUsIDEyLCAxMikgc29saWQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IHJnYmEoMTIyLCA3MywgNzMsIDAuOSkgMHB4IDBweCA4cHg7XHJcbiAgICB9XHJcbiAgICAudGl0dWxvIHtcclxuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBDb25kZW5zZWQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggbGlnaHRncmF5IHNvbGlkO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtdWxhcmlvIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDEwcHg7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogICAgXCJkYXkgdDAgdDFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm90IGJvdCBib3RcIjtcclxuICAgIFxyXG5cclxuICAgICAgICAuY2FtcG8ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kYXlzIHtcclxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBkYXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aW1lMCB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogdDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aW1lMSB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogdDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYm90b25lcyB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogYm90O1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGlzdC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG5cclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG5cclxuICAgIC5jdWVycG8ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICBcclxuICAgIH1cclxuXHJcbi8vIH1cclxuIiwiOmhvc3Qge1xuICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnNvbWJyYSB7XG4gIGJvcmRlcjogMXB4ICMwZjBjMGMgc29saWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IHJnYmEoMTIyLCA3MywgNzMsIDAuOSkgMHB4IDBweCA4cHg7XG59XG5cbi50aXR1bG8ge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBsaWdodGdyYXkgc29saWQ7XG4gIHBhZGRpbmc6IDVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGl0dWxvIHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgfVxufVxuXG4uZm9ybXVsYXJpbyB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAxMHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJkYXkgdDAgdDFcIiBcImJvdCBib3QgYm90XCI7XG59XG4uZm9ybXVsYXJpbyAuY2FtcG8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4uZm9ybXVsYXJpbyAuZGF5cyB7XG4gIGdyaWQtYXJlYTogZGF5O1xufVxuLmZvcm11bGFyaW8gLnRpbWUwIHtcbiAgZ3JpZC1hcmVhOiB0MDtcbn1cbi5mb3JtdWxhcmlvIC50aW1lMSB7XG4gIGdyaWQtYXJlYTogdDE7XG59XG4uZm9ybXVsYXJpbyAuYm90b25lcyB7XG4gIGdyaWQtYXJlYTogYm90O1xuICBtYXJnaW46IDVweCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG4uZm9ybXVsYXJpbyAuYm90b25lcyBidXR0b24ge1xuICBtYXJnaW46IDVweDtcbn1cblxuLmxpc3QtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLmxpc3QtY29udGFpbmVyIHRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdWVycG8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufSJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\nimport { FormGroup, AbstractControl, Validators, FormBuilder, FormGroupDirective, ValidatorFn, ValidationErrors } from '@angular/forms';\r\nimport { takeUntil, take, filter, switchMap, map, tap } from 'rxjs/operators';\r\nimport { Subject, Observable, BehaviorSubject } from 'rxjs';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport { UniqueIdGenerator } from '@utilities/UniqueIdGenerator';\r\nimport { isNullOrUndefined } from 'util';\r\nimport { ControlFormsService } from '@services/control-forms.service';\r\n\r\n\r\ninterface SchoolModel {\r\n id: string;\r\n GradeStart: string;\r\n GradeEnd: string;\r\n YearStart: string;\r\n YearEnd: string;\r\n Establishment: string;\r\n Calendar: string;\r\n City: string;\r\n} \r\n\r\n@Component({\r\n selector: 'control-school',\r\n templateUrl: './control-school.component.html',\r\n styleUrls: ['./control-school.component.scss']\r\n})\r\nexport class ControlSchoolComponent implements OnInit, OnDestroy {\r\n @Input() sfcontrol: SpecialFormControl;\r\n @Output('blurAction') _blurAction: EventEmitter = new EventEmitter();\r\n @Output('enterKey') _enterKey: EventEmitter = new EventEmitter();\r\n\r\n public _schedules$ = new BehaviorSubject([]);\r\n public _schedules: SchoolModel[] = [];\r\n public dataSource = new MatTableDataSource([]);\r\n public titulo: string;\r\n public formStatus = false;\r\n public formularioDatos: FormGroup;\r\n public erroresFormulario = {\r\n GradeStart: '',\r\n GradeEnd: '',\r\n YearStart: '',\r\n YearEnd: '',\r\n Establishment: '',\r\n Calendar: '',\r\n City: '',\r\n };\r\n\r\n public displayedColumns = ['GradeStart', 'GradeEnd', 'YearStart', 'YearEnd', 'Establishment', 'Calendar', 'City', 'delete'];\r\n public grades = ['Preescolar','Prekinder', 'Kinder', 'Transición', 'Primero', 'Segundo', 'Tercero', 'Cuarto','Quinto','Sexto','Séptimo','Octavo','Noveno','Décimo','Undécimo','Doudécimo','Universidad'];\r\n public calendars = ['A','B','C'];\r\n \r\n private _addElement = new Subject();\r\n private _deleteElement = new Subject();\r\n private _finisher = new Subject();\r\n private _startDay: string;\r\n\r\n private mensajesValidacion = {\r\n GradeStart: {\r\n required: 'Seleccione el grado',\r\n },\r\n GradeEnd: {\r\n required: 'Seleccione el grado',\r\n },\r\n YearStart: {\r\n required: 'Espeficique un año',\r\n pattern:'El dato ingresado no tiene el formato esperado',\r\n },\r\n YearEnd: {\r\n required: 'Espeficique un año',\r\n pattern:'El dato ingresado no tiene el formato esperado',\r\n },\r\n Establishment: {\r\n required: 'Especifique el establecimiento',\r\n },\r\n Calendar: {\r\n required: 'Espeficique un calendario',\r\n },\r\n City: {\r\n required: 'Espeficique la ciudad',\r\n pattern:'El dato ingresado no tiene el formato esperado',\r\n }\r\n };\r\n\r\n constructor( \r\n private fb: FormBuilder,\r\n private _controlFormsService: ControlFormsService,\r\n ) {\r\n this.construyeFormulario();\r\n }\r\n\r\n private construyeFormulario(): void {\r\n this.formularioDatos = this.fb.group({\r\n GradeStart: [ '', Validators.required,],\r\n GradeEnd: [ '', Validators.required,],\r\n YearStart: [ '', [Validators.required,Validators.pattern(\"[0-9]{1,4}\")]],\r\n YearEnd: [ '', [Validators.required,Validators.pattern(\"[0-9]{1,4}\")]],\r\n Establishment: ['', Validators.required,],\r\n Calendar: [ '', Validators.required,],\r\n City: [ '', [Validators.required,Validators.pattern('^[a-zA-ZáéíóúÁÉÍÓÚñÑ]+(?: [a-zA-ZáéíóúÁÉÍÓÚñÑ]+)*$')]],\r\n }, );\r\n\r\n this.formularioDatos.valueChanges\r\n .pipe( takeUntil( this._finisher ) )\r\n .subscribe(data =>{\r\n this.alCambiarValor(data)\r\n });\r\n\r\n }\r\n\r\n private alCambiarValor(data?: any): void {\r\n if (!this.formularioDatos) {\r\n alert('No existe formularioDatos');\r\n return;\r\n }\r\n\r\n const formulario: FormGroup = this.formularioDatos;\r\n\r\n for (const campo in this.erroresFormulario) {\r\n if (campo in this.erroresFormulario) {\r\n const control: AbstractControl = formulario.get(campo);\r\n this.erroresFormulario[campo] = '';\r\n if (control && control.dirty && !control.valid) {\r\n const mensajes = this.mensajesValidacion[campo];\r\n for (const error in control.errors) {\r\n if (error in control.errors) {\r\n this.erroresFormulario[campo] += mensajes[error] + ' ';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n this.formStatus = false;\r\n if (this.formularioDatos.status === 'VALID') {\r\n this.formStatus = true;\r\n }\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this._controlFormsService.itemValueTime.pipe(takeUntil(this._finisher)).subscribe((nextValue) => {\r\n if(!nextValue){\r\n this.formularioDatos.get('GradeStart').disable();\r\n this.formularioDatos.get('GradeEnd').disable();\r\n this.formularioDatos.get('Establishment').disable();\r\n this.formularioDatos.get('YearStart').disable();\r\n this.formularioDatos.get('YearEnd').disable();\r\n this.formularioDatos.get('Calendar').disable();\r\n this.formularioDatos.get('City').disable();\r\n }\r\n });\r\n\r\n\r\n let value = this.sfcontrol.value;\r\n if(value){\r\n let input = value as string;\r\n\r\n const data: SchoolModel[] = input ? input.split('#').map( i => JSON.parse(i) ) : [];\r\n \r\n this._schedules$.next(data);\r\n this.dataSource.data = data;\r\n }\r\n \r\n\r\n this.sfcontrol.valueChanges\r\n .pipe(\r\n //take(1)\r\n ).subscribe( value => {\r\n let input = value as string;\r\n\r\n const data: SchoolModel[] = input ? input.split('#').map( i => JSON.parse(i) ) : [];\r\n \r\n this._schedules$.next(data);\r\n this.dataSource.data = data;\r\n }\r\n );\r\n\r\n\r\n if (this.sfcontrol.data[0] instanceof Observable ) {\r\n this.sfcontrol.data[0]\r\n .pipe(\r\n filter( day => !isNullOrUndefined(day) ),\r\n takeUntil( this._finisher )\r\n )\r\n .subscribe( i => {\r\n } \r\n );\r\n }\r\n\r\n this._schedules$.subscribe( data => {\r\n this._schedules = [...data];\r\n\r\n /* if (data.length === 0) {\r\n this.formularioDatos.get('day').disable();\r\n } else {\r\n this.formularioDatos.get('day').enable();\r\n } */\r\n\r\n } \r\n );\r\n\r\n // AGREGAR\r\n this._addElement\r\n .pipe(\r\n filter( i => !isNullOrUndefined(i) ),\r\n switchMap( schedule => this._schedules$\r\n .pipe(\r\n map( lists => [...lists, schedule] ),\r\n take(1)\r\n ) \r\n ),\r\n takeUntil( this._finisher )\r\n ).subscribe( i => {\r\n const data = [...i];//this.multipleSort( i );\r\n this._schedules$.next( data );\r\n this.dataSource.data = data; \r\n this.updateValue( data );\r\n } \r\n );\r\n\r\n // BORRAR\r\n this._deleteElement\r\n .pipe(\r\n filter( i => !isNullOrUndefined(i) ),\r\n switchMap( id => this._schedules$\r\n .pipe(\r\n map( list => list.filter( i => i.id !== id) ),\r\n take(1)\r\n ) \r\n ),\r\n takeUntil( this._finisher )\r\n ).subscribe( data => {\r\n this._schedules$.next( data );\r\n this.dataSource.data = data;\r\n this.updateValue( data );\r\n } \r\n );\r\n\r\n }\r\n\r\n public onSubmit(directivaFormulario: FormGroupDirective): void {\r\n const data = this.formularioDatos.value;\r\n\r\n const dataCreate: SchoolModel = {\r\n ...data, \r\n id: UniqueIdGenerator.generate(),\r\n }\r\n \r\n this._addElement.next( dataCreate );\r\n \r\n directivaFormulario.resetForm();\r\n }\r\n\r\n public delete(data: string): void {\r\n this._deleteElement.next( data );\r\n }\r\n\r\n private updateValue( list: SchoolModel[] ): void {\r\n this.sfcontrol.markAsDirty();\r\n this.sfcontrol.setValue(list.map( i => JSON.stringify(i)).join('#'));\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n this._finisher.next();\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","module.exports = \":host {\\n width: 100%;\\n height: 4rem;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: end;\\n align-items: flex-end;\\n}\\n\\nmat-form-field {\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXNlbGVjdC1tdWx0aXBsZS1zZWFyY2gvRDpcXEZpcm1hc0RpZ2l0YWxlc0Zyb250L3NyY1xcYXBwXFxzaGFyZWRcXGNvbW1vbi1jb250cm9sc1xcY29udHJvbC1zZWxlY3QtbXVsdGlwbGUtc2VhcmNoXFxjb250cm9sLXNlbGVjdC1tdWx0aXBsZS1zZWFyY2guY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1zZWxlY3QtbXVsdGlwbGUtc2VhcmNoL2NvbnRyb2wtc2VsZWN0LW11bHRpcGxlLXNlYXJjaC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7RUFBQSxhQUFBO0VBQ0Esc0JBQUE7VUFBQSxxQkFBQTtBQ0NKOztBREVBO0VBQ0ksV0FBQTtBQ0NKIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXNlbGVjdC1tdWx0aXBsZS1zZWFyY2gvY29udHJvbC1zZWxlY3QtbXVsdGlwbGUtc2VhcmNoLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3R7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNHJlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbn1cclxuXHJcbm1hdC1mb3JtLWZpZWxkIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59IiwiOmhvc3Qge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbm1hdC1mb3JtLWZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7XG59Il19 */\"","import { Component, Input } from '@angular/core';\r\nimport { Observable, Subscription, combineLatest } from 'rxjs';\r\nimport { startWith, map } from 'rxjs/operators';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'control-select-multiple-search',\r\n templateUrl: './control-select-multiple-search.component.html',\r\n styleUrls: ['./control-select-multiple-search.component.scss']\r\n})\r\nexport class ControlSelectMultipleSearchComponent {\r\n @Input('readOnly') _readOnly = false;\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n filterCtrl = new FormControl();\r\n value: any = \"\";\r\n subs: Subscription = new Subscription();\r\n data: Object[] = [];\r\n filteredData$: Observable;\r\n\r\n ngOnInit() {\r\n\r\n const areaSubAreaList$ : Observable<{RowKey: string, Name: string}[]> = this._sfcontrol.data[0]\r\n .pipe( \r\n map( (d : Object[]) => {\r\n const master = this._sfcontrol.data[5];\r\n const slave = this._sfcontrol.data[6];\r\n if (slave) {\r\n return this.data = d.map( i => ( {RowKey : i['RowKey'], Name: `${i[master]}/${i[slave]}`}) );\r\n } else {\r\n return this.data = d.map( i => ( {RowKey : i['RowKey'], Name: `${i[master]}`}) );\r\n } \r\n }\r\n )\r\n )\r\n\r\n const filterWord$: Observable = this.filterCtrl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n //debounceTime(500),\r\n map( (i: string) => i.toLowerCase() ),\r\n );\r\n\r\n this.filteredData$ = combineLatest( areaSubAreaList$, filterWord$ )\r\n .pipe(\r\n map( ([a, b]) => {\r\n if (b.length === 0) {\r\n return a;\r\n } else {\r\n return a.filter( i => i.Name.toLowerCase().includes(b) );\r\n }\r\n } )\r\n );\r\n\r\n }\r\n\r\n select(value: string[]) {\r\n const complemento: string[] = [];\r\n for (const i of value) {\r\n complemento.push(this.data.find( object => object['RowKey'] === i)['Name']);\r\n }\r\n\r\n const complementName = this._sfcontrol.data[7];\r\n this._sfcontrol.setComplement({[complementName]: complemento.join('; ')});\r\n\r\n this._sfcontrol.markAsDirty();\r\n this._sfcontrol.setValue(value.join());\r\n }\r\n\r\n dividir(arreglo: string){\r\n return arreglo.split(',');\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","module.exports = \":host {\\n width: 100%;\\n height: 4rem;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: end;\\n align-items: flex-end;\\n}\\n\\nmat-form-field {\\n width: 100%;\\n}\\n\\n.mat-error {\\n display: block !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXNlbGVjdC1tdWx0aXBsZS9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3JjXFxhcHBcXHNoYXJlZFxcY29tbW9uLWNvbnRyb2xzXFxjb250cm9sLXNlbGVjdC1tdWx0aXBsZVxcY29udHJvbC1zZWxlY3QtbXVsdGlwbGUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1zZWxlY3QtbXVsdGlwbGUvY29udHJvbC1zZWxlY3QtbXVsdGlwbGUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHNCQUFBO1VBQUEscUJBQUE7QUNDSjs7QURFQTtFQUNJLFdBQUE7QUNDSjs7QURDQTtFQUNJLHlCQUFBO0FDRUoiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvY29tbW9uLWNvbnRyb2xzL2NvbnRyb2wtc2VsZWN0LW11bHRpcGxlL2NvbnRyb2wtc2VsZWN0LW11bHRpcGxlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3R7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNHJlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbn1cclxuXHJcbm1hdC1mb3JtLWZpZWxkIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcbi5tYXQtZXJyb3J7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG59IiwiOmhvc3Qge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbm1hdC1mb3JtLWZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5tYXQtZXJyb3Ige1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufSJdfQ== */\"","import { Component, Input } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\nimport { Observable, Subscription, combineLatest } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'control-select-multiple',\r\n templateUrl: './control-select-multiple.component.html',\r\n styleUrls: ['./control-select-multiple.component.scss']\r\n})\r\nexport class ControlSelectMultipleComponent {\r\n @Input('readOnly') _readOnly = false;\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n filterCtrl = new FormControl();\r\n value: any = \"\";\r\n subs: Subscription = new Subscription();\r\n data: Object[] = [];\r\n filteredData$: Observable;\r\n\r\n ngOnInit() {\r\n\r\n const dataControl$: Observable<{ RowKey: string, Name: string }[]> = this._sfcontrol.data[0]\r\n .pipe(\r\n map((d: Object[]) => {\r\n const master = this._sfcontrol.data[5];\r\n const slave = this._sfcontrol.data[6];\r\n if (slave) {\r\n return this.data = d.map(i => ({ RowKey: i['RowKey'], Name: `${i[master]}-${i[slave]}` }));\r\n } else {\r\n return this.data = d.map(i => ({ RowKey: i['RowKey'], Name: `${i[master]}` }));\r\n }\r\n }\r\n )\r\n )\r\n\r\n const filterWord$: Observable = this.filterCtrl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n //debounceTime(500),\r\n map((i: string) => i.toLowerCase()),\r\n );\r\n\r\n this.filteredData$ = combineLatest(dataControl$, filterWord$)\r\n .pipe(\r\n map(([a, b]) => {\r\n if (b.length === 0) {\r\n return a;\r\n } else {\r\n return a.filter(i => i.Name.toLowerCase().includes(b));\r\n }\r\n })\r\n );\r\n\r\n }\r\n\r\n select(value: string[]) {\r\n const complemento: string[] = [];\r\n complemento.push(this.data.find(object => object['RowKey'] === value)['Name']);\r\n const complementName = this._sfcontrol.data[7];\r\n this._sfcontrol.setComplement({ [complementName]: complemento.join('; ') });\r\n\r\n let val = { [complementName]: complemento.join('; ') }\r\n\r\n this._sfcontrol.setValue(value);\r\n this._sfcontrol.markAsDirty();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","module.exports = \":host {\\n width: 100%;\\n height: 4rem;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: end;\\n align-items: flex-end;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXNlbGVjdC9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3JjXFxhcHBcXHNoYXJlZFxcY29tbW9uLWNvbnRyb2xzXFxjb250cm9sLXNlbGVjdFxcY29udHJvbC1zZWxlY3QuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1zZWxlY3QvY29udHJvbC1zZWxlY3QuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHNCQUFBO1VBQUEscUJBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1zZWxlY3QvY29udHJvbC1zZWxlY3QuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA0cmVtO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxufSIsIjpob3N0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufSJdfQ== */\"","import { Component, Input } from '@angular/core';\r\nimport { Observable, Subscription, combineLatest } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\n\r\n@Component({\r\n selector: 'control-select',\r\n templateUrl: './control-select.component.html',\r\n styleUrls: ['./control-select.component.scss']\r\n})\r\nexport class ControlSelectComponent {\r\n @Input('readOnly') _readOnly = false;\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n value: any = \"\";\r\n subs: Subscription = new Subscription();\r\n data: Object[] = [];\r\n\r\n ngOnInit() {\r\n if (this._sfcontrol.data[0] instanceof Observable) {\r\n this.subs.add(\r\n combineLatest(\r\n this._sfcontrol.data[0].pipe(filter(a => a ? true : false)),\r\n this._sfcontrol.valueChanges,\r\n (data: Array, value) => {\r\n const select = data.find(a => a[this._sfcontrol.data[1]] === value);\r\n select && this._sfcontrol.setComplement(select);\r\n }\r\n ).subscribe(() => { })\r\n )\r\n this.subs.add(\r\n this._sfcontrol.data[0].subscribe(d => this.data = d)\r\n )\r\n } else {\r\n this.data = this._sfcontrol.data[0];\r\n this._sfcontrol.valueChanges.pipe(\r\n ).subscribe((value) => {\r\n const select = this.data.find(a => a[this._sfcontrol.data[1]] === value);\r\n select && this._sfcontrol.setComplement(select);\r\n })\r\n }\r\n }\r\n\r\n select(value) {\r\n if(value==null){\r\n this._sfcontrol.setValue('');\r\n let complementReset = {\r\n Name: ''\r\n }\r\n this._sfcontrol.setComplement(complementReset);\r\n }else{\r\n this._sfcontrol.setValue(value);\r\n }\r\n this._sfcontrol.markAsDirty();\r\n //this._sfcontrol.setValue(value);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","module.exports = \".disabled {\\n color: rgba(0, 0, 0, 0.38);\\n}\\n\\n:host {\\n grid-column: span 2;\\n}\\n\\n.body {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n flex-direction: row;\\n}\\n\\n.body .format {\\n margin-right: 5px;\\n padding-left: 5px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n border-bottom: darkblue 1px solid;\\n}\\n\\n.body .content {\\n -webkit-box-flex: 1;\\n flex: 1;\\n color: darkblue;\\n background-color: lavender;\\n}\\n\\n.body .contentLabel {\\n -webkit-box-flex: 1;\\n flex: 1;\\n color: darkolivegreen;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXNob3ctaXRlbS9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3JjXFxhcHBcXHNoYXJlZFxcY29tbW9uLWNvbnRyb2xzXFxjb250cm9sLXNob3ctaXRlbVxcY29udHJvbC1zaG93LWl0ZW0uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1zaG93LWl0ZW0vY29udHJvbC1zaG93LWl0ZW0uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSwwQkFBQTtBQ0NKOztBRENBO0VBQ0ksbUJBQUE7QUNFSjs7QURDQTtFQUNJLG9CQUFBO0VBQUEsYUFBQTtFQUNBLDhCQUFBO0VBQUEsNkJBQUE7VUFBQSxtQkFBQTtBQ0VKOztBREFJO0VBQ0ksaUJBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHlCQUFBO1VBQUEsbUJBQUE7RUFDQSxpQ0FBQTtBQ0VSOztBRENJO0VBQ0ksbUJBQUE7VUFBQSxPQUFBO0VBQ0EsZUFBQTtFQUNBLDBCQUFBO0FDQ1I7O0FEQ0k7RUFDSSxtQkFBQTtVQUFBLE9BQUE7RUFDQSxxQkFBQTtBQ0NSIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXNob3ctaXRlbS9jb250cm9sLXNob3ctaXRlbS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5kaXNhYmxlZCB7XHJcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuMzgpO1xyXG59XHJcbjpob3N0IHtcclxuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XHJcbn1cclxuXHJcbi5ib2R5IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cclxuICAgIC5mb3JtYXQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBkYXJrYmx1ZSAxcHggc29saWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgY29sb3I6IGRhcmtibHVlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxhdmVuZGVyO1xyXG4gICAgfVxyXG4gICAgLmNvbnRlbnRMYWJlbCB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBjb2xvcjogZGFya29saXZlZ3JlZW47XHJcbiAgICB9XHJcbn0iLCIuZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbn1cblxuOmhvc3Qge1xuICBncmlkLWNvbHVtbjogc3BhbiAyO1xufVxuXG4uYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG4uYm9keSAuZm9ybWF0IHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiBkYXJrYmx1ZSAxcHggc29saWQ7XG59XG4uYm9keSAuY29udGVudCB7XG4gIGZsZXg6IDE7XG4gIGNvbG9yOiBkYXJrYmx1ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGF2ZW5kZXI7XG59XG4uYm9keSAuY29udGVudExhYmVsIHtcbiAgZmxleDogMTtcbiAgY29sb3I6IGRhcmtvbGl2ZWdyZWVuO1xufSJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\n\r\n@Component({\r\n selector: 'control-show-item',\r\n templateUrl: './control-show-item.component.html',\r\n styleUrls: ['./control-show-item.component.scss']\r\n})\r\nexport class ControlShowItemComponent implements OnInit {\r\n @Input() sfcontrol: SpecialFormControl;\r\n @Output() buttonPressed = new EventEmitter();\r\n public typeField: string = 'control-show-item'\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \":host {\\n grid-column: span 2;\\n width: 100%;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n}\\n\\n.sombra {\\n border: 1px #0f0c0c solid;\\n background-color: white;\\n border-radius: 5px;\\n box-shadow: rgba(122, 73, 73, 0.9) 0px 0px 8px;\\n}\\n\\n.titulo {\\n font-size: 1.5rem;\\n font-family: \\\"Roboto Condensed\\\", sans-serif;\\n text-align: center;\\n border-bottom: 1px lightgray solid;\\n padding: 5px;\\n}\\n\\n@media (min-width: 600px) {\\n .titulo {\\n font-size: 1.8rem;\\n }\\n}\\n\\n.formulario {\\n padding: 10px;\\n display: grid;\\n grid-gap: 10px;\\n grid-template-columns: 1fr 1fr 1fr;\\n grid-template-areas: \\\"day t0 t1\\\" \\\"bot bot bot\\\";\\n}\\n\\n.formulario .campo {\\n max-width: 100%;\\n}\\n\\n.formulario .days {\\n grid-area: day;\\n}\\n\\n.formulario .time0 {\\n grid-area: t0;\\n}\\n\\n.formulario .time1 {\\n grid-area: t1;\\n}\\n\\n.formulario .botones {\\n grid-area: bot;\\n margin: 5px auto;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: justify;\\n justify-content: space-between;\\n max-width: 200px;\\n padding: 15px;\\n}\\n\\n.formulario .botones button {\\n margin: 5px;\\n}\\n\\n.list-container {\\n width: 100%;\\n overflow: auto;\\n}\\n\\n.list-container table {\\n width: 100%;\\n}\\n\\n.cuerpo {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXN0dWRlbnQvRDpcXEZpcm1hc0RpZ2l0YWxlc0Zyb250L3NyY1xcYXBwXFxzaGFyZWRcXGNvbW1vbi1jb250cm9sc1xcY29udHJvbC1zdHVkZW50XFxjb250cm9sLXN0dWRlbnQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC1zdHVkZW50L2NvbnRyb2wtc3R1ZGVudC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLG1CQUFBO0VBQ0EsV0FBQTtFQUVBLG9CQUFBO0VBQUEsYUFBQTtFQUVBLDRCQUFBO0VBQUEsNkJBQUE7VUFBQSxzQkFBQTtBQ0RKOztBRDBCSTtFQUNJLHlCQUFBO0VBQ0EsdUJBQUE7RUFDQSxrQkFBQTtFQUNBLDhDQUFBO0FDdkJSOztBRHlCSTtFQUNJLGlCQUFBO0VBQ0EsMkNBQUE7RUFDQSxrQkFBQTtFQUNBLGtDQUFBO0VBQ0EsWUFBQTtBQ3RCUjs7QUR1QlE7RUFOSjtJQU9RLGlCQUFBO0VDcEJWO0FBQ0Y7O0FEdUJJO0VBQ0ksYUFBQTtFQUNBLGFBQUE7RUFDQSxjQUFBO0VBQ0Esa0NBQUE7RUFDQSw4Q0FBQTtBQ3BCUjs7QUR3QlE7RUFDSSxlQUFBO0FDdEJaOztBRHdCUTtFQUNJLGNBQUE7QUN0Qlo7O0FEd0JRO0VBQ0ksYUFBQTtBQ3RCWjs7QUR3QlE7RUFDSSxhQUFBO0FDdEJaOztBRHlCUTtFQUNJLGNBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHlCQUFBO1VBQUEsOEJBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7QUN2Qlo7O0FEd0JZO0VBQ0ksV0FBQTtBQ3RCaEI7O0FEMkJJO0VBQ0ksV0FBQTtFQUNBLGNBQUE7QUN4QlI7O0FEMEJRO0VBQ0ksV0FBQTtBQ3hCWjs7QUQ2Qkk7RUFDSSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO1VBQUEsc0JBQUE7QUMxQlIiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvY29tbW9uLWNvbnRyb2xzL2NvbnRyb2wtc3R1ZGVudC9jb250cm9sLXN0dWRlbnQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdHtcclxuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vaGVpZ2h0OiA0cmVtO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC8vYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcblxyXG59XHJcblxyXG5cclxuXHJcbi8vIDpob3N0IHtcclxuLy8gICAgIGZsZXg6IDE7XHJcbi8vICAgICBib3JkZXI6IDVweCBvcmFuZ2Ugc29saWQ7XHJcbi8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4vLyAgIH1cclxuXHJcbi8vIC5jb250ZW5lZG9yIHtcclxuLy8gICAgIC8vIGJvcmRlcjogM3B4IGJsdWUgc29saWQ7XHJcbi8vICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8vICAgICAvLyB0b3A6IDA7XHJcbi8vICAgICAvLyBsZWZ0OiAwO1xyXG4vLyAgICAgLy8gYm90dG9tOiAwO1xyXG4vLyAgICAgLy8gcmlnaHQ6IDA7XHJcbi8vICAgICBtYXgtd2lkdGg6IDc1MHB4O1xyXG4vLyAgICAgcGFkZGluZzogNXB4O1xyXG4vLyAgICAgbWFyZ2luOiAwIGF1dG87XHJcbi8vICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgLnNvbWJyYSB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggcmdiKDE1LCAxMiwgMTIpIHNvbGlkO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBib3gtc2hhZG93OiByZ2JhKDEyMiwgNzMsIDczLCAwLjkpIDBweCAwcHggOHB4O1xyXG4gICAgfVxyXG4gICAgLnRpdHVsbyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGxpZ2h0Z3JheSBzb2xpZDtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9ybXVsYXJpbyB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtZ2FwOiAxMHB4O1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogICAgXCJkYXkgdDAgdDFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm90IGJvdCBib3RcIjtcclxuICAgIFxyXG5cclxuICAgICAgICAuY2FtcG8ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kYXlzIHtcclxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBkYXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aW1lMCB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogdDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aW1lMSB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogdDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYm90b25lcyB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogYm90O1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGlzdC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG5cclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG5cclxuICAgIC5jdWVycG8ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICBcclxuICAgIH1cclxuXHJcbi8vIH1cclxuIiwiOmhvc3Qge1xuICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnNvbWJyYSB7XG4gIGJvcmRlcjogMXB4ICMwZjBjMGMgc29saWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IHJnYmEoMTIyLCA3MywgNzMsIDAuOSkgMHB4IDBweCA4cHg7XG59XG5cbi50aXR1bG8ge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBsaWdodGdyYXkgc29saWQ7XG4gIHBhZGRpbmc6IDVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGl0dWxvIHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgfVxufVxuXG4uZm9ybXVsYXJpbyB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAxMHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImRheSB0MCB0MVwiIFwiYm90IGJvdCBib3RcIjtcbn1cbi5mb3JtdWxhcmlvIC5jYW1wbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi5mb3JtdWxhcmlvIC5kYXlzIHtcbiAgZ3JpZC1hcmVhOiBkYXk7XG59XG4uZm9ybXVsYXJpbyAudGltZTAge1xuICBncmlkLWFyZWE6IHQwO1xufVxuLmZvcm11bGFyaW8gLnRpbWUxIHtcbiAgZ3JpZC1hcmVhOiB0MTtcbn1cbi5mb3JtdWxhcmlvIC5ib3RvbmVzIHtcbiAgZ3JpZC1hcmVhOiBib3Q7XG4gIG1hcmdpbjogNXB4IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgcGFkZGluZzogMTVweDtcbn1cbi5mb3JtdWxhcmlvIC5ib3RvbmVzIGJ1dHRvbiB7XG4gIG1hcmdpbjogNXB4O1xufVxuXG4ubGlzdC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG4ubGlzdC1jb250YWluZXIgdGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmN1ZXJwbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59Il19 */\"","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\nimport { FormGroup, AbstractControl, Validators, FormBuilder, FormGroupDirective, ValidatorFn, ValidationErrors } from '@angular/forms';\r\nimport { takeUntil, take, filter, switchMap, map, tap } from 'rxjs/operators';\r\nimport { Subject, Observable, BehaviorSubject } from 'rxjs';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport { UniqueIdGenerator } from '@utilities/UniqueIdGenerator';\r\nimport { isNullOrUndefined } from 'util';\r\nimport { ControlFormsService } from '@services/control-forms.service';\r\n\r\n\r\ninterface StudentModel {\r\n id: string;\r\n Name: string;\r\n Grade: string;\r\n Age: string;\r\n Place: string;\r\n} \r\n\r\n@Component({\r\n selector: 'control-student',\r\n templateUrl: './control-student.component.html',\r\n styleUrls: ['./control-student.component.scss']\r\n})\r\nexport class ControlStudentComponent implements OnInit, OnDestroy {\r\n @Input() sfcontrol: SpecialFormControl;\r\n @Output('blurAction') _blurAction: EventEmitter = new EventEmitter();\r\n @Output('enterKey') _enterKey: EventEmitter = new EventEmitter();\r\n\r\n public _students$ = new BehaviorSubject([]);\r\n public _students: StudentModel[] = [];\r\n public dataSource = new MatTableDataSource([]);\r\n public titulo: string;\r\n public formStatus = false;\r\n public formularioDatos: FormGroup;\r\n public erroresFormulario = {\r\n Name: '',\r\n Grade: '',\r\n Age: '',\r\n Place: '',\r\n };\r\n public displayedColumns = ['Name', 'Age', 'Grade', 'Place', 'delete'];\r\n public grades = ['Preescolar','Prekinder', 'Kinder', 'Transición', 'Primero', 'Segundo', 'Tercero', 'Cuarto','Quinto','Sexto','Séptimo','Octavo','Noveno','Décimo','Undécimo','Doudécimo','Universidad'];\r\n \r\n private _addElement = new Subject();\r\n private _deleteElement = new Subject();\r\n private _finisher = new Subject();\r\n\r\n private mensajesValidacion = {\r\n Name: {\r\n required: 'Especifique el nombre',\r\n pattern:'El dato ingresado no tiene el formato esperado',\r\n },\r\n Grade: {\r\n required: 'Especifique el grado',\r\n },\r\n Age: {\r\n required: 'Espeficique la edad',\r\n },\r\n Place: {\r\n required: 'Espeficique el lugar donde estudia',\r\n }\r\n };\r\n\r\n constructor( \r\n private fb: FormBuilder,\r\n private _controlFormsService: ControlFormsService,\r\n ) {\r\n this.construyeFormulario();\r\n }\r\n\r\n private construyeFormulario(): void {\r\n this.formularioDatos = this.fb.group({\r\n Name: [ '', [Validators.required,Validators.pattern('^[a-zA-ZáéíóúÁÉÍÓÚñÑ]+(?: [a-zA-ZáéíóúÁÉÍÓÚñÑ]+)*$')]],\r\n Grade: [ '', Validators.required],\r\n Age: [ '', Validators.required],\r\n Place: [ '', Validators.required],\r\n }, );\r\n\r\n this.formularioDatos.valueChanges\r\n .pipe( takeUntil( this._finisher ) )\r\n .subscribe(data =>{\r\n this.alCambiarValor(data)\r\n });\r\n\r\n }\r\n\r\n private alCambiarValor(data?: any): void {\r\n if (!this.formularioDatos) {\r\n alert('No existe formularioDatos');\r\n return;\r\n }\r\n\r\n const formulario: FormGroup = this.formularioDatos;\r\n\r\n for (const campo in this.erroresFormulario) {\r\n if (campo in this.erroresFormulario) {\r\n const control: AbstractControl = formulario.get(campo);\r\n this.erroresFormulario[campo] = '';\r\n if (control && control.dirty && !control.valid) {\r\n const mensajes = this.mensajesValidacion[campo];\r\n for (const error in control.errors) {\r\n if (error in control.errors) {\r\n this.erroresFormulario[campo] += mensajes[error] + ' ';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n this.formStatus = false;\r\n if (this.formularioDatos.status === 'VALID') {\r\n this.formStatus = true;\r\n }\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this._controlFormsService.itemValueTime.pipe(takeUntil(this._finisher)).subscribe((nextValue) => {\r\n if(!nextValue){\r\n this.formularioDatos.get('Name').disable();\r\n this.formularioDatos.get('Grade').disable();\r\n this.formularioDatos.get('Age').disable();\r\n this.formularioDatos.get('Place').disable();\r\n }\r\n });\r\n\r\n\r\n let value = this.sfcontrol.value;\r\n if(value){\r\n let input = value as string;\r\n\r\n const data: StudentModel[] = input ? input.split('#').map( i => JSON.parse(i) ) : [];\r\n \r\n this._students$.next(data);\r\n this.dataSource.data = data;\r\n }\r\n \r\n\r\n this.sfcontrol.valueChanges\r\n .pipe(\r\n //take(1)\r\n ).subscribe( value => {\r\n let input = value as string;\r\n\r\n const data: StudentModel[] = input ? input.split('#').map( i => JSON.parse(i) ) : [];\r\n \r\n this._students$.next(data);\r\n this.dataSource.data = data;\r\n }\r\n );\r\n\r\n\r\n if (this.sfcontrol.data[0] instanceof Observable ) {\r\n this.sfcontrol.data[0]\r\n .pipe(\r\n filter( day => !isNullOrUndefined(day) ),\r\n takeUntil( this._finisher )\r\n )\r\n .subscribe( i => {\r\n } \r\n );\r\n }\r\n\r\n this._students$.subscribe( data => {\r\n this._students = [...data];\r\n\r\n /* if (data.length === 0) {\r\n this.formularioDatos.get('day').disable();\r\n } else {\r\n this.formularioDatos.get('day').enable();\r\n } */\r\n\r\n } \r\n );\r\n\r\n // AGREGAR\r\n this._addElement\r\n .pipe(\r\n filter( i => !isNullOrUndefined(i) ),\r\n switchMap( schedule => this._students$\r\n .pipe(\r\n map( lists => [...lists, schedule] ),\r\n take(1)\r\n ) \r\n ),\r\n takeUntil( this._finisher )\r\n ).subscribe( i => {\r\n const data = [...i];//this.multipleSort( i );\r\n this._students$.next( data );\r\n this.dataSource.data = data; \r\n this.updateValue( data );\r\n } \r\n );\r\n\r\n // BORRAR\r\n this._deleteElement\r\n .pipe(\r\n filter( i => !isNullOrUndefined(i) ),\r\n switchMap( id => this._students$\r\n .pipe(\r\n map( list => list.filter( i => i.id !== id) ),\r\n take(1)\r\n ) \r\n ),\r\n takeUntil( this._finisher )\r\n ).subscribe( data => {\r\n this._students$.next( data );\r\n this.dataSource.data = data;\r\n this.updateValue( data );\r\n } \r\n );\r\n\r\n }\r\n\r\n public onSubmit(directivaFormulario: FormGroupDirective): void {\r\n const data = this.formularioDatos.value;\r\n\r\n const dataCreate: StudentModel = {\r\n ...data, \r\n id: UniqueIdGenerator.generate(),\r\n }\r\n \r\n this._addElement.next( dataCreate );\r\n \r\n directivaFormulario.resetForm();\r\n }\r\n\r\n public delete(data: string): void {\r\n this._deleteElement.next( data );\r\n }\r\n\r\n private updateValue( list: StudentModel[] ): void {\r\n this.sfcontrol.markAsDirty();\r\n this.sfcontrol.setValue(list.map( i => JSON.stringify(i)).join('#'));\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n this._finisher.next();\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","module.exports = \"/*:host{\\n width: 100%;\\n display: flex;\\n align-items: flex-end;\\n input{\\n width: 100%;\\n }\\n}*/\\n:host {\\n grid-column: span 2;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXRleHRhcmVhL0Q6XFxGaXJtYXNEaWdpdGFsZXNGcm9udC9zcmNcXGFwcFxcc2hhcmVkXFxjb21tb24tY29udHJvbHNcXGNvbnRyb2wtdGV4dGFyZWFcXGNvbnRyb2wtdGV4dGFyZWEuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC10ZXh0YXJlYS9jb250cm9sLXRleHRhcmVhLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0VBQUE7QUFTQTtFQUNJLG1CQUFBO0FDQUoiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvY29tbW9uLWNvbnRyb2xzL2NvbnRyb2wtdGV4dGFyZWEvY29udHJvbC10ZXh0YXJlYS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qOmhvc3R7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICBpbnB1dHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufSovXHJcblxyXG46aG9zdCB7XHJcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xyXG59IiwiLyo6aG9zdHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBpbnB1dHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufSovXG46aG9zdCB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDI7XG59Il19 */\"","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\n\r\n@Component({\r\n selector: 'control-text-area',\r\n templateUrl: './control-textarea.component.html',\r\n styleUrls: ['./control-textarea.component.scss'],\r\n})\r\nexport class ControlTextAreaComponent{\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n @Output('blurAction') _blurAction: EventEmitter = new EventEmitter();\r\n @Output('enterKey') _enterKey: EventEmitter = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}","module.exports = \":host {\\n width: 100%;\\n height: 4rem;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: end;\\n align-items: flex-end;\\n}\\n:host input {\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9jb250cm9sLXRpbWUvRDpcXEZpcm1hc0RpZ2l0YWxlc0Zyb250L3NyY1xcYXBwXFxzaGFyZWRcXGNvbW1vbi1jb250cm9sc1xcY29udHJvbC10aW1lXFxjb250cm9sLXRpbWUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC10aW1lL2NvbnRyb2wtdGltZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7RUFBQSxhQUFBO0VBQ0Esc0JBQUE7VUFBQSxxQkFBQTtBQ0NKO0FEQ0k7RUFDSSxXQUFBO0FDQ1IiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvY29tbW9uLWNvbnRyb2xzL2NvbnRyb2wtdGltZS9jb250cm9sLXRpbWUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA0cmVtO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuXHJcbiAgICBpbnB1dHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiOmhvc3Qge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG46aG9zdCBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufSJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\n\r\n@Component({\r\n selector: 'control-time',\r\n templateUrl: './control-time.component.html',\r\n styleUrls: ['./control-time.component.scss']\r\n})\r\nexport class ControlTimeComponent implements OnInit {\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n @Output('blurAction') _blurAction: EventEmitter = new EventEmitter();\r\n @Output('enterKey') _enterKey: EventEmitter = new EventEmitter();\r\n\r\n hidden\r\n constructor() { }\r\n\r\n ngOnInit() { \r\n this.hidden=true\r\n }\r\n\r\n}\r\n\r\n\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvY29udHJvbC11cGxvYWQvY29udHJvbC11cGxvYWQuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\n@Component({\r\n selector: 'control-upload',\r\n templateUrl: './control-upload.component.html',\r\n styleUrls: ['./control-upload.component.scss']\r\n})\r\nexport class ControlUploadComponent implements OnInit {\r\n @Input('sfcontrol') _sfcontrol: SpecialFormControl;\r\n\r\n constructor(\r\n ) { }\r\n\r\n ngOnInit() {}\r\n\r\n onSelect(event) {\r\n this._sfcontrol.setValue([...this._sfcontrol.value, ...event.addedFiles])\r\n }\r\n\r\n onRemove(event) {\r\n const currentFiles = this._sfcontrol.value;\r\n currentFiles.splice(currentFiles.indexOf(event), 1);\r\n this._sfcontrol.setValue(currentFiles);\r\n }\r\n\r\n}\r\n","module.exports = \".contenedor {\\n width: 300px;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n -webkit-box-align: center;\\n align-items: center;\\n}\\n.contenedor .selector {\\n width: 100%;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n flex-direction: row;\\n font-size: 0.8rem;\\n -webkit-box-pack: justify;\\n justify-content: space-between;\\n}\\n.contenedor .selector .etiqueta {\\n -webkit-box-flex: 1;\\n flex: 1;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n border-radius: 5px;\\n padding-left: 10px;\\n border: 1px darkslategray solid;\\n color: black;\\n}\\n.contenedor .selector button {\\n margin-left: 5px;\\n}\\n.contenedor .image {\\n display: -webkit-box;\\n display: flex;\\n justify-items: center;\\n box-sizing: border-box;\\n background-color: lavender;\\n min-height: 200px;\\n min-width: 100px;\\n margin-top: 10px;\\n border: 2px darkgrey solid;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9pbWFnZS1waWNrZXIvRDpcXEZpcm1hc0RpZ2l0YWxlc0Zyb250L3NyY1xcYXBwXFxzaGFyZWRcXGNvbW1vbi1jb250cm9sc1xcaW1hZ2UtcGlja2VyXFxpbWFnZS1waWNrZXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvaW1hZ2UtcGlja2VyL2ltYWdlLXBpY2tlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO1VBQUEsc0JBQUE7RUFDQSx5QkFBQTtVQUFBLG1CQUFBO0FDQ0o7QURBSTtFQUNJLFdBQUE7RUFDQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw4QkFBQTtFQUFBLDZCQUFBO1VBQUEsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLHlCQUFBO1VBQUEsOEJBQUE7QUNFUjtBRERRO0VBQ0ksbUJBQUE7VUFBQSxPQUFBO0VBQ0Esb0JBQUE7RUFBQSxhQUFBO0VBQ0EseUJBQUE7VUFBQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSwrQkFBQTtFQUNBLFlBQUE7QUNHWjtBRERRO0VBQ0ksZ0JBQUE7QUNHWjtBRENJO0VBQ0ksb0JBQUE7RUFBQSxhQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLDBCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsMEJBQUE7QUNDUiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvaW1hZ2UtcGlja2VyL2ltYWdlLXBpY2tlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb250ZW5lZG9yIHtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC5zZWxlY3RvciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAuZXRpcXVldGEge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgICAgICAgICBcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggZGFya3NsYXRlZ3JheSBzb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGF2ZW5kZXI7XHJcbiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMnB4IGRhcmtncmV5IHNvbGlkO1xyXG4gICAgfVxyXG5cclxufSIsIi5jb250ZW5lZG9yIHtcbiAgd2lkdGg6IDMwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmNvbnRlbmVkb3IgLnNlbGVjdG9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uY29udGVuZWRvciAuc2VsZWN0b3IgLmV0aXF1ZXRhIHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGJvcmRlcjogMXB4IGRhcmtzbGF0ZWdyYXkgc29saWQ7XG4gIGNvbG9yOiBibGFjaztcbn1cbi5jb250ZW5lZG9yIC5zZWxlY3RvciBidXR0b24ge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuLmNvbnRlbmVkb3IgLmltYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsYXZlbmRlcjtcbiAgbWluLWhlaWdodDogMjAwcHg7XG4gIG1pbi13aWR0aDogMTAwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGJvcmRlcjogMnB4IGRhcmtncmV5IHNvbGlkO1xufSJdfQ== */\"","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { ControlFormsService } from '@services/control-forms.service';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\nconst AVATAR = 'data:image/jpeg;base64,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'\r\n\r\nconst MAX_HEIGHT = 300;\r\nconst MAX_WIDTH = 300;\r\n\r\n@Component({\r\n selector: 'app-control-imagen',\r\n templateUrl: './image-picker.component.html',\r\n styleUrls: ['./image-picker.component.scss']\r\n})\r\nexport class ImagePickerComponent implements OnInit {\r\n\r\n @Input()\r\n set imageData(image: string) {\r\n if (image) {\r\n fetch(image)\r\n .then( (response: Response) => {\r\n const index = response.url.lastIndexOf('/');\r\n const imageName = response.url.slice(index + 1);\r\n return response.blob().then( dataBlob => ({blob: dataBlob, name: imageName}) );\r\n } )\r\n .then( data => this.uploadImage( new File( [data.blob], data.name ) ) )\r\n .then( imagen => this._imageData = imagen )\r\n \r\n } else {\r\n this._imageData = AVATAR;\r\n }\r\n //this._imageData = image ? image : AVATAR;\r\n }\r\n\r\n get imageData(): string { return this._imageData; }\r\n\r\n @Input()\r\n set maxHeight(value: number) {\r\n this._maxHeight = value ? value : MAX_HEIGHT;\r\n }\r\n\r\n @Input()\r\n set maxWidth(value: number) {\r\n this._maxWidth = value ? value : MAX_WIDTH;\r\n }\r\n\r\n @Input() hidding: boolean = false;\r\n\r\n\r\n\r\n @Output() imageDataReturned = new EventEmitter();\r\n\r\n private _imageData: string = AVATAR;\r\n private _maxHeight: number = MAX_HEIGHT;\r\n private _maxWidth: number = MAX_WIDTH;\r\n\r\n private _finisher = new Subject();\r\n\r\n constructor(\r\n private _controlFormsService: ControlFormsService,\r\n\r\n ) { \r\n this._controlFormsService.itemValueImagePicker.pipe(takeUntil(this._finisher)).subscribe((nextValue) => {\r\n if(!nextValue){\r\n this.hidding = true;\r\n }\r\n }); \r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n triggerImageUpload(data: HTMLInputElement): void {\r\n data.click();\r\n }\r\n\r\n inputChange(imageFile: File): void {\r\n if (imageFile) {\r\n this.uploadImage(imageFile)\r\n .then( i => {\r\n this.imageData = i;\r\n this.imageDataReturned.emit(i);\r\n })\r\n }\r\n }\r\n\r\n private uploadImage(image: File): Promise {\r\n return new Promise( (acept, reject) => {\r\n const fileReader = new FileReader();\r\n fileReader.readAsDataURL(image);\r\n fileReader.onload = () => {\r\n this.scaleImage(fileReader.result as string).then( imgModificada => acept(imgModificada) )\r\n };\r\n fileReader.onerror = (error) => reject(error);\r\n });\r\n }\r\n\r\n // Reescala el tamaño seleccionado según los valores suministrados\r\n private scaleImage( image: string ): Promise {\r\n return new Promise( (acept, reject) => {\r\n const canvas: HTMLCanvasElement = document.createElement('canvas');\r\n const ctx = canvas.getContext('2d');\r\n const img = new Image();\r\n img.src = image;\r\n img.onload = () => {\r\n\r\n let width = img.width;\r\n let height = img.height;\r\n if (width > height) {\r\n if (width > this._maxWidth) {\r\n const aspectRatio = height / width;\r\n height = this._maxWidth * aspectRatio;\r\n width = this._maxWidth;\r\n }\r\n } else {\r\n if (height > this._maxHeight) {\r\n const aspectRatio = width / height;\r\n height = this._maxHeight;\r\n width = this._maxHeight * aspectRatio;\r\n }\r\n }\r\n canvas.height = height;\r\n canvas.width = width;\r\n ctx.drawImage(img, 0, 0, width, height);\r\n const imageText = canvas.toDataURL('image/jpeg', 0.8);\r\n acept(imageText);\r\n\r\n };\r\n img.onerror = () => reject('Error en reescalado de imagen');\r\n\r\n } );\r\n }\r\n\r\n\r\n}\r\n","module.exports = \".contenedor {\\n box-sizing: border-box;\\n display: -webkit-box;\\n display: flex;\\n justify-content: space-around;\\n -webkit-box-align: center;\\n align-items: center;\\n height: 200px;\\n width: 100%;\\n}\\n.contenedor #left {\\n width: 35%;\\n height: 100%;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n}\\n.contenedor #left .search-field {\\n width: 100%;\\n}\\n.contenedor #left .mat-list {\\n overflow: auto;\\n box-sizing: border-box;\\n margin: 0;\\n width: 100%;\\n height: 100%;\\n border: 3px lightgrey solid;\\n}\\n.contenedor .mat-list {\\n overflow: auto;\\n box-sizing: border-box;\\n margin: 0;\\n width: 35%;\\n height: 100%;\\n border: 3px lightgrey solid;\\n}\\n.contenedor mat-list-option {\\n height: 26px;\\n font-size: smaller;\\n}\\n.contenedor .contenedor-botones {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n justify-content: space-around;\\n height: 100px;\\n}\\n.contenedor-special {\\n box-sizing: border-box;\\n display: -webkit-box;\\n display: flex;\\n /* justify-content: space-around;\\n align-items: center; */\\n height: 200px;\\n width: 100%;\\n margin-top: 1rem;\\n}\\n.contenedor-special mat-selection-list {\\n overflow: auto;\\n box-sizing: border-box;\\n margin: 0;\\n width: 50%;\\n height: 100%;\\n border: 3px lightgrey solid;\\n}\\n.contenedor-special .contenedor-botones {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n justify-content: space-around;\\n height: 100px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbW1vbi1jb250cm9scy9waWNrLXRhYmxlL0Q6XFxGaXJtYXNEaWdpdGFsZXNGcm9udC9zcmNcXGFwcFxcc2hhcmVkXFxjb21tb24tY29udHJvbHNcXHBpY2stdGFibGVcXHBpY2stdGFibGUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb21tb24tY29udHJvbHMvcGljay10YWJsZS9waWNrLXRhYmxlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksc0JBQUE7RUFDQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw2QkFBQTtFQUNBLHlCQUFBO1VBQUEsbUJBQUE7RUFDQSxhQUFBO0VBQ0EsV0FBQTtBQ0NKO0FEQ0k7RUFDSSxVQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLDRCQUFBO0VBQUEsNkJBQUE7VUFBQSxzQkFBQTtBQ0NSO0FEQVE7RUFDSSxXQUFBO0FDRVo7QURBUTtFQUNJLGNBQUE7RUFDQSxzQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLDJCQUFBO0FDRVo7QURFSTtFQUNJLGNBQUE7RUFDQSxzQkFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtFQUNBLDJCQUFBO0FDQVI7QURHSTtFQUNJLFlBQUE7RUFDQSxrQkFBQTtBQ0RSO0FESUk7RUFDSSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO1VBQUEsc0JBQUE7RUFDQSw2QkFBQTtFQUNBLGFBQUE7QUNGUjtBRE9BO0VBQ0ksc0JBQUE7RUFDQSxvQkFBQTtFQUFBLGFBQUE7RUFDQTt3QkFBQTtFQUVBLGFBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7QUNKSjtBREtJO0VBQ0ksY0FBQTtFQUNBLHNCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0VBQ0EsMkJBQUE7QUNIUjtBREtJO0VBQ0ksb0JBQUE7RUFBQSxhQUFBO0VBQ0EsNEJBQUE7RUFBQSw2QkFBQTtVQUFBLHNCQUFBO0VBQ0EsNkJBQUE7RUFDQSxhQUFBO0FDSFIiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvY29tbW9uLWNvbnRyb2xzL3BpY2stdGFibGUvcGljay10YWJsZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb250ZW5lZG9yIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiAyMDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgXHJcbiAgICAjbGVmdCB7XHJcbiAgICAgICAgd2lkdGg6IDM1JTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIC5zZWFyY2gtZmllbGQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1hdC1saXN0IHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYm9yZGVyOiAzcHggbGlnaHRncmV5IHNvbGlkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWF0LWxpc3Qge1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJvcmRlcjogM3B4IGxpZ2h0Z3JleSBzb2xpZDtcclxuICAgIH1cclxuXHJcbiAgICBtYXQtbGlzdC1vcHRpb24ge1xyXG4gICAgICAgIGhlaWdodDogMjZweDtcclxuICAgICAgICBmb250LXNpemU6IHNtYWxsZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbmVkb3ItYm90b25lcyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uY29udGVuZWRvci1zcGVjaWFsIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLyoganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyAqL1xyXG4gICAgaGVpZ2h0OiAyMDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgIG1hdC1zZWxlY3Rpb24tbGlzdCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYm9yZGVyOiAzcHggbGlnaHRncmV5IHNvbGlkO1xyXG4gICAgfVxyXG4gICAgLmNvbnRlbmVkb3ItYm90b25lcyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICB9XHJcbn0iLCIuY29udGVuZWRvciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDIwMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5jb250ZW5lZG9yICNsZWZ0IHtcbiAgd2lkdGg6IDM1JTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmNvbnRlbmVkb3IgI2xlZnQgLnNlYXJjaC1maWVsZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmNvbnRlbmVkb3IgI2xlZnQgLm1hdC1saXN0IHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiAzcHggbGlnaHRncmV5IHNvbGlkO1xufVxuLmNvbnRlbmVkb3IgLm1hdC1saXN0IHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDM1JTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDNweCBsaWdodGdyZXkgc29saWQ7XG59XG4uY29udGVuZWRvciBtYXQtbGlzdC1vcHRpb24ge1xuICBoZWlnaHQ6IDI2cHg7XG4gIGZvbnQtc2l6ZTogc21hbGxlcjtcbn1cbi5jb250ZW5lZG9yIC5jb250ZW5lZG9yLWJvdG9uZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgaGVpZ2h0OiAxMDBweDtcbn1cblxuLmNvbnRlbmVkb3Itc3BlY2lhbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAqL1xuICBoZWlnaHQ6IDIwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cbi5jb250ZW5lZG9yLXNwZWNpYWwgbWF0LXNlbGVjdGlvbi1saXN0IHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDNweCBsaWdodGdyZXkgc29saWQ7XG59XG4uY29udGVuZWRvci1zcGVjaWFsIC5jb250ZW5lZG9yLWJvdG9uZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgaGVpZ2h0OiAxMDBweDtcbn0iXX0= */\"","import { Component, OnInit, Input, Output, EventEmitter, SimpleChanges, OnChanges, ChangeDetectionStrategy } from '@angular/core';\r\nimport { MatSelectionList, MatListOption } from '@angular/material/list';\r\nimport { FormControl } from '@angular/forms';\r\nimport { startWith, debounceTime, map, filter, takeUntil } from 'rxjs/operators';\r\nimport { isNullOrUndefined } from 'util';\r\nimport { SpecialFormControl } from '@utilities/SpecialForms';\r\nimport { ControlFormsService } from '@services/control-forms.service';\r\nimport { Subject } from 'rxjs';\r\n\r\nexport interface DataList {\r\n id: string;\r\n element: string;\r\n}\r\n\r\n// dev 7.0\r\n\r\n@Component({\r\n selector: 'app-pick-table',\r\n templateUrl: './pick-table.component.html',\r\n styleUrls: ['./pick-table.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n \r\n})\r\nexport class PickTableComponent implements OnInit {\r\n\r\n // Elementos a seleccionar\r\n @Input('data') \r\n set leftListBase( lista: DataList[] ) {\r\n lista.sort( (a,b) => {\r\n if (a.element.trim() > b.element.trim()) {\r\n return 1;\r\n }\r\n if (a.element.trim() < b.element.trim()) {\r\n return -1;\r\n }\r\n return 0;\r\n } \r\n );\r\n this.inputArray = [...lista];\r\n this.inputProcessor();\r\n }\r\n\r\n // Cadena de texto con elementos separados por coma\r\n @Input('dataSelected') \r\n set dataTextInput(list: string) {\r\n this.inputString = list;\r\n this.inputProcessor();\r\n }\r\n\r\n\r\n @Input(\"sfControlData\")\r\n set sfControlData(control: SpecialFormControl) {\r\n this.sfControlData2 = control;\r\n let value = this.sfControlData2.value;\r\n if(value){\r\n let keys = value.split(\",\");\r\n if(keys){\r\n this.requirementsSelected = keys;\r\n }\r\n }\r\n }\r\n\r\n\r\n // Emite la lista de elementos seleccionados\r\n @Output() selectedItems = new EventEmitter();\r\n\r\n public searchField = new FormControl('');\r\n\r\n public inputString: string;\r\n\r\n public inputArray: DataList[] = [];\r\n\r\n leftList: DataList[] = [];\r\n\r\n leftListShow: DataList[] = [];\r\n\r\n rightList: DataList[] = [];\r\n\r\n public sfControlData2: SpecialFormControl;\r\n\r\n public requirementsSelected: string[] = [];\r\n\r\n private _finisher = new Subject();\r\n\r\n @Input() hidding: boolean = false;\r\n\r\n constructor(\r\n private _controlFormsService: ControlFormsService,\r\n ) {\r\n\r\n this._controlFormsService.itemValuePickList.pipe(takeUntil(this._finisher)).subscribe((nextValue) => {\r\n if(!nextValue){\r\n this.hidding = true;\r\n this.searchField.disable();\r\n }\r\n });\r\n\r\n \r\n \r\n }\r\n\r\n ngOnInit() {\r\n \r\n\r\n this.searchField.valueChanges\r\n .pipe(\r\n debounceTime( 200 )\r\n ).subscribe( item => {\r\n if (item) {\r\n this.leftListShow = this.leftList.filter( i => i.element.includes( item.toUpperCase() ) ); \r\n } else {\r\n this.leftListShow = [...this.leftList];\r\n }\r\n \r\n } \r\n );\r\n\r\n }\r\n\r\n private inputProcessor() {\r\n if (this.inputArray.length > 0 ) {\r\n this.leftList = [...this.inputArray];\r\n this.leftListShow = [...this.leftList];\r\n if (this.inputString) {\r\n this.rightList = this.processSelectedItemsInput(this.inputString, this.leftList);\r\n this.deleteItemsLeftList(); \r\n }\r\n }\r\n }\r\n\r\n\r\n // this.processSelectedTeachersInput(datos, this.data) )\r\n movData( entryList: MatSelectionList, add: boolean ) {\r\n const elements: MatListOption[] = entryList.selectedOptions.selected;\r\n if (add) {\r\n this.auxMovData(elements, this.leftList, this.rightList);\r\n } else {\r\n this.auxMovData(elements, this.rightList, this.leftList );\r\n }\r\n this.selectedItems.emit( this.processSelectedItemsOutput(this.rightList) );\r\n this.searchField.reset();\r\n }\r\n\r\n private auxMovData( dataEntry: MatListOption[], source: DataList[], target: DataList[] ) {\r\n dataEntry.forEach( item => {\r\n const idData = item.value as string;\r\n const name = item.getLabel() as string;\r\n const data: DataList = {id: idData, element: name};\r\n target.push(data);\r\n const indexItemDelete = source.findIndex( elemento => elemento.id === idData);\r\n source.splice(indexItemDelete, 1);\r\n });\r\n }\r\n\r\n private deleteItemsLeftList() {\r\n if ( this.rightList && this.rightList.length > 0 ) {\r\n for (const item of this.rightList) {\r\n const indexItemDelete = this.leftList.findIndex( elemento => elemento.id === item.id);\r\n this.leftList.splice(indexItemDelete, 1);\r\n }\r\n }\r\n }\r\n\r\n private processSelectedItemsOutput(inputData: DataList[]): string {\r\n if (inputData.length > 0) {\r\n return inputData.map( i => i.id ).join();\r\n }\r\n return '';\r\n }\r\n\r\n // Convierte los elementos de texto de entrada en\r\n // un arreglo de DataList para ser desplegados\r\n // en la lista derecha\r\n private processSelectedItemsInput(inputData: string, teacherList: DataList[]): DataList[] {\r\n const result: DataList[] = [];\r\n if (inputData && inputData.length > 0) {\r\n const arrayText = inputData.split(',');\r\n arrayText.map( i => {\r\n const element: DataList = teacherList.find(t => t.id === i);\r\n if (element) {\r\n result.push(element);\r\n }\r\n });\r\n }\r\n return result;\r\n }\r\n\r\n compareFn(o1: any, o2: any) {\r\n return o1 && o2 ? o1.id === o2.id : o1 === o2;\r\n }\r\n\r\n onSelection(v){\r\n let arraySelected = v.selected.map(item => item.value);\r\n this.selectedItems.emit(arraySelected.join());\r\n }\r\n\r\n}\r\n","module.exports = \".alert-body {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n height: 200px;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n width: 100%;\\n}\\n\\n.button-container {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n width: 100%;\\n}\\n\\n.button-container button {\\n margin: 0 8px;\\n}\\n\\n.app-container-tab {\\n box-sizing: border-box;\\n background-color: #eee;\\n width: 100%;\\n padding: 10px;\\n}\\n\\n.mat-card-title {\\n text-align: center;\\n margin-bottom: 2rem;\\n}\\n\\n.btn-style {\\n width: 50%;\\n max-width: 10rem;\\n margin: 0 1%;\\n}\\n\\n.mat-chip.mat-standard-chip.warning {\\n background-color: #FFD740;\\n color: #ffffff;\\n}\\n\\n.mat-chip.mat-standard-chip.danger {\\n background-color: #f44336;\\n color: #ffffff;\\n}\\n\\n.mat-chip.mat-standard-chip.success {\\n background-color: #3BD136;\\n color: #ffffff;\\n}\\n\\n.mat-chip.mat-standard-chip.info {\\n background-color: #00a9e0;\\n color: #ffffff;\\n}\\n\\n.mr {\\n margin-right: 1em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbmZpcm1hdGlvbi1kaWFsb2cvRDpcXEZpcm1hc0RpZ2l0YWxlc0Zyb250L3NyY1xcYXBwXFxzaGFyZWRcXGNvbmZpcm1hdGlvbi1kaWFsb2dcXGNvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx3QkFBQTtVQUFBLHVCQUFBO0VBQ0EseUJBQUE7VUFBQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO1VBQUEsc0JBQUE7RUFDQSxXQUFBO0FDQ0o7O0FEQ0E7RUFDSSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx3QkFBQTtVQUFBLHVCQUFBO0VBQ0EseUJBQUE7VUFBQSxtQkFBQTtFQUNBLFdBQUE7QUNFSjs7QURESTtFQUNJLGFBQUE7QUNHUjs7QURDQTtFQUNJLHNCQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtBQ0VKOztBREFBO0VBQ0ksa0JBQUE7RUFDQSxtQkFBQTtBQ0dKOztBRERBO0VBQ0ksVUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtBQ0lKOztBRERBO0VBQ0kseUJBQUE7RUFDQSxjQUFBO0FDSUo7O0FERkE7RUFDSSx5QkFBQTtFQUNBLGNBQUE7QUNLSjs7QURIQTtFQUNJLHlCQUFBO0VBQ0EsY0FBQTtBQ01KOztBREpBO0VBQ0kseUJBQUE7RUFDQSxjQUFBO0FDT0o7O0FESkE7RUFDSSxpQkFBQTtBQ09KIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hbGVydC1ib2R5e1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmJ1dHRvbi1jb250YWluZXJ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBidXR0b257XHJcbiAgICAgICAgbWFyZ2luOiAwIDhweDtcclxuICAgIH1cclxufVxyXG5cclxuLmFwcC1jb250YWluZXItdGFiIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcbi5tYXQtY2FyZC10aXRsZXtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbn1cclxuLmJ0bi1zdHlsZXtcclxuICAgIHdpZHRoOjUwJTtcclxuICAgIG1heC13aWR0aDogMTByZW07XHJcbiAgICBtYXJnaW46IDAgMSU7XHJcbn1cclxuXHJcbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC53YXJuaW5ne1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojRkZENzQwO1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLmRhbmdlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzY7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG4ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAuc3VjY2VzcyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMzQkQxMzY7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG4ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAuaW5mb3tcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzAwYTllMDtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcblxyXG4ubXJ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcclxufSIsIi5hbGVydC1ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMjAwcHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cbi5idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG4gIG1hcmdpbjogMCA4cHg7XG59XG5cbi5hcHAtY29udGFpbmVyLXRhYiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4ubWF0LWNhcmQtdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5idG4tc3R5bGUge1xuICB3aWR0aDogNTAlO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBtYXJnaW46IDAgMSU7XG59XG5cbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRDc0MDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0JEMTM2O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLmluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhOWUwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLm1yIHtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG59Il19 */\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'confirmation-dialog',\r\n templateUrl: './confirmation-dialog.component.html',\r\n styleUrls: ['./confirmation-dialog.component.scss']\r\n})\r\nexport class ConfirmationDialogComponent implements OnInit {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {}\r\n\r\n close(): void {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n accept(){\r\n this.dialogRef.close(true);\r\n }\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".alert-body {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n height: 200px;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n width: 100%;\\n}\\n\\n.button-container {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n width: 100%;\\n}\\n\\n.button-container button {\\n margin: 0 8px;\\n}\\n\\n.app-container-tab {\\n box-sizing: border-box;\\n background-color: #eee;\\n width: 100%;\\n padding: 10px;\\n}\\n\\n.mat-card-title {\\n text-align: center;\\n margin-bottom: 2rem;\\n}\\n\\n.btn-style {\\n width: 50%;\\n max-width: 10rem;\\n margin: 0 1%;\\n}\\n\\n.mat-chip.mat-standard-chip.warning {\\n background-color: #FFD740;\\n color: #ffffff;\\n}\\n\\n.mat-chip.mat-standard-chip.danger {\\n background-color: #f44336;\\n color: #ffffff;\\n}\\n\\n.mat-chip.mat-standard-chip.success {\\n background-color: #3BD136;\\n color: #ffffff;\\n}\\n\\n.mat-chip.mat-standard-chip.info {\\n background-color: #00a9e0;\\n color: #ffffff;\\n}\\n\\n.mr {\\n margin-right: 1em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2RlbGV0ZS1kaWFsb2cvRDpcXEZpcm1hc0RpZ2l0YWxlc0Zyb250L3NyY1xcYXBwXFxzaGFyZWRcXGRlbGV0ZS1kaWFsb2dcXGRlbGV0ZS1kaWFsb2cuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9kZWxldGUtZGlhbG9nL2RlbGV0ZS1kaWFsb2cuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx3QkFBQTtVQUFBLHVCQUFBO0VBQ0EseUJBQUE7VUFBQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO1VBQUEsc0JBQUE7RUFDQSxXQUFBO0FDQ0o7O0FEQ0E7RUFDSSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx3QkFBQTtVQUFBLHVCQUFBO0VBQ0EseUJBQUE7VUFBQSxtQkFBQTtFQUNBLFdBQUE7QUNFSjs7QURESTtFQUNJLGFBQUE7QUNHUjs7QURDQTtFQUNJLHNCQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtBQ0VKOztBREFBO0VBQ0ksa0JBQUE7RUFDQSxtQkFBQTtBQ0dKOztBRERBO0VBQ0ksVUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtBQ0lKOztBRERBO0VBQ0kseUJBQUE7RUFDQSxjQUFBO0FDSUo7O0FERkE7RUFDSSx5QkFBQTtFQUNBLGNBQUE7QUNLSjs7QURIQTtFQUNJLHlCQUFBO0VBQ0EsY0FBQTtBQ01KOztBREpBO0VBQ0kseUJBQUE7RUFDQSxjQUFBO0FDT0o7O0FESkE7RUFDSSxpQkFBQTtBQ09KIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2RlbGV0ZS1kaWFsb2cvZGVsZXRlLWRpYWxvZy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hbGVydC1ib2R5e1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmJ1dHRvbi1jb250YWluZXJ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBidXR0b257XHJcbiAgICAgICAgbWFyZ2luOiAwIDhweDtcclxuICAgIH1cclxufVxyXG5cclxuLmFwcC1jb250YWluZXItdGFiIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcbi5tYXQtY2FyZC10aXRsZXtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbn1cclxuLmJ0bi1zdHlsZXtcclxuICAgIHdpZHRoOjUwJTtcclxuICAgIG1heC13aWR0aDogMTByZW07XHJcbiAgICBtYXJnaW46IDAgMSU7XHJcbn1cclxuXHJcbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC53YXJuaW5ne1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojRkZENzQwO1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLmRhbmdlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzY7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG4ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAuc3VjY2VzcyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMzQkQxMzY7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG4ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAuaW5mb3tcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzAwYTllMDtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcblxyXG4ubXJ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcclxufSIsIi5hbGVydC1ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMjAwcHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cbi5idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG4gIG1hcmdpbjogMCA4cHg7XG59XG5cbi5hcHAtY29udGFpbmVyLXRhYiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4ubWF0LWNhcmQtdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5idG4tc3R5bGUge1xuICB3aWR0aDogNTAlO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBtYXJnaW46IDAgMSU7XG59XG5cbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRDc0MDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0JEMTM2O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLmluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhOWUwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLm1yIHtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG59Il19 */\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'delete-dialog',\r\n templateUrl: './delete-dialog.component.html',\r\n styleUrls: ['./delete-dialog.component.scss']\r\n})\r\nexport class DeleteDialogComponent implements OnInit {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {}\r\n\r\n close(): void {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n accept(){\r\n this.dialogRef.close(true);\r\n }\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".alert-body {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n height: 200px;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n}\\n\\n.button-container {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n width: 100%;\\n}\\n\\n.button-container button {\\n margin: 0 8px;\\n}\\n\\n.app-container-tab {\\n box-sizing: border-box;\\n background-color: #eee;\\n width: 100%;\\n padding: 10px;\\n}\\n\\n.mat-card-title {\\n text-align: center;\\n margin-bottom: 2rem;\\n}\\n\\n.btn-style {\\n width: 50%;\\n max-width: 10rem;\\n margin: 0 1%;\\n}\\n\\n.mat-chip.mat-standard-chip.warning {\\n background-color: #FFD740;\\n color: #ffffff;\\n}\\n\\n.mat-chip.mat-standard-chip.danger {\\n background-color: #f44336;\\n color: #ffffff;\\n}\\n\\n.mat-chip.mat-standard-chip.success {\\n background-color: #3BD136;\\n color: #ffffff;\\n}\\n\\n.mat-chip.mat-standard-chip.info {\\n background-color: #00a9e0;\\n color: #ffffff;\\n}\\n\\n.mr {\\n margin-right: 1em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2ZpbGVzLWRpYWxvZy9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3JjXFxhcHBcXHNoYXJlZFxcZmlsZXMtZGlhbG9nXFxmaWxlcy1kaWFsb2cuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9maWxlcy1kaWFsb2cvZmlsZXMtZGlhbG9nLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksb0JBQUE7RUFBQSxhQUFBO0VBQ0Esd0JBQUE7VUFBQSx1QkFBQTtFQUNBLHlCQUFBO1VBQUEsbUJBQUE7RUFDQSxhQUFBO0VBQ0EsNEJBQUE7RUFBQSw2QkFBQTtVQUFBLHNCQUFBO0FDQ0o7O0FERUE7RUFDSSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx3QkFBQTtVQUFBLHVCQUFBO0VBQ0EseUJBQUE7VUFBQSxtQkFBQTtFQUNBLFdBQUE7QUNDSjs7QURBSTtFQUNJLGFBQUE7QUNFUjs7QURFQTtFQUNJLHNCQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtBQ0NKOztBRENBO0VBQ0ksa0JBQUE7RUFDQSxtQkFBQTtBQ0VKOztBREFBO0VBQ0ksVUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtBQ0dKOztBREFBO0VBQ0kseUJBQUE7RUFDQSxjQUFBO0FDR0o7O0FEREE7RUFDSSx5QkFBQTtFQUNBLGNBQUE7QUNJSjs7QURGQTtFQUNJLHlCQUFBO0VBQ0EsY0FBQTtBQ0tKOztBREhBO0VBQ0kseUJBQUE7RUFDQSxjQUFBO0FDTUo7O0FESEE7RUFDSSxpQkFBQTtBQ01KIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2ZpbGVzLWRpYWxvZy9maWxlcy1kaWFsb2cuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYWxlcnQtYm9keXtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIFxyXG59XHJcbi5idXR0b24tY29udGFpbmVye1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYnV0dG9ue1xyXG4gICAgICAgIG1hcmdpbjogMCA4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hcHAtY29udGFpbmVyLXRhYiB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG4ubWF0LWNhcmQtdGl0bGV7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG59XHJcbi5idG4tc3R5bGV7XHJcbiAgICB3aWR0aDo1MCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwcmVtO1xyXG4gICAgbWFyZ2luOiAwIDElO1xyXG59XHJcblxyXG4ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAud2FybmluZ3tcclxuICAgIGJhY2tncm91bmQtY29sb3I6I0ZGRDc0MDtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5kYW5nZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLnN1Y2Nlc3Mge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojM0JEMTM2O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLmluZm97XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMwMGE5ZTA7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuLm1ye1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XHJcbn0iLCIuYWxlcnQtYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDIwMHB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cbi5idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG4gIG1hcmdpbjogMCA4cHg7XG59XG5cbi5hcHAtY29udGFpbmVyLXRhYiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4ubWF0LWNhcmQtdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5idG4tc3R5bGUge1xuICB3aWR0aDogNTAlO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBtYXJnaW46IDAgMSU7XG59XG5cbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRDc0MDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0JEMTM2O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLmluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhOWUwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLm1yIHtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG59Il19 */\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'files-dialog',\r\n templateUrl: './files-dialog.component.html',\r\n styleUrls: ['./files-dialog.component.scss']\r\n})\r\nexport class FilesDialogComponent implements OnInit {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {}\r\n\r\n\r\n accept(){\r\n this.dialogRef.close(true);\r\n }\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { AppContainerComponent } from './app-container/app-container.component';\r\nimport { ControlDatepickerComponent } from './common-controls/control-datepicker/control-datepicker.component';\r\nimport { ControlTextAreaComponent } from './common-controls/control-textarea/control-textarea.component';\r\nimport { ControlInputComponent } from './common-controls/control-input/control-input.component';\r\nimport { ControlCheckboxComponent } from './common-controls/control-checkbox/control-checkbox.component';\r\nimport { ControlSelectComponent } from './common-controls/control-select/control-select.component';\r\nimport { ControlSelectMultipleComponent } from './common-controls/control-select-multiple/control-select-multiple.component';\r\nimport { ControlAutocompleteComponent } from './common-controls/control-autocomplete/control-autocomplete.component';\r\nimport { AutomaticFormsComponent } from './automatic-forms/automatic-forms.component';\r\nimport { ListTableComponent, getCellDataPipe, orderTableColumns } from './list-table/list-table.component';\r\nimport { LoginFormComponent } from './login-form/login-form.component';\r\nimport { ControlChipsComponent } from './common-controls/control-chips/control-chips.component';\r\nimport { ControlChipsTextComponent } from './common-controls/control-chips-text/control-chips-text.component';\r\nimport { ControlUploadComponent } from './common-controls/control-upload/control-upload.component';\r\nimport { ConfirmationDialogComponent } from './confirmation-dialog/confirmation-dialog.component';\r\nimport { ControlMaskedInputComponent } from './common-controls/control-masked-input/control-masked-input.component';\r\nimport { ControlReadOnlyComponent } from './common-controls/control-read-only/control-read-only.component';\r\nimport { AttachmentComponent } from './attachment/attachment.component';\r\nimport { DeleteDialogComponent } from './delete-dialog/delete-dialog.component';\r\n// import { ControlTimepickerComponent } from './common-controls/control-timepicker/control-timepicker.component'\r\nimport { IconsByTypePipe } from './attachment/icons-by-type.pipe';\r\nimport { ControlRichTextComponent } from './common-controls/control-richtext/control-richtext.component';\r\n\r\n// Componente base del control ControlPickList\r\nimport { PickTableComponent } from './common-controls/pick-table/pick-table.component';\r\n// Selector de listas\r\nimport { ControlPickListComponent } from './common-controls/control-picklist/control-picklist.component'; \r\n// Componente base BelongsDiplomaComponent\r\nimport { BelongsDiplomaComponent } from './common-controls/belongs-diploma/belongs-diploma.component';\r\n// Componente Belong Diploma\r\nimport { ControlBelongDiplomaComponent } from './common-controls/control-belongs-dipoma/control-belong-diploma.component';\r\nimport { ControlFullCalendarComponent } from './common-controls/control-fullcalendar/control-fullcalendar.component';\r\nimport { ControlTimeComponent } from './common-controls/control-time/control-time.component';\r\n// COMPONENTE IMAGE PICKER E IMPAGE PRESENTER\r\nimport { ImagePickerComponent } from './common-controls/image-picker/image-picker.component';\r\nimport { ControlImagePickerComponent } from './common-controls/control-image-picker/control-image-picker.component';\r\nimport { ControlImagePresenterComponent } from './common-controls/control-image-presenter/control-image-presenter.component';\r\nimport { ControlSelectMultipleSearchComponent } from './common-controls/control-select-multiple-search/control-select-multiple-search.component';\r\n\r\nimport { ControlScheduleComponent } from './common-controls/control-schedule/control-schedule.component';\r\nimport { ControlNumericComponent } from './common-controls/control-numeric/control-numeric.component';\r\n\r\nimport { ControlShowItemComponent } from './common-controls/control-show-item/control-show-item.component';\r\n\r\nimport { ControlAutocompleteLocalComponent } from './common-controls/control-autocomplete-local/control-autocomplete-local.component';\r\n\r\nimport { NotificationDialogComponent } from './notification-dialog/notification-dialog.component';\r\nimport { ControlSchoolComponent } from './common-controls/control-school/control-school.component';\r\nimport { ControlStudentComponent } from './common-controls/control-student/control-student.component';\r\nimport { ControlRadioComponent } from './common-controls/control-radio/control-radio.component';\r\nimport { FilesDialogComponent } from './files-dialog/files-dialog.component';\r\n\r\nexport const components = [\r\n IconsByTypePipe,\r\n ControlReadOnlyComponent,\r\n ConfirmationDialogComponent,\r\n DeleteDialogComponent,\r\n LoginFormComponent,\r\n AttachmentComponent,\r\n getCellDataPipe,\r\n orderTableColumns,\r\n ListTableComponent,\r\n AutomaticFormsComponent,\r\n AppContainerComponent,\r\n ControlDatepickerComponent,\r\n ControlTextAreaComponent,\r\n ControlInputComponent,\r\n ControlCheckboxComponent,\r\n ControlSelectComponent,\r\n ControlSelectMultipleComponent,\r\n ControlSelectMultipleSearchComponent,\r\n ControlAutocompleteComponent,\r\n ControlChipsComponent,\r\n ControlChipsTextComponent,\r\n ControlUploadComponent,\r\n ControlRichTextComponent,\r\n PickTableComponent,\r\n ControlPickListComponent,\r\n BelongsDiplomaComponent,\r\n ControlBelongDiplomaComponent,\r\n ControlFullCalendarComponent,\r\n ControlTimeComponent,\r\n ControlMaskedInputComponent,\r\n ImagePickerComponent,\r\n ControlImagePickerComponent,\r\n ControlImagePresenterComponent,\r\n ControlScheduleComponent,\r\n ControlNumericComponent,\r\n ControlShowItemComponent,\r\n ControlAutocompleteLocalComponent,\r\n NotificationDialogComponent,\r\n FilesDialogComponent,\r\n ControlSchoolComponent,\r\n ControlStudentComponent,\r\n ControlRadioComponent,\r\n]","module.exports = \".mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 calc(14px * .83)/20px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 calc(14px * .67)/20px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,\\\"Helvetica Neue\\\",sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,\\\"Helvetica Neue\\\",sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,\\\"Helvetica Neue\\\",sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-card{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-expansion-panel-header{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.34375em) scale(.75);transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.34374em) scale(.75);transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28122em) scale(.75);transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28121em) scale(.75);transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.2812em) scale(.75);transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em 0}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-.59375em) scale(.75);transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-.59374em) scale(.75);transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0 1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.59375em) scale(.75);transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.59374em) scale(.75);transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-select{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-list-option{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-simple-snackbar{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-nested-tree-node,.mat-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;-webkit-transition:opacity,-webkit-transform 0s cubic-bezier(0,0,.2,1);transition:opacity,-webkit-transform 0s cubic-bezier(0,0,.2,1);transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transition:opacity,transform 0s cubic-bezier(0,0,.2,1),-webkit-transform 0s cubic-bezier(0,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}@media (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:-webkit-box;display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:-webkit-box;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;-webkit-transition:opacity .4s cubic-bezier(.25,.8,.25,1);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}@-webkit-keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-start{/*!*/}@-webkit-keyframes cdk-text-field-autofill-end{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option{color:rgba(0,0,0,.87)}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#3f51b5}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff4081}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-optgroup-label{color:rgba(0,0,0,.54)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-pseudo-checkbox-disabled{color:#b0b0b0}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#3f51b5}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ff4081}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-badge-content{color:#fff;background:#3f51b5}@media (-ms-high-contrast:active){.mat-badge-content{outline:solid 1px;border-radius:0}}.mat-badge-accent .mat-badge-content{background:#ff4081;color:#fff}.mat-badge-warn .mat-badge-content{color:#fff;background:#f44336}.mat-badge{position:relative}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:rgba(0,0,0,.38)}.mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out, -webkit-transform .2s ease-in-out;-webkit-transform:scale(.6);transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.mat-badge-content._mat-animation-noopable,.ng-animate-disabled .mat-badge-content{-webkit-transition:none;transition:none}.mat-badge-content.mat-badge-active{-webkit-transform:none;transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-bottom-sheet-container{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);background:#fff;color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:0 0}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#3f51b5}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ff4081}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled],.mat-stroked-button.mat-accent[disabled],.mat-stroked-button.mat-primary[disabled],.mat-stroked-button.mat-warn[disabled],.mat-stroked-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#3f51b5}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#ff4081}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#f44336}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay,.mat-stroked-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button .mat-ripple-element,.mat-icon-button .mat-ripple-element,.mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.mat-button-focus-overlay{background:#000}.mat-stroked-button:not([disabled]){border-color:rgba(0,0,0,.12)}.mat-fab,.mat-flat-button,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:#fff}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#3f51b5}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ff4081}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-flat-button.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-accent .mat-ripple-element,.mat-flat-button.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-warn .mat-ripple-element,.mat-flat-button.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-flat-button:not([class*=mat-elevation-z]),.mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-raised-button[disabled]:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab[disabled]:not([class*=mat-elevation-z]),.mat-mini-fab[disabled]:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-button-toggle-group,.mat-button-toggle-standalone{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-appearance-standard{color:rgba(0,0,0,.87);background:#fff}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:solid 1px rgba(0,0,0,.12)}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:solid 1px rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:rgba(0,0,0,.87)}.mat-button-toggle-disabled{color:rgba(0,0,0,.26);background-color:#eee}.mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:solid 1px rgba(0,0,0,.12)}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}@media (-ms-high-contrast:black-on-white){.mat-checkbox-checkmark-path{stroke:#000!important}}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#3f51b5}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ff4081}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:rgba(0,0,0,.54)}@media (-ms-high-contrast:active){.mat-checkbox-disabled{opacity:.5}}@media (-ms-high-contrast:active){.mat-checkbox-background{background:0 0}}.mat-checkbox .mat-ripple-element{background-color:#000}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#3f51b5}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#ff4081}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#f44336}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.mat-chip.mat-standard-chip::after{background:#000}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#3f51b5;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ff4081;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-table{background:#fff}.mat-table tbody,.mat-table tfoot,.mat-table thead,.mat-table-sticky,[mat-footer-row],[mat-header-row],[mat-row],mat-footer-row,mat-header-row,mat-row{background:inherit}mat-footer-row,mat-header-row,mat-row,td.mat-cell,td.mat-footer-cell,th.mat-header-cell{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell,.mat-footer-cell{color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button,.mat-datepicker-toggle{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-calendar-body-selected{background-color:#3f51b5;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(63,81,181,.4)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);background-color:#fff;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ff4081;color:#fff}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(255,64,129,.4)}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#f44336;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(244,67,54,.4)}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content-touch{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-datepicker-toggle-active{color:#3f51b5}.mat-datepicker-toggle-active.mat-accent{color:#ff4081}.mat-datepicker-toggle-active.mat-warn{color:#f44336}.mat-dialog-container{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:rgba(0,0,0,.04)}@media (hover:none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label{color:rgba(0,0,0,.6)}.mat-hint{color:rgba(0,0,0,.6)}.mat-form-field.mat-focused .mat-form-field-label{color:#3f51b5}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ff4081}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ff4081}.mat-form-field-ripple{background-color:rgba(0,0,0,.87)}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#3f51b5}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ff4081}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after{color:#3f51b5}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after{color:#ff4081}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#f44336}.mat-error{color:#f44336}.mat-form-field-appearance-legacy .mat-form-field-label{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-hint{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:-webkit-gradient(linear,left top, right top,color-stop(0, rgba(0,0,0,.42)),color-stop(33%, rgba(0,0,0,.42)),color-stop(0, transparent));background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:-webkit-gradient(linear,left top, right top,color-stop(0, rgba(0,0,0,.42)),color-stop(33%, rgba(0,0,0,.42)),color-stop(0, transparent));background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:rgba(0,0,0,.04)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:rgba(0,0,0,.02)}.mat-form-field-appearance-fill .mat-form-field-underline::before{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:rgba(0,0,0,.12)}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:rgba(0,0,0,.87)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#3f51b5}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ff4081}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:rgba(0,0,0,.06)}.mat-icon.mat-primary{color:#3f51b5}.mat-icon.mat-accent{color:#ff4081}.mat-icon.mat-warn{color:#f44336}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{color:rgba(0,0,0,.54)}.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after,.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#3f51b5}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ff4081}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after{color:#f44336}.mat-list-base .mat-list-item{color:rgba(0,0,0,.87)}.mat-list-base .mat-list-option{color:rgba(0,0,0,.87)}.mat-list-base .mat-subheader{color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-action-list .mat-list-item:focus,.mat-action-list .mat-list-item:hover,.mat-list-option:focus,.mat-list-option:hover,.mat-nav-list .mat-list-item:focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled],.mat-menu-item[disabled]::after{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon-no-color,.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-last{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{fill:#c5cae9}.mat-progress-bar-buffer{background-color:#c5cae9}.mat-progress-bar-fill::after{background-color:#3f51b5}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ff4081}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#3f51b5}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff4081}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#3f51b5}.mat-radio-button.mat-primary .mat-radio-inner-circle,.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#3f51b5}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff4081}.mat-radio-button.mat-accent .mat-radio-inner-circle,.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#ff4081}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle,.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#f44336}.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button .mat-ripple-element{background-color:#000}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel{background:#fff}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#3f51b5}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff4081}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-drawer-side{border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-side.mat-drawer-end{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#ff4081}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:rgba(255,64,129,.54)}.mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#ff4081}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#3f51b5}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:rgba(63,81,181,.54)}.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#3f51b5}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:rgba(244,67,54,.54)}.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#f44336}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#3f51b5}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ff4081}.mat-accent .mat-slider-thumb-label-text{color:#fff}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,64,129,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(0,0,0,.26)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}@media (hover:none){.mat-step-header:hover{background:0 0}}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.54)}.mat-step-header .mat-step-icon{background-color:rgba(0,0,0,.54);color:#fff}.mat-step-header .mat-step-icon-selected,.mat-step-header .mat-step-icon-state-done,.mat-step-header .mat-step-icon-state-edit{background-color:#3f51b5;color:#fff}.mat-step-header .mat-step-icon-state-error{background-color:transparent;color:#f44336}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-step-header .mat-step-label.mat-step-label-error{color:#f44336}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-horizontal-stepper-header::after,.mat-horizontal-stepper-header::before,.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-sort-header-arrow{color:#757575}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#3f51b5}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff4081}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-header-pagination,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#3f51b5}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-header-pagination,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ff4081}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:#fff}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-header-pagination,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#3f51b5;color:#fff}.mat-toolbar.mat-accent{background:#ff4081;color:#fff}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-toolbar .mat-focused .mat-form-field-ripple,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-form-field-underline{background-color:currentColor}.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-select-value{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{background:#fff}.mat-nested-tree-node,.mat-tree-node{color:rgba(0,0,0,.87)}.mat-snack-bar-container{color:rgba(255,255,255,.7);background:#323232;box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-simple-snackbar-action{color:#ff4081}@charset \\\"UTF-8\\\";.fc {\\n direction: ltr;\\n text-align: left;\\n}.fc-rtl {\\n text-align: right;\\n}body .fc {\\n /* extra precedence to overcome jqui */\\n font-size: 1em;\\n}/* Colors\\n--------------------------------------------------------------------------------------------------*/.fc-highlight {\\n /* when user is selecting cells */\\n background: #bce8f1;\\n opacity: 0.3;\\n}.fc-bgevent {\\n /* default look for background events */\\n background: #8fdf82;\\n opacity: 0.3;\\n}.fc-nonbusiness {\\n /* default look for non-business-hours areas */\\n /* will inherit .fc-bgevent's styles */\\n background: #d7d7d7;\\n}/* Popover\\n--------------------------------------------------------------------------------------------------*/.fc-popover {\\n position: absolute;\\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);\\n}.fc-popover .fc-header {\\n /* TODO: be more consistent with fc-head/fc-body */\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n flex-direction: row;\\n -webkit-box-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n align-items: center;\\n padding: 2px 4px;\\n}.fc-rtl .fc-popover .fc-header {\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: reverse;\\n flex-direction: row-reverse;\\n}.fc-popover .fc-header .fc-title {\\n margin: 0 2px;\\n}.fc-popover .fc-header .fc-close {\\n cursor: pointer;\\n opacity: 0.65;\\n font-size: 1.1em;\\n}/* Misc Reusable Components\\n--------------------------------------------------------------------------------------------------*/.fc-divider {\\n border-style: solid;\\n border-width: 1px;\\n}hr.fc-divider {\\n height: 0;\\n margin: 0;\\n padding: 0 0 2px;\\n /* height is unreliable across browsers, so use padding */\\n border-width: 1px 0;\\n}.fc-bg,\\n.fc-bgevent-skeleton,\\n.fc-highlight-skeleton,\\n.fc-mirror-skeleton {\\n /* these element should always cling to top-left/right corners */\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n}.fc-bg {\\n bottom: 0;\\n /* strech bg to bottom edge */\\n}.fc-bg table {\\n height: 100%;\\n /* strech bg to bottom edge */\\n}/* Tables\\n--------------------------------------------------------------------------------------------------*/.fc table {\\n width: 100%;\\n box-sizing: border-box;\\n /* fix scrollbar issue in firefox */\\n table-layout: fixed;\\n border-collapse: collapse;\\n border-spacing: 0;\\n font-size: 1em;\\n /* normalize cross-browser */\\n}.fc th {\\n text-align: center;\\n}.fc th,\\n.fc td {\\n border-style: solid;\\n border-width: 1px;\\n padding: 0;\\n vertical-align: top;\\n}.fc td.fc-today {\\n border-style: double;\\n /* overcome neighboring borders */\\n}/* Internal Nav Links\\n--------------------------------------------------------------------------------------------------*/a[data-goto] {\\n cursor: pointer;\\n}a[data-goto]:hover {\\n text-decoration: underline;\\n}/* Fake Table Rows\\n--------------------------------------------------------------------------------------------------*/.fc .fc-row {\\n /* extra precedence to overcome themes forcing a 1px border */\\n /* no visible border by default. but make available if need be (scrollbar width compensation) */\\n border-style: solid;\\n border-width: 0;\\n}.fc-row table {\\n /* don't put left/right border on anything within a fake row.\\n the outer tbody will worry about this */\\n border-left: 0 hidden transparent;\\n border-right: 0 hidden transparent;\\n /* no bottom borders on rows */\\n border-bottom: 0 hidden transparent;\\n}.fc-row:first-child table {\\n border-top: 0 hidden transparent;\\n /* no top border on first row */\\n}/* Day Row (used within the header and the DayGrid)\\n--------------------------------------------------------------------------------------------------*/.fc-row {\\n position: relative;\\n}.fc-row .fc-bg {\\n z-index: 1;\\n}/* highlighting cells & background event skeleton */.fc-row .fc-bgevent-skeleton,\\n.fc-row .fc-highlight-skeleton {\\n bottom: 0;\\n /* stretch skeleton to bottom of row */\\n}.fc-row .fc-bgevent-skeleton table,\\n.fc-row .fc-highlight-skeleton table {\\n height: 100%;\\n /* stretch skeleton to bottom of row */\\n}.fc-row .fc-highlight-skeleton td,\\n.fc-row .fc-bgevent-skeleton td {\\n border-color: transparent;\\n}.fc-row .fc-bgevent-skeleton {\\n z-index: 2;\\n}.fc-row .fc-highlight-skeleton {\\n z-index: 3;\\n}/*\\nrow content (which contains day/week numbers and events) as well as \\\"mirror\\\" (which contains\\ntemporary rendered events).\\n*/.fc-row .fc-content-skeleton {\\n position: relative;\\n z-index: 4;\\n padding-bottom: 2px;\\n /* matches the space above the events */\\n}.fc-row .fc-mirror-skeleton {\\n z-index: 5;\\n}.fc .fc-row .fc-content-skeleton table,\\n.fc .fc-row .fc-content-skeleton td,\\n.fc .fc-row .fc-mirror-skeleton td {\\n /* see-through to the background below */\\n /* extra precedence to prevent theme-provided backgrounds */\\n background: none;\\n /* in case s are globally styled */\\n border-color: transparent;\\n}.fc-row .fc-content-skeleton td,\\n.fc-row .fc-mirror-skeleton td {\\n /* don't put a border between events and/or the day number */\\n border-bottom: 0;\\n}.fc-row .fc-content-skeleton tbody td,\\n.fc-row .fc-mirror-skeleton tbody td {\\n /* don't put a border between event cells */\\n border-top: 0;\\n}/* Scrolling Container\\n--------------------------------------------------------------------------------------------------*/.fc-scroller {\\n -webkit-overflow-scrolling: touch;\\n}/* TODO: move to timegrid/daygrid */.fc-scroller > .fc-day-grid,\\n.fc-scroller > .fc-time-grid {\\n position: relative;\\n /* re-scope all positions */\\n width: 100%;\\n /* hack to force re-sizing this inner element when scrollbars appear/disappear */\\n}/* Global Event Styles\\n--------------------------------------------------------------------------------------------------*/.fc-event {\\n position: relative;\\n /* for resize handle and other inner positioning */\\n display: block;\\n /* make the tag block */\\n font-size: 0.85em;\\n line-height: 1.4;\\n border-radius: 3px;\\n border: 1px solid #3788d8;\\n}.fc-event,\\n.fc-event-dot {\\n background-color: #3788d8;\\n /* default BACKGROUND color */\\n}.fc-event,\\n.fc-event:hover {\\n color: #fff;\\n /* default TEXT color */\\n text-decoration: none;\\n /* if has an href */\\n}.fc-event[href],\\n.fc-event.fc-draggable {\\n cursor: pointer;\\n /* give events with links and draggable events a hand mouse pointer */\\n}.fc-not-allowed,\\n.fc-not-allowed .fc-event {\\n /* to override an event's custom cursor */\\n cursor: not-allowed;\\n}.fc-event .fc-content {\\n position: relative;\\n z-index: 2;\\n}/* resizer (cursor AND touch devices) */.fc-event .fc-resizer {\\n position: absolute;\\n z-index: 4;\\n}/* resizer (touch devices) */.fc-event .fc-resizer {\\n display: none;\\n}.fc-event.fc-allow-mouse-resize .fc-resizer,\\n.fc-event.fc-selected .fc-resizer {\\n /* only show when hovering or selected (with touch) */\\n display: block;\\n}/* hit area */.fc-event.fc-selected .fc-resizer:before {\\n /* 40x40 touch area */\\n content: \\\"\\\";\\n position: absolute;\\n z-index: 9999;\\n /* user of this util can scope within a lower z-index */\\n top: 50%;\\n left: 50%;\\n width: 40px;\\n height: 40px;\\n margin-left: -20px;\\n margin-top: -20px;\\n}/* Event Selection (only for touch devices)\\n--------------------------------------------------------------------------------------------------*/.fc-event.fc-selected {\\n z-index: 9999 !important;\\n /* overcomes inline z-index */\\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\\n}.fc-event.fc-selected:after {\\n content: \\\"\\\";\\n position: absolute;\\n z-index: 1;\\n /* same z-index as fc-bg, behind text */\\n /* overcome the borders */\\n top: -1px;\\n right: -1px;\\n bottom: -1px;\\n left: -1px;\\n /* darkening effect */\\n background: #000;\\n opacity: 0.25;\\n}/* Event Dragging\\n--------------------------------------------------------------------------------------------------*/.fc-event.fc-dragging.fc-selected {\\n box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);\\n}.fc-event.fc-dragging:not(.fc-selected) {\\n opacity: 0.75;\\n}/* Horizontal Events\\n--------------------------------------------------------------------------------------------------*//* bigger touch area when selected */.fc-h-event.fc-selected:before {\\n content: \\\"\\\";\\n position: absolute;\\n z-index: 3;\\n /* below resizers */\\n top: -10px;\\n bottom: -10px;\\n left: 0;\\n right: 0;\\n}/* events that are continuing to/from another week. kill rounded corners and butt up against edge */.fc-ltr .fc-h-event.fc-not-start,\\n.fc-rtl .fc-h-event.fc-not-end {\\n margin-left: 0;\\n border-left-width: 0;\\n padding-left: 1px;\\n /* replace the border with padding */\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}.fc-ltr .fc-h-event.fc-not-end,\\n.fc-rtl .fc-h-event.fc-not-start {\\n margin-right: 0;\\n border-right-width: 0;\\n padding-right: 1px;\\n /* replace the border with padding */\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}/* resizer (cursor AND touch devices) *//* left resizer */.fc-ltr .fc-h-event .fc-start-resizer,\\n.fc-rtl .fc-h-event .fc-end-resizer {\\n cursor: w-resize;\\n left: -1px;\\n /* overcome border */\\n}/* right resizer */.fc-ltr .fc-h-event .fc-end-resizer,\\n.fc-rtl .fc-h-event .fc-start-resizer {\\n cursor: e-resize;\\n right: -1px;\\n /* overcome border */\\n}/* resizer (mouse devices) */.fc-h-event.fc-allow-mouse-resize .fc-resizer {\\n width: 7px;\\n top: -1px;\\n /* overcome top border */\\n bottom: -1px;\\n /* overcome bottom border */\\n}/* resizer (touch devices) */.fc-h-event.fc-selected .fc-resizer {\\n /* 8x8 little dot */\\n border-radius: 4px;\\n border-width: 1px;\\n width: 6px;\\n height: 6px;\\n border-style: solid;\\n border-color: inherit;\\n background: #fff;\\n /* vertically center */\\n top: 50%;\\n margin-top: -4px;\\n}/* left resizer */.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,\\n.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {\\n margin-left: -4px;\\n /* centers the 8x8 dot on the left edge */\\n}/* right resizer */.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,\\n.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {\\n margin-right: -4px;\\n /* centers the 8x8 dot on the right edge */\\n}/* DayGrid events\\n----------------------------------------------------------------------------------------------------\\nWe use the full \\\"fc-day-grid-event\\\" class instead of using descendants because the event won't\\nbe a descendant of the grid when it is being dragged.\\n*/.fc-day-grid-event {\\n margin: 1px 2px 0;\\n /* spacing between events and edges */\\n padding: 0 1px;\\n}tr:first-child > td > .fc-day-grid-event {\\n margin-top: 2px;\\n /* a little bit more space before the first event */\\n}.fc-mirror-skeleton tr:first-child > td > .fc-day-grid-event {\\n margin-top: 0;\\n /* except for mirror skeleton */\\n}.fc-day-grid-event .fc-content {\\n /* force events to be one-line tall */\\n white-space: nowrap;\\n overflow: hidden;\\n}.fc-day-grid-event .fc-time {\\n font-weight: bold;\\n}/* resizer (cursor devices) *//* left resizer */.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,\\n.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {\\n margin-left: -2px;\\n /* to the day cell's edge */\\n}/* right resizer */.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,\\n.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {\\n margin-right: -2px;\\n /* to the day cell's edge */\\n}/* Event Limiting\\n--------------------------------------------------------------------------------------------------*//* \\\"more\\\" link that represents hidden events */a.fc-more {\\n margin: 1px 3px;\\n font-size: 0.85em;\\n cursor: pointer;\\n text-decoration: none;\\n}a.fc-more:hover {\\n text-decoration: underline;\\n}.fc-limited {\\n /* rows and cells that are hidden because of a \\\"more\\\" link */\\n display: none;\\n}/* popover that appears when \\\"more\\\" link is clicked */.fc-day-grid .fc-row {\\n z-index: 1;\\n /* make the \\\"more\\\" popover one higher than this */\\n}.fc-more-popover {\\n z-index: 2;\\n width: 220px;\\n}.fc-more-popover .fc-event-container {\\n padding: 10px;\\n}/* Now Indicator\\n--------------------------------------------------------------------------------------------------*/.fc-now-indicator {\\n position: absolute;\\n border: 0 solid red;\\n}/* Utilities\\n--------------------------------------------------------------------------------------------------*/.fc-unselectable {\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n -webkit-touch-callout: none;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}/*\\nTODO: more distinction between this file and common.css\\n*//* Colors\\n--------------------------------------------------------------------------------------------------*/.fc-unthemed th,\\n.fc-unthemed td,\\n.fc-unthemed thead,\\n.fc-unthemed tbody,\\n.fc-unthemed .fc-divider,\\n.fc-unthemed .fc-row,\\n.fc-unthemed .fc-content,\\n.fc-unthemed .fc-popover,\\n.fc-unthemed .fc-list-view,\\n.fc-unthemed .fc-list-heading td {\\n border-color: #ddd;\\n}.fc-unthemed .fc-popover {\\n background-color: #fff;\\n}.fc-unthemed .fc-divider,\\n.fc-unthemed .fc-popover .fc-header,\\n.fc-unthemed .fc-list-heading td {\\n background: #eee;\\n}.fc-unthemed td.fc-today {\\n background: #fcf8e3;\\n}.fc-unthemed .fc-disabled-day {\\n background: #d7d7d7;\\n opacity: 0.3;\\n}/* Icons\\n--------------------------------------------------------------------------------------------------\\nfrom https://feathericons.com/ and built with IcoMoon\\n*/@font-face {\\n font-family: \\\"fcicons\\\";\\n src: url(\\\"data:application/x-font-ttf;charset=utf-8;base64,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\\\") format(\\\"truetype\\\");\\n font-weight: normal;\\n font-style: normal;\\n}.fc-icon {\\n /* use !important to prevent issues with browser extensions that change fonts */\\n font-family: \\\"fcicons\\\" !important;\\n speak: none;\\n font-style: normal;\\n font-weight: normal;\\n font-variant: normal;\\n text-transform: none;\\n line-height: 1;\\n /* Better Font Rendering =========== */\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}.fc-icon-chevron-left:before {\\n content: \\\"\\\";\\n}.fc-icon-chevron-right:before {\\n content: \\\"\\\";\\n}.fc-icon-chevrons-left:before {\\n content: \\\"\\\";\\n}.fc-icon-chevrons-right:before {\\n content: \\\"\\\";\\n}.fc-icon-minus-square:before {\\n content: \\\"\\\";\\n}.fc-icon-plus-square:before {\\n content: \\\"\\\";\\n}.fc-icon-x:before {\\n content: \\\"\\\";\\n}.fc-icon {\\n display: inline-block;\\n width: 1em;\\n height: 1em;\\n text-align: center;\\n}/* Buttons\\n--------------------------------------------------------------------------------------------------\\nLots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css\\n*//* reset */.fc-button {\\n border-radius: 0;\\n overflow: visible;\\n text-transform: none;\\n margin: 0;\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n}.fc-button:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n}.fc-button {\\n -webkit-appearance: button;\\n}.fc-button:not(:disabled) {\\n cursor: pointer;\\n}.fc-button::-moz-focus-inner {\\n padding: 0;\\n border-style: none;\\n}/* theme */.fc-button {\\n display: inline-block;\\n font-weight: 400;\\n color: #212529;\\n text-align: center;\\n vertical-align: middle;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n background-color: transparent;\\n border: 1px solid transparent;\\n padding: 0.4em 0.65em;\\n font-size: 1em;\\n line-height: 1.5;\\n border-radius: 0.25em;\\n}.fc-button:hover {\\n color: #212529;\\n text-decoration: none;\\n}.fc-button:focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);\\n}.fc-button:disabled {\\n opacity: 0.65;\\n}/* \\\"primary\\\" coloring */.fc-button-primary {\\n color: #fff;\\n background-color: #2C3E50;\\n border-color: #2C3E50;\\n}.fc-button-primary:hover {\\n color: #fff;\\n background-color: #1e2b37;\\n border-color: #1a252f;\\n}.fc-button-primary:focus {\\n box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);\\n}.fc-button-primary:disabled {\\n color: #fff;\\n background-color: #2C3E50;\\n border-color: #2C3E50;\\n}.fc-button-primary:not(:disabled):active,\\n.fc-button-primary:not(:disabled).fc-button-active {\\n color: #fff;\\n background-color: #1a252f;\\n border-color: #151e27;\\n}.fc-button-primary:not(:disabled):active:focus,\\n.fc-button-primary:not(:disabled).fc-button-active:focus {\\n box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);\\n}/* icons within buttons */.fc-button .fc-icon {\\n vertical-align: middle;\\n font-size: 1.5em;\\n}/* Buttons Groups\\n--------------------------------------------------------------------------------------------------*/.fc-button-group {\\n position: relative;\\n display: -webkit-inline-box;\\n display: inline-flex;\\n vertical-align: middle;\\n}.fc-button-group > .fc-button {\\n position: relative;\\n -webkit-box-flex: 1;\\n flex: 1 1 auto;\\n}.fc-button-group > .fc-button:hover {\\n z-index: 1;\\n}.fc-button-group > .fc-button:focus,\\n.fc-button-group > .fc-button:active,\\n.fc-button-group > .fc-button.fc-button-active {\\n z-index: 1;\\n}.fc-button-group > .fc-button:not(:first-child) {\\n margin-left: -1px;\\n}.fc-button-group > .fc-button:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}.fc-button-group > .fc-button:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}/* Popover\\n--------------------------------------------------------------------------------------------------*/.fc-unthemed .fc-popover {\\n border-width: 1px;\\n border-style: solid;\\n}/* List View\\n--------------------------------------------------------------------------------------------------*/.fc-unthemed .fc-list-item:hover td {\\n background-color: #f5f5f5;\\n}/* Toolbar\\n--------------------------------------------------------------------------------------------------*/.fc-toolbar {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n align-items: center;\\n}.fc-toolbar.fc-header-toolbar {\\n margin-bottom: 1.5em;\\n}.fc-toolbar.fc-footer-toolbar {\\n margin-top: 1.5em;\\n}/* inner content */.fc-toolbar > * > :not(:first-child) {\\n margin-left: 0.75em;\\n}.fc-toolbar h2 {\\n font-size: 1.75em;\\n margin: 0;\\n}/* View Structure\\n--------------------------------------------------------------------------------------------------*/.fc-view-container {\\n position: relative;\\n}/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques *//* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */.fc-view-container *,\\n.fc-view-container *:before,\\n.fc-view-container *:after {\\n box-sizing: content-box;\\n}.fc-view,\\n.fc-view > table {\\n /* so dragged elements can be above the view's main element */\\n position: relative;\\n z-index: 1;\\n}@media print {\\n .fc {\\n max-width: 100% !important;\\n }\\n\\n /* Global Event Restyling\\n --------------------------------------------------------------------------------------------------*/\\n .fc-event {\\n background: #fff !important;\\n color: #000 !important;\\n page-break-inside: avoid;\\n }\\n\\n .fc-event .fc-resizer {\\n display: none;\\n }\\n\\n /* Table & Day-Row Restyling\\n --------------------------------------------------------------------------------------------------*/\\n .fc th,\\n.fc td,\\n.fc hr,\\n.fc thead,\\n.fc tbody,\\n.fc-row {\\n border-color: #ccc !important;\\n background: #fff !important;\\n }\\n\\n /* kill the overlaid, absolutely-positioned components */\\n /* common... */\\n .fc-bg,\\n.fc-bgevent-skeleton,\\n.fc-highlight-skeleton,\\n.fc-mirror-skeleton,\\n.fc-bgevent-container,\\n.fc-business-container,\\n.fc-highlight-container,\\n.fc-mirror-container {\\n display: none;\\n }\\n\\n /* don't force a min-height on rows (for DayGrid) */\\n .fc tbody .fc-row {\\n height: auto !important;\\n /* undo height that JS set in distributeHeight */\\n min-height: 0 !important;\\n /* undo the min-height from each view's specific stylesheet */\\n }\\n\\n .fc tbody .fc-row .fc-content-skeleton {\\n position: static;\\n /* undo .fc-rigid */\\n padding-bottom: 0 !important;\\n /* use a more border-friendly method for this... */\\n }\\n\\n .fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {\\n /* only works in newer browsers */\\n padding-bottom: 1em;\\n /* ...gives space within the skeleton. also ensures min height in a way */\\n }\\n\\n .fc tbody .fc-row .fc-content-skeleton table {\\n /* provides a min-height for the row, but only effective for IE, which exaggerates this value,\\n making it look more like 3em. for other browers, it will already be this tall */\\n height: 1em;\\n }\\n\\n /* Undo month-view event limiting. Display all events and hide the \\\"more\\\" links\\n --------------------------------------------------------------------------------------------------*/\\n .fc-more-cell,\\n.fc-more {\\n display: none !important;\\n }\\n\\n .fc tr.fc-limited {\\n display: table-row !important;\\n }\\n\\n .fc td.fc-limited {\\n display: table-cell !important;\\n }\\n\\n .fc-popover {\\n display: none;\\n /* never display the \\\"more..\\\" popover in print mode */\\n }\\n\\n /* TimeGrid Restyling\\n --------------------------------------------------------------------------------------------------*/\\n /* undo the min-height 100% trick used to fill the container's height */\\n .fc-time-grid {\\n min-height: 0 !important;\\n }\\n\\n /* don't display the side axis at all (\\\"all-day\\\" and time cells) */\\n .fc-timeGrid-view .fc-axis {\\n display: none;\\n }\\n\\n /* don't display the horizontal lines */\\n .fc-slats,\\n.fc-time-grid hr {\\n /* this hr is used when height is underused and needs to be filled */\\n display: none !important;\\n /* important overrides inline declaration */\\n }\\n\\n /* let the container that holds the events be naturally positioned and create real height */\\n .fc-time-grid .fc-content-skeleton {\\n position: static;\\n }\\n\\n /* in case there are no events, we still want some height */\\n .fc-time-grid .fc-content-skeleton table {\\n height: 4em;\\n }\\n\\n /* kill the horizontal spacing made by the event container. event margins will be done below */\\n .fc-time-grid .fc-event-container {\\n margin: 0 !important;\\n }\\n\\n /* TimeGrid *Event* Restyling\\n --------------------------------------------------------------------------------------------------*/\\n /* naturally position events, vertically stacking them */\\n .fc-time-grid .fc-event {\\n position: static !important;\\n margin: 3px 2px !important;\\n }\\n\\n /* for events that continue to a future day, give the bottom border back */\\n .fc-time-grid .fc-event.fc-not-end {\\n border-bottom-width: 1px !important;\\n }\\n\\n /* indicate the event continues via \\\"...\\\" text */\\n .fc-time-grid .fc-event.fc-not-end:after {\\n content: \\\"...\\\";\\n }\\n\\n /* for events that are continuations from previous days, give the top border back */\\n .fc-time-grid .fc-event.fc-not-start {\\n border-top-width: 1px !important;\\n }\\n\\n /* indicate the event is a continuation via \\\"...\\\" text */\\n .fc-time-grid .fc-event.fc-not-start:before {\\n content: \\\"...\\\";\\n }\\n\\n /* time */\\n /* undo a previous declaration and let the time text span to a second line */\\n .fc-time-grid .fc-event .fc-time {\\n white-space: normal !important;\\n }\\n\\n /* hide the the time that is normally displayed... */\\n .fc-time-grid .fc-event .fc-time span {\\n display: none;\\n }\\n\\n /* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */\\n .fc-time-grid .fc-event .fc-time:after {\\n content: attr(data-full);\\n }\\n\\n /* Vertical Scroller & Containers\\n --------------------------------------------------------------------------------------------------*/\\n /* kill the scrollbars and allow natural height */\\n .fc-scroller,\\n.fc-day-grid-container,\\n.fc-time-grid-container {\\n /* */\\n overflow: visible !important;\\n height: auto !important;\\n }\\n\\n /* kill the horizontal border/padding used to compensate for scrollbars */\\n .fc-row {\\n border: 0 !important;\\n margin: 0 !important;\\n }\\n\\n /* Button Controls\\n --------------------------------------------------------------------------------------------------*/\\n .fc-button-group,\\n.fc button {\\n display: none;\\n /* don't display any button-related controls */\\n }\\n}/* DayGridView\\n--------------------------------------------------------------------------------------------------*//* day row structure */.fc-dayGridWeek-view .fc-content-skeleton,\\n.fc-dayGridDay-view .fc-content-skeleton {\\n /* there may be week numbers in these views, so no padding-top */\\n padding-bottom: 1em;\\n /* ensure a space at bottom of cell for user selecting/clicking */\\n}.fc-dayGrid-view .fc-body .fc-row {\\n min-height: 4em;\\n /* ensure that all rows are at least this tall */\\n}/* a \\\"rigid\\\" row will take up a constant amount of height because content-skeleton is absolute */.fc-row.fc-rigid {\\n overflow: hidden;\\n}.fc-row.fc-rigid .fc-content-skeleton {\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n}/* week and day number styling */.fc-day-top.fc-other-month {\\n opacity: 0.3;\\n}.fc-dayGrid-view .fc-week-number,\\n.fc-dayGrid-view .fc-day-number {\\n padding: 2px;\\n}.fc-dayGrid-view th.fc-week-number,\\n.fc-dayGrid-view th.fc-day-number {\\n padding: 0 2px;\\n /* column headers can't have as much v space */\\n}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number {\\n float: right;\\n}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number {\\n float: left;\\n}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number {\\n float: left;\\n border-radius: 0 0 3px 0;\\n}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number {\\n float: right;\\n border-radius: 0 0 0 3px;\\n}.fc-dayGrid-view .fc-day-top .fc-week-number {\\n min-width: 1.5em;\\n text-align: center;\\n background-color: #f2f2f2;\\n color: #808080;\\n}/* when week/day number have own column */.fc-dayGrid-view td.fc-week-number {\\n text-align: center;\\n}.fc-dayGrid-view td.fc-week-number > * {\\n /* work around the way we do column resizing and ensure a minimum width */\\n display: inline-block;\\n min-width: 1.25em;\\n}.primary {\\n background-color: blue;\\n color: #ffffff;\\n}body {\\n margin: 0;\\n}.w-100 {\\n width: 100% !important;\\n}.w-90 {\\n width: 90% !important;\\n}.w-80 {\\n width: 80% !important;\\n}.w-70 {\\n width: 70% !important;\\n}.w-50 {\\n width: 50% !important;\\n}.mt-1 {\\n margin-top: 1rem !important;\\n}.mt-2 {\\n margin-top: 2rem !important;\\n}.mt-3 {\\n margin-top: 3rem !important;\\n}.mt-4 {\\n margin-top: 4rem !important;\\n}.mt-5 {\\n margin-top: 5rem !important;\\n}.d-block {\\n display: block !important;\\n}.d-none {\\n display: none !important;\\n}.d-flex {\\n display: -webkit-box !important;\\n display: flex !important;\\n}.z-elevation-1 {\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\n}.error-container {\\n display: -webkit-box;\\n display: flex;\\n margin-bottom: 0.5rem;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n -webkit-box-align: center;\\n align-items: center;\\n}.error-container .server-error {\\n background-color: #f44336;\\n color: #f2f2f2;\\n font-family: \\\"OpenSans\\\";\\n font-size: 10px;\\n font-weight: 100;\\n text-align: center;\\n padding: 0.5rem 1rem;\\n margin: 0 1rem;\\n border-radius: 0.4rem;\\n}.error-container .arrow-up-gadget {\\n width: 0;\\n height: 0;\\n border-left: 0.5rem solid transparent;\\n border-right: 0.5rem solid transparent;\\n border-bottom: 0.8rem solid #f44336;\\n text-align: center;\\n}.mat-form-field.no-padding .mat-form-field-wrapper {\\n margin: 0;\\n padding: 0;\\n}.mat-form-field.no-padding .mat-form-field-infix {\\n padding: 0.4rem 0;\\n}#programGeneralInformation .mat-form-field-disabled input[matInput], #programGeneralInformation .mat-form-field-disabled textarea[matInput], #programGeneralInformation .mat-form-field-disabled .mat-select-value {\\n color: darkslategrey;\\n}#programGeneralInformation .mat-form-field-disabled .mat-form-field-underline {\\n height: 0;\\n}#programGeneralInformation .mat-form-field-disabled .mat-select-arrow {\\n visibility: hidden;\\n}.form-container {\\n display: grid;\\n grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr));\\n grid-gap: 1rem;\\n}.simple-container {\\n width: 100%;\\n box-sizing: border-box;\\n padding: 0 2rem;\\n max-width: 768px;\\n margin: 2rem auto;\\n}.app-container {\\n width: 100%;\\n box-sizing: border-box;\\n padding: 0 2rem;\\n max-width: 1200px;\\n margin: 2rem auto;\\n}.btn {\\n max-width: 15rem;\\n}.spinner-container {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n position: fixed;\\n right: 0;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n opacity: 0.4;\\n z-index: 1060;\\n background-color: black;\\n}.truncate {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}.custom-dialog-container .mat-dialog-container {\\n max-height: calc(100vh - 2rem);\\n}#froala-license-none > div > div.fr-wrapper.show-placeholder > div:nth-child(1) > a,\\n#froala-license-none > div > div.fr-wrapper > div:nth-child(1) > a {\\n display: none !important;\\n}#froala-license-none .second-toolbar {\\n display: none !important;\\n}#froala-license-none .dark-theme.fr-box.fr-basic .fr-wrapper {\\n border-bottom-color: #cccccc !important;\\n}.login-form-container .mat-form-field-label, .login-form-container .mat-error {\\n color: #FFFFFF !important;\\n}.mat-tree-container .mat-tree-node:hover {\\n background-color: #00a9e0 !important;\\n}.menu-item-logout {\\n outline: none !important;\\n}.menu-item-logout:hover {\\n background-color: #00a9e0 !important;\\n}.mat-menu-panel-custom {\\n box-shadow: none !important;\\n}.mat-drawer-container {\\n background: none !important;\\n}.mat-drawer {\\n padding-left: 1rem !important;\\n padding-top: 1rem !important;\\n padding-right: 0.5rem !important;\\n width: 25% !important;\\n}.mat-drawer, .mat-tree, .mat-tree-node {\\n background-color: #8D96BF !important;\\n color: #FFFFFF;\\n}/* width */::-webkit-scrollbar {\\n width: 0px;\\n}/* Track */::-webkit-scrollbar-track {\\n border-radius: 10px;\\n}/* Handle */::-webkit-scrollbar-thumb {\\n background: #f2f2f2;\\n border-radius: 10px;\\n}/* Handle on hover */::-webkit-scrollbar-thumb:hover {\\n background: #d2d2d2;\\n}.app-container-tab {\\n background-color: transparent !important;\\n}.mat-card {\\n box-shadow: none !important;\\n}.chipsText .mat-chip-list-wrapper {\\n margin: 4px !important;\\n}.chipsText .mat-standard-chip {\\n min-height: 25px !important;\\n font-size: 12 px !important;\\n padding: 8px !important;\\n}.mat-calendar-body-selected {\\n color: #ffffff !important;\\n}.swal2-popup {\\n font-family: \\\"Inter\\\", sans-serif !important;\\n}.swal2-styled.swal2-confirm {\\n border: 2px solid #000000 !important;\\n padding: 15px 27px 15px 27px !important;\\n margin-top: 10px !important;\\n cursor: pointer !important;\\n -webkit-transition: all 0.3s ease !important;\\n transition: all 0.3s ease !important;\\n color: #000000 !important;\\n display: inline-block !important;\\n text-align: center !important;\\n font-size: 16px !important;\\n font-family: \\\"Inter\\\", sans-serif !important;\\n border-radius: 0 !important;\\n background-color: none !important;\\n background: none !important;\\n}.swal2-styled.swal2-confirm:hover {\\n background-color: #000000 !important;\\n color: #FFFFFF !important;\\n border: 2px solid #000000 !important;\\n text-decoration: none !important;\\n font-family: \\\"Inter\\\", sans-serif !important;\\n}.swal2-styled:focus {\\n outline: none !important;\\n box-shadow: none !important;\\n}th.mat-sort-header-sorted {\\n color: black;\\n}::ng-deep .mat-sort-header-container:not(.mat-sort-header-sorted) .mat-sort-header-arrow {\\n opacity: 0.54 !important;\\n -webkit-transform: translateY(0px) !important;\\n transform: translateY(0px) !important;\\n}.table-container {\\n max-height: calc(100vh - 13rem);\\n overflow: auto;\\n}.table-container .rows {\\n cursor: pointer;\\n}.table-container .rows:hover {\\n background-color: #EEEFF3;\\n}.cell-margin {\\n margin: 0 8px;\\n}.table-header-container {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n -webkit-box-align: center;\\n align-items: center;\\n box-sizing: border-box;\\n padding: 0 4px;\\n}.mat-chip.mat-standard-chip.warning {\\n background-color: #7E1B70;\\n color: #ffffff;\\n}.mat-chip.mat-standard-chip.danger {\\n background-color: #FF0026;\\n color: #ffffff;\\n}.mat-chip.mat-standard-chip.success {\\n background-color: #3BD136;\\n color: #ffffff;\\n}.mat-chip.mat-standard-chip.info {\\n background-color: #FF6A00;\\n color: #ffffff;\\n}.button-container {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: end;\\n justify-content: flex-end;\\n}.button-container button {\\n background-color: #000066;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9AYW5ndWxhci9tYXRlcmlhbC9wcmVidWlsdC10aGVtZXMvaW5kaWdvLXBpbmsuY3NzIiwibm9kZV9tb2R1bGVzL0BmdWxsY2FsZW5kYXIvY29yZS9tYWluLmNzcyIsIm5vZGVfbW9kdWxlcy9AZnVsbGNhbGVuZGFyL2RheWdyaWQvbWFpbi5jc3MiLCJzcmMvYXBwL3NoYXJlZC9saXN0LXRhYmxlL0Q6XFxGaXJtYXNEaWdpdGFsZXNGcm9udC9zcmNcXGFwcFxcc2hhcmVkXFxsaXN0LXRhYmxlXFxsaXN0LXRhYmxlLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbGlzdC10YWJsZS9saXN0LXRhYmxlLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbGlzdC10YWJsZS9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3RkaW4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBQW1CLGVBQWUsQ0FBQyxjQUFjLENBQUMsOENBQThDLENBQUMsb0NBQW9DLGFBQWEsQ0FBQyxvQ0FBb0MsY0FBYyxDQUFDLHlDQUF5QyxxREFBcUQsQ0FBQyxlQUFlLENBQUMsc0NBQXNDLHFEQUFxRCxDQUFDLGVBQWUsQ0FBQyw2Q0FBNkMscURBQXFELENBQUMsZUFBZSxDQUFDLDZDQUE2QyxxREFBcUQsQ0FBQyxlQUFlLENBQUMsMkJBQTJCLGlFQUFpRSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsaUVBQWlFLENBQUMsZUFBZSxDQUFDLDZCQUE2QixxREFBcUQsQ0FBQyxzQ0FBc0MscURBQXFELENBQUMsNENBQTRDLGVBQWUsQ0FBQyx3QkFBd0IscURBQXFELENBQUMsOENBQThDLHVEQUF1RCxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyw4Q0FBOEMscURBQXFELENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLDhDQUE4QyxxREFBcUQsQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsOENBQThDLHFEQUFxRCxDQUFDLGVBQWUsQ0FB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RG9SSixDQ2xSQTtFQUNJLHlCQUFBO0VBQ0EsY0FBQTtBRHFSSixDQ2pSQTtFQUNJLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHFCQUFBO1VBQUEseUJBQUE7QURvUkosQ0NuUkk7RUFDSSx5QkFBQTtBRHFSUiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9saXN0LXRhYmxlL2xpc3QtdGFibGUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWF0LWJhZGdlLWNvbnRlbnR7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsIC5tYXQtYmFkZ2UtY29udGVudHtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2UgLm1hdC1iYWRnZS1jb250ZW50e2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDEsLm1hdC1oZWFkbGluZSwubWF0LXR5cG9ncmFwaHkgaDF7Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMiwubWF0LXRpdGxlLC5tYXQtdHlwb2dyYXBoeSBoMntmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO21hcmdpbjowIDAgMTZweH0ubWF0LWgzLC5tYXQtc3ViaGVhZGluZy0yLC5tYXQtdHlwb2dyYXBoeSBoM3tmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO21hcmdpbjowIDAgMTZweH0ubWF0LWg0LC5tYXQtc3ViaGVhZGluZy0xLC5tYXQtdHlwb2dyYXBoeSBoNHtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO21hcmdpbjowIDAgMTZweH0ubWF0LWg1LC5tYXQtdHlwb2dyYXBoeSBoNXtmb250OjQwMCBjYWxjKDE0cHggKiAuODMpLzIwcHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2LC5tYXQtdHlwb2dyYXBoeSBoNntmb250OjQwMCBjYWxjKDE0cHggKiAuNjcpLzIwcHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktMiwubWF0LWJvZHktc3Ryb25ne2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1ib2R5LC5tYXQtYm9keS0xLC5tYXQtdHlwb2dyYXBoeXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtYm9keSBwLC5tYXQtYm9keS0xIHAsLm1hdC10eXBvZ3JhcGh5IHB7bWFyZ2luOjAgMCAxMnB4fS5tYXQtY2FwdGlvbiwubWF0LXNtYWxse2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1kaXNwbGF5LTQsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS00e2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zLC5tYXQtdHlwb2dyYXBoeSAubWF0LWRpc3BsYXktM3tmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0uMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTIsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0ye2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LS4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTEsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0xe2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcntmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtYnV0dG9uLC5tYXQtZmFiLC5tYXQtZmxhdC1idXR0b24sLm1hdC1pY29uLWJ1dHRvbiwubWF0LW1pbmktZmFiLC5tYXQtcmFpc2VkLWJ1dHRvbiwubWF0LXN0cm9rZWQtYnV0dG9ue2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xle2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWNhcmR7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlciAubWF0LWNhcmQtdGl0bGV7Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLWNvbnRlbnQsLm1hdC1jYXJkLXN1YnRpdGxle2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3h7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0IC5tYXQtY2hlY2tib3gtbGFiZWx7bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXB7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uLC5tYXQtY2hpcCAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbntmb250LXNpemU6MThweH0ubWF0LXRhYmxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxse2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGwsLm1hdC1mb290ZXItY2VsbHtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFye2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHl7Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsLC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbntmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGh7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxle2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVye2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudHtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtZm9ybS1maWVsZHtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtZm9ybS1maWVsZC13cmFwcGVye3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbiwubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbntmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24sLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCAubWF0LWljb24tYnV0dG9ue2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb257aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4e3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cysubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoLjc1KTt3aWR0aDoxMzMuMzMzMzQlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVye3RvcDotLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVse3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcntmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC13cmFwcGVye3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLWluZml4e3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSguNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSguNzUpO3dpZHRoOjEzMy4zMzMzNCV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSguNzUpO3dpZHRoOjEzMy4zMzMzNSV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcnttYXJnaW4tdG9wOi41NDE2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtbGFiZWx7dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0uNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0uNTkzNzVlbSkgc2NhbGUoLjc1KTt3aWR0aDoxMzMuMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLS41OTM3NGVtKSBzY2FsZSguNzUpO3dpZHRoOjEzMy4zMzMzNCV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzM0JX0ubWF0LWdyaWQtdGlsZS1mb290ZXIsLm1hdC1ncmlkLXRpbGUtaGVhZGVye2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWZvb3RlciAubWF0LWxpbmUsLm1hdC1ncmlkLXRpbGUtaGVhZGVyIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtZm9vdGVyIC5tYXQtbGluZTpudGgtY2hpbGQobisyKSwubWF0LWdyaWQtdGlsZS1oZWFkZXIgLm1hdC1saW5lOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50e21hcmdpbi10b3A6LS4wNjI1ZW19Lm1hdC1tZW51LWl0ZW17Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvciwubWF0LXBhZ2luYXRvci1wYWdlLXNpemUgLm1hdC1zZWxlY3QtdHJpZ2dlcntmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b257Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtc2VsZWN0e2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2Vye2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnR7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItaG9yaXpvbnRhbCwubWF0LXN0ZXBwZXItdmVydGljYWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcntmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLWxhYmVsLWVycm9ye2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXB7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLWxpbmt7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXIsLm1hdC10b29sYmFyIGgxLC5tYXQtdG9vbGJhciBoMiwubWF0LXRvb2xiYXIgaDMsLm1hdC10b29sYmFyIGg0LC5tYXQtdG9vbGJhciBoNSwubWF0LXRvb2xiYXIgaDZ7Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjttYXJnaW46MH0ubWF0LXRvb2x0aXB7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXR7Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbXtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbntmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW0gLm1hdC1saW5le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbSAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbntmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbiAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1zdWJoZWFkZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LWl0ZW17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LW9wdGlvbntmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LW9wdGlvbiAubWF0LWxpbmV7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1zdWJoZWFkZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbntmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbHtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtc2ltcGxlLXNuYWNrYmFye2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb257bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWV7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtbmVzdGVkLXRyZWUtbm9kZSwubWF0LXRyZWUtbm9kZXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGV7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVke292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudHtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2Zvcm06c2NhbGUoMCl9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpey5tYXQtcmlwcGxlLWVsZW1lbnR7ZGlzcGxheTpub25lfX0uY2RrLXZpc3VhbGx5LWhpZGRlbntib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyLC5jZGstb3ZlcmxheS1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJ7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3B7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKC4yNSwuOCwuMjUsMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5ne29wYWNpdHk6MX1AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKXsuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ3tvcGFjaXR5Oi42fX0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AsLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmd7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94e3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2t7cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0ey8qISovfUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5key8qISovfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb24tbmFtZTpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydH0uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uLW5hbWU6Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5ne2hlaWdodDphdXRvIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50O3BhZGRpbmc6MnB4IDAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ghaW1wb3J0YW50fS5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xKX0ubWF0LW9wdGlvbntjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1vcHRpb246Zm9jdXM6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSwubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfS5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1vcHRpb24ubWF0LWFjdGl2ZXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA0KTtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1vcHRpb24ubWF0LW9wdGlvbi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1wcmltYXJ5IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiMzZjUxYjV9Lm1hdC1hY2NlbnQgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7Y29sb3I6I2ZmNDA4MX0ubWF0LXdhcm4gLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7Y29sb3I6I2Y0NDMzNn0ubWF0LW9wdGdyb3VwLWxhYmVse2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LW9wdGdyb3VwLWRpc2FibGVkIC5tYXQtb3B0Z3JvdXAtbGFiZWx7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcHNldWRvLWNoZWNrYm94e2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LXBzZXVkby1jaGVja2JveDo6YWZ0ZXJ7Y29sb3I6I2ZhZmFmYX0ubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZHtjb2xvcjojYjBiMGIwfS5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLC5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRle2JhY2tncm91bmQ6IzNmNTFiNX0ubWF0LWFjY2VudCAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLC5tYXQtYWNjZW50IC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRle2JhY2tncm91bmQ6I2ZmNDA4MX0ubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZXtiYWNrZ3JvdW5kOiNmNDQzMzZ9Lm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZC5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkLC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZHtiYWNrZ3JvdW5kOiNiMGIwYjB9Lm1hdC1lbGV2YXRpb24tejB7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoxe2JveC1zaGFkb3c6MCAycHggMXB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCAxcHggMXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDNweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16Mntib3gtc2hhZG93OjAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejN7Ym94LXNoYWRvdzowIDNweCAzcHggLTJweCByZ2JhKDAsMCwwLC4yKSwwIDNweCA0cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggOHB4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXo0e2JveC1zaGFkb3c6MCAycHggNHB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCA0cHggNXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejV7Ym94LXNoYWRvdzowIDNweCA1cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDVweCA4cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMTRweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16Nntib3gtc2hhZG93OjAgM3B4IDVweCAtMXB4IHJnYmEoMCwwLDAsLjIpLDAgNnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMThweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16N3tib3gtc2hhZG93OjAgNHB4IDVweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgN3B4IDEwcHggMXB4IHJnYmEoMCwwLDAsLjE0KSwwIDJweCAxNnB4IDFweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejh7Ym94LXNoYWRvdzowIDVweCA1cHggLTNweCByZ2JhKDAsMCwwLC4yKSwwIDhweCAxMHB4IDFweCByZ2JhKDAsMCwwLC4xNCksMCAzcHggMTRweCAycHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXo5e2JveC1zaGFkb3c6MCA1cHggNnB4IC0zcHggcmdiYSgwLDAsMCwuMiksMCA5cHggMTJweCAxcHggcmdiYSgwLDAsMCwuMTQpLDAgM3B4IDE2cHggMnB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTB7Ym94LXNoYWRvdzowIDZweCA2cHggLTNweCByZ2JhKDAsMCwwLC4yKSwwIDEwcHggMTRweCAxcHggcmdiYSgwLDAsMCwuMTQpLDAgNHB4IDE4cHggM3B4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTF7Ym94LXNoYWRvdzowIDZweCA3cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDExcHggMTVweCAxcHggcmdiYSgwLDAsMCwuMTQpLDAgNHB4IDIwcHggM3B4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTJ7Ym94LXNoYWRvdzowIDdweCA4cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDEycHggMTdweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNXB4IDIycHggNHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTN7Ym94LXNoYWRvdzowIDdweCA4cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDEzcHggMTlweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNXB4IDI0cHggNHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTR7Ym94LXNoYWRvdzowIDdweCA5cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDE0cHggMjFweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNXB4IDI2cHggNHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTV7Ym94LXNoYWRvdzowIDhweCA5cHggLTVweCByZ2JhKDAsMCwwLC4yKSwwIDE1cHggMjJweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNnB4IDI4cHggNXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTZ7Ym94LXNoYWRvdzowIDhweCAxMHB4IC01cHggcmdiYSgwLDAsMCwuMiksMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwwLDAsLjE0KSwwIDZweCAzMHB4IDVweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejE3e2JveC1zaGFkb3c6MCA4cHggMTFweCAtNXB4IHJnYmEoMCwwLDAsLjIpLDAgMTdweCAyNnB4IDJweCByZ2JhKDAsMCwwLC4xNCksMCA2cHggMzJweCA1cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoxOHtib3gtc2hhZG93OjAgOXB4IDExcHggLTVweCByZ2JhKDAsMCwwLC4yKSwwIDE4cHggMjhweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgN3B4IDM0cHggNnB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTl7Ym94LXNoYWRvdzowIDlweCAxMnB4IC02cHggcmdiYSgwLDAsMCwuMiksMCAxOXB4IDI5cHggMnB4IHJnYmEoMCwwLDAsLjE0KSwwIDdweCAzNnB4IDZweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejIwe2JveC1zaGFkb3c6MCAxMHB4IDEzcHggLTZweCByZ2JhKDAsMCwwLC4yKSwwIDIwcHggMzFweCAzcHggcmdiYSgwLDAsMCwuMTQpLDAgOHB4IDM4cHggN3B4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MjF7Ym94LXNoYWRvdzowIDEwcHggMTNweCAtNnB4IHJnYmEoMCwwLDAsLjIpLDAgMjFweCAzM3B4IDNweCByZ2JhKDAsMCwwLC4xNCksMCA4cHggNDBweCA3cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoyMntib3gtc2hhZG93OjAgMTBweCAxNHB4IC02cHggcmdiYSgwLDAsMCwuMiksMCAyMnB4IDM1cHggM3B4IHJnYmEoMCwwLDAsLjE0KSwwIDhweCA0MnB4IDdweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejIze2JveC1zaGFkb3c6MCAxMXB4IDE0cHggLTdweCByZ2JhKDAsMCwwLC4yKSwwIDIzcHggMzZweCAzcHggcmdiYSgwLDAsMCwuMTQpLDAgOXB4IDQ0cHggOHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MjR7Ym94LXNoYWRvdzowIDExcHggMTVweCAtN3B4IHJnYmEoMCwwLDAsLjIpLDAgMjRweCAzOHB4IDNweCByZ2JhKDAsMCwwLC4xNCksMCA5cHggNDZweCA4cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtYXBwLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXRoZW1lLWxvYWRlZC1tYXJrZXJ7ZGlzcGxheTpub25lfS5tYXQtYXV0b2NvbXBsZXRlLXBhbmVse2JhY2tncm91bmQ6I2ZmZjtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDJweCA0cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDRweCA1cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtYWN0aXZlKTpub3QoOmhvdmVyKXtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LWFjdGl2ZSk6bm90KDpob3Zlcik6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1iYWRnZS1jb250ZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZDojM2Y1MWI1fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKXsubWF0LWJhZGdlLWNvbnRlbnR7b3V0bGluZTpzb2xpZCAxcHg7Ym9yZGVyLXJhZGl1czowfX0ubWF0LWJhZGdlLWFjY2VudCAubWF0LWJhZGdlLWNvbnRlbnR7YmFja2dyb3VuZDojZmY0MDgxO2NvbG9yOiNmZmZ9Lm1hdC1iYWRnZS13YXJuIC5tYXQtYmFkZ2UtY29udGVudHtjb2xvcjojZmZmO2JhY2tncm91bmQ6I2Y0NDMzNn0ubWF0LWJhZGdle3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtYmFkZ2UtaGlkZGVuIC5tYXQtYmFkZ2UtY29udGVudHtkaXNwbGF5Om5vbmV9Lm1hdC1iYWRnZS1kaXNhYmxlZCAubWF0LWJhZGdlLWNvbnRlbnR7YmFja2dyb3VuZDojYjliOWI5O2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LWJhZGdlLWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0O3RyYW5zZm9ybTpzY2FsZSguNik7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1hdC1iYWRnZS1jb250ZW50Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLC5uZy1hbmltYXRlLWRpc2FibGVkIC5tYXQtYmFkZ2UtY29udGVudHt0cmFuc2l0aW9uOm5vbmV9Lm1hdC1iYWRnZS1jb250ZW50Lm1hdC1iYWRnZS1hY3RpdmV7dHJhbnNmb3JtOm5vbmV9Lm1hdC1iYWRnZS1zbWFsbCAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtsaW5lLWhlaWdodDoxNnB4fS5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWFib3ZlIC5tYXQtYmFkZ2UtY29udGVudHt0b3A6LThweH0ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1iZWxvdyAubWF0LWJhZGdlLWNvbnRlbnR7Ym90dG9tOi04cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi0xNnB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6YXV0bztyaWdodDotMTZweH0ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6LTE2cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LTE2cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi04cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi04cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0Oi04cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LThweH0ubWF0LWJhZGdlLW1lZGl1bSAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDtsaW5lLWhlaWdodDoyMnB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1hYm92ZSAubWF0LWJhZGdlLWNvbnRlbnR7dG9wOi0xMXB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWxvdyAubWF0LWJhZGdlLWNvbnRlbnR7Ym90dG9tOi0xMXB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTIycHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6YXV0bztyaWdodDotMjJweH0ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0Oi0yMnB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMjJweH0ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi0xMXB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0OmF1dG87cmlnaHQ6LTExcHh9Lm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMTFweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LTExcHh9Lm1hdC1iYWRnZS1sYXJnZSAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtsaW5lLWhlaWdodDoyOHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWFib3ZlIC5tYXQtYmFkZ2UtY29udGVudHt0b3A6LTE0cHh9Lm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYmVsb3cgLm1hdC1iYWRnZS1jb250ZW50e2JvdHRvbTotMTRweH0ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTI4cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi0yOHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMjhweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMjhweH0ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTE0cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi0xNHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMTRweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMTRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJ7Ym94LXNoYWRvdzowIDhweCAxMHB4IC01cHggcmdiYSgwLDAsMCwuMiksMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwwLDAsLjE0KSwwIDZweCAzMHB4IDVweCByZ2JhKDAsMCwwLC4xMik7YmFja2dyb3VuZDojZmZmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWJ1dHRvbiwubWF0LWljb24tYnV0dG9uLC5tYXQtc3Ryb2tlZC1idXR0b257Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOjAgMH0ubWF0LWJ1dHRvbi5tYXQtcHJpbWFyeSwubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXByaW1hcnl7Y29sb3I6IzNmNTFiNX0ubWF0LWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtaWNvbi1idXR0b24ubWF0LWFjY2VudCwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1hY2NlbnR7Y29sb3I6I2ZmNDA4MX0ubWF0LWJ1dHRvbi5tYXQtd2FybiwubWF0LWljb24tYnV0dG9uLm1hdC13YXJuLC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn0ubWF0LWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LWJ1dHRvbi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1idXR0b24ubWF0LXdhcm5bZGlzYWJsZWRdLC5tYXQtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF0sLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5W2Rpc2FibGVkXSwubWF0LWljb24tYnV0dG9uLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF0sLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1wcmltYXJ5W2Rpc2FibGVkXSwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LXN0cm9rZWQtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF17Y29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjV9Lm1hdC1idXR0b24ubWF0LWFjY2VudCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24ubWF0LWFjY2VudCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWFjY2VudCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6I2ZmNDA4MX0ubWF0LWJ1dHRvbi5tYXQtd2FybiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24ubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC13YXJuIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtYnV0dG9uW2Rpc2FibGVkXSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtYnV0dG9uIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1pY29uLWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtc3Ryb2tlZC1idXR0b24gLm1hdC1yaXBwbGUtZWxlbWVudHtvcGFjaXR5Oi4xO2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfS5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZDojMDAwfS5tYXQtc3Ryb2tlZC1idXR0b246bm90KFtkaXNhYmxlZF0pe2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1mYWIsLm1hdC1mbGF0LWJ1dHRvbiwubWF0LW1pbmktZmFiLC5tYXQtcmFpc2VkLWJ1dHRvbntjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtZmFiLm1hdC1wcmltYXJ5LC5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnksLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeSwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnl7Y29sb3I6I2ZmZn0ubWF0LWZhYi5tYXQtYWNjZW50LC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudCwubWF0LW1pbmktZmFiLm1hdC1hY2NlbnQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1hY2NlbnR7Y29sb3I6I2ZmZn0ubWF0LWZhYi5tYXQtd2FybiwubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuLC5tYXQtbWluaS1mYWIubWF0LXdhcm4sLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJue2NvbG9yOiNmZmZ9Lm1hdC1mYWIubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1mYWIubWF0LXByaW1hcnlbZGlzYWJsZWRdLC5tYXQtZmFiLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LWZhYltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtbWluaS1mYWIubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1taW5pLWZhYi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1taW5pLWZhYltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnlbZGlzYWJsZWRdLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1yYWlzZWQtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF17Y29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtZmFiLm1hdC1wcmltYXJ5LC5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnksLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeSwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtZmFiLm1hdC1hY2NlbnQsLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtbWluaS1mYWIubWF0LWFjY2VudCwubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC1mYWIubWF0LXdhcm4sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybiwubWF0LW1pbmktZmFiLm1hdC13YXJuLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1mYWIubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1mYWIubWF0LXByaW1hcnlbZGlzYWJsZWRdLC5tYXQtZmFiLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LWZhYltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtbWluaS1mYWIubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1taW5pLWZhYi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1taW5pLWZhYltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnlbZGlzYWJsZWRdLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1yYWlzZWQtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1mYWIubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm1hdC1mYWIubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtbWluaS1mYWIubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWZhYi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtZmxhdC1idXR0b24ubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LW1pbmktZmFiLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWZsYXQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pLC5tYXQtc3Ryb2tlZC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtcmFpc2VkLWJ1dHRvbjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1yYWlzZWQtYnV0dG9uOm5vdChbZGlzYWJsZWRdKTphY3RpdmU6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDVweCA1cHggLTNweCByZ2JhKDAsMCwwLC4yKSwwIDhweCAxMHB4IDFweCByZ2JhKDAsMCwwLC4xNCksMCAzcHggMTRweCAycHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtcmFpc2VkLWJ1dHRvbltkaXNhYmxlZF06bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtZmFiOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pLC5tYXQtbWluaS1mYWI6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDNweCA1cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDZweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDE4cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1mYWI6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSwubWF0LW1pbmktZmFiOm5vdChbZGlzYWJsZWRdKTphY3RpdmU6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDdweCA4cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDEycHggMTdweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNXB4IDIycHggNHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWZhYltkaXNhYmxlZF06bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksLm1hdC1taW5pLWZhYltkaXNhYmxlZF06bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCwubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZXtib3gtc2hhZG93OjAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQsLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZHtib3gtc2hhZG93Om5vbmV9Lm1hdC1idXR0b24tdG9nZ2xle2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LWJ1dHRvbi10b2dnbGUgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmR7Y29sb3I6cmdiYSgwLDAsMCwuODcpO2JhY2tncm91bmQ6I2ZmZn0ubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlKy5tYXQtYnV0dG9uLXRvZ2dsZXtib3JkZXItbGVmdDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfVtkaXI9cnRsXSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUrLm1hdC1idXR0b24tdG9nZ2xle2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWJ1dHRvbi10b2dnbGUtdmVydGljYWwgLm1hdC1idXR0b24tdG9nZ2xlKy5tYXQtYnV0dG9uLXRvZ2dsZXtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodDpub25lO2JvcmRlci10b3A6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmR7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4yNik7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJke2JhY2tncm91bmQ6I2ZmZn0ubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOiNiZGJkYmR9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQsLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZHtib3JkZXI6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWNhcmR7YmFja2dyb3VuZDojZmZmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWNhcmQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDJweCAxcHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDFweCAxcHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggM3B4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtY2FyZC5tYXQtY2FyZC1mbGF0Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MCAwIDAgMCByZ2JhKDAsMCwwLC4yKSwwIDAgMCAwIHJnYmEoMCwwLDAsLjE0KSwwIDAgMCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWNhcmQtc3VidGl0bGV7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtY2hlY2tib3gtZnJhbWV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWNoZWNrYm94LWNoZWNrbWFya3tmaWxsOiNmYWZhZmF9Lm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aHtzdHJva2U6I2ZhZmFmYSFpbXBvcnRhbnR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDpibGFjay1vbi13aGl0ZSl7Lm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aHtzdHJva2U6IzAwMCFpbXBvcnRhbnR9fS5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYX0ubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXByaW1hcnkgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtcHJpbWFyeSAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCwubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtd2FybiAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC13YXJuIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1jaGVja2JveC1kaXNhYmxlZC5tYXQtY2hlY2tib3gtY2hlY2tlZCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsLm1hdC1jaGVja2JveC1kaXNhYmxlZC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojYjBiMGIwfS5tYXQtY2hlY2tib3gtZGlzYWJsZWQ6bm90KC5tYXQtY2hlY2tib3gtY2hlY2tlZCkgLm1hdC1jaGVja2JveC1mcmFtZXtib3JkZXItY29sb3I6I2IwYjBiMH0ubWF0LWNoZWNrYm94LWRpc2FibGVkIC5tYXQtY2hlY2tib3gtbGFiZWx7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKXsubWF0LWNoZWNrYm94LWRpc2FibGVke29wYWNpdHk6LjV9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKXsubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZDowIDB9fS5tYXQtY2hlY2tib3ggLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1hdC1jaGVja2JveC1jaGVja2VkOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtY2hlY2tib3g6YWN0aXZlOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQ6IzNmNTFiNX0ubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWNoZWNrYm94OmFjdGl2ZTpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQ6I2ZmNDA4MX0ubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1jaGVja2JveDphY3RpdmU6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDojZjQ0MzM2fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcHtiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOnJnYmEoMCwwLDAsLjg3KTtvcGFjaXR5Oi40fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcDpub3QoLm1hdC1jaGlwLWRpc2FibGVkKTphY3RpdmV7Ym94LXNoYWRvdzowIDNweCAzcHggLTJweCByZ2JhKDAsMCwwLC4yKSwwIDNweCA0cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggOHB4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcDpub3QoLm1hdC1jaGlwLWRpc2FibGVkKSAubWF0LWNoaXAtcmVtb3ZlOmhvdmVye29wYWNpdHk6LjU0fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1kaXNhYmxlZHtvcGFjaXR5Oi40fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcDo6YWZ0ZXJ7YmFja2dyb3VuZDojMDAwfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjU7Y29sb3I6I2ZmZn0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXByaW1hcnkgLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXdhcm57YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2O2NvbG9yOiNmZmZ9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC13YXJuIC5tYXQtY2hpcC1yZW1vdmV7Y29sb3I6I2ZmZjtvcGFjaXR5Oi40fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxO2NvbG9yOiNmZmZ9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnQgLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tYXQtdGFibGV7YmFja2dyb3VuZDojZmZmfS5tYXQtdGFibGUgdGJvZHksLm1hdC10YWJsZSB0Zm9vdCwubWF0LXRhYmxlIHRoZWFkLC5tYXQtdGFibGUtc3RpY2t5LFttYXQtZm9vdGVyLXJvd10sW21hdC1oZWFkZXItcm93XSxbbWF0LXJvd10sbWF0LWZvb3Rlci1yb3csbWF0LWhlYWRlci1yb3csbWF0LXJvd3tiYWNrZ3JvdW5kOmluaGVyaXR9bWF0LWZvb3Rlci1yb3csbWF0LWhlYWRlci1yb3csbWF0LXJvdyx0ZC5tYXQtY2VsbCx0ZC5tYXQtZm9vdGVyLWNlbGwsdGgubWF0LWhlYWRlci1jZWxse2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtaGVhZGVyLWNlbGx7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtY2VsbCwubWF0LWZvb3Rlci1jZWxse2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWNhbGVuZGFyLWFycm93e2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24sLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24sLm1hdC1kYXRlcGlja2VyLXRvZ2dsZXtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJ7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyLWRpdmlkZXI6OmFmdGVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTIpfS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudHtjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpe2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpLC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKSwubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3Zlcj4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDQpfS5tYXQtY2FsZW5kYXItYm9keS10b2RheTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCl7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjE4KX0ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1O2NvbG9yOiNmZmZ9Lm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNjMsODEsMTgxLC40KX0ubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZn0ubWF0LWRhdGVwaWNrZXItY29udGVudHtib3gtc2hhZG93OjAgMnB4IDRweCAtMXB4IHJnYmEoMCwwLDAsLjIpLDAgNHB4IDVweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxO2NvbG9yOiNmZmZ9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQ+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsNjQsMTI5LC40KX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzY7Y29sb3I6I2ZmZn0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQ+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDQsNjcsNTQsLjQpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50LXRvdWNoe2JveC1zaGFkb3c6MCAwIDAgMCByZ2JhKDAsMCwwLC4yKSwwIDAgMCAwIHJnYmEoMCwwLDAsLjE0KSwwIDAgMCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZXtjb2xvcjojM2Y1MWI1fS5tYXQtZGF0ZXBpY2tlci10b2dnbGUtYWN0aXZlLm1hdC1hY2NlbnR7Y29sb3I6I2ZmNDA4MX0ubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZS5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fS5tYXQtZGlhbG9nLWNvbnRhaW5lcntib3gtc2hhZG93OjAgMTFweCAxNXB4IC03cHggcmdiYSgwLDAsMCwuMiksMCAyNHB4IDM4cHggM3B4IHJnYmEoMCwwLDAsLjE0KSwwIDlweCA0NnB4IDhweCByZ2JhKDAsMCwwLC4xMik7YmFja2dyb3VuZDojZmZmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWRpdmlkZXJ7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1kaXZpZGVyLXZlcnRpY2Fse2JvcmRlci1yaWdodC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1leHBhbnNpb24tcGFuZWx7YmFja2dyb3VuZDojZmZmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1hY3Rpb24tcm93e2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtZXhwYW5zaW9uLXBhbmVsIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLC5tYXQtZXhwYW5zaW9uLXBhbmVsIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSksLm1hdC1leHBhbnNpb24tcGFuZWw6bm90KC5tYXQtZXhwYW5kZWQpIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pe2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfUBtZWRpYSAoaG92ZXI6bm9uZSl7Lm1hdC1leHBhbnNpb24tcGFuZWw6bm90KC5tYXQtZXhwYW5kZWQpOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVye2JhY2tncm91bmQ6I2ZmZn19Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxle2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWV4cGFuc2lvbi1pbmRpY2F0b3I6OmFmdGVyLC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbntjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW2FyaWEtZGlzYWJsZWQ9dHJ1ZV17Y29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlclthcmlhLWRpc2FibGVkPXRydWVdIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbiwubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGV7Y29sb3I6aW5oZXJpdH0ubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6cmdiYSgwLDAsMCwuNil9Lm1hdC1oaW50e2NvbG9yOnJnYmEoMCwwLDAsLjYpfS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6IzNmNTFiNX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLm1hdC1hY2NlbnR7Y29sb3I6I2ZmNDA4MX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLm1hdC13YXJue2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yZXF1aXJlZC1tYXJrZXJ7Y29sb3I6I2ZmNDA4MX0ubWF0LWZvcm0tZmllbGQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6IzNmNTFiNX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZS5tYXQtYWNjZW50e2JhY2tncm91bmQtY29sb3I6I2ZmNDA4MX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZS5tYXQtd2FybntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvY3VzZWQ6bm90KC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkKSAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye2NvbG9yOiMzZjUxYjV9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvY3VzZWQ6bm90KC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkKS5tYXQtYWNjZW50IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6I2ZmNDA4MX0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpLm1hdC13YXJuIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtbGFiZWwgLm1hdC1mb3JtLWZpZWxkLXJlcXVpcmVkLW1hcmtlciwubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtbGFiZWwubWF0LWFjY2VudHtjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUsLm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZS5tYXQtYWNjZW50e2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LWVycm9ye2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtaGludHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC40Mil9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgwLDAsMCwuNDIpIDAscmdiYSgwLDAsMCwuNDIpIDMzJSx0cmFuc3BhcmVudCAwKTtiYWNrZ3JvdW5kLXNpemU6NHB4IDEwMCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjQyKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJnYmEoMCwwLDAsLjQyKSAwLHJnYmEoMCwwLDAsLjQyKSAzMyUsdHJhbnNwYXJlbnQgMCk7YmFja2dyb3VuZC1zaXplOjRweCAxMDAlO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLWZsZXh7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtZmxleHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjAyKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjQyKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2NvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiMzZjUxYjV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZC5tYXQtYWNjZW50IC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmZjQwODF9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZC5tYXQtd2FybiAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtaW52YWxpZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmV7Y29sb3I6cmdiYSgwLDAsMCwuMDYpfS5tYXQtaWNvbi5tYXQtcHJpbWFyeXtjb2xvcjojM2Y1MWI1fS5tYXQtaWNvbi5tYXQtYWNjZW50e2NvbG9yOiNmZjQwODF9Lm1hdC1pY29uLm1hdC13YXJue2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciwubWF0LWlucHV0LWVsZW1lbnQ6ZGlzYWJsZWR7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtaW5wdXQtZWxlbWVudHtjYXJldC1jb2xvcjojM2Y1MWI1fS5tYXQtaW5wdXQtZWxlbWVudDo6cGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSgwLDAsMCwuNDIpfS5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDAsMCwwLC40Mil9Lm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoMCwwLDAsLjQyKX0ubWF0LWlucHV0LWVsZW1lbnQ6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoMCwwLDAsLjQyKX0ubWF0LWFjY2VudCAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6I2ZmNDA4MX0ubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWlucHV0LWVsZW1lbnQsLm1hdC13YXJuIC5tYXQtaW5wdXQtZWxlbWVudHtjYXJldC1jb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZjQ0MzM2fS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1pdGVte2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3Qtb3B0aW9ue2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWxpc3QtYmFzZSAubWF0LXN1YmhlYWRlcntjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1saXN0LWl0ZW0tZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5tYXQtYWN0aW9uLWxpc3QgLm1hdC1saXN0LWl0ZW06Zm9jdXMsLm1hdC1hY3Rpb24tbGlzdCAubWF0LWxpc3QtaXRlbTpob3ZlciwubWF0LWxpc3Qtb3B0aW9uOmZvY3VzLC5tYXQtbGlzdC1vcHRpb246aG92ZXIsLm1hdC1uYXYtbGlzdCAubWF0LWxpc3QtaXRlbTpmb2N1cywubWF0LW5hdi1saXN0IC5tYXQtbGlzdC1pdGVtOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfS5tYXQtbWVudS1wYW5lbHtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1tZW51LXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MCAycHggNHB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCA0cHggNXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1tZW51LWl0ZW17YmFja2dyb3VuZDowIDA7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXSwubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF06OmFmdGVye2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LW1lbnUtaXRlbSAubWF0LWljb24tbm8tY29sb3IsLm1hdC1tZW51LWl0ZW0tc3VibWVudS10cmlnZ2VyOjphZnRlcntjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1tZW51LWl0ZW0taGlnaGxpZ2h0ZWQ6bm90KFtkaXNhYmxlZF0pLC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSwubWF0LW1lbnUtaXRlbS5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSwubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1wYWdpbmF0b3J7YmFja2dyb3VuZDojZmZmfS5tYXQtcGFnaW5hdG9yLC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSAubWF0LXNlbGVjdC10cmlnZ2Vye2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LXBhZ2luYXRvci1kZWNyZW1lbnQsLm1hdC1wYWdpbmF0b3ItaW5jcmVtZW50e2JvcmRlci10b3A6MnB4IHNvbGlkIHJnYmEoMCwwLDAsLjU0KTtib3JkZXItcmlnaHQ6MnB4IHNvbGlkIHJnYmEoMCwwLDAsLjU0KX0ubWF0LXBhZ2luYXRvci1maXJzdCwubWF0LXBhZ2luYXRvci1sYXN0e2JvcmRlci10b3A6MnB4IHNvbGlkIHJnYmEoMCwwLDAsLjU0KX0ubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1kZWNyZW1lbnQsLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItZmlyc3QsLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItaW5jcmVtZW50LC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtcGFnaW5hdG9yLWxhc3R7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5ke2ZpbGw6I2M1Y2FlOX0ubWF0LXByb2dyZXNzLWJhci1idWZmZXJ7YmFja2dyb3VuZC1jb2xvcjojYzVjYWU5fS5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVye2JhY2tncm91bmQtY29sb3I6IzNmNTFiNX0ubWF0LXByb2dyZXNzLWJhci5tYXQtYWNjZW50IC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmR7ZmlsbDojZmY4MGFifS5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC1hY2NlbnQgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVye2JhY2tncm91bmQtY29sb3I6I2ZmODBhYn0ubWF0LXByb2dyZXNzLWJhci5tYXQtYWNjZW50IC5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2ZmNDA4MX0ubWF0LXByb2dyZXNzLWJhci5tYXQtd2FybiAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5ke2ZpbGw6I2ZmY2RkMn0ubWF0LXByb2dyZXNzLWJhci5tYXQtd2FybiAubWF0LXByb2dyZXNzLWJhci1idWZmZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZjZGQyfS5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC13YXJuIC5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LXByb2dyZXNzLXNwaW5uZXIgY2lyY2xlLC5tYXQtc3Bpbm5lciBjaXJjbGV7c3Ryb2tlOiMzZjUxYjV9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1hY2NlbnQgY2lyY2xlLC5tYXQtc3Bpbm5lci5tYXQtYWNjZW50IGNpcmNsZXtzdHJva2U6I2ZmNDA4MX0ubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXdhcm4gY2lyY2xlLC5tYXQtc3Bpbm5lci5tYXQtd2FybiBjaXJjbGV7c3Ryb2tlOiNmNDQzMzZ9Lm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6IzNmNTFiNX0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5OmFjdGl2ZSAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6IzNmNTFiNX0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjojZmY0MDgxfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudCAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudDphY3RpdmUgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4ubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOiNmNDQzMzZ9Lm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4gLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4gLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudDpub3QoLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSksLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4ubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2FybjphY3RpdmUgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZC5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZCAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQgLm1hdC1yYWRpby1sYWJlbC1jb250ZW50e2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXJhZGlvLWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6IzAwMH0ubWF0LXNlbGVjdC12YWx1ZXtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1zZWxlY3QtcGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSgwLDAsMCwuNDIpfS5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LXZhbHVle2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1zZWxlY3QtcGFuZWx7YmFja2dyb3VuZDojZmZmfS5tYXQtc2VsZWN0LXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MCAycHggNHB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCA0cHggNXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkLm1hdC1wcmltYXJ5IC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiMzZjUxYjV9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkLm1hdC1hY2NlbnQgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6I2ZmNDA4MX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQubWF0LXdhcm4gLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1pbnZhbGlkIC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkIC5tYXQtc2VsZWN0Lm1hdC1zZWxlY3QtZGlzYWJsZWQgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtZHJhd2VyLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmE7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtZHJhd2Vye2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1kcmF3ZXIubWF0LWRyYXdlci1wdXNoe2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWF0LWRyYXdlcjpub3QoLm1hdC1kcmF3ZXItc2lkZSl7Ym94LXNoYWRvdzowIDhweCAxMHB4IC01cHggcmdiYSgwLDAsMCwuMiksMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwwLDAsLjE0KSwwIDZweCAzMHB4IDVweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1kcmF3ZXItc2lkZXtib3JkZXItcmlnaHQ6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWRyYXdlci1zaWRlLm1hdC1kcmF3ZXItZW5ke2JvcmRlci1sZWZ0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMik7Ym9yZGVyLXJpZ2h0Om5vbmV9W2Rpcj1ydGxdIC5tYXQtZHJhd2VyLXNpZGV7Ym9yZGVyLWxlZnQ6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKTtib3JkZXItcmlnaHQ6bm9uZX1bZGlyPXJ0bF0gLm1hdC1kcmF3ZXItc2lkZS5tYXQtZHJhd2VyLWVuZHtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZHJhd2VyLWJhY2tkcm9wLm1hdC1kcmF3ZXItc2hvd257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsNjQsMTI5LC41NCl9Lm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC1zbGlkZS10b2dnbGUubWF0LXByaW1hcnkubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1wcmltYXJ5Lm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNjMsODEsMTgxLC41NCl9Lm1hdC1zbGlkZS10b2dnbGUubWF0LXByaW1hcnkubWF0LWNoZWNrZWQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjV9Lm1hdC1zbGlkZS10b2dnbGUubWF0LXdhcm4ubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC13YXJuLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ0LDY3LDU0LC41NCl9Lm1hdC1zbGlkZS10b2dnbGUubWF0LXdhcm4ubWF0LWNoZWNrZWQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1zbGlkZS10b2dnbGU6bm90KC5tYXQtY2hlY2tlZCkgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7Ym94LXNoYWRvdzowIDJweCAxcHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDFweCAxcHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggM3B4IDAgcmdiYSgwLDAsMCwuMTIpO2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYX0ubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1wcmltYXJ5IC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLC5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci10cmFjay1maWxse2JhY2tncm91bmQtY29sb3I6IzNmNTFiNX0ubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtjb2xvcjojZmZmfS5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLC5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRyYWNrLWZpbGx7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7Y29sb3I6I2ZmZn0ubWF0LXdhcm4gLm1hdC1zbGlkZXItdGh1bWIsLm1hdC13YXJuIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLC5tYXQtd2FybiAubWF0LXNsaWRlci10cmFjay1maWxse2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LXdhcm4gLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtjb2xvcjojZmZmfS5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSw2NCwxMjksLjIpfS5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kLC5tYXQtc2xpZGVyOmhvdmVyIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCwubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10cmFjay1maWxse2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtc2xpZGVyLWRpc2FibGVkOmhvdmVyIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1zbGlkZXItbWluLXZhbHVlIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyAubWF0LXNsaWRlci10aHVtYiwubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtc2xpZGVyLW1pbi12YWx1ZS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZy5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpIC5tYXQtc2xpZGVyLXRodW1ie2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4yNik7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyk6aG92ZXIgLm1hdC1zbGlkZXItdGh1bWJ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpLmNkay1mb2N1c2VkLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKTpob3Zlci5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1ie2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1zbGlkZXItaGFzLXRpY2tzIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVye2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC43KX0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tze2JhY2tncm91bmQtaW1hZ2U6cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDAsMCwwLC43KSxyZ2JhKDAsMCwwLC43KSAycHgsdHJhbnNwYXJlbnQgMCx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTotbW96LXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoLjAwMDFkZWcscmdiYSgwLDAsMCwuNykscmdiYSgwLDAsMCwuNykgMnB4LHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQpfS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRpY2tze2JhY2tncm91bmQtaW1hZ2U6cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20scmdiYSgwLDAsMCwuNykscmdiYSgwLDAsMCwuNykgMnB4LHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQpfS5tYXQtc3RlcC1oZWFkZXIuY2RrLWtleWJvYXJkLWZvY3VzZWQsLm1hdC1zdGVwLWhlYWRlci5jZGstcHJvZ3JhbS1mb2N1c2VkLC5tYXQtc3RlcC1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNCl9QG1lZGlhIChob3Zlcjpub25lKXsubWF0LXN0ZXAtaGVhZGVyOmhvdmVye2JhY2tncm91bmQ6MCAwfX0ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1sYWJlbCwubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1vcHRpb25hbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjU0KTtjb2xvcjojZmZmfS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsLm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdHtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjU7Y29sb3I6I2ZmZn0ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVycm9ye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2Y0NDMzNn0ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1sYWJlbC5tYXQtc3RlcC1sYWJlbC1hY3RpdmV7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWVycm9ye2NvbG9yOiNmNDQzMzZ9Lm1hdC1zdGVwcGVyLWhvcml6b250YWwsLm1hdC1zdGVwcGVyLXZlcnRpY2Fse2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWF0LXN0ZXBwZXItdmVydGljYWwtbGluZTo6YmVmb3Jle2JvcmRlci1sZWZ0LWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmFmdGVyLC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcjo6YmVmb3JlLC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLWxpbmV7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1zb3J0LWhlYWRlci1hcnJvd3tjb2xvcjojNzU3NTc1fS5tYXQtdGFiLWhlYWRlciwubWF0LXRhYi1uYXYtYmFye2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKX0ubWF0LXRhYi1ncm91cC1pbnZlcnRlZC1oZWFkZXIgLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlciAubWF0LXRhYi1uYXYtYmFye2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKTtib3JkZXItYm90dG9tOm5vbmV9Lm1hdC10YWItbGFiZWwsLm1hdC10YWItbGlua3tjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC10YWItZ3JvdXBbY2xhc3MqPW1hdC1iYWNrZ3JvdW5kLV0gLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXJbY2xhc3MqPW1hdC1iYWNrZ3JvdW5kLV17Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci10b3A6bm9uZX0ubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE5NywyMDIsMjMzLC4zKX0ubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LWluay1iYXIsLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5Lm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwxMjgsMTcxLC4zKX0ubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2ZmNDA4MX0ubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50Lm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LWluay1iYXIsLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50Lm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDIwNSwyMTAsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC10YWItZ3JvdXAubWF0LXdhcm4ubWF0LWJhY2tncm91bmQtd2FybiAubWF0LWluay1iYXIsLm1hdC10YWItbmF2LWJhci5tYXQtd2Fybi5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTk3LDIwMiwyMzMsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24sLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rcywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGlua3N7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGlua3tjb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6I2ZmZn0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDEyOCwxNzEsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rcywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGlua3N7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluaywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5re2NvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDIwNSwyMTAsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24sLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rcywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGlua3N7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGlua3tjb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6I2ZmZn0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX0ubWF0LXRvb2xiYXJ7YmFja2dyb3VuZDojZjVmNWY1O2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXRvb2xiYXIubWF0LXByaW1hcnl7YmFja2dyb3VuZDojM2Y1MWI1O2NvbG9yOiNmZmZ9Lm1hdC10b29sYmFyLm1hdC1hY2NlbnR7YmFja2dyb3VuZDojZmY0MDgxO2NvbG9yOiNmZmZ9Lm1hdC10b29sYmFyLm1hdC13YXJue2JhY2tncm91bmQ6I2Y0NDMzNjtjb2xvcjojZmZmfS5tYXQtdG9vbGJhciAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ubWF0LXRvb2xiYXIgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3csLm1hdC10b29sYmFyIC5tYXQtc2VsZWN0LWFycm93LC5tYXQtdG9vbGJhciAubWF0LXNlbGVjdC12YWx1ZXtjb2xvcjppbmhlcml0fS5tYXQtdG9vbGJhciAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6Y3VycmVudENvbG9yfS5tYXQtdG9vbHRpcHtiYWNrZ3JvdW5kOnJnYmEoOTcsOTcsOTcsLjkpfS5tYXQtdHJlZXtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1uZXN0ZWQtdHJlZS1ub2RlLC5tYXQtdHJlZS1ub2Rle2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXNuYWNrLWJhci1jb250YWluZXJ7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyk7YmFja2dyb3VuZDojMzIzMjMyO2JveC1zaGFkb3c6MCAzcHggNXB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCA2cHggMTBweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxOHB4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbntjb2xvcjojZmY0MDgxfSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi5mYyB7XG4gIGRpcmVjdGlvbjogbHRyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZmMtcnRsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbmJvZHkgLmZjIHtcbiAgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBvdmVyY29tZSBqcXVpICovXG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1oaWdobGlnaHQge1xuICAvKiB3aGVuIHVzZXIgaXMgc2VsZWN0aW5nIGNlbGxzICovXG4gIGJhY2tncm91bmQ6ICNiY2U4ZjE7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLmZjLWJnZXZlbnQge1xuICAvKiBkZWZhdWx0IGxvb2sgZm9yIGJhY2tncm91bmQgZXZlbnRzICovXG4gIGJhY2tncm91bmQ6ICM4ZmRmODI7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLmZjLW5vbmJ1c2luZXNzIHtcbiAgLyogZGVmYXVsdCBsb29rIGZvciBub24tYnVzaW5lc3MtaG91cnMgYXJlYXMgKi9cbiAgLyogd2lsbCBpbmhlcml0IC5mYy1iZ2V2ZW50J3Mgc3R5bGVzICovXG4gIGJhY2tncm91bmQ6ICNkN2Q3ZDc7XG59XG5cbi8qIFBvcG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLmZjLXBvcG92ZXIgLmZjLWhlYWRlciB7XG4gIC8qIFRPRE86IGJlIG1vcmUgY29uc2lzdGVudCB3aXRoIGZjLWhlYWQvZmMtYm9keSAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG59XG5cbi5mYy1ydGwgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtdGl0bGUge1xuICBtYXJnaW46IDAgMnB4O1xufVxuXG4uZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy1jbG9zZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC42NTtcbiAgZm9udC1zaXplOiAxLjFlbTtcbn1cblxuLyogTWlzYyBSZXVzYWJsZSBDb21wb25lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtZGl2aWRlciB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xufVxuXG5oci5mYy1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMCAycHg7XG4gIC8qIGhlaWdodCBpcyB1bnJlbGlhYmxlIGFjcm9zcyBicm93c2Vycywgc28gdXNlIHBhZGRpbmcgKi9cbiAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbn1cblxuLmZjLWJnLFxuLmZjLWJnZXZlbnQtc2tlbGV0b24sXG4uZmMtaGlnaGxpZ2h0LXNrZWxldG9uLFxuLmZjLW1pcnJvci1za2VsZXRvbiB7XG4gIC8qIHRoZXNlIGVsZW1lbnQgc2hvdWxkIGFsd2F5cyBjbGluZyB0byB0b3AtbGVmdC9yaWdodCBjb3JuZXJzICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuLmZjLWJnIHtcbiAgYm90dG9tOiAwO1xuICAvKiBzdHJlY2ggYmcgdG8gYm90dG9tIGVkZ2UgKi9cbn1cblxuLmZjLWJnIHRhYmxlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiBzdHJlY2ggYmcgdG8gYm90dG9tIGVkZ2UgKi9cbn1cblxuLyogVGFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMgdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogZml4IHNjcm9sbGJhciBpc3N1ZSBpbiBmaXJlZm94ICovXG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogbm9ybWFsaXplIGNyb3NzLWJyb3dzZXIgKi9cbn1cblxuLmZjIHRoIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmMgdGgsXG4uZmMgdGQge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmZjIHRkLmZjLXRvZGF5IHtcbiAgYm9yZGVyLXN0eWxlOiBkb3VibGU7XG4gIC8qIG92ZXJjb21lIG5laWdoYm9yaW5nIGJvcmRlcnMgKi9cbn1cblxuLyogSW50ZXJuYWwgTmF2IExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5hW2RhdGEtZ290b10ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmFbZGF0YS1nb3RvXTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiBGYWtlIFRhYmxlIFJvd3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYyAuZmMtcm93IHtcbiAgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBvdmVyY29tZSB0aGVtZXMgZm9yY2luZyBhIDFweCBib3JkZXIgKi9cbiAgLyogbm8gdmlzaWJsZSBib3JkZXIgYnkgZGVmYXVsdC4gYnV0IG1ha2UgYXZhaWxhYmxlIGlmIG5lZWQgYmUgKHNjcm9sbGJhciB3aWR0aCBjb21wZW5zYXRpb24pICovXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuLmZjLXJvdyB0YWJsZSB7XG4gIC8qIGRvbid0IHB1dCBsZWZ0L3JpZ2h0IGJvcmRlciBvbiBhbnl0aGluZyB3aXRoaW4gYSBmYWtlIHJvdy5cbiAgICAgdGhlIG91dGVyIHRib2R5IHdpbGwgd29ycnkgYWJvdXQgdGhpcyAqL1xuICBib3JkZXItbGVmdDogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG4gIC8qIG5vIGJvdHRvbSBib3JkZXJzIG9uIHJvd3MgKi9cbiAgYm9yZGVyLWJvdHRvbTogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG59XG5cbi5mYy1yb3c6Zmlyc3QtY2hpbGQgdGFibGUge1xuICBib3JkZXItdG9wOiAwIGhpZGRlbiB0cmFuc3BhcmVudDtcbiAgLyogbm8gdG9wIGJvcmRlciBvbiBmaXJzdCByb3cgKi9cbn1cblxuLyogRGF5IFJvdyAodXNlZCB3aXRoaW4gdGhlIGhlYWRlciBhbmQgdGhlIERheUdyaWQpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtcm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmMtcm93IC5mYy1iZyB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi8qIGhpZ2hsaWdodGluZyBjZWxscyAmIGJhY2tncm91bmQgZXZlbnQgc2tlbGV0b24gKi9cbi5mYy1yb3cgLmZjLWJnZXZlbnQtc2tlbGV0b24sXG4uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24ge1xuICBib3R0b206IDA7XG4gIC8qIHN0cmV0Y2ggc2tlbGV0b24gdG8gYm90dG9tIG9mIHJvdyAqL1xufVxuXG4uZmMtcm93IC5mYy1iZ2V2ZW50LXNrZWxldG9uIHRhYmxlLFxuLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHRhYmxlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiBzdHJldGNoIHNrZWxldG9uIHRvIGJvdHRvbSBvZiByb3cgKi9cbn1cblxuLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHRkLFxuLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbiB0ZCB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5mYy1yb3cgLmZjLWJnZXZlbnQtc2tlbGV0b24ge1xuICB6LWluZGV4OiAyO1xufVxuXG4uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24ge1xuICB6LWluZGV4OiAzO1xufVxuXG4vKlxucm93IGNvbnRlbnQgKHdoaWNoIGNvbnRhaW5zIGRheS93ZWVrIG51bWJlcnMgYW5kIGV2ZW50cykgYXMgd2VsbCBhcyBcIm1pcnJvclwiICh3aGljaCBjb250YWluc1xudGVtcG9yYXJ5IHJlbmRlcmVkIGV2ZW50cykuXG4qL1xuLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgLyogbWF0Y2hlcyB0aGUgc3BhY2UgYWJvdmUgdGhlIGV2ZW50cyAqL1xufVxuXG4uZmMtcm93IC5mYy1taXJyb3Itc2tlbGV0b24ge1xuICB6LWluZGV4OiA1O1xufVxuXG4uZmMgLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0YWJsZSxcbi5mYyAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRkLFxuLmZjIC5mYy1yb3cgLmZjLW1pcnJvci1za2VsZXRvbiB0ZCB7XG4gIC8qIHNlZS10aHJvdWdoIHRvIHRoZSBiYWNrZ3JvdW5kIGJlbG93ICovXG4gIC8qIGV4dHJhIHByZWNlZGVuY2UgdG8gcHJldmVudCB0aGVtZS1wcm92aWRlZCBiYWNrZ3JvdW5kcyAqL1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAvKiBpbiBjYXNlIDx0ZD5zIGFyZSBnbG9iYWxseSBzdHlsZWQgKi9cbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0ZCxcbi5mYy1yb3cgLmZjLW1pcnJvci1za2VsZXRvbiB0ZCB7XG4gIC8qIGRvbid0IHB1dCBhIGJvcmRlciBiZXR3ZWVuIGV2ZW50cyBhbmQvb3IgdGhlIGRheSBudW1iZXIgKi9cbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0Ym9keSB0ZCxcbi5mYy1yb3cgLmZjLW1pcnJvci1za2VsZXRvbiB0Ym9keSB0ZCB7XG4gIC8qIGRvbid0IHB1dCBhIGJvcmRlciBiZXR3ZWVuIGV2ZW50IGNlbGxzICovXG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi8qIFNjcm9sbGluZyBDb250YWluZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1zY3JvbGxlciB7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLyogVE9ETzogbW92ZSB0byB0aW1lZ3JpZC9kYXlncmlkICovXG4uZmMtc2Nyb2xsZXIgPiAuZmMtZGF5LWdyaWQsXG4uZmMtc2Nyb2xsZXIgPiAuZmMtdGltZS1ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiByZS1zY29wZSBhbGwgcG9zaXRpb25zICovXG4gIHdpZHRoOiAxMDAlO1xuICAvKiBoYWNrIHRvIGZvcmNlIHJlLXNpemluZyB0aGlzIGlubmVyIGVsZW1lbnQgd2hlbiBzY3JvbGxiYXJzIGFwcGVhci9kaXNhcHBlYXIgKi9cbn1cblxuLyogR2xvYmFsIEV2ZW50IFN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWV2ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBmb3IgcmVzaXplIGhhbmRsZSBhbmQgb3RoZXIgaW5uZXIgcG9zaXRpb25pbmcgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qIG1ha2UgdGhlIDxhPiB0YWcgYmxvY2sgKi9cbiAgZm9udC1zaXplOiAwLjg1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzM3ODhkODtcbn1cblxuLmZjLWV2ZW50LFxuLmZjLWV2ZW50LWRvdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNzg4ZDg7XG4gIC8qIGRlZmF1bHQgQkFDS0dST1VORCBjb2xvciAqL1xufVxuXG4uZmMtZXZlbnQsXG4uZmMtZXZlbnQ6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgLyogZGVmYXVsdCBURVhUIGNvbG9yICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLyogaWYgPGE+IGhhcyBhbiBocmVmICovXG59XG5cbi5mYy1ldmVudFtocmVmXSxcbi5mYy1ldmVudC5mYy1kcmFnZ2FibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIGdpdmUgZXZlbnRzIHdpdGggbGlua3MgYW5kIGRyYWdnYWJsZSBldmVudHMgYSBoYW5kIG1vdXNlIHBvaW50ZXIgKi9cbn1cblxuLmZjLW5vdC1hbGxvd2VkLFxuLmZjLW5vdC1hbGxvd2VkIC5mYy1ldmVudCB7XG4gIC8qIHRvIG92ZXJyaWRlIGFuIGV2ZW50J3MgY3VzdG9tIGN1cnNvciAqL1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uZmMtZXZlbnQgLmZjLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi8qIHJlc2l6ZXIgKGN1cnNvciBBTkQgdG91Y2ggZGV2aWNlcykgKi9cbi5mYy1ldmVudCAuZmMtcmVzaXplciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNDtcbn1cblxuLyogcmVzaXplciAodG91Y2ggZGV2aWNlcykgKi9cbi5mYy1ldmVudCAuZmMtcmVzaXplciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mYy1ldmVudC5mYy1hbGxvdy1tb3VzZS1yZXNpemUgLmZjLXJlc2l6ZXIsXG4uZmMtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXJlc2l6ZXIge1xuICAvKiBvbmx5IHNob3cgd2hlbiBob3ZlcmluZyBvciBzZWxlY3RlZCAod2l0aCB0b3VjaCkgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIGhpdCBhcmVhICovXG4uZmMtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXJlc2l6ZXI6YmVmb3JlIHtcbiAgLyogNDB4NDAgdG91Y2ggYXJlYSAqL1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk5OTk7XG4gIC8qIHVzZXIgb2YgdGhpcyB1dGlsIGNhbiBzY29wZSB3aXRoaW4gYSBsb3dlciB6LWluZGV4ICovXG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgbWFyZ2luLXRvcDogLTIwcHg7XG59XG5cbi8qIEV2ZW50IFNlbGVjdGlvbiAob25seSBmb3IgdG91Y2ggZGV2aWNlcylcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1ldmVudC5mYy1zZWxlY3RlZCB7XG4gIHotaW5kZXg6IDk5OTkgIWltcG9ydGFudDtcbiAgLyogb3ZlcmNvbWVzIGlubGluZSB6LWluZGV4ICovXG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5mYy1ldmVudC5mYy1zZWxlY3RlZDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgLyogc2FtZSB6LWluZGV4IGFzIGZjLWJnLCBiZWhpbmQgdGV4dCAqL1xuICAvKiBvdmVyY29tZSB0aGUgYm9yZGVycyAqL1xuICB0b3A6IC0xcHg7XG4gIHJpZ2h0OiAtMXB4O1xuICBib3R0b206IC0xcHg7XG4gIGxlZnQ6IC0xcHg7XG4gIC8qIGRhcmtlbmluZyBlZmZlY3QgKi9cbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC4yNTtcbn1cblxuLyogRXZlbnQgRHJhZ2dpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1ldmVudC5mYy1kcmFnZ2luZy5mYy1zZWxlY3RlZCB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5mYy1ldmVudC5mYy1kcmFnZ2luZzpub3QoLmZjLXNlbGVjdGVkKSB7XG4gIG9wYWNpdHk6IDAuNzU7XG59XG5cbi8qIEhvcml6b250YWwgRXZlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBiaWdnZXIgdG91Y2ggYXJlYSB3aGVuIHNlbGVjdGVkICovXG4uZmMtaC1ldmVudC5mYy1zZWxlY3RlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDM7XG4gIC8qIGJlbG93IHJlc2l6ZXJzICovXG4gIHRvcDogLTEwcHg7XG4gIGJvdHRvbTogLTEwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4vKiBldmVudHMgdGhhdCBhcmUgY29udGludWluZyB0by9mcm9tIGFub3RoZXIgd2Vlay4ga2lsbCByb3VuZGVkIGNvcm5lcnMgYW5kIGJ1dHQgdXAgYWdhaW5zdCBlZGdlICovXG4uZmMtbHRyIC5mYy1oLWV2ZW50LmZjLW5vdC1zdGFydCxcbi5mYy1ydGwgLmZjLWgtZXZlbnQuZmMtbm90LWVuZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gIC8qIHJlcGxhY2UgdGhlIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cblxuLmZjLWx0ciAuZmMtaC1ldmVudC5mYy1ub3QtZW5kLFxuLmZjLXJ0bCAuZmMtaC1ldmVudC5mYy1ub3Qtc3RhcnQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgcGFkZGluZy1yaWdodDogMXB4O1xuICAvKiByZXBsYWNlIHRoZSBib3JkZXIgd2l0aCBwYWRkaW5nICovXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLyogcmVzaXplciAoY3Vyc29yIEFORCB0b3VjaCBkZXZpY2VzKSAqL1xuLyogbGVmdCByZXNpemVyICAqL1xuLmZjLWx0ciAuZmMtaC1ldmVudCAuZmMtc3RhcnQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyIHtcbiAgY3Vyc29yOiB3LXJlc2l6ZTtcbiAgbGVmdDogLTFweDtcbiAgLyogb3ZlcmNvbWUgYm9yZGVyICovXG59XG5cbi8qIHJpZ2h0IHJlc2l6ZXIgKi9cbi5mYy1sdHIgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyLFxuLmZjLXJ0bCAuZmMtaC1ldmVudCAuZmMtc3RhcnQtcmVzaXplciB7XG4gIGN1cnNvcjogZS1yZXNpemU7XG4gIHJpZ2h0OiAtMXB4O1xuICAvKiBvdmVyY29tZSBib3JkZXIgKi9cbn1cblxuLyogcmVzaXplciAobW91c2UgZGV2aWNlcykgKi9cbi5mYy1oLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtcmVzaXplciB7XG4gIHdpZHRoOiA3cHg7XG4gIHRvcDogLTFweDtcbiAgLyogb3ZlcmNvbWUgdG9wIGJvcmRlciAqL1xuICBib3R0b206IC0xcHg7XG4gIC8qIG92ZXJjb21lIGJvdHRvbSBib3JkZXIgKi9cbn1cblxuLyogcmVzaXplciAodG91Y2ggZGV2aWNlcykgKi9cbi5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1yZXNpemVyIHtcbiAgLyogOHg4IGxpdHRsZSBkb3QgKi9cbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogdmVydGljYWxseSBjZW50ZXIgKi9cbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC00cHg7XG59XG5cbi8qIGxlZnQgcmVzaXplciAgKi9cbi5mYy1sdHIgLmZjLWgtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXN0YXJ0LXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1lbmQtcmVzaXplciB7XG4gIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAvKiBjZW50ZXJzIHRoZSA4eDggZG90IG9uIHRoZSBsZWZ0IGVkZ2UgKi9cbn1cblxuLyogcmlnaHQgcmVzaXplciAqL1xuLmZjLWx0ciAuZmMtaC1ldmVudC5mYy1zZWxlY3RlZCAuZmMtZW5kLXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1zdGFydC1yZXNpemVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuICAvKiBjZW50ZXJzIHRoZSA4eDggZG90IG9uIHRoZSByaWdodCBlZGdlICovXG59XG5cbi8qIERheUdyaWQgZXZlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XZSB1c2UgdGhlIGZ1bGwgXCJmYy1kYXktZ3JpZC1ldmVudFwiIGNsYXNzIGluc3RlYWQgb2YgdXNpbmcgZGVzY2VuZGFudHMgYmVjYXVzZSB0aGUgZXZlbnQgd29uJ3RcbmJlIGEgZGVzY2VuZGFudCBvZiB0aGUgZ3JpZCB3aGVuIGl0IGlzIGJlaW5nIGRyYWdnZWQuXG4qL1xuLmZjLWRheS1ncmlkLWV2ZW50IHtcbiAgbWFyZ2luOiAxcHggMnB4IDA7XG4gIC8qIHNwYWNpbmcgYmV0d2VlbiBldmVudHMgYW5kIGVkZ2VzICovXG4gIHBhZGRpbmc6IDAgMXB4O1xufVxuXG50cjpmaXJzdC1jaGlsZCA+IHRkID4gLmZjLWRheS1ncmlkLWV2ZW50IHtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICAvKiBhIGxpdHRsZSBiaXQgbW9yZSBzcGFjZSBiZWZvcmUgdGhlIGZpcnN0IGV2ZW50ICovXG59XG5cbi5mYy1taXJyb3Itc2tlbGV0b24gdHI6Zmlyc3QtY2hpbGQgPiB0ZCA+IC5mYy1kYXktZ3JpZC1ldmVudCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qIGV4Y2VwdCBmb3IgbWlycm9yIHNrZWxldG9uICovXG59XG5cbi5mYy1kYXktZ3JpZC1ldmVudCAuZmMtY29udGVudCB7XG4gIC8qIGZvcmNlIGV2ZW50cyB0byBiZSBvbmUtbGluZSB0YWxsICovXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mYy1kYXktZ3JpZC1ldmVudCAuZmMtdGltZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiByZXNpemVyIChjdXJzb3IgZGV2aWNlcykgKi9cbi8qIGxlZnQgcmVzaXplciAgKi9cbi5mYy1sdHIgLmZjLWRheS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtc3RhcnQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWRheS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtZW5kLXJlc2l6ZXIge1xuICBtYXJnaW4tbGVmdDogLTJweDtcbiAgLyogdG8gdGhlIGRheSBjZWxsJ3MgZWRnZSAqL1xufVxuXG4vKiByaWdodCByZXNpemVyICovXG4uZmMtbHRyIC5mYy1kYXktZ3JpZC1ldmVudC5mYy1hbGxvdy1tb3VzZS1yZXNpemUgLmZjLWVuZC1yZXNpemVyLFxuLmZjLXJ0bCAuZmMtZGF5LWdyaWQtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1zdGFydC1yZXNpemVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xuICAvKiB0byB0aGUgZGF5IGNlbGwncyBlZGdlICovXG59XG5cbi8qIEV2ZW50IExpbWl0aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBcIm1vcmVcIiBsaW5rIHRoYXQgcmVwcmVzZW50cyBoaWRkZW4gZXZlbnRzICovXG5hLmZjLW1vcmUge1xuICBtYXJnaW46IDFweCAzcHg7XG4gIGZvbnQtc2l6ZTogMC44NWVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYS5mYy1tb3JlOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5mYy1saW1pdGVkIHtcbiAgLyogcm93cyBhbmQgY2VsbHMgdGhhdCBhcmUgaGlkZGVuIGJlY2F1c2Ugb2YgYSBcIm1vcmVcIiBsaW5rICovXG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIHBvcG92ZXIgdGhhdCBhcHBlYXJzIHdoZW4gXCJtb3JlXCIgbGluayBpcyBjbGlja2VkICovXG4uZmMtZGF5LWdyaWQgLmZjLXJvdyB7XG4gIHotaW5kZXg6IDE7XG4gIC8qIG1ha2UgdGhlIFwibW9yZVwiIHBvcG92ZXIgb25lIGhpZ2hlciB0aGFuIHRoaXMgKi9cbn1cblxuLmZjLW1vcmUtcG9wb3ZlciB7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAyMjBweDtcbn1cblxuLmZjLW1vcmUtcG9wb3ZlciAuZmMtZXZlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuLyogTm93IEluZGljYXRvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLW5vdy1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMCBzb2xpZCByZWQ7XG59XG5cbi8qIFV0aWxpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXVuc2VsZWN0YWJsZSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi8qXG5UT0RPOiBtb3JlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhpcyBmaWxlIGFuZCBjb21tb24uY3NzXG4qL1xuLyogQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdW50aGVtZWQgdGgsXG4uZmMtdW50aGVtZWQgdGQsXG4uZmMtdW50aGVtZWQgdGhlYWQsXG4uZmMtdW50aGVtZWQgdGJvZHksXG4uZmMtdW50aGVtZWQgLmZjLWRpdmlkZXIsXG4uZmMtdW50aGVtZWQgLmZjLXJvdyxcbi5mYy11bnRoZW1lZCAuZmMtY29udGVudCxcbi5mYy11bnRoZW1lZCAuZmMtcG9wb3Zlcixcbi5mYy11bnRoZW1lZCAuZmMtbGlzdC12aWV3LFxuLmZjLXVudGhlbWVkIC5mYy1saXN0LWhlYWRpbmcgdGQge1xuICBib3JkZXItY29sb3I6ICNkZGQ7XG59XG5cbi5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5mYy11bnRoZW1lZCAuZmMtZGl2aWRlcixcbi5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyLFxuLmZjLXVudGhlbWVkIC5mYy1saXN0LWhlYWRpbmcgdGQge1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xufVxuXG4uZmMtdW50aGVtZWQgdGQuZmMtdG9kYXkge1xuICBiYWNrZ3JvdW5kOiAjZmNmOGUzO1xufVxuXG4uZmMtdW50aGVtZWQgLmZjLWRpc2FibGVkLWRheSB7XG4gIGJhY2tncm91bmQ6ICNkN2Q3ZDc7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLyogSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mcm9tIGh0dHBzOi8vZmVhdGhlcmljb25zLmNvbS8gYW5kIGJ1aWx0IHdpdGggSWNvTW9vblxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJmY2ljb25zXCI7XG4gIHNyYzogdXJsKFwiZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWc4U0JmQUFBQUM4QUFBQVlHTnRZWEFYVnRLTkFBQUJIQUFBQUZSbllYTndBQUFBRUFBQUFYQUFBQUFJWjJ4NVpnWXlkeElBQUFGNEFBQUZOR2hsWVdRVUo3Y0lBQUFHckFBQUFEWm9hR1ZoQjIwRHpBQUFCdVFBQUFBa2FHMTBlQ0lBQmhRQUFBY0lBQUFBTEd4dlkyRUQ0QVU2QUFBSE5BQUFBQmh0WVhod0FBOEFqQUFBQjB3QUFBQWdibUZ0WlhzcjY5MEFBQWRzQUFBQmhuQnZjM1FBQXdBQUFBQUk5QUFBQUNBQUF3UEFBWkFBQlFBQUFwa0N6QUFBQUk4Q21RTE1BQUFCNndBekFRa0FBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHBCZ1BBLzhBQVFBUEFBRUFBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBREFBQUFBd0FBQUJ3QUFRQURBQUFBSEFBREFBRUFBQUFjQUFRQU9BQUFBQW9BQ0FBQ0FBSUFBUUFnNlFiLy9mLy9BQUFBQUFBZzZRRC8vZi8vQUFILzR4Y0VBQU1BQVFBQUFBQUFBQUFBQUFBQUFRQUIvLzhBRHdBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBRUFBQUFBQUFBQUFBQUNBQUEzT1FFQUFBQUFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQVdJQWpRS2VBc2tBRXdBQUpTYzNOalFuSmlJSEFRWVVGd0VXTWpjMk5DY0NudUxpRFEwTUpBei9BQTBOQVFBTUpBd05EY25pNGd3akRRd00vd0FOSXd6L0FBME5EQ01OQUFBQUFRRmlBSTBDbmdMSkFCTUFBQ1VCTmpRbkFTWWlCd1lVSHdFSEJoUVhGakkzQVo0QkFBME4vd0FNSkF3TkRlTGlEUTBNSkF5TkFRQU1JdzBCQUF3TURTTU00dUlOSXd3TkRRQUFBQUlBNGdDM0F4NENuZ0FUQUNjQUFDVW5OelkwSnlZaUR3RUdGQjhCRmpJM05qUW5JU2MzTmpRbkppSVBBUVlVSHdFV01qYzJOQ2NCODdlM0RRME1JdzNWRFEzVkRTTU1EUTBCSzdlM0RRME1KQXpWRFEzVkRDUU1EUTN6dUxjTUpBd05EZFVOSXd6V0RBd05Jd3k0dHd3a0RBME4xUTBqRE5ZTURBMGpEQUFBQWdEaUFMY0RIZ0tlQUJNQUp3QUFKVGMyTkM4QkppSUhCaFFmQVFjR0ZCY1dNamNoTnpZMEx3RW1JZ2NHRkI4QkJ3WVVGeFl5TndKSjFRME4xUTBqREEwTnQ3Y05EUXdqRGY3VjFRME4xUXdrREEwTnQ3Y05EUXdrRExmV0RDTU4xUTBORENRTXQ3Z01JdzBNRE5ZTUl3M1ZEUTBNSkF5M3VBd2pEUXdNQUFBREFGVUFBQU9yQTFVQU13Qm9BSGNBQUJNaUJnY09BUWNPQVFjT0FSVVJGQllYSGdFWEhnRVhIZ0V6SVRJMk56NEJOejRCTno0Qk5SRTBKaWN1QVNjdUFTY3VBU01GSVRJV0Z4NEJGeDRCRng0QkZSRVVCZ2NPQVFjT0FRY09BU01oSWlZbkxnRW5MZ0VuTGdFMUVUUTJOejRCTno0Qk56NEJNeE1oTWpZMU5DWWpJU0lHRlJRV005VU5HQXdMRlFrSkRnVUZCUVVGQlE0SkNSVUxEQmdOQWxZTkdBd0xGUWtKRGdVRkJRVUZCUTRKQ1JVTERCZ04vYW9DVmdRSUJBUUhBd01GQVFJQkFRSUJCUU1EQndRRUNBVDlxZ1FJQkFRSEF3TUZBUUlCQVFJQkJRTURCd1FFQ0FTQUFWWVJHUmtSL3FvUkdSa1JBMVVGQkFVT0NRa1ZEQXNaRGYyckRSa0xEQlVKQ0E0RkJRVUZCUVVPQ1FnVkRBc1pEUUpWRFJrTERCVUpDUTRGQkFWVkFnRUNCUU1DQndRRUNBWDlxd1FKQXdRSEF3TUZBUUlDQWdJQkJRTURCd1FEQ1FRQ1ZRVUlCQVFIQWdNRkFnRUMvb0FaRWhFWkdSRVNHUUFBQUFBREFGVUFBQU9yQTFVQU13Qm9BSWtBQUJNaUJnY09BUWNPQVFjT0FSVVJGQllYSGdFWEhnRVhIZ0V6SVRJMk56NEJOejRCTno0Qk5SRTBKaWN1QVNjdUFTY3VBU01GSVRJV0Z4NEJGeDRCRng0QkZSRVVCZ2NPQVFjT0FRY09BU01oSWlZbkxnRW5MZ0VuTGdFMUVUUTJOejRCTno0Qk56NEJNeE16RlJRV016STJQUUV6TWpZMU5DWXJBVFUwSmlNaUJoMEJJeUlHRlJRV005VU5HQXdMRlFrSkRnVUZCUVVGQlE0SkNSVUxEQmdOQWxZTkdBd0xGUWtKRGdVRkJRVUZCUTRKQ1JVTERCZ04vYW9DVmdRSUJBUUhBd01GQVFJQkFRSUJCUU1EQndRRUNBVDlxZ1FJQkFRSEF3TUZBUUlCQVFJQkJRTURCd1FFQ0FTQWdCa1NFaG1BRVJrWkVZQVpFaElaZ0JFWkdSRURWUVVFQlE0SkNSVU1DeGtOL2FzTkdRc01GUWtJRGdVRkJRVUZCUTRKQ0JVTUN4a05BbFVOR1FzTUZRa0pEZ1VFQlZVQ0FRSUZBd0lIQkFRSUJmMnJCQWtEQkFjREF3VUJBZ0lDQWdFRkF3TUhCQU1KQkFKVkJRZ0VCQWNDQXdVQ0FRTCtnSUFTR1JrU2dCa1NFUm1BRWhrWkVvQVpFUklaQUFBQkFPSUFqUU1lQXNrQUlBQUFFeGNIQmhRWEZqSS9BUmNXTWpjMk5DOEJOelkwSnlZaUR3RW5KaUlIQmhRWDR1TGlEUTBNSkF6aTRnd2tEQTBONHVJTkRRd2tET0xpRENRTURRMENqZUxpRFNNTURRM2g0UTBORENNTjR1SU1JdzBNRE9MaURBd05Jd3dBQUFBQkFBQUFBUUFBYTVuMHkxOFBQUFVBQ3dRQUFBQUFBTml2T1ZzQUFBQUEySzg1V3dBQUFBQURxd05WQUFBQUNBQUNBQUFBQUFBQUFBRUFBQVBBLzhBQUFBUUFBQUFBQUFPckFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBTEJBQUFBQUFBQUFBQUFBQUFBZ0FBQUFRQUFXSUVBQUZpQkFBQTRnUUFBT0lFQUFCVkJBQUFWUVFBQU9JQUFBQUFBQW9BRkFBZUFFUUFhZ0NxQU9vQm5nSmtBcG9BQVFBQUFBc0FpZ0FEQUFBQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTRBcmdBQkFBQUFBQUFCQUFjQUFBQUJBQUFBQUFBQ0FBY0FZQUFCQUFBQUFBQURBQWNBTmdBQkFBQUFBQUFFQUFjQWRRQUJBQUFBQUFBRkFBc0FGUUFCQUFBQUFBQUdBQWNBU3dBQkFBQUFBQUFLQUJvQWlnQURBQUVFQ1FBQkFBNEFCd0FEQUFFRUNRQUNBQTRBWndBREFBRUVDUUFEQUE0QVBRQURBQUVFQ1FBRUFBNEFmQUFEQUFFRUNRQUZBQllBSUFBREFBRUVDUUFHQUE0QVVnQURBQUVFQ1FBS0FEUUFwR1pqYVdOdmJuTUFaZ0JqQUdrQVl3QnZBRzRBYzFabGNuTnBiMjRnTVM0d0FGWUFaUUJ5QUhNQWFRQnZBRzRBSUFBeEFDNEFNR1pqYVdOdmJuTUFaZ0JqQUdrQVl3QnZBRzRBYzJaamFXTnZibk1BWmdCakFHa0FZd0J2QUc0QWMxSmxaM1ZzWVhJQVVnQmxBR2NBZFFCc0FHRUFjbVpqYVdOdmJuTUFaZ0JqQUdrQVl3QnZBRzRBYzBadmJuUWdaMlZ1WlhKaGRHVmtJR0o1SUVsamIwMXZiMjR1QUVZQWJ3QnVBSFFBSUFCbkFHVUFiZ0JsQUhJQVlRQjBBR1VBWkFBZ0FHSUFlUUFnQUVrQVl3QnZBRTBBYndCdkFHNEFMZ0FBQUFNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT1cIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi5mYy1pY29uIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6IFwiZmNpY29uc1wiICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmZjLWljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSAXCI7XG59XG5cbi5mYy1pY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIFcIjtcbn1cblxuLmZjLWljb24tY2hldnJvbnMtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kglwiO1xufVxuXG4uZmMtaWNvbi1jaGV2cm9ucy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kg1wiO1xufVxuXG4uZmMtaWNvbi1taW51cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIRcIjtcbn1cblxuLmZjLWljb24tcGx1cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIVcIjtcbn1cblxuLmZjLWljb24teDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6khlwiO1xufVxuXG4uZmMtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogQnV0dG9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkxvdHMgdGFrZW4gZnJvbSBGbGF0bHkgKE1JVCk6IGh0dHBzOi8vYm9vdHN3YXRjaC5jb20vNC9mbGF0bHkvYm9vdHN0cmFwLmNzc1xuKi9cbi8qIHJlc2V0ICovXG4uZmMtYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uZmMtYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG4uZmMtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi5mYy1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mYy1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIHRoZW1lICovXG4uZmMtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzIxMjUyOTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDAuNGVtIDAuNjVlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbn1cblxuLmZjLWJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5mYy1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQ0LCA2MiwgODAsIDAuMjUpO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0NCwgNjIsIDgwLCAwLjI1KTtcbn1cblxuLmZjLWJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNjU7XG59XG5cbi8qIFwicHJpbWFyeVwiIGNvbG9yaW5nICovXG4uZmMtYnV0dG9uLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJDM0U1MDtcbiAgYm9yZGVyLWNvbG9yOiAjMkMzRTUwO1xufVxuXG4uZmMtYnV0dG9uLXByaW1hcnk6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMmIzNztcbiAgYm9yZGVyLWNvbG9yOiAjMWEyNTJmO1xufVxuXG4uZmMtYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDc2LCA5MSwgMTA2LCAwLjUpO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg3NiwgOTEsIDEwNiwgMC41KTtcbn1cblxuLmZjLWJ1dHRvbi1wcmltYXJ5OmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQzNFNTA7XG4gIGJvcmRlci1jb2xvcjogIzJDM0U1MDtcbn1cblxuLmZjLWJ1dHRvbi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSxcbi5mYy1idXR0b24tcHJpbWFyeTpub3QoOmRpc2FibGVkKS5mYy1idXR0b24tYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTI1MmY7XG4gIGJvcmRlci1jb2xvcjogIzE1MWUyNztcbn1cblxuLmZjLWJ1dHRvbi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cyxcbi5mYy1idXR0b24tcHJpbWFyeTpub3QoOmRpc2FibGVkKS5mYy1idXR0b24tYWN0aXZlOmZvY3VzIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg3NiwgOTEsIDEwNiwgMC41KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNzYsIDkxLCAxMDYsIDAuNSk7XG59XG5cbi8qIGljb25zIHdpdGhpbiBidXR0b25zICovXG4uZmMtYnV0dG9uIC5mYy1pY29uIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuLyogQnV0dG9ucyBHcm91cHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1idXR0b24tZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC1tcy1mbGV4OiAxIDEgYXV0bztcbiAgZmxleDogMSAxIGF1dG87XG59XG5cbi5mYy1idXR0b24tZ3JvdXAgPiAuZmMtYnV0dG9uOmhvdmVyIHtcbiAgei1pbmRleDogMTtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b246Zm9jdXMsXG4uZmMtYnV0dG9uLWdyb3VwID4gLmZjLWJ1dHRvbjphY3RpdmUsXG4uZmMtYnV0dG9uLWdyb3VwID4gLmZjLWJ1dHRvbi5mYy1idXR0b24tYWN0aXZlIHtcbiAgei1pbmRleDogMTtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4vKiBQb3BvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIge1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLyogTGlzdCBWaWV3XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdW50aGVtZWQgLmZjLWxpc3QtaXRlbTpob3ZlciB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG59XG5cbi8qIFRvb2xiYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmMtdG9vbGJhci5mYy1oZWFkZXItdG9vbGJhciB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG4uZmMtdG9vbGJhci5mYy1mb290ZXItdG9vbGJhciB7XG4gIG1hcmdpbi10b3A6IDEuNWVtO1xufVxuXG4vKiBpbm5lciBjb250ZW50ICovXG4uZmMtdG9vbGJhciA+ICogPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogMC43NWVtO1xufVxuXG4uZmMtdG9vbGJhciBoMiB7XG4gIGZvbnQtc2l6ZTogMS43NWVtO1xuICBtYXJnaW46IDA7XG59XG5cbi8qIFZpZXcgU3RydWN0dXJlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdmlldy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIHVuZG8gdHdpdHRlciBib290c3RyYXAncyBib3gtc2l6aW5nIHJ1bGVzLiBub3JtYWxpemVzIHBvc2l0aW9uaW5nIHRlY2huaXF1ZXMgKi9cbi8qIGRvbid0IGRvIHRoaXMgZm9yIHRoZSB0b29sYmFyIGJlY2F1c2Ugd2UnbGwgd2FudCBib290c3RyYXAgdG8gc3R5bGUgdGhvc2UgYnV0dG9ucyBhcyBzb21lIHB0ICovXG4uZmMtdmlldy1jb250YWluZXIgKixcbi5mYy12aWV3LWNvbnRhaW5lciAqOmJlZm9yZSxcbi5mYy12aWV3LWNvbnRhaW5lciAqOmFmdGVyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi5mYy12aWV3LFxuLmZjLXZpZXcgPiB0YWJsZSB7XG4gIC8qIHNvIGRyYWdnZWQgZWxlbWVudHMgY2FuIGJlIGFib3ZlIHRoZSB2aWV3J3MgbWFpbiBlbGVtZW50ICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLmZjIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIEdsb2JhbCBFdmVudCBSZXN0eWxpbmdcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAuZmMtZXZlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIC5mYy1ldmVudCAuZmMtcmVzaXplciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIFRhYmxlICYgRGF5LVJvdyBSZXN0eWxpbmdcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAuZmMgdGgsXG4uZmMgdGQsXG4uZmMgaHIsXG4uZmMgdGhlYWQsXG4uZmMgdGJvZHksXG4uZmMtcm93IHtcbiAgICBib3JkZXItY29sb3I6ICNjY2MgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBraWxsIHRoZSBvdmVybGFpZCwgYWJzb2x1dGVseS1wb3NpdGlvbmVkIGNvbXBvbmVudHMgKi9cbiAgLyogY29tbW9uLi4uICovXG4gIC5mYy1iZyxcbi5mYy1iZ2V2ZW50LXNrZWxldG9uLFxuLmZjLWhpZ2hsaWdodC1za2VsZXRvbixcbi5mYy1taXJyb3Itc2tlbGV0b24sXG4uZmMtYmdldmVudC1jb250YWluZXIsXG4uZmMtYnVzaW5lc3MtY29udGFpbmVyLFxuLmZjLWhpZ2hsaWdodC1jb250YWluZXIsXG4uZmMtbWlycm9yLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIGRvbid0IGZvcmNlIGEgbWluLWhlaWdodCBvbiByb3dzIChmb3IgRGF5R3JpZCkgKi9cbiAgLmZjIHRib2R5IC5mYy1yb3cge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIHVuZG8gaGVpZ2h0IHRoYXQgSlMgc2V0IGluIGRpc3RyaWJ1dGVIZWlnaHQgKi9cbiAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgLyogdW5kbyB0aGUgbWluLWhlaWdodCBmcm9tIGVhY2ggdmlldydzIHNwZWNpZmljIHN0eWxlc2hlZXQgKi9cbiAgfVxuXG4gIC5mYyB0Ym9keSAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIC8qIHVuZG8gLmZjLXJpZ2lkICovXG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAvKiB1c2UgYSBtb3JlIGJvcmRlci1mcmllbmRseSBtZXRob2QgZm9yIHRoaXMuLi4gKi9cbiAgfVxuXG4gIC5mYyB0Ym9keSAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIC8qIG9ubHkgd29ya3MgaW4gbmV3ZXIgYnJvd3NlcnMgKi9cbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIC8qIC4uLmdpdmVzIHNwYWNlIHdpdGhpbiB0aGUgc2tlbGV0b24uIGFsc28gZW5zdXJlcyBtaW4gaGVpZ2h0IGluIGEgd2F5ICovXG4gIH1cblxuICAuZmMgdGJvZHkgLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0YWJsZSB7XG4gICAgLyogcHJvdmlkZXMgYSBtaW4taGVpZ2h0IGZvciB0aGUgcm93LCBidXQgb25seSBlZmZlY3RpdmUgZm9yIElFLCB3aGljaCBleGFnZ2VyYXRlcyB0aGlzIHZhbHVlLFxuICAgICAgIG1ha2luZyBpdCBsb29rIG1vcmUgbGlrZSAzZW0uIGZvciBvdGhlciBicm93ZXJzLCBpdCB3aWxsIGFscmVhZHkgYmUgdGhpcyB0YWxsICovXG4gICAgaGVpZ2h0OiAxZW07XG4gIH1cblxuICAvKiBVbmRvIG1vbnRoLXZpZXcgZXZlbnQgbGltaXRpbmcuIERpc3BsYXkgYWxsIGV2ZW50cyBhbmQgaGlkZSB0aGUgXCJtb3JlXCIgbGlua3NcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAuZmMtbW9yZS1jZWxsLFxuLmZjLW1vcmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mYyB0ci5mYy1saW1pdGVkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mYyB0ZC5mYy1saW1pdGVkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmMtcG9wb3ZlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiBuZXZlciBkaXNwbGF5IHRoZSBcIm1vcmUuLlwiIHBvcG92ZXIgaW4gcHJpbnQgbW9kZSAqL1xuICB9XG5cbiAgLyogVGltZUdyaWQgUmVzdHlsaW5nXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyogdW5kbyB0aGUgbWluLWhlaWdodCAxMDAlIHRyaWNrIHVzZWQgdG8gZmlsbCB0aGUgY29udGFpbmVyJ3MgaGVpZ2h0ICovXG4gIC5mYy10aW1lLWdyaWQge1xuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIGRvbid0IGRpc3BsYXkgdGhlIHNpZGUgYXhpcyBhdCBhbGwgKFwiYWxsLWRheVwiIGFuZCB0aW1lIGNlbGxzKSAqL1xuICAuZmMtdGltZUdyaWQtdmlldyAuZmMtYXhpcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIGRvbid0IGRpc3BsYXkgdGhlIGhvcml6b250YWwgbGluZXMgKi9cbiAgLmZjLXNsYXRzLFxuLmZjLXRpbWUtZ3JpZCBociB7XG4gICAgLyogdGhpcyBociBpcyB1c2VkIHdoZW4gaGVpZ2h0IGlzIHVuZGVydXNlZCBhbmQgbmVlZHMgdG8gYmUgZmlsbGVkICovXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIC8qIGltcG9ydGFudCBvdmVycmlkZXMgaW5saW5lIGRlY2xhcmF0aW9uICovXG4gIH1cblxuICAvKiBsZXQgdGhlIGNvbnRhaW5lciB0aGF0IGhvbGRzIHRoZSBldmVudHMgYmUgbmF0dXJhbGx5IHBvc2l0aW9uZWQgYW5kIGNyZWF0ZSByZWFsIGhlaWdodCAqL1xuICAuZmMtdGltZS1ncmlkIC5mYy1jb250ZW50LXNrZWxldG9uIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG5cbiAgLyogaW4gY2FzZSB0aGVyZSBhcmUgbm8gZXZlbnRzLCB3ZSBzdGlsbCB3YW50IHNvbWUgaGVpZ2h0ICovXG4gIC5mYy10aW1lLWdyaWQgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGFibGUge1xuICAgIGhlaWdodDogNGVtO1xuICB9XG5cbiAgLyoga2lsbCB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIG1hZGUgYnkgdGhlIGV2ZW50IGNvbnRhaW5lci4gZXZlbnQgbWFyZ2lucyB3aWxsIGJlIGRvbmUgYmVsb3cgKi9cbiAgLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIFRpbWVHcmlkICpFdmVudCogUmVzdHlsaW5nXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyogbmF0dXJhbGx5IHBvc2l0aW9uIGV2ZW50cywgdmVydGljYWxseSBzdGFja2luZyB0aGVtICovXG4gIC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50IHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAzcHggMnB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBmb3IgZXZlbnRzIHRoYXQgY29udGludWUgdG8gYSBmdXR1cmUgZGF5LCBnaXZlIHRoZSBib3R0b20gYm9yZGVyIGJhY2sgKi9cbiAgLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQuZmMtbm90LWVuZCB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBpbmRpY2F0ZSB0aGUgZXZlbnQgY29udGludWVzIHZpYSBcIi4uLlwiIHRleHQgKi9cbiAgLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQuZmMtbm90LWVuZDphZnRlciB7XG4gICAgY29udGVudDogXCIuLi5cIjtcbiAgfVxuXG4gIC8qIGZvciBldmVudHMgdGhhdCBhcmUgY29udGludWF0aW9ucyBmcm9tIHByZXZpb3VzIGRheXMsIGdpdmUgdGhlIHRvcCBib3JkZXIgYmFjayAqL1xuICAuZmMtdGltZS1ncmlkIC5mYy1ldmVudC5mYy1ub3Qtc3RhcnQge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogaW5kaWNhdGUgdGhlIGV2ZW50IGlzIGEgY29udGludWF0aW9uIHZpYSBcIi4uLlwiIHRleHQgKi9cbiAgLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQuZmMtbm90LXN0YXJ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCIuLi5cIjtcbiAgfVxuXG4gIC8qIHRpbWUgKi9cbiAgLyogdW5kbyBhIHByZXZpb3VzIGRlY2xhcmF0aW9uIGFuZCBsZXQgdGhlIHRpbWUgdGV4dCBzcGFuIHRvIGEgc2Vjb25kIGxpbmUgKi9cbiAgLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQgLmZjLXRpbWUge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIGhpZGUgdGhlIHRoZSB0aW1lIHRoYXQgaXMgbm9ybWFsbHkgZGlzcGxheWVkLi4uICovXG4gIC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50IC5mYy10aW1lIHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvKiAuLi5yZXBsYWNlIGl0IHdpdGggYSBtb3JlIHZlcmJvc2UgdmVyc2lvbiAoaW5jbHVkZXMgQU0vUE0pIHN0b3JlZCBpbiBhbiBodG1sIGF0dHJpYnV0ZSAqL1xuICAuZmMtdGltZS1ncmlkIC5mYy1ldmVudCAuZmMtdGltZTphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWZ1bGwpO1xuICB9XG5cbiAgLyogVmVydGljYWwgU2Nyb2xsZXIgJiBDb250YWluZXJzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyoga2lsbCB0aGUgc2Nyb2xsYmFycyBhbmQgYWxsb3cgbmF0dXJhbCBoZWlnaHQgKi9cbiAgLmZjLXNjcm9sbGVyLFxuLmZjLWRheS1ncmlkLWNvbnRhaW5lcixcbi5mYy10aW1lLWdyaWQtY29udGFpbmVyIHtcbiAgICAvKiAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBraWxsIHRoZSBob3Jpem9udGFsIGJvcmRlci9wYWRkaW5nIHVzZWQgdG8gY29tcGVuc2F0ZSBmb3Igc2Nyb2xsYmFycyAqL1xuICAuZmMtcm93IHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIEJ1dHRvbiBDb250cm9sc1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIC5mYy1idXR0b24tZ3JvdXAsXG4uZmMgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIGRvbid0IGRpc3BsYXkgYW55IGJ1dHRvbi1yZWxhdGVkIGNvbnRyb2xzICovXG4gIH1cbn1cbiIsIi8qIERheUdyaWRWaWV3XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBkYXkgcm93IHN0cnVjdHVyZSAqL1xuLmZjLWRheUdyaWRXZWVrLXZpZXcgLmZjLWNvbnRlbnQtc2tlbGV0b24sXG4uZmMtZGF5R3JpZERheS12aWV3IC5mYy1jb250ZW50LXNrZWxldG9uIHtcbiAgLyogdGhlcmUgbWF5IGJlIHdlZWsgbnVtYmVycyBpbiB0aGVzZSB2aWV3cywgc28gbm8gcGFkZGluZy10b3AgKi9cbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgLyogZW5zdXJlIGEgc3BhY2UgYXQgYm90dG9tIG9mIGNlbGwgZm9yIHVzZXIgc2VsZWN0aW5nL2NsaWNraW5nICovXG59XG5cbi5mYy1kYXlHcmlkLXZpZXcgLmZjLWJvZHkgLmZjLXJvdyB7XG4gIG1pbi1oZWlnaHQ6IDRlbTtcbiAgLyogZW5zdXJlIHRoYXQgYWxsIHJvd3MgYXJlIGF0IGxlYXN0IHRoaXMgdGFsbCAqL1xufVxuXG4vKiBhIFwicmlnaWRcIiByb3cgd2lsbCB0YWtlIHVwIGEgY29uc3RhbnQgYW1vdW50IG9mIGhlaWdodCBiZWNhdXNlIGNvbnRlbnQtc2tlbGV0b24gaXMgYWJzb2x1dGUgKi9cbi5mYy1yb3cuZmMtcmlnaWQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmMtcm93LmZjLXJpZ2lkIC5mYy1jb250ZW50LXNrZWxldG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4vKiB3ZWVrIGFuZCBkYXkgbnVtYmVyIHN0eWxpbmcgKi9cbi5mYy1kYXktdG9wLmZjLW90aGVyLW1vbnRoIHtcbiAgb3BhY2l0eTogMC4zO1xufVxuXG4uZmMtZGF5R3JpZC12aWV3IC5mYy13ZWVrLW51bWJlcixcbi5mYy1kYXlHcmlkLXZpZXcgLmZjLWRheS1udW1iZXIge1xuICBwYWRkaW5nOiAycHg7XG59XG5cbi5mYy1kYXlHcmlkLXZpZXcgdGguZmMtd2Vlay1udW1iZXIsXG4uZmMtZGF5R3JpZC12aWV3IHRoLmZjLWRheS1udW1iZXIge1xuICBwYWRkaW5nOiAwIDJweDtcbiAgLyogY29sdW1uIGhlYWRlcnMgY2FuJ3QgaGF2ZSBhcyBtdWNoIHYgc3BhY2UgKi9cbn1cblxuLmZjLWx0ciAuZmMtZGF5R3JpZC12aWV3IC5mYy1kYXktdG9wIC5mYy1kYXktbnVtYmVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uZmMtcnRsIC5mYy1kYXlHcmlkLXZpZXcgLmZjLWRheS10b3AgLmZjLWRheS1udW1iZXIge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmZjLWx0ciAuZmMtZGF5R3JpZC12aWV3IC5mYy1kYXktdG9wIC5mYy13ZWVrLW51bWJlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDA7XG59XG5cbi5mYy1ydGwgLmZjLWRheUdyaWQtdmlldyAuZmMtZGF5LXRvcCAuZmMtd2Vlay1udW1iZXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDNweDtcbn1cblxuLmZjLWRheUdyaWQtdmlldyAuZmMtZGF5LXRvcCAuZmMtd2Vlay1udW1iZXIge1xuICBtaW4td2lkdGg6IDEuNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGNvbG9yOiAjODA4MDgwO1xufVxuXG4vKiB3aGVuIHdlZWsvZGF5IG51bWJlciBoYXZlIG93biBjb2x1bW4gKi9cbi5mYy1kYXlHcmlkLXZpZXcgdGQuZmMtd2Vlay1udW1iZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mYy1kYXlHcmlkLXZpZXcgdGQuZmMtd2Vlay1udW1iZXIgPiAqIHtcbiAgLyogd29yayBhcm91bmQgdGhlIHdheSB3ZSBkbyBjb2x1bW4gcmVzaXppbmcgYW5kIGVuc3VyZSBhIG1pbmltdW0gd2lkdGggKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDEuMjVlbTtcbn1cbiIsIkBpbXBvcnQgXCJ+QGFuZ3VsYXIvbWF0ZXJpYWwvcHJlYnVpbHQtdGhlbWVzL2luZGlnby1waW5rLmNzc1wiO1xyXG5AaW1wb3J0ICd+QGZ1bGxjYWxlbmRhci9jb3JlL21haW4uY3NzJztcclxuQGltcG9ydCAnfkBmdWxsY2FsZW5kYXIvZGF5Z3JpZC9tYWluLmNzcyc7XHJcblxyXG4kd2hpdGU6I2ZmZmZmZjtcclxuJGJsdWU6Ymx1ZTtcclxuJGdyYXktbGlnaHQ6ICNjY2NjY2M7XHJcbiRkYW5nZXI6cmdiKDI0NCwgNjcsIDU0KTs7XHJcbiRncmV5OmdyZXk7XHJcbiRsaWdodC1ncmV5OiNmMmYyZjI7XHJcbiRwaWNrbGVkLUJsdWV3b29kOiMyRDNFNTA7XHJcbiRhdGhlbnMtZ3JheTojRUVFRkYzO1xyXG4kcHJpbWFyeS1hcHA6ICMwMGE5ZTA7XHJcbiRzZWNvbmRhcnktYXBwOiMwMDAwNjY7XHJcblxyXG4kZm9udC1zaXplLXhzbWFsbDogMTBweDtcclxuJGZvbnQtc2l6ZS1zbWFsbDogMTRweDtcclxuJGZvbnQtc2l6ZS1iYXNlOiAxNnB4O1xyXG4kZm9udC1zaXplLW1lZGl1bTogMjBweDtcclxuJGZvbnQtc2l6ZS1sYXJnZTogJGZvbnQtc2l6ZS1iYXNlKjEuNTtcclxuJGZvbnQtc2l6ZS14bGFyZ2U6IDI2cHg7XHJcbiRmb250LXNpemUteHhsYXJnZTogMzZweDtcclxuXHJcbiRmb250LXNpemUtaDE6IDYwcHg7XHJcbiRmb250LXNpemUtaDI6IDQwcHg7XHJcbiRmb250LXNpemUtaDM6IDMycHg7XHJcbiRmb250LXNpemUtaDQ6IDI0cHg7XHJcbiRmb250LXNpemUtaDU6IDIwcHg7XHJcbiRmb250LXNpemUtaDY6IDE2cHg7XHJcblxyXG4kc2NyZWVuLXNpemUtbW9iaWxlOjU3NnB4O1xyXG4kc2NyZWVuLXNpemUtdGFibGV0Ojc2OHB4O1xyXG4kc2NyZWVuLXNpemUtbGFwdG9wOjk5MnB4O1xyXG4kc2NyZWVuLXNpemUtZGVza3RvcDoxMjAwcHg7XHJcblxyXG4ucHJpbWFyeXtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgY29sb3I6JHdoaXRlO1xyXG59XHJcblxyXG5ib2R5e1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG5cclxuLnd7XHJcbiAgICAmLTEwMHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi05MHtcclxuICAgICAgICB3aWR0aDogOTAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLTgwe1xyXG4gICAgICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYtNzB7XHJcbiAgICAgICAgd2lkdGg6IDcwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi01MHtcclxuICAgICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLm10e1xyXG4gICAgJi0xe1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYtMntcclxuICAgICAgICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLTN7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi00e1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDRyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYtNXtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ke1xyXG4gICAgJi1ibG9ja3tcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi1ub25le1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYtZmxleHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi56LWVsZXZhdGlvbntcclxuICAgICYtMXtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsMCwwLC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lcnJvci1jb250YWluZXJ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC5zZXJ2ZXItZXJyb3J7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhbmdlcjtcclxuICAgICAgICBjb2xvcjokbGlnaHQtZ3JleTtcclxuICAgICAgICBmb250LWZhbWlseTogJ09wZW5TYW5zJztcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHNtYWxsO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xyXG4gICAgICAgIG1hcmdpbjogMCAxcmVtO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcclxuICAgIH1cclxuICAgIC5hcnJvdy11cC1nYWRnZXQge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBib3JkZXItbGVmdDogMC41cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMC41cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuOHJlbSBzb2xpZCAkZGFuZ2VyO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG59XHJcblxyXG4ubWF0LWZvcm0tZmllbGQge1xyXG4gICAgJi5uby1wYWRkaW5ne1xyXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVye1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeHtcclxuICAgICAgICAgICAgcGFkZGluZzogMC40cmVtIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBBanVzdGUgZGUgcHJvcGllZGFkZXMgZGUgbG9zIGNvbnRyb2xlcyBkZWwgZm9ybXVsYXJpbyBwcm9ncmFtR2VuZXJhbEluZm9ybWF0aW9uXHJcbi8vIGN1YW5kbyBsb3MgY29udHJvbGVzIGVzdMOhbiBkZXNoYWJpbGlkb3NcclxuI3Byb2dyYW1HZW5lcmFsSW5mb3JtYXRpb24gLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIHtcclxuICAgIGlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCAubWF0LXNlbGVjdC12YWx1ZSB7XHJcbiAgICAgICAgY29sb3I6IGRhcmtzbGF0ZWdyZXk7XHJcbiAgICB9XHJcbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICAubWF0LXNlbGVjdC1hcnJvdyB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxufVxyXG4uZm9ybS1jb250YWluZXJ7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCggYXV0by1maWxsLCBtaW5tYXgoMjRyZW0sIDFmcikpO1xyXG4gICAgZ3JpZC1nYXA6IDFyZW07XHJcbn1cclxuXHJcbi5zaW1wbGUtY29udGFpbmVye1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogMCAycmVtO1xyXG4gICAgbWF4LXdpZHRoOiA3NjhweDtcclxuICAgIG1hcmdpbjogMnJlbSBhdXRvO1xyXG59XHJcblxyXG4uYXBwLWNvbnRhaW5lcntcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHBhZGRpbmc6IDAgMnJlbTtcclxuICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG4gICAgbWFyZ2luOiAycmVtIGF1dG87XHJcbn1cclxuXHJcbi5idG57XHJcbiAgICBtYXgtd2lkdGg6IDE1cmVtO1xyXG59XHJcblxyXG4uc3Bpbm5lci1jb250YWluZXJ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgb3BhY2l0eTogMC40O1xyXG4gICAgei1pbmRleDogMTA2MDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG59XHJcblxyXG4udHJ1bmNhdGUge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLmN1c3RvbS1kaWFsb2ctY29udGFpbmVyIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMnJlbSk7XHJcbn1cclxuXHJcbi8vUGFyYSBxdWUgb2N1bHRhciBlbCBtZW5zYWplIGFsIHN1YmlyIGEgcHJvZCBkZWwgcmljaHRleHRcclxuXHJcbiNmcm9hbGEtbGljZW5zZS1ub25lID4gZGl2ID4gZGl2LmZyLXdyYXBwZXIuc2hvdy1wbGFjZWhvbGRlciA+IGRpdjpudGgtY2hpbGQoMSkgPiBhLFxyXG4jZnJvYWxhLWxpY2Vuc2Utbm9uZSA+IGRpdiA+IGRpdi5mci13cmFwcGVyID4gZGl2Om50aC1jaGlsZCgxKSA+IGF7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNmcm9hbGEtbGljZW5zZS1ub25lIC5zZWNvbmQtdG9vbGJhcntcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuI2Zyb2FsYS1saWNlbnNlLW5vbmUgLmRhcmstdGhlbWUuZnItYm94LmZyLWJhc2ljIC5mci13cmFwcGVye1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2NjY2NjYyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vL2VzdGlsb3MgcGFyYSBlbCBsb2dpblxyXG4ubG9naW4tZm9ybS1jb250YWluZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLCAubG9naW4tZm9ybS1jb250YWluZXIgLm1hdC1lcnJvcntcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtdHJlZS1ub2RlOmhvdmVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTllMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWVudS1pdGVtLWxvZ291dHtcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4ubWVudS1pdGVtLWxvZ291dDpob3ZlcntcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGE5ZTAgIWltcG9ydGFudDtcclxufVxyXG4ubWF0LW1lbnUtcGFuZWwtY3VzdG9te1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbi5tYXQtZHJhd2VyLWNvbnRhaW5lcntcclxuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy9Fc3RpbG9zIHBhcmEgZWwgc2lkZW5hdlxyXG4ubWF0LWRyYXdlcntcclxuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXQtZHJhd2VyLC5tYXQtdHJlZSwubWF0LXRyZWUtbm9kZXtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM4RDk2QkYgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjRkZGRkZGO1xyXG59XHJcblxyXG5cclxuLy9Fc3RpbG9zIHBhcmEgZWwgc2Nyb2xsXHJcblxyXG4vKiB3aWR0aCAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIHdpZHRoOiAwcHg7XHJcbn1cclxuXHJcbi8qIFRyYWNrICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuXHJcbi8qIEhhbmRsZSAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcbi8qIEhhbmRsZSBvbiBob3ZlciAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNkMmQyZDI7XHJcbn1cclxuXHJcbi5hcHAtY29udGFpbmVyLXRhYntcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXQtY2FyZHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4uY2hpcHNUZXh0IC5tYXQtY2hpcC1saXN0LXdyYXBwZXJ7XHJcbiAgICBtYXJnaW46IDRweCAhaW1wb3J0YW50O1xyXG59XHJcbi5jaGlwc1RleHQgLm1hdC1zdGFuZGFyZC1jaGlwe1xyXG4gICAgbWluLWhlaWdodDogMjVweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxMiBweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudFxyXG59XHJcblxyXG4uc3dhbDItcG9wdXB7XHJcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3dhbDItc3R5bGVkLnN3YWwyLWNvbmZpcm0ge1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcclxuICBwYWRkaW5nOiAxNXB4IDI3cHggMTVweCAyN3B4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xyXG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcclxuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN3YWwyLXN0eWxlZC5zd2FsMi1jb25maXJtOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjMDAwMDAwICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3dhbDItc3R5bGVkOmZvY3Vze1xyXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiQGltcG9ydCBcIn5AYW5ndWxhci9tYXRlcmlhbC9wcmVidWlsdC10aGVtZXMvaW5kaWdvLXBpbmsuY3NzXCI7XG5AaW1wb3J0ICd+QGZ1bGxjYWxlbmRhci9jb3JlL21haW4uY3NzJztcbkBpbXBvcnQgJ35AZnVsbGNhbGVuZGFyL2RheWdyaWQvbWFpbi5jc3MnO1xuLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnctMTAwIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi53LTkwIHtcbiAgd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xufVxuLnctODAge1xuICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG59XG4udy03MCB7XG4gIHdpZHRoOiA3MCUgIWltcG9ydGFudDtcbn1cbi53LTUwIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ubXQtMSB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbn1cbi5tdC0yIHtcbiAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50O1xufVxuLm10LTMge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG59XG4ubXQtNCB7XG4gIG1hcmdpbi10b3A6IDRyZW0gIWltcG9ydGFudDtcbn1cbi5tdC01IHtcbiAgbWFyZ2luLXRvcDogNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZC1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uZC1ub25lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmQtZmxleCB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbn1cblxuLnotZWxldmF0aW9uLTEge1xuICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5lcnJvci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmVycm9yLWNvbnRhaW5lciAuc2VydmVyLWVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgY29sb3I6ICNmMmYyZjI7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW5TYW5zXCI7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgbWFyZ2luOiAwIDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbn1cbi5lcnJvci1jb250YWluZXIgLmFycm93LXVwLWdhZGdldCB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiAwLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMC41cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwLjhyZW0gc29saWQgI2Y0NDMzNjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubWF0LWZvcm0tZmllbGQubm8tcGFkZGluZyAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5tYXQtZm9ybS1maWVsZC5uby1wYWRkaW5nIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gIHBhZGRpbmc6IDAuNHJlbSAwO1xufVxuXG4jcHJvZ3JhbUdlbmVyYWxJbmZvcm1hdGlvbiAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgaW5wdXRbbWF0SW5wdXRdLCAjcHJvZ3JhbUdlbmVyYWxJbmZvcm1hdGlvbiAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgdGV4dGFyZWFbbWF0SW5wdXRdLCAjcHJvZ3JhbUdlbmVyYWxJbmZvcm1hdGlvbiAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1zZWxlY3QtdmFsdWUge1xuICBjb2xvcjogZGFya3NsYXRlZ3JleTtcbn1cbiNwcm9ncmFtR2VuZXJhbEluZm9ybWF0aW9uIC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgaGVpZ2h0OiAwO1xufVxuI3Byb2dyYW1HZW5lcmFsSW5mb3JtYXRpb24gLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uZm9ybS1jb250YWluZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNHJlbSwgMWZyKSk7XG4gIGdyaWQtZ2FwOiAxcmVtO1xufVxuXG4uc2ltcGxlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwIDJyZW07XG4gIG1heC13aWR0aDogNzY4cHg7XG4gIG1hcmdpbjogMnJlbSBhdXRvO1xufVxuXG4uYXBwLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwIDJyZW07XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDJyZW0gYXV0bztcbn1cblxuLmJ0biB7XG4gIG1heC13aWR0aDogMTVyZW07XG59XG5cbi5zcGlubmVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgb3BhY2l0eTogMC40O1xuICB6LWluZGV4OiAxMDYwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cblxuLnRydW5jYXRlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5jdXN0b20tZGlhbG9nLWNvbnRhaW5lciAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMnJlbSk7XG59XG5cbiNmcm9hbGEtbGljZW5zZS1ub25lID4gZGl2ID4gZGl2LmZyLXdyYXBwZXIuc2hvdy1wbGFjZWhvbGRlciA+IGRpdjpudGgtY2hpbGQoMSkgPiBhLFxuI2Zyb2FsYS1saWNlbnNlLW5vbmUgPiBkaXYgPiBkaXYuZnItd3JhcHBlciA+IGRpdjpudGgtY2hpbGQoMSkgPiBhIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4jZnJvYWxhLWxpY2Vuc2Utbm9uZSAuc2Vjb25kLXRvb2xiYXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbiNmcm9hbGEtbGljZW5zZS1ub25lIC5kYXJrLXRoZW1lLmZyLWJveC5mci1iYXNpYyAuZnItd3JhcHBlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNjY2NjY2MgIWltcG9ydGFudDtcbn1cblxuLmxvZ2luLWZvcm0tY29udGFpbmVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwgLmxvZ2luLWZvcm0tY29udGFpbmVyIC5tYXQtZXJyb3Ige1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtdHJlZS1ub2RlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTllMCAhaW1wb3J0YW50O1xufVxuXG4ubWVudS1pdGVtLWxvZ291dCB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1lbnUtaXRlbS1sb2dvdXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhOWUwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtbWVudS1wYW5lbC1jdXN0b20ge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtZHJhd2VyLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1hdC1kcmF3ZXIge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbn1cblxuLm1hdC1kcmF3ZXIsIC5tYXQtdHJlZSwgLm1hdC10cmVlLW5vZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEQ5NkJGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4vKiB3aWR0aCAqL1xuOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiAwcHg7XG59XG5cbi8qIFRyYWNrICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLyogSGFuZGxlICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLyogSGFuZGxlIG9uIGhvdmVyICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2QyZDJkMjtcbn1cblxuLmFwcC1jb250YWluZXItdGFiIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLm1hdC1jYXJkIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY2hpcHNUZXh0IC5tYXQtY2hpcC1saXN0LXdyYXBwZXIge1xuICBtYXJnaW46IDRweCAhaW1wb3J0YW50O1xufVxuXG4uY2hpcHNUZXh0IC5tYXQtc3RhbmRhcmQtY2hpcCB7XG4gIG1pbi1oZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxMiBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcbn1cblxuLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuLnN3YWwyLXBvcHVwIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuXG4uc3dhbDItc3R5bGVkLnN3YWwyLWNvbmZpcm0ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDE1cHggMjdweCAxNXB4IDI3cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5zd2FsMi1zdHlsZWQuc3dhbDItY29uZmlybTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDAwMCAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuXG4uc3dhbDItc3R5bGVkOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbnRoLm1hdC1zb3J0LWhlYWRlci1zb3J0ZWQge1xuICBjb2xvcjogYmxhY2s7XG59XG5cbjo6bmctZGVlcCAubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lcjpub3QoLm1hdC1zb3J0LWhlYWRlci1zb3J0ZWQpIC5tYXQtc29ydC1oZWFkZXItYXJyb3cge1xuICBvcGFjaXR5OiAwLjU0ICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpICFpbXBvcnRhbnQ7XG59XG5cbi50YWJsZS1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTNyZW0pO1xuICBvdmVyZmxvdzogYXV0bztcbn1cbi50YWJsZS1jb250YWluZXIgLnJvd3Mge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udGFibGUtY29udGFpbmVyIC5yb3dzOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VFRUZGMztcbn1cblxuLmNlbGwtbWFyZ2luIHtcbiAgbWFyZ2luOiAwIDhweDtcbn1cblxuLnRhYmxlLWhlYWRlci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwIDRweDtcbn1cblxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0UxQjcwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLmRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjAwMjY7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzQkQxMzY7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAuaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjZBMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4uYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDY2O1xufSIsIkBpbXBvcnQgJy4uLy4uLy4uL3N0eWxlcy5zY3NzJztcclxuXHJcbnRoLm1hdC1zb3J0LWhlYWRlci1zb3J0ZWQge1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG59XHJcblxyXG46Om5nLWRlZXAgLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXI6bm90KC5tYXQtc29ydC1oZWFkZXItc29ydGVkKSAubWF0LXNvcnQtaGVhZGVyLWFycm93IHtcclxuICBvcGFjaXR5OiAwLjU0ICFpbXBvcnRhbnQ7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRhYmxlLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTNyZW0pO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcblxyXG4gICAgLnJvd3Mge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhdGhlbnMtZ3JheTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jZWxsLW1hcmdpbiB7XHJcbiAgICBtYXJnaW46IDAgOHB4O1xyXG59XHJcblxyXG5cclxuLnRhYmxlLWhlYWRlci1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHBhZGRpbmc6IDAgNHB4O1xyXG59XHJcblxyXG4ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAud2FybmluZ3tcclxuICAgIGJhY2tncm91bmQtY29sb3I6IzdFMUI3MDtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5kYW5nZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojRkYwMDI2O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLnN1Y2Nlc3Mge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojM0JEMTM2O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLmluZm97XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNGRjZBMDA7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuXHJcbi5idXR0b24tY29udGFpbmVye1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBidXR0b257XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDA2NjtcclxuICAgIH1cclxufVxyXG4iXX0= */\"","import { Component, OnInit, Input, ViewChild, SimpleChanges, Output, EventEmitter, Renderer2, ElementRef } from '@angular/core';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport * as _ from 'lodash';\r\nimport { MatPaginator, MatTableDataSource, MatSort, MatSnackBar } from '@angular/material';\r\nimport { FieldDescriptor, controlTypes } from '@utilities/SpecialForms';\r\nimport { ExportFacadeService } from '../../core/services/control/exporter-facade.service';\r\nimport { spanish } from '../../core/internationalization/i18n.es';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\ninterface DataField {\r\n [columna: string]: string;\r\n}\r\n\r\n@Pipe({ name: 'orderTableColumns' })\r\nexport class orderTableColumns implements PipeTransform {\r\n transform(data: FieldDescriptor[]): any {\r\n return data.map(item => item.name);\r\n }\r\n}\r\n\r\n@Pipe({ name: 'getCellData' })\r\nexport class getCellDataPipe implements PipeTransform {\r\n transform(data: Object, fieldData: FieldDescriptor): any {\r\n switch (fieldData.type) {\r\n case controlTypes.pkey: return data[fieldData.name];\r\n case controlTypes.text: return data[fieldData.name];\r\n case controlTypes.dropdown: return data[fieldData.name]/* [fieldData.data[0]] */;\r\n case controlTypes.autocomplete: return data[fieldData.name]/* [fieldData.data[1]] */;\r\n case controlTypes.longText: return data[fieldData.name];\r\n case controlTypes.chips: return data[fieldData.name];\r\n case controlTypes.boolean: return data[fieldData.name] ? fieldData.data[0] : fieldData.data[1];\r\n case controlTypes.actions: return fieldData.data.join();\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'list-table',\r\n templateUrl: './list-table.component.html',\r\n styleUrls: ['./list-table.component.scss'],\r\n})\r\nexport class ListTableComponent implements OnInit {\r\n @Input() data: any[];\r\n @Input() structure: FieldDescriptor[];\r\n @Input() pageSize: number = 50;\r\n @Input('table') partitionKey: string = \"\";\r\n @Input('nameExcel') nameExcel: string;\r\n @Output() editItem: EventEmitter = new EventEmitter();\r\n @Output() action: EventEmitter = new EventEmitter();\r\n @Output() optionSelected: EventEmitter = new EventEmitter();\r\n @Output() hyperLink: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n controlTypes = controlTypes;\r\n dataSource: MatTableDataSource;\r\n\r\n public dataExport: any[];\r\n private _dataExport: any[];\r\n\r\n private objData: DataField;\r\n private inputFilterReference: ElementRef[] = [];\r\n\r\n constructor(\r\n private exportFacadeService: ExportFacadeService,\r\n private _snackBar: MatSnackBar,\r\n private _renderer2: Renderer2\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.dataExport = this.dataSource.data;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes && changes.data && changes.data.currentValue) {\r\n this.dataMapping(this.data);\r\n }\r\n }\r\n\r\n\r\n clickedItem(item) {\r\n for (const iterator of this.inputFilterReference) {\r\n this._renderer2.setProperty(iterator.nativeElement, 'value', '');\r\n }\r\n this.inputFilterReference = [];\r\n this.editItem.emit(item);\r\n }\r\n\r\n applyFilter(filterValue: string, columna: string, entrada: any): void {\r\n\r\n // AGREGA CADA ELEMENTO DE ENTRADA DEL FIILTRO AL ARREGLO DE INPUTREFERENCIE\r\n if (this.inputFilterReference.length === 0) {\r\n this.inputFilterReference.push(new ElementRef(entrada));\r\n } else {\r\n for (const input of this.inputFilterReference) {\r\n if (input.nativeElement.id !== entrada.id) {\r\n this.inputFilterReference.push(new ElementRef(entrada));\r\n }\r\n }\r\n }\r\n\r\n this.objData = { ...this.objData, ...{ [columna]: filterValue.toLowerCase().trim() } };\r\n\r\n let rawData = [...this.data];\r\n for (const key in this.objData) {\r\n if (this.objData.hasOwnProperty(key)) {\r\n const value = this.objData[key];\r\n const filtro = rawData.filter(i => {\r\n if (isNullOrUndefined(i[key])) {\r\n return false;\r\n }\r\n //console.log(i[key])\r\n const element = ((i[key])).toLowerCase();\r\n if (element.includes(value)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n });\r\n rawData = [...filtro];\r\n }\r\n this.dataMapping(rawData);\r\n }\r\n //this.dataExport = rawData;\r\n }\r\n\r\n private dataMapping(data: any[]): void {\r\n\r\n this.dataSource = new MatTableDataSource(data);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n\r\n this.dataExport = [...data]; // Datos para tabla de exportación a Excel\r\n\r\n this.dataSource.sortData = (data, sort) => {\r\n const column = sort.active;\r\n const direction = sort.direction;\r\n data.sort((a, b) => this.sortList(a[column], b[column], direction));\r\n this.dataExport = [...data]; // Datos para tabla de exportación a Excel\r\n return data;\r\n\r\n };\r\n\r\n }\r\n\r\n private sortList(a: string | number, b: string | number, direccion: string = 'asc') {\r\n\r\n const a1 = typeof a === 'number' ? +a : a;\r\n const b1 = typeof a === 'number' ? +b : b;\r\n\r\n if (direccion === 'asc') {\r\n if (a1 > b1) {\r\n return 1;\r\n }\r\n if (a1 < b1) {\r\n return -1;\r\n }\r\n } else {\r\n if (a1 > b1) {\r\n return -1;\r\n }\r\n if (a1 < b1) {\r\n return 1;\r\n }\r\n }\r\n return 0;\r\n }\r\n\r\n exportToExcel() {\r\n\r\n if (this.dataExport.length <= 0) {\r\n this._snackBar.open(\"Para exportar a Excel debe existir al menos 1 registro en la tabla.\", \"\", { duration: 5000, });\r\n } else {\r\n this.dataExport = this.sortColumns(this.dataExport);\r\n var dataToExport = this.getFormattedData(Object.keys(this.dataExport[0]));\r\n this.exportFacadeService.exportToExcel(dataToExport, this.nameExcel);\r\n }\r\n }\r\n\r\n private getFormattedData(keyList: any[]): any[] {\r\n var dataList: any[] = [];\r\n var objectConstructor = ({}).constructor;\r\n this.dataExport.forEach(json => {\r\n var jsonData = {};\r\n keyList.forEach(k => {\r\n if (k !== \"label\") {\r\n var key = this.getTranslateText(k);\r\n if (key !== \"\") {\r\n var value = json[k];\r\n if (value !== null && value.constructor === objectConstructor) {\r\n var obj = json[k];\r\n var levelTwoArray = Object.keys(obj).map(function (i) {\r\n if (obj[i].constructor === objectConstructor) {\r\n return '';\r\n } else {\r\n return obj[i];\r\n }\r\n });\r\n value = levelTwoArray.map(x => x).join(\", \");\r\n }\r\n jsonData[key] = value;\r\n }\r\n }\r\n });\r\n dataList.push(jsonData);\r\n });\r\n return dataList;\r\n }\r\n\r\n private getTranslateText(key: string): string {\r\n let lblEs = \"\";\r\n Object.keys(spanish).forEach(label => {\r\n if (label === key) {\r\n lblEs = spanish[key];\r\n }\r\n });\r\n return lblEs;\r\n }\r\n\r\n /**\r\n * Ordena los campos segun el orden de la tabla a nivel visual antes de exportar a excel\r\n * @param list\r\n * @returns {any[]}\r\n */\r\n private sortColumns(list: any[]): any[] {\r\n const orderingStructure = [];\r\n for (const iterator of this.structure) {\r\n if (iterator.name !== 'Button') {\r\n const element = { column: iterator.name, order: iterator.order };\r\n orderingStructure.push(element);\r\n }\r\n }\r\n\r\n const result: any[] = [];\r\n for (const row of list) {\r\n let orderedRow: DataField = {};\r\n for (const iterator of orderingStructure) {\r\n orderedRow = {\r\n ...orderedRow,\r\n ...{ [iterator['column']]: row[iterator['column']] },\r\n };\r\n }\r\n result.push(orderedRow);\r\n }\r\n return [...result];\r\n }\r\n\r\n}\r\n\r\n\r\n","module.exports = \".mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 calc(14px * .83)/20px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 calc(14px * .67)/20px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,\\\"Helvetica Neue\\\",sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,\\\"Helvetica Neue\\\",sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,\\\"Helvetica Neue\\\",sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-card{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-expansion-panel-header{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.34375em) scale(.75);transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.34374em) scale(.75);transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28122em) scale(.75);transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28121em) scale(.75);transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.2812em) scale(.75);transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em 0}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-.59375em) scale(.75);transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-.59374em) scale(.75);transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0 1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.59375em) scale(.75);transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.59374em) scale(.75);transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-select{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-list-option{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-simple-snackbar{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-nested-tree-node,.mat-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;-webkit-transition:opacity,-webkit-transform 0s cubic-bezier(0,0,.2,1);transition:opacity,-webkit-transform 0s cubic-bezier(0,0,.2,1);transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transition:opacity,transform 0s cubic-bezier(0,0,.2,1),-webkit-transform 0s cubic-bezier(0,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}@media (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:-webkit-box;display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:-webkit-box;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;-webkit-transition:opacity .4s cubic-bezier(.25,.8,.25,1);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}@-webkit-keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-start{/*!*/}@-webkit-keyframes cdk-text-field-autofill-end{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option{color:rgba(0,0,0,.87)}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#3f51b5}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff4081}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-optgroup-label{color:rgba(0,0,0,.54)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-pseudo-checkbox-disabled{color:#b0b0b0}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#3f51b5}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ff4081}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-badge-content{color:#fff;background:#3f51b5}@media (-ms-high-contrast:active){.mat-badge-content{outline:solid 1px;border-radius:0}}.mat-badge-accent .mat-badge-content{background:#ff4081;color:#fff}.mat-badge-warn .mat-badge-content{color:#fff;background:#f44336}.mat-badge{position:relative}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:rgba(0,0,0,.38)}.mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out, -webkit-transform .2s ease-in-out;-webkit-transform:scale(.6);transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.mat-badge-content._mat-animation-noopable,.ng-animate-disabled .mat-badge-content{-webkit-transition:none;transition:none}.mat-badge-content.mat-badge-active{-webkit-transform:none;transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-bottom-sheet-container{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);background:#fff;color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:0 0}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#3f51b5}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ff4081}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled],.mat-stroked-button.mat-accent[disabled],.mat-stroked-button.mat-primary[disabled],.mat-stroked-button.mat-warn[disabled],.mat-stroked-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#3f51b5}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#ff4081}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#f44336}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay,.mat-stroked-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button .mat-ripple-element,.mat-icon-button .mat-ripple-element,.mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.mat-button-focus-overlay{background:#000}.mat-stroked-button:not([disabled]){border-color:rgba(0,0,0,.12)}.mat-fab,.mat-flat-button,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:#fff}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#3f51b5}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ff4081}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-flat-button.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-accent .mat-ripple-element,.mat-flat-button.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-warn .mat-ripple-element,.mat-flat-button.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-flat-button:not([class*=mat-elevation-z]),.mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-raised-button[disabled]:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab[disabled]:not([class*=mat-elevation-z]),.mat-mini-fab[disabled]:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-button-toggle-group,.mat-button-toggle-standalone{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-appearance-standard{color:rgba(0,0,0,.87);background:#fff}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:solid 1px rgba(0,0,0,.12)}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:solid 1px rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:rgba(0,0,0,.87)}.mat-button-toggle-disabled{color:rgba(0,0,0,.26);background-color:#eee}.mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:solid 1px rgba(0,0,0,.12)}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}@media (-ms-high-contrast:black-on-white){.mat-checkbox-checkmark-path{stroke:#000!important}}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#3f51b5}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ff4081}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:rgba(0,0,0,.54)}@media (-ms-high-contrast:active){.mat-checkbox-disabled{opacity:.5}}@media (-ms-high-contrast:active){.mat-checkbox-background{background:0 0}}.mat-checkbox .mat-ripple-element{background-color:#000}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#3f51b5}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#ff4081}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#f44336}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.mat-chip.mat-standard-chip::after{background:#000}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#3f51b5;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ff4081;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-table{background:#fff}.mat-table tbody,.mat-table tfoot,.mat-table thead,.mat-table-sticky,[mat-footer-row],[mat-header-row],[mat-row],mat-footer-row,mat-header-row,mat-row{background:inherit}mat-footer-row,mat-header-row,mat-row,td.mat-cell,td.mat-footer-cell,th.mat-header-cell{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell,.mat-footer-cell{color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button,.mat-datepicker-toggle{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-calendar-body-selected{background-color:#3f51b5;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(63,81,181,.4)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);background-color:#fff;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ff4081;color:#fff}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(255,64,129,.4)}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#f44336;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(244,67,54,.4)}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content-touch{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-datepicker-toggle-active{color:#3f51b5}.mat-datepicker-toggle-active.mat-accent{color:#ff4081}.mat-datepicker-toggle-active.mat-warn{color:#f44336}.mat-dialog-container{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:rgba(0,0,0,.04)}@media (hover:none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label{color:rgba(0,0,0,.6)}.mat-hint{color:rgba(0,0,0,.6)}.mat-form-field.mat-focused .mat-form-field-label{color:#3f51b5}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ff4081}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ff4081}.mat-form-field-ripple{background-color:rgba(0,0,0,.87)}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#3f51b5}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ff4081}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after{color:#3f51b5}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after{color:#ff4081}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#f44336}.mat-error{color:#f44336}.mat-form-field-appearance-legacy .mat-form-field-label{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-hint{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:-webkit-gradient(linear,left top, right top,color-stop(0, rgba(0,0,0,.42)),color-stop(33%, rgba(0,0,0,.42)),color-stop(0, transparent));background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:-webkit-gradient(linear,left top, right top,color-stop(0, rgba(0,0,0,.42)),color-stop(33%, rgba(0,0,0,.42)),color-stop(0, transparent));background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:rgba(0,0,0,.04)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:rgba(0,0,0,.02)}.mat-form-field-appearance-fill .mat-form-field-underline::before{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:rgba(0,0,0,.12)}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:rgba(0,0,0,.87)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#3f51b5}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ff4081}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:rgba(0,0,0,.06)}.mat-icon.mat-primary{color:#3f51b5}.mat-icon.mat-accent{color:#ff4081}.mat-icon.mat-warn{color:#f44336}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{color:rgba(0,0,0,.54)}.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after,.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#3f51b5}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ff4081}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after{color:#f44336}.mat-list-base .mat-list-item{color:rgba(0,0,0,.87)}.mat-list-base .mat-list-option{color:rgba(0,0,0,.87)}.mat-list-base .mat-subheader{color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-action-list .mat-list-item:focus,.mat-action-list .mat-list-item:hover,.mat-list-option:focus,.mat-list-option:hover,.mat-nav-list .mat-list-item:focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled],.mat-menu-item[disabled]::after{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon-no-color,.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-last{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{fill:#c5cae9}.mat-progress-bar-buffer{background-color:#c5cae9}.mat-progress-bar-fill::after{background-color:#3f51b5}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ff4081}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#3f51b5}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff4081}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#3f51b5}.mat-radio-button.mat-primary .mat-radio-inner-circle,.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#3f51b5}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff4081}.mat-radio-button.mat-accent .mat-radio-inner-circle,.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#ff4081}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle,.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#f44336}.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button .mat-ripple-element{background-color:#000}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel{background:#fff}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#3f51b5}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff4081}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-drawer-side{border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-side.mat-drawer-end{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#ff4081}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:rgba(255,64,129,.54)}.mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#ff4081}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#3f51b5}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:rgba(63,81,181,.54)}.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#3f51b5}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:rgba(244,67,54,.54)}.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#f44336}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#3f51b5}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ff4081}.mat-accent .mat-slider-thumb-label-text{color:#fff}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,64,129,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(0,0,0,.26)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}@media (hover:none){.mat-step-header:hover{background:0 0}}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.54)}.mat-step-header .mat-step-icon{background-color:rgba(0,0,0,.54);color:#fff}.mat-step-header .mat-step-icon-selected,.mat-step-header .mat-step-icon-state-done,.mat-step-header .mat-step-icon-state-edit{background-color:#3f51b5;color:#fff}.mat-step-header .mat-step-icon-state-error{background-color:transparent;color:#f44336}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-step-header .mat-step-label.mat-step-label-error{color:#f44336}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-horizontal-stepper-header::after,.mat-horizontal-stepper-header::before,.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-sort-header-arrow{color:#757575}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#3f51b5}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff4081}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-header-pagination,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#3f51b5}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-header-pagination,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ff4081}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:#fff}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-header-pagination,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#3f51b5;color:#fff}.mat-toolbar.mat-accent{background:#ff4081;color:#fff}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-toolbar .mat-focused .mat-form-field-ripple,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-form-field-underline{background-color:currentColor}.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-select-value{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{background:#fff}.mat-nested-tree-node,.mat-tree-node{color:rgba(0,0,0,.87)}.mat-snack-bar-container{color:rgba(255,255,255,.7);background:#323232;box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-simple-snackbar-action{color:#ff4081}@charset \\\"UTF-8\\\";.fc {\\n direction: ltr;\\n text-align: left;\\n}.fc-rtl {\\n text-align: right;\\n}body .fc {\\n /* extra precedence to overcome jqui */\\n font-size: 1em;\\n}/* Colors\\n--------------------------------------------------------------------------------------------------*/.fc-highlight {\\n /* when user is selecting cells */\\n background: #bce8f1;\\n opacity: 0.3;\\n}.fc-bgevent {\\n /* default look for background events */\\n background: #8fdf82;\\n opacity: 0.3;\\n}.fc-nonbusiness {\\n /* default look for non-business-hours areas */\\n /* will inherit .fc-bgevent's styles */\\n background: #d7d7d7;\\n}/* Popover\\n--------------------------------------------------------------------------------------------------*/.fc-popover {\\n position: absolute;\\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);\\n}.fc-popover .fc-header {\\n /* TODO: be more consistent with fc-head/fc-body */\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n flex-direction: row;\\n -webkit-box-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n align-items: center;\\n padding: 2px 4px;\\n}.fc-rtl .fc-popover .fc-header {\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: reverse;\\n flex-direction: row-reverse;\\n}.fc-popover .fc-header .fc-title {\\n margin: 0 2px;\\n}.fc-popover .fc-header .fc-close {\\n cursor: pointer;\\n opacity: 0.65;\\n font-size: 1.1em;\\n}/* Misc Reusable Components\\n--------------------------------------------------------------------------------------------------*/.fc-divider {\\n border-style: solid;\\n border-width: 1px;\\n}hr.fc-divider {\\n height: 0;\\n margin: 0;\\n padding: 0 0 2px;\\n /* height is unreliable across browsers, so use padding */\\n border-width: 1px 0;\\n}.fc-bg,\\n.fc-bgevent-skeleton,\\n.fc-highlight-skeleton,\\n.fc-mirror-skeleton {\\n /* these element should always cling to top-left/right corners */\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n}.fc-bg {\\n bottom: 0;\\n /* strech bg to bottom edge */\\n}.fc-bg table {\\n height: 100%;\\n /* strech bg to bottom edge */\\n}/* Tables\\n--------------------------------------------------------------------------------------------------*/.fc table {\\n width: 100%;\\n box-sizing: border-box;\\n /* fix scrollbar issue in firefox */\\n table-layout: fixed;\\n border-collapse: collapse;\\n border-spacing: 0;\\n font-size: 1em;\\n /* normalize cross-browser */\\n}.fc th {\\n text-align: center;\\n}.fc th,\\n.fc td {\\n border-style: solid;\\n border-width: 1px;\\n padding: 0;\\n vertical-align: top;\\n}.fc td.fc-today {\\n border-style: double;\\n /* overcome neighboring borders */\\n}/* Internal Nav Links\\n--------------------------------------------------------------------------------------------------*/a[data-goto] {\\n cursor: pointer;\\n}a[data-goto]:hover {\\n text-decoration: underline;\\n}/* Fake Table Rows\\n--------------------------------------------------------------------------------------------------*/.fc .fc-row {\\n /* extra precedence to overcome themes forcing a 1px border */\\n /* no visible border by default. but make available if need be (scrollbar width compensation) */\\n border-style: solid;\\n border-width: 0;\\n}.fc-row table {\\n /* don't put left/right border on anything within a fake row.\\n the outer tbody will worry about this */\\n border-left: 0 hidden transparent;\\n border-right: 0 hidden transparent;\\n /* no bottom borders on rows */\\n border-bottom: 0 hidden transparent;\\n}.fc-row:first-child table {\\n border-top: 0 hidden transparent;\\n /* no top border on first row */\\n}/* Day Row (used within the header and the DayGrid)\\n--------------------------------------------------------------------------------------------------*/.fc-row {\\n position: relative;\\n}.fc-row .fc-bg {\\n z-index: 1;\\n}/* highlighting cells & background event skeleton */.fc-row .fc-bgevent-skeleton,\\n.fc-row .fc-highlight-skeleton {\\n bottom: 0;\\n /* stretch skeleton to bottom of row */\\n}.fc-row .fc-bgevent-skeleton table,\\n.fc-row .fc-highlight-skeleton table {\\n height: 100%;\\n /* stretch skeleton to bottom of row */\\n}.fc-row .fc-highlight-skeleton td,\\n.fc-row .fc-bgevent-skeleton td {\\n border-color: transparent;\\n}.fc-row .fc-bgevent-skeleton {\\n z-index: 2;\\n}.fc-row .fc-highlight-skeleton {\\n z-index: 3;\\n}/*\\nrow content (which contains day/week numbers and events) as well as \\\"mirror\\\" (which contains\\ntemporary rendered events).\\n*/.fc-row .fc-content-skeleton {\\n position: relative;\\n z-index: 4;\\n padding-bottom: 2px;\\n /* matches the space above the events */\\n}.fc-row .fc-mirror-skeleton {\\n z-index: 5;\\n}.fc .fc-row .fc-content-skeleton table,\\n.fc .fc-row .fc-content-skeleton td,\\n.fc .fc-row .fc-mirror-skeleton td {\\n /* see-through to the background below */\\n /* extra precedence to prevent theme-provided backgrounds */\\n background: none;\\n /* in case s are globally styled */\\n border-color: transparent;\\n}.fc-row .fc-content-skeleton td,\\n.fc-row .fc-mirror-skeleton td {\\n /* don't put a border between events and/or the day number */\\n border-bottom: 0;\\n}.fc-row .fc-content-skeleton tbody td,\\n.fc-row .fc-mirror-skeleton tbody td {\\n /* don't put a border between event cells */\\n border-top: 0;\\n}/* Scrolling Container\\n--------------------------------------------------------------------------------------------------*/.fc-scroller {\\n -webkit-overflow-scrolling: touch;\\n}/* TODO: move to timegrid/daygrid */.fc-scroller > .fc-day-grid,\\n.fc-scroller > .fc-time-grid {\\n position: relative;\\n /* re-scope all positions */\\n width: 100%;\\n /* hack to force re-sizing this inner element when scrollbars appear/disappear */\\n}/* Global Event Styles\\n--------------------------------------------------------------------------------------------------*/.fc-event {\\n position: relative;\\n /* for resize handle and other inner positioning */\\n display: block;\\n /* make the tag block */\\n font-size: 0.85em;\\n line-height: 1.4;\\n border-radius: 3px;\\n border: 1px solid #3788d8;\\n}.fc-event,\\n.fc-event-dot {\\n background-color: #3788d8;\\n /* default BACKGROUND color */\\n}.fc-event,\\n.fc-event:hover {\\n color: #fff;\\n /* default TEXT color */\\n text-decoration: none;\\n /* if has an href */\\n}.fc-event[href],\\n.fc-event.fc-draggable {\\n cursor: pointer;\\n /* give events with links and draggable events a hand mouse pointer */\\n}.fc-not-allowed,\\n.fc-not-allowed .fc-event {\\n /* to override an event's custom cursor */\\n cursor: not-allowed;\\n}.fc-event .fc-content {\\n position: relative;\\n z-index: 2;\\n}/* resizer (cursor AND touch devices) */.fc-event .fc-resizer {\\n position: absolute;\\n z-index: 4;\\n}/* resizer (touch devices) */.fc-event .fc-resizer {\\n display: none;\\n}.fc-event.fc-allow-mouse-resize .fc-resizer,\\n.fc-event.fc-selected .fc-resizer {\\n /* only show when hovering or selected (with touch) */\\n display: block;\\n}/* hit area */.fc-event.fc-selected .fc-resizer:before {\\n /* 40x40 touch area */\\n content: \\\"\\\";\\n position: absolute;\\n z-index: 9999;\\n /* user of this util can scope within a lower z-index */\\n top: 50%;\\n left: 50%;\\n width: 40px;\\n height: 40px;\\n margin-left: -20px;\\n margin-top: -20px;\\n}/* Event Selection (only for touch devices)\\n--------------------------------------------------------------------------------------------------*/.fc-event.fc-selected {\\n z-index: 9999 !important;\\n /* overcomes inline z-index */\\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\\n}.fc-event.fc-selected:after {\\n content: \\\"\\\";\\n position: absolute;\\n z-index: 1;\\n /* same z-index as fc-bg, behind text */\\n /* overcome the borders */\\n top: -1px;\\n right: -1px;\\n bottom: -1px;\\n left: -1px;\\n /* darkening effect */\\n background: #000;\\n opacity: 0.25;\\n}/* Event Dragging\\n--------------------------------------------------------------------------------------------------*/.fc-event.fc-dragging.fc-selected {\\n box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);\\n}.fc-event.fc-dragging:not(.fc-selected) {\\n opacity: 0.75;\\n}/* Horizontal Events\\n--------------------------------------------------------------------------------------------------*//* bigger touch area when selected */.fc-h-event.fc-selected:before {\\n content: \\\"\\\";\\n position: absolute;\\n z-index: 3;\\n /* below resizers */\\n top: -10px;\\n bottom: -10px;\\n left: 0;\\n right: 0;\\n}/* events that are continuing to/from another week. kill rounded corners and butt up against edge */.fc-ltr .fc-h-event.fc-not-start,\\n.fc-rtl .fc-h-event.fc-not-end {\\n margin-left: 0;\\n border-left-width: 0;\\n padding-left: 1px;\\n /* replace the border with padding */\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}.fc-ltr .fc-h-event.fc-not-end,\\n.fc-rtl .fc-h-event.fc-not-start {\\n margin-right: 0;\\n border-right-width: 0;\\n padding-right: 1px;\\n /* replace the border with padding */\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}/* resizer (cursor AND touch devices) *//* left resizer */.fc-ltr .fc-h-event .fc-start-resizer,\\n.fc-rtl .fc-h-event .fc-end-resizer {\\n cursor: w-resize;\\n left: -1px;\\n /* overcome border */\\n}/* right resizer */.fc-ltr .fc-h-event .fc-end-resizer,\\n.fc-rtl .fc-h-event .fc-start-resizer {\\n cursor: e-resize;\\n right: -1px;\\n /* overcome border */\\n}/* resizer (mouse devices) */.fc-h-event.fc-allow-mouse-resize .fc-resizer {\\n width: 7px;\\n top: -1px;\\n /* overcome top border */\\n bottom: -1px;\\n /* overcome bottom border */\\n}/* resizer (touch devices) */.fc-h-event.fc-selected .fc-resizer {\\n /* 8x8 little dot */\\n border-radius: 4px;\\n border-width: 1px;\\n width: 6px;\\n height: 6px;\\n border-style: solid;\\n border-color: inherit;\\n background: #fff;\\n /* vertically center */\\n top: 50%;\\n margin-top: -4px;\\n}/* left resizer */.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,\\n.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {\\n margin-left: -4px;\\n /* centers the 8x8 dot on the left edge */\\n}/* right resizer */.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,\\n.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {\\n margin-right: -4px;\\n /* centers the 8x8 dot on the right edge */\\n}/* DayGrid events\\n----------------------------------------------------------------------------------------------------\\nWe use the full \\\"fc-day-grid-event\\\" class instead of using descendants because the event won't\\nbe a descendant of the grid when it is being dragged.\\n*/.fc-day-grid-event {\\n margin: 1px 2px 0;\\n /* spacing between events and edges */\\n padding: 0 1px;\\n}tr:first-child > td > .fc-day-grid-event {\\n margin-top: 2px;\\n /* a little bit more space before the first event */\\n}.fc-mirror-skeleton tr:first-child > td > .fc-day-grid-event {\\n margin-top: 0;\\n /* except for mirror skeleton */\\n}.fc-day-grid-event .fc-content {\\n /* force events to be one-line tall */\\n white-space: nowrap;\\n overflow: hidden;\\n}.fc-day-grid-event .fc-time {\\n font-weight: bold;\\n}/* resizer (cursor devices) *//* left resizer */.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,\\n.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {\\n margin-left: -2px;\\n /* to the day cell's edge */\\n}/* right resizer */.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,\\n.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {\\n margin-right: -2px;\\n /* to the day cell's edge */\\n}/* Event Limiting\\n--------------------------------------------------------------------------------------------------*//* \\\"more\\\" link that represents hidden events */a.fc-more {\\n margin: 1px 3px;\\n font-size: 0.85em;\\n cursor: pointer;\\n text-decoration: none;\\n}a.fc-more:hover {\\n text-decoration: underline;\\n}.fc-limited {\\n /* rows and cells that are hidden because of a \\\"more\\\" link */\\n display: none;\\n}/* popover that appears when \\\"more\\\" link is clicked */.fc-day-grid .fc-row {\\n z-index: 1;\\n /* make the \\\"more\\\" popover one higher than this */\\n}.fc-more-popover {\\n z-index: 2;\\n width: 220px;\\n}.fc-more-popover .fc-event-container {\\n padding: 10px;\\n}/* Now Indicator\\n--------------------------------------------------------------------------------------------------*/.fc-now-indicator {\\n position: absolute;\\n border: 0 solid red;\\n}/* Utilities\\n--------------------------------------------------------------------------------------------------*/.fc-unselectable {\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n -webkit-touch-callout: none;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}/*\\nTODO: more distinction between this file and common.css\\n*//* Colors\\n--------------------------------------------------------------------------------------------------*/.fc-unthemed th,\\n.fc-unthemed td,\\n.fc-unthemed thead,\\n.fc-unthemed tbody,\\n.fc-unthemed .fc-divider,\\n.fc-unthemed .fc-row,\\n.fc-unthemed .fc-content,\\n.fc-unthemed .fc-popover,\\n.fc-unthemed .fc-list-view,\\n.fc-unthemed .fc-list-heading td {\\n border-color: #ddd;\\n}.fc-unthemed .fc-popover {\\n background-color: #fff;\\n}.fc-unthemed .fc-divider,\\n.fc-unthemed .fc-popover .fc-header,\\n.fc-unthemed .fc-list-heading td {\\n background: #eee;\\n}.fc-unthemed td.fc-today {\\n background: #fcf8e3;\\n}.fc-unthemed .fc-disabled-day {\\n background: #d7d7d7;\\n opacity: 0.3;\\n}/* Icons\\n--------------------------------------------------------------------------------------------------\\nfrom https://feathericons.com/ and built with IcoMoon\\n*/@font-face {\\n font-family: \\\"fcicons\\\";\\n src: url(\\\"data:application/x-font-ttf;charset=utf-8;base64,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\\\") format(\\\"truetype\\\");\\n font-weight: normal;\\n font-style: normal;\\n}.fc-icon {\\n /* use !important to prevent issues with browser extensions that change fonts */\\n font-family: \\\"fcicons\\\" !important;\\n speak: none;\\n font-style: normal;\\n font-weight: normal;\\n font-variant: normal;\\n text-transform: none;\\n line-height: 1;\\n /* Better Font Rendering =========== */\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}.fc-icon-chevron-left:before {\\n content: \\\"\\\";\\n}.fc-icon-chevron-right:before {\\n content: \\\"\\\";\\n}.fc-icon-chevrons-left:before {\\n content: \\\"\\\";\\n}.fc-icon-chevrons-right:before {\\n content: \\\"\\\";\\n}.fc-icon-minus-square:before {\\n content: \\\"\\\";\\n}.fc-icon-plus-square:before {\\n content: \\\"\\\";\\n}.fc-icon-x:before {\\n content: \\\"\\\";\\n}.fc-icon {\\n display: inline-block;\\n width: 1em;\\n height: 1em;\\n text-align: center;\\n}/* Buttons\\n--------------------------------------------------------------------------------------------------\\nLots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css\\n*//* reset */.fc-button {\\n border-radius: 0;\\n overflow: visible;\\n text-transform: none;\\n margin: 0;\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n}.fc-button:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n}.fc-button {\\n -webkit-appearance: button;\\n}.fc-button:not(:disabled) {\\n cursor: pointer;\\n}.fc-button::-moz-focus-inner {\\n padding: 0;\\n border-style: none;\\n}/* theme */.fc-button {\\n display: inline-block;\\n font-weight: 400;\\n color: #212529;\\n text-align: center;\\n vertical-align: middle;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n background-color: transparent;\\n border: 1px solid transparent;\\n padding: 0.4em 0.65em;\\n font-size: 1em;\\n line-height: 1.5;\\n border-radius: 0.25em;\\n}.fc-button:hover {\\n color: #212529;\\n text-decoration: none;\\n}.fc-button:focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);\\n}.fc-button:disabled {\\n opacity: 0.65;\\n}/* \\\"primary\\\" coloring */.fc-button-primary {\\n color: #fff;\\n background-color: #2C3E50;\\n border-color: #2C3E50;\\n}.fc-button-primary:hover {\\n color: #fff;\\n background-color: #1e2b37;\\n border-color: #1a252f;\\n}.fc-button-primary:focus {\\n box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);\\n}.fc-button-primary:disabled {\\n color: #fff;\\n background-color: #2C3E50;\\n border-color: #2C3E50;\\n}.fc-button-primary:not(:disabled):active,\\n.fc-button-primary:not(:disabled).fc-button-active {\\n color: #fff;\\n background-color: #1a252f;\\n border-color: #151e27;\\n}.fc-button-primary:not(:disabled):active:focus,\\n.fc-button-primary:not(:disabled).fc-button-active:focus {\\n box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);\\n}/* icons within buttons */.fc-button .fc-icon {\\n vertical-align: middle;\\n font-size: 1.5em;\\n}/* Buttons Groups\\n--------------------------------------------------------------------------------------------------*/.fc-button-group {\\n position: relative;\\n display: -webkit-inline-box;\\n display: inline-flex;\\n vertical-align: middle;\\n}.fc-button-group > .fc-button {\\n position: relative;\\n -webkit-box-flex: 1;\\n flex: 1 1 auto;\\n}.fc-button-group > .fc-button:hover {\\n z-index: 1;\\n}.fc-button-group > .fc-button:focus,\\n.fc-button-group > .fc-button:active,\\n.fc-button-group > .fc-button.fc-button-active {\\n z-index: 1;\\n}.fc-button-group > .fc-button:not(:first-child) {\\n margin-left: -1px;\\n}.fc-button-group > .fc-button:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}.fc-button-group > .fc-button:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}/* Popover\\n--------------------------------------------------------------------------------------------------*/.fc-unthemed .fc-popover {\\n border-width: 1px;\\n border-style: solid;\\n}/* List View\\n--------------------------------------------------------------------------------------------------*/.fc-unthemed .fc-list-item:hover td {\\n background-color: #f5f5f5;\\n}/* Toolbar\\n--------------------------------------------------------------------------------------------------*/.fc-toolbar {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n align-items: center;\\n}.fc-toolbar.fc-header-toolbar {\\n margin-bottom: 1.5em;\\n}.fc-toolbar.fc-footer-toolbar {\\n margin-top: 1.5em;\\n}/* inner content */.fc-toolbar > * > :not(:first-child) {\\n margin-left: 0.75em;\\n}.fc-toolbar h2 {\\n font-size: 1.75em;\\n margin: 0;\\n}/* View Structure\\n--------------------------------------------------------------------------------------------------*/.fc-view-container {\\n position: relative;\\n}/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques *//* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */.fc-view-container *,\\n.fc-view-container *:before,\\n.fc-view-container *:after {\\n box-sizing: content-box;\\n}.fc-view,\\n.fc-view > table {\\n /* so dragged elements can be above the view's main element */\\n position: relative;\\n z-index: 1;\\n}@media print {\\n .fc {\\n max-width: 100% !important;\\n }\\n\\n /* Global Event Restyling\\n --------------------------------------------------------------------------------------------------*/\\n .fc-event {\\n background: #fff !important;\\n color: #000 !important;\\n page-break-inside: avoid;\\n }\\n\\n .fc-event .fc-resizer {\\n display: none;\\n }\\n\\n /* Table & Day-Row Restyling\\n --------------------------------------------------------------------------------------------------*/\\n .fc th,\\n.fc td,\\n.fc hr,\\n.fc thead,\\n.fc tbody,\\n.fc-row {\\n border-color: #ccc !important;\\n background: #fff !important;\\n }\\n\\n /* kill the overlaid, absolutely-positioned components */\\n /* common... */\\n .fc-bg,\\n.fc-bgevent-skeleton,\\n.fc-highlight-skeleton,\\n.fc-mirror-skeleton,\\n.fc-bgevent-container,\\n.fc-business-container,\\n.fc-highlight-container,\\n.fc-mirror-container {\\n display: none;\\n }\\n\\n /* don't force a min-height on rows (for DayGrid) */\\n .fc tbody .fc-row {\\n height: auto !important;\\n /* undo height that JS set in distributeHeight */\\n min-height: 0 !important;\\n /* undo the min-height from each view's specific stylesheet */\\n }\\n\\n .fc tbody .fc-row .fc-content-skeleton {\\n position: static;\\n /* undo .fc-rigid */\\n padding-bottom: 0 !important;\\n /* use a more border-friendly method for this... */\\n }\\n\\n .fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {\\n /* only works in newer browsers */\\n padding-bottom: 1em;\\n /* ...gives space within the skeleton. also ensures min height in a way */\\n }\\n\\n .fc tbody .fc-row .fc-content-skeleton table {\\n /* provides a min-height for the row, but only effective for IE, which exaggerates this value,\\n making it look more like 3em. for other browers, it will already be this tall */\\n height: 1em;\\n }\\n\\n /* Undo month-view event limiting. Display all events and hide the \\\"more\\\" links\\n --------------------------------------------------------------------------------------------------*/\\n .fc-more-cell,\\n.fc-more {\\n display: none !important;\\n }\\n\\n .fc tr.fc-limited {\\n display: table-row !important;\\n }\\n\\n .fc td.fc-limited {\\n display: table-cell !important;\\n }\\n\\n .fc-popover {\\n display: none;\\n /* never display the \\\"more..\\\" popover in print mode */\\n }\\n\\n /* TimeGrid Restyling\\n --------------------------------------------------------------------------------------------------*/\\n /* undo the min-height 100% trick used to fill the container's height */\\n .fc-time-grid {\\n min-height: 0 !important;\\n }\\n\\n /* don't display the side axis at all (\\\"all-day\\\" and time cells) */\\n .fc-timeGrid-view .fc-axis {\\n display: none;\\n }\\n\\n /* don't display the horizontal lines */\\n .fc-slats,\\n.fc-time-grid hr {\\n /* this hr is used when height is underused and needs to be filled */\\n display: none !important;\\n /* important overrides inline declaration */\\n }\\n\\n /* let the container that holds the events be naturally positioned and create real height */\\n .fc-time-grid .fc-content-skeleton {\\n position: static;\\n }\\n\\n /* in case there are no events, we still want some height */\\n .fc-time-grid .fc-content-skeleton table {\\n height: 4em;\\n }\\n\\n /* kill the horizontal spacing made by the event container. event margins will be done below */\\n .fc-time-grid .fc-event-container {\\n margin: 0 !important;\\n }\\n\\n /* TimeGrid *Event* Restyling\\n --------------------------------------------------------------------------------------------------*/\\n /* naturally position events, vertically stacking them */\\n .fc-time-grid .fc-event {\\n position: static !important;\\n margin: 3px 2px !important;\\n }\\n\\n /* for events that continue to a future day, give the bottom border back */\\n .fc-time-grid .fc-event.fc-not-end {\\n border-bottom-width: 1px !important;\\n }\\n\\n /* indicate the event continues via \\\"...\\\" text */\\n .fc-time-grid .fc-event.fc-not-end:after {\\n content: \\\"...\\\";\\n }\\n\\n /* for events that are continuations from previous days, give the top border back */\\n .fc-time-grid .fc-event.fc-not-start {\\n border-top-width: 1px !important;\\n }\\n\\n /* indicate the event is a continuation via \\\"...\\\" text */\\n .fc-time-grid .fc-event.fc-not-start:before {\\n content: \\\"...\\\";\\n }\\n\\n /* time */\\n /* undo a previous declaration and let the time text span to a second line */\\n .fc-time-grid .fc-event .fc-time {\\n white-space: normal !important;\\n }\\n\\n /* hide the the time that is normally displayed... */\\n .fc-time-grid .fc-event .fc-time span {\\n display: none;\\n }\\n\\n /* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */\\n .fc-time-grid .fc-event .fc-time:after {\\n content: attr(data-full);\\n }\\n\\n /* Vertical Scroller & Containers\\n --------------------------------------------------------------------------------------------------*/\\n /* kill the scrollbars and allow natural height */\\n .fc-scroller,\\n.fc-day-grid-container,\\n.fc-time-grid-container {\\n /* */\\n overflow: visible !important;\\n height: auto !important;\\n }\\n\\n /* kill the horizontal border/padding used to compensate for scrollbars */\\n .fc-row {\\n border: 0 !important;\\n margin: 0 !important;\\n }\\n\\n /* Button Controls\\n --------------------------------------------------------------------------------------------------*/\\n .fc-button-group,\\n.fc button {\\n display: none;\\n /* don't display any button-related controls */\\n }\\n}/* DayGridView\\n--------------------------------------------------------------------------------------------------*//* day row structure */.fc-dayGridWeek-view .fc-content-skeleton,\\n.fc-dayGridDay-view .fc-content-skeleton {\\n /* there may be week numbers in these views, so no padding-top */\\n padding-bottom: 1em;\\n /* ensure a space at bottom of cell for user selecting/clicking */\\n}.fc-dayGrid-view .fc-body .fc-row {\\n min-height: 4em;\\n /* ensure that all rows are at least this tall */\\n}/* a \\\"rigid\\\" row will take up a constant amount of height because content-skeleton is absolute */.fc-row.fc-rigid {\\n overflow: hidden;\\n}.fc-row.fc-rigid .fc-content-skeleton {\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n}/* week and day number styling */.fc-day-top.fc-other-month {\\n opacity: 0.3;\\n}.fc-dayGrid-view .fc-week-number,\\n.fc-dayGrid-view .fc-day-number {\\n padding: 2px;\\n}.fc-dayGrid-view th.fc-week-number,\\n.fc-dayGrid-view th.fc-day-number {\\n padding: 0 2px;\\n /* column headers can't have as much v space */\\n}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number {\\n float: right;\\n}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number {\\n float: left;\\n}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number {\\n float: left;\\n border-radius: 0 0 3px 0;\\n}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number {\\n float: right;\\n border-radius: 0 0 0 3px;\\n}.fc-dayGrid-view .fc-day-top .fc-week-number {\\n min-width: 1.5em;\\n text-align: center;\\n background-color: #f2f2f2;\\n color: #808080;\\n}/* when week/day number have own column */.fc-dayGrid-view td.fc-week-number {\\n text-align: center;\\n}.fc-dayGrid-view td.fc-week-number > * {\\n /* work around the way we do column resizing and ensure a minimum width */\\n display: inline-block;\\n min-width: 1.25em;\\n}.primary {\\n background-color: blue;\\n color: #ffffff;\\n}body {\\n margin: 0;\\n}.w-100 {\\n width: 100% !important;\\n}.w-90 {\\n width: 90% !important;\\n}.w-80 {\\n width: 80% !important;\\n}.w-70 {\\n width: 70% !important;\\n}.w-50 {\\n width: 50% !important;\\n}.mt-1 {\\n margin-top: 1rem !important;\\n}.mt-2 {\\n margin-top: 2rem !important;\\n}.mt-3 {\\n margin-top: 3rem !important;\\n}.mt-4 {\\n margin-top: 4rem !important;\\n}.mt-5 {\\n margin-top: 5rem !important;\\n}.d-block {\\n display: block !important;\\n}.d-none {\\n display: none !important;\\n}.d-flex {\\n display: -webkit-box !important;\\n display: flex !important;\\n}.z-elevation-1 {\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\n}.error-container {\\n display: -webkit-box;\\n display: flex;\\n margin-bottom: 0.5rem;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n -webkit-box-align: center;\\n align-items: center;\\n}.error-container .server-error {\\n background-color: #f44336;\\n color: #f2f2f2;\\n font-family: \\\"OpenSans\\\";\\n font-size: 10px;\\n font-weight: 100;\\n text-align: center;\\n padding: 0.5rem 1rem;\\n margin: 0 1rem;\\n border-radius: 0.4rem;\\n}.error-container .arrow-up-gadget {\\n width: 0;\\n height: 0;\\n border-left: 0.5rem solid transparent;\\n border-right: 0.5rem solid transparent;\\n border-bottom: 0.8rem solid #f44336;\\n text-align: center;\\n}.mat-form-field.no-padding .mat-form-field-wrapper {\\n margin: 0;\\n padding: 0;\\n}.mat-form-field.no-padding .mat-form-field-infix {\\n padding: 0.4rem 0;\\n}#programGeneralInformation .mat-form-field-disabled input[matInput], #programGeneralInformation .mat-form-field-disabled textarea[matInput], #programGeneralInformation .mat-form-field-disabled .mat-select-value {\\n color: darkslategrey;\\n}#programGeneralInformation .mat-form-field-disabled .mat-form-field-underline {\\n height: 0;\\n}#programGeneralInformation .mat-form-field-disabled .mat-select-arrow {\\n visibility: hidden;\\n}.form-container {\\n display: grid;\\n grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr));\\n grid-gap: 1rem;\\n}.simple-container {\\n width: 100%;\\n box-sizing: border-box;\\n padding: 0 2rem;\\n max-width: 768px;\\n margin: 2rem auto;\\n}.app-container {\\n width: 100%;\\n box-sizing: border-box;\\n padding: 0 2rem;\\n max-width: 1200px;\\n margin: 2rem auto;\\n}.btn {\\n max-width: 15rem;\\n}.spinner-container {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n position: fixed;\\n right: 0;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n opacity: 0.4;\\n z-index: 1060;\\n background-color: black;\\n}.truncate {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}.custom-dialog-container .mat-dialog-container {\\n max-height: calc(100vh - 2rem);\\n}#froala-license-none > div > div.fr-wrapper.show-placeholder > div:nth-child(1) > a,\\n#froala-license-none > div > div.fr-wrapper > div:nth-child(1) > a {\\n display: none !important;\\n}#froala-license-none .second-toolbar {\\n display: none !important;\\n}#froala-license-none .dark-theme.fr-box.fr-basic .fr-wrapper {\\n border-bottom-color: #cccccc !important;\\n}.login-form-container .mat-form-field-label, .login-form-container .mat-error {\\n color: #FFFFFF !important;\\n}.mat-tree-container .mat-tree-node:hover {\\n background-color: #00a9e0 !important;\\n}.menu-item-logout {\\n outline: none !important;\\n}.menu-item-logout:hover {\\n background-color: #00a9e0 !important;\\n}.mat-menu-panel-custom {\\n box-shadow: none !important;\\n}.mat-drawer-container {\\n background: none !important;\\n}.mat-drawer {\\n padding-left: 1rem !important;\\n padding-top: 1rem !important;\\n padding-right: 0.5rem !important;\\n width: 25% !important;\\n}.mat-drawer, .mat-tree, .mat-tree-node {\\n background-color: #8D96BF !important;\\n color: #FFFFFF;\\n}/* width */::-webkit-scrollbar {\\n width: 0px;\\n}/* Track */::-webkit-scrollbar-track {\\n border-radius: 10px;\\n}/* Handle */::-webkit-scrollbar-thumb {\\n background: #f2f2f2;\\n border-radius: 10px;\\n}/* Handle on hover */::-webkit-scrollbar-thumb:hover {\\n background: #d2d2d2;\\n}.app-container-tab {\\n background-color: transparent !important;\\n}.mat-card {\\n box-shadow: none !important;\\n}.chipsText .mat-chip-list-wrapper {\\n margin: 4px !important;\\n}.chipsText .mat-standard-chip {\\n min-height: 25px !important;\\n font-size: 12 px !important;\\n padding: 8px !important;\\n}.mat-calendar-body-selected {\\n color: #ffffff !important;\\n}.swal2-popup {\\n font-family: \\\"Inter\\\", sans-serif !important;\\n}.swal2-styled.swal2-confirm {\\n border: 2px solid #000000 !important;\\n padding: 15px 27px 15px 27px !important;\\n margin-top: 10px !important;\\n cursor: pointer !important;\\n -webkit-transition: all 0.3s ease !important;\\n transition: all 0.3s ease !important;\\n color: #000000 !important;\\n display: inline-block !important;\\n text-align: center !important;\\n font-size: 16px !important;\\n font-family: \\\"Inter\\\", sans-serif !important;\\n border-radius: 0 !important;\\n background-color: none !important;\\n background: none !important;\\n}.swal2-styled.swal2-confirm:hover {\\n background-color: #000000 !important;\\n color: #FFFFFF !important;\\n border: 2px solid #000000 !important;\\n text-decoration: none !important;\\n font-family: \\\"Inter\\\", sans-serif !important;\\n}.swal2-styled:focus {\\n outline: none !important;\\n box-shadow: none !important;\\n}/*\\n:host {\\n display: flex;\\n flex-direction: column;\\n width: 150%;\\n}\\n.app-container{\\n margin-left: -50px;\\n .card-content{\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n flex-direction: column;\\n\\n .login-btn{\\n width: 30%;\\n margin: 1rem 0 0.4rem 0;\\n color: $white;\\n }\\n .for-pass{\\n width: 100%;\\n display: flex;\\n justify-content: flex-end;\\n align-items: center;\\n .lock-icon{\\n font-size: $font-size-xsmall;\\n color: $grey;\\n }\\n .for-label{\\n cursor: pointer;\\n color:$grey;\\n font-family: 'OpenSans';\\n font-size: $font-size-xsmall;\\n }\\n }\\n .btn-cont{\\n width: 100%;\\n margin: 0.3rem 0;\\n font-size: $font-size-xsmall;\\n font-weight: bolder;\\n .btn-logo-goo{\\n width: 1.2rem;\\n }\\n }\\n .footer-text{\\n margin: 0.3rem 0;\\n color: grey;\\n font-family: 'OpenSans';\\n font-size:$font-size-xsmall;\\n .signlink{\\n cursor: pointer;\\n color: $blue;\\n }\\n .signlink:hover{\\n font-weight: bold;\\n }\\n }\\n }\\n}\\n\\n */.mat-card {\\n background-color: #00A9e0;\\n padding: 2rem;\\n}.mat-card automatic-forms, .app-container automatic-forms {\\n margin-top: 0 !important;\\n}.mat-card, .app-container, .mat-form-field-appearance-legacy .mat-form-field-label, .mat-raised-button.mat-primary {\\n color: #FFFFFF !important;\\n}.mat-raised-button.mat-primary {\\n color: #FFFFFF !important;\\n}.mat-card-content {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n}.app-container {\\n margin: 0 !important;\\n padding: 0 !important;\\n}.login-btn {\\n background-color: #000066 !important;\\n}.mat-raised-button.mat-primary[disabled] {\\n background-color: rgba(0, 0, 0, 0.12) !important;\\n}.for-pass {\\n margin: 0.5em 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9AYW5ndWxhci9tYXRlcmlhbC9wcmVidWlsdC10aGVtZXMvaW5kaWdvLXBpbmsuY3NzIiwibm9kZV9tb2R1bGVzL0BmdWxsY2FsZW5kYXIvY29yZS9tYWluLmNzcyIsIm5vZGVfbW9kdWxlcy9AZnVsbGNhbGVuZGFyL2RheWdyaWQvbWFpbi5jc3MiLCJzcmMvYXBwL3NoYXJlZC9sb2dpbi1mb3JtL0Q6XFxGaXJtYXNEaWdpdGFsZXNGcm9udC9zcmNcXGFwcFxcc2hhcmVkXFxsb2dpbi1mb3JtXFxsb2dpbi1mb3JtLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbG9naW4tZm9ybS9sb2dpbi1mb3JtLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbG9naW4tZm9ybS9EOlxcRmlybWFzRGlnaXRhbGVzRnJvbnQvc3RkaW4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBQW1CLGVBQWUsQ0FBQyxjQUFjLENBQUMsOENBQThDLENBQUMsb0NBQW9DLGFBQWEsQ0FBQyxvQ0FBb0MsY0FBYyxDQUFDLHlDQUF5QyxxREFBcUQsQ0FBQyxlQUFlLENBQUMsc0NBQXNDLHFEQUFxRCxDQUFDLGVBQWUsQ0FBQyw2Q0FBNkMscURBQXFELENBQUMsZUFBZSxDQUFDLDZDQUE2QyxxREFBcUQsQ0FBQyxlQUFlLENBQUMsMkJBQTJCLGlFQUFpRSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsaUVBQWlFLENBQUMsZUFBZSxDQUFDLDZCQUE2QixxREFBcUQsQ0FBQyxzQ0FBc0MscURBQXFELENBQUMsNENBQTRDLGVBQWUsQ0FBQyx3QkFBd0IscURBQXFELENBQUMsOENBQThDLHVEQUF1RCxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyw4Q0FBOEMscURBQXFELENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLDhDQUE4QyxxREFBcUQsQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsOENBQThDLHFEQUFxRCxDQUFDLGVBQWUsQ0FB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Q0ksZUFBQTtBRDBSSiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9sb2dpbi1mb3JtL2xvZ2luLWZvcm0uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWF0LWJhZGdlLWNvbnRlbnR7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsIC5tYXQtYmFkZ2UtY29udGVudHtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2UgLm1hdC1iYWRnZS1jb250ZW50e2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDEsLm1hdC1oZWFkbGluZSwubWF0LXR5cG9ncmFwaHkgaDF7Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMiwubWF0LXRpdGxlLC5tYXQtdHlwb2dyYXBoeSBoMntmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO21hcmdpbjowIDAgMTZweH0ubWF0LWgzLC5tYXQtc3ViaGVhZGluZy0yLC5tYXQtdHlwb2dyYXBoeSBoM3tmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO21hcmdpbjowIDAgMTZweH0ubWF0LWg0LC5tYXQtc3ViaGVhZGluZy0xLC5tYXQtdHlwb2dyYXBoeSBoNHtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO21hcmdpbjowIDAgMTZweH0ubWF0LWg1LC5tYXQtdHlwb2dyYXBoeSBoNXtmb250OjQwMCBjYWxjKDE0cHggKiAuODMpLzIwcHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2LC5tYXQtdHlwb2dyYXBoeSBoNntmb250OjQwMCBjYWxjKDE0cHggKiAuNjcpLzIwcHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktMiwubWF0LWJvZHktc3Ryb25ne2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1ib2R5LC5tYXQtYm9keS0xLC5tYXQtdHlwb2dyYXBoeXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtYm9keSBwLC5tYXQtYm9keS0xIHAsLm1hdC10eXBvZ3JhcGh5IHB7bWFyZ2luOjAgMCAxMnB4fS5tYXQtY2FwdGlvbiwubWF0LXNtYWxse2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1kaXNwbGF5LTQsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS00e2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zLC5tYXQtdHlwb2dyYXBoeSAubWF0LWRpc3BsYXktM3tmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0uMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTIsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0ye2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LS4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTEsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0xe2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcntmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtYnV0dG9uLC5tYXQtZmFiLC5tYXQtZmxhdC1idXR0b24sLm1hdC1pY29uLWJ1dHRvbiwubWF0LW1pbmktZmFiLC5tYXQtcmFpc2VkLWJ1dHRvbiwubWF0LXN0cm9rZWQtYnV0dG9ue2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xle2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWNhcmR7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlciAubWF0LWNhcmQtdGl0bGV7Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLWNvbnRlbnQsLm1hdC1jYXJkLXN1YnRpdGxle2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3h7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0IC5tYXQtY2hlY2tib3gtbGFiZWx7bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXB7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uLC5tYXQtY2hpcCAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbntmb250LXNpemU6MThweH0ubWF0LXRhYmxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxse2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGwsLm1hdC1mb290ZXItY2VsbHtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFye2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHl7Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsLC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbntmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGh7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxle2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVye2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudHtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtZm9ybS1maWVsZHtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtZm9ybS1maWVsZC13cmFwcGVye3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbiwubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbntmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24sLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCAubWF0LWljb24tYnV0dG9ue2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb257aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4e3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cysubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoLjc1KTt3aWR0aDoxMzMuMzMzMzQlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVye3RvcDotLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVse3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcntmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC13cmFwcGVye3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLWluZml4e3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSguNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSguNzUpO3dpZHRoOjEzMy4zMzMzNCV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSguNzUpO3dpZHRoOjEzMy4zMzMzNSV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcnttYXJnaW4tdG9wOi41NDE2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtbGFiZWx7dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0uNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0uNTkzNzVlbSkgc2NhbGUoLjc1KTt3aWR0aDoxMzMuMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLS41OTM3NGVtKSBzY2FsZSguNzUpO3dpZHRoOjEzMy4zMzMzNCV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKC43NSk7d2lkdGg6MTMzLjMzMzM0JX0ubWF0LWdyaWQtdGlsZS1mb290ZXIsLm1hdC1ncmlkLXRpbGUtaGVhZGVye2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWZvb3RlciAubWF0LWxpbmUsLm1hdC1ncmlkLXRpbGUtaGVhZGVyIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtZm9vdGVyIC5tYXQtbGluZTpudGgtY2hpbGQobisyKSwubWF0LWdyaWQtdGlsZS1oZWFkZXIgLm1hdC1saW5lOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50e21hcmdpbi10b3A6LS4wNjI1ZW19Lm1hdC1tZW51LWl0ZW17Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvciwubWF0LXBhZ2luYXRvci1wYWdlLXNpemUgLm1hdC1zZWxlY3QtdHJpZ2dlcntmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b257Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtc2VsZWN0e2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2Vye2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnR7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItaG9yaXpvbnRhbCwubWF0LXN0ZXBwZXItdmVydGljYWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcntmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLWxhYmVsLWVycm9ye2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXB7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLWxpbmt7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXIsLm1hdC10b29sYmFyIGgxLC5tYXQtdG9vbGJhciBoMiwubWF0LXRvb2xiYXIgaDMsLm1hdC10b29sYmFyIGg0LC5tYXQtdG9vbGJhciBoNSwubWF0LXRvb2xiYXIgaDZ7Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjttYXJnaW46MH0ubWF0LXRvb2x0aXB7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXR7Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbXtmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbntmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW0gLm1hdC1saW5le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbSAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbntmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbiAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1zdWJoZWFkZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LWl0ZW17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LW9wdGlvbntmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LW9wdGlvbiAubWF0LWxpbmV7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1zdWJoZWFkZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbntmb250LWZhbWlseTpSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbHtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtc2ltcGxlLXNuYWNrYmFye2ZvbnQtZmFtaWx5OlJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb257bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWV7Zm9udC1mYW1pbHk6Um9ib3RvLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmfS5tYXQtbmVzdGVkLXRyZWUtbm9kZSwubWF0LXRyZWUtbm9kZXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGV7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVke292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudHtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2Zvcm06c2NhbGUoMCl9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpey5tYXQtcmlwcGxlLWVsZW1lbnR7ZGlzcGxheTpub25lfX0uY2RrLXZpc3VhbGx5LWhpZGRlbntib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyLC5jZGstb3ZlcmxheS1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJ7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3B7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKC4yNSwuOCwuMjUsMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5ne29wYWNpdHk6MX1AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKXsuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ3tvcGFjaXR5Oi42fX0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AsLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmd7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94e3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2t7cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0ey8qISovfUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5key8qISovfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb24tbmFtZTpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydH0uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uLW5hbWU6Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5ne2hlaWdodDphdXRvIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50O3BhZGRpbmc6MnB4IDAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ghaW1wb3J0YW50fS5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xKX0ubWF0LW9wdGlvbntjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1vcHRpb246Zm9jdXM6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSwubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfS5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1vcHRpb24ubWF0LWFjdGl2ZXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA0KTtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1vcHRpb24ubWF0LW9wdGlvbi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1wcmltYXJ5IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiMzZjUxYjV9Lm1hdC1hY2NlbnQgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7Y29sb3I6I2ZmNDA4MX0ubWF0LXdhcm4gLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7Y29sb3I6I2Y0NDMzNn0ubWF0LW9wdGdyb3VwLWxhYmVse2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LW9wdGdyb3VwLWRpc2FibGVkIC5tYXQtb3B0Z3JvdXAtbGFiZWx7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcHNldWRvLWNoZWNrYm94e2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LXBzZXVkby1jaGVja2JveDo6YWZ0ZXJ7Y29sb3I6I2ZhZmFmYX0ubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZHtjb2xvcjojYjBiMGIwfS5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLC5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRle2JhY2tncm91bmQ6IzNmNTFiNX0ubWF0LWFjY2VudCAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLC5tYXQtYWNjZW50IC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRle2JhY2tncm91bmQ6I2ZmNDA4MX0ubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZXtiYWNrZ3JvdW5kOiNmNDQzMzZ9Lm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZC5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkLC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZHtiYWNrZ3JvdW5kOiNiMGIwYjB9Lm1hdC1lbGV2YXRpb24tejB7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoxe2JveC1zaGFkb3c6MCAycHggMXB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCAxcHggMXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDNweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16Mntib3gtc2hhZG93OjAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejN7Ym94LXNoYWRvdzowIDNweCAzcHggLTJweCByZ2JhKDAsMCwwLC4yKSwwIDNweCA0cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggOHB4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXo0e2JveC1zaGFkb3c6MCAycHggNHB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCA0cHggNXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejV7Ym94LXNoYWRvdzowIDNweCA1cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDVweCA4cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMTRweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16Nntib3gtc2hhZG93OjAgM3B4IDVweCAtMXB4IHJnYmEoMCwwLDAsLjIpLDAgNnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMThweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16N3tib3gtc2hhZG93OjAgNHB4IDVweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgN3B4IDEwcHggMXB4IHJnYmEoMCwwLDAsLjE0KSwwIDJweCAxNnB4IDFweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejh7Ym94LXNoYWRvdzowIDVweCA1cHggLTNweCByZ2JhKDAsMCwwLC4yKSwwIDhweCAxMHB4IDFweCByZ2JhKDAsMCwwLC4xNCksMCAzcHggMTRweCAycHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXo5e2JveC1zaGFkb3c6MCA1cHggNnB4IC0zcHggcmdiYSgwLDAsMCwuMiksMCA5cHggMTJweCAxcHggcmdiYSgwLDAsMCwuMTQpLDAgM3B4IDE2cHggMnB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTB7Ym94LXNoYWRvdzowIDZweCA2cHggLTNweCByZ2JhKDAsMCwwLC4yKSwwIDEwcHggMTRweCAxcHggcmdiYSgwLDAsMCwuMTQpLDAgNHB4IDE4cHggM3B4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTF7Ym94LXNoYWRvdzowIDZweCA3cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDExcHggMTVweCAxcHggcmdiYSgwLDAsMCwuMTQpLDAgNHB4IDIwcHggM3B4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTJ7Ym94LXNoYWRvdzowIDdweCA4cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDEycHggMTdweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNXB4IDIycHggNHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTN7Ym94LXNoYWRvdzowIDdweCA4cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDEzcHggMTlweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNXB4IDI0cHggNHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTR7Ym94LXNoYWRvdzowIDdweCA5cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDE0cHggMjFweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNXB4IDI2cHggNHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTV7Ym94LXNoYWRvdzowIDhweCA5cHggLTVweCByZ2JhKDAsMCwwLC4yKSwwIDE1cHggMjJweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNnB4IDI4cHggNXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTZ7Ym94LXNoYWRvdzowIDhweCAxMHB4IC01cHggcmdiYSgwLDAsMCwuMiksMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwwLDAsLjE0KSwwIDZweCAzMHB4IDVweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejE3e2JveC1zaGFkb3c6MCA4cHggMTFweCAtNXB4IHJnYmEoMCwwLDAsLjIpLDAgMTdweCAyNnB4IDJweCByZ2JhKDAsMCwwLC4xNCksMCA2cHggMzJweCA1cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoxOHtib3gtc2hhZG93OjAgOXB4IDExcHggLTVweCByZ2JhKDAsMCwwLC4yKSwwIDE4cHggMjhweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgN3B4IDM0cHggNnB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MTl7Ym94LXNoYWRvdzowIDlweCAxMnB4IC02cHggcmdiYSgwLDAsMCwuMiksMCAxOXB4IDI5cHggMnB4IHJnYmEoMCwwLDAsLjE0KSwwIDdweCAzNnB4IDZweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejIwe2JveC1zaGFkb3c6MCAxMHB4IDEzcHggLTZweCByZ2JhKDAsMCwwLC4yKSwwIDIwcHggMzFweCAzcHggcmdiYSgwLDAsMCwuMTQpLDAgOHB4IDM4cHggN3B4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MjF7Ym94LXNoYWRvdzowIDEwcHggMTNweCAtNnB4IHJnYmEoMCwwLDAsLjIpLDAgMjFweCAzM3B4IDNweCByZ2JhKDAsMCwwLC4xNCksMCA4cHggNDBweCA3cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZWxldmF0aW9uLXoyMntib3gtc2hhZG93OjAgMTBweCAxNHB4IC02cHggcmdiYSgwLDAsMCwuMiksMCAyMnB4IDM1cHggM3B4IHJnYmEoMCwwLDAsLjE0KSwwIDhweCA0MnB4IDdweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1lbGV2YXRpb24tejIze2JveC1zaGFkb3c6MCAxMXB4IDE0cHggLTdweCByZ2JhKDAsMCwwLC4yKSwwIDIzcHggMzZweCAzcHggcmdiYSgwLDAsMCwuMTQpLDAgOXB4IDQ0cHggOHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWVsZXZhdGlvbi16MjR7Ym94LXNoYWRvdzowIDExcHggMTVweCAtN3B4IHJnYmEoMCwwLDAsLjIpLDAgMjRweCAzOHB4IDNweCByZ2JhKDAsMCwwLC4xNCksMCA5cHggNDZweCA4cHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtYXBwLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXRoZW1lLWxvYWRlZC1tYXJrZXJ7ZGlzcGxheTpub25lfS5tYXQtYXV0b2NvbXBsZXRlLXBhbmVse2JhY2tncm91bmQ6I2ZmZjtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDJweCA0cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDRweCA1cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtYWN0aXZlKTpub3QoOmhvdmVyKXtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LWFjdGl2ZSk6bm90KDpob3Zlcik6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1iYWRnZS1jb250ZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZDojM2Y1MWI1fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKXsubWF0LWJhZGdlLWNvbnRlbnR7b3V0bGluZTpzb2xpZCAxcHg7Ym9yZGVyLXJhZGl1czowfX0ubWF0LWJhZGdlLWFjY2VudCAubWF0LWJhZGdlLWNvbnRlbnR7YmFja2dyb3VuZDojZmY0MDgxO2NvbG9yOiNmZmZ9Lm1hdC1iYWRnZS13YXJuIC5tYXQtYmFkZ2UtY29udGVudHtjb2xvcjojZmZmO2JhY2tncm91bmQ6I2Y0NDMzNn0ubWF0LWJhZGdle3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtYmFkZ2UtaGlkZGVuIC5tYXQtYmFkZ2UtY29udGVudHtkaXNwbGF5Om5vbmV9Lm1hdC1iYWRnZS1kaXNhYmxlZCAubWF0LWJhZGdlLWNvbnRlbnR7YmFja2dyb3VuZDojYjliOWI5O2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LWJhZGdlLWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0O3RyYW5zZm9ybTpzY2FsZSguNik7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1hdC1iYWRnZS1jb250ZW50Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLC5uZy1hbmltYXRlLWRpc2FibGVkIC5tYXQtYmFkZ2UtY29udGVudHt0cmFuc2l0aW9uOm5vbmV9Lm1hdC1iYWRnZS1jb250ZW50Lm1hdC1iYWRnZS1hY3RpdmV7dHJhbnNmb3JtOm5vbmV9Lm1hdC1iYWRnZS1zbWFsbCAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtsaW5lLWhlaWdodDoxNnB4fS5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWFib3ZlIC5tYXQtYmFkZ2UtY29udGVudHt0b3A6LThweH0ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1iZWxvdyAubWF0LWJhZGdlLWNvbnRlbnR7Ym90dG9tOi04cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi0xNnB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6YXV0bztyaWdodDotMTZweH0ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6LTE2cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LTE2cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi04cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi04cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0Oi04cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LThweH0ubWF0LWJhZGdlLW1lZGl1bSAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDtsaW5lLWhlaWdodDoyMnB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1hYm92ZSAubWF0LWJhZGdlLWNvbnRlbnR7dG9wOi0xMXB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWxvdyAubWF0LWJhZGdlLWNvbnRlbnR7Ym90dG9tOi0xMXB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTIycHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6YXV0bztyaWdodDotMjJweH0ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0Oi0yMnB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMjJweH0ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi0xMXB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0OmF1dG87cmlnaHQ6LTExcHh9Lm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMTFweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LTExcHh9Lm1hdC1iYWRnZS1sYXJnZSAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtsaW5lLWhlaWdodDoyOHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWFib3ZlIC5tYXQtYmFkZ2UtY29udGVudHt0b3A6LTE0cHh9Lm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYmVsb3cgLm1hdC1iYWRnZS1jb250ZW50e2JvdHRvbTotMTRweH0ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTI4cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi0yOHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMjhweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMjhweH0ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTE0cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi0xNHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMTRweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMTRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJ7Ym94LXNoYWRvdzowIDhweCAxMHB4IC01cHggcmdiYSgwLDAsMCwuMiksMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwwLDAsLjE0KSwwIDZweCAzMHB4IDVweCByZ2JhKDAsMCwwLC4xMik7YmFja2dyb3VuZDojZmZmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWJ1dHRvbiwubWF0LWljb24tYnV0dG9uLC5tYXQtc3Ryb2tlZC1idXR0b257Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOjAgMH0ubWF0LWJ1dHRvbi5tYXQtcHJpbWFyeSwubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXByaW1hcnl7Y29sb3I6IzNmNTFiNX0ubWF0LWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtaWNvbi1idXR0b24ubWF0LWFjY2VudCwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1hY2NlbnR7Y29sb3I6I2ZmNDA4MX0ubWF0LWJ1dHRvbi5tYXQtd2FybiwubWF0LWljb24tYnV0dG9uLm1hdC13YXJuLC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn0ubWF0LWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LWJ1dHRvbi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1idXR0b24ubWF0LXdhcm5bZGlzYWJsZWRdLC5tYXQtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF0sLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5W2Rpc2FibGVkXSwubWF0LWljb24tYnV0dG9uLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF0sLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1wcmltYXJ5W2Rpc2FibGVkXSwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LXN0cm9rZWQtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF17Y29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjV9Lm1hdC1idXR0b24ubWF0LWFjY2VudCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24ubWF0LWFjY2VudCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWFjY2VudCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6I2ZmNDA4MX0ubWF0LWJ1dHRvbi5tYXQtd2FybiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24ubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC13YXJuIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtYnV0dG9uW2Rpc2FibGVkXSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtYnV0dG9uIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1pY29uLWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtc3Ryb2tlZC1idXR0b24gLm1hdC1yaXBwbGUtZWxlbWVudHtvcGFjaXR5Oi4xO2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfS5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZDojMDAwfS5tYXQtc3Ryb2tlZC1idXR0b246bm90KFtkaXNhYmxlZF0pe2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1mYWIsLm1hdC1mbGF0LWJ1dHRvbiwubWF0LW1pbmktZmFiLC5tYXQtcmFpc2VkLWJ1dHRvbntjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtZmFiLm1hdC1wcmltYXJ5LC5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnksLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeSwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnl7Y29sb3I6I2ZmZn0ubWF0LWZhYi5tYXQtYWNjZW50LC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudCwubWF0LW1pbmktZmFiLm1hdC1hY2NlbnQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1hY2NlbnR7Y29sb3I6I2ZmZn0ubWF0LWZhYi5tYXQtd2FybiwubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuLC5tYXQtbWluaS1mYWIubWF0LXdhcm4sLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJue2NvbG9yOiNmZmZ9Lm1hdC1mYWIubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1mYWIubWF0LXByaW1hcnlbZGlzYWJsZWRdLC5tYXQtZmFiLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LWZhYltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtbWluaS1mYWIubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1taW5pLWZhYi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1taW5pLWZhYltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnlbZGlzYWJsZWRdLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1yYWlzZWQtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF17Y29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtZmFiLm1hdC1wcmltYXJ5LC5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnksLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeSwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtZmFiLm1hdC1hY2NlbnQsLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtbWluaS1mYWIubWF0LWFjY2VudCwubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC1mYWIubWF0LXdhcm4sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybiwubWF0LW1pbmktZmFiLm1hdC13YXJuLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1mYWIubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1mYWIubWF0LXByaW1hcnlbZGlzYWJsZWRdLC5tYXQtZmFiLm1hdC13YXJuW2Rpc2FibGVkXSwubWF0LWZhYltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1mbGF0LWJ1dHRvbltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtbWluaS1mYWIubWF0LWFjY2VudFtkaXNhYmxlZF0sLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeVtkaXNhYmxlZF0sLm1hdC1taW5pLWZhYi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1taW5pLWZhYltkaXNhYmxlZF1bZGlzYWJsZWRdLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50W2Rpc2FibGVkXSwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnlbZGlzYWJsZWRdLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybltkaXNhYmxlZF0sLm1hdC1yYWlzZWQtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1mYWIubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm1hdC1mYWIubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtbWluaS1mYWIubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWZhYi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtZmxhdC1idXR0b24ubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LW1pbmktZmFiLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWZsYXQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pLC5tYXQtc3Ryb2tlZC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtcmFpc2VkLWJ1dHRvbjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1yYWlzZWQtYnV0dG9uOm5vdChbZGlzYWJsZWRdKTphY3RpdmU6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDVweCA1cHggLTNweCByZ2JhKDAsMCwwLC4yKSwwIDhweCAxMHB4IDFweCByZ2JhKDAsMCwwLC4xNCksMCAzcHggMTRweCAycHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtcmFpc2VkLWJ1dHRvbltkaXNhYmxlZF06bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtZmFiOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pLC5tYXQtbWluaS1mYWI6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDNweCA1cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDZweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDE4cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1mYWI6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSwubWF0LW1pbmktZmFiOm5vdChbZGlzYWJsZWRdKTphY3RpdmU6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDdweCA4cHggLTRweCByZ2JhKDAsMCwwLC4yKSwwIDEycHggMTdweCAycHggcmdiYSgwLDAsMCwuMTQpLDAgNXB4IDIycHggNHB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWZhYltkaXNhYmxlZF06bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksLm1hdC1taW5pLWZhYltkaXNhYmxlZF06bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDAgMCAwIHJnYmEoMCwwLDAsLjIpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTQpLDAgMCAwIDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCwubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZXtib3gtc2hhZG93OjAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQsLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZHtib3gtc2hhZG93Om5vbmV9Lm1hdC1idXR0b24tdG9nZ2xle2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LWJ1dHRvbi10b2dnbGUgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmR7Y29sb3I6cmdiYSgwLDAsMCwuODcpO2JhY2tncm91bmQ6I2ZmZn0ubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlKy5tYXQtYnV0dG9uLXRvZ2dsZXtib3JkZXItbGVmdDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfVtkaXI9cnRsXSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUrLm1hdC1idXR0b24tdG9nZ2xle2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWJ1dHRvbi10b2dnbGUtdmVydGljYWwgLm1hdC1idXR0b24tdG9nZ2xlKy5tYXQtYnV0dG9uLXRvZ2dsZXtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodDpub25lO2JvcmRlci10b3A6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmR7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4yNik7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJke2JhY2tncm91bmQ6I2ZmZn0ubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOiNiZGJkYmR9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQsLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZHtib3JkZXI6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWNhcmR7YmFja2dyb3VuZDojZmZmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWNhcmQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowIDJweCAxcHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDFweCAxcHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggM3B4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtY2FyZC5tYXQtY2FyZC1mbGF0Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MCAwIDAgMCByZ2JhKDAsMCwwLC4yKSwwIDAgMCAwIHJnYmEoMCwwLDAsLjE0KSwwIDAgMCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWNhcmQtc3VidGl0bGV7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtY2hlY2tib3gtZnJhbWV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWNoZWNrYm94LWNoZWNrbWFya3tmaWxsOiNmYWZhZmF9Lm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aHtzdHJva2U6I2ZhZmFmYSFpbXBvcnRhbnR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDpibGFjay1vbi13aGl0ZSl7Lm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aHtzdHJva2U6IzAwMCFpbXBvcnRhbnR9fS5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYX0ubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXByaW1hcnkgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtcHJpbWFyeSAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCwubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtd2FybiAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC13YXJuIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1jaGVja2JveC1kaXNhYmxlZC5tYXQtY2hlY2tib3gtY2hlY2tlZCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsLm1hdC1jaGVja2JveC1kaXNhYmxlZC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojYjBiMGIwfS5tYXQtY2hlY2tib3gtZGlzYWJsZWQ6bm90KC5tYXQtY2hlY2tib3gtY2hlY2tlZCkgLm1hdC1jaGVja2JveC1mcmFtZXtib3JkZXItY29sb3I6I2IwYjBiMH0ubWF0LWNoZWNrYm94LWRpc2FibGVkIC5tYXQtY2hlY2tib3gtbGFiZWx7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKXsubWF0LWNoZWNrYm94LWRpc2FibGVke29wYWNpdHk6LjV9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKXsubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZDowIDB9fS5tYXQtY2hlY2tib3ggLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1hdC1jaGVja2JveC1jaGVja2VkOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtY2hlY2tib3g6YWN0aXZlOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQ6IzNmNTFiNX0ubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWNoZWNrYm94OmFjdGl2ZTpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQ6I2ZmNDA4MX0ubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1jaGVja2JveDphY3RpdmU6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDojZjQ0MzM2fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcHtiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOnJnYmEoMCwwLDAsLjg3KTtvcGFjaXR5Oi40fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcDpub3QoLm1hdC1jaGlwLWRpc2FibGVkKTphY3RpdmV7Ym94LXNoYWRvdzowIDNweCAzcHggLTJweCByZ2JhKDAsMCwwLC4yKSwwIDNweCA0cHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggOHB4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcDpub3QoLm1hdC1jaGlwLWRpc2FibGVkKSAubWF0LWNoaXAtcmVtb3ZlOmhvdmVye29wYWNpdHk6LjU0fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1kaXNhYmxlZHtvcGFjaXR5Oi40fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcDo6YWZ0ZXJ7YmFja2dyb3VuZDojMDAwfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjU7Y29sb3I6I2ZmZn0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXByaW1hcnkgLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXdhcm57YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2O2NvbG9yOiNmZmZ9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC13YXJuIC5tYXQtY2hpcC1yZW1vdmV7Y29sb3I6I2ZmZjtvcGFjaXR5Oi40fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxO2NvbG9yOiNmZmZ9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnQgLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tYXQtdGFibGV7YmFja2dyb3VuZDojZmZmfS5tYXQtdGFibGUgdGJvZHksLm1hdC10YWJsZSB0Zm9vdCwubWF0LXRhYmxlIHRoZWFkLC5tYXQtdGFibGUtc3RpY2t5LFttYXQtZm9vdGVyLXJvd10sW21hdC1oZWFkZXItcm93XSxbbWF0LXJvd10sbWF0LWZvb3Rlci1yb3csbWF0LWhlYWRlci1yb3csbWF0LXJvd3tiYWNrZ3JvdW5kOmluaGVyaXR9bWF0LWZvb3Rlci1yb3csbWF0LWhlYWRlci1yb3csbWF0LXJvdyx0ZC5tYXQtY2VsbCx0ZC5tYXQtZm9vdGVyLWNlbGwsdGgubWF0LWhlYWRlci1jZWxse2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtaGVhZGVyLWNlbGx7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtY2VsbCwubWF0LWZvb3Rlci1jZWxse2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWNhbGVuZGFyLWFycm93e2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24sLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24sLm1hdC1kYXRlcGlja2VyLXRvZ2dsZXtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJ7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyLWRpdmlkZXI6OmFmdGVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTIpfS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudHtjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpe2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpLC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKSwubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3Zlcj4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDQpfS5tYXQtY2FsZW5kYXItYm9keS10b2RheTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCl7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjE4KX0ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1O2NvbG9yOiNmZmZ9Lm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNjMsODEsMTgxLC40KX0ubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZn0ubWF0LWRhdGVwaWNrZXItY29udGVudHtib3gtc2hhZG93OjAgMnB4IDRweCAtMXB4IHJnYmEoMCwwLDAsLjIpLDAgNHB4IDVweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxO2NvbG9yOiNmZmZ9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQ+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsNjQsMTI5LC40KX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzY7Y29sb3I6I2ZmZn0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQ+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDQsNjcsNTQsLjQpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50LXRvdWNoe2JveC1zaGFkb3c6MCAwIDAgMCByZ2JhKDAsMCwwLC4yKSwwIDAgMCAwIHJnYmEoMCwwLDAsLjE0KSwwIDAgMCAwIHJnYmEoMCwwLDAsLjEyKX0ubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZXtjb2xvcjojM2Y1MWI1fS5tYXQtZGF0ZXBpY2tlci10b2dnbGUtYWN0aXZlLm1hdC1hY2NlbnR7Y29sb3I6I2ZmNDA4MX0ubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZS5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fS5tYXQtZGlhbG9nLWNvbnRhaW5lcntib3gtc2hhZG93OjAgMTFweCAxNXB4IC03cHggcmdiYSgwLDAsMCwuMiksMCAyNHB4IDM4cHggM3B4IHJnYmEoMCwwLDAsLjE0KSwwIDlweCA0NnB4IDhweCByZ2JhKDAsMCwwLC4xMik7YmFja2dyb3VuZDojZmZmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWRpdmlkZXJ7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1kaXZpZGVyLXZlcnRpY2Fse2JvcmRlci1yaWdodC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1leHBhbnNpb24tcGFuZWx7YmFja2dyb3VuZDojZmZmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1hY3Rpb24tcm93e2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtZXhwYW5zaW9uLXBhbmVsIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLC5tYXQtZXhwYW5zaW9uLXBhbmVsIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSksLm1hdC1leHBhbnNpb24tcGFuZWw6bm90KC5tYXQtZXhwYW5kZWQpIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pe2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfUBtZWRpYSAoaG92ZXI6bm9uZSl7Lm1hdC1leHBhbnNpb24tcGFuZWw6bm90KC5tYXQtZXhwYW5kZWQpOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVye2JhY2tncm91bmQ6I2ZmZn19Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxle2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWV4cGFuc2lvbi1pbmRpY2F0b3I6OmFmdGVyLC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbntjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW2FyaWEtZGlzYWJsZWQ9dHJ1ZV17Y29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlclthcmlhLWRpc2FibGVkPXRydWVdIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbiwubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGV7Y29sb3I6aW5oZXJpdH0ubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6cmdiYSgwLDAsMCwuNil9Lm1hdC1oaW50e2NvbG9yOnJnYmEoMCwwLDAsLjYpfS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6IzNmNTFiNX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLm1hdC1hY2NlbnR7Y29sb3I6I2ZmNDA4MX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLm1hdC13YXJue2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yZXF1aXJlZC1tYXJrZXJ7Y29sb3I6I2ZmNDA4MX0ubWF0LWZvcm0tZmllbGQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6IzNmNTFiNX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZS5tYXQtYWNjZW50e2JhY2tncm91bmQtY29sb3I6I2ZmNDA4MX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZS5tYXQtd2FybntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvY3VzZWQ6bm90KC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkKSAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye2NvbG9yOiMzZjUxYjV9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvY3VzZWQ6bm90KC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkKS5tYXQtYWNjZW50IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6I2ZmNDA4MX0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpLm1hdC13YXJuIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtbGFiZWwgLm1hdC1mb3JtLWZpZWxkLXJlcXVpcmVkLW1hcmtlciwubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtbGFiZWwubWF0LWFjY2VudHtjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUsLm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZS5tYXQtYWNjZW50e2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LWVycm9ye2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtaGludHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC40Mil9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgwLDAsMCwuNDIpIDAscmdiYSgwLDAsMCwuNDIpIDMzJSx0cmFuc3BhcmVudCAwKTtiYWNrZ3JvdW5kLXNpemU6NHB4IDEwMCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjQyKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJnYmEoMCwwLDAsLjQyKSAwLHJnYmEoMCwwLDAsLjQyKSAzMyUsdHJhbnNwYXJlbnQgMCk7YmFja2dyb3VuZC1zaXplOjRweCAxMDAlO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLWZsZXh7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtZmxleHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjAyKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjQyKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2NvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiMzZjUxYjV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZC5tYXQtYWNjZW50IC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmZjQwODF9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZC5tYXQtd2FybiAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtaW52YWxpZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmV7Y29sb3I6cmdiYSgwLDAsMCwuMDYpfS5tYXQtaWNvbi5tYXQtcHJpbWFyeXtjb2xvcjojM2Y1MWI1fS5tYXQtaWNvbi5tYXQtYWNjZW50e2NvbG9yOiNmZjQwODF9Lm1hdC1pY29uLm1hdC13YXJue2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciwubWF0LWlucHV0LWVsZW1lbnQ6ZGlzYWJsZWR7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtaW5wdXQtZWxlbWVudHtjYXJldC1jb2xvcjojM2Y1MWI1fS5tYXQtaW5wdXQtZWxlbWVudDo6cGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSgwLDAsMCwuNDIpfS5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDAsMCwwLC40Mil9Lm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoMCwwLDAsLjQyKX0ubWF0LWlucHV0LWVsZW1lbnQ6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoMCwwLDAsLjQyKX0ubWF0LWFjY2VudCAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6I2ZmNDA4MX0ubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWlucHV0LWVsZW1lbnQsLm1hdC13YXJuIC5tYXQtaW5wdXQtZWxlbWVudHtjYXJldC1jb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZjQ0MzM2fS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1pdGVte2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3Qtb3B0aW9ue2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWxpc3QtYmFzZSAubWF0LXN1YmhlYWRlcntjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1saXN0LWl0ZW0tZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5tYXQtYWN0aW9uLWxpc3QgLm1hdC1saXN0LWl0ZW06Zm9jdXMsLm1hdC1hY3Rpb24tbGlzdCAubWF0LWxpc3QtaXRlbTpob3ZlciwubWF0LWxpc3Qtb3B0aW9uOmZvY3VzLC5tYXQtbGlzdC1vcHRpb246aG92ZXIsLm1hdC1uYXYtbGlzdCAubWF0LWxpc3QtaXRlbTpmb2N1cywubWF0LW5hdi1saXN0IC5tYXQtbGlzdC1pdGVtOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfS5tYXQtbWVudS1wYW5lbHtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1tZW51LXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MCAycHggNHB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCA0cHggNXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1tZW51LWl0ZW17YmFja2dyb3VuZDowIDA7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXSwubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF06OmFmdGVye2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LW1lbnUtaXRlbSAubWF0LWljb24tbm8tY29sb3IsLm1hdC1tZW51LWl0ZW0tc3VibWVudS10cmlnZ2VyOjphZnRlcntjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1tZW51LWl0ZW0taGlnaGxpZ2h0ZWQ6bm90KFtkaXNhYmxlZF0pLC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSwubWF0LW1lbnUtaXRlbS5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSwubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1wYWdpbmF0b3J7YmFja2dyb3VuZDojZmZmfS5tYXQtcGFnaW5hdG9yLC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSAubWF0LXNlbGVjdC10cmlnZ2Vye2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LXBhZ2luYXRvci1kZWNyZW1lbnQsLm1hdC1wYWdpbmF0b3ItaW5jcmVtZW50e2JvcmRlci10b3A6MnB4IHNvbGlkIHJnYmEoMCwwLDAsLjU0KTtib3JkZXItcmlnaHQ6MnB4IHNvbGlkIHJnYmEoMCwwLDAsLjU0KX0ubWF0LXBhZ2luYXRvci1maXJzdCwubWF0LXBhZ2luYXRvci1sYXN0e2JvcmRlci10b3A6MnB4IHNvbGlkIHJnYmEoMCwwLDAsLjU0KX0ubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1kZWNyZW1lbnQsLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItZmlyc3QsLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItaW5jcmVtZW50LC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtcGFnaW5hdG9yLWxhc3R7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5ke2ZpbGw6I2M1Y2FlOX0ubWF0LXByb2dyZXNzLWJhci1idWZmZXJ7YmFja2dyb3VuZC1jb2xvcjojYzVjYWU5fS5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVye2JhY2tncm91bmQtY29sb3I6IzNmNTFiNX0ubWF0LXByb2dyZXNzLWJhci5tYXQtYWNjZW50IC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmR7ZmlsbDojZmY4MGFifS5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC1hY2NlbnQgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVye2JhY2tncm91bmQtY29sb3I6I2ZmODBhYn0ubWF0LXByb2dyZXNzLWJhci5tYXQtYWNjZW50IC5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2ZmNDA4MX0ubWF0LXByb2dyZXNzLWJhci5tYXQtd2FybiAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5ke2ZpbGw6I2ZmY2RkMn0ubWF0LXByb2dyZXNzLWJhci5tYXQtd2FybiAubWF0LXByb2dyZXNzLWJhci1idWZmZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZjZGQyfS5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC13YXJuIC5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LXByb2dyZXNzLXNwaW5uZXIgY2lyY2xlLC5tYXQtc3Bpbm5lciBjaXJjbGV7c3Ryb2tlOiMzZjUxYjV9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1hY2NlbnQgY2lyY2xlLC5tYXQtc3Bpbm5lci5tYXQtYWNjZW50IGNpcmNsZXtzdHJva2U6I2ZmNDA4MX0ubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXdhcm4gY2lyY2xlLC5tYXQtc3Bpbm5lci5tYXQtd2FybiBjaXJjbGV7c3Ryb2tlOiNmNDQzMzZ9Lm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6IzNmNTFiNX0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5OmFjdGl2ZSAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6IzNmNTFiNX0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjojZmY0MDgxfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudCAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudDphY3RpdmUgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4ubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOiNmNDQzMzZ9Lm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4gLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4gLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudDpub3QoLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSksLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4ubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2FybjphY3RpdmUgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZC5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZCAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQgLm1hdC1yYWRpby1sYWJlbC1jb250ZW50e2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXJhZGlvLWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6IzAwMH0ubWF0LXNlbGVjdC12YWx1ZXtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1zZWxlY3QtcGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSgwLDAsMCwuNDIpfS5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LXZhbHVle2NvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1zZWxlY3QtcGFuZWx7YmFja2dyb3VuZDojZmZmfS5tYXQtc2VsZWN0LXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MCAycHggNHB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCA0cHggNXB4IDAgcmdiYSgwLDAsMCwuMTQpLDAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkLm1hdC1wcmltYXJ5IC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiMzZjUxYjV9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkLm1hdC1hY2NlbnQgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6I2ZmNDA4MX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQubWF0LXdhcm4gLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1pbnZhbGlkIC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkIC5tYXQtc2VsZWN0Lm1hdC1zZWxlY3QtZGlzYWJsZWQgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtZHJhd2VyLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmE7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtZHJhd2Vye2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC1kcmF3ZXIubWF0LWRyYXdlci1wdXNoe2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWF0LWRyYXdlcjpub3QoLm1hdC1kcmF3ZXItc2lkZSl7Ym94LXNoYWRvdzowIDhweCAxMHB4IC01cHggcmdiYSgwLDAsMCwuMiksMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwwLDAsLjE0KSwwIDZweCAzMHB4IDVweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1kcmF3ZXItc2lkZXtib3JkZXItcmlnaHQ6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWRyYXdlci1zaWRlLm1hdC1kcmF3ZXItZW5ke2JvcmRlci1sZWZ0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMik7Ym9yZGVyLXJpZ2h0Om5vbmV9W2Rpcj1ydGxdIC5tYXQtZHJhd2VyLXNpZGV7Ym9yZGVyLWxlZnQ6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKTtib3JkZXItcmlnaHQ6bm9uZX1bZGlyPXJ0bF0gLm1hdC1kcmF3ZXItc2lkZS5tYXQtZHJhd2VyLWVuZHtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZHJhd2VyLWJhY2tkcm9wLm1hdC1kcmF3ZXItc2hvd257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsNjQsMTI5LC41NCl9Lm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQwODF9Lm1hdC1zbGlkZS10b2dnbGUubWF0LXByaW1hcnkubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1wcmltYXJ5Lm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNjMsODEsMTgxLC41NCl9Lm1hdC1zbGlkZS10b2dnbGUubWF0LXByaW1hcnkubWF0LWNoZWNrZWQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjV9Lm1hdC1zbGlkZS10b2dnbGUubWF0LXdhcm4ubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC13YXJuLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ0LDY3LDU0LC41NCl9Lm1hdC1zbGlkZS10b2dnbGUubWF0LXdhcm4ubWF0LWNoZWNrZWQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1zbGlkZS10b2dnbGU6bm90KC5tYXQtY2hlY2tlZCkgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7Ym94LXNoYWRvdzowIDJweCAxcHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDFweCAxcHggMCByZ2JhKDAsMCwwLC4xNCksMCAxcHggM3B4IDAgcmdiYSgwLDAsMCwuMTIpO2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYX0ubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1wcmltYXJ5IC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLC5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci10cmFjay1maWxse2JhY2tncm91bmQtY29sb3I6IzNmNTFiNX0ubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtjb2xvcjojZmZmfS5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLC5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRyYWNrLWZpbGx7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7Y29sb3I6I2ZmZn0ubWF0LXdhcm4gLm1hdC1zbGlkZXItdGh1bWIsLm1hdC13YXJuIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLC5tYXQtd2FybiAubWF0LXNsaWRlci10cmFjay1maWxse2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LXdhcm4gLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtjb2xvcjojZmZmfS5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSw2NCwxMjksLjIpfS5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kLC5tYXQtc2xpZGVyOmhvdmVyIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCwubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10cmFjay1maWxse2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtc2xpZGVyLWRpc2FibGVkOmhvdmVyIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1zbGlkZXItbWluLXZhbHVlIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyAubWF0LXNsaWRlci10aHVtYiwubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtc2xpZGVyLW1pbi12YWx1ZS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZy5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpIC5tYXQtc2xpZGVyLXRodW1ie2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4yNik7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyk6aG92ZXIgLm1hdC1zbGlkZXItdGh1bWJ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjM4KX0ubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpLmNkay1mb2N1c2VkLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKTpob3Zlci5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1ie2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1zbGlkZXItaGFzLXRpY2tzIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVye2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC43KX0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tze2JhY2tncm91bmQtaW1hZ2U6cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDAsMCwwLC43KSxyZ2JhKDAsMCwwLC43KSAycHgsdHJhbnNwYXJlbnQgMCx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTotbW96LXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoLjAwMDFkZWcscmdiYSgwLDAsMCwuNykscmdiYSgwLDAsMCwuNykgMnB4LHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQpfS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRpY2tze2JhY2tncm91bmQtaW1hZ2U6cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20scmdiYSgwLDAsMCwuNykscmdiYSgwLDAsMCwuNykgMnB4LHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQpfS5tYXQtc3RlcC1oZWFkZXIuY2RrLWtleWJvYXJkLWZvY3VzZWQsLm1hdC1zdGVwLWhlYWRlci5jZGstcHJvZ3JhbS1mb2N1c2VkLC5tYXQtc3RlcC1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNCl9QG1lZGlhIChob3Zlcjpub25lKXsubWF0LXN0ZXAtaGVhZGVyOmhvdmVye2JhY2tncm91bmQ6MCAwfX0ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1sYWJlbCwubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1vcHRpb25hbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjU0KTtjb2xvcjojZmZmfS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsLm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdHtiYWNrZ3JvdW5kLWNvbG9yOiMzZjUxYjU7Y29sb3I6I2ZmZn0ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVycm9ye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2Y0NDMzNn0ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1sYWJlbC5tYXQtc3RlcC1sYWJlbC1hY3RpdmV7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWVycm9ye2NvbG9yOiNmNDQzMzZ9Lm1hdC1zdGVwcGVyLWhvcml6b250YWwsLm1hdC1zdGVwcGVyLXZlcnRpY2Fse2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWF0LXN0ZXBwZXItdmVydGljYWwtbGluZTo6YmVmb3Jle2JvcmRlci1sZWZ0LWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmFmdGVyLC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcjo6YmVmb3JlLC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLWxpbmV7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1zb3J0LWhlYWRlci1hcnJvd3tjb2xvcjojNzU3NTc1fS5tYXQtdGFiLWhlYWRlciwubWF0LXRhYi1uYXYtYmFye2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKX0ubWF0LXRhYi1ncm91cC1pbnZlcnRlZC1oZWFkZXIgLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlciAubWF0LXRhYi1uYXYtYmFye2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKTtib3JkZXItYm90dG9tOm5vbmV9Lm1hdC10YWItbGFiZWwsLm1hdC10YWItbGlua3tjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Lm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC10YWItZ3JvdXBbY2xhc3MqPW1hdC1iYWNrZ3JvdW5kLV0gLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXJbY2xhc3MqPW1hdC1iYWNrZ3JvdW5kLV17Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci10b3A6bm9uZX0ubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE5NywyMDIsMjMzLC4zKX0ubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LWluay1iYXIsLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5Lm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwxMjgsMTcxLC4zKX0ubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2ZmNDA4MX0ubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50Lm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LWluay1iYXIsLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50Lm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDIwNSwyMTAsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC10YWItZ3JvdXAubWF0LXdhcm4ubWF0LWJhY2tncm91bmQtd2FybiAubWF0LWluay1iYXIsLm1hdC10YWItbmF2LWJhci5tYXQtd2Fybi5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTk3LDIwMiwyMzMsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24sLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rcywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGlua3N7YmFja2dyb3VuZC1jb2xvcjojM2Y1MWI1fS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGlua3tjb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6I2ZmZn0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDEyOCwxNzEsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rcywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGlua3N7YmFja2dyb3VuZC1jb2xvcjojZmY0MDgxfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluaywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5re2NvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDIwNSwyMTAsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24sLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rcywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGlua3N7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGlua3tjb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6I2ZmZn0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX0ubWF0LXRvb2xiYXJ7YmFja2dyb3VuZDojZjVmNWY1O2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXRvb2xiYXIubWF0LXByaW1hcnl7YmFja2dyb3VuZDojM2Y1MWI1O2NvbG9yOiNmZmZ9Lm1hdC10b29sYmFyLm1hdC1hY2NlbnR7YmFja2dyb3VuZDojZmY0MDgxO2NvbG9yOiNmZmZ9Lm1hdC10b29sYmFyLm1hdC13YXJue2JhY2tncm91bmQ6I2Y0NDMzNjtjb2xvcjojZmZmfS5tYXQtdG9vbGJhciAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ubWF0LXRvb2xiYXIgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3csLm1hdC10b29sYmFyIC5tYXQtc2VsZWN0LWFycm93LC5tYXQtdG9vbGJhciAubWF0LXNlbGVjdC12YWx1ZXtjb2xvcjppbmhlcml0fS5tYXQtdG9vbGJhciAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6Y3VycmVudENvbG9yfS5tYXQtdG9vbHRpcHtiYWNrZ3JvdW5kOnJnYmEoOTcsOTcsOTcsLjkpfS5tYXQtdHJlZXtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1uZXN0ZWQtdHJlZS1ub2RlLC5tYXQtdHJlZS1ub2Rle2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXNuYWNrLWJhci1jb250YWluZXJ7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyk7YmFja2dyb3VuZDojMzIzMjMyO2JveC1zaGFkb3c6MCAzcHggNXB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCA2cHggMTBweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxOHB4IDAgcmdiYSgwLDAsMCwuMTIpfS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbntjb2xvcjojZmY0MDgxfSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi5mYyB7XG4gIGRpcmVjdGlvbjogbHRyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZmMtcnRsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbmJvZHkgLmZjIHtcbiAgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBvdmVyY29tZSBqcXVpICovXG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1oaWdobGlnaHQge1xuICAvKiB3aGVuIHVzZXIgaXMgc2VsZWN0aW5nIGNlbGxzICovXG4gIGJhY2tncm91bmQ6ICNiY2U4ZjE7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLmZjLWJnZXZlbnQge1xuICAvKiBkZWZhdWx0IGxvb2sgZm9yIGJhY2tncm91bmQgZXZlbnRzICovXG4gIGJhY2tncm91bmQ6ICM4ZmRmODI7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLmZjLW5vbmJ1c2luZXNzIHtcbiAgLyogZGVmYXVsdCBsb29rIGZvciBub24tYnVzaW5lc3MtaG91cnMgYXJlYXMgKi9cbiAgLyogd2lsbCBpbmhlcml0IC5mYy1iZ2V2ZW50J3Mgc3R5bGVzICovXG4gIGJhY2tncm91bmQ6ICNkN2Q3ZDc7XG59XG5cbi8qIFBvcG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLmZjLXBvcG92ZXIgLmZjLWhlYWRlciB7XG4gIC8qIFRPRE86IGJlIG1vcmUgY29uc2lzdGVudCB3aXRoIGZjLWhlYWQvZmMtYm9keSAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG59XG5cbi5mYy1ydGwgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtdGl0bGUge1xuICBtYXJnaW46IDAgMnB4O1xufVxuXG4uZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy1jbG9zZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC42NTtcbiAgZm9udC1zaXplOiAxLjFlbTtcbn1cblxuLyogTWlzYyBSZXVzYWJsZSBDb21wb25lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtZGl2aWRlciB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xufVxuXG5oci5mYy1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMCAycHg7XG4gIC8qIGhlaWdodCBpcyB1bnJlbGlhYmxlIGFjcm9zcyBicm93c2Vycywgc28gdXNlIHBhZGRpbmcgKi9cbiAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbn1cblxuLmZjLWJnLFxuLmZjLWJnZXZlbnQtc2tlbGV0b24sXG4uZmMtaGlnaGxpZ2h0LXNrZWxldG9uLFxuLmZjLW1pcnJvci1za2VsZXRvbiB7XG4gIC8qIHRoZXNlIGVsZW1lbnQgc2hvdWxkIGFsd2F5cyBjbGluZyB0byB0b3AtbGVmdC9yaWdodCBjb3JuZXJzICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuLmZjLWJnIHtcbiAgYm90dG9tOiAwO1xuICAvKiBzdHJlY2ggYmcgdG8gYm90dG9tIGVkZ2UgKi9cbn1cblxuLmZjLWJnIHRhYmxlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiBzdHJlY2ggYmcgdG8gYm90dG9tIGVkZ2UgKi9cbn1cblxuLyogVGFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMgdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogZml4IHNjcm9sbGJhciBpc3N1ZSBpbiBmaXJlZm94ICovXG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogbm9ybWFsaXplIGNyb3NzLWJyb3dzZXIgKi9cbn1cblxuLmZjIHRoIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmMgdGgsXG4uZmMgdGQge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmZjIHRkLmZjLXRvZGF5IHtcbiAgYm9yZGVyLXN0eWxlOiBkb3VibGU7XG4gIC8qIG92ZXJjb21lIG5laWdoYm9yaW5nIGJvcmRlcnMgKi9cbn1cblxuLyogSW50ZXJuYWwgTmF2IExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5hW2RhdGEtZ290b10ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmFbZGF0YS1nb3RvXTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiBGYWtlIFRhYmxlIFJvd3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYyAuZmMtcm93IHtcbiAgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBvdmVyY29tZSB0aGVtZXMgZm9yY2luZyBhIDFweCBib3JkZXIgKi9cbiAgLyogbm8gdmlzaWJsZSBib3JkZXIgYnkgZGVmYXVsdC4gYnV0IG1ha2UgYXZhaWxhYmxlIGlmIG5lZWQgYmUgKHNjcm9sbGJhciB3aWR0aCBjb21wZW5zYXRpb24pICovXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuLmZjLXJvdyB0YWJsZSB7XG4gIC8qIGRvbid0IHB1dCBsZWZ0L3JpZ2h0IGJvcmRlciBvbiBhbnl0aGluZyB3aXRoaW4gYSBmYWtlIHJvdy5cbiAgICAgdGhlIG91dGVyIHRib2R5IHdpbGwgd29ycnkgYWJvdXQgdGhpcyAqL1xuICBib3JkZXItbGVmdDogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG4gIC8qIG5vIGJvdHRvbSBib3JkZXJzIG9uIHJvd3MgKi9cbiAgYm9yZGVyLWJvdHRvbTogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7XG59XG5cbi5mYy1yb3c6Zmlyc3QtY2hpbGQgdGFibGUge1xuICBib3JkZXItdG9wOiAwIGhpZGRlbiB0cmFuc3BhcmVudDtcbiAgLyogbm8gdG9wIGJvcmRlciBvbiBmaXJzdCByb3cgKi9cbn1cblxuLyogRGF5IFJvdyAodXNlZCB3aXRoaW4gdGhlIGhlYWRlciBhbmQgdGhlIERheUdyaWQpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtcm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmMtcm93IC5mYy1iZyB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi8qIGhpZ2hsaWdodGluZyBjZWxscyAmIGJhY2tncm91bmQgZXZlbnQgc2tlbGV0b24gKi9cbi5mYy1yb3cgLmZjLWJnZXZlbnQtc2tlbGV0b24sXG4uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24ge1xuICBib3R0b206IDA7XG4gIC8qIHN0cmV0Y2ggc2tlbGV0b24gdG8gYm90dG9tIG9mIHJvdyAqL1xufVxuXG4uZmMtcm93IC5mYy1iZ2V2ZW50LXNrZWxldG9uIHRhYmxlLFxuLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHRhYmxlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiBzdHJldGNoIHNrZWxldG9uIHRvIGJvdHRvbSBvZiByb3cgKi9cbn1cblxuLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHRkLFxuLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbiB0ZCB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5mYy1yb3cgLmZjLWJnZXZlbnQtc2tlbGV0b24ge1xuICB6LWluZGV4OiAyO1xufVxuXG4uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24ge1xuICB6LWluZGV4OiAzO1xufVxuXG4vKlxucm93IGNvbnRlbnQgKHdoaWNoIGNvbnRhaW5zIGRheS93ZWVrIG51bWJlcnMgYW5kIGV2ZW50cykgYXMgd2VsbCBhcyBcIm1pcnJvclwiICh3aGljaCBjb250YWluc1xudGVtcG9yYXJ5IHJlbmRlcmVkIGV2ZW50cykuXG4qL1xuLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgLyogbWF0Y2hlcyB0aGUgc3BhY2UgYWJvdmUgdGhlIGV2ZW50cyAqL1xufVxuXG4uZmMtcm93IC5mYy1taXJyb3Itc2tlbGV0b24ge1xuICB6LWluZGV4OiA1O1xufVxuXG4uZmMgLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0YWJsZSxcbi5mYyAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRkLFxuLmZjIC5mYy1yb3cgLmZjLW1pcnJvci1za2VsZXRvbiB0ZCB7XG4gIC8qIHNlZS10aHJvdWdoIHRvIHRoZSBiYWNrZ3JvdW5kIGJlbG93ICovXG4gIC8qIGV4dHJhIHByZWNlZGVuY2UgdG8gcHJldmVudCB0aGVtZS1wcm92aWRlZCBiYWNrZ3JvdW5kcyAqL1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAvKiBpbiBjYXNlIDx0ZD5zIGFyZSBnbG9iYWxseSBzdHlsZWQgKi9cbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0ZCxcbi5mYy1yb3cgLmZjLW1pcnJvci1za2VsZXRvbiB0ZCB7XG4gIC8qIGRvbid0IHB1dCBhIGJvcmRlciBiZXR3ZWVuIGV2ZW50cyBhbmQvb3IgdGhlIGRheSBudW1iZXIgKi9cbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0Ym9keSB0ZCxcbi5mYy1yb3cgLmZjLW1pcnJvci1za2VsZXRvbiB0Ym9keSB0ZCB7XG4gIC8qIGRvbid0IHB1dCBhIGJvcmRlciBiZXR3ZWVuIGV2ZW50IGNlbGxzICovXG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi8qIFNjcm9sbGluZyBDb250YWluZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1zY3JvbGxlciB7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLyogVE9ETzogbW92ZSB0byB0aW1lZ3JpZC9kYXlncmlkICovXG4uZmMtc2Nyb2xsZXIgPiAuZmMtZGF5LWdyaWQsXG4uZmMtc2Nyb2xsZXIgPiAuZmMtdGltZS1ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiByZS1zY29wZSBhbGwgcG9zaXRpb25zICovXG4gIHdpZHRoOiAxMDAlO1xuICAvKiBoYWNrIHRvIGZvcmNlIHJlLXNpemluZyB0aGlzIGlubmVyIGVsZW1lbnQgd2hlbiBzY3JvbGxiYXJzIGFwcGVhci9kaXNhcHBlYXIgKi9cbn1cblxuLyogR2xvYmFsIEV2ZW50IFN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLWV2ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBmb3IgcmVzaXplIGhhbmRsZSBhbmQgb3RoZXIgaW5uZXIgcG9zaXRpb25pbmcgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qIG1ha2UgdGhlIDxhPiB0YWcgYmxvY2sgKi9cbiAgZm9udC1zaXplOiAwLjg1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzM3ODhkODtcbn1cblxuLmZjLWV2ZW50LFxuLmZjLWV2ZW50LWRvdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNzg4ZDg7XG4gIC8qIGRlZmF1bHQgQkFDS0dST1VORCBjb2xvciAqL1xufVxuXG4uZmMtZXZlbnQsXG4uZmMtZXZlbnQ6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgLyogZGVmYXVsdCBURVhUIGNvbG9yICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLyogaWYgPGE+IGhhcyBhbiBocmVmICovXG59XG5cbi5mYy1ldmVudFtocmVmXSxcbi5mYy1ldmVudC5mYy1kcmFnZ2FibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIGdpdmUgZXZlbnRzIHdpdGggbGlua3MgYW5kIGRyYWdnYWJsZSBldmVudHMgYSBoYW5kIG1vdXNlIHBvaW50ZXIgKi9cbn1cblxuLmZjLW5vdC1hbGxvd2VkLFxuLmZjLW5vdC1hbGxvd2VkIC5mYy1ldmVudCB7XG4gIC8qIHRvIG92ZXJyaWRlIGFuIGV2ZW50J3MgY3VzdG9tIGN1cnNvciAqL1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uZmMtZXZlbnQgLmZjLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi8qIHJlc2l6ZXIgKGN1cnNvciBBTkQgdG91Y2ggZGV2aWNlcykgKi9cbi5mYy1ldmVudCAuZmMtcmVzaXplciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNDtcbn1cblxuLyogcmVzaXplciAodG91Y2ggZGV2aWNlcykgKi9cbi5mYy1ldmVudCAuZmMtcmVzaXplciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mYy1ldmVudC5mYy1hbGxvdy1tb3VzZS1yZXNpemUgLmZjLXJlc2l6ZXIsXG4uZmMtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXJlc2l6ZXIge1xuICAvKiBvbmx5IHNob3cgd2hlbiBob3ZlcmluZyBvciBzZWxlY3RlZCAod2l0aCB0b3VjaCkgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIGhpdCBhcmVhICovXG4uZmMtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXJlc2l6ZXI6YmVmb3JlIHtcbiAgLyogNDB4NDAgdG91Y2ggYXJlYSAqL1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk5OTk7XG4gIC8qIHVzZXIgb2YgdGhpcyB1dGlsIGNhbiBzY29wZSB3aXRoaW4gYSBsb3dlciB6LWluZGV4ICovXG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgbWFyZ2luLXRvcDogLTIwcHg7XG59XG5cbi8qIEV2ZW50IFNlbGVjdGlvbiAob25seSBmb3IgdG91Y2ggZGV2aWNlcylcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1ldmVudC5mYy1zZWxlY3RlZCB7XG4gIHotaW5kZXg6IDk5OTkgIWltcG9ydGFudDtcbiAgLyogb3ZlcmNvbWVzIGlubGluZSB6LWluZGV4ICovXG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5mYy1ldmVudC5mYy1zZWxlY3RlZDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgLyogc2FtZSB6LWluZGV4IGFzIGZjLWJnLCBiZWhpbmQgdGV4dCAqL1xuICAvKiBvdmVyY29tZSB0aGUgYm9yZGVycyAqL1xuICB0b3A6IC0xcHg7XG4gIHJpZ2h0OiAtMXB4O1xuICBib3R0b206IC0xcHg7XG4gIGxlZnQ6IC0xcHg7XG4gIC8qIGRhcmtlbmluZyBlZmZlY3QgKi9cbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC4yNTtcbn1cblxuLyogRXZlbnQgRHJhZ2dpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1ldmVudC5mYy1kcmFnZ2luZy5mYy1zZWxlY3RlZCB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5mYy1ldmVudC5mYy1kcmFnZ2luZzpub3QoLmZjLXNlbGVjdGVkKSB7XG4gIG9wYWNpdHk6IDAuNzU7XG59XG5cbi8qIEhvcml6b250YWwgRXZlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBiaWdnZXIgdG91Y2ggYXJlYSB3aGVuIHNlbGVjdGVkICovXG4uZmMtaC1ldmVudC5mYy1zZWxlY3RlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDM7XG4gIC8qIGJlbG93IHJlc2l6ZXJzICovXG4gIHRvcDogLTEwcHg7XG4gIGJvdHRvbTogLTEwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4vKiBldmVudHMgdGhhdCBhcmUgY29udGludWluZyB0by9mcm9tIGFub3RoZXIgd2Vlay4ga2lsbCByb3VuZGVkIGNvcm5lcnMgYW5kIGJ1dHQgdXAgYWdhaW5zdCBlZGdlICovXG4uZmMtbHRyIC5mYy1oLWV2ZW50LmZjLW5vdC1zdGFydCxcbi5mYy1ydGwgLmZjLWgtZXZlbnQuZmMtbm90LWVuZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gIC8qIHJlcGxhY2UgdGhlIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9cbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cblxuLmZjLWx0ciAuZmMtaC1ldmVudC5mYy1ub3QtZW5kLFxuLmZjLXJ0bCAuZmMtaC1ldmVudC5mYy1ub3Qtc3RhcnQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgcGFkZGluZy1yaWdodDogMXB4O1xuICAvKiByZXBsYWNlIHRoZSBib3JkZXIgd2l0aCBwYWRkaW5nICovXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLyogcmVzaXplciAoY3Vyc29yIEFORCB0b3VjaCBkZXZpY2VzKSAqL1xuLyogbGVmdCByZXNpemVyICAqL1xuLmZjLWx0ciAuZmMtaC1ldmVudCAuZmMtc3RhcnQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyIHtcbiAgY3Vyc29yOiB3LXJlc2l6ZTtcbiAgbGVmdDogLTFweDtcbiAgLyogb3ZlcmNvbWUgYm9yZGVyICovXG59XG5cbi8qIHJpZ2h0IHJlc2l6ZXIgKi9cbi5mYy1sdHIgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyLFxuLmZjLXJ0bCAuZmMtaC1ldmVudCAuZmMtc3RhcnQtcmVzaXplciB7XG4gIGN1cnNvcjogZS1yZXNpemU7XG4gIHJpZ2h0OiAtMXB4O1xuICAvKiBvdmVyY29tZSBib3JkZXIgKi9cbn1cblxuLyogcmVzaXplciAobW91c2UgZGV2aWNlcykgKi9cbi5mYy1oLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtcmVzaXplciB7XG4gIHdpZHRoOiA3cHg7XG4gIHRvcDogLTFweDtcbiAgLyogb3ZlcmNvbWUgdG9wIGJvcmRlciAqL1xuICBib3R0b206IC0xcHg7XG4gIC8qIG92ZXJjb21lIGJvdHRvbSBib3JkZXIgKi9cbn1cblxuLyogcmVzaXplciAodG91Y2ggZGV2aWNlcykgKi9cbi5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1yZXNpemVyIHtcbiAgLyogOHg4IGxpdHRsZSBkb3QgKi9cbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogdmVydGljYWxseSBjZW50ZXIgKi9cbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC00cHg7XG59XG5cbi8qIGxlZnQgcmVzaXplciAgKi9cbi5mYy1sdHIgLmZjLWgtZXZlbnQuZmMtc2VsZWN0ZWQgLmZjLXN0YXJ0LXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1lbmQtcmVzaXplciB7XG4gIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAvKiBjZW50ZXJzIHRoZSA4eDggZG90IG9uIHRoZSBsZWZ0IGVkZ2UgKi9cbn1cblxuLyogcmlnaHQgcmVzaXplciAqL1xuLmZjLWx0ciAuZmMtaC1ldmVudC5mYy1zZWxlY3RlZCAuZmMtZW5kLXJlc2l6ZXIsXG4uZmMtcnRsIC5mYy1oLWV2ZW50LmZjLXNlbGVjdGVkIC5mYy1zdGFydC1yZXNpemVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuICAvKiBjZW50ZXJzIHRoZSA4eDggZG90IG9uIHRoZSByaWdodCBlZGdlICovXG59XG5cbi8qIERheUdyaWQgZXZlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XZSB1c2UgdGhlIGZ1bGwgXCJmYy1kYXktZ3JpZC1ldmVudFwiIGNsYXNzIGluc3RlYWQgb2YgdXNpbmcgZGVzY2VuZGFudHMgYmVjYXVzZSB0aGUgZXZlbnQgd29uJ3RcbmJlIGEgZGVzY2VuZGFudCBvZiB0aGUgZ3JpZCB3aGVuIGl0IGlzIGJlaW5nIGRyYWdnZWQuXG4qL1xuLmZjLWRheS1ncmlkLWV2ZW50IHtcbiAgbWFyZ2luOiAxcHggMnB4IDA7XG4gIC8qIHNwYWNpbmcgYmV0d2VlbiBldmVudHMgYW5kIGVkZ2VzICovXG4gIHBhZGRpbmc6IDAgMXB4O1xufVxuXG50cjpmaXJzdC1jaGlsZCA+IHRkID4gLmZjLWRheS1ncmlkLWV2ZW50IHtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICAvKiBhIGxpdHRsZSBiaXQgbW9yZSBzcGFjZSBiZWZvcmUgdGhlIGZpcnN0IGV2ZW50ICovXG59XG5cbi5mYy1taXJyb3Itc2tlbGV0b24gdHI6Zmlyc3QtY2hpbGQgPiB0ZCA+IC5mYy1kYXktZ3JpZC1ldmVudCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qIGV4Y2VwdCBmb3IgbWlycm9yIHNrZWxldG9uICovXG59XG5cbi5mYy1kYXktZ3JpZC1ldmVudCAuZmMtY29udGVudCB7XG4gIC8qIGZvcmNlIGV2ZW50cyB0byBiZSBvbmUtbGluZSB0YWxsICovXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mYy1kYXktZ3JpZC1ldmVudCAuZmMtdGltZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiByZXNpemVyIChjdXJzb3IgZGV2aWNlcykgKi9cbi8qIGxlZnQgcmVzaXplciAgKi9cbi5mYy1sdHIgLmZjLWRheS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtc3RhcnQtcmVzaXplcixcbi5mYy1ydGwgLmZjLWRheS1ncmlkLWV2ZW50LmZjLWFsbG93LW1vdXNlLXJlc2l6ZSAuZmMtZW5kLXJlc2l6ZXIge1xuICBtYXJnaW4tbGVmdDogLTJweDtcbiAgLyogdG8gdGhlIGRheSBjZWxsJ3MgZWRnZSAqL1xufVxuXG4vKiByaWdodCByZXNpemVyICovXG4uZmMtbHRyIC5mYy1kYXktZ3JpZC1ldmVudC5mYy1hbGxvdy1tb3VzZS1yZXNpemUgLmZjLWVuZC1yZXNpemVyLFxuLmZjLXJ0bCAuZmMtZGF5LWdyaWQtZXZlbnQuZmMtYWxsb3ctbW91c2UtcmVzaXplIC5mYy1zdGFydC1yZXNpemVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xuICAvKiB0byB0aGUgZGF5IGNlbGwncyBlZGdlICovXG59XG5cbi8qIEV2ZW50IExpbWl0aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBcIm1vcmVcIiBsaW5rIHRoYXQgcmVwcmVzZW50cyBoaWRkZW4gZXZlbnRzICovXG5hLmZjLW1vcmUge1xuICBtYXJnaW46IDFweCAzcHg7XG4gIGZvbnQtc2l6ZTogMC44NWVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYS5mYy1tb3JlOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5mYy1saW1pdGVkIHtcbiAgLyogcm93cyBhbmQgY2VsbHMgdGhhdCBhcmUgaGlkZGVuIGJlY2F1c2Ugb2YgYSBcIm1vcmVcIiBsaW5rICovXG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIHBvcG92ZXIgdGhhdCBhcHBlYXJzIHdoZW4gXCJtb3JlXCIgbGluayBpcyBjbGlja2VkICovXG4uZmMtZGF5LWdyaWQgLmZjLXJvdyB7XG4gIHotaW5kZXg6IDE7XG4gIC8qIG1ha2UgdGhlIFwibW9yZVwiIHBvcG92ZXIgb25lIGhpZ2hlciB0aGFuIHRoaXMgKi9cbn1cblxuLmZjLW1vcmUtcG9wb3ZlciB7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAyMjBweDtcbn1cblxuLmZjLW1vcmUtcG9wb3ZlciAuZmMtZXZlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuLyogTm93IEluZGljYXRvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLW5vdy1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMCBzb2xpZCByZWQ7XG59XG5cbi8qIFV0aWxpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZjLXVuc2VsZWN0YWJsZSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi8qXG5UT0RPOiBtb3JlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhpcyBmaWxlIGFuZCBjb21tb24uY3NzXG4qL1xuLyogQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdW50aGVtZWQgdGgsXG4uZmMtdW50aGVtZWQgdGQsXG4uZmMtdW50aGVtZWQgdGhlYWQsXG4uZmMtdW50aGVtZWQgdGJvZHksXG4uZmMtdW50aGVtZWQgLmZjLWRpdmlkZXIsXG4uZmMtdW50aGVtZWQgLmZjLXJvdyxcbi5mYy11bnRoZW1lZCAuZmMtY29udGVudCxcbi5mYy11bnRoZW1lZCAuZmMtcG9wb3Zlcixcbi5mYy11bnRoZW1lZCAuZmMtbGlzdC12aWV3LFxuLmZjLXVudGhlbWVkIC5mYy1saXN0LWhlYWRpbmcgdGQge1xuICBib3JkZXItY29sb3I6ICNkZGQ7XG59XG5cbi5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5mYy11bnRoZW1lZCAuZmMtZGl2aWRlcixcbi5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyLFxuLmZjLXVudGhlbWVkIC5mYy1saXN0LWhlYWRpbmcgdGQge1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xufVxuXG4uZmMtdW50aGVtZWQgdGQuZmMtdG9kYXkge1xuICBiYWNrZ3JvdW5kOiAjZmNmOGUzO1xufVxuXG4uZmMtdW50aGVtZWQgLmZjLWRpc2FibGVkLWRheSB7XG4gIGJhY2tncm91bmQ6ICNkN2Q3ZDc7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLyogSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mcm9tIGh0dHBzOi8vZmVhdGhlcmljb25zLmNvbS8gYW5kIGJ1aWx0IHdpdGggSWNvTW9vblxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJmY2ljb25zXCI7XG4gIHNyYzogdXJsKFwiZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWc4U0JmQUFBQUM4QUFBQVlHTnRZWEFYVnRLTkFBQUJIQUFBQUZSbllYTndBQUFBRUFBQUFYQUFBQUFJWjJ4NVpnWXlkeElBQUFGNEFBQUZOR2hsWVdRVUo3Y0lBQUFHckFBQUFEWm9hR1ZoQjIwRHpBQUFCdVFBQUFBa2FHMTBlQ0lBQmhRQUFBY0lBQUFBTEd4dlkyRUQ0QVU2QUFBSE5BQUFBQmh0WVhod0FBOEFqQUFBQjB3QUFBQWdibUZ0WlhzcjY5MEFBQWRzQUFBQmhuQnZjM1FBQXdBQUFBQUk5QUFBQUNBQUF3UEFBWkFBQlFBQUFwa0N6QUFBQUk4Q21RTE1BQUFCNndBekFRa0FBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHBCZ1BBLzhBQVFBUEFBRUFBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBREFBQUFBd0FBQUJ3QUFRQURBQUFBSEFBREFBRUFBQUFjQUFRQU9BQUFBQW9BQ0FBQ0FBSUFBUUFnNlFiLy9mLy9BQUFBQUFBZzZRRC8vZi8vQUFILzR4Y0VBQU1BQVFBQUFBQUFBQUFBQUFBQUFRQUIvLzhBRHdBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBRUFBQUFBQUFBQUFBQUNBQUEzT1FFQUFBQUFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQVdJQWpRS2VBc2tBRXdBQUpTYzNOalFuSmlJSEFRWVVGd0VXTWpjMk5DY0NudUxpRFEwTUpBei9BQTBOQVFBTUpBd05EY25pNGd3akRRd00vd0FOSXd6L0FBME5EQ01OQUFBQUFRRmlBSTBDbmdMSkFCTUFBQ1VCTmpRbkFTWWlCd1lVSHdFSEJoUVhGakkzQVo0QkFBME4vd0FNSkF3TkRlTGlEUTBNSkF5TkFRQU1JdzBCQUF3TURTTU00dUlOSXd3TkRRQUFBQUlBNGdDM0F4NENuZ0FUQUNjQUFDVW5OelkwSnlZaUR3RUdGQjhCRmpJM05qUW5JU2MzTmpRbkppSVBBUVlVSHdFV01qYzJOQ2NCODdlM0RRME1JdzNWRFEzVkRTTU1EUTBCSzdlM0RRME1KQXpWRFEzVkRDUU1EUTN6dUxjTUpBd05EZFVOSXd6V0RBd05Jd3k0dHd3a0RBME4xUTBqRE5ZTURBMGpEQUFBQWdEaUFMY0RIZ0tlQUJNQUp3QUFKVGMyTkM4QkppSUhCaFFmQVFjR0ZCY1dNamNoTnpZMEx3RW1JZ2NHRkI4QkJ3WVVGeFl5TndKSjFRME4xUTBqREEwTnQ3Y05EUXdqRGY3VjFRME4xUXdrREEwTnQ3Y05EUXdrRExmV0RDTU4xUTBORENRTXQ3Z01JdzBNRE5ZTUl3M1ZEUTBNSkF5M3VBd2pEUXdNQUFBREFGVUFBQU9yQTFVQU13Qm9BSGNBQUJNaUJnY09BUWNPQVFjT0FSVVJGQllYSGdFWEhnRVhIZ0V6SVRJMk56NEJOejRCTno0Qk5SRTBKaWN1QVNjdUFTY3VBU01GSVRJV0Z4NEJGeDRCRng0QkZSRVVCZ2NPQVFjT0FRY09BU01oSWlZbkxnRW5MZ0VuTGdFMUVUUTJOejRCTno0Qk56NEJNeE1oTWpZMU5DWWpJU0lHRlJRV005VU5HQXdMRlFrSkRnVUZCUVVGQlE0SkNSVUxEQmdOQWxZTkdBd0xGUWtKRGdVRkJRVUZCUTRKQ1JVTERCZ04vYW9DVmdRSUJBUUhBd01GQVFJQkFRSUJCUU1EQndRRUNBVDlxZ1FJQkFRSEF3TUZBUUlCQVFJQkJRTURCd1FFQ0FTQUFWWVJHUmtSL3FvUkdSa1JBMVVGQkFVT0NRa1ZEQXNaRGYyckRSa0xEQlVKQ0E0RkJRVUZCUVVPQ1FnVkRBc1pEUUpWRFJrTERCVUpDUTRGQkFWVkFnRUNCUU1DQndRRUNBWDlxd1FKQXdRSEF3TUZBUUlDQWdJQkJRTURCd1FEQ1FRQ1ZRVUlCQVFIQWdNRkFnRUMvb0FaRWhFWkdSRVNHUUFBQUFBREFGVUFBQU9yQTFVQU13Qm9BSWtBQUJNaUJnY09BUWNPQVFjT0FSVVJGQllYSGdFWEhnRVhIZ0V6SVRJMk56NEJOejRCTno0Qk5SRTBKaWN1QVNjdUFTY3VBU01GSVRJV0Z4NEJGeDRCRng0QkZSRVVCZ2NPQVFjT0FRY09BU01oSWlZbkxnRW5MZ0VuTGdFMUVUUTJOejRCTno0Qk56NEJNeE16RlJRV016STJQUUV6TWpZMU5DWXJBVFUwSmlNaUJoMEJJeUlHRlJRV005VU5HQXdMRlFrSkRnVUZCUVVGQlE0SkNSVUxEQmdOQWxZTkdBd0xGUWtKRGdVRkJRVUZCUTRKQ1JVTERCZ04vYW9DVmdRSUJBUUhBd01GQVFJQkFRSUJCUU1EQndRRUNBVDlxZ1FJQkFRSEF3TUZBUUlCQVFJQkJRTURCd1FFQ0FTQWdCa1NFaG1BRVJrWkVZQVpFaElaZ0JFWkdSRURWUVVFQlE0SkNSVU1DeGtOL2FzTkdRc01GUWtJRGdVRkJRVUZCUTRKQ0JVTUN4a05BbFVOR1FzTUZRa0pEZ1VFQlZVQ0FRSUZBd0lIQkFRSUJmMnJCQWtEQkFjREF3VUJBZ0lDQWdFRkF3TUhCQU1KQkFKVkJRZ0VCQWNDQXdVQ0FRTCtnSUFTR1JrU2dCa1NFUm1BRWhrWkVvQVpFUklaQUFBQkFPSUFqUU1lQXNrQUlBQUFFeGNIQmhRWEZqSS9BUmNXTWpjMk5DOEJOelkwSnlZaUR3RW5KaUlIQmhRWDR1TGlEUTBNSkF6aTRnd2tEQTBONHVJTkRRd2tET0xpRENRTURRMENqZUxpRFNNTURRM2g0UTBORENNTjR1SU1JdzBNRE9MaURBd05Jd3dBQUFBQkFBQUFBUUFBYTVuMHkxOFBQUFVBQ3dRQUFBQUFBTml2T1ZzQUFBQUEySzg1V3dBQUFBQURxd05WQUFBQUNBQUNBQUFBQUFBQUFBRUFBQVBBLzhBQUFBUUFBQUFBQUFPckFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBTEJBQUFBQUFBQUFBQUFBQUFBZ0FBQUFRQUFXSUVBQUZpQkFBQTRnUUFBT0lFQUFCVkJBQUFWUVFBQU9JQUFBQUFBQW9BRkFBZUFFUUFhZ0NxQU9vQm5nSmtBcG9BQVFBQUFBc0FpZ0FEQUFBQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTRBcmdBQkFBQUFBQUFCQUFjQUFBQUJBQUFBQUFBQ0FBY0FZQUFCQUFBQUFBQURBQWNBTmdBQkFBQUFBQUFFQUFjQWRRQUJBQUFBQUFBRkFBc0FGUUFCQUFBQUFBQUdBQWNBU3dBQkFBQUFBQUFLQUJvQWlnQURBQUVFQ1FBQkFBNEFCd0FEQUFFRUNRQUNBQTRBWndBREFBRUVDUUFEQUE0QVBRQURBQUVFQ1FBRUFBNEFmQUFEQUFFRUNRQUZBQllBSUFBREFBRUVDUUFHQUE0QVVnQURBQUVFQ1FBS0FEUUFwR1pqYVdOdmJuTUFaZ0JqQUdrQVl3QnZBRzRBYzFabGNuTnBiMjRnTVM0d0FGWUFaUUJ5QUhNQWFRQnZBRzRBSUFBeEFDNEFNR1pqYVdOdmJuTUFaZ0JqQUdrQVl3QnZBRzRBYzJaamFXTnZibk1BWmdCakFHa0FZd0J2QUc0QWMxSmxaM1ZzWVhJQVVnQmxBR2NBZFFCc0FHRUFjbVpqYVdOdmJuTUFaZ0JqQUdrQVl3QnZBRzRBYzBadmJuUWdaMlZ1WlhKaGRHVmtJR0o1SUVsamIwMXZiMjR1QUVZQWJ3QnVBSFFBSUFCbkFHVUFiZ0JsQUhJQVlRQjBBR1VBWkFBZ0FHSUFlUUFnQUVrQVl3QnZBRTBBYndCdkFHNEFMZ0FBQUFNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT1cIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi5mYy1pY29uIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6IFwiZmNpY29uc1wiICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmZjLWljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSAXCI7XG59XG5cbi5mYy1pY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIFcIjtcbn1cblxuLmZjLWljb24tY2hldnJvbnMtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kglwiO1xufVxuXG4uZmMtaWNvbi1jaGV2cm9ucy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kg1wiO1xufVxuXG4uZmMtaWNvbi1taW51cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIRcIjtcbn1cblxuLmZjLWljb24tcGx1cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIVcIjtcbn1cblxuLmZjLWljb24teDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6khlwiO1xufVxuXG4uZmMtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogQnV0dG9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkxvdHMgdGFrZW4gZnJvbSBGbGF0bHkgKE1JVCk6IGh0dHBzOi8vYm9vdHN3YXRjaC5jb20vNC9mbGF0bHkvYm9vdHN0cmFwLmNzc1xuKi9cbi8qIHJlc2V0ICovXG4uZmMtYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uZmMtYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG4uZmMtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi5mYy1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mYy1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIHRoZW1lICovXG4uZmMtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzIxMjUyOTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDAuNGVtIDAuNjVlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbn1cblxuLmZjLWJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5mYy1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQ0LCA2MiwgODAsIDAuMjUpO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0NCwgNjIsIDgwLCAwLjI1KTtcbn1cblxuLmZjLWJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNjU7XG59XG5cbi8qIFwicHJpbWFyeVwiIGNvbG9yaW5nICovXG4uZmMtYnV0dG9uLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJDM0U1MDtcbiAgYm9yZGVyLWNvbG9yOiAjMkMzRTUwO1xufVxuXG4uZmMtYnV0dG9uLXByaW1hcnk6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMmIzNztcbiAgYm9yZGVyLWNvbG9yOiAjMWEyNTJmO1xufVxuXG4uZmMtYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDc2LCA5MSwgMTA2LCAwLjUpO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg3NiwgOTEsIDEwNiwgMC41KTtcbn1cblxuLmZjLWJ1dHRvbi1wcmltYXJ5OmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQzNFNTA7XG4gIGJvcmRlci1jb2xvcjogIzJDM0U1MDtcbn1cblxuLmZjLWJ1dHRvbi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSxcbi5mYy1idXR0b24tcHJpbWFyeTpub3QoOmRpc2FibGVkKS5mYy1idXR0b24tYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTI1MmY7XG4gIGJvcmRlci1jb2xvcjogIzE1MWUyNztcbn1cblxuLmZjLWJ1dHRvbi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cyxcbi5mYy1idXR0b24tcHJpbWFyeTpub3QoOmRpc2FibGVkKS5mYy1idXR0b24tYWN0aXZlOmZvY3VzIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg3NiwgOTEsIDEwNiwgMC41KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNzYsIDkxLCAxMDYsIDAuNSk7XG59XG5cbi8qIGljb25zIHdpdGhpbiBidXR0b25zICovXG4uZmMtYnV0dG9uIC5mYy1pY29uIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuLyogQnV0dG9ucyBHcm91cHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy1idXR0b24tZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC1tcy1mbGV4OiAxIDEgYXV0bztcbiAgZmxleDogMSAxIGF1dG87XG59XG5cbi5mYy1idXR0b24tZ3JvdXAgPiAuZmMtYnV0dG9uOmhvdmVyIHtcbiAgei1pbmRleDogMTtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b246Zm9jdXMsXG4uZmMtYnV0dG9uLWdyb3VwID4gLmZjLWJ1dHRvbjphY3RpdmUsXG4uZmMtYnV0dG9uLWdyb3VwID4gLmZjLWJ1dHRvbi5mYy1idXR0b24tYWN0aXZlIHtcbiAgei1pbmRleDogMTtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmZjLWJ1dHRvbi1ncm91cCA+IC5mYy1idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4vKiBQb3BvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIge1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLyogTGlzdCBWaWV3XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdW50aGVtZWQgLmZjLWxpc3QtaXRlbTpob3ZlciB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG59XG5cbi8qIFRvb2xiYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYy10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmMtdG9vbGJhci5mYy1oZWFkZXItdG9vbGJhciB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG4uZmMtdG9vbGJhci5mYy1mb290ZXItdG9vbGJhciB7XG4gIG1hcmdpbi10b3A6IDEuNWVtO1xufVxuXG4vKiBpbm5lciBjb250ZW50ICovXG4uZmMtdG9vbGJhciA+ICogPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogMC43NWVtO1xufVxuXG4uZmMtdG9vbGJhciBoMiB7XG4gIGZvbnQtc2l6ZTogMS43NWVtO1xuICBtYXJnaW46IDA7XG59XG5cbi8qIFZpZXcgU3RydWN0dXJlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmMtdmlldy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIHVuZG8gdHdpdHRlciBib290c3RyYXAncyBib3gtc2l6aW5nIHJ1bGVzLiBub3JtYWxpemVzIHBvc2l0aW9uaW5nIHRlY2huaXF1ZXMgKi9cbi8qIGRvbid0IGRvIHRoaXMgZm9yIHRoZSB0b29sYmFyIGJlY2F1c2Ugd2UnbGwgd2FudCBib290c3RyYXAgdG8gc3R5bGUgdGhvc2UgYnV0dG9ucyBhcyBzb21lIHB0ICovXG4uZmMtdmlldy1jb250YWluZXIgKixcbi5mYy12aWV3LWNvbnRhaW5lciAqOmJlZm9yZSxcbi5mYy12aWV3LWNvbnRhaW5lciAqOmFmdGVyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi5mYy12aWV3LFxuLmZjLXZpZXcgPiB0YWJsZSB7XG4gIC8qIHNvIGRyYWdnZWQgZWxlbWVudHMgY2FuIGJlIGFib3ZlIHRoZSB2aWV3J3MgbWFpbiBlbGVtZW50ICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLmZjIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIEdsb2JhbCBFdmVudCBSZXN0eWxpbmdcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAuZmMtZXZlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIC5mYy1ldmVudCAuZmMtcmVzaXplciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIFRhYmxlICYgRGF5LVJvdyBSZXN0eWxpbmdcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAuZmMgdGgsXG4uZmMgdGQsXG4uZmMgaHIsXG4uZmMgdGhlYWQsXG4uZmMgdGJvZHksXG4uZmMtcm93IHtcbiAgICBib3JkZXItY29sb3I6ICNjY2MgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBraWxsIHRoZSBvdmVybGFpZCwgYWJzb2x1dGVseS1wb3NpdGlvbmVkIGNvbXBvbmVudHMgKi9cbiAgLyogY29tbW9uLi4uICovXG4gIC5mYy1iZyxcbi5mYy1iZ2V2ZW50LXNrZWxldG9uLFxuLmZjLWhpZ2hsaWdodC1za2VsZXRvbixcbi5mYy1taXJyb3Itc2tlbGV0b24sXG4uZmMtYmdldmVudC1jb250YWluZXIsXG4uZmMtYnVzaW5lc3MtY29udGFpbmVyLFxuLmZjLWhpZ2hsaWdodC1jb250YWluZXIsXG4uZmMtbWlycm9yLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIGRvbid0IGZvcmNlIGEgbWluLWhlaWdodCBvbiByb3dzIChmb3IgRGF5R3JpZCkgKi9cbiAgLmZjIHRib2R5IC5mYy1yb3cge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8qIHVuZG8gaGVpZ2h0IHRoYXQgSlMgc2V0IGluIGRpc3RyaWJ1dGVIZWlnaHQgKi9cbiAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgLyogdW5kbyB0aGUgbWluLWhlaWdodCBmcm9tIGVhY2ggdmlldydzIHNwZWNpZmljIHN0eWxlc2hlZXQgKi9cbiAgfVxuXG4gIC5mYyB0Ym9keSAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIC8qIHVuZG8gLmZjLXJpZ2lkICovXG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAvKiB1c2UgYSBtb3JlIGJvcmRlci1mcmllbmRseSBtZXRob2QgZm9yIHRoaXMuLi4gKi9cbiAgfVxuXG4gIC5mYyB0Ym9keSAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIC8qIG9ubHkgd29ya3MgaW4gbmV3ZXIgYnJvd3NlcnMgKi9cbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIC8qIC4uLmdpdmVzIHNwYWNlIHdpdGhpbiB0aGUgc2tlbGV0b24uIGFsc28gZW5zdXJlcyBtaW4gaGVpZ2h0IGluIGEgd2F5ICovXG4gIH1cblxuICAuZmMgdGJvZHkgLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0YWJsZSB7XG4gICAgLyogcHJvdmlkZXMgYSBtaW4taGVpZ2h0IGZvciB0aGUgcm93LCBidXQgb25seSBlZmZlY3RpdmUgZm9yIElFLCB3aGljaCBleGFnZ2VyYXRlcyB0aGlzIHZhbHVlLFxuICAgICAgIG1ha2luZyBpdCBsb29rIG1vcmUgbGlrZSAzZW0uIGZvciBvdGhlciBicm93ZXJzLCBpdCB3aWxsIGFscmVhZHkgYmUgdGhpcyB0YWxsICovXG4gICAgaGVpZ2h0OiAxZW07XG4gIH1cblxuICAvKiBVbmRvIG1vbnRoLXZpZXcgZXZlbnQgbGltaXRpbmcuIERpc3BsYXkgYWxsIGV2ZW50cyBhbmQgaGlkZSB0aGUgXCJtb3JlXCIgbGlua3NcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAuZmMtbW9yZS1jZWxsLFxuLmZjLW1vcmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mYyB0ci5mYy1saW1pdGVkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mYyB0ZC5mYy1saW1pdGVkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmMtcG9wb3ZlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiBuZXZlciBkaXNwbGF5IHRoZSBcIm1vcmUuLlwiIHBvcG92ZXIgaW4gcHJpbnQgbW9kZSAqL1xuICB9XG5cbiAgLyogVGltZUdyaWQgUmVzdHlsaW5nXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyogdW5kbyB0aGUgbWluLWhlaWdodCAxMDAlIHRyaWNrIHVzZWQgdG8gZmlsbCB0aGUgY29udGFpbmVyJ3MgaGVpZ2h0ICovXG4gIC5mYy10aW1lLWdyaWQge1xuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIGRvbid0IGRpc3BsYXkgdGhlIHNpZGUgYXhpcyBhdCBhbGwgKFwiYWxsLWRheVwiIGFuZCB0aW1lIGNlbGxzKSAqL1xuICAuZmMtdGltZUdyaWQtdmlldyAuZmMtYXhpcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIGRvbid0IGRpc3BsYXkgdGhlIGhvcml6b250YWwgbGluZXMgKi9cbiAgLmZjLXNsYXRzLFxuLmZjLXRpbWUtZ3JpZCBociB7XG4gICAgLyogdGhpcyBociBpcyB1c2VkIHdoZW4gaGVpZ2h0IGlzIHVuZGVydXNlZCBhbmQgbmVlZHMgdG8gYmUgZmlsbGVkICovXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIC8qIGltcG9ydGFudCBvdmVycmlkZXMgaW5saW5lIGRlY2xhcmF0aW9uICovXG4gIH1cblxuICAvKiBsZXQgdGhlIGNvbnRhaW5lciB0aGF0IGhvbGRzIHRoZSBldmVudHMgYmUgbmF0dXJhbGx5IHBvc2l0aW9uZWQgYW5kIGNyZWF0ZSByZWFsIGhlaWdodCAqL1xuICAuZmMtdGltZS1ncmlkIC5mYy1jb250ZW50LXNrZWxldG9uIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG5cbiAgLyogaW4gY2FzZSB0aGVyZSBhcmUgbm8gZXZlbnRzLCB3ZSBzdGlsbCB3YW50IHNvbWUgaGVpZ2h0ICovXG4gIC5mYy10aW1lLWdyaWQgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGFibGUge1xuICAgIGhlaWdodDogNGVtO1xuICB9XG5cbiAgLyoga2lsbCB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIG1hZGUgYnkgdGhlIGV2ZW50IGNvbnRhaW5lci4gZXZlbnQgbWFyZ2lucyB3aWxsIGJlIGRvbmUgYmVsb3cgKi9cbiAgLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIFRpbWVHcmlkICpFdmVudCogUmVzdHlsaW5nXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyogbmF0dXJhbGx5IHBvc2l0aW9uIGV2ZW50cywgdmVydGljYWxseSBzdGFja2luZyB0aGVtICovXG4gIC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50IHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAzcHggMnB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBmb3IgZXZlbnRzIHRoYXQgY29udGludWUgdG8gYSBmdXR1cmUgZGF5LCBnaXZlIHRoZSBib3R0b20gYm9yZGVyIGJhY2sgKi9cbiAgLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQuZmMtbm90LWVuZCB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBpbmRpY2F0ZSB0aGUgZXZlbnQgY29udGludWVzIHZpYSBcIi4uLlwiIHRleHQgKi9cbiAgLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQuZmMtbm90LWVuZDphZnRlciB7XG4gICAgY29udGVudDogXCIuLi5cIjtcbiAgfVxuXG4gIC8qIGZvciBldmVudHMgdGhhdCBhcmUgY29udGludWF0aW9ucyBmcm9tIHByZXZpb3VzIGRheXMsIGdpdmUgdGhlIHRvcCBib3JkZXIgYmFjayAqL1xuICAuZmMtdGltZS1ncmlkIC5mYy1ldmVudC5mYy1ub3Qtc3RhcnQge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogaW5kaWNhdGUgdGhlIGV2ZW50IGlzIGEgY29udGludWF0aW9uIHZpYSBcIi4uLlwiIHRleHQgKi9cbiAgLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQuZmMtbm90LXN0YXJ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCIuLi5cIjtcbiAgfVxuXG4gIC8qIHRpbWUgKi9cbiAgLyogdW5kbyBhIHByZXZpb3VzIGRlY2xhcmF0aW9uIGFuZCBsZXQgdGhlIHRpbWUgdGV4dCBzcGFuIHRvIGEgc2Vjb25kIGxpbmUgKi9cbiAgLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQgLmZjLXRpbWUge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIGhpZGUgdGhlIHRoZSB0aW1lIHRoYXQgaXMgbm9ybWFsbHkgZGlzcGxheWVkLi4uICovXG4gIC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50IC5mYy10aW1lIHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvKiAuLi5yZXBsYWNlIGl0IHdpdGggYSBtb3JlIHZlcmJvc2UgdmVyc2lvbiAoaW5jbHVkZXMgQU0vUE0pIHN0b3JlZCBpbiBhbiBodG1sIGF0dHJpYnV0ZSAqL1xuICAuZmMtdGltZS1ncmlkIC5mYy1ldmVudCAuZmMtdGltZTphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWZ1bGwpO1xuICB9XG5cbiAgLyogVmVydGljYWwgU2Nyb2xsZXIgJiBDb250YWluZXJzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyoga2lsbCB0aGUgc2Nyb2xsYmFycyBhbmQgYWxsb3cgbmF0dXJhbCBoZWlnaHQgKi9cbiAgLmZjLXNjcm9sbGVyLFxuLmZjLWRheS1ncmlkLWNvbnRhaW5lcixcbi5mYy10aW1lLWdyaWQtY29udGFpbmVyIHtcbiAgICAvKiAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBraWxsIHRoZSBob3Jpem9udGFsIGJvcmRlci9wYWRkaW5nIHVzZWQgdG8gY29tcGVuc2F0ZSBmb3Igc2Nyb2xsYmFycyAqL1xuICAuZmMtcm93IHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIEJ1dHRvbiBDb250cm9sc1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIC5mYy1idXR0b24tZ3JvdXAsXG4uZmMgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIGRvbid0IGRpc3BsYXkgYW55IGJ1dHRvbi1yZWxhdGVkIGNvbnRyb2xzICovXG4gIH1cbn1cbiIsIi8qIERheUdyaWRWaWV3XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBkYXkgcm93IHN0cnVjdHVyZSAqL1xuLmZjLWRheUdyaWRXZWVrLXZpZXcgLmZjLWNvbnRlbnQtc2tlbGV0b24sXG4uZmMtZGF5R3JpZERheS12aWV3IC5mYy1jb250ZW50LXNrZWxldG9uIHtcbiAgLyogdGhlcmUgbWF5IGJlIHdlZWsgbnVtYmVycyBpbiB0aGVzZSB2aWV3cywgc28gbm8gcGFkZGluZy10b3AgKi9cbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgLyogZW5zdXJlIGEgc3BhY2UgYXQgYm90dG9tIG9mIGNlbGwgZm9yIHVzZXIgc2VsZWN0aW5nL2NsaWNraW5nICovXG59XG5cbi5mYy1kYXlHcmlkLXZpZXcgLmZjLWJvZHkgLmZjLXJvdyB7XG4gIG1pbi1oZWlnaHQ6IDRlbTtcbiAgLyogZW5zdXJlIHRoYXQgYWxsIHJvd3MgYXJlIGF0IGxlYXN0IHRoaXMgdGFsbCAqL1xufVxuXG4vKiBhIFwicmlnaWRcIiByb3cgd2lsbCB0YWtlIHVwIGEgY29uc3RhbnQgYW1vdW50IG9mIGhlaWdodCBiZWNhdXNlIGNvbnRlbnQtc2tlbGV0b24gaXMgYWJzb2x1dGUgKi9cbi5mYy1yb3cuZmMtcmlnaWQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmMtcm93LmZjLXJpZ2lkIC5mYy1jb250ZW50LXNrZWxldG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4vKiB3ZWVrIGFuZCBkYXkgbnVtYmVyIHN0eWxpbmcgKi9cbi5mYy1kYXktdG9wLmZjLW90aGVyLW1vbnRoIHtcbiAgb3BhY2l0eTogMC4zO1xufVxuXG4uZmMtZGF5R3JpZC12aWV3IC5mYy13ZWVrLW51bWJlcixcbi5mYy1kYXlHcmlkLXZpZXcgLmZjLWRheS1udW1iZXIge1xuICBwYWRkaW5nOiAycHg7XG59XG5cbi5mYy1kYXlHcmlkLXZpZXcgdGguZmMtd2Vlay1udW1iZXIsXG4uZmMtZGF5R3JpZC12aWV3IHRoLmZjLWRheS1udW1iZXIge1xuICBwYWRkaW5nOiAwIDJweDtcbiAgLyogY29sdW1uIGhlYWRlcnMgY2FuJ3QgaGF2ZSBhcyBtdWNoIHYgc3BhY2UgKi9cbn1cblxuLmZjLWx0ciAuZmMtZGF5R3JpZC12aWV3IC5mYy1kYXktdG9wIC5mYy1kYXktbnVtYmVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uZmMtcnRsIC5mYy1kYXlHcmlkLXZpZXcgLmZjLWRheS10b3AgLmZjLWRheS1udW1iZXIge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmZjLWx0ciAuZmMtZGF5R3JpZC12aWV3IC5mYy1kYXktdG9wIC5mYy13ZWVrLW51bWJlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDA7XG59XG5cbi5mYy1ydGwgLmZjLWRheUdyaWQtdmlldyAuZmMtZGF5LXRvcCAuZmMtd2Vlay1udW1iZXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDNweDtcbn1cblxuLmZjLWRheUdyaWQtdmlldyAuZmMtZGF5LXRvcCAuZmMtd2Vlay1udW1iZXIge1xuICBtaW4td2lkdGg6IDEuNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGNvbG9yOiAjODA4MDgwO1xufVxuXG4vKiB3aGVuIHdlZWsvZGF5IG51bWJlciBoYXZlIG93biBjb2x1bW4gKi9cbi5mYy1kYXlHcmlkLXZpZXcgdGQuZmMtd2Vlay1udW1iZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mYy1kYXlHcmlkLXZpZXcgdGQuZmMtd2Vlay1udW1iZXIgPiAqIHtcbiAgLyogd29yayBhcm91bmQgdGhlIHdheSB3ZSBkbyBjb2x1bW4gcmVzaXppbmcgYW5kIGVuc3VyZSBhIG1pbmltdW0gd2lkdGggKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDEuMjVlbTtcbn1cbiIsIkBpbXBvcnQgXCJ+QGFuZ3VsYXIvbWF0ZXJpYWwvcHJlYnVpbHQtdGhlbWVzL2luZGlnby1waW5rLmNzc1wiO1xyXG5AaW1wb3J0ICd+QGZ1bGxjYWxlbmRhci9jb3JlL21haW4uY3NzJztcclxuQGltcG9ydCAnfkBmdWxsY2FsZW5kYXIvZGF5Z3JpZC9tYWluLmNzcyc7XHJcblxyXG4kd2hpdGU6I2ZmZmZmZjtcclxuJGJsdWU6Ymx1ZTtcclxuJGdyYXktbGlnaHQ6ICNjY2NjY2M7XHJcbiRkYW5nZXI6cmdiKDI0NCwgNjcsIDU0KTs7XHJcbiRncmV5OmdyZXk7XHJcbiRsaWdodC1ncmV5OiNmMmYyZjI7XHJcbiRwaWNrbGVkLUJsdWV3b29kOiMyRDNFNTA7XHJcbiRhdGhlbnMtZ3JheTojRUVFRkYzO1xyXG4kcHJpbWFyeS1hcHA6ICMwMGE5ZTA7XHJcbiRzZWNvbmRhcnktYXBwOiMwMDAwNjY7XHJcblxyXG4kZm9udC1zaXplLXhzbWFsbDogMTBweDtcclxuJGZvbnQtc2l6ZS1zbWFsbDogMTRweDtcclxuJGZvbnQtc2l6ZS1iYXNlOiAxNnB4O1xyXG4kZm9udC1zaXplLW1lZGl1bTogMjBweDtcclxuJGZvbnQtc2l6ZS1sYXJnZTogJGZvbnQtc2l6ZS1iYXNlKjEuNTtcclxuJGZvbnQtc2l6ZS14bGFyZ2U6IDI2cHg7XHJcbiRmb250LXNpemUteHhsYXJnZTogMzZweDtcclxuXHJcbiRmb250LXNpemUtaDE6IDYwcHg7XHJcbiRmb250LXNpemUtaDI6IDQwcHg7XHJcbiRmb250LXNpemUtaDM6IDMycHg7XHJcbiRmb250LXNpemUtaDQ6IDI0cHg7XHJcbiRmb250LXNpemUtaDU6IDIwcHg7XHJcbiRmb250LXNpemUtaDY6IDE2cHg7XHJcblxyXG4kc2NyZWVuLXNpemUtbW9iaWxlOjU3NnB4O1xyXG4kc2NyZWVuLXNpemUtdGFibGV0Ojc2OHB4O1xyXG4kc2NyZWVuLXNpemUtbGFwdG9wOjk5MnB4O1xyXG4kc2NyZWVuLXNpemUtZGVza3RvcDoxMjAwcHg7XHJcblxyXG4ucHJpbWFyeXtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgY29sb3I6JHdoaXRlO1xyXG59XHJcblxyXG5ib2R5e1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG5cclxuLnd7XHJcbiAgICAmLTEwMHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi05MHtcclxuICAgICAgICB3aWR0aDogOTAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLTgwe1xyXG4gICAgICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYtNzB7XHJcbiAgICAgICAgd2lkdGg6IDcwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi01MHtcclxuICAgICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLm10e1xyXG4gICAgJi0xe1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYtMntcclxuICAgICAgICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLTN7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi00e1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDRyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYtNXtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ke1xyXG4gICAgJi1ibG9ja3tcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi1ub25le1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYtZmxleHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi56LWVsZXZhdGlvbntcclxuICAgICYtMXtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsMCwwLC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lcnJvci1jb250YWluZXJ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC5zZXJ2ZXItZXJyb3J7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhbmdlcjtcclxuICAgICAgICBjb2xvcjokbGlnaHQtZ3JleTtcclxuICAgICAgICBmb250LWZhbWlseTogJ09wZW5TYW5zJztcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHNtYWxsO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xyXG4gICAgICAgIG1hcmdpbjogMCAxcmVtO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcclxuICAgIH1cclxuICAgIC5hcnJvdy11cC1nYWRnZXQge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBib3JkZXItbGVmdDogMC41cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMC41cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuOHJlbSBzb2xpZCAkZGFuZ2VyO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG59XHJcblxyXG4ubWF0LWZvcm0tZmllbGQge1xyXG4gICAgJi5uby1wYWRkaW5ne1xyXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVye1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeHtcclxuICAgICAgICAgICAgcGFkZGluZzogMC40cmVtIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBBanVzdGUgZGUgcHJvcGllZGFkZXMgZGUgbG9zIGNvbnRyb2xlcyBkZWwgZm9ybXVsYXJpbyBwcm9ncmFtR2VuZXJhbEluZm9ybWF0aW9uXHJcbi8vIGN1YW5kbyBsb3MgY29udHJvbGVzIGVzdMOhbiBkZXNoYWJpbGlkb3NcclxuI3Byb2dyYW1HZW5lcmFsSW5mb3JtYXRpb24gLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIHtcclxuICAgIGlucHV0W21hdElucHV0XSwgdGV4dGFyZWFbbWF0SW5wdXRdLCAubWF0LXNlbGVjdC12YWx1ZSB7XHJcbiAgICAgICAgY29sb3I6IGRhcmtzbGF0ZWdyZXk7XHJcbiAgICB9XHJcbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICAubWF0LXNlbGVjdC1hcnJvdyB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxufVxyXG4uZm9ybS1jb250YWluZXJ7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCggYXV0by1maWxsLCBtaW5tYXgoMjRyZW0sIDFmcikpO1xyXG4gICAgZ3JpZC1nYXA6IDFyZW07XHJcbn1cclxuXHJcbi5zaW1wbGUtY29udGFpbmVye1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogMCAycmVtO1xyXG4gICAgbWF4LXdpZHRoOiA3NjhweDtcclxuICAgIG1hcmdpbjogMnJlbSBhdXRvO1xyXG59XHJcblxyXG4uYXBwLWNvbnRhaW5lcntcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHBhZGRpbmc6IDAgMnJlbTtcclxuICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG4gICAgbWFyZ2luOiAycmVtIGF1dG87XHJcbn1cclxuXHJcbi5idG57XHJcbiAgICBtYXgtd2lkdGg6IDE1cmVtO1xyXG59XHJcblxyXG4uc3Bpbm5lci1jb250YWluZXJ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgb3BhY2l0eTogMC40O1xyXG4gICAgei1pbmRleDogMTA2MDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG59XHJcblxyXG4udHJ1bmNhdGUge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLmN1c3RvbS1kaWFsb2ctY29udGFpbmVyIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMnJlbSk7XHJcbn1cclxuXHJcbi8vUGFyYSBxdWUgb2N1bHRhciBlbCBtZW5zYWplIGFsIHN1YmlyIGEgcHJvZCBkZWwgcmljaHRleHRcclxuXHJcbiNmcm9hbGEtbGljZW5zZS1ub25lID4gZGl2ID4gZGl2LmZyLXdyYXBwZXIuc2hvdy1wbGFjZWhvbGRlciA+IGRpdjpudGgtY2hpbGQoMSkgPiBhLFxyXG4jZnJvYWxhLWxpY2Vuc2Utbm9uZSA+IGRpdiA+IGRpdi5mci13cmFwcGVyID4gZGl2Om50aC1jaGlsZCgxKSA+IGF7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNmcm9hbGEtbGljZW5zZS1ub25lIC5zZWNvbmQtdG9vbGJhcntcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuI2Zyb2FsYS1saWNlbnNlLW5vbmUgLmRhcmstdGhlbWUuZnItYm94LmZyLWJhc2ljIC5mci13cmFwcGVye1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2NjY2NjYyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vL2VzdGlsb3MgcGFyYSBlbCBsb2dpblxyXG4ubG9naW4tZm9ybS1jb250YWluZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLCAubG9naW4tZm9ybS1jb250YWluZXIgLm1hdC1lcnJvcntcclxuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtdHJlZS1ub2RlOmhvdmVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTllMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWVudS1pdGVtLWxvZ291dHtcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4ubWVudS1pdGVtLWxvZ291dDpob3ZlcntcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGE5ZTAgIWltcG9ydGFudDtcclxufVxyXG4ubWF0LW1lbnUtcGFuZWwtY3VzdG9te1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbi5tYXQtZHJhd2VyLWNvbnRhaW5lcntcclxuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy9Fc3RpbG9zIHBhcmEgZWwgc2lkZW5hdlxyXG4ubWF0LWRyYXdlcntcclxuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXQtZHJhd2VyLC5tYXQtdHJlZSwubWF0LXRyZWUtbm9kZXtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM4RDk2QkYgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjRkZGRkZGO1xyXG59XHJcblxyXG5cclxuLy9Fc3RpbG9zIHBhcmEgZWwgc2Nyb2xsXHJcblxyXG4vKiB3aWR0aCAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIHdpZHRoOiAwcHg7XHJcbn1cclxuXHJcbi8qIFRyYWNrICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuXHJcbi8qIEhhbmRsZSAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcbi8qIEhhbmRsZSBvbiBob3ZlciAqL1xyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNkMmQyZDI7XHJcbn1cclxuXHJcbi5hcHAtY29udGFpbmVyLXRhYntcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXQtY2FyZHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4uY2hpcHNUZXh0IC5tYXQtY2hpcC1saXN0LXdyYXBwZXJ7XHJcbiAgICBtYXJnaW46IDRweCAhaW1wb3J0YW50O1xyXG59XHJcbi5jaGlwc1RleHQgLm1hdC1zdGFuZGFyZC1jaGlwe1xyXG4gICAgbWluLWhlaWdodDogMjVweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxMiBweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudFxyXG59XHJcblxyXG4uc3dhbDItcG9wdXB7XHJcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3dhbDItc3R5bGVkLnN3YWwyLWNvbmZpcm0ge1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcclxuICBwYWRkaW5nOiAxNXB4IDI3cHggMTVweCAyN3B4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xyXG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgIWltcG9ydGFudDtcclxuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcclxuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN3YWwyLXN0eWxlZC5zd2FsMi1jb25maXJtOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjMDAwMDAwICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3dhbDItc3R5bGVkOmZvY3Vze1xyXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiQGltcG9ydCBcIn5AYW5ndWxhci9tYXRlcmlhbC9wcmVidWlsdC10aGVtZXMvaW5kaWdvLXBpbmsuY3NzXCI7XG5AaW1wb3J0ICd+QGZ1bGxjYWxlbmRhci9jb3JlL21haW4uY3NzJztcbkBpbXBvcnQgJ35AZnVsbGNhbGVuZGFyL2RheWdyaWQvbWFpbi5jc3MnO1xuLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnctMTAwIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi53LTkwIHtcbiAgd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xufVxuLnctODAge1xuICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG59XG4udy03MCB7XG4gIHdpZHRoOiA3MCUgIWltcG9ydGFudDtcbn1cbi53LTUwIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ubXQtMSB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbn1cbi5tdC0yIHtcbiAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50O1xufVxuLm10LTMge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG59XG4ubXQtNCB7XG4gIG1hcmdpbi10b3A6IDRyZW0gIWltcG9ydGFudDtcbn1cbi5tdC01IHtcbiAgbWFyZ2luLXRvcDogNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZC1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uZC1ub25lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmQtZmxleCB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbn1cblxuLnotZWxldmF0aW9uLTEge1xuICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5lcnJvci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmVycm9yLWNvbnRhaW5lciAuc2VydmVyLWVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgY29sb3I6ICNmMmYyZjI7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW5TYW5zXCI7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgbWFyZ2luOiAwIDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbn1cbi5lcnJvci1jb250YWluZXIgLmFycm93LXVwLWdhZGdldCB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiAwLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMC41cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwLjhyZW0gc29saWQgI2Y0NDMzNjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubWF0LWZvcm0tZmllbGQubm8tcGFkZGluZyAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5tYXQtZm9ybS1maWVsZC5uby1wYWRkaW5nIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gIHBhZGRpbmc6IDAuNHJlbSAwO1xufVxuXG4jcHJvZ3JhbUdlbmVyYWxJbmZvcm1hdGlvbiAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgaW5wdXRbbWF0SW5wdXRdLCAjcHJvZ3JhbUdlbmVyYWxJbmZvcm1hdGlvbiAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgdGV4dGFyZWFbbWF0SW5wdXRdLCAjcHJvZ3JhbUdlbmVyYWxJbmZvcm1hdGlvbiAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1zZWxlY3QtdmFsdWUge1xuICBjb2xvcjogZGFya3NsYXRlZ3JleTtcbn1cbiNwcm9ncmFtR2VuZXJhbEluZm9ybWF0aW9uIC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgaGVpZ2h0OiAwO1xufVxuI3Byb2dyYW1HZW5lcmFsSW5mb3JtYXRpb24gLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uZm9ybS1jb250YWluZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNHJlbSwgMWZyKSk7XG4gIGdyaWQtZ2FwOiAxcmVtO1xufVxuXG4uc2ltcGxlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwIDJyZW07XG4gIG1heC13aWR0aDogNzY4cHg7XG4gIG1hcmdpbjogMnJlbSBhdXRvO1xufVxuXG4uYXBwLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwIDJyZW07XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDJyZW0gYXV0bztcbn1cblxuLmJ0biB7XG4gIG1heC13aWR0aDogMTVyZW07XG59XG5cbi5zcGlubmVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgb3BhY2l0eTogMC40O1xuICB6LWluZGV4OiAxMDYwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cblxuLnRydW5jYXRlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5jdXN0b20tZGlhbG9nLWNvbnRhaW5lciAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMnJlbSk7XG59XG5cbiNmcm9hbGEtbGljZW5zZS1ub25lID4gZGl2ID4gZGl2LmZyLXdyYXBwZXIuc2hvdy1wbGFjZWhvbGRlciA+IGRpdjpudGgtY2hpbGQoMSkgPiBhLFxuI2Zyb2FsYS1saWNlbnNlLW5vbmUgPiBkaXYgPiBkaXYuZnItd3JhcHBlciA+IGRpdjpudGgtY2hpbGQoMSkgPiBhIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4jZnJvYWxhLWxpY2Vuc2Utbm9uZSAuc2Vjb25kLXRvb2xiYXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbiNmcm9hbGEtbGljZW5zZS1ub25lIC5kYXJrLXRoZW1lLmZyLWJveC5mci1iYXNpYyAuZnItd3JhcHBlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNjY2NjY2MgIWltcG9ydGFudDtcbn1cblxuLmxvZ2luLWZvcm0tY29udGFpbmVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwgLmxvZ2luLWZvcm0tY29udGFpbmVyIC5tYXQtZXJyb3Ige1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4ubWF0LXRyZWUtY29udGFpbmVyIC5tYXQtdHJlZS1ub2RlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTllMCAhaW1wb3J0YW50O1xufVxuXG4ubWVudS1pdGVtLWxvZ291dCB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1lbnUtaXRlbS1sb2dvdXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhOWUwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtbWVudS1wYW5lbC1jdXN0b20ge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtZHJhd2VyLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1hdC1kcmF3ZXIge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbn1cblxuLm1hdC1kcmF3ZXIsIC5tYXQtdHJlZSwgLm1hdC10cmVlLW5vZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEQ5NkJGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4vKiB3aWR0aCAqL1xuOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiAwcHg7XG59XG5cbi8qIFRyYWNrICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLyogSGFuZGxlICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLyogSGFuZGxlIG9uIGhvdmVyICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2QyZDJkMjtcbn1cblxuLmFwcC1jb250YWluZXItdGFiIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLm1hdC1jYXJkIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY2hpcHNUZXh0IC5tYXQtY2hpcC1saXN0LXdyYXBwZXIge1xuICBtYXJnaW46IDRweCAhaW1wb3J0YW50O1xufVxuXG4uY2hpcHNUZXh0IC5tYXQtc3RhbmRhcmQtY2hpcCB7XG4gIG1pbi1oZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxMiBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcbn1cblxuLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuLnN3YWwyLXBvcHVwIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuXG4uc3dhbDItc3R5bGVkLnN3YWwyLWNvbmZpcm0ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDE1cHggMjdweCAxNXB4IDI3cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5zd2FsMi1zdHlsZWQuc3dhbDItY29uZmlybTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDAwMCAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuXG4uc3dhbDItc3R5bGVkOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qXG46aG9zdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxNTAlO1xufVxuLmFwcC1jb250YWluZXJ7XG4gICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICAgIC5jYXJkLWNvbnRlbnR7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC5sb2dpbi1idG57XG4gICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMC40cmVtIDA7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIC5mb3ItcGFzc3tcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgLmxvY2staWNvbntcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHNtYWxsO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3ItbGFiZWx7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiRncmV5O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnT3BlblNhbnMnO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14c21hbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJ0bi1jb250e1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDAuM3JlbSAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXhzbWFsbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgICAgICAgICAuYnRuLWxvZ28tZ29ve1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvb3Rlci10ZXh0e1xuICAgICAgICAgICAgbWFyZ2luOiAwLjNyZW0gMDtcbiAgICAgICAgICAgIGNvbG9yOiBncmV5O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdPcGVuU2Fucyc7XG4gICAgICAgICAgICBmb250LXNpemU6JGZvbnQtc2l6ZS14c21hbGw7XG4gICAgICAgICAgICAuc2lnbmxpbmt7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAgJGJsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2lnbmxpbms6aG92ZXJ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiAgKi9cbi5tYXQtY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEE5ZTA7XG4gIHBhZGRpbmc6IDJyZW07XG59XG5cbi5tYXQtY2FyZCBhdXRvbWF0aWMtZm9ybXMsIC5hcHAtY29udGFpbmVyIGF1dG9tYXRpYy1mb3JtcyB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLm1hdC1jYXJkLCAuYXBwLWNvbnRhaW5lciwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1sYWJlbCwgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5IHtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5IHtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLm1hdC1jYXJkLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmFwcC1jb250YWluZXIge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ubG9naW4tYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDA2NiAhaW1wb3J0YW50O1xufVxuXG4ubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnlbZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKSAhaW1wb3J0YW50O1xufVxuXG4uZm9yLXBhc3Mge1xuICBtYXJnaW46IDAuNWVtIDA7XG59IiwiQGltcG9ydCAnLi4vLi4vLi4vc3R5bGVzLnNjc3MnO1xyXG4vKlxyXG46aG9zdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHdpZHRoOiAxNTAlO1xyXG59XHJcbi5hcHAtY29udGFpbmVye1xyXG4gICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xyXG4gICAgLmNhcmQtY29udGVudHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgLmxvZ2luLWJ0bntcclxuICAgICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMC40cmVtIDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3ItcGFzc3tcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC5sb2NrLWljb257XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHNtYWxsO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmV5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5mb3ItbGFiZWx7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjokZ3JleTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnT3BlblNhbnMnO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXhzbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYnRuLWNvbnR7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAuM3JlbSAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHNtYWxsO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgICAgICAgICAuYnRuLWxvZ28tZ29ve1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEuMnJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9vdGVyLXRleHR7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMC4zcmVtIDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiBncmV5O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ09wZW5TYW5zJztcclxuICAgICAgICAgICAgZm9udC1zaXplOiRmb250LXNpemUteHNtYWxsO1xyXG4gICAgICAgICAgICAuc2lnbmxpbmt7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogICRibHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zaWdubGluazpob3ZlcntcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4gICovXHJcblxyXG4gIC5tYXQtY2FyZHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQTllMDtcclxuICAgICAgcGFkZGluZzogMnJlbTtcclxuICB9XHJcbiAgLm1hdC1jYXJkIGF1dG9tYXRpYy1mb3JtcywgLmFwcC1jb250YWluZXIgYXV0b21hdGljLWZvcm1ze1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5tYXQtY2FyZCwgLmFwcC1jb250YWluZXIsIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5e1xyXG4gICAgICBjb2xvcjojRkZGRkZGICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeXtcclxuICAgIGNvbG9yOiNGRkZGRkYgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5tYXQtY2FyZC1jb250ZW50e1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgfVxyXG5cclxuICAuYXBwLWNvbnRhaW5lcntcclxuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5sb2dpbi1idG57XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDY2ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeVtkaXNhYmxlZF17XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4xMikgIWltcG9ydGFudDtcclxuICB9XHJcbi5mb3ItcGFzc3tcclxuICAgIG1hcmdpbjogMC41ZW0gMDtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\n\r\nimport { SpecialFormGroup } from '@utilities/SpecialForms';\r\nimport { fieldDataToArray, SpecialFormGenerator } from '@utilities/SpecialFormGenerator';\r\nimport { loginForm } from './login-form.form';\r\n\r\n@Component({\r\n selector: 'login-form',\r\n templateUrl: './login-form.component.html',\r\n styleUrls: ['./login-form.component.scss']\r\n})\r\nexport class LoginFormComponent implements OnInit {\r\n @Output('sendCredentials') sendCredentials: EventEmitter = new EventEmitter();\r\n @Output('forgotPass') forgotPass: EventEmitter = new EventEmitter();\r\n @Output('googleLog') googleLog: EventEmitter = new EventEmitter();\r\n @Output('goSignUp') goSignUp: EventEmitter = new EventEmitter();\r\n\r\n @Input('serverError') serverError: null | string;\r\n @Input('credentialsInput') credentialsInput: null | any;\r\n\r\n form: SpecialFormGroup;\r\n formFields=[];\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n if(this.credentialsInput){\r\n this.form.reset({\r\n email: this.credentialsInput.email,\r\n password: this.credentialsInput.password\r\n })\r\n }\r\n }\r\n\r\n submit() {\r\n\r\n }\r\n\r\n createForm() {\r\n this.formFields = fieldDataToArray(loginForm());\r\n this.form = SpecialFormGenerator(this.formFields);\r\n }\r\n\r\n sendAuthCredentials() {\r\n this.sendCredentials.emit(this.form.value);\r\n }\r\n enterKeyLogin(e){\r\n let status = this.form.status;\r\n if(status=='VALID'){\r\n this.sendCredentials.emit(this.form.value);\r\n }\r\n }\r\n}\r\n","import { controlTypes } from '@utilities/SpecialForms';\r\nimport { Validators } from '@angular/forms';\r\n\r\nexport const loginForm = () => Object.assign({\r\n email: {\r\n label: \"Usuario\",\r\n required:true,\r\n /* tooltip:'This is a hint', */\r\n validations:[Validators.email],\r\n type: controlTypes.text,\r\n data: ['email'],\r\n },\r\n password: {\r\n label: \"Contraseña\",\r\n type: controlTypes.text,\r\n length:30,\r\n required:true,\r\n data:['password']\r\n },\r\n });","module.exports = \".alert-body {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n height: 250px;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n flex-direction: column;\\n width: 100%;\\n}\\n\\n.button-container {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n align-items: center;\\n width: 100%;\\n}\\n\\n.button-container button {\\n margin: 0 8px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL25vdGlmaWNhdGlvbi1kaWFsb2cvRDpcXEZpcm1hc0RpZ2l0YWxlc0Zyb250L3NyY1xcYXBwXFxzaGFyZWRcXG5vdGlmaWNhdGlvbi1kaWFsb2dcXG5vdGlmaWNhdGlvbi1kaWFsb2cuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9ub3RpZmljYXRpb24tZGlhbG9nL25vdGlmaWNhdGlvbi1kaWFsb2cuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx3QkFBQTtVQUFBLHVCQUFBO0VBQ0EseUJBQUE7VUFBQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO1VBQUEsc0JBQUE7RUFDQSxXQUFBO0FDQ0o7O0FEQ0E7RUFDSSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx3QkFBQTtVQUFBLHVCQUFBO0VBQ0EseUJBQUE7VUFBQSxtQkFBQTtFQUNBLFdBQUE7QUNFSjs7QURESTtFQUNJLGFBQUE7QUNHUiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9ub3RpZmljYXRpb24tZGlhbG9nL25vdGlmaWNhdGlvbi1kaWFsb2cuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYWxlcnQtYm9keXtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDI1MHB4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcbi5idXR0b24tY29udGFpbmVye1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYnV0dG9ue1xyXG4gICAgICAgIG1hcmdpbjogMCA4cHg7XHJcbiAgICB9XHJcbn0iLCIuYWxlcnQtYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDI1MHB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xuICBtYXJnaW46IDAgOHB4O1xufSJdfQ== */\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'notification-dialog',\r\n templateUrl: './notification-dialog.component.html',\r\n styleUrls: ['./notification-dialog.component.scss']\r\n})\r\nexport class NotificationDialogComponent implements OnInit {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {}\r\n\r\n\r\n accept(){\r\n this.dialogRef.close(true);\r\n }\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { CustomMaterialModule } from \"@root/custom-material/custom-material.module\";\r\nimport { PipesModule } from \"@root/core/pipes/pipes-module.module\";\r\nimport { components } from \".\";\r\nimport { DeleteDialogComponent } from \"./delete-dialog/delete-dialog.component\";\r\nimport { ConfirmationDialogComponent } from \"./confirmation-dialog/confirmation-dialog.component\";\r\nimport { NotificationDialogComponent } from \"./notification-dialog/notification-dialog.component\";\r\nimport { FullCalendarModule } from \"@fullcalendar/angular\";\r\nimport { NgxMatSelectSearchModule } from \"ngx-mat-select-search\";\r\nimport \"froala-editor/js/plugins.pkgd.min.js\";\r\nimport { ControlFormsService } from \"@services/control-forms.service\";\r\nimport { FilesDialogComponent } from \"./files-dialog/files-dialog.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n RouterModule,\r\n CustomMaterialModule,\r\n PipesModule,\r\n FullCalendarModule,\r\n NgxMatSelectSearchModule,\r\n ],\r\n declarations: [...components],\r\n exports: [\r\n ReactiveFormsModule,\r\n FormsModule,\r\n RouterModule,\r\n ...components,\r\n CustomMaterialModule,\r\n ],\r\n providers: [ControlFormsService],\r\n entryComponents: [\r\n DeleteDialogComponent,\r\n ConfirmationDialogComponent,\r\n NotificationDialogComponent,\r\n FilesDialogComponent,\r\n ],\r\n})\r\nexport class SharedModule {}\r\n","export const environment = {\r\n text:'ESTOY EN EAFIT PROD',\r\n BASE_REF: \"/certificadosconsulta\",\r\n\r\n apiUrl: 'https://app.eafit.edu.co/certificadosconsulta/apifirmasdigitales/api/',\r\n graphApiToken: \"https://app.eafit.edu.co/certificadosconsulta/apifirmasdigitales/api/Graph/GetAccessToken\",\r\n graphApiUrl: \"https://graph.microsoft.com/v1.0/\",\r\n graphApiURL: \"https://graph.microsoft.com\",\r\n\r\n APPLICATION_ID: \"c7123090-f73e-4a74-8de7-35095b033337\",\r\n INSTRUMENTATION_KEY: \"2d37e3b3-dec2-4480-b9f5-289059c064ee\",\r\n\r\n msalConfigAuth: {\r\n clientId: \"c7123090-f73e-4a74-8de7-35095b033337\",\r\n redirectUri: \"https://app.eafit.edu.co/certificadosconsulta/auth/login\",\r\n redirectUrl: \"#/home/dashboard\",\r\n },\r\n\r\n redirectUrlPortalEafit: \"https://app.eafit.edu.co/certificadosconsulta/\",\r\n\r\n //Variables de entorno política de reintentos predeterminada\r\n MAX_RETRY_ERRORS: 3,\r\n ERROR_DELAY: 1000,\r\n EXCLUDED_STATUS_CODE: [],\r\n\r\n // Variables de la política de errores\r\n\r\n DEBUG_LOG: true,\r\n production: true,\r\n ROLE_NAME_ADMINISTRATION: \"Administración\",\r\n ROLE_CONFIGURATION: \"Configuración\"\r\n};\r\n","export const environment = {\r\n text:'ESTOY EN AMBIENTE LOCAL',\r\n BASE_REF: \"/certificadosconsulta\",\r\n\r\n //apiUrl: 'https://firmasdigitalesqa.spapps.eafit.edu.co/certificadosconsulta/apifirmasdigitales/api/', //EAFITQA\r\n apiUrl: 'https://app.eafit.edu.co/certificadosconsulta/apifirmasdigitales/api/', //EAFITPDN\r\n\r\n //graphApiToken: \"https://firmasdigitalesqa.spapps.eafit.edu.co/certificadosconsulta/apifirmasdigitales/api/Graph/GetAccessToken\",//EAFITQA\r\n graphApiToken: \"https://app.eafit.edu.co/certificadosconsulta/apifirmasdigitales/api/Graph/GetAccessToken\",//EAFITPDN\r\n\r\n graphApiUrl: \"https://graph.microsoft.com/v1.0/\",\r\n graphApiURL: \"https://graph.microsoft.com\",\r\n\r\n //APPLICATION_ID: \"36b9f54f-cf5f-4326-a70d-cfbe88c56d3a\", //EAFITQA\r\n APPLICATION_ID: \"c7123090-f73e-4a74-8de7-35095b033337\", //EAFITPDN\r\n\r\n //INSTRUMENTATION_KEY: \"12af5a05-c7d6-4982-8a6e-91740932cb7a\", //EAFITQA\r\n INSTRUMENTATION_KEY: \"2d37e3b3-dec2-4480-b9f5-289059c064ee\", //EAFITPDN\r\n\r\n msalConfigAuth: {\r\n //clientId: \"36b9f54f-cf5f-4326-a70d-cfbe88c56d3a\",//EAFITQA\r\n clientId: \"c7123090-f73e-4a74-8de7-35095b033337\",//EAFITPDN\r\n //redirectUri: \"http://localhost:4200/auth/login\", //LOCAL\r\n //redirectUri: \"https://firmasdigitalesqa.spapps.eafit.edu.co/certificadosconsulta/auth/login\", //EAFITQA\r\n redirectUri: \"https://app.eafit.edu.co/certificadosconsulta/auth/login\", //EAFITPDN\r\n redirectUrl: \"#/home/dashboard\",\r\n },\r\n\r\n redirectUrlPortalEafit: \"https://wallet.xertify.co/search-eafit/\",\r\n\r\n //Variables de entorno política de reintentos predeterminada\r\n MAX_RETRY_ERRORS: 3,\r\n ERROR_DELAY: 1000,\r\n EXCLUDED_STATUS_CODE: [],\r\n\r\n // Variables de la política de errores\r\n\r\n DEBUG_LOG: true,\r\n production: false,\r\n ROLE_NAME_ADMINISTRATION: \"Administración\",\r\n ROLE_CONFIGURATION: \"Configuración\",\r\n ID_ROLE_CUSTOMER: 21\r\n};\r\n","import 'hammerjs';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment.prod';\r\n\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n if(window){\r\n window.console.log=function(){};\r\n }\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}