@valtimo/dossier-management 12.1.1 → 12.2.0
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/esm2022/lib/components/dossier-management-assignee/dossier-management-assignee.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-connect-modal/dossier-management-connect-modal.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-create/dossier-management-create.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-detail/dossier-management-detail.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-document-definition/dossier-management-document-definition.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-list/dossier-management-list.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.mjs +7 -6
- package/esm2022/lib/components/dossier-management-processes/dossier-management-processes.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-remove-modal/dossier-management-remove-modal.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.mjs +14 -6
- package/esm2022/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-statuses/dossier-management-statuses.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.mjs +10 -14
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-edit-tab-modal/dossier-management-edit-tab-modal.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-tabs.component.mjs +9 -18
- package/esm2022/lib/components/dossier-management-tabs/tab-form/tab-form.component.mjs +16 -6
- package/esm2022/lib/components/dossier-management-upload/dossier-management-upload.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-upload/step/dossier-management-upload-step.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.mjs +9 -8
- package/esm2022/lib/components/dossier-management-widget-configurators/custom/dossier-management-widget-custom.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.mjs +17 -11
- package/esm2022/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.mjs +16 -8
- package/esm2022/lib/components/dossier-management-widget-configurators/formio/dossier-management-widget-formio.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.mjs +7 -6
- package/esm2022/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-widget-tab/editor/dossier-management-widgets-editor.component.mjs +8 -8
- package/esm2022/lib/components/dossier-management-widget-tab/json-editor/dossier-management-widgets-json-editor.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-widget-tab-edit-modal/dossier-management-widget-tab-edit-modal.mjs +4 -4
- package/esm2022/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.mjs +14 -8
- package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-content-step/widget-wizard-content-step.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-style-step/widget-wizard-style-step.component.mjs +4 -4
- package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-type-step/widget-wizard-type-step.component.mjs +5 -5
- package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-width-step/widget-wizard-width-step.component.mjs +5 -5
- package/esm2022/lib/dossier-management-routing.module.mjs +5 -5
- package/esm2022/lib/dossier-management.module.mjs +11 -8
- package/esm2022/lib/models/widget-wizard.model.mjs +5 -5
- package/esm2022/lib/services/dossier-detail.service.mjs +4 -4
- package/esm2022/lib/services/dossier-export.service.mjs +4 -4
- package/esm2022/lib/services/dossier-management.service.mjs +4 -4
- package/esm2022/lib/services/tab-management.service.mjs +9 -12
- package/esm2022/lib/services/tab.service.mjs +4 -4
- package/esm2022/lib/services/widget-fields.service.mjs +4 -4
- package/esm2022/lib/services/widget-json-editor.service.mjs +4 -4
- package/esm2022/lib/services/widget-tab-management.service.mjs +4 -4
- package/esm2022/lib/services/widget-wizard.service.mjs +4 -4
- package/fesm2022/valtimo-dossier-management.mjs +231 -204
- package/fesm2022/valtimo-dossier-management.mjs.map +1 -1
- package/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.d.ts +1 -1
- package/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.d.ts.map +1 -1
- package/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.d.ts +2 -1
- package/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.d.ts.map +1 -1
- package/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.d.ts +3 -1
- package/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.d.ts.map +1 -1
- package/lib/components/dossier-management-statuses/dossier-management-statuses.component.d.ts +1 -1
- package/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.d.ts.map +1 -1
- package/lib/components/dossier-management-tabs/dossier-management-tabs.component.d.ts +0 -1
- package/lib/components/dossier-management-tabs/dossier-management-tabs.component.d.ts.map +1 -1
- package/lib/components/dossier-management-tabs/tab-form/tab-form.component.d.ts +2 -1
- package/lib/components/dossier-management-tabs/tab-form/tab-form.component.d.ts.map +1 -1
- package/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.d.ts.map +1 -1
- package/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.d.ts +7 -5
- package/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.d.ts.map +1 -1
- package/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.d.ts +5 -3
- package/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.d.ts.map +1 -1
- package/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.d.ts.map +1 -1
- package/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.d.ts +1 -1
- package/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.d.ts.map +1 -1
- package/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.d.ts +2 -0
- package/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.d.ts.map +1 -1
- package/lib/dossier-management.module.d.ts +1 -1
- package/lib/dossier-management.module.d.ts.map +1 -1
- package/lib/services/tab-management.service.d.ts +1 -2
- package/lib/services/tab-management.service.d.ts.map +1 -1
- package/package.json +2 -2
package/esm2022/lib/components/dossier-management-upload/dossier-management-upload.component.mjs
CHANGED
|
@@ -200,10 +200,10 @@ export class DossierManagementUploadComponent {
|
|
|
200
200
|
this.showCheckboxError$.next(false);
|
|
201
201
|
}, CARBON_CONSTANTS.modalAnimationMs);
|
|
202
202
|
}
|
|
203
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
204
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementUploadComponent, selector: "valtimo-dossier-management-upload", inputs: { open: "open" }, outputs: { closeModal: "closeModal" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n *ngIf=\"{\n activeStep: activeStep$ | async,\n backButtonEnabled: backButtonEnabled$ | async,\n isStepAfterUpload: isStepAfterUpload$ | async,\n nextButtonDisabled: nextButtonDisabled$ | async,\n notificationObj: notificationObj$ | async,\n showCheckboxError: showCheckboxError$ | async,\n showCloseButton: showCloseButton$ | async,\n uploadStatus: uploadStatus$ | async\n } as obs\"\n valtimoCdsModal\n [open]=\"open\"\n showFooter=\"true\"\n class=\"valtimo-definition-uploader\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header\n [showCloseButton]=\"obs.showCloseButton\"\n (closeSelect)=\"onCloseModal(obs.isStepAfterUpload && obs.uploadStatus !== UPLOAD_STATUS.ERROR)\"\n >\n <h3 cdsModalHeaderHeading>\n {{ 'dossierManagement.importDefinition.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section [ngSwitch]=\"obs.activeStep\" cdsModalContent class=\"valtimo-definition-uploader__content\">\n <ng-template ngSwitchDefault>\n <valtimo-dossier-management-upload-step\n [message]=\"\n 'dossierManagement.importDefinition.steps.' + obs.activeStep + '.message' | translate\n \"\n [title]=\"\n 'dossierManagement.importDefinition.steps.' + obs.activeStep + '.title' | translate\n \"\n [illustration]=\"'valtimo-layout/img/' + obs.activeStep + '.svg'\"\n >\n </valtimo-dossier-management-upload-step>\n </ng-template>\n\n <form *ngSwitchCase=\"UPLOAD_STEP.FILE_SELECT\" [formGroup]=\"form\">\n <cds-file-uploader\n [accept]=\"acceptedFiles\"\n [buttonText]=\"'dossierManagement.importDefinition.upload.buttonText' | translate\"\n [description]=\"'dossierManagement.importDefinition.upload.description' | translate\"\n [multiple]=\"false\"\n [title]=\"'dossierManagement.importDefinition.upload.title' | translate\"\n buttonType=\"primary\"\n formControlName=\"file\"\n class=\"valtimo-definition-uploader__file-uploader\"\n >\n </cds-file-uploader>\n\n <ng-container *ngIf=\"!obs.nextButtonDisabled\">\n <cds-inline-notification [notificationObj]=\"obs.notificationObj\"></cds-inline-notification>\n\n <div class=\"valtimo-uploader__checkbox\">\n <cds-checkbox\n [class.valtimo-definition-uploader__checkbox--invalid]=\"obs.showCheckboxError\"\n (checkedChange)=\"onCheckedChange($event)\"\n >\n {{ 'dossierManagement.importDefinition.checkbox.message' | translate }}\n </cds-checkbox>\n\n <div *ngIf=\"obs.showCheckboxError\" class=\"valtimo-definition-uploader__error\">\n <svg cdsIcon=\"warning--filled\" size=\"16\"></svg>\n\n {{ 'dossierManagement.importDefinition.checkbox.error' | translate }}\n </div>\n </div>\n </ng-container>\n </form>\n\n <cds-progress-bar\n *ngSwitchCase=\"UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__progress-bar\"\n [label]=\"'dossierManagement.importDefinition.progressBar.label' | translate\"\n [status]=\"obs.uploadStatus\"\n [helperText]=\"\n 'dossierManagement.importDefinition.progressBar.' + obs.uploadStatus | translate\n \"\n ></cds-progress-bar>\n </section>\n\n <cds-modal-footer\n class=\"valtimo-definition-uploader__footer\"\n [class.valtimo-definition-uploader__footer--double]=\"obs.activeStep === UPLOAD_STEP.PLUGINS\"\n >\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"ghost\"\n (click)=\"onCloseModal(obs.isStepAfterUpload)\"\n >\n {{ (obs.isStepAfterUpload ? 'interface.skip' : 'interface.cancel') | translate }}\n </button>\n\n <div class=\"valtimo-definition-uploader__actions\">\n <button\n *ngIf=\"obs.backButtonEnabled\"\n cdsButton=\"secondary\"\n (click)=\"onBackClick(obs.activeStep)\"\n >\n {{ 'interface.back' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.DASHBOARD\"\n cdsButton=\"primary\"\n [disabled]=\"obs.nextButtonDisabled\"\n (click)=\"onNextClick(obs.activeStep)\"\n >\n {{\n (obs.activeStep === UPLOAD_STEP.FILE_SELECT\n ? 'dossierManagement.importDefinition.startUpload'\n : 'interface.next'\n ) | translate\n }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus === UPLOAD_STATUS.ERROR || obs.activeStep === UPLOAD_STEP.DASHBOARD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"primary\"\n (click)=\"onCloseModal(true)\"\n >\n {{ 'interface.finish' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-uploader__content,.valtimo-definition-uploader__content form{display:flex;flex-direction:column;gap:16px}.valtimo-definition-uploader__footer ::ng-deep .cds--modal-footer{justify-content:unset!important;display:grid!important;grid-template-columns:1fr 1fr 2fr!important;grid-template-areas:\"cancel . actions\"!important}.valtimo-definition-uploader__footer--double ::ng-deep .cds--modal-footer{grid-template-columns:1fr 1fr!important;grid-template-areas:\"cancel actions\"!important}.valtimo-definition-uploader__progress-bar{height:100%;display:flex;flex-direction:column;justify-content:center}.valtimo-definition-uploader__error{display:flex;align-items:center;gap:10px;color:#da1e28;fill:#da1e28;font-size:12px}.valtimo-definition-uploader__cancel{grid-area:cancel;width:100%}.valtimo-definition-uploader__actions{grid-area:actions;display:flex}.valtimo-definition-uploader__actions button{flex:unset;width:100%}.valtimo-definition-uploader__file-uploader ::ng-deep cds-file{max-width:unset}.valtimo-definition-uploader__checkbox{display:flex;flex-direction:column;gap:8px}.valtimo-definition-uploader__checkbox--invalid ::ng-deep label:before{border-color:#da1e28;margin-inline:0}.valtimo-definition-uploader ::ng-deep .cds--modal-container{height:550px}.valtimo-definition-uploader ::ng-deep .cds--checkbox-label-text{color:#000}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i4.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i4.FileUploader, selector: "cds-file-uploader, ibm-file-uploader", inputs: ["buttonText", "buttonType", "title", "description", "accept", "multiple", "skeleton", "size", "fileItemSize", "drop", "dropText", "fileUploaderId", "files", "disabled"], outputs: ["filesChange"] }, { kind: "component", type: i4.ProgressBar, selector: "cds-progress-bar, ibm-progress-bar", inputs: ["value", "id", "label", "helperText", "max", "type", "status", "size"] }, { kind: "component", type: i8.DossierManagementUploadStepComponent, selector: "valtimo-dossier-management-upload-step", inputs: ["illustration", "message", "title"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
203
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementUploadComponent, deps: [{ token: i1.DocumentService }, { token: i2.DossierManagementService }, { token: i3.FormBuilder }, { token: i4.IconService }, { token: i5.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
204
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierManagementUploadComponent, selector: "valtimo-dossier-management-upload", inputs: { open: "open" }, outputs: { closeModal: "closeModal" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n *ngIf=\"{\n activeStep: activeStep$ | async,\n backButtonEnabled: backButtonEnabled$ | async,\n isStepAfterUpload: isStepAfterUpload$ | async,\n nextButtonDisabled: nextButtonDisabled$ | async,\n notificationObj: notificationObj$ | async,\n showCheckboxError: showCheckboxError$ | async,\n showCloseButton: showCloseButton$ | async,\n uploadStatus: uploadStatus$ | async\n } as obs\"\n valtimoCdsModal\n [open]=\"open\"\n showFooter=\"true\"\n class=\"valtimo-definition-uploader\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header\n [showCloseButton]=\"obs.showCloseButton\"\n (closeSelect)=\"onCloseModal(obs.isStepAfterUpload && obs.uploadStatus !== UPLOAD_STATUS.ERROR)\"\n >\n <h3 cdsModalHeaderHeading>\n {{ 'dossierManagement.importDefinition.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section [ngSwitch]=\"obs.activeStep\" cdsModalContent class=\"valtimo-definition-uploader__content\">\n <ng-template ngSwitchDefault>\n <valtimo-dossier-management-upload-step\n [message]=\"\n 'dossierManagement.importDefinition.steps.' + obs.activeStep + '.message' | translate\n \"\n [title]=\"\n 'dossierManagement.importDefinition.steps.' + obs.activeStep + '.title' | translate\n \"\n [illustration]=\"'valtimo-layout/img/' + obs.activeStep + '.svg'\"\n >\n </valtimo-dossier-management-upload-step>\n </ng-template>\n\n <form *ngSwitchCase=\"UPLOAD_STEP.FILE_SELECT\" [formGroup]=\"form\">\n <cds-file-uploader\n [accept]=\"acceptedFiles\"\n [buttonText]=\"'dossierManagement.importDefinition.upload.buttonText' | translate\"\n [description]=\"'dossierManagement.importDefinition.upload.description' | translate\"\n [multiple]=\"false\"\n [title]=\"'dossierManagement.importDefinition.upload.title' | translate\"\n buttonType=\"primary\"\n formControlName=\"file\"\n class=\"valtimo-definition-uploader__file-uploader\"\n >\n </cds-file-uploader>\n\n <ng-container *ngIf=\"!obs.nextButtonDisabled\">\n <cds-inline-notification [notificationObj]=\"obs.notificationObj\"></cds-inline-notification>\n\n <div class=\"valtimo-uploader__checkbox\">\n <cds-checkbox\n [class.valtimo-definition-uploader__checkbox--invalid]=\"obs.showCheckboxError\"\n (checkedChange)=\"onCheckedChange($event)\"\n >\n {{ 'dossierManagement.importDefinition.checkbox.message' | translate }}\n </cds-checkbox>\n\n <div *ngIf=\"obs.showCheckboxError\" class=\"valtimo-definition-uploader__error\">\n <svg cdsIcon=\"warning--filled\" size=\"16\"></svg>\n\n {{ 'dossierManagement.importDefinition.checkbox.error' | translate }}\n </div>\n </div>\n </ng-container>\n </form>\n\n <cds-progress-bar\n *ngSwitchCase=\"UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__progress-bar\"\n [label]=\"'dossierManagement.importDefinition.progressBar.label' | translate\"\n [status]=\"obs.uploadStatus\"\n [helperText]=\"\n 'dossierManagement.importDefinition.progressBar.' + obs.uploadStatus | translate\n \"\n ></cds-progress-bar>\n </section>\n\n <cds-modal-footer\n class=\"valtimo-definition-uploader__footer\"\n [class.valtimo-definition-uploader__footer--double]=\"obs.activeStep === UPLOAD_STEP.PLUGINS\"\n >\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"ghost\"\n (click)=\"onCloseModal(obs.isStepAfterUpload)\"\n >\n {{ (obs.isStepAfterUpload ? 'interface.skip' : 'interface.cancel') | translate }}\n </button>\n\n <div class=\"valtimo-definition-uploader__actions\">\n <button\n *ngIf=\"obs.backButtonEnabled\"\n cdsButton=\"secondary\"\n (click)=\"onBackClick(obs.activeStep)\"\n >\n {{ 'interface.back' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.DASHBOARD\"\n cdsButton=\"primary\"\n [disabled]=\"obs.nextButtonDisabled\"\n (click)=\"onNextClick(obs.activeStep)\"\n >\n {{\n (obs.activeStep === UPLOAD_STEP.FILE_SELECT\n ? 'dossierManagement.importDefinition.startUpload'\n : 'interface.next'\n ) | translate\n }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus === UPLOAD_STATUS.ERROR || obs.activeStep === UPLOAD_STEP.DASHBOARD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"primary\"\n (click)=\"onCloseModal(true)\"\n >\n {{ 'interface.finish' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-uploader__content,.valtimo-definition-uploader__content form{display:flex;flex-direction:column;gap:16px}.valtimo-definition-uploader__footer ::ng-deep .cds--modal-footer{justify-content:unset!important;display:grid!important;grid-template-columns:1fr 1fr 2fr!important;grid-template-areas:\"cancel . actions\"!important}.valtimo-definition-uploader__footer--double ::ng-deep .cds--modal-footer{grid-template-columns:1fr 1fr!important;grid-template-areas:\"cancel actions\"!important}.valtimo-definition-uploader__progress-bar{height:100%;display:flex;flex-direction:column;justify-content:center}.valtimo-definition-uploader__error{display:flex;align-items:center;gap:10px;color:#da1e28;fill:#da1e28;font-size:12px}.valtimo-definition-uploader__cancel{grid-area:cancel;width:100%}.valtimo-definition-uploader__actions{grid-area:actions;display:flex}.valtimo-definition-uploader__actions button{flex:unset;width:100%}.valtimo-definition-uploader__file-uploader ::ng-deep cds-file{max-width:unset}.valtimo-definition-uploader__checkbox{display:flex;flex-direction:column;gap:8px}.valtimo-definition-uploader__checkbox--invalid ::ng-deep label:before{border-color:#da1e28;margin-inline:0}.valtimo-definition-uploader ::ng-deep .cds--modal-container{height:550px}.valtimo-definition-uploader ::ng-deep .cds--checkbox-label-text{color:#000}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i4.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i4.FileUploader, selector: "cds-file-uploader, ibm-file-uploader", inputs: ["buttonText", "buttonType", "title", "description", "accept", "multiple", "skeleton", "size", "fileItemSize", "drop", "dropText", "fileUploaderId", "files", "disabled"], outputs: ["filesChange"] }, { kind: "component", type: i4.ProgressBar, selector: "cds-progress-bar, ibm-progress-bar", inputs: ["value", "id", "label", "helperText", "max", "type", "status", "size"] }, { kind: "component", type: i8.DossierManagementUploadStepComponent, selector: "valtimo-dossier-management-upload-step", inputs: ["illustration", "message", "title"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
205
205
|
}
|
|
206
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementUploadComponent, decorators: [{
|
|
207
207
|
type: Component,
|
|
208
208
|
args: [{ selector: 'valtimo-dossier-management-upload', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n *ngIf=\"{\n activeStep: activeStep$ | async,\n backButtonEnabled: backButtonEnabled$ | async,\n isStepAfterUpload: isStepAfterUpload$ | async,\n nextButtonDisabled: nextButtonDisabled$ | async,\n notificationObj: notificationObj$ | async,\n showCheckboxError: showCheckboxError$ | async,\n showCloseButton: showCloseButton$ | async,\n uploadStatus: uploadStatus$ | async\n } as obs\"\n valtimoCdsModal\n [open]=\"open\"\n showFooter=\"true\"\n class=\"valtimo-definition-uploader\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header\n [showCloseButton]=\"obs.showCloseButton\"\n (closeSelect)=\"onCloseModal(obs.isStepAfterUpload && obs.uploadStatus !== UPLOAD_STATUS.ERROR)\"\n >\n <h3 cdsModalHeaderHeading>\n {{ 'dossierManagement.importDefinition.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section [ngSwitch]=\"obs.activeStep\" cdsModalContent class=\"valtimo-definition-uploader__content\">\n <ng-template ngSwitchDefault>\n <valtimo-dossier-management-upload-step\n [message]=\"\n 'dossierManagement.importDefinition.steps.' + obs.activeStep + '.message' | translate\n \"\n [title]=\"\n 'dossierManagement.importDefinition.steps.' + obs.activeStep + '.title' | translate\n \"\n [illustration]=\"'valtimo-layout/img/' + obs.activeStep + '.svg'\"\n >\n </valtimo-dossier-management-upload-step>\n </ng-template>\n\n <form *ngSwitchCase=\"UPLOAD_STEP.FILE_SELECT\" [formGroup]=\"form\">\n <cds-file-uploader\n [accept]=\"acceptedFiles\"\n [buttonText]=\"'dossierManagement.importDefinition.upload.buttonText' | translate\"\n [description]=\"'dossierManagement.importDefinition.upload.description' | translate\"\n [multiple]=\"false\"\n [title]=\"'dossierManagement.importDefinition.upload.title' | translate\"\n buttonType=\"primary\"\n formControlName=\"file\"\n class=\"valtimo-definition-uploader__file-uploader\"\n >\n </cds-file-uploader>\n\n <ng-container *ngIf=\"!obs.nextButtonDisabled\">\n <cds-inline-notification [notificationObj]=\"obs.notificationObj\"></cds-inline-notification>\n\n <div class=\"valtimo-uploader__checkbox\">\n <cds-checkbox\n [class.valtimo-definition-uploader__checkbox--invalid]=\"obs.showCheckboxError\"\n (checkedChange)=\"onCheckedChange($event)\"\n >\n {{ 'dossierManagement.importDefinition.checkbox.message' | translate }}\n </cds-checkbox>\n\n <div *ngIf=\"obs.showCheckboxError\" class=\"valtimo-definition-uploader__error\">\n <svg cdsIcon=\"warning--filled\" size=\"16\"></svg>\n\n {{ 'dossierManagement.importDefinition.checkbox.error' | translate }}\n </div>\n </div>\n </ng-container>\n </form>\n\n <cds-progress-bar\n *ngSwitchCase=\"UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__progress-bar\"\n [label]=\"'dossierManagement.importDefinition.progressBar.label' | translate\"\n [status]=\"obs.uploadStatus\"\n [helperText]=\"\n 'dossierManagement.importDefinition.progressBar.' + obs.uploadStatus | translate\n \"\n ></cds-progress-bar>\n </section>\n\n <cds-modal-footer\n class=\"valtimo-definition-uploader__footer\"\n [class.valtimo-definition-uploader__footer--double]=\"obs.activeStep === UPLOAD_STEP.PLUGINS\"\n >\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"ghost\"\n (click)=\"onCloseModal(obs.isStepAfterUpload)\"\n >\n {{ (obs.isStepAfterUpload ? 'interface.skip' : 'interface.cancel') | translate }}\n </button>\n\n <div class=\"valtimo-definition-uploader__actions\">\n <button\n *ngIf=\"obs.backButtonEnabled\"\n cdsButton=\"secondary\"\n (click)=\"onBackClick(obs.activeStep)\"\n >\n {{ 'interface.back' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.DASHBOARD\"\n cdsButton=\"primary\"\n [disabled]=\"obs.nextButtonDisabled\"\n (click)=\"onNextClick(obs.activeStep)\"\n >\n {{\n (obs.activeStep === UPLOAD_STEP.FILE_SELECT\n ? 'dossierManagement.importDefinition.startUpload'\n : 'interface.next'\n ) | translate\n }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus === UPLOAD_STATUS.ERROR || obs.activeStep === UPLOAD_STEP.DASHBOARD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"primary\"\n (click)=\"onCloseModal(true)\"\n >\n {{ 'interface.finish' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-uploader__content,.valtimo-definition-uploader__content form{display:flex;flex-direction:column;gap:16px}.valtimo-definition-uploader__footer ::ng-deep .cds--modal-footer{justify-content:unset!important;display:grid!important;grid-template-columns:1fr 1fr 2fr!important;grid-template-areas:\"cancel . actions\"!important}.valtimo-definition-uploader__footer--double ::ng-deep .cds--modal-footer{grid-template-columns:1fr 1fr!important;grid-template-areas:\"cancel actions\"!important}.valtimo-definition-uploader__progress-bar{height:100%;display:flex;flex-direction:column;justify-content:center}.valtimo-definition-uploader__error{display:flex;align-items:center;gap:10px;color:#da1e28;fill:#da1e28;font-size:12px}.valtimo-definition-uploader__cancel{grid-area:cancel;width:100%}.valtimo-definition-uploader__actions{grid-area:actions;display:flex}.valtimo-definition-uploader__actions button{flex:unset;width:100%}.valtimo-definition-uploader__file-uploader ::ng-deep cds-file{max-width:unset}.valtimo-definition-uploader__checkbox{display:flex;flex-direction:column;gap:8px}.valtimo-definition-uploader__checkbox--invalid ::ng-deep label:before{border-color:#da1e28;margin-inline:0}.valtimo-definition-uploader ::ng-deep .cds--modal-container{height:550px}.valtimo-definition-uploader ::ng-deep .cds--checkbox-label-text{color:#000}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
209
209
|
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2.DossierManagementService }, { type: i3.FormBuilder }, { type: i4.IconService }, { type: i5.TranslateService }], propDecorators: { open: [{
|
|
@@ -211,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
211
211
|
}], closeModal: [{
|
|
212
212
|
type: Output
|
|
213
213
|
}] } });
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZG9zc2llci1tYW5hZ2VtZW50LXVwbG9hZC9kb3NzaWVyLW1hbmFnZW1lbnQtdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdXBsb2FkL2Rvc3NpZXItbWFuYWdlbWVudC11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTBDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFOUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLCtCQUErQixFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBRW5GLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVwRyxPQUFPLEVBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7OztBQVF4RixNQUFNLE9BQU8sZ0NBQWdDO0lBMEQzQyxZQUNtQixlQUFnQyxFQUNoQyx3QkFBa0Qs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LElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDeEMsQ0FBQzs4R0E1T1UsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsMElDeEM3QyxxZ0xBbUpBOzsyRkQzR2EsZ0NBQWdDO2tCQU41QyxTQUFTOytCQUNFLG1DQUFtQyxtQkFHNUIsdUJBQXVCLENBQUMsTUFBTTs4TUFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtXYXJuaW5nRmlsbGVkMTZ9IGZyb20gJ0BjYXJib24vaWNvbnMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q0FSQk9OX0NPTlNUQU5UU30gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0RvY3VtZW50RGVmaW5pdGlvbkNyZWF0ZVJlcXVlc3QsIERvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtGaWxlSXRlbSwgSWNvblNlcnZpY2UsIE5vdGlmaWNhdGlvbkNvbnRlbnR9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBzd2l0Y2hNYXAsIHRha2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtEb3NzaWVyTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Rvc3NpZXItbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7U1RFUFMsIFVQTE9BRF9TVEFUVVMsIFVQTE9BRF9TVEVQfSBmcm9tICcuL2Rvc3NpZXItbWFuYWdlbWVudC11cGxvYWQuY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rvc3NpZXItbWFuYWdlbWVudC11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb3NzaWVyLW1hbmFnZW1lbnQtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudFVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgb3BlbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgY2xvc2VNb2RhbCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgYWNjZXB0ZWRGaWxlczogc3RyaW5nW10gPSBbJy5qc29uJywgJy56aXAnXTtcbiAgcHVibGljIHNlbGVjdGVkRmlsZTogRmlsZSB8IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgVVBMT0FEX1NURVAgPSBVUExPQURfU1RFUDtcbiAgcHVibGljIHJlYWRvbmx5IFVQTE9BRF9TVEFUVVMgPSBVUExPQURfU1RBVFVTO1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlU3RlcCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVQTE9BRF9TVEVQPihVUExPQURfU1RFUC5QTFVHSU5TKTtcbiAgcHVibGljIHJlYWRvbmx5IGJhY2tCdXR0b25FbmFibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYWN0aXZlU3RlcCQucGlwZShcbiAgICBtYXAoKGFjdGl2ZVN0ZXA6IFVQTE9BRF9TVEVQKSA9PlxuICAgICAgW1VQTE9BRF9TVEVQLkZJTEVfU0VMRUNULCBVUExPQURfU1RFUC5BQ0NFU1NfQ09OVFJPTCwgVVBMT0FEX1NURVAuREFTSEJPQVJEXS5pbmNsdWRlcyhcbiAgICAgICAgYWN0aXZlU3RlcFxuICAgICAgKVxuICAgIClcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IGlzU3RlcEFmdGVyVXBsb2FkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYWN0aXZlU3RlcCQucGlwZShcbiAgICBtYXAoXG4gICAgICAoYWN0aXZlU3RlcDogVVBMT0FEX1NURVApID0+XG4gICAgICAgICFbVVBMT0FEX1NURVAuUExVR0lOUywgVVBMT0FEX1NURVAuRklMRV9TRUxFQ1RdLmluY2x1ZGVzKGFjdGl2ZVN0ZXApXG4gICAgKVxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgc2hvd0Nsb3NlQnV0dG9uJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYWN0aXZlU3RlcCQucGlwZShcbiAgICBtYXAoKGFjdGl2ZVN0ZXA6IFVQTE9BRF9TVEVQKSA9PlxuICAgICAgW1VQTE9BRF9TVEVQLlBMVUdJTlMsIFVQTE9BRF9TVEVQLkZJTEVfU0VMRUNULCBVUExPQURfU1RFUC5GSUxFX1VQTE9BRF0uaW5jbHVkZXMoYWN0aXZlU3RlcClcbiAgICApXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBuZXh0QnV0dG9uRGlzYWJsZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5hY3RpdmVTdGVwJCxcbiAgICB0aGlzLl9kaXNhYmxlZCQsXG4gIF0pLnBpcGUobWFwKChbYWN0aXZlU3RlcCwgZGlzYWJsZWRdKSA9PiBhY3RpdmVTdGVwICE9PSBVUExPQURfU1RFUC5QTFVHSU5TICYmIGRpc2FibGVkKSk7XG4gIHB1YmxpYyByZWFkb25seSBub3RpZmljYXRpb25PYmokOiBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvbkNvbnRlbnQ+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgnaW50ZXJmYWNlLndhcm5pbmcnKSxcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdkb3NzaWVyTWFuYWdlbWVudC5pbXBvcnREZWZpbml0aW9uLm92ZXJ3cml0ZVdhcm5pbmcnKSxcbiAgXSkucGlwZShcbiAgICBtYXAoKFt0aXRsZSwgbWVzc2FnZV0pID0+ICh7XG4gICAgICB0eXBlOiAnd2FybmluZycsXG4gICAgICB0aXRsZSxcbiAgICAgIG1lc3NhZ2UsXG4gICAgICBzaG93Q2xvc2U6IGZhbHNlLFxuICAgICAgbG93Q29udHJhc3Q6IHRydWUsXG4gICAgfSkpXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBzaG93Q2hlY2tib3hFcnJvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IHVwbG9hZFN0YXR1cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVQTE9BRF9TVEFUVVM+KFVQTE9BRF9TVEFUVVMuQUNUSVZFKTtcblxuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgZmlsZTogdGhpcy5mYi5jb250cm9sKG5ldyBTZXQ8YW55PigpLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICB9KTtcblxuICBwcml2YXRlIF9jaGVja2VkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW1wb3J0RmlsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IEZvcm1EYXRhPignJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvc3NpZXJNYW5hZ2VtZW50U2VydmljZTogRG9zc2llck1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHtcbiAgICB0aGlzLmljb25TZXJ2aWNlLnJlZ2lzdGVyKFdhcm5pbmdGaWxsZWQxNik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCA9IHRoaXMuZm9ybS5nZXQoJ2ZpbGUnKTtcbiAgICBpZiAoIWNvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZm9ybS5nZXQoJ2ZpbGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChmaWxlU2V0OiBTZXQ8RmlsZUl0ZW0+KSA9PiB7XG4gICAgICAgIGNvbnN0IFtmaWxlSXRlbV0gPSBmaWxlU2V0O1xuICAgICAgICBpZiAoIWZpbGVJdGVtKSB7XG4gICAgICAgICAgdGhpcy5fZGlzYWJsZWQkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgdGhpcy5zaG93Q2hlY2tib3hFcnJvciQubmV4dChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5fY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlSXRlbS5maWxlLnR5cGUgPT09ICdhcHBsaWNhdGlvbi9qc29uJykge1xuICAgICAgICAgIHRoaXMuc2V0SnNvbkZpbGUoZmlsZUl0ZW0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0WmlwRmlsZShmaWxlSXRlbSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMucmVzZXRNb2RhbCgpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2VNb2RhbChkZWZpbml0aW9uVXBsb2FkZWQ/OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZU1vZGFsLmVtaXQoZGVmaW5pdGlvblVwbG9hZGVkID8/IGZhbHNlKTtcbiAgICB0aGlzLnJlc2V0TW9kYWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkJhY2tDbGljayhhY3RpdmVTdGVwOiBVUExPQURfU1RFUCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZJbmRleDogbnVtYmVyID0gU1RFUFMuZmluZEluZGV4KChzdGVwOiBVUExPQURfU1RFUCkgPT4gc3RlcCA9PT0gYWN0aXZlU3RlcCkgLSAxO1xuICAgIGlmIChwcmV2SW5kZXggPT09IC0xKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hY3RpdmVTdGVwJC5uZXh0KFNURVBTW3ByZXZJbmRleF0pO1xuICB9XG5cbiAgcHVibGljIG9uTmV4dENsaWNrKGFjdGl2ZVN0ZXA6IFVQTE9BRF9TVEVQKTogdm9pZCB7XG4gICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBTVEVQUy5maW5kSW5kZXgoKHN0ZXA6IFVQTE9BRF9TVEVQKSA9PiBzdGVwID09PSBhY3RpdmVTdGVwKSArIDE7XG4gICAgaWYgKG5leHRJbmRleCA9PT0gU1RFUFMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGFjdGl2ZVN0ZXAgPT09IFVQTE9BRF9TVEVQLkZJTEVfU0VMRUNUICYmICF0aGlzLl9jaGVja2VkKSB7XG4gICAgICB0aGlzLnNob3dDaGVja2JveEVycm9yJC5uZXh0KHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlU3RlcCQubmV4dChTVEVQU1tuZXh0SW5kZXhdKTtcbiAgICBpZiAoU1RFUFNbbmV4dEluZGV4XSAhPT0gVVBMT0FEX1NURVAuRklMRV9VUExPQUQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnVwbG9hZERlZmluaXRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoZWNrZWRDaGFuZ2UoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX2NoZWNrZWQgPSBjaGVja2VkO1xuXG4gICAgaWYgKCFjaGVja2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93Q2hlY2tib3hFcnJvciQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHNldEpzb25GaWxlKGZpbGVJdGVtOiBGaWxlSXRlbSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbGUgPSBmaWxlSXRlbT8uZmlsZTtcblxuICAgIGlmICghZmlsZSkge1xuICAgICAgdGhpcy5jbGVhckpzb25TdHJpbmcoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcblxuICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSAocmVhZGVyLnJlc3VsdCA/PyAnJykudG9TdHJpbmcoKTtcbiAgICAgIGlmICh0aGlzLnN0cmluZ0lzVmFsaWRKc29uKHJlc3VsdCkpIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQkLm5leHQoZmFsc2UpO1xuICAgICAgICB0aGlzLl9pbXBvcnRGaWxlJC5uZXh0KHJlc3VsdCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jbGVhckpzb25TdHJpbmcoKTtcbiAgICAgIHRoaXMuc2V0RXJyb3JTdGF0ZShmaWxlSXRlbSk7XG4gICAgfTtcblxuICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRaaXBGaWxlKGZpbGVJdGVtOiBGaWxlSXRlbSk6IHZvaWQge1xuICAgIGNvbnN0IGZpbGUgPSBmaWxlSXRlbT8uZmlsZTtcblxuICAgIGlmICghZmlsZSkge1xuICAgICAgdGhpcy5faW1wb3J0RmlsZSQubmV4dCgnJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtmaWxlSXRlbS5maWxlXSwge3R5cGU6IGZpbGVJdGVtLmZpbGUudHlwZX0pO1xuICAgIGNvbnN0IGZkID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZmQuYXBwZW5kKCdmaWxlJywgYmxvYiwgZmlsZUl0ZW0uZmlsZS5uYW1lKTtcbiAgICB0aGlzLl9pbXBvcnRGaWxlJC5uZXh0KGZkKTtcbiAgICB0aGlzLl9kaXNhYmxlZCQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHVwbG9hZERlZmluaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzYWJsZWQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5faW1wb3J0RmlsZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGZpbGU6IHN0cmluZyB8IEZvcm1EYXRhKSA9PlxuICAgICAgICAgIGZpbGUgaW5zdGFuY2VvZiBGb3JtRGF0YVxuICAgICAgICAgICAgPyB0aGlzLmRvc3NpZXJNYW5hZ2VtZW50U2VydmljZS5pbXBvcnREb2N1bWVudERlZmluaXRpb25aaXAoZmlsZSlcbiAgICAgICAgICAgIDogdGhpcy5kb2N1bWVudFNlcnZpY2UuY3JlYXRlRG9jdW1lbnREZWZpbml0aW9uRm9yTWFuYWdlbWVudChcbiAgICAgICAgICAgICAgICBuZXcgRG9jdW1lbnREZWZpbml0aW9uQ3JlYXRlUmVxdWVzdChmaWxlKVxuICAgICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fZGlzYWJsZWQkLm5leHQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMudXBsb2FkU3RhdHVzJC5uZXh0KFVQTE9BRF9TVEFUVVMuRklOSVNIRUQpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMudXBsb2FkU3RhdHVzJC5uZXh0KFVQTE9BRF9TVEFUVVMuRVJST1IpO1xuICAgICAgICAgIHRoaXMuX2Rpc2FibGVkJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckpzb25TdHJpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5faW1wb3J0RmlsZSQubmV4dCgnJyk7XG4gIH1cblxuICBwcml2YXRlIHN0cmluZ0lzVmFsaWRKc29uKHN0cmluZzogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIEpTT04ucGFyc2Uoc3RyaW5nKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRFcnJvclN0YXRlKGZpbGVJdGVtOiBGaWxlSXRlbSk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVkJC5uZXh0KHRydWUpO1xuICAgIGZpbGVJdGVtLmludmFsaWQgPSB0cnVlO1xuICAgIGZpbGVJdGVtLmludmFsaWRUaXRsZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgJ2Rvc3NpZXJNYW5hZ2VtZW50LmltcG9ydERlZmluaXRpb24uaW52YWxpZEpzb25FcnJvci50aXRsZSdcbiAgICApO1xuICAgIGZpbGVJdGVtLmludmFsaWRUZXh0ID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAnZG9zc2llck1hbmFnZW1lbnQuaW1wb3J0RGVmaW5pdGlvbi5pbnZhbGlkSnNvbkVycm9yLnRleHQnXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRNb2RhbCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYWN0aXZlU3RlcCQubmV4dChVUExPQURfU1RFUC5QTFVHSU5TKTtcbiAgICAgIHRoaXMudXBsb2FkU3RhdHVzJC5uZXh0KFVQTE9BRF9TVEFUVVMuQUNUSVZFKTtcbiAgICAgIHRoaXMuc2hvd0NoZWNrYm94RXJyb3IkLm5leHQoZmFsc2UpO1xuICAgIH0sIENBUkJPTl9DT05TVEFOVFMubW9kYWxBbmltYXRpb25Ncyk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGNkcy1tb2RhbFxuICAqbmdJZj1cIntcbiAgICBhY3RpdmVTdGVwOiBhY3RpdmVTdGVwJCB8IGFzeW5jLFxuICAgIGJhY2tCdXR0b25FbmFibGVkOiBiYWNrQnV0dG9uRW5hYmxlZCQgfCBhc3luYyxcbiAgICBpc1N0ZXBBZnRlclVwbG9hZDogaXNTdGVwQWZ0ZXJVcGxvYWQkIHwgYXN5bmMsXG4gICAgbmV4dEJ1dHRvbkRpc2FibGVkOiBuZXh0QnV0dG9uRGlzYWJsZWQkIHwgYXN5bmMsXG4gICAgbm90aWZpY2F0aW9uT2JqOiBub3RpZmljYXRpb25PYmokIHwgYXN5bmMsXG4gICAgc2hvd0NoZWNrYm94RXJyb3I6IHNob3dDaGVja2JveEVycm9yJCB8IGFzeW5jLFxuICAgIHNob3dDbG9zZUJ1dHRvbjogc2hvd0Nsb3NlQnV0dG9uJCB8IGFzeW5jLFxuICAgIHVwbG9hZFN0YXR1czogdXBsb2FkU3RhdHVzJCB8IGFzeW5jXG4gIH0gYXMgb2JzXCJcbiAgdmFsdGltb0Nkc01vZGFsXG4gIFtvcGVuXT1cIm9wZW5cIlxuICBzaG93Rm9vdGVyPVwidHJ1ZVwiXG4gIGNsYXNzPVwidmFsdGltby1kZWZpbml0aW9uLXVwbG9hZGVyXCJcbiAgKGNsb3NlKT1cIm9uQ2xvc2VNb2RhbCgpXCJcbj5cbiAgPGNkcy1tb2RhbC1oZWFkZXJcbiAgICBbc2hvd0Nsb3NlQnV0dG9uXT1cIm9icy5zaG93Q2xvc2VCdXR0b25cIlxuICAgIChjbG9zZVNlbGVjdCk9XCJvbkNsb3NlTW9kYWwob2JzLmlzU3RlcEFmdGVyVXBsb2FkICYmIG9icy51cGxvYWRTdGF0dXMgIT09IFVQTE9BRF9TVEFUVVMuRVJST1IpXCJcbiAgPlxuICAgIDxoMyBjZHNNb2RhbEhlYWRlckhlYWRpbmc+XG4gICAgICB7eyAnZG9zc2llck1hbmFnZW1lbnQuaW1wb3J0RGVmaW5pdGlvbi50aXRsZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2gzPlxuICA8L2Nkcy1tb2RhbC1oZWFkZXI+XG5cbiAgPHNlY3Rpb24gW25nU3dpdGNoXT1cIm9icy5hY3RpdmVTdGVwXCIgY2RzTW9kYWxDb250ZW50IGNsYXNzPVwidmFsdGltby1kZWZpbml0aW9uLXVwbG9hZGVyX19jb250ZW50XCI+XG4gICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgIDx2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC11cGxvYWQtc3RlcFxuICAgICAgICBbbWVzc2FnZV09XCJcbiAgICAgICAgICAnZG9zc2llck1hbmFnZW1lbnQuaW1wb3J0RGVmaW5pdGlvbi5zdGVwcy4nICsgb2JzLmFjdGl2ZVN0ZXAgKyAnLm1lc3NhZ2UnIHwgdHJhbnNsYXRlXG4gICAgICAgIFwiXG4gICAgICAgIFt0aXRsZV09XCJcbiAgICAgICAgICAnZG9zc2llck1hbmFnZW1lbnQuaW1wb3J0RGVmaW5pdGlvbi5zdGVwcy4nICsgb2JzLmFjdGl2ZVN0ZXAgKyAnLnRpdGxlJyB8IHRyYW5zbGF0ZVxuICAgICAgICBcIlxuICAgICAgICBbaWxsdXN0cmF0aW9uXT1cIid2YWx0aW1vLWxheW91dC9pbWcvJyArIG9icy5hY3RpdmVTdGVwICsgJy5zdmcnXCJcbiAgICAgID5cbiAgICAgIDwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtdXBsb2FkLXN0ZXA+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxmb3JtICpuZ1N3aXRjaENhc2U9XCJVUExPQURfU1RFUC5GSUxFX1NFTEVDVFwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgPGNkcy1maWxlLXVwbG9hZGVyXG4gICAgICAgIFthY2NlcHRdPVwiYWNjZXB0ZWRGaWxlc1wiXG4gICAgICAgIFtidXR0b25UZXh0XT1cIidkb3NzaWVyTWFuYWdlbWVudC5pbXBvcnREZWZpbml0aW9uLnVwbG9hZC5idXR0b25UZXh0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtkZXNjcmlwdGlvbl09XCInZG9zc2llck1hbmFnZW1lbnQuaW1wb3J0RGVmaW5pdGlvbi51cGxvYWQuZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgW3RpdGxlXT1cIidkb3NzaWVyTWFuYWdlbWVudC5pbXBvcnREZWZpbml0aW9uLnVwbG9hZC50aXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICBidXR0b25UeXBlPVwicHJpbWFyeVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImZpbGVcIlxuICAgICAgICBjbGFzcz1cInZhbHRpbW8tZGVmaW5pdGlvbi11cGxvYWRlcl9fZmlsZS11cGxvYWRlclwiXG4gICAgICA+XG4gICAgICA8L2Nkcy1maWxlLXVwbG9hZGVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW9icy5uZXh0QnV0dG9uRGlzYWJsZWRcIj5cbiAgICAgICAgPGNkcy1pbmxpbmUtbm90aWZpY2F0aW9uIFtub3RpZmljYXRpb25PYmpdPVwib2JzLm5vdGlmaWNhdGlvbk9ialwiPjwvY2RzLWlubGluZS1ub3RpZmljYXRpb24+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHRpbW8tdXBsb2FkZXJfX2NoZWNrYm94XCI+XG4gICAgICAgICAgPGNkcy1jaGVja2JveFxuICAgICAgICAgICAgW2NsYXNzLnZhbHRpbW8tZGVmaW5pdGlvbi11cGxvYWRlcl9fY2hlY2tib3gtLWludmFsaWRdPVwib2JzLnNob3dDaGVja2JveEVycm9yXCJcbiAgICAgICAgICAgIChjaGVja2VkQ2hhbmdlKT1cIm9uQ2hlY2tlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnZG9zc2llck1hbmFnZW1lbnQuaW1wb3J0RGVmaW5pdGlvbi5jaGVja2JveC5tZXNzYWdlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvY2RzLWNoZWNrYm94PlxuXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIm9icy5zaG93Q2hlY2tib3hFcnJvclwiIGNsYXNzPVwidmFsdGltby1kZWZpbml0aW9uLXVwbG9hZGVyX19lcnJvclwiPlxuICAgICAgICAgICAgPHN2ZyBjZHNJY29uPVwid2FybmluZy0tZmlsbGVkXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG5cbiAgICAgICAgICAgIHt7ICdkb3NzaWVyTWFuYWdlbWVudC5pbXBvcnREZWZpbml0aW9uLmNoZWNrYm94LmVycm9yJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZm9ybT5cblxuICAgIDxjZHMtcHJvZ3Jlc3MtYmFyXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiVVBMT0FEX1NURVAuRklMRV9VUExPQURcIlxuICAgICAgY2xhc3M9XCJ2YWx0aW1vLWRlZmluaXRpb24tdXBsb2FkZXJfX3Byb2dyZXNzLWJhclwiXG4gICAgICBbbGFiZWxdPVwiJ2Rvc3NpZXJNYW5hZ2VtZW50LmltcG9ydERlZmluaXRpb24ucHJvZ3Jlc3NCYXIubGFiZWwnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtzdGF0dXNdPVwib2JzLnVwbG9hZFN0YXR1c1wiXG4gICAgICBbaGVscGVyVGV4dF09XCJcbiAgICAgICAgJ2Rvc3NpZXJNYW5hZ2VtZW50LmltcG9ydERlZmluaXRpb24ucHJvZ3Jlc3NCYXIuJyArIG9icy51cGxvYWRTdGF0dXMgfCB0cmFuc2xhdGVcbiAgICAgIFwiXG4gICAgPjwvY2RzLXByb2dyZXNzLWJhcj5cbiAgPC9zZWN0aW9uPlxuXG4gIDxjZHMtbW9kYWwtZm9vdGVyXG4gICAgY2xhc3M9XCJ2YWx0aW1vLWRlZmluaXRpb24tdXBsb2FkZXJfX2Zvb3RlclwiXG4gICAgW2NsYXNzLnZhbHRpbW8tZGVmaW5pdGlvbi11cGxvYWRlcl9fZm9vdGVyLS1kb3VibGVdPVwib2JzLmFjdGl2ZVN0ZXAgPT09IFVQTE9BRF9TVEVQLlBMVUdJTlNcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJvYnMudXBsb2FkU3RhdHVzICE9PSBVUExPQURfU1RBVFVTLkVSUk9SICYmIG9icy5hY3RpdmVTdGVwICE9PSBVUExPQURfU1RFUC5GSUxFX1VQTE9BRFwiXG4gICAgICBjbGFzcz1cInZhbHRpbW8tZGVmaW5pdGlvbi11cGxvYWRlcl9fY2FuY2VsXCJcbiAgICAgIGNkc0J1dHRvbj1cImdob3N0XCJcbiAgICAgIChjbGljayk9XCJvbkNsb3NlTW9kYWwob2JzLmlzU3RlcEFmdGVyVXBsb2FkKVwiXG4gICAgPlxuICAgICAge3sgKG9icy5pc1N0ZXBBZnRlclVwbG9hZCA/ICdpbnRlcmZhY2Uuc2tpcCcgOiAnaW50ZXJmYWNlLmNhbmNlbCcpIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZGl2IGNsYXNzPVwidmFsdGltby1kZWZpbml0aW9uLXVwbG9hZGVyX19hY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwib2JzLmJhY2tCdXR0b25FbmFibGVkXCJcbiAgICAgICAgY2RzQnV0dG9uPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQmFja0NsaWNrKG9icy5hY3RpdmVTdGVwKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdpbnRlcmZhY2UuYmFjaycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwib2JzLnVwbG9hZFN0YXR1cyAhPT0gVVBMT0FEX1NUQVRVUy5FUlJPUiAmJiBvYnMuYWN0aXZlU3RlcCAhPT0gVVBMT0FEX1NURVAuREFTSEJPQVJEXCJcbiAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMubmV4dEJ1dHRvbkRpc2FibGVkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uTmV4dENsaWNrKG9icy5hY3RpdmVTdGVwKVwiXG4gICAgICA+XG4gICAgICAgIHt7XG4gICAgICAgICAgKG9icy5hY3RpdmVTdGVwID09PSBVUExPQURfU1RFUC5GSUxFX1NFTEVDVFxuICAgICAgICAgICAgPyAnZG9zc2llck1hbmFnZW1lbnQuaW1wb3J0RGVmaW5pdGlvbi5zdGFydFVwbG9hZCdcbiAgICAgICAgICAgIDogJ2ludGVyZmFjZS5uZXh0J1xuICAgICAgICAgICkgfCB0cmFuc2xhdGVcbiAgICAgICAgfX1cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwib2JzLnVwbG9hZFN0YXR1cyA9PT0gVVBMT0FEX1NUQVRVUy5FUlJPUiB8fCBvYnMuYWN0aXZlU3RlcCA9PT0gVVBMT0FEX1NURVAuREFTSEJPQVJEXCJcbiAgICAgICAgY2xhc3M9XCJ2YWx0aW1vLWRlZmluaXRpb24tdXBsb2FkZXJfX2NhbmNlbFwiXG4gICAgICAgIGNkc0J1dHRvbj1cInByaW1hcnlcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZU1vZGFsKHRydWUpXCJcbiAgICAgID5cbiAgICAgICAge3sgJ2ludGVyZmFjZS5maW5pc2gnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9jZHMtbW9kYWwtZm9vdGVyPlxuPC9jZHMtbW9kYWw+XG4iXX0=
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZG9zc2llci1tYW5hZ2VtZW50LXVwbG9hZC9kb3NzaWVyLW1hbmFnZW1lbnQtdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdXBsb2FkL2Rvc3NpZXItbWFuYWdlbWVudC11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTBDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFOUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLCtCQUErQixFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBRW5GLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVwRyxPQUFPLEVBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7OztBQVF4RixNQUFNLE9BQU8sZ0NBQWdDO0lBMEQzQyxZQUNtQixlQUFnQyxFQUNoQyx3QkFBa0Qs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LElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDeEMsQ0FBQzsrR0E1T1UsZ0NBQWdDO21HQUFoQyxnQ0FBZ0MsMElDeEM3QyxxZ0xBbUpBOzs0RkQzR2EsZ0NBQWdDO2tCQU41QyxTQUFTOytCQUNFLG1DQUFtQyxtQkFHNUIsdUJBQXVCLENBQUMsTUFBTTs4TUFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtXYXJuaW5nRmlsbGVkMTZ9IGZyb20gJ0BjYXJib24vaWNvbnMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q0FSQk9OX0NPTlNUQU5UU30gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0RvY3VtZW50RGVmaW5pdGlvbkNyZWF0ZVJlcXVlc3QsIERvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtGaWxlSXRlbSwgSWNvblNlcnZpY2UsIE5vdGlmaWNhdGlvbkNvbnRlbnR9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBzd2l0Y2hNYXAsIHRha2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtEb3NzaWVyTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Rvc3NpZXItbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7U1RFUFMsIFVQTE9BRF9TVEFUVVMsIFVQTE9BRF9TVEVQfSBmcm9tICcuL2Rvc3NpZXItbWFuYWdlbWVudC11cGxvYWQuY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rvc3NpZXItbWFuYWdlbWVudC11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb3NzaWVyLW1hbmFnZW1lbnQtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudFVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgb3BlbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgY2xvc2VNb2RhbCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgYWNjZXB0ZWRGaWxlczogc3RyaW5nW10gPSBbJy5qc29uJywgJy56aXAnXTtcbiAgcHVibGljIHNlbGVjdGVkRmlsZTogRmlsZSB8IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgVVBMT0FEX1NURVAgPSBVUExPQURfU1RFUDtcbiAgcHVibGljIHJlYWRvbmx5IFVQTE9BRF9TVEFUVVMgPSBVUExPQURfU1RBVFVTO1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlU3RlcCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVQTE9BRF9TVEVQPihVUExPQURfU1RFUC5QTFVHSU5TKTtcbiAgcHVibGljIHJlYWRvbmx5IGJhY2tCdXR0b25FbmFibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYWN0aXZlU3RlcCQucGlwZShcbiAgICBtYXAoKGFjdGl2ZVN0ZXA6IFVQTE9BRF9TVEVQKSA9PlxuICAgICAgW1VQTE9BRF9TVEVQLkZJTEVfU0VMRUNULCBVUExPQURfU1RFUC5BQ0NFU1NfQ09OVFJPTCwgVVBMT0FEX1NURVAuREFTSEJPQVJEXS5pbmNsdWRlcyhcbiAgICAgICAgYWN0aXZlU3RlcFxuICAgICAgKVxuICAgIClcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IGlzU3RlcEFmdGVyVXBsb2FkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYWN0aXZlU3RlcCQucGlwZShcbiAgICBtYXAoXG4gICAgICAoYWN0aXZlU3RlcDogVVBMT0FEX1NURVApID0+XG4gICAgICAgICFbVVBMT0FEX1NURVAuUExVR0lOUywgVVBMT0FEX1NURVAuRklMRV9TRUxFQ1RdLmluY2x1ZGVzKGFjdGl2ZVN0ZXApXG4gICAgKVxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgc2hvd0Nsb3NlQnV0dG9uJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYWN0aXZlU3RlcCQucGlwZShcbiAgICBtYXAoKGFjdGl2ZVN0ZXA6IFVQTE9BRF9TVEVQKSA9PlxuICAgICAgW1VQTE9BRF9TVEVQLlBMVUdJTlMsIFVQTE9BRF9TVEVQLkZJTEVfU0VMRUNULCBVUExPQURfU1RFUC5GSUxFX1VQTE9BRF0uaW5jbHVkZXMoYWN0aXZlU3RlcClcbiAgICApXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBuZXh0QnV0dG9uRGlzYWJsZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5hY3RpdmVTdGVwJCxcbiAgICB0aGlzLl9kaXNhYmxlZCQsXG4gIF0pLnBpcGUobWFwKChbYWN0aXZlU3RlcCwgZGlzYWJsZWRdKSA9PiBhY3RpdmVTdGVwICE9PSBVUExPQURfU1RFUC5QTFVHSU5TICYmIGRpc2FibGVkKSk7XG4gIHB1YmxpYyByZWFkb25seSBub3RpZmljYXRpb25PYmokOiBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvbkNvbnRlbnQ+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgnaW50ZXJmYWNlLndhcm5pbmcnKSxcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdkb3NzaWVyTWFuYWdlbWVudC5pbXBvcnREZWZpbml0aW9uLm92ZXJ3cml0ZVdhcm5pbmcnKSxcbiAgXSkucGlwZShcbiAgICBtYXAoKFt0aXRsZSwgbWVzc2FnZV0pID0+ICh7XG4gICAgICB0eXBlOiAnd2FybmluZycsXG4gICAgICB0aXRsZSxcbiAgICAgIG1lc3NhZ2UsXG4gICAgICBzaG93Q2xvc2U6IGZhbHNlLFxuICAgICAgbG93Q29udHJhc3Q6IHRydWUsXG4gICAgfSkpXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBzaG93Q2hlY2tib3hFcnJvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IHVwbG9hZFN0YXR1cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVQTE9BRF9TVEFUVVM+KFVQTE9BRF9TVEFUVVMuQUNUSVZFKTtcblxuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgZmlsZTogdGhpcy5mYi5jb250cm9sKG5ldyBTZXQ8YW55PigpLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICB9KTtcblxuICBwcml2YXRlIF9jaGVja2VkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW1wb3J0RmlsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IEZvcm1EYXRhPignJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvc3NpZXJNYW5hZ2VtZW50U2VydmljZTogRG9zc2llck1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHtcbiAgICB0aGlzLmljb25TZXJ2aWNlLnJlZ2lzdGVyKFdhcm5pbmdGaWxsZWQxNik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCA9IHRoaXMuZm9ybS5nZXQoJ2ZpbGUnKTtcbiAgICBpZiAoIWNvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZm9ybS5nZXQoJ2ZpbGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChmaWxlU2V0OiBTZXQ8RmlsZUl0ZW0+KSA9PiB7XG4gICAgICAgIGNvbnN0IFtmaWxlSXRlbV0gPSBmaWxlU2V0O1xuICAgICAgICBpZiAoIWZpbGVJdGVtKSB7XG4gICAgICAgICAgdGhpcy5fZGlzYWJsZWQkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgdGhpcy5zaG93Q2hlY2tib3hFcnJvciQubmV4dChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5fY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlSXRlbS5maWxlLnR5cGUgPT09ICdhcHBsaWNhdGlvbi9qc29uJykge1xuICAgICAgICAgIHRoaXMuc2V0SnNvbkZpbGUoZmlsZUl0ZW0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0WmlwRmlsZShmaWxlSXRlbSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMucmVzZXRNb2RhbCgpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2VNb2RhbChkZWZpbml0aW9uVXBsb2FkZWQ/OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZU1vZGFsLmVtaXQoZGVmaW5pdGlvblVwbG9hZGVkID8/IGZhbHNlKTtcbiAgICB0aGlzLnJlc2V0TW9kYWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkJhY2tDbGljayhhY3RpdmVTdGVwOiBVUExPQURfU1RFUCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZJbmRleDogbnVtYmVyID0gU1RFUFMuZmluZEluZGV4KChzdGVwOiBVUExPQURfU1RFUCkgPT4gc3RlcCA9PT0gYWN0aXZlU3RlcCkgLSAxO1xuICAgIGlmIChwcmV2SW5kZXggPT09IC0xKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hY3RpdmVTdGVwJC5uZXh0KFNURVBTW3ByZXZJbmRleF0pO1xuICB9XG5cbiAgcHVibGljIG9uTmV4dENsaWNrKGFjdGl2ZVN0ZXA6IFVQTE9BRF9TVEVQKTogdm9pZCB7XG4gICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBTVEVQUy5maW5kSW5kZXgoKHN0ZXA6IFVQTE9BRF9TVEVQKSA9PiBzdGVwID09PSBhY3RpdmVTdGVwKSArIDE7XG4gICAgaWYgKG5leHRJbmRleCA9PT0gU1RFUFMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGFjdGl2ZVN0ZXAgPT09IFVQTE9BRF9TVEVQLkZJTEVfU0VMRUNUICYmICF0aGlzLl9jaGVja2VkKSB7XG4gICAgICB0aGlzLnNob3dDaGVja2JveEVycm9yJC5uZXh0KHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlU3RlcCQubmV4dChTVEVQU1tuZXh0SW5kZXhdKTtcbiAgICBpZiAoU1RFUFNbbmV4dEluZGV4XSAhPT0gVVBMT0FEX1NURVAuRklMRV9VUExPQUQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnVwbG9hZERlZmluaXRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoZWNrZWRDaGFuZ2UoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX2NoZWNrZWQgPSBjaGVja2VkO1xuXG4gICAgaWYgKCFjaGVja2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93Q2hlY2tib3hFcnJvciQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHNldEpzb25GaWxlKGZpbGVJdGVtOiBGaWxlSXRlbSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbGUgPSBmaWxlSXRlbT8uZmlsZTtcblxuICAgIGlmICghZmlsZSkge1xuICAgICAgdGhpcy5jbGVhckpzb25TdHJpbmcoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcblxuICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSAocmVhZGVyLnJlc3VsdCA/PyAnJykudG9TdHJpbmcoKTtcbiAgICAgIGlmICh0aGlzLnN0cmluZ0lzVmFsaWRKc29uKHJlc3VsdCkpIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQkLm5leHQoZmFsc2UpO1xuICAgICAgICB0aGlzLl9pbXBvcnRGaWxlJC5uZXh0KHJlc3VsdCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jbGVhckpzb25TdHJpbmcoKTtcbiAgICAgIHRoaXMuc2V0RXJyb3JTdGF0ZShmaWxlSXRlbSk7XG4gICAgfTtcblxuICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRaaXBGaWxlKGZpbGVJdGVtOiBGaWxlSXRlbSk6IHZvaWQge1xuICAgIGNvbnN0IGZpbGUgPSBmaWxlSXRlbT8uZmlsZTtcblxuICAgIGlmICghZmlsZSkge1xuICAgICAgdGhpcy5faW1wb3J0RmlsZSQubmV4dCgnJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtmaWxlSXRlbS5maWxlXSwge3R5cGU6IGZpbGVJdGVtLmZpbGUudHlwZX0pO1xuICAgIGNvbnN0IGZkID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZmQuYXBwZW5kKCdmaWxlJywgYmxvYiwgZmlsZUl0ZW0uZmlsZS5uYW1lKTtcbiAgICB0aGlzLl9pbXBvcnRGaWxlJC5uZXh0KGZkKTtcbiAgICB0aGlzLl9kaXNhYmxlZCQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHVwbG9hZERlZmluaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzYWJsZWQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5faW1wb3J0RmlsZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGZpbGU6IHN0cmluZyB8IEZvcm1EYXRhKSA9PlxuICAgICAgICAgIGZpbGUgaW5zdGFuY2VvZiBGb3JtRGF0YVxuICAgICAgICAgICAgPyB0aGlzLmRvc3NpZXJNYW5hZ2VtZW50U2VydmljZS5pbXBvcnREb2N1bWVudERlZmluaXRpb25aaXAoZmlsZSlcbiAgICAgICAgICAgIDogdGhpcy5kb2N1bWVudFNlcnZpY2UuY3JlYXRlRG9jdW1lbnREZWZpbml0aW9uRm9yTWFuYWdlbWVudChcbiAgICAgICAgICAgICAgICBuZXcgRG9jdW1lbnREZWZpbml0aW9uQ3JlYXRlUmVxdWVzdChmaWxlKVxuICAgICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fZGlzYWJsZWQkLm5leHQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMudXBsb2FkU3RhdHVzJC5uZXh0KFVQTE9BRF9TVEFUVVMuRklOSVNIRUQpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMudXBsb2FkU3RhdHVzJC5uZXh0KFVQTE9BRF9TVEFUVVMuRVJST1IpO1xuICAgICAgICAgIHRoaXMuX2Rpc2FibGVkJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckpzb25TdHJpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5faW1wb3J0RmlsZSQubmV4dCgnJyk7XG4gIH1cblxuICBwcml2YXRlIHN0cmluZ0lzVmFsaWRKc29uKHN0cmluZzogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIEpTT04ucGFyc2Uoc3RyaW5nKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRFcnJvclN0YXRlKGZpbGVJdGVtOiBGaWxlSXRlbSk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVkJC5uZXh0KHRydWUpO1xuICAgIGZpbGVJdGVtLmludmFsaWQgPSB0cnVlO1xuICAgIGZpbGVJdGVtLmludmFsaWRUaXRsZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgJ2Rvc3NpZXJNYW5hZ2VtZW50LmltcG9ydERlZmluaXRpb24uaW52YWxpZEpzb25FcnJvci50aXRsZSdcbiAgICApO1xuICAgIGZpbGVJdGVtLmludmFsaWRUZXh0ID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAnZG9zc2llck1hbmFnZW1lbnQuaW1wb3J0RGVmaW5pdGlvbi5pbnZhbGlkSnNvbkVycm9yLnRleHQnXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRNb2RhbCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYWN0aXZlU3RlcCQubmV4dChVUExPQURfU1RFUC5QTFVHSU5TKTtcbiAgICAgIHRoaXMudXBsb2FkU3RhdHVzJC5uZXh0KFVQTE9BRF9TVEFUVVMuQUNUSVZFKTtcbiAgICAgIHRoaXMuc2hvd0NoZWNrYm94RXJyb3IkLm5leHQoZmFsc2UpO1xuICAgIH0sIENBUkJPTl9DT05TVEFOVFMubW9kYWxBbmltYXRpb25Ncyk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGNkcy1tb2RhbFxuICAqbmdJZj1cIntcbiAgICBhY3RpdmVTdGVwOiBhY3RpdmVTdGVwJCB8IGFzeW5jLFxuICAgIGJhY2tCdXR0b25FbmFibGVkOiBiYWNrQnV0dG9uRW5hYmxlZCQgfCBhc3luYyxcbiAgICBpc1N0ZXBBZnRlclVwbG9hZDogaXNTdGVwQWZ0ZXJVcGxvYWQkIHwgYXN5bmMsXG4gICAgbmV4dEJ1dHRvbkRpc2FibGVkOiBuZXh0QnV0dG9uRGlzYWJsZWQkIHwgYXN5bmMsXG4gICAgbm90aWZpY2F0aW9uT2JqOiBub3RpZmljYXRpb25PYmokIHwgYXN5bmMsXG4gICAgc2hvd0NoZWNrYm94RXJyb3I6IHNob3dDaGVja2JveEVycm9yJCB8IGFzeW5jLFxuICAgIHNob3dDbG9zZUJ1dHRvbjogc2hvd0Nsb3NlQnV0dG9uJCB8IGFzeW5jLFxuICAgIHVwbG9hZFN0YXR1czogdXBsb2FkU3RhdHVzJCB8IGFzeW5jXG4gIH0gYXMgb2JzXCJcbiAgdmFsdGltb0Nkc01vZGFsXG4gIFtvcGVuXT1cIm9wZW5cIlxuICBzaG93Rm9vdGVyPVwidHJ1ZVwiXG4gIGNsYXNzPVwidmFsdGltby1kZWZpbml0aW9uLXVwbG9hZGVyXCJcbiAgKGNsb3NlKT1cIm9uQ2xvc2VNb2RhbCgpXCJcbj5cbiAgPGNkcy1tb2RhbC1oZWFkZXJcbiAgICBbc2hvd0Nsb3NlQnV0dG9uXT1cIm9icy5zaG93Q2xvc2VCdXR0b25cIlxuICAgIChjbG9zZVNlbGVjdCk9XCJvbkNsb3NlTW9kYWwob2JzLmlzU3RlcEFmdGVyVXBsb2FkICYmIG9icy51cGxvYWRTdGF0dXMgIT09IFVQTE9BRF9TVEFUVVMuRVJST1IpXCJcbiAgPlxuICAgIDxoMyBjZHNNb2RhbEhlYWRlckhlYWRpbmc+XG4gICAgICB7eyAnZG9zc2llck1hbmFnZW1lbnQuaW1wb3J0RGVmaW5pdGlvbi50aXRsZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2gzPlxuICA8L2Nkcy1tb2RhbC1oZWFkZXI+XG5cbiAgPHNlY3Rpb24gW25nU3dpdGNoXT1cIm9icy5hY3RpdmVTdGVwXCIgY2RzTW9kYWxDb250ZW50IGNsYXNzPVwidmFsdGltby1kZWZpbml0aW9uLXVwbG9hZGVyX19jb250ZW50XCI+XG4gICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgIDx2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC11cGxvYWQtc3RlcFxuICAgICAgICBbbWVzc2FnZV09XCJcbiAgICAgICAgICAnZG9zc2llck1hbmFnZW1lbnQuaW1wb3J0RGVmaW5pdGlvbi5zdGVwcy4nICsgb2JzLmFjdGl2ZVN0ZXAgKyAnLm1lc3NhZ2UnIHwgdHJhbnNsYXRlXG4gICAgICAgIFwiXG4gICAgICAgIFt0aXRsZV09XCJcbiAgICAgICAgICAnZG9zc2llck1hbmFnZW1lbnQuaW1wb3J0RGVmaW5pdGlvbi5zdGVwcy4nICsgb2JzLmFjdGl2ZVN0ZXAgKyAnLnRpdGxlJyB8IHRyYW5zbGF0ZVxuICAgICAgICBcIlxuICAgICAgICBbaWxsdXN0cmF0aW9uXT1cIid2YWx0aW1vLWxheW91dC9pbWcvJyArIG9icy5hY3RpdmVTdGVwICsgJy5zdmcnXCJcbiAgICAgID5cbiAgICAgIDwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtdXBsb2FkLXN0ZXA+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxmb3JtICpuZ1N3aXRjaENhc2U9XCJVUExPQURfU1RFUC5GSUxFX1NFTEVDVFwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgPGNkcy1maWxlLXVwbG9hZGVyXG4gICAgICAgIFthY2NlcHRdPVwiYWNjZXB0ZWRGaWxlc1wiXG4gICAgICAgIFtidXR0b25UZXh0XT1cIidkb3NzaWVyTWFuYWdlbWVudC5pbXBvcnREZWZpbml0aW9uLnVwbG9hZC5idXR0b25UZXh0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtkZXNjcmlwdGlvbl09XCInZG9zc2llck1hbmFnZW1lbnQuaW1wb3J0RGVmaW5pdGlvbi51cGxvYWQuZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgW3RpdGxlXT1cIidkb3NzaWVyTWFuYWdlbWVudC5pbXBvcnREZWZpbml0aW9uLnVwbG9hZC50aXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICBidXR0b25UeXBlPVwicHJpbWFyeVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImZpbGVcIlxuICAgICAgICBjbGFzcz1cInZhbHRpbW8tZGVmaW5pdGlvbi11cGxvYWRlcl9fZmlsZS11cGxvYWRlclwiXG4gICAgICA+XG4gICAgICA8L2Nkcy1maWxlLXVwbG9hZGVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW9icy5uZXh0QnV0dG9uRGlzYWJsZWRcIj5cbiAgICAgICAgPGNkcy1pbmxpbmUtbm90aWZpY2F0aW9uIFtub3RpZmljYXRpb25PYmpdPVwib2JzLm5vdGlmaWNhdGlvbk9ialwiPjwvY2RzLWlubGluZS1ub3RpZmljYXRpb24+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHRpbW8tdXBsb2FkZXJfX2NoZWNrYm94XCI+XG4gICAgICAgICAgPGNkcy1jaGVja2JveFxuICAgICAgICAgICAgW2NsYXNzLnZhbHRpbW8tZGVmaW5pdGlvbi11cGxvYWRlcl9fY2hlY2tib3gtLWludmFsaWRdPVwib2JzLnNob3dDaGVja2JveEVycm9yXCJcbiAgICAgICAgICAgIChjaGVja2VkQ2hhbmdlKT1cIm9uQ2hlY2tlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnZG9zc2llck1hbmFnZW1lbnQuaW1wb3J0RGVmaW5pdGlvbi5jaGVja2JveC5tZXNzYWdlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvY2RzLWNoZWNrYm94PlxuXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIm9icy5zaG93Q2hlY2tib3hFcnJvclwiIGNsYXNzPVwidmFsdGltby1kZWZpbml0aW9uLXVwbG9hZGVyX19lcnJvclwiPlxuICAgICAgICAgICAgPHN2ZyBjZHNJY29uPVwid2FybmluZy0tZmlsbGVkXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG5cbiAgICAgICAgICAgIHt7ICdkb3NzaWVyTWFuYWdlbWVudC5pbXBvcnREZWZpbml0aW9uLmNoZWNrYm94LmVycm9yJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZm9ybT5cblxuICAgIDxjZHMtcHJvZ3Jlc3MtYmFyXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiVVBMT0FEX1NURVAuRklMRV9VUExPQURcIlxuICAgICAgY2xhc3M9XCJ2YWx0aW1vLWRlZmluaXRpb24tdXBsb2FkZXJfX3Byb2dyZXNzLWJhclwiXG4gICAgICBbbGFiZWxdPVwiJ2Rvc3NpZXJNYW5hZ2VtZW50LmltcG9ydERlZmluaXRpb24ucHJvZ3Jlc3NCYXIubGFiZWwnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtzdGF0dXNdPVwib2JzLnVwbG9hZFN0YXR1c1wiXG4gICAgICBbaGVscGVyVGV4dF09XCJcbiAgICAgICAgJ2Rvc3NpZXJNYW5hZ2VtZW50LmltcG9ydERlZmluaXRpb24ucHJvZ3Jlc3NCYXIuJyArIG9icy51cGxvYWRTdGF0dXMgfCB0cmFuc2xhdGVcbiAgICAgIFwiXG4gICAgPjwvY2RzLXByb2dyZXNzLWJhcj5cbiAgPC9zZWN0aW9uPlxuXG4gIDxjZHMtbW9kYWwtZm9vdGVyXG4gICAgY2xhc3M9XCJ2YWx0aW1vLWRlZmluaXRpb24tdXBsb2FkZXJfX2Zvb3RlclwiXG4gICAgW2NsYXNzLnZhbHRpbW8tZGVmaW5pdGlvbi11cGxvYWRlcl9fZm9vdGVyLS1kb3VibGVdPVwib2JzLmFjdGl2ZVN0ZXAgPT09IFVQTE9BRF9TVEVQLlBMVUdJTlNcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJvYnMudXBsb2FkU3RhdHVzICE9PSBVUExPQURfU1RBVFVTLkVSUk9SICYmIG9icy5hY3RpdmVTdGVwICE9PSBVUExPQURfU1RFUC5GSUxFX1VQTE9BRFwiXG4gICAgICBjbGFzcz1cInZhbHRpbW8tZGVmaW5pdGlvbi11cGxvYWRlcl9fY2FuY2VsXCJcbiAgICAgIGNkc0J1dHRvbj1cImdob3N0XCJcbiAgICAgIChjbGljayk9XCJvbkNsb3NlTW9kYWwob2JzLmlzU3RlcEFmdGVyVXBsb2FkKVwiXG4gICAgPlxuICAgICAge3sgKG9icy5pc1N0ZXBBZnRlclVwbG9hZCA/ICdpbnRlcmZhY2Uuc2tpcCcgOiAnaW50ZXJmYWNlLmNhbmNlbCcpIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZGl2IGNsYXNzPVwidmFsdGltby1kZWZpbml0aW9uLXVwbG9hZGVyX19hY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwib2JzLmJhY2tCdXR0b25FbmFibGVkXCJcbiAgICAgICAgY2RzQnV0dG9uPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQmFja0NsaWNrKG9icy5hY3RpdmVTdGVwKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdpbnRlcmZhY2UuYmFjaycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwib2JzLnVwbG9hZFN0YXR1cyAhPT0gVVBMT0FEX1NUQVRVUy5FUlJPUiAmJiBvYnMuYWN0aXZlU3RlcCAhPT0gVVBMT0FEX1NURVAuREFTSEJPQVJEXCJcbiAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMubmV4dEJ1dHRvbkRpc2FibGVkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uTmV4dENsaWNrKG9icy5hY3RpdmVTdGVwKVwiXG4gICAgICA+XG4gICAgICAgIHt7XG4gICAgICAgICAgKG9icy5hY3RpdmVTdGVwID09PSBVUExPQURfU1RFUC5GSUxFX1NFTEVDVFxuICAgICAgICAgICAgPyAnZG9zc2llck1hbmFnZW1lbnQuaW1wb3J0RGVmaW5pdGlvbi5zdGFydFVwbG9hZCdcbiAgICAgICAgICAgIDogJ2ludGVyZmFjZS5uZXh0J1xuICAgICAgICAgICkgfCB0cmFuc2xhdGVcbiAgICAgICAgfX1cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwib2JzLnVwbG9hZFN0YXR1cyA9PT0gVVBMT0FEX1NUQVRVUy5FUlJPUiB8fCBvYnMuYWN0aXZlU3RlcCA9PT0gVVBMT0FEX1NURVAuREFTSEJPQVJEXCJcbiAgICAgICAgY2xhc3M9XCJ2YWx0aW1vLWRlZmluaXRpb24tdXBsb2FkZXJfX2NhbmNlbFwiXG4gICAgICAgIGNkc0J1dHRvbj1cInByaW1hcnlcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZU1vZGFsKHRydWUpXCJcbiAgICAgID5cbiAgICAgICAge3sgJ2ludGVyZmFjZS5maW5pc2gnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9jZHMtbW9kYWwtZm9vdGVyPlxuPC9jZHMtbW9kYWw+XG4iXX0=
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
import { Component, Input } from '@angular/core';
|
|
17
17
|
import * as i0 from "@angular/core";
|
|
18
18
|
export class DossierManagementUploadStepComponent {
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementUploadStepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierManagementUploadStepComponent, selector: "valtimo-dossier-management-upload-step", inputs: { illustration: "illustration", message: "message", title: "title" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"valtimo-upload-step__content\">\n <div class=\"valtimo-upload-step__title\">{{ title }}</div>\n\n <div class=\"valtimo-upload-step__message\">{{ message }}</div>\n</div>\n\n<img [src]=\"illustration\" alt=\"{{ illustration }}\" class=\"valtimo-upload-step__illustration\" />\n", styles: [":host{display:flex;justify-content:space-around;align-items:center;gap:32px;height:100%}:host label{color:unset}.valtimo-upload-step__content{display:flex;flex-direction:column;gap:16px}.valtimo-upload-step__title{font-weight:600;font-size:16px}.valtimo-upload-step__message{font-size:16px;line-height:28px}.valtimo-upload-step__illustration{max-width:200px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }); }
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementUploadStepComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
24
|
args: [{ selector: 'valtimo-dossier-management-upload-step', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"valtimo-upload-step__content\">\n <div class=\"valtimo-upload-step__title\">{{ title }}</div>\n\n <div class=\"valtimo-upload-step__message\">{{ message }}</div>\n</div>\n\n<img [src]=\"illustration\" alt=\"{{ illustration }}\" class=\"valtimo-upload-step__illustration\" />\n", styles: [":host{display:flex;justify-content:space-around;align-items:center;gap:32px;height:100%}:host label{color:unset}.valtimo-upload-step__content{display:flex;flex-direction:column;gap:16px}.valtimo-upload-step__title{font-weight:600;font-size:16px}.valtimo-upload-step__message{font-size:16px;line-height:28px}.valtimo-upload-step__illustration{max-width:200px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
25
25
|
}], propDecorators: { illustration: [{
|
|
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
29
29
|
}], title: [{
|
|
30
30
|
type: Input
|
|
31
31
|
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXVwbG9hZC1zdGVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdXBsb2FkL3N0ZXAvZG9zc2llci1tYW5hZ2VtZW50LXVwbG9hZC1zdGVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdXBsb2FkL3N0ZXAvZG9zc2llci1tYW5hZ2VtZW50LXVwbG9hZC1zdGVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBTy9DLE1BQU0sT0FBTyxvQ0FBb0M7K0dBQXBDLG9DQUFvQzttR0FBcEMsb0NBQW9DLDRKQ3ZCakQscTdCQXVCQTs7NEZEQWEsb0NBQW9DO2tCQUxoRCxTQUFTOytCQUNFLHdDQUF3Qzs4QkFLekMsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtdXBsb2FkLXN0ZXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9zc2llci1tYW5hZ2VtZW50LXVwbG9hZC1zdGVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9zc2llci1tYW5hZ2VtZW50LXVwbG9hZC1zdGVwLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJNYW5hZ2VtZW50VXBsb2FkU3RlcENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGlsbHVzdHJhdGlvbiE6IHN0cmluZztcbiAgQElucHV0KCkgbWVzc2FnZSE6IHN0cmluZztcbiAgQElucHV0KCkgdGl0bGUhOiBzdHJpbmc7XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgY2xhc3M9XCJ2YWx0aW1vLXVwbG9hZC1zdGVwX19jb250ZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJ2YWx0aW1vLXVwbG9hZC1zdGVwX190aXRsZVwiPnt7IHRpdGxlIH19PC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInZhbHRpbW8tdXBsb2FkLXN0ZXBfX21lc3NhZ2VcIj57eyBtZXNzYWdlIH19PC9kaXY+XG48L2Rpdj5cblxuPGltZyBbc3JjXT1cImlsbHVzdHJhdGlvblwiIGFsdD1cInt7IGlsbHVzdHJhdGlvbiB9fVwiIGNsYXNzPVwidmFsdGltby11cGxvYWQtc3RlcF9faWxsdXN0cmF0aW9uXCIgLz5cbiJdfQ==
|