@dsivd/prestations-ng 17.0.0-beta.2 → 17.0.0-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +80 -0
- package/ESLINT_MIGRATION_GUIDE.md +2 -1
- package/UPGRADING_V17.md +385 -38
- package/dsivd-prestations-ng-17.0.0-beta.20.tgz +0 -0
- package/esm2022/abstract-page-component.mjs +10 -6
- package/esm2022/directives/currency-formatter.directive.mjs +4 -4
- package/esm2022/directives/formatter.module.mjs +5 -5
- package/esm2022/directives/iban-formatter.directive.mjs +4 -4
- package/esm2022/directives/ide-formatter.directive.mjs +4 -4
- package/esm2022/directives/ndc-formatter.directive.mjs +4 -4
- package/esm2022/foehn-address/foehn-address.module.mjs +5 -5
- package/esm2022/foehn-address/foehn-display-address.component.mjs +4 -4
- package/esm2022/foehn-address/foehn-input-address.component.mjs +9 -5
- package/esm2022/foehn-address/foehn-input-foreign-locality.component.mjs +4 -4
- package/esm2022/foehn-address/foehn-input-foreign-street.component.mjs +6 -7
- package/esm2022/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.mjs +5 -5
- package/esm2022/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.mjs +6 -6
- package/esm2022/foehn-agenda/foehn-agenda.component.mjs +4 -4
- package/esm2022/foehn-agenda/foehn-agenda.module.mjs +5 -5
- package/esm2022/foehn-autocomplete/foehn-autocomplete.component.mjs +4 -4
- package/esm2022/foehn-autocomplete/foehn-autocomplete.module.mjs +5 -5
- package/esm2022/foehn-boolean/foehn-boolean-checkbox.component.mjs +4 -4
- package/esm2022/foehn-boolean/foehn-boolean-radio.component.mjs +4 -4
- package/esm2022/foehn-boolean/foehn-boolean.module.mjs +5 -5
- package/esm2022/foehn-breadcrumb/breadcrumb-event.service.mjs +24 -17
- package/esm2022/foehn-breadcrumb/foehn-breadcrumb.component.mjs +4 -4
- package/esm2022/foehn-breadcrumb/foehn-breadcrumb.module.mjs +5 -5
- package/esm2022/foehn-checkables/foehn-checkable-group.component.mjs +36 -34
- package/esm2022/foehn-checkables/foehn-checkables.module.mjs +5 -5
- package/esm2022/foehn-checkables/foehn-checkbox.component.mjs +4 -4
- package/esm2022/foehn-checkables/foehn-radio.component.mjs +4 -4
- package/esm2022/foehn-checkables/foehn-select.component.mjs +4 -4
- package/esm2022/foehn-confirm-modal/foehn-confirm-modal.component.mjs +5 -5
- package/esm2022/foehn-confirm-modal/foehn-confirm-modal.module.mjs +5 -5
- package/esm2022/foehn-confirm-modal/foehn-confirm-modal.service.mjs +4 -4
- package/esm2022/foehn-date-picker/foehn-date-picker.component.mjs +5 -5
- package/esm2022/foehn-date-picker/foehn-date-picker.module.mjs +5 -5
- package/esm2022/foehn-date-picker-button/foehn-date-picker-button.component.mjs +4 -4
- package/esm2022/foehn-date-picker-button/foehn-date-picker-button.module.mjs +5 -5
- package/esm2022/foehn-debug-summary/foehn-debug-summary.component.mjs +4 -4
- package/esm2022/foehn-debug-summary/foehn-debug-summary.component.module.mjs +5 -5
- package/esm2022/foehn-decision-electronique/foehn-decision-electronique.component.mjs +4 -4
- package/esm2022/foehn-decision-electronique/foehn-decision-electronique.module.mjs +5 -5
- package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.component.mjs +5 -5
- package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.module.mjs +5 -5
- package/esm2022/foehn-feedback-notification/foehn-feedback-notification.component.mjs +90 -0
- package/esm2022/foehn-feedback-notification/foehn-feedback-notification.module.mjs +32 -0
- package/esm2022/foehn-footer/foehn-footer.component.mjs +5 -5
- package/esm2022/foehn-footer/foehn-footer.module.mjs +5 -5
- package/esm2022/foehn-form/foehn-form.component.mjs +4 -4
- package/esm2022/foehn-form/foehn-form.module.mjs +5 -5
- package/esm2022/foehn-form/register-ng-model.service.mjs +4 -4
- package/esm2022/foehn-growl/foehn-growl.component.mjs +4 -4
- package/esm2022/foehn-growl/foehn-growl.module.mjs +5 -5
- package/esm2022/foehn-growl/growl-broker.service.mjs +4 -4
- package/esm2022/foehn-header/foehn-header.component.mjs +4 -4
- package/esm2022/foehn-header/foehn-header.module.mjs +5 -5
- package/esm2022/foehn-header/foehn-skip-link.component.mjs +4 -4
- package/esm2022/foehn-help-modal/foehn-help-modal.component.mjs +5 -5
- package/esm2022/foehn-help-modal/foehn-help-modal.module.mjs +5 -5
- package/esm2022/foehn-icons/abstract-icon-component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-calendar.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-check-square-o.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-check.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-chevron-down.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-chevron-left.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-chevron-right.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-chevron-up.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-clock.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-comment-dots.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-edit.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-external-link-alt.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-file-pdf.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-info-circle.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-lock.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-map-marker.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-minus-circle.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-pencil.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-plus-circle.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-plus-square.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-search.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-times.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-trash-alt.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-unlock-alt.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icon-user.component.mjs +4 -4
- package/esm2022/foehn-icons/foehn-icons.module.mjs +5 -5
- package/esm2022/foehn-input/foehn-input-email.component.mjs +4 -4
- package/esm2022/foehn-input/foehn-input-hidden.component.mjs +4 -4
- package/esm2022/foehn-input/foehn-input-number.component.mjs +4 -4
- package/esm2022/foehn-input/foehn-input-password.component.mjs +4 -4
- package/esm2022/foehn-input/foehn-input-phone.component.mjs +4 -4
- package/esm2022/foehn-input/foehn-input-prefixed-text.component.mjs +4 -4
- package/esm2022/foehn-input/foehn-input-string.component.mjs +4 -4
- package/esm2022/foehn-input/foehn-input-text.component.mjs +4 -4
- package/esm2022/foehn-input/foehn-input-textarea.component.mjs +4 -4
- package/esm2022/foehn-input/foehn-input.component.mjs +4 -4
- package/esm2022/foehn-input/foehn-input.module.mjs +5 -5
- package/esm2022/foehn-input-date/foehn-input-date.component.mjs +4 -4
- package/esm2022/foehn-input-date-time/foehn-input-date-time.component.mjs +4 -4
- package/esm2022/foehn-input-time/foehn-input-time.component.mjs +6 -6
- package/esm2022/foehn-list/foehn-list.component.mjs +5 -5
- package/esm2022/foehn-list/foehn-list.module.mjs +5 -5
- package/esm2022/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +4 -4
- package/esm2022/foehn-menu-prestation/abstract-menu-page.component.mjs +4 -4
- package/esm2022/foehn-menu-prestation/abstract-page-from-menu.component.mjs +4 -4
- package/esm2022/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs +6 -5
- package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +6 -6
- package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +4 -4
- package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +4 -4
- package/esm2022/foehn-menu-prestation/foehn-menu-prestation.module.mjs +5 -5
- package/esm2022/foehn-misc/foehn-abbr.component.mjs +4 -4
- package/esm2022/foehn-misc/foehn-misc.module.mjs +5 -5
- package/esm2022/foehn-modal/foehn-modal.component.mjs +5 -5
- package/esm2022/foehn-modal/foehn-modal.module.mjs +5 -5
- package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +6 -6
- package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.mjs +5 -5
- package/esm2022/foehn-nav13/foehn-input-nav13.component.mjs +4 -4
- package/esm2022/foehn-nav13/foehn-input-nav13.module.mjs +5 -5
- package/esm2022/foehn-navigation/abstract-foehn-navigation.component.mjs +4 -4
- package/esm2022/foehn-navigation/foehn-navigation/foehn-navigation.component.mjs +5 -5
- package/esm2022/foehn-navigation/foehn-navigation.module.mjs +5 -5
- package/esm2022/foehn-navigation/foehn-navigation.service.mjs +4 -4
- package/esm2022/foehn-navigation/foehn-simple-navigation/foehn-simple-navigation.component.mjs +5 -5
- package/esm2022/foehn-notfound/foehn-notfound.component.mjs +4 -4
- package/esm2022/foehn-notfound/foehn-notfound.module.mjs +5 -5
- package/esm2022/foehn-page/foehn-page-counter.component.mjs +4 -4
- package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration-interceptor.mjs +4 -4
- package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration.service.mjs +4 -4
- package/esm2022/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.mjs +4 -4
- package/esm2022/foehn-page/foehn-page-expiration-timer/interval.helper.mjs +2 -2
- package/esm2022/foehn-page/foehn-page-modal.component.mjs +4 -4
- package/esm2022/foehn-page/foehn-page-modal.service.mjs +4 -4
- package/esm2022/foehn-page/foehn-page.component.mjs +5 -5
- package/esm2022/foehn-page/foehn-page.module.mjs +5 -5
- package/esm2022/foehn-page/foehn-page.service.mjs +4 -4
- package/esm2022/foehn-page/foehn-transmit-waiting-modal/demande-transmit-interceptor.mjs +4 -4
- package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.component.mjs +4 -4
- package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.service.mjs +4 -4
- package/esm2022/foehn-recap-section/foehn-recap-section.component.mjs +4 -4
- package/esm2022/foehn-recap-section/foehn-recap-section.module.mjs +5 -5
- package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs +4 -4
- package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs +5 -5
- package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +4 -4
- package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs +5 -5
- package/esm2022/foehn-table/foehn-table.component.mjs +9 -5
- package/esm2022/foehn-table/foehn-table.module.mjs +5 -5
- package/esm2022/foehn-upload/abstract-foehn-uploader.component.mjs +4 -4
- package/esm2022/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +6 -19
- package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +4 -4
- package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +5 -5
- package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +4 -4
- package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs +5 -5
- package/esm2022/foehn-upload/foehn-multi-upload/multi-upload.service.mjs +6 -19
- package/esm2022/foehn-upload/foehn-multi-upload/pending-upload.service.mjs +8 -6
- package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +20 -47
- package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +5 -5
- package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs +4 -4
- package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.mjs +5 -5
- package/esm2022/foehn-upload/foehn-upload-progress-bar/upload-progress.service.mjs +4 -4
- package/esm2022/foehn-upload/page-upload-limit.service.mjs +4 -4
- package/esm2022/foehn-upload/uploader.helper.mjs +5 -13
- package/esm2022/foehn-user-connected-as/foehn-user-connected-as.component.mjs +4 -4
- package/esm2022/foehn-user-connected-as/foehn-user-connected-as.module.mjs +5 -5
- package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs +4 -4
- package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs +5 -5
- package/esm2022/foehn-validation-alerts/foehn-validation-alerts.component.mjs +4 -4
- package/esm2022/foehn-validation-alerts/foehn-validation-alerts.module.mjs +5 -5
- package/esm2022/gesdem/gesdem-error-handler.service.mjs +16 -13
- package/esm2022/gesdem/gesdem-event.service.mjs +4 -4
- package/esm2022/gesdem/gesdem-handler.service.mjs +29 -16
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs +4 -4
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +31 -12
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery.module.mjs +5 -5
- package/esm2022/gesdem-action-recovery/gesdem-action-recovery.service.mjs +4 -4
- package/esm2022/gesdem-confirmation/gesdem-confirmation.component.mjs +20 -15
- package/esm2022/gesdem-confirmation/gesdem-confirmation.module.mjs +12 -8
- package/esm2022/gesdem-error/gesdem-error.component.mjs +8 -6
- package/esm2022/gesdem-error/gesdem-error.module.mjs +5 -5
- package/esm2022/pipes/currency.pipe.mjs +4 -4
- package/esm2022/pipes/date.pipe.mjs +4 -4
- package/esm2022/pipes/formatIde.pipe.mjs +4 -4
- package/esm2022/pipes/pipes.module.mjs +5 -5
- package/esm2022/prestations-ng-core.module.mjs +5 -5
- package/esm2022/public_api.mjs +4 -1
- package/esm2022/sdk-appinfo/application-info.mjs +7 -1
- package/esm2022/sdk-appinfo/application-info.service.mjs +24 -6
- package/esm2022/sdk-currency/currency.helper.mjs +4 -4
- package/esm2022/sdk-date/date.helper.mjs +4 -4
- package/esm2022/sdk-dictionary/default-dictionary.mjs +19 -5
- package/esm2022/sdk-dictionary/sdk-dictionary.module.mjs +5 -5
- package/esm2022/sdk-dictionary/sdk-dictionary.pipe.mjs +4 -4
- package/esm2022/sdk-dictionary/sdk-dictionary.service.mjs +4 -4
- package/esm2022/sdk-drafts/drafts-container.component.mjs +5 -5
- package/esm2022/sdk-drafts/drafts.module.mjs +5 -5
- package/esm2022/sdk-drafts/drafts.service.mjs +4 -4
- package/esm2022/sdk-epayment/sdk-epayment.component.mjs +4 -4
- package/esm2022/sdk-epayment/sdk-epayment.module.mjs +5 -5
- package/esm2022/sdk-epayment/sdk-epayment.service.mjs +4 -4
- package/esm2022/sdk-events-logger/sdk-events-logger.service.mjs +4 -4
- package/esm2022/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs +4 -4
- package/esm2022/sdk-recaptcha/recaptcha.service.mjs +8 -16
- package/esm2022/sdk-recaptcha/sdk-recaptcha.component.mjs +4 -4
- package/esm2022/sdk-recaptcha/sdk-recaptcha.module.mjs +5 -5
- package/esm2022/sdk-redirect/iam-expired-interceptor.service.mjs +12 -11
- package/esm2022/sdk-redirect/redirect.component.mjs +32 -17
- package/esm2022/sdk-redirect/sdk-redirect.module.mjs +5 -5
- package/esm2022/sdk-session-info/session-info-with-application.service.mjs +4 -4
- package/esm2022/sdk-session-info/session-info.service.mjs +4 -4
- package/esm2022/sdk-statistics/sdk-statistics.service.mjs +4 -4
- package/esm2022/sdk-support-alert/support-alert-container.component.mjs +5 -5
- package/esm2022/sdk-support-alert/support-alert.component.mjs +12 -14
- package/esm2022/sdk-support-alert/support-alert.module.mjs +5 -5
- package/esm2022/sdk-support-alert/support-alert.service.mjs +4 -4
- package/esm2022/supported-browser.mjs +2 -2
- package/esm2022/validation/validation-handler.service.mjs +4 -4
- package/fesm2022/dsivd-prestations-ng.mjs +1304 -1153
- package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
- package/foehn-address/foehn-input-address.component.d.ts +2 -1
- package/foehn-breadcrumb/breadcrumb-event.service.d.ts +3 -1
- package/foehn-checkables/foehn-checkable-group.component.d.ts +2 -1
- package/foehn-feedback-notification/foehn-feedback-notification.component.d.ts +30 -0
- package/foehn-feedback-notification/foehn-feedback-notification.module.d.ts +11 -0
- package/foehn-table/foehn-table.component.d.ts +3 -1
- package/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.d.ts +1 -4
- package/foehn-upload/foehn-multi-upload/multi-upload.service.d.ts +1 -4
- package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +2 -4
- package/gesdem/gesdem-error-handler.service.d.ts +1 -0
- package/gesdem/gesdem-handler.service.d.ts +2 -2
- package/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.d.ts +3 -1
- package/gesdem-confirmation/gesdem-confirmation.component.d.ts +2 -0
- package/gesdem-confirmation/gesdem-confirmation.module.d.ts +2 -1
- package/gesdem-error/gesdem-error.component.d.ts +1 -0
- package/package.json +1 -1
- package/public_api.d.ts +2 -0
- package/schematics/utility/foehn2-bootstrap5-migration.js +19 -2
- package/sdk-appinfo/application-info.d.ts +4 -2
- package/sdk-recaptcha/recaptcha.service.d.ts +1 -3
- package/sdk-redirect/redirect.component.d.ts +4 -2
- package/dsivd-prestations-ng-17.0.0-beta.2.tgz +0 -0
|
@@ -1,47 +1,20 @@
|
|
|
1
1
|
import { Component, forwardRef, Input } from '@angular/core';
|
|
2
|
-
import * as buffer from 'buffer';
|
|
3
2
|
import { distinctUntilChanged, filter } from 'rxjs/operators';
|
|
4
3
|
import { FoehnInputComponent } from '../../foehn-input/foehn-input.component';
|
|
5
4
|
import { MultiUploadService } from '../../foehn-upload/foehn-multi-upload/multi-upload.service';
|
|
6
5
|
import { UploadProgressService } from '../foehn-upload-progress-bar/upload-progress.service';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../foehn-
|
|
9
|
-
import * as i2 from "../../
|
|
10
|
-
import * as i3 from "
|
|
11
|
-
import * as i4 from "
|
|
12
|
-
import * as i5 from "
|
|
13
|
-
import * as i6 from "
|
|
14
|
-
import * as i7 from "
|
|
15
|
-
import * as i8 from "
|
|
16
|
-
import * as i9 from "../../sdk-dictionary/sdk-dictionary.pipe";
|
|
17
|
-
const blobToFile = (blobData, fileName) => {
|
|
18
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
|
-
const blob = blobData;
|
|
20
|
-
blob.name = fileName;
|
|
21
|
-
return blob;
|
|
22
|
-
};
|
|
23
|
-
const convertBase64UrlToFile = (croppedImageasBase64Url, filename) => {
|
|
24
|
-
const arr = croppedImageasBase64Url.split(',');
|
|
25
|
-
const mime = arr[0].match(/:(.*?);/)[1];
|
|
26
|
-
const bstr = buffer.Buffer.from(arr[1], 'base64').toString('binary');
|
|
27
|
-
let n = bstr.length;
|
|
28
|
-
const u8arr = new Uint8Array(n);
|
|
29
|
-
while (n--) {
|
|
30
|
-
u8arr[n] = bstr.charCodeAt(n);
|
|
31
|
-
}
|
|
32
|
-
if (!navigator.userAgent.includes('Edge')) {
|
|
33
|
-
// detect if not Edge
|
|
34
|
-
return new File([u8arr], filename, { type: mime });
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
// Edge support the FileAPI but not the File constructor.
|
|
38
|
-
return blobToFile(new Blob([u8arr], { type: mime }), filename);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
7
|
+
import * as i1 from "../../foehn-upload/foehn-multi-upload/multi-upload.service";
|
|
8
|
+
import * as i2 from "../../sdk-dictionary/sdk-dictionary.service";
|
|
9
|
+
import * as i3 from "@angular/common";
|
|
10
|
+
import * as i4 from "../../foehn-validation-alerts/foehn-validation-alerts.component";
|
|
11
|
+
import * as i5 from "@angular/forms";
|
|
12
|
+
import * as i6 from "ngx-image-cropper";
|
|
13
|
+
import * as i7 from "../foehn-upload-progress-bar/foehn-upload-progress-bar.component";
|
|
14
|
+
import * as i8 from "../../sdk-dictionary/sdk-dictionary.pipe";
|
|
41
15
|
export class FoehnPictureUploadComponent extends FoehnInputComponent {
|
|
42
|
-
constructor(
|
|
16
|
+
constructor(uploadService, dictionaryService) {
|
|
43
17
|
super();
|
|
44
|
-
this.growlService = growlService;
|
|
45
18
|
this.uploadService = uploadService;
|
|
46
19
|
this.dictionaryService = dictionaryService;
|
|
47
20
|
this.baseUrl = 'api/document';
|
|
@@ -103,16 +76,16 @@ export class FoehnPictureUploadComponent extends FoehnInputComponent {
|
|
|
103
76
|
this.resetPictureSelection();
|
|
104
77
|
}
|
|
105
78
|
onImageCropped(croppedEvent) {
|
|
106
|
-
this.
|
|
79
|
+
this.croppedPictureAsBlob = croppedEvent.blob;
|
|
107
80
|
}
|
|
108
81
|
resetPictureSelection() {
|
|
109
|
-
this.
|
|
82
|
+
this.croppedPictureAsBlob = null;
|
|
110
83
|
this.pictureToCrop = null;
|
|
111
84
|
this.loading = false;
|
|
112
85
|
}
|
|
113
86
|
savePicture() {
|
|
114
87
|
this.markAsPristine();
|
|
115
|
-
const photo =
|
|
88
|
+
const photo = new File([this.croppedPictureAsBlob], this.croppedPictureFilename);
|
|
116
89
|
this.uploadService
|
|
117
90
|
.uploadDocuments(this.baseUrl, this.name, this.label, [photo], this.key, false, this.currentLanguage, this.shouldDisplayFileSavedConfirmation)
|
|
118
91
|
.pipe(filter(result => !!result))
|
|
@@ -145,7 +118,7 @@ export class FoehnPictureUploadComponent extends FoehnInputComponent {
|
|
|
145
118
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
146
119
|
refreshErrors(results) {
|
|
147
120
|
const errors = results[0];
|
|
148
|
-
const isInSelectionMode = !this.hasPicture && !!this.
|
|
121
|
+
const isInSelectionMode = !this.hasPicture && !!this.croppedPictureAsBlob;
|
|
149
122
|
if (isInSelectionMode) {
|
|
150
123
|
const notNullError = errors.find(e => e.name === this.name && e.code === 'NotEmpty');
|
|
151
124
|
if (notNullError) {
|
|
@@ -161,8 +134,8 @@ export class FoehnPictureUploadComponent extends FoehnInputComponent {
|
|
|
161
134
|
const fileExtension = `.${filename.split('.').pop()}`.toLowerCase();
|
|
162
135
|
return acceptedFormats.includes(fileExtension);
|
|
163
136
|
}
|
|
164
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
165
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
137
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnPictureUploadComponent, deps: [{ token: i1.MultiUploadService }, { token: i2.SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
138
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: FoehnPictureUploadComponent, selector: "foehn-picture-upload", inputs: { name: "name", key: "key", label: "label", baseUrl: "baseUrl", croppedPictureFilename: "croppedPictureFilename", resizeToWidth: "resizeToWidth", resizeToHeight: "resizeToHeight", shouldDisplayFileSavedConfirmation: "shouldDisplayFileSavedConfirmation" }, providers: [
|
|
166
139
|
{
|
|
167
140
|
provide: FoehnInputComponent,
|
|
168
141
|
useExisting: forwardRef(() => FoehnPictureUploadComponent),
|
|
@@ -170,9 +143,9 @@ export class FoehnPictureUploadComponent extends FoehnInputComponent {
|
|
|
170
143
|
},
|
|
171
144
|
{ provide: MultiUploadService, useClass: MultiUploadService },
|
|
172
145
|
{ provide: UploadProgressService, useClass: UploadProgressService }
|
|
173
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n [attr.id]=\"buildId('Container')\"\n [class.has-danger]=\"hasErrors()\"\n [class.vd-form-group-danger]=\"hasErrors()\"\n class=\"form-group clearable-input-form-group\"\n tabindex=\"-1\"\n #fallBackTrigger\n>\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <input type=\"hidden\" [name]=\"name || label\" [ngModel]=\"model\" />\n\n <ng-content></ng-content>\n\n <div *ngIf=\"hasPicture\" class=\"row\">\n <div class=\"col-md-6\">\n <img\n [id]=\"buildChildId('Picture')\"\n [attr.alt]=\"label\"\n [src]=\"getDownloadUrl()\"\n />\n </div>\n <div class=\"col-md-4\">\n <button\n type=\"button\"\n class=\"btn btn-danger w-100\"\n [attr.id]=\"buildChildId('DeleteButton')\"\n (click)=\"deleteFile()\"\n >\n {{\n 'foehn-picture-upload.delete-picture-label' | fromDictionary\n }}\n </button>\n </div>\n </div>\n\n <div *ngIf=\"!hasPicture && !
|
|
146
|
+
], usesInheritance: true, ngImport: i0, template: "<div\n [attr.id]=\"buildId('Container')\"\n [class.has-danger]=\"hasErrors()\"\n [class.vd-form-group-danger]=\"hasErrors()\"\n class=\"form-group clearable-input-form-group\"\n tabindex=\"-1\"\n #fallBackTrigger\n>\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <input type=\"hidden\" [name]=\"name || label\" [ngModel]=\"model\" />\n\n <ng-content></ng-content>\n\n <div *ngIf=\"hasPicture\" class=\"row\">\n <div class=\"col-md-6\">\n <img\n [id]=\"buildChildId('Picture')\"\n [attr.alt]=\"label\"\n [src]=\"getDownloadUrl()\"\n />\n </div>\n <div class=\"col-md-4\">\n <button\n type=\"button\"\n class=\"btn btn-danger w-100\"\n [attr.id]=\"buildChildId('DeleteButton')\"\n (click)=\"deleteFile()\"\n >\n {{\n 'foehn-picture-upload.delete-picture-label' | fromDictionary\n }}\n </button>\n </div>\n </div>\n\n <div *ngIf=\"!hasPicture && !croppedPictureAsBlob\">\n <input\n #inputFile\n type=\"file\"\n class=\"form-control d-none\"\n [attr.id]=\"name\"\n [attr.accept]=\"acceptFormats\"\n [multiple]=\"false\"\n [name]=\"name\"\n (change)=\"onPictureSelection($event)\"\n />\n\n <button\n type=\"button\"\n class=\"btn btn-primary my-2\"\n [attr.id]=\"buildChildId('ChooseButton')\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-describedby]=\"buildId('ErrorsContainer')\"\n (click)=\"inputFile.click()\"\n [attr.disabled]=\"loading ? 'disabled' : null\"\n >\n {{ 'foehn-picture-upload.choose-button-label' | fromDictionary }}\n </button>\n </div>\n\n <div *ngIf=\"loading\">\n {{ 'foehn-picture-upload.loading-label' | fromDictionary }}\n </div>\n\n <div *ngIf=\"!hasPicture\" class=\"row\">\n <div class=\"col-md-6\">\n <image-cropper\n [id]=\"buildChildId('Cropper')\"\n (cropperReady)=\"loading = false\"\n (imageCropped)=\"onImageCropped($event)\"\n (loadImageFailed)=\"onPictureSelectionFailed()\"\n [aspectRatio]=\"3 / 4\"\n [imageChangedEvent]=\"pictureToCrop\"\n [maintainAspectRatio]=\"true\"\n [resizeToWidth]=\"resizeToWidth\"\n [resizeToHeight]=\"resizeToHeight\"\n [onlyScaleDown]=\"true\"\n format=\"png\"\n ></image-cropper>\n </div>\n\n <div *ngIf=\"!hasPicture\" class=\"col-md-4\">\n <div class=\"row mb-3\">\n <button\n *ngIf=\"croppedPictureAsBlob\"\n type=\"button\"\n class=\"btn btn-primary w-100\"\n [attr.id]=\"buildChildId('SaveButton')\"\n (click)=\"savePicture()\"\n >\n {{\n 'foehn-picture-upload.validate-selection-label'\n | fromDictionary\n }}\n </button>\n </div>\n <div class=\"row\">\n <button\n *ngIf=\"croppedPictureAsBlob\"\n type=\"button\"\n class=\"btn btn-secondary w-100\"\n [attr.id]=\"buildChildId('CancelButton')\"\n (click)=\"resetPictureSelection()\"\n >\n {{\n 'foehn-picture-upload.cancel-selection-label'\n | fromDictionary\n }}\n </button>\n </div>\n </div>\n </div>\n\n <foehn-upload-progress-bar\n [progressBarTriggerHtmlElement]=\"\n inputElement?.nativeElement || fallBackTrigger\n \"\n ></foehn-upload-progress-bar>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FoehnValidationAlertsComponent, selector: "foehn-validation-alerts", inputs: ["component", "shouldErrorsBeLive"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "imageAltText", "cropperFrameAriaLabel", "output", "format", "transform", "maintainAspectRatio", "aspectRatio", "resetCropOnAspectRatioChange", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "autoCrop", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "cropper", "alignImage", "disabled", "hidden"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange"] }, { kind: "component", type: i7.FoehnUploadProgressBarComponent, selector: "foehn-upload-progress-bar", inputs: ["progressBarTriggerHtmlElement"] }, { kind: "pipe", type: i8.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
174
147
|
}
|
|
175
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnPictureUploadComponent, decorators: [{
|
|
176
149
|
type: Component,
|
|
177
150
|
args: [{ selector: 'foehn-picture-upload', providers: [
|
|
178
151
|
{
|
|
@@ -182,8 +155,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
182
155
|
},
|
|
183
156
|
{ provide: MultiUploadService, useClass: MultiUploadService },
|
|
184
157
|
{ provide: UploadProgressService, useClass: UploadProgressService }
|
|
185
|
-
], template: "<div\n [attr.id]=\"buildId('Container')\"\n [class.has-danger]=\"hasErrors()\"\n [class.vd-form-group-danger]=\"hasErrors()\"\n class=\"form-group clearable-input-form-group\"\n tabindex=\"-1\"\n #fallBackTrigger\n>\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <input type=\"hidden\" [name]=\"name || label\" [ngModel]=\"model\" />\n\n <ng-content></ng-content>\n\n <div *ngIf=\"hasPicture\" class=\"row\">\n <div class=\"col-md-6\">\n <img\n [id]=\"buildChildId('Picture')\"\n [attr.alt]=\"label\"\n [src]=\"getDownloadUrl()\"\n />\n </div>\n <div class=\"col-md-4\">\n <button\n type=\"button\"\n class=\"btn btn-danger w-100\"\n [attr.id]=\"buildChildId('DeleteButton')\"\n (click)=\"deleteFile()\"\n >\n {{\n 'foehn-picture-upload.delete-picture-label' | fromDictionary\n }}\n </button>\n </div>\n </div>\n\n <div *ngIf=\"!hasPicture && !
|
|
186
|
-
}], ctorParameters: () => [{ type: i1.
|
|
158
|
+
], template: "<div\n [attr.id]=\"buildId('Container')\"\n [class.has-danger]=\"hasErrors()\"\n [class.vd-form-group-danger]=\"hasErrors()\"\n class=\"form-group clearable-input-form-group\"\n tabindex=\"-1\"\n #fallBackTrigger\n>\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"!!label\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"helpText\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <input type=\"hidden\" [name]=\"name || label\" [ngModel]=\"model\" />\n\n <ng-content></ng-content>\n\n <div *ngIf=\"hasPicture\" class=\"row\">\n <div class=\"col-md-6\">\n <img\n [id]=\"buildChildId('Picture')\"\n [attr.alt]=\"label\"\n [src]=\"getDownloadUrl()\"\n />\n </div>\n <div class=\"col-md-4\">\n <button\n type=\"button\"\n class=\"btn btn-danger w-100\"\n [attr.id]=\"buildChildId('DeleteButton')\"\n (click)=\"deleteFile()\"\n >\n {{\n 'foehn-picture-upload.delete-picture-label' | fromDictionary\n }}\n </button>\n </div>\n </div>\n\n <div *ngIf=\"!hasPicture && !croppedPictureAsBlob\">\n <input\n #inputFile\n type=\"file\"\n class=\"form-control d-none\"\n [attr.id]=\"name\"\n [attr.accept]=\"acceptFormats\"\n [multiple]=\"false\"\n [name]=\"name\"\n (change)=\"onPictureSelection($event)\"\n />\n\n <button\n type=\"button\"\n class=\"btn btn-primary my-2\"\n [attr.id]=\"buildChildId('ChooseButton')\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-describedby]=\"buildId('ErrorsContainer')\"\n (click)=\"inputFile.click()\"\n [attr.disabled]=\"loading ? 'disabled' : null\"\n >\n {{ 'foehn-picture-upload.choose-button-label' | fromDictionary }}\n </button>\n </div>\n\n <div *ngIf=\"loading\">\n {{ 'foehn-picture-upload.loading-label' | fromDictionary }}\n </div>\n\n <div *ngIf=\"!hasPicture\" class=\"row\">\n <div class=\"col-md-6\">\n <image-cropper\n [id]=\"buildChildId('Cropper')\"\n (cropperReady)=\"loading = false\"\n (imageCropped)=\"onImageCropped($event)\"\n (loadImageFailed)=\"onPictureSelectionFailed()\"\n [aspectRatio]=\"3 / 4\"\n [imageChangedEvent]=\"pictureToCrop\"\n [maintainAspectRatio]=\"true\"\n [resizeToWidth]=\"resizeToWidth\"\n [resizeToHeight]=\"resizeToHeight\"\n [onlyScaleDown]=\"true\"\n format=\"png\"\n ></image-cropper>\n </div>\n\n <div *ngIf=\"!hasPicture\" class=\"col-md-4\">\n <div class=\"row mb-3\">\n <button\n *ngIf=\"croppedPictureAsBlob\"\n type=\"button\"\n class=\"btn btn-primary w-100\"\n [attr.id]=\"buildChildId('SaveButton')\"\n (click)=\"savePicture()\"\n >\n {{\n 'foehn-picture-upload.validate-selection-label'\n | fromDictionary\n }}\n </button>\n </div>\n <div class=\"row\">\n <button\n *ngIf=\"croppedPictureAsBlob\"\n type=\"button\"\n class=\"btn btn-secondary w-100\"\n [attr.id]=\"buildChildId('CancelButton')\"\n (click)=\"resetPictureSelection()\"\n >\n {{\n 'foehn-picture-upload.cancel-selection-label'\n | fromDictionary\n }}\n </button>\n </div>\n </div>\n </div>\n\n <foehn-upload-progress-bar\n [progressBarTriggerHtmlElement]=\"\n inputElement?.nativeElement || fallBackTrigger\n \"\n ></foehn-upload-progress-bar>\n</div>\n" }]
|
|
159
|
+
}], ctorParameters: () => [{ type: i1.MultiUploadService }, { type: i2.SdkDictionaryService }], propDecorators: { name: [{
|
|
187
160
|
type: Input
|
|
188
161
|
}], key: [{
|
|
189
162
|
type: Input
|
|
@@ -200,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
200
173
|
}], shouldDisplayFileSavedConfirmation: [{
|
|
201
174
|
type: Input
|
|
202
175
|
}] } });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGljdHVyZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVwbG9hZC9mb2Vobi1waWN0dXJlLXVwbG9hZC9mb2Vobi1waWN0dXJlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdXBsb2FkL2ZvZWhuLXBpY3R1cmUtdXBsb2FkL2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUdqQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFHaEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7Ozs7Ozs7O0FBRTdGLE1BQU0sVUFBVSxHQUFHLENBQUMsUUFBYyxFQUFFLFFBQWdCLEVBQVEsRUFBRTtJQUMxRCw4REFBOEQ7SUFDOUQsTUFBTSxJQUFJLEdBQVEsUUFBUSxDQUFDO0lBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO0lBQ3JCLE9BQU8sSUFBWSxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGLE1BQU0sc0JBQXNCLEdBQUcsQ0FDM0IsdUJBQStCLEVBQy9CLFFBQWdCLEVBQ1osRUFBRTtJQUNOLE1BQU0sR0FBRyxHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxH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QkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sc0JBQXNCO3NCQURyQixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sa0NBQWtDO3NCQURqQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBidWZmZXIgZnJvbSAnYnVmZmVyJztcbmltcG9ydCB7IEltYWdlQ3JvcHBlZEV2ZW50IH0gZnJvbSAnbmd4LWltYWdlLWNyb3BwZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBHcm93bEJyb2tlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9mb2Vobi1ncm93bC9ncm93bC1icm9rZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGb2VobklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IERvY3VtZW50UmVmZXJlbmNlIH0gZnJvbSAnLi4vLi4vZm9laG4tdXBsb2FkL2RvY3VtZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBNdWx0aVVwbG9hZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9mb2Vobi11cGxvYWQvZm9laG4tbXVsdGktdXBsb2FkL211bHRpLXVwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1FcnJvciB9IGZyb20gJy4uLy4uL2Zvcm0tZXJyb3InO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFVwbG9hZFByb2dyZXNzU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIvdXBsb2FkLXByb2dyZXNzLnNlcnZpY2UnO1xuXG5jb25zdCBibG9iVG9GaWxlID0gKGJsb2JEYXRhOiBCbG9iLCBmaWxlTmFtZTogc3RyaW5nKTogRmlsZSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBjb25zdCBibG9iOiBhbnkgPSBibG9iRGF0YTtcbiAgICBibG9iLm5hbWUgPSBmaWxlTmFtZTtcbiAgICByZXR1cm4gYmxvYiBhcyBGaWxlO1xufTtcblxuY29uc3QgY29udmVydEJhc2U2NFVybFRvRmlsZSA9IChcbiAgICBjcm9wcGVkSW1hZ2Vhc0Jhc2U2NFVybDogc3RyaW5nLFxuICAgIGZpbGVuYW1lOiBzdHJpbmdcbik6IEZpbGUgPT4ge1xuICAgIGNvbnN0IGFyciA9IGNyb3BwZWRJbWFnZWFzQmFzZTY0VXJsLnNwbGl0KCcsJyk7XG4gICAgY29uc3QgbWltZSA9IGFyclswXS5tYXRjaCgvOiguKj8pOy8pWzFdO1xuICAgIGNvbnN0IGJzdHIgPSBidWZmZXIuQnVmZmVyLmZyb20oYXJyWzFdLCAnYmFzZTY0JykudG9TdHJpbmcoJ2JpbmFyeScpO1xuICAgIGxldCBuID0gYnN0ci5sZW5ndGg7XG4gICAgY29uc3QgdThhcnIgPSBuZXcgVWludDhBcnJheShuKTtcbiAgICB3aGlsZSAobi0tKSB7XG4gICAgICAgIHU4YXJyW25dID0gYnN0ci5jaGFyQ29kZUF0KG4pO1xuICAgIH1cblxuICAgIGlmICghbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmNsdWRlcygnRWRnZScpKSB7XG4gICAgICAgIC8vIGRldGVjdCBpZiBub3QgRWRnZVxuICAgICAgICByZXR1cm4gbmV3IEZpbGUoW3U4YXJyXSwgZmlsZW5hbWUsIHsgdHlwZTogbWltZSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBFZGdlIHN1cHBvcnQgdGhlIEZpbGVBUEkgYnV0IG5vdCB0aGUgRmlsZSBjb25zdHJ1Y3Rvci5cbiAgICAgICAgcmV0dXJuIGJsb2JUb0ZpbGUobmV3IEJsb2IoW3U4YXJyXSwgeyB0eXBlOiBtaW1lIH0pLCBmaWxlbmFtZSk7XG4gICAgfVxufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1waWN0dXJlLXVwbG9hZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRm9laG5JbnB1dENvbXBvbmVudCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvZWhuUGljdHVyZVVwbG9hZENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IE11bHRpVXBsb2FkU2VydmljZSwgdXNlQ2xhc3M6IE11bHRpVXBsb2FkU2VydmljZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IFVwbG9hZFByb2dyZXNzU2VydmljZSwgdXNlQ2xhc3M6IFVwbG9hZFByb2dyZXNzU2VydmljZSB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VoblBpY3R1cmVVcGxvYWRDb21wb25lbnRcbiAgICBleHRlbmRzIEZvZWhuSW5wdXRDb21wb25lbnQ8RG9jdW1lbnRSZWZlcmVuY2VbXT5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICAgIEBJbnB1dCgpXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBrZXk6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgbGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgYmFzZVVybCA9ICdhcGkvZG9jdW1lbnQnO1xuXG4gICAgQElucHV0KClcbiAgICBjcm9wcGVkUGljdHVyZUZpbGVuYW1lID0gJ3Bob3RvLnBuZyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHJlc2l6ZVRvV2lkdGggPSAzMDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHJlc2l6ZVRvSGVpZ2h0ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvdWxkRGlzcGxheUZpbGVTYXZlZENvbmZpcm1hdGlvbiA9IHRydWU7XG5cbiAgICByZWFkb25seSBhY2NlcHRGb3JtYXRzID0gJy5qcGVnLC5qcGcsLnBuZyc7XG5cbiAgICBwaWN0dXJlVG9Dcm9wOiBFdmVudDtcbiAgICBjcm9wcGVkUGljdHVyZUFzQmFzZTY0VXJsOiBzdHJpbmc7XG4gICAgbG9hZGluZyA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIGN1cnJlbnRMYW5ndWFnZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGdyb3dsU2VydmljZTogR3Jvd2xCcm9rZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHVwbG9hZFNlcnZpY2U6IE11bHRpVXBsb2FkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkaWN0aW9uYXJ5U2VydmljZTogU2RrRGljdGlvbmFyeVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBnZXQgaGFzUGljdHVyZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZWwgJiYgdGhpcy5tb2RlbC5sZW5ndGggJiYgISF0aGlzLm1vZGVsWzBdLnJlZmVyZW5jZTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2VTdWJzY3JpcHRpb24gPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0Q3VycmVudExhbmd1YWdlQ29kZSgpXG4gICAgICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICAgICAgLnN1YnNjcmliZShsYW5ndWFnZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSBsYW5ndWFnZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uUGljdHVyZVNlbGVjdGlvbihpbWdFdmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0SW5wdXQgPSBpbWdFdmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgaWYgKCF0YXJnZXRJbnB1dD8uZmlsZXM/Lmxlbmd0aCB8fCAhdGFyZ2V0SW5wdXQuZmlsZXNbMF0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWxlID0gdGFyZ2V0SW5wdXQuZmlsZXNbMF07XG5cbiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZEZpbGVUeXBlKGZpbGUubmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaEVycm9ycyhbW10sIHRydWVdKTtcbiAgICAgICAgICAgIHRoaXMucGljdHVyZVRvQ3JvcCA9IGltZ0V2ZW50O1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9ycyA9IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgY29kZTogJ0ludmFsaWRGaWxlVHlwZScsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC5pbnZhbGlkLWZpbGUtdHlwZScsXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NlcHRGb3JtYXRzOiB0aGlzLmFjY2VwdEZvcm1hdHNcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hFcnJvcnMoW2Vycm9ycywgdHJ1ZV0pO1xuICAgICAgICAgICAgdGhpcy5yZXNldFBpY3R1cmVTZWxlY3Rpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUGljdHVyZVNlbGVjdGlvbkZhaWxlZCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXJyb3JzID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgICAgICBjb2RlOiAnTG9hZGluZ0ZhaWx1cmUnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctZmFpbHVyZS1sYWJlbCdcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgICAgIHRoaXMucmVmcmVzaEVycm9ycyhbZXJyb3JzLCB0cnVlXSk7XG4gICAgICAgIHRoaXMucmVzZXRQaWN0dXJlU2VsZWN0aW9uKCk7XG4gICAgfVxuXG4gICAgb25JbWFnZUNyb3BwZWQoY3JvcHBlZEV2ZW50OiBJbWFnZUNyb3BwZWRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyb3BwZWRQaWN0dXJlQXNCYXNlNjRVcmwgPSBjcm9wcGVkRXZlbnQuYmFzZTY0O1xuICAgIH1cblxuICAgIHJlc2V0UGljdHVyZVNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcm9wcGVkUGljdHVyZUFzQmFzZTY0VXJsID0gbnVsbDtcbiAgICAgICAgdGhpcy5waWN0dXJlVG9Dcm9wID0gbnVsbDtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgc2F2ZVBpY3R1cmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWFya0FzUHJpc3RpbmUoKTtcblxuICAgICAgICBjb25zdCBwaG90byA9IGNvbnZlcnRCYXNlNjRVcmxUb0ZpbGUoXG4gICAgICAgICAgICB0aGlzLmNyb3BwZWRQaWN0dXJlQXNCYXNlNjRVcmwsXG4gICAgICAgICAgICB0aGlzLmNyb3BwZWRQaWN0dXJlRmlsZW5hbWVcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnVwbG9hZFNlcnZpY2VcbiAgICAgICAgICAgIC51cGxvYWREb2N1bWVudHMoXG4gICAgICAgICAgICAgICAgdGhpcy5iYXNlVXJsLFxuICAgICAgICAgICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgICAgICAgICB0aGlzLmxhYmVsLFxuICAgICAgICAgICAgICAgIFtwaG90b10sXG4gICAgICAgICAgICAgICAgdGhpcy5rZXksXG4gICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgdGhpcy5zaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIocmVzdWx0ID0+ICEhcmVzdWx0KSlcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByeGpzLWFuZ3VsYXIvcHJlZmVyLWFzeW5jLXBpcGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHsgZG9jdW1lbnRzLCBlcnJvcnMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRQaWN0dXJlU2VsZWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgaWYgKCEhZG9jdW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZWwgPSBkb2N1bWVudHM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaEVycm9ycyhbW10sIHRydWVdKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGVsID0gW107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaEVycm9ycyhbZXJyb3JzLCB0cnVlXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZGVsZXRlRmlsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlXG4gICAgICAgICAgICAuZGVsZXRlRG9jdW1lbnQodGhpcy5iYXNlVXJsLCB0aGlzLm1vZGVsWzBdKVxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbCA9IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRQaWN0dXJlU2VsZWN0aW9uKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXREb3dubG9hZFVybCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy51cGxvYWRTZXJ2aWNlLmdldERvd25sb2FkVXJsKHRoaXMuYmFzZVVybCwgdGhpcy5tb2RlbFswXSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICByZWZyZXNoRXJyb3JzKHJlc3VsdHM6IGFueVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVycm9yczogRm9ybUVycm9yW10gPSByZXN1bHRzWzBdO1xuICAgICAgICBjb25zdCBpc0luU2VsZWN0aW9uTW9kZSA9XG4gICAgICAgICAgICAhdGhpcy5oYXNQaWN0dXJlICYmICEhdGhpcy5jcm9wcGVkUGljdHVyZUFzQmFzZTY0VXJsO1xuICAgICAgICBpZiAoaXNJblNlbGVjdGlvbk1vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vdE51bGxFcnJvciA9IGVycm9ycy5maW5kKFxuICAgICAgICAgICAgICAgIGUgPT4gZS5uYW1lID09PSB0aGlzLm5hbWUgJiYgZS5jb2RlID09PSAnTm90RW1wdHknXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKG5vdE51bGxFcnJvcikge1xuICAgICAgICAgICAgICAgIG5vdE51bGxFcnJvci5tZXNzYWdlID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgICAgICAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuc2VsZWN0aW9uLW5vdC12YWxpZGF0ZWQtbGFiZWwnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLnJlZnJlc2hFcnJvcnMocmVzdWx0cyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkRmlsZVR5cGUoZmlsZW5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBhY2NlcHRlZEZvcm1hdHMgPSB0aGlzLmFjY2VwdEZvcm1hdHNcbiAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKGV4dCA9PiBleHQudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBgLiR7ZmlsZW5hbWUuc3BsaXQoJy4nKS5wb3AoKX1gLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiBhY2NlcHRlZEZvcm1hdHMuaW5jbHVkZXMoZmlsZUV4dGVuc2lvbik7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIFthdHRyLmlkXT1cImJ1aWxkSWQoJ0NvbnRhaW5lcicpXCJcbiAgICBbY2xhc3MuaGFzLWRhbmdlcl09XCJoYXNFcnJvcnMoKVwiXG4gICAgW2NsYXNzLnZkLWZvcm0tZ3JvdXAtZGFuZ2VyXT1cImhhc0Vycm9ycygpXCJcbiAgICBjbGFzcz1cImZvcm0tZ3JvdXAgY2xlYXJhYmxlLWlucHV0LWZvcm0tZ3JvdXBcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICNmYWxsQmFja1RyaWdnZXJcbj5cbiAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJmb3JtLWxhYmVsXCJcbiAgICAgICAgW2F0dHIuZm9yXT1cImJ1aWxkQ2hpbGRJZCgpXCJcbiAgICAgICAgKm5nSWY9XCIhIWxhYmVsXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaXNMYWJlbFNyT25seSA/ICd2aXN1YWxseS1oaWRkZW4nIDogbGFiZWxTdHlsZU1vZGlmaWVyXCJcbiAgICA+XG4gICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibGFiZWxcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cIiFyZXF1aXJlZCAmJiAhaGlkZU5vdFJlcXVpcmVkRXh0cmFMYWJlbFwiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyAnZm9laG4taW5wdXQub3B0aW9uYWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvbGFiZWw+XG5cbiAgICA8Zm9laG4tdmFsaWRhdGlvbi1hbGVydHMgW2NvbXBvbmVudF09XCJ0aGlzXCI+PC9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cz5cblxuICAgIDxzbWFsbFxuICAgICAgICAqbmdJZj1cImhlbHBUZXh0XCJcbiAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRDaGlsZElkKCkgKyAnSGVscCdcIlxuICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiaGVscFRleHRcIlxuICAgID48L3NtYWxsPlxuXG4gICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBbbmFtZV09XCJuYW1lIHx8IGxhYmVsXCIgW25nTW9kZWxdPVwibW9kZWxcIiAvPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdiAqbmdJZj1cImhhc1BpY3R1cmVcIiBjbGFzcz1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRDaGlsZElkKCdQaWN0dXJlJylcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFsdF09XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJnZXREb3dubG9hZFVybCgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIHctMTAwXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJidWlsZENoaWxkSWQoJ0RlbGV0ZUJ1dHRvbicpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlRmlsZSgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuZGVsZXRlLXBpY3R1cmUtbGFiZWwnIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIiFoYXNQaWN0dXJlICYmICFjcm9wcGVkUGljdHVyZUFzQmFzZTY0VXJsXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgI2lucHV0RmlsZVxuICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZC1ub25lXCJcbiAgICAgICAgICAgIFthdHRyLmlkXT1cIm5hbWVcIlxuICAgICAgICAgICAgW2F0dHIuYWNjZXB0XT1cImFjY2VwdEZvcm1hdHNcIlxuICAgICAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvblBpY3R1cmVTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBteS0yXCJcbiAgICAgICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgnQ2hvb3NlQnV0dG9uJylcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpIHx8IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJidWlsZElkKCdFcnJvcnNDb250YWluZXInKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaW5wdXRGaWxlLmNsaWNrKClcIlxuICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwibG9hZGluZyA/ICdkaXNhYmxlZCcgOiBudWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmNob29zZS1idXR0b24tbGFiZWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgICAgICB7eyAnZm9laG4tcGljdHVyZS11cGxvYWQubG9hZGluZy1sYWJlbCcgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIiFoYXNQaWN0dXJlXCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgICAgICA8aW1hZ2UtY3JvcHBlclxuICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoJ0Nyb3BwZXInKVwiXG4gICAgICAgICAgICAgICAgKGNyb3BwZXJSZWFkeSk9XCJsb2FkaW5nID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgIChpbWFnZUNyb3BwZWQpPVwib25JbWFnZUNyb3BwZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGxvYWRJbWFnZUZhaWxlZCk9XCJvblBpY3R1cmVTZWxlY3Rpb25GYWlsZWQoKVwiXG4gICAgICAgICAgICAgICAgW2FzcGVjdFJhdGlvXT1cIjMgLyA0XCJcbiAgICAgICAgICAgICAgICBbaW1hZ2VDaGFuZ2VkRXZlbnRdPVwicGljdHVyZVRvQ3JvcFwiXG4gICAgICAgICAgICAgICAgW21haW50YWluQXNwZWN0UmF0aW9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Jlc2l6ZVRvV2lkdGhdPVwicmVzaXplVG9XaWR0aFwiXG4gICAgICAgICAgICAgICAgW3Jlc2l6ZVRvSGVpZ2h0XT1cInJlc2l6ZVRvSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICBbb25seVNjYWxlRG93bl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBmb3JtYXQ9XCJwbmdcIlxuICAgICAgICAgICAgPjwvaW1hZ2UtY3JvcHBlcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFoYXNQaWN0dXJlXCIgY2xhc3M9XCJjb2wtbWQtNFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNyb3BwZWRQaWN0dXJlQXNCYXNlNjRVcmxcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgdy0xMDBcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJidWlsZENoaWxkSWQoJ1NhdmVCdXR0b24nKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzYXZlUGljdHVyZSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tcGljdHVyZS11cGxvYWQudmFsaWRhdGUtc2VsZWN0aW9uLWxhYmVsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjcm9wcGVkUGljdHVyZUFzQmFzZTY0VXJsXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgdy0xMDBcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJidWlsZENoaWxkSWQoJ0NhbmNlbEJ1dHRvbicpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlc2V0UGljdHVyZVNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2FuY2VsLXNlbGVjdGlvbi1sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8Zm9laG4tdXBsb2FkLXByb2dyZXNzLWJhclxuICAgICAgICBbcHJvZ3Jlc3NCYXJUcmlnZ2VySHRtbEVsZW1lbnRdPVwiXG4gICAgICAgICAgICBpbnB1dEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQgfHwgZmFsbEJhY2tUcmlnZ2VyXG4gICAgICAgIFwiXG4gICAgPjwvZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhcj5cbjwvZGl2PlxuIl19
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGljdHVyZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVwbG9hZC9mb2Vobi1waWN0dXJlLXVwbG9hZC9mb2Vobi1waWN0dXJlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdXBsb2FkL2ZvZWhuLXBpY3R1cmUtdXBsb2FkL2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUdyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFHaEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7Ozs7Ozs7QUFlN0YsTUFBTSxPQUFPLDJCQUNULFNBQVEsbUJBQXdDO0lBb0NoRCxZQUNZLGFBQWlDLEVBQ2pDLGlCQUF1QztRQUUvQyxLQUFLLEVBQUUsQ0FBQztRQUhBLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQUNqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBekJuRCxZQUFPLEdBQUcsY0FBYyxDQUFDO1FBR3pCLDJCQUFzQixHQUFHLFdBQVcsQ0FBQztRQUdyQyxrQkFBYSxHQUFHLEdBQUcsQ0FBQztRQUdwQixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUduQix1Q0FBa0MsR0FBRyxJQUFJLENBQUM7UUFFakMsa0JBQWEsR0FBRyxpQkFBaUIs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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltYWdlQ3JvcHBlZEV2ZW50IH0gZnJvbSAnbmd4LWltYWdlLWNyb3BwZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGb2VobklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IERvY3VtZW50UmVmZXJlbmNlIH0gZnJvbSAnLi4vLi4vZm9laG4tdXBsb2FkL2RvY3VtZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBNdWx0aVVwbG9hZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9mb2Vobi11cGxvYWQvZm9laG4tbXVsdGktdXBsb2FkL211bHRpLXVwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1FcnJvciB9IGZyb20gJy4uLy4uL2Zvcm0tZXJyb3InO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFVwbG9hZFByb2dyZXNzU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIvdXBsb2FkLXByb2dyZXNzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tcGljdHVyZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGb2VobklucHV0Q29tcG9uZW50LFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm9laG5QaWN0dXJlVXBsb2FkQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHsgcHJvdmlkZTogTXVsdGlVcGxvYWRTZXJ2aWNlLCB1c2VDbGFzczogTXVsdGlVcGxvYWRTZXJ2aWNlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogVXBsb2FkUHJvZ3Jlc3NTZXJ2aWNlLCB1c2VDbGFzczogVXBsb2FkUHJvZ3Jlc3NTZXJ2aWNlIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuUGljdHVyZVVwbG9hZENvbXBvbmVudFxuICAgIGV4dGVuZHMgRm9laG5JbnB1dENvbXBvbmVudDxEb2N1bWVudFJlZmVyZW5jZVtdPlxuICAgIGltcGxlbWVudHMgT25Jbml0XG57XG4gICAgQElucHV0KClcbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGtleTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBsYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBiYXNlVXJsID0gJ2FwaS9kb2N1bWVudCc7XG5cbiAgICBASW5wdXQoKVxuICAgIGNyb3BwZWRQaWN0dXJlRmlsZW5hbWUgPSAncGhvdG8ucG5nJztcblxuICAgIEBJbnB1dCgpXG4gICAgcmVzaXplVG9XaWR0aCA9IDMwMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcmVzaXplVG9IZWlnaHQgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBzaG91bGREaXNwbGF5RmlsZVNhdmVkQ29uZmlybWF0aW9uID0gdHJ1ZTtcblxuICAgIHJlYWRvbmx5IGFjY2VwdEZvcm1hdHMgPSAnLmpwZWcsLmpwZywucG5nJztcblxuICAgIHBpY3R1cmVUb0Nyb3A6IEV2ZW50O1xuICAgIGNyb3BwZWRQaWN0dXJlQXNCbG9iOiBCbG9iO1xuICAgIGxvYWRpbmcgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBjdXJyZW50TGFuZ3VhZ2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgY3VycmVudExhbmd1YWdlOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB1cGxvYWRTZXJ2aWNlOiBNdWx0aVVwbG9hZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGljdGlvbmFyeVNlcnZpY2U6IFNka0RpY3Rpb25hcnlTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1BpY3R1cmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVsICYmIHRoaXMubW9kZWwubGVuZ3RoICYmICEhdGhpcy5tb2RlbFswXS5yZWZlcmVuY2U7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuY3VycmVudExhbmd1YWdlU3Vic2NyaXB0aW9uID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZVxuICAgICAgICAgICAgLmdldEN1cnJlbnRMYW5ndWFnZUNvZGUoKVxuICAgICAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByeGpzLWFuZ3VsYXIvcHJlZmVyLWFzeW5jLXBpcGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUobGFuZ3VhZ2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudExhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblBpY3R1cmVTZWxlY3Rpb24oaW1nRXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldElucHV0ID0gaW1nRXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGlmICghdGFyZ2V0SW5wdXQ/LmZpbGVzPy5sZW5ndGggfHwgIXRhcmdldElucHV0LmZpbGVzWzBdKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmlsZSA9IHRhcmdldElucHV0LmZpbGVzWzBdO1xuXG4gICAgICAgIGlmICh0aGlzLmlzVmFsaWRGaWxlVHlwZShmaWxlLm5hbWUpKSB7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hFcnJvcnMoW1tdLCB0cnVlXSk7XG4gICAgICAgICAgICB0aGlzLnBpY3R1cmVUb0Nyb3AgPSBpbWdFdmVudDtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvcnMgPSBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGNvZGU6ICdJbnZhbGlkRmlsZVR5cGUnLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuaW52YWxpZC1maWxlLXR5cGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lOiBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXB0Rm9ybWF0czogdGhpcy5hY2NlcHRGb3JtYXRzXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoRXJyb3JzKFtlcnJvcnMsIHRydWVdKTtcbiAgICAgICAgICAgIHRoaXMucmVzZXRQaWN0dXJlU2VsZWN0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblBpY3R1cmVTZWxlY3Rpb25GYWlsZWQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVycm9ycyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICAgICAgY29kZTogJ0xvYWRpbmdGYWlsdXJlJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAgICAgICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC5sb2FkaW5nLWZhaWx1cmUtbGFiZWwnXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgICAgICB0aGlzLnJlZnJlc2hFcnJvcnMoW2Vycm9ycywgdHJ1ZV0pO1xuICAgICAgICB0aGlzLnJlc2V0UGljdHVyZVNlbGVjdGlvbigpO1xuICAgIH1cblxuICAgIG9uSW1hZ2VDcm9wcGVkKGNyb3BwZWRFdmVudDogSW1hZ2VDcm9wcGVkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcm9wcGVkUGljdHVyZUFzQmxvYiA9IGNyb3BwZWRFdmVudC5ibG9iO1xuICAgIH1cblxuICAgIHJlc2V0UGljdHVyZVNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcm9wcGVkUGljdHVyZUFzQmxvYiA9IG51bGw7XG4gICAgICAgIHRoaXMucGljdHVyZVRvQ3JvcCA9IG51bGw7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHNhdmVQaWN0dXJlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1hcmtBc1ByaXN0aW5lKCk7XG5cbiAgICAgICAgY29uc3QgcGhvdG8gPSBuZXcgRmlsZShcbiAgICAgICAgICAgIFt0aGlzLmNyb3BwZWRQaWN0dXJlQXNCbG9iXSxcbiAgICAgICAgICAgIHRoaXMuY3JvcHBlZFBpY3R1cmVGaWxlbmFtZVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMudXBsb2FkU2VydmljZVxuICAgICAgICAgICAgLnVwbG9hZERvY3VtZW50cyhcbiAgICAgICAgICAgICAgICB0aGlzLmJhc2VVcmwsXG4gICAgICAgICAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICAgICAgICAgIHRoaXMubGFiZWwsXG4gICAgICAgICAgICAgICAgW3Bob3RvXSxcbiAgICAgICAgICAgICAgICB0aGlzLmtleSxcbiAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZSxcbiAgICAgICAgICAgICAgICB0aGlzLnNob3VsZERpc3BsYXlGaWxlU2F2ZWRDb25maXJtYXRpb25cbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKGZpbHRlcihyZXN1bHQgPT4gISFyZXN1bHQpKVxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoeyBkb2N1bWVudHMsIGVycm9ycyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldFBpY3R1cmVTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgICAgICBpZiAoISFkb2N1bWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFya0FzRGlydHkoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RlbCA9IGRvY3VtZW50cztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoRXJyb3JzKFtbXSwgdHJ1ZV0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZWwgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoRXJyb3JzKFtlcnJvcnMsIHRydWVdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkZWxldGVGaWxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwbG9hZFNlcnZpY2VcbiAgICAgICAgICAgIC5kZWxldGVEb2N1bWVudCh0aGlzLmJhc2VVcmwsIHRoaXMubW9kZWxbMF0pXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsID0gW107XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldFBpY3R1cmVTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldERvd25sb2FkVXJsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnVwbG9hZFNlcnZpY2UuZ2V0RG93bmxvYWRVcmwodGhpcy5iYXNlVXJsLCB0aGlzLm1vZGVsWzBdKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJlZnJlc2hFcnJvcnMocmVzdWx0czogYW55W10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXJyb3JzOiBGb3JtRXJyb3JbXSA9IHJlc3VsdHNbMF07XG4gICAgICAgIGNvbnN0IGlzSW5TZWxlY3Rpb25Nb2RlID1cbiAgICAgICAgICAgICF0aGlzLmhhc1BpY3R1cmUgJiYgISF0aGlzLmNyb3BwZWRQaWN0dXJlQXNCbG9iO1xuICAgICAgICBpZiAoaXNJblNlbGVjdGlvbk1vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vdE51bGxFcnJvciA9IGVycm9ycy5maW5kKFxuICAgICAgICAgICAgICAgIGUgPT4gZS5uYW1lID09PSB0aGlzLm5hbWUgJiYgZS5jb2RlID09PSAnTm90RW1wdHknXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKG5vdE51bGxFcnJvcikge1xuICAgICAgICAgICAgICAgIG5vdE51bGxFcnJvci5tZXNzYWdlID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgICAgICAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuc2VsZWN0aW9uLW5vdC12YWxpZGF0ZWQtbGFiZWwnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLnJlZnJlc2hFcnJvcnMocmVzdWx0cyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkRmlsZVR5cGUoZmlsZW5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBhY2NlcHRlZEZvcm1hdHMgPSB0aGlzLmFjY2VwdEZvcm1hdHNcbiAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKGV4dCA9PiBleHQudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBgLiR7ZmlsZW5hbWUuc3BsaXQoJy4nKS5wb3AoKX1gLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiBhY2NlcHRlZEZvcm1hdHMuaW5jbHVkZXMoZmlsZUV4dGVuc2lvbik7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIFthdHRyLmlkXT1cImJ1aWxkSWQoJ0NvbnRhaW5lcicpXCJcbiAgICBbY2xhc3MuaGFzLWRhbmdlcl09XCJoYXNFcnJvcnMoKVwiXG4gICAgW2NsYXNzLnZkLWZvcm0tZ3JvdXAtZGFuZ2VyXT1cImhhc0Vycm9ycygpXCJcbiAgICBjbGFzcz1cImZvcm0tZ3JvdXAgY2xlYXJhYmxlLWlucHV0LWZvcm0tZ3JvdXBcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICNmYWxsQmFja1RyaWdnZXJcbj5cbiAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJmb3JtLWxhYmVsXCJcbiAgICAgICAgW2F0dHIuZm9yXT1cImJ1aWxkQ2hpbGRJZCgpXCJcbiAgICAgICAgKm5nSWY9XCIhIWxhYmVsXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaXNMYWJlbFNyT25seSA/ICd2aXN1YWxseS1oaWRkZW4nIDogbGFiZWxTdHlsZU1vZGlmaWVyXCJcbiAgICA+XG4gICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibGFiZWxcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cIiFyZXF1aXJlZCAmJiAhaGlkZU5vdFJlcXVpcmVkRXh0cmFMYWJlbFwiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyAnZm9laG4taW5wdXQub3B0aW9uYWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvbGFiZWw+XG5cbiAgICA8Zm9laG4tdmFsaWRhdGlvbi1hbGVydHMgW2NvbXBvbmVudF09XCJ0aGlzXCI+PC9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0cz5cblxuICAgIDxzbWFsbFxuICAgICAgICAqbmdJZj1cImhlbHBUZXh0XCJcbiAgICAgICAgW2F0dHIuaWRdPVwiYnVpbGRDaGlsZElkKCkgKyAnSGVscCdcIlxuICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiaGVscFRleHRcIlxuICAgID48L3NtYWxsPlxuXG4gICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBbbmFtZV09XCJuYW1lIHx8IGxhYmVsXCIgW25nTW9kZWxdPVwibW9kZWxcIiAvPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdiAqbmdJZj1cImhhc1BpY3R1cmVcIiBjbGFzcz1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRDaGlsZElkKCdQaWN0dXJlJylcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFsdF09XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJnZXREb3dubG9hZFVybCgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIHctMTAwXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJidWlsZENoaWxkSWQoJ0RlbGV0ZUJ1dHRvbicpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlRmlsZSgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuZGVsZXRlLXBpY3R1cmUtbGFiZWwnIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIiFoYXNQaWN0dXJlICYmICFjcm9wcGVkUGljdHVyZUFzQmxvYlwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICNpbnB1dEZpbGVcbiAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGQtbm9uZVwiXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJuYW1lXCJcbiAgICAgICAgICAgIFthdHRyLmFjY2VwdF09XCJhY2NlcHRGb3JtYXRzXCJcbiAgICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25QaWN0dXJlU2VsZWN0aW9uKCRldmVudClcIlxuICAgICAgICAvPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXktMlwiXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJidWlsZENoaWxkSWQoJ0Nob29zZUJ1dHRvbicpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKSB8fCBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYnVpbGRJZCgnRXJyb3JzQ29udGFpbmVyJylcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImlucHV0RmlsZS5jbGljaygpXCJcbiAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImxvYWRpbmcgPyAnZGlzYWJsZWQnIDogbnVsbFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7ICdmb2Vobi1waWN0dXJlLXVwbG9hZC5jaG9vc2UtYnV0dG9uLWxhYmVsJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgICAge3sgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctbGFiZWwnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIhaGFzUGljdHVyZVwiIGNsYXNzPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgPGltYWdlLWNyb3BwZXJcbiAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRDaGlsZElkKCdDcm9wcGVyJylcIlxuICAgICAgICAgICAgICAgIChjcm9wcGVyUmVhZHkpPVwibG9hZGluZyA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAoaW1hZ2VDcm9wcGVkKT1cIm9uSW1hZ2VDcm9wcGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChsb2FkSW1hZ2VGYWlsZWQpPVwib25QaWN0dXJlU2VsZWN0aW9uRmFpbGVkKClcIlxuICAgICAgICAgICAgICAgIFthc3BlY3RSYXRpb109XCIzIC8gNFwiXG4gICAgICAgICAgICAgICAgW2ltYWdlQ2hhbmdlZEV2ZW50XT1cInBpY3R1cmVUb0Nyb3BcIlxuICAgICAgICAgICAgICAgIFttYWludGFpbkFzcGVjdFJhdGlvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtyZXNpemVUb1dpZHRoXT1cInJlc2l6ZVRvV2lkdGhcIlxuICAgICAgICAgICAgICAgIFtyZXNpemVUb0hlaWdodF09XCJyZXNpemVUb0hlaWdodFwiXG4gICAgICAgICAgICAgICAgW29ubHlTY2FsZURvd25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgZm9ybWF0PVwicG5nXCJcbiAgICAgICAgICAgID48L2ltYWdlLWNyb3BwZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaGFzUGljdHVyZVwiIGNsYXNzPVwiY29sLW1kLTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItM1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjcm9wcGVkUGljdHVyZUFzQmxvYlwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSB3LTEwMFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgnU2F2ZUJ1dHRvbicpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNhdmVQaWN0dXJlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC52YWxpZGF0ZS1zZWxlY3Rpb24tbGFiZWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNyb3BwZWRQaWN0dXJlQXNCbG9iXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgdy0xMDBcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJidWlsZENoaWxkSWQoJ0NhbmNlbEJ1dHRvbicpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlc2V0UGljdHVyZVNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2FuY2VsLXNlbGVjdGlvbi1sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8Zm9laG4tdXBsb2FkLXByb2dyZXNzLWJhclxuICAgICAgICBbcHJvZ3Jlc3NCYXJUcmlnZ2VySHRtbEVsZW1lbnRdPVwiXG4gICAgICAgICAgICBpbnB1dEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQgfHwgZmFsbEJhY2tUcmlnZ2VyXG4gICAgICAgIFwiXG4gICAgPjwvZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhcj5cbjwvZGl2PlxuIl19
|
|
@@ -9,15 +9,15 @@ import { FoehnUploadProgressBarModule } from '../foehn-upload-progress-bar/foehn
|
|
|
9
9
|
import { FoehnPictureUploadComponent } from './foehn-picture-upload.component';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export class FoehnPictureUploadModule {
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnPictureUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: FoehnPictureUploadModule, declarations: [FoehnPictureUploadComponent], imports: [CommonModule,
|
|
14
14
|
FoehnIconsModule,
|
|
15
15
|
FoehnValidationAlertsModule,
|
|
16
16
|
SdkDictionaryModule,
|
|
17
17
|
FormsModule,
|
|
18
18
|
ImageCropperModule,
|
|
19
19
|
FoehnUploadProgressBarModule], exports: [FoehnPictureUploadComponent] }); }
|
|
20
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
20
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnPictureUploadModule, imports: [CommonModule,
|
|
21
21
|
FoehnIconsModule,
|
|
22
22
|
FoehnValidationAlertsModule,
|
|
23
23
|
SdkDictionaryModule,
|
|
@@ -25,7 +25,7 @@ export class FoehnPictureUploadModule {
|
|
|
25
25
|
ImageCropperModule,
|
|
26
26
|
FoehnUploadProgressBarModule] }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnPictureUploadModule, decorators: [{
|
|
29
29
|
type: NgModule,
|
|
30
30
|
args: [{
|
|
31
31
|
imports: [
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
41
41
|
exports: [FoehnPictureUploadComponent]
|
|
42
42
|
}]
|
|
43
43
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGljdHVyZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVwbG9hZC9mb2Vobi1waWN0dXJlLXVwbG9hZC9mb2Vobi1waWN0dXJlLXVwbG9hZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQWUvRSxNQUFNLE9BQU8sd0JBQXdCOytHQUF4Qix3QkFBd0I7Z0hBQXhCLHdCQUF3QixpQkFIbEIsMkJBQTJCLGFBUnRDLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsMkJBQTJCO1lBQzNCLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLDRCQUE0QixhQUd0QiwyQkFBMkI7Z0hBRTVCLHdCQUF3QixZQVg3QixZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLDJCQUEyQjtZQUMzQixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGtCQUFrQjtZQUNsQiw0QkFBNEI7OzRGQUt2Qix3QkFBd0I7a0JBYnBDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQiwyQkFBMkI7d0JBQzNCLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLDRCQUE0QjtxQkFDL0I7b0JBQ0QsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQzNDLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO2lCQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJbWFnZUNyb3BwZXJNb2R1bGUgfSBmcm9tICduZ3gtaW1hZ2UtY3JvcHBlcic7XG5cbmltcG9ydCB7IEZvZWhuSWNvbnNNb2R1bGUgfSBmcm9tICcuLi8uLi9mb2Vobi1pY29ucy9mb2Vobi1pY29ucy5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5WYWxpZGF0aW9uQWxlcnRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vZm9laG4tdmFsaWRhdGlvbi1hbGVydHMvZm9laG4tdmFsaWRhdGlvbi1hbGVydHMubW9kdWxlJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlNb2R1bGUgfSBmcm9tICcuLi8uLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5VcGxvYWRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJy4uL2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIvZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5QaWN0dXJlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1waWN0dXJlLXVwbG9hZC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb2Vobkljb25zTW9kdWxlLFxuICAgICAgICBGb2VoblZhbGlkYXRpb25BbGVydHNNb2R1bGUsXG4gICAgICAgIFNka0RpY3Rpb25hcnlNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBJbWFnZUNyb3BwZXJNb2R1bGUsXG4gICAgICAgIEZvZWhuVXBsb2FkUHJvZ3Jlc3NCYXJNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW0ZvZWhuUGljdHVyZVVwbG9hZENvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0ZvZWhuUGljdHVyZVVwbG9hZENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5QaWN0dXJlVXBsb2FkTW9kdWxlIHt9XG4iXX0=
|
package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs
CHANGED
|
@@ -68,10 +68,10 @@ export class FoehnUploadProgressBarComponent {
|
|
|
68
68
|
}
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnUploadProgressBarComponent, deps: [{ token: i1.UploadProgressService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: FoehnUploadProgressBarComponent, selector: "foehn-upload-progress-bar", inputs: { progressBarTriggerHtmlElement: "progressBarTriggerHtmlElement" }, viewQueries: [{ propertyName: "progressBarPanel", first: true, predicate: ["progressBarPanel"], descendants: true }], ngImport: i0, template: "<div\n *ngIf=\"(showProgress | async) === true\"\n role=\"dialog\"\n class=\"progress-bar-container d-flex justify-content-center\"\n tabindex=\"-1\"\n cdkTrapFocus\n>\n <div\n class=\"progress-bar-panel d-flex flex-column align-self-center\"\n tabindex=\"-1\"\n #progressBarPanel\n >\n <div class=\"progress-bar-panel-title py-2 px-3\">\n <h2\n class=\"h5 mb-0 py-1\"\n [innerHTML]=\"'foehn-upload-progress-bar.title' | fromDictionary\"\n ></h2>\n </div>\n <div class=\"progress-bar-panel-body p-3\">\n <ng-container *ngIf=\"(hasUploadPackages | async) === false\">\n <p\n *ngIf=\"(analysisProgress | async) === false\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.upload' | fromDictionary\n \"\n ></p>\n <p\n *ngIf=\"(analysisProgress | async) === true\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.analysis' | fromDictionary\n \"\n ></p>\n </ng-container>\n <ng-container *ngIf=\"(hasUploadPackages | async) === true\">\n <ng-container *ngIf=\"(analysisProgress | async) === false\">\n <p\n *ngIf=\"uploadPackage | async as uploadPackage\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.group.upload'\n | fromDictionary\n : {\n packageIndex: (\n uploadPackage.packageIndex + 1\n ).toString(),\n nbPackages:\n uploadPackage.nbPackages.toString()\n }\n \"\n ></p>\n </ng-container>\n <ng-container *ngIf=\"(analysisProgress | async) === true\">\n <p\n *ngIf=\"uploadPackage | async as uploadPackage\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.group.analysis'\n | fromDictionary\n : {\n packageIndex: (\n uploadPackage.packageIndex + 1\n ).toString(),\n nbPackages:\n uploadPackage.nbPackages.toString()\n }\n \"\n ></p>\n </ng-container>\n </ng-container>\n <!-- Need to add a tabindex=\"0\" (here on progress) otherwise cdkTrapFocus will not work -->\n <div class=\"progress\" tabindex=\"0\">\n <div\n *ngIf=\"currentUploadPercentage | async as progress\"\n role=\"progressbar\"\n class=\"progress-bar bg-success\"\n [class.progress-bar-animated]=\"\n (analysisProgress | async) === true\n \"\n [class.progress-bar-striped]=\"\n (analysisProgress | async) === true\n \"\n [style.width]=\"progress + '%'\"\n [attr.aria-valuenow]=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <ng-container *ngIf=\"(analysisProgress | async) === false\">\n {{ progress + '%' }}\n </ng-container>\n </div>\n </div>\n <small\n class=\"form-text text-secondary\"\n *ngIf=\"(hasUploadPackages | async) === true\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.group.info' | fromDictionary\n \"\n ></small>\n </div>\n </div>\n</div>\n", styles: [".progress-bar-container{top:0;left:0;height:100%;width:100%;position:fixed;z-index:10000;overflow:auto;background-color:#000;background-color:#0006}.progress-bar-panel{width:30%;background-color:#fff;box-shadow:0 .5rem 1rem #00000080}.progress-bar-panel-title{background-color:var(--vd-neutral-lighter)}.progress-bar-panel-title h2{margin-top:.5rem}.progress{width:100%;background-color:var(--vd-neutral-lighter);box-shadow:none}.progress:focus{outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 0 .2rem var(--vd-focus)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
73
73
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnUploadProgressBarComponent, decorators: [{
|
|
75
75
|
type: Component,
|
|
76
76
|
args: [{ selector: 'foehn-upload-progress-bar', template: "<div\n *ngIf=\"(showProgress | async) === true\"\n role=\"dialog\"\n class=\"progress-bar-container d-flex justify-content-center\"\n tabindex=\"-1\"\n cdkTrapFocus\n>\n <div\n class=\"progress-bar-panel d-flex flex-column align-self-center\"\n tabindex=\"-1\"\n #progressBarPanel\n >\n <div class=\"progress-bar-panel-title py-2 px-3\">\n <h2\n class=\"h5 mb-0 py-1\"\n [innerHTML]=\"'foehn-upload-progress-bar.title' | fromDictionary\"\n ></h2>\n </div>\n <div class=\"progress-bar-panel-body p-3\">\n <ng-container *ngIf=\"(hasUploadPackages | async) === false\">\n <p\n *ngIf=\"(analysisProgress | async) === false\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.upload' | fromDictionary\n \"\n ></p>\n <p\n *ngIf=\"(analysisProgress | async) === true\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.analysis' | fromDictionary\n \"\n ></p>\n </ng-container>\n <ng-container *ngIf=\"(hasUploadPackages | async) === true\">\n <ng-container *ngIf=\"(analysisProgress | async) === false\">\n <p\n *ngIf=\"uploadPackage | async as uploadPackage\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.group.upload'\n | fromDictionary\n : {\n packageIndex: (\n uploadPackage.packageIndex + 1\n ).toString(),\n nbPackages:\n uploadPackage.nbPackages.toString()\n }\n \"\n ></p>\n </ng-container>\n <ng-container *ngIf=\"(analysisProgress | async) === true\">\n <p\n *ngIf=\"uploadPackage | async as uploadPackage\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.group.analysis'\n | fromDictionary\n : {\n packageIndex: (\n uploadPackage.packageIndex + 1\n ).toString(),\n nbPackages:\n uploadPackage.nbPackages.toString()\n }\n \"\n ></p>\n </ng-container>\n </ng-container>\n <!-- Need to add a tabindex=\"0\" (here on progress) otherwise cdkTrapFocus will not work -->\n <div class=\"progress\" tabindex=\"0\">\n <div\n *ngIf=\"currentUploadPercentage | async as progress\"\n role=\"progressbar\"\n class=\"progress-bar bg-success\"\n [class.progress-bar-animated]=\"\n (analysisProgress | async) === true\n \"\n [class.progress-bar-striped]=\"\n (analysisProgress | async) === true\n \"\n [style.width]=\"progress + '%'\"\n [attr.aria-valuenow]=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <ng-container *ngIf=\"(analysisProgress | async) === false\">\n {{ progress + '%' }}\n </ng-container>\n </div>\n </div>\n <small\n class=\"form-text text-secondary\"\n *ngIf=\"(hasUploadPackages | async) === true\"\n [innerHTML]=\"\n 'foehn-upload-progress-bar.group.info' | fromDictionary\n \"\n ></small>\n </div>\n </div>\n</div>\n", styles: [".progress-bar-container{top:0;left:0;height:100%;width:100%;position:fixed;z-index:10000;overflow:auto;background-color:#000;background-color:#0006}.progress-bar-panel{width:30%;background-color:#fff;box-shadow:0 .5rem 1rem #00000080}.progress-bar-panel-title{background-color:var(--vd-neutral-lighter)}.progress-bar-panel-title h2{margin-top:.5rem}.progress{width:100%;background-color:var(--vd-neutral-lighter);box-shadow:none}.progress:focus{outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 0 .2rem var(--vd-focus)}\n"] }]
|
|
77
77
|
}], ctorParameters: () => [{ type: i1.UploadProgressService }], propDecorators: { progressBarTriggerHtmlElement: [{
|
|
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
80
80
|
type: ViewChild,
|
|
81
81
|
args: ['progressBarPanel', { static: false }]
|
|
82
82
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdXBsb2FkL2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIvZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdXBsb2FkL2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIvZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULEtBQUssRUFFTCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFVMUQsTUFBTSxPQUFPLCtCQUErQjtJQWdCeEMsWUFBb0IscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUNuRSxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDZixJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2pCLENBQUM7UUFFRixJQUFJLENBQUMsZ0JBQWdCO1lBQ2pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENB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LENBQUM7SUFDbkIsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixzRkFBc0Y7UUFDdEYsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEQsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0F0SFEsK0JBQStCO2tHQUEvQiwrQkFBK0IsbVFDbEI1Qyw4eElBbUdBOzsyRkRqRmEsK0JBQStCO2tCQUwzQyxTQUFTOytCQUNJLDJCQUEyQjswRkFNckMsNkJBQTZCO3NCQUQ1QixLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHNoYXJlUmVwbGF5LCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFVwbG9hZFByb2dyZXNzU2VydmljZSB9IGZyb20gJy4vdXBsb2FkLXByb2dyZXNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXBsb2FkUHJvZ3Jlc3MgfSBmcm9tICcuL3VwbG9hZC1wcm9ncmVzcy50eXBlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5VcGxvYWRQcm9ncmVzc0JhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBwcm9ncmVzc0JhclRyaWdnZXJIdG1sRWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdwcm9ncmVzc0JhclBhbmVsJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHJvZ3Jlc3NCYXJQYW5lbDogRWxlbWVudFJlZjtcblxuICAgIHNob3dQcm9ncmVzczogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBhbmFseXNpc1Byb2dyZXNzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGN1cnJlbnRVcGxvYWRQZXJjZW50YWdlOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgICBoYXNVcGxvYWRQYWNrYWdlczogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICB1cGxvYWRQYWNrYWdlOiBPYnNlcnZhYmxlPFVwbG9hZFByb2dyZXNzPjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvZ3Jlc3NCYXJUcmlnZ2VyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVwbG9hZFByb2dyZXNzU2VydmljZTogVXBsb2FkUHJvZ3Jlc3NTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gdGhpcy51cGxvYWRQcm9ncmVzc1NlcnZpY2Uuc2hvd1Byb2dyZXNzU3ViamVjdC5waXBlKFxuICAgICAgICAgICAgdGFwKHNob3dQcm9ncmVzcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHNob3dQcm9ncmVzcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25Db250YWluZXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5hbmFseXNpc1Byb2dyZXNzID1cbiAgICAgICAgICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3NTZXJ2aWNlLmFuYWx5c2lzUHJvZ3Jlc3NTdWJqZWN0LnBpcGUoXG4gICAgICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgdXBsb2FkUHJvZ3Jlc3MgPVxuICAgICAgICAgICAgdGhpcy51cGxvYWRQcm9ncmVzc1NlcnZpY2UudXBsb2FkUHJvZ3Jlc3NTdWJqZWN0LnBpcGUoXG4gICAgICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIHRoaXMuY3VycmVudFVwbG9hZFBlcmNlbnRhZ2UgPSB1cGxvYWRQcm9ncmVzcy5waXBlKFxuICAgICAgICAgICAgbWFwKChwcm9ncmVzczogVXBsb2FkUHJvZ3Jlc3MpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQcm9ncmVzc1BlcmNlbnRhZ2UocHJvZ3Jlc3MpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy51cGxvYWRQYWNrYWdlID0gdXBsb2FkUHJvZ3Jlc3MucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigocHJvZ3Jlc3M6IFVwbG9hZFByb2dyZXNzKSA9PiAhIXByb2dyZXNzKSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaGFzVXBsb2FkUGFja2FnZXMgPSB0aGlzLnVwbG9hZFBhY2thZ2UucGlwZShcbiAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAocHJvZ3Jlc3M6IFVwbG9hZFByb2dyZXNzKSA9PlxuICAgICAgICAgICAgICAgICAgICAhIXByb2dyZXNzLm5iUGFja2FnZXMgJiYgcHJvZ3Jlc3MubmJQYWNrYWdlcyA+IDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMucHJvZ3Jlc3NCYXJUcmlnZ2VyU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyxcbiAgICAgICAgICAgIHRoaXMuYW5hbHlzaXNQcm9ncmVzcyxcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFVwbG9hZFBlcmNlbnRhZ2VcbiAgICAgICAgXSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcChcbiAgICAgICAgICAgICAgICAgICAgKFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dQcm9ncmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuYWx5c2lzUHJvZ3Jlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50VXBsb2FkUGVyY2VudGFnZVxuICAgICAgICAgICAgICAgICAgICBdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIXNob3dQcm9ncmVzcyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFhbmFseXNpc1Byb2dyZXNzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFVwbG9hZFBlcmNlbnRhZ2UgPT09IDEwMFxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVzZXQgcHJvZ3Jlc3MgZm9yIG5leHQgdXBsb2FkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRQcm9ncmVzc1NlcnZpY2UudXBsb2FkUHJvZ3Jlc3MubmV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9jdXMgYmFjayBvbiB0aGUgdHJpZ2dlci4gTm8gbmVlZCBmb3IgYSBzZXRUaW1lb3V0IGFzIHRoZSB0cmlnZ2VyIHNob3VsZCBzdGlsbCBiZSBpbiB0aGUgRE9NLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9ubHkgZG9lcyBpdCB3aGVuIHByb2dyZXNzIGJhciBpcyBoaWRkZW4sIGFuYWx5c2lzIGlzIGZpbmlzaGVkIGFuZCB1cGxvYWQgaXMgYSAxMDAlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvZ3Jlc3NCYXJUcmlnZ2VySHRtbEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9ncmVzc0JhclRyaWdnZXJIdG1sRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByeGpzLWFuZ3VsYXIvcHJlZmVyLWFzeW5jLXBpcGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucHJvZ3Jlc3NCYXJUcmlnZ2VyU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnByb2dyZXNzQmFyVHJpZ2dlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQcm9ncmVzc1BlcmNlbnRhZ2UocHJvZ3Jlc3M6IFVwbG9hZFByb2dyZXNzKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFwcm9ncmVzcykge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGVyY2VudFBlckdyb3VwID0gMTAwIC8gcHJvZ3Jlc3MubmJQYWNrYWdlcztcbiAgICAgICAgY29uc3QgbG9hZGVkUGVyR3JvdXAgPVxuICAgICAgICAgICAgKHByb2dyZXNzLmxvYWRlZCAqIHBlcmNlbnRQZXJHcm91cCkgLyBwcm9ncmVzcy50b3RhbDtcbiAgICAgICAgY29uc3QgbG9hZGVkID0gbG9hZGVkUGVyR3JvdXAgKyBwcm9ncmVzcy5wYWNrYWdlSW5kZXggKiBwZXJjZW50UGVyR3JvdXA7XG4gICAgICAgIGNvbnN0IHBlcmNlbnQgPSBNYXRoLnJvdW5kKGxvYWRlZCk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHBlcmNlbnQgPT09XG4gICAgICAgICAgICBNYXRoLnJvdW5kKHBlcmNlbnRQZXJHcm91cCAqIChwcm9ncmVzcy5wYWNrYWdlSW5kZXggKyAxKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZFByb2dyZXNzU2VydmljZS5hbmFseXNpc1Byb2dyZXNzLm5leHQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBlcmNlbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uQ29udGFpbmVyKCk6IHZvaWQge1xuICAgICAgICAvLyBIYXMgdG8gYmUgYSBzZXRUaW1lb3V0IGFzIHdlJ3JlIGFmZmVjdGluZyB0aGUgRE9NIG91dHNpZGUgb2YgdGhlIEFuZ3VsYXIgbGlmZWN5Y2xlLlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnByb2dyZXNzQmFyUGFuZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2dyZXNzQmFyUGFuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKm5nSWY9XCIoc2hvd1Byb2dyZXNzIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICByb2xlPVwiZGlhbG9nXCJcbiAgICBjbGFzcz1cInByb2dyZXNzLWJhci1jb250YWluZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIGNka1RyYXBGb2N1c1xuPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJwcm9ncmVzcy1iYXItcGFuZWwgZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLXNlbGYtY2VudGVyXCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICNwcm9ncmVzc0JhclBhbmVsXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtYmFyLXBhbmVsLXRpdGxlIHB5LTIgcHgtM1wiPlxuICAgICAgICAgICAgPGgyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJoNSBtYi0wIHB5LTFcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiJ2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIudGl0bGUnIHwgZnJvbURpY3Rpb25hcnlcIlxuICAgICAgICAgICAgPjwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtYmFyLXBhbmVsLWJvZHkgcC0zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGhhc1VwbG9hZFBhY2thZ2VzIHwgYXN5bmMpID09PSBmYWxzZVwiPlxuICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiKGFuYWx5c2lzUHJvZ3Jlc3MgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyLnVwbG9hZCcgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L3A+XG4gICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIoYW5hbHlzaXNQcm9ncmVzcyB8IGFzeW5jKSA9PT0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5hbmFseXNpcycgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L3A+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoaGFzVXBsb2FkUGFja2FnZXMgfCBhc3luYykgPT09IHRydWVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGFuYWx5c2lzUHJvZ3Jlc3MgfCBhc3luYykgPT09IGZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInVwbG9hZFBhY2thZ2UgfCBhc3luYyBhcyB1cGxvYWRQYWNrYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIuZ3JvdXAudXBsb2FkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhY2thZ2VJbmRleDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwbG9hZFBhY2thZ2UucGFja2FnZUluZGV4ICsgMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmJQYWNrYWdlczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGxvYWRQYWNrYWdlLm5iUGFja2FnZXMudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+PC9wPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoYW5hbHlzaXNQcm9ncmVzcyB8IGFzeW5jKSA9PT0gdHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ1cGxvYWRQYWNrYWdlIHwgYXN5bmMgYXMgdXBsb2FkUGFja2FnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyLmdyb3VwLmFuYWx5c2lzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhY2thZ2VJbmRleDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwbG9hZFBhY2thZ2UucGFja2FnZUluZGV4ICsgMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmJQYWNrYWdlczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGxvYWRQYWNrYWdlLm5iUGFja2FnZXMudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+PC9wPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8IS0tIE5lZWQgdG8gYWRkIGEgdGFiaW5kZXg9XCIwXCIgKGhlcmUgb24gcHJvZ3Jlc3MpIG90aGVyd2lzZSBjZGtUcmFwRm9jdXMgd2lsbCBub3Qgd29yayAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc1wiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXJyZW50VXBsb2FkUGVyY2VudGFnZSB8IGFzeW5jIGFzIHByb2dyZXNzXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cInByb2dyZXNzYmFyXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmVzcy1iYXIgYmctc3VjY2Vzc1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5wcm9ncmVzcy1iYXItYW5pbWF0ZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoYW5hbHlzaXNQcm9ncmVzcyB8IGFzeW5jKSA9PT0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MucHJvZ3Jlc3MtYmFyLXN0cmlwZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoYW5hbHlzaXNQcm9ncmVzcyB8IGFzeW5jKSA9PT0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwicHJvZ3Jlc3MgKyAnJSdcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cInByb2dyZXNzXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW1pbj1cIjBcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PVwiMTAwXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoYW5hbHlzaXNQcm9ncmVzcyB8IGFzeW5jKSA9PT0gZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHByb2dyZXNzICsgJyUnIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c21hbGxcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIoaGFzVXBsb2FkUGFja2FnZXMgfCBhc3luYykgPT09IHRydWVcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyLmdyb3VwLmluZm8nIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvc21hbGw+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdXBsb2FkL2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIvZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdXBsb2FkL2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIvZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULEtBQUssRUFFTCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFVMUQsTUFBTSxPQUFPLCtCQUErQjtJQWdCeEMsWUFBb0IscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUNuRSxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDZixJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2pCLENBQUM7UUFFRixJQUFJLENBQUMsZ0JBQWdCO1lBQ2pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENB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LENBQUM7SUFDbkIsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixzRkFBc0Y7UUFDdEYsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEQsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F0SFEsK0JBQStCO21HQUEvQiwrQkFBK0IsbVFDbEI1Qyw4eElBbUdBOzs0RkRqRmEsK0JBQStCO2tCQUwzQyxTQUFTOytCQUNJLDJCQUEyQjswRkFNckMsNkJBQTZCO3NCQUQ1QixLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHNoYXJlUmVwbGF5LCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFVwbG9hZFByb2dyZXNzU2VydmljZSB9IGZyb20gJy4vdXBsb2FkLXByb2dyZXNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXBsb2FkUHJvZ3Jlc3MgfSBmcm9tICcuL3VwbG9hZC1wcm9ncmVzcy50eXBlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5VcGxvYWRQcm9ncmVzc0JhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBwcm9ncmVzc0JhclRyaWdnZXJIdG1sRWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdwcm9ncmVzc0JhclBhbmVsJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHJvZ3Jlc3NCYXJQYW5lbDogRWxlbWVudFJlZjtcblxuICAgIHNob3dQcm9ncmVzczogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBhbmFseXNpc1Byb2dyZXNzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGN1cnJlbnRVcGxvYWRQZXJjZW50YWdlOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgICBoYXNVcGxvYWRQYWNrYWdlczogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICB1cGxvYWRQYWNrYWdlOiBPYnNlcnZhYmxlPFVwbG9hZFByb2dyZXNzPjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvZ3Jlc3NCYXJUcmlnZ2VyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVwbG9hZFByb2dyZXNzU2VydmljZTogVXBsb2FkUHJvZ3Jlc3NTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gdGhpcy51cGxvYWRQcm9ncmVzc1NlcnZpY2Uuc2hvd1Byb2dyZXNzU3ViamVjdC5waXBlKFxuICAgICAgICAgICAgdGFwKHNob3dQcm9ncmVzcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHNob3dQcm9ncmVzcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25Db250YWluZXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5hbmFseXNpc1Byb2dyZXNzID1cbiAgICAgICAgICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3NTZXJ2aWNlLmFuYWx5c2lzUHJvZ3Jlc3NTdWJqZWN0LnBpcGUoXG4gICAgICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgdXBsb2FkUHJvZ3Jlc3MgPVxuICAgICAgICAgICAgdGhpcy51cGxvYWRQcm9ncmVzc1NlcnZpY2UudXBsb2FkUHJvZ3Jlc3NTdWJqZWN0LnBpcGUoXG4gICAgICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIHRoaXMuY3VycmVudFVwbG9hZFBlcmNlbnRhZ2UgPSB1cGxvYWRQcm9ncmVzcy5waXBlKFxuICAgICAgICAgICAgbWFwKChwcm9ncmVzczogVXBsb2FkUHJvZ3Jlc3MpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQcm9ncmVzc1BlcmNlbnRhZ2UocHJvZ3Jlc3MpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy51cGxvYWRQYWNrYWdlID0gdXBsb2FkUHJvZ3Jlc3MucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigocHJvZ3Jlc3M6IFVwbG9hZFByb2dyZXNzKSA9PiAhIXByb2dyZXNzKSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaGFzVXBsb2FkUGFja2FnZXMgPSB0aGlzLnVwbG9hZFBhY2thZ2UucGlwZShcbiAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAocHJvZ3Jlc3M6IFVwbG9hZFByb2dyZXNzKSA9PlxuICAgICAgICAgICAgICAgICAgICAhIXByb2dyZXNzLm5iUGFja2FnZXMgJiYgcHJvZ3Jlc3MubmJQYWNrYWdlcyA+IDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMucHJvZ3Jlc3NCYXJUcmlnZ2VyU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyxcbiAgICAgICAgICAgIHRoaXMuYW5hbHlzaXNQcm9ncmVzcyxcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFVwbG9hZFBlcmNlbnRhZ2VcbiAgICAgICAgXSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcChcbiAgICAgICAgICAgICAgICAgICAgKFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dQcm9ncmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuYWx5c2lzUHJvZ3Jlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50VXBsb2FkUGVyY2VudGFnZVxuICAgICAgICAgICAgICAgICAgICBdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIXNob3dQcm9ncmVzcyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFhbmFseXNpc1Byb2dyZXNzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFVwbG9hZFBlcmNlbnRhZ2UgPT09IDEwMFxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVzZXQgcHJvZ3Jlc3MgZm9yIG5leHQgdXBsb2FkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRQcm9ncmVzc1NlcnZpY2UudXBsb2FkUHJvZ3Jlc3MubmV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9jdXMgYmFjayBvbiB0aGUgdHJpZ2dlci4gTm8gbmVlZCBmb3IgYSBzZXRUaW1lb3V0IGFzIHRoZSB0cmlnZ2VyIHNob3VsZCBzdGlsbCBiZSBpbiB0aGUgRE9NLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9ubHkgZG9lcyBpdCB3aGVuIHByb2dyZXNzIGJhciBpcyBoaWRkZW4sIGFuYWx5c2lzIGlzIGZpbmlzaGVkIGFuZCB1cGxvYWQgaXMgYSAxMDAlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvZ3Jlc3NCYXJUcmlnZ2VySHRtbEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9ncmVzc0JhclRyaWdnZXJIdG1sRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByeGpzLWFuZ3VsYXIvcHJlZmVyLWFzeW5jLXBpcGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucHJvZ3Jlc3NCYXJUcmlnZ2VyU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnByb2dyZXNzQmFyVHJpZ2dlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQcm9ncmVzc1BlcmNlbnRhZ2UocHJvZ3Jlc3M6IFVwbG9hZFByb2dyZXNzKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFwcm9ncmVzcykge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGVyY2VudFBlckdyb3VwID0gMTAwIC8gcHJvZ3Jlc3MubmJQYWNrYWdlcztcbiAgICAgICAgY29uc3QgbG9hZGVkUGVyR3JvdXAgPVxuICAgICAgICAgICAgKHByb2dyZXNzLmxvYWRlZCAqIHBlcmNlbnRQZXJHcm91cCkgLyBwcm9ncmVzcy50b3RhbDtcbiAgICAgICAgY29uc3QgbG9hZGVkID0gbG9hZGVkUGVyR3JvdXAgKyBwcm9ncmVzcy5wYWNrYWdlSW5kZXggKiBwZXJjZW50UGVyR3JvdXA7XG4gICAgICAgIGNvbnN0IHBlcmNlbnQgPSBNYXRoLnJvdW5kKGxvYWRlZCk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHBlcmNlbnQgPT09XG4gICAgICAgICAgICBNYXRoLnJvdW5kKHBlcmNlbnRQZXJHcm91cCAqIChwcm9ncmVzcy5wYWNrYWdlSW5kZXggKyAxKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZFByb2dyZXNzU2VydmljZS5hbmFseXNpc1Byb2dyZXNzLm5leHQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBlcmNlbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uQ29udGFpbmVyKCk6IHZvaWQge1xuICAgICAgICAvLyBIYXMgdG8gYmUgYSBzZXRUaW1lb3V0IGFzIHdlJ3JlIGFmZmVjdGluZyB0aGUgRE9NIG91dHNpZGUgb2YgdGhlIEFuZ3VsYXIgbGlmZWN5Y2xlLlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnByb2dyZXNzQmFyUGFuZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2dyZXNzQmFyUGFuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKm5nSWY9XCIoc2hvd1Byb2dyZXNzIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICByb2xlPVwiZGlhbG9nXCJcbiAgICBjbGFzcz1cInByb2dyZXNzLWJhci1jb250YWluZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIGNka1RyYXBGb2N1c1xuPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJwcm9ncmVzcy1iYXItcGFuZWwgZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLXNlbGYtY2VudGVyXCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICNwcm9ncmVzc0JhclBhbmVsXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtYmFyLXBhbmVsLXRpdGxlIHB5LTIgcHgtM1wiPlxuICAgICAgICAgICAgPGgyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJoNSBtYi0wIHB5LTFcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiJ2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIudGl0bGUnIHwgZnJvbURpY3Rpb25hcnlcIlxuICAgICAgICAgICAgPjwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtYmFyLXBhbmVsLWJvZHkgcC0zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGhhc1VwbG9hZFBhY2thZ2VzIHwgYXN5bmMpID09PSBmYWxzZVwiPlxuICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiKGFuYWx5c2lzUHJvZ3Jlc3MgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyLnVwbG9hZCcgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L3A+XG4gICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIoYW5hbHlzaXNQcm9ncmVzcyB8IGFzeW5jKSA9PT0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5hbmFseXNpcycgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L3A+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoaGFzVXBsb2FkUGFja2FnZXMgfCBhc3luYykgPT09IHRydWVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGFuYWx5c2lzUHJvZ3Jlc3MgfCBhc3luYykgPT09IGZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInVwbG9hZFBhY2thZ2UgfCBhc3luYyBhcyB1cGxvYWRQYWNrYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIuZ3JvdXAudXBsb2FkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhY2thZ2VJbmRleDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwbG9hZFBhY2thZ2UucGFja2FnZUluZGV4ICsgMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmJQYWNrYWdlczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGxvYWRQYWNrYWdlLm5iUGFja2FnZXMudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+PC9wPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoYW5hbHlzaXNQcm9ncmVzcyB8IGFzeW5jKSA9PT0gdHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ1cGxvYWRQYWNrYWdlIHwgYXN5bmMgYXMgdXBsb2FkUGFja2FnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyLmdyb3VwLmFuYWx5c2lzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhY2thZ2VJbmRleDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwbG9hZFBhY2thZ2UucGFja2FnZUluZGV4ICsgMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmJQYWNrYWdlczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGxvYWRQYWNrYWdlLm5iUGFja2FnZXMudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+PC9wPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8IS0tIE5lZWQgdG8gYWRkIGEgdGFiaW5kZXg9XCIwXCIgKGhlcmUgb24gcHJvZ3Jlc3MpIG90aGVyd2lzZSBjZGtUcmFwRm9jdXMgd2lsbCBub3Qgd29yayAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc1wiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXJyZW50VXBsb2FkUGVyY2VudGFnZSB8IGFzeW5jIGFzIHByb2dyZXNzXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cInByb2dyZXNzYmFyXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmVzcy1iYXIgYmctc3VjY2Vzc1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5wcm9ncmVzcy1iYXItYW5pbWF0ZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoYW5hbHlzaXNQcm9ncmVzcyB8IGFzeW5jKSA9PT0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MucHJvZ3Jlc3MtYmFyLXN0cmlwZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoYW5hbHlzaXNQcm9ncmVzcyB8IGFzeW5jKSA9PT0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwicHJvZ3Jlc3MgKyAnJSdcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cInByb2dyZXNzXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW1pbj1cIjBcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PVwiMTAwXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoYW5hbHlzaXNQcm9ncmVzcyB8IGFzeW5jKSA9PT0gZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHByb2dyZXNzICsgJyUnIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c21hbGxcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIoaGFzVXBsb2FkUGFja2FnZXMgfCBhc3luYykgPT09IHRydWVcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyLmdyb3VwLmluZm8nIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvc21hbGw+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -6,11 +6,11 @@ import { SdkDictionaryModule } from '../../sdk-dictionary/sdk-dictionary.module'
|
|
|
6
6
|
import { FoehnUploadProgressBarComponent } from './foehn-upload-progress-bar.component';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class FoehnUploadProgressBarModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
11
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnUploadProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: FoehnUploadProgressBarModule, declarations: [FoehnUploadProgressBarComponent], imports: [CommonModule, A11yModule, PipeModule, SdkDictionaryModule], exports: [FoehnUploadProgressBarComponent] }); }
|
|
11
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnUploadProgressBarModule, imports: [CommonModule, A11yModule, PipeModule, SdkDictionaryModule] }); }
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: FoehnUploadProgressBarModule, decorators: [{
|
|
14
14
|
type: NgModule,
|
|
15
15
|
args: [{
|
|
16
16
|
imports: [CommonModule, A11yModule, PipeModule, SdkDictionaryModule],
|
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
18
18
|
exports: [FoehnUploadProgressBarComponent]
|
|
19
19
|
}]
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdXBsb2FkL2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIvZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFPeEYsTUFBTSxPQUFPLDRCQUE0QjsrR0FBNUIsNEJBQTRCO2dIQUE1Qiw0QkFBNEIsaUJBSHRCLCtCQUErQixhQURwQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsYUFFekQsK0JBQStCO2dIQUVoQyw0QkFBNEIsWUFKM0IsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsbUJBQW1COzs0RkFJMUQsNEJBQTRCO2tCQUx4QyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixDQUFDO29CQUNwRSxZQUFZLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDL0MsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQaXBlTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGlwZXMvcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlNb2R1bGUgfSBmcm9tICcuLi8uLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5tb2R1bGUnO1xuaW1wb3J0IHsgRm9laG5VcGxvYWRQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4vZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEExMXlNb2R1bGUsIFBpcGVNb2R1bGUsIFNka0RpY3Rpb25hcnlNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW0ZvZWhuVXBsb2FkUHJvZ3Jlc3NCYXJDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtGb2VoblVwbG9hZFByb2dyZXNzQmFyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBGb2VoblVwbG9hZFByb2dyZXNzQmFyTW9kdWxlIHt9XG4iXX0=
|
|
@@ -54,13 +54,13 @@ export class UploadProgressService {
|
|
|
54
54
|
return true;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
58
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
57
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: UploadProgressService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
58
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: UploadProgressService, providedIn: 'root' }); }
|
|
59
59
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: UploadProgressService, decorators: [{
|
|
61
61
|
type: Injectable,
|
|
62
62
|
args: [{
|
|
63
63
|
providedIn: 'root'
|
|
64
64
|
}]
|
|
65
65
|
}] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXByb2dyZXNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tdXBsb2FkL2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIvdXBsb2FkLXByb2dyZXNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7QUFRbkQsTUFBTSxPQUFPLHFCQUFxQjtJQUhsQztRQUlZLDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFpQixJQUFJLENBQUMsQ0FBQztRQUVuRSw2QkFBd0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUUvRCxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBNkR0RDtJQTNERyxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxxQkFBcUI7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCx1QkFBdUIsQ0FDbkIsS0FBcUMsRUFDckMsZUFBdUIsQ0FBQyxFQUN4QixhQUFxQixDQUFDO1FBRXRCLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLEtBQUssYUFBYSxDQUFDLElBQUk7Z0JBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixPQUFPLEtBQUssQ0FBQztZQUVqQixLQUFLLGFBQWEsQ0FBQyxjQUFjO2dCQUM3QixNQUFNLFFBQVEsR0FBbUI7b0JBQzdCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtvQkFDcEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO29CQUNsQixVQUFVO29CQUNWLFlBQVk7aUJBQ2YsQ0FBQztnQkFDRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDbkMsT0FBTyxLQUFLLENBQUM7WUFFakIsS0FBSyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7WUFDcEMsS0FBSyxhQUFhLENBQUMsY0FBYztnQkFDN0IsaURBQWlEO2dCQUNqRCxPQUFPLEtBQUssQ0FBQztZQUVqQixLQUFLLGFBQWEsQ0FBQyxRQUFRLENBQUM7WUFDNUIsS0FBSyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3hCO2dCQUNJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2xDLElBQUksWUFBWSxHQUFHLENBQUMsS0FBSyxVQUFVLEVBQUUsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7UUFDcEIsQ0FBQztJQUNMLENBQUM7K0dBakVRLHFCQUFxQjttSEFBckIscUJBQXFCLGNBRmxCLE1BQU07OzRGQUVULHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBFdmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRG9jdW1lbnRzV2l0aEVycm9ycyB9IGZyb20gJy4uL2ZvZWhuLW11bHRpLXVwbG9hZC9tdWx0aS11cGxvYWQudHlwZSc7XG5pbXBvcnQgeyBVcGxvYWRQcm9ncmVzcyB9IGZyb20gJy4vdXBsb2FkLXByb2dyZXNzLnR5cGUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZFByb2dyZXNzU2VydmljZSB7XG4gICAgcHJpdmF0ZSBfdXBsb2FkUHJvZ3Jlc3NTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVcGxvYWRQcm9ncmVzcz4obnVsbCk7XG5cbiAgICBwcml2YXRlIF9hbmFseXNpc1Byb2dyZXNzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgcHJpdmF0ZSBfc2hvd1Byb2dyZXNzID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgICBnZXQgdXBsb2FkUHJvZ3Jlc3MoKTogQmVoYXZpb3JTdWJqZWN0PFVwbG9hZFByb2dyZXNzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl91cGxvYWRQcm9ncmVzc1N1YmplY3Q7XG4gICAgfVxuXG4gICAgZ2V0IHVwbG9hZFByb2dyZXNzU3ViamVjdCgpOiBPYnNlcnZhYmxlPFVwbG9hZFByb2dyZXNzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVwbG9hZFByb2dyZXNzLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIGdldCBhbmFseXNpc1Byb2dyZXNzKCk6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hbmFseXNpc1Byb2dyZXNzU3ViamVjdDtcbiAgICB9XG5cbiAgICBnZXQgYW5hbHlzaXNQcm9ncmVzc1N1YmplY3QoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFuYWx5c2lzUHJvZ3Jlc3MuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgZ2V0IHNob3dQcm9ncmVzcygpOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd1Byb2dyZXNzO1xuICAgIH1cblxuICAgIGdldCBzaG93UHJvZ3Jlc3NTdWJqZWN0KCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93UHJvZ3Jlc3MuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgbWFuYWdlVXBsb2FkRXZlbnRGaWx0ZXIoXG4gICAgICAgIGV2ZW50OiBIdHRwRXZlbnQ8RG9jdW1lbnRzV2l0aEVycm9ycz4sXG4gICAgICAgIHBhY2thZ2VJbmRleDogbnVtYmVyID0gMCxcbiAgICAgICAgbmJQYWNrYWdlczogbnVtYmVyID0gMVxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5TZW50OlxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3M6XG4gICAgICAgICAgICAgICAgY29uc3QgcHJvZ3Jlc3M6IFVwbG9hZFByb2dyZXNzID0ge1xuICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IGV2ZW50LmxvYWRlZCxcbiAgICAgICAgICAgICAgICAgICAgdG90YWw6IGV2ZW50LnRvdGFsLFxuICAgICAgICAgICAgICAgICAgICBuYlBhY2thZ2VzLFxuICAgICAgICAgICAgICAgICAgICBwYWNrYWdlSW5kZXhcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3MubmV4dChwcm9ncmVzcyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuRG93bmxvYWRQcm9ncmVzczpcbiAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZUhlYWRlcjpcbiAgICAgICAgICAgICAgICAvLyBQb3NzaWJpbGl0eSB0byBkbyBzb21ldGhpbmcgaGVyZSBpZiB3ZSBoYXZlIHRvXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2U6XG4gICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuVXNlcjpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy5hbmFseXNpc1Byb2dyZXNzLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIGlmIChwYWNrYWdlSW5kZXggKyAxID09PSBuYlBhY2thZ2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|