vcomply-workflow-engine 6.0.52 → 6.0.53
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/add-multiple-responsibility-container/add-multiple-responsibility-container.component.mjs +2 -2
- package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +2 -2
- package/esm2022/lib/constants/assets.constants.mjs +57 -0
- package/esm2022/lib/constants/link-responsibility.constants.mjs +2 -2
- package/esm2022/lib/log-an-issue/log-an-issue.component.mjs +2 -2
- package/esm2022/lib/more-option/more-option.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/assignee/assignee.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-assignees/case-assignees.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-category/case-category.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-details/case-details.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-owners/case-owners.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-priority/case-priority.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-resolution-deadline/case-resolution-deadline.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/case-type-dropdown/case-dropdown.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/due-date/due-date.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/field-holder/field-holder.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/linked assessment/linked-assessment.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/linked-responsibilities/linked-responsibilities.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/rc-details/rc-details.component.mjs +2 -2
- package/esm2022/lib/report-a-case/components/report-date/report-date.component.mjs +2 -2
- package/esm2022/lib/report-a-case/workflow-case/workflow-case.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic/logic.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/category-list/category-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/category-list-selection/category-list-selection/category-list-selection.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/category-multiselect/category-multi-select.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/checkbox-list/checkbox-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/framework-list/framework-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/group-users-list/group-users-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/link-program/link-program/link-program.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/owner-list/owner-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/policy-access/policy-access.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/policy-template/constants/template.constant.mjs +2 -2
- package/esm2022/lib/sharedComponents/program-listing/program-listing.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/radio-list/radio-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/radio-list-with-pagination/radio-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/review-frequency/review-frequency.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/roles-list/roles-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/select-approvers/select-approvers.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/users-radio-list/users-radio-list.component.mjs +2 -2
- package/esm2022/lib/ui-kit/pagination/pagination/pagination.component.mjs +2 -2
- package/esm2022/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.mjs +2 -2
- package/esm2022/lib/workflow/shared/constants/cdn-link.constant.mjs +2 -2
- package/esm2022/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +2 -2
- package/esm2022/lib/workflow-assessment/workflow-assessment.component.mjs +2 -2
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +2 -2
- package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/role-list/role-list.component.mjs +2 -2
- package/esm2022/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +2 -2
- package/esm2022/lib/workflow-program/workflow-program.component.mjs +2 -2
- package/esm2022/lib/workflow-risk/workflow-risk.component.mjs +2 -2
- package/esm2022/lib/workflow-survey-form/workflow-survey-form.component.mjs +2 -2
- package/fesm2022/vcomply-workflow-engine.mjs +14 -15
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/package.json +1 -1
- package/esm2022/lib/constants/assessts.constants.mjs +0 -57
- /package/lib/constants/{assessts.constants.d.ts → assets.constants.d.ts} +0 -0
|
@@ -3,7 +3,7 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { FormsModule } from '@angular/forms';
|
|
4
4
|
import { FloatingBarModule } from '../../../../../sharedComponents/floating-bar/floating-bar.module';
|
|
5
5
|
import { FormgroupModule } from '../../../../../formgroup/formgroup.module';
|
|
6
|
-
import { ASSETS } from '
|
|
6
|
+
import { ASSETS } from '../../../../../../lib/constants/assets.constants';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/common";
|
|
9
9
|
import * as i2 from "../../../../../sharedComponents/floating-bar/floating-bar.component";
|
|
@@ -94,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
94
94
|
type: Component,
|
|
95
95
|
args: [{ selector: 'lib-attributes-checkbox', standalone: true, imports: [CommonModule, FormsModule, FloatingBarModule, FormgroupModule], inputs: ['selectedAttribute'], outputs: ['onSelectedAttributes'], template: "<div class=\"attributes-dialog\" [class.animate]=\"animation\">\n <div\n class=\"attributes-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div\n class=\"vx-fs-14 vx-fw-500 vx-label-txt\"\n [innerHTML]=\"selectedAttribute?.title\"\n ></div>\n </div>\n <div class=\"attributes-dialog-body\">\n <div class=\"body-top\" *ngIf=\"selectedAttribute?.choices?.length > 0\">\n <app-cs-checkbox\n [ngValue]=\"isSelectAll\"\n (ngValueChange)=\"selectAll($event)\"\n ><strong>{{ isSelectAll ? \"Deselect All\" : \"Select All\" }}</strong>\n </app-cs-checkbox>\n </div>\n\n <ul class=\"attributes-dialog-list\">\n <ng-container>\n <li\n *ngFor=\"let choice of selectedAttribute?.choices; let i = index\"\n #ulElement\n >\n <app-cs-checkbox\n [ngValue]=\"choice.is_selected\"\n (ngValueChange)=\"selectAttributes(i, $event)\"\n >\n <ul class=\"attributes-dialog-name\" #listBlock>\n <!-- [style.max-width.px]=\"blockWidth / rc.rc_name\" -->\n <li\n [appTooltip]=\"choice?.title\"\n placement=\"bottom\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n {{ choice?.title }}\n </li>\n </ul>\n </app-cs-checkbox>\n </li>\n\n <li *ngIf=\"selectedAttribute?.hasOther\">\n <app-cs-checkbox\n [ngValue]=\"selectedAttribute.is_other_selected\"\n (ngValueChange)=\"selectedAttribute['is_other_selected'] = $event\"\n >\n <ul class=\"attributes-dialog-name\" #listBlock>\n <!-- [style.max-width.px]=\"blockWidth / rc.rc_name\" -->\n <li\n [appTooltip]=\"selectedAttribute?.otherValue\"\n placement=\"bottom\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n {{ selectedAttribute?.otherValue }}\n </li>\n </ul>\n </app-cs-checkbox>\n </li>\n </ng-container>\n </ul>\n <app-no-data\n *ngIf=\"!selectedAttribute?.choices?.length\"\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"'No data to display'\"\n ></app-no-data>\n\n <app-floating-bar\n [selectedData]=\"getSelectedValue\"\n [displayElementKey]=\"'title'\"\n (closeEvent)=\"close(getSelectedValue)\"\n (deleteEvent)=\"deleteEvent($event)\"\n (closeList)=\"close()\"\n [isDisabled]=\"\n (getSelectedValue?.length === 0 ||\n selectedAttribute?.choices?.length === 0) &&\n !selectedAttribute?.is_other_selected\n \"\n ></app-floating-bar>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar-track{background-color:#fff;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .attributes-dialog{position:fixed;inset:0 500px 0 0}::ng-deep .attributes-dialog:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .attributes-dialog-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .attributes-dialog-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .attributes-dialog-body .search-block{position:relative}::ng-deep .attributes-dialog-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .attributes-dialog-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .attributes-dialog-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .attributes-dialog-body .body-top{display:flex;justify-content:space-between}::ng-deep .attributes-dialog-body .body-top app-cs-checkbox{display:flex}::ng-deep .attributes-dialog-body .body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:12px;font-weight:600;white-space:nowrap}::ng-deep .attributes-dialog-body ul{padding:0;margin:0}::ng-deep .attributes-dialog-body ul.attributes-dialog-list{display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 12.75rem);overflow:auto;margin:1rem 0}::ng-deep .attributes-dialog-body ul.attributes-dialog-list li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .attributes-dialog-body ul.attributes-dialog-list li app-cs-checkbox,::ng-deep .attributes-dialog-body ul.attributes-dialog-list li app-cs-radio{display:flex}::ng-deep .attributes-dialog-body ul.attributes-dialog-list li app-cs-checkbox label,::ng-deep .attributes-dialog-body ul.attributes-dialog-list li app-cs-radio label{width:100%}::ng-deep .attributes-dialog-body ul.attributes-dialog-list li app-cs-checkbox label span.value,::ng-deep .attributes-dialog-body ul.attributes-dialog-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .attributes-dialog-body ul.attributes-dialog-list li app-cs-checkbox ul.attributes-dialog-name,::ng-deep .attributes-dialog-body ul.attributes-dialog-list li app-cs-radio ul.attributes-dialog-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .attributes-dialog-body ul.attributes-dialog-list li app-cs-checkbox ul.attributes-dialog-name li,::ng-deep .attributes-dialog-body ul.attributes-dialog-list li app-cs-radio ul.attributes-dialog-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:auto;padding:0 .5rem 0 0;max-width:100%}::ng-deep .attributes-dialog-body app-no-data .no-data-wrapper{height:calc(100vh - 200px)}::ng-deep .attributes-dialog.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .attributes-dialog .message-footer{background:#1e5dd3;border-radius:5px;margin:0 0 0 30px;width:calc(100% - 60px);position:relative;bottom:0}::ng-deep .attributes-dialog .message-footer .message{padding:15px;display:flex;align-items:flex-start}::ng-deep .attributes-dialog .message-footer .message i{width:auto;font-size:16px;color:#fff}::ng-deep .attributes-dialog .message-footer .message span{color:#fff;font-size:12px;line-height:18px;padding-left:9px;font-weight:300}::ng-deep .attributes-dialog .message-footer .footer{border-top:1px solid #1483ef;display:flex;justify-content:space-between;align-items:center;padding:10px 15px}::ng-deep .attributes-dialog .message-footer .footer span{color:#fff;font-size:14px}::ng-deep .attributes-dialog .message-footer .footer .button-wrapper{display:flex}::ng-deep .attributes-dialog .message-footer .footer .button-wrapper button{width:60px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px;font-weight:500;border:1px solid #fff;text-transform:uppercase;border-radius:2px;outline:none;padding:0;margin:0}::ng-deep .attributes-dialog .message-footer .footer .button-wrapper button.outline{background:#1e5dd3;color:#fff}::ng-deep .attributes-dialog .message-footer .footer .button-wrapper button.fill{background:#fff;color:#1e5dd3}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"] }]
|
|
96
96
|
}], ctorParameters: function () { return []; } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlcy1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvY29tcG9uZW50cy9hdHRyaWJ1dGVzL2F0dHJpYnV0ZXMtY2hlY2tib3gvYXR0cmlidXRlcy1jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvY29tcG9uZW50cy9hdHRyaWJ1dGVzL2F0dHJpYnV0ZXMtY2hlY2tib3gvYXR0cmlidXRlcy1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0VBQWtFLENBQUM7Ozs7O0FBVzFGLE1BQU0sT0FBTywyQkFBMkI7SUFNdEM7UUFMQSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRTNCLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFtQmxFO29DQUM0QjtRQUM1QixnQkFBVyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixD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QUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLFVBR2hFLENBQUMsbUJBQW1CLENBQUMsV0FDcEIsQ0FBQyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICdwcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9jb25zdGFudHMvYXNzZXNzdHMuY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWF0dHJpYnV0ZXMtY2hlY2tib3gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgRmxvYXRpbmdCYXJNb2R1bGUsIEZvcm1ncm91cE1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hdHRyaWJ1dGVzLWNoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXR0cmlidXRlcy1jaGVja2JveC5jb21wb25lbnQubGVzcyddLFxuICBpbnB1dHM6IFsnc2VsZWN0ZWRBdHRyaWJ1dGUnXSxcbiAgb3V0cHV0czogWydvblNlbGVjdGVkQXR0cmlidXRlcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBdHRyaWJ1dGVzQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBhbmltYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWRBdHRyaWJ1dGU6IGFueTtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICBvblNlbGVjdGVkQXR0cmlidXRlczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hbmltYXRlUG9wdXAoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYGFuaW1hdGVQb3B1cGAgZnVuY3Rpb24gc2V0cyB0aGUgYGFuaW1hdGlvbmAgcHJvcGVydHkgdG8gdHJ1ZSwgd2FpdHMgZm9yIDMwMCBtaWxsaXNlY29uZHMsIGFuZFxuICAgKiB0aGVuIHNldHMgdGhlIGBhbmltYXRpb25gIHByb3BlcnR5IHRvIGZhbHNlLlxuICAgKi9cbiAgYW5pbWF0ZVBvcHVwKCkge1xuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XG4gICAgfSwgMzAwKTtcbiAgfVxuXG4gIC8qIFRoZSBgZGVsZXRlRXZlbnRgIGZ1bmN0aW9uIGlzIHVzZWQgdG8gcmVtb3ZlIGEgc2VsZWN0ZWQgYXR0cmlidXRlIGNob2ljZSBmcm9tIHRoZVxuYHNlbGVjdGVkQXR0cmlidXRlYCBvYmplY3QuICovXG4gIGRlbGV0ZUV2ZW50ID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICBjb25zdCBJTkRFWCA9IHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGUuY2hvaWNlcy5maW5kSW5kZXgoXG4gICAgICAoZWFjaENob2ljZTogYW55KSA9PiBlYWNoQ2hvaWNlLnRpdGxlID09PSBldmVudC50aXRsZVxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZS5jaG9pY2VzW0lOREVYXS5pc19zZWxlY3RlZCA9IGZhbHNlO1xuICB9O1xuXG4gIC8qIFRoZSBgY2xvc2VgIGZ1bmN0aW9uIGlzIGFuIGFycm93IGZ1bmN0aW9uIHRoYXQgdGFrZXMgYW4gb3B0aW9uYWwgYGV2ZW50YCBwYXJhbWV0ZXIuICovXG4gIGNsb3NlID0gKGV2ZW50PzogYW55KSA9PiB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLm9uU2VsZWN0ZWRBdHRyaWJ1dGVzLmVtaXQodGhpcy5zZWxlY3RlZEF0dHJpYnV0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25TZWxlY3RlZEF0dHJpYnV0ZXMuZW1pdCgpO1xuICAgIH1cbiAgfTtcblxuICAvKiBUaGUgYHNlbGVjdEF0dHJpYnV0ZXNgIGZ1bmN0aW9uIGlzIGEgbWV0aG9kIHRoYXQgaXMgdXNlZCB0byB0b2dnbGUgdGhlIGBpc19zZWxlY3RlZGAgcHJvcGVydHkgb2YgYVxuIGNob2ljZSBpbiB0aGUgYHNlbGVjdGVkQXR0cmlidXRlYCBvYmplY3QuIEl0IHRha2VzIHR3byBwYXJhbWV0ZXJzOiBgaW5kZXhgLCB3aGljaCByZXByZXNlbnRzIHRoZVxuIGluZGV4IG9mIHRoZSBjaG9pY2UgaW4gdGhlIGBzZWxlY3RlZEF0dHJpYnV0ZS5jaG9pY2VzYCBhcnJheSwgYW5kIGBldmVudGAsIHdoaWNoIHJlcHJlc2VudHMgdGhlXG4gZXZlbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIHNlbGVjdGlvbiAoZS5nLiwgYSBjaGVja2JveCBjbGljaykuICovXG4gIHNlbGVjdEF0dHJpYnV0ZXMgPSAoaW5kZXg6IG51bWJlciwgZXZlbnQ6IGFueSkgPT4ge1xuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZS5jaG9pY2VzW2luZGV4XS5pc19zZWxlY3RlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGUuY2hvaWNlc1tpbmRleF0uaXNfc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIFRoZSBzZWxlY3RBbGwgZnVuY3Rpb24gc2V0cyB0aGUgXCJpc19zZWxlY3RlZFwiIHByb3BlcnR5IHRvIHRydWUgZm9yIGVhY2ggY2hvaWNlIGluIHRoZVxuICAgKiBzZWxlY3RlZEF0dHJpYnV0ZS5cbiAgICovXG4gIHNlbGVjdEFsbCgpIHtcbiAgICBjb25zdCBJU19TRUxFQ1RfQUxMID0gIXRoaXMuaXNTZWxlY3RBbGw7XG4gICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZS5jaG9pY2VzLmZvckVhY2goKGVhY2hDaG9pY2U6IGFueSkgPT4ge1xuICAgICAgZWFjaENob2ljZVsnaXNfc2VsZWN0ZWQnXSA9IElTX1NFTEVDVF9BTEw7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZEF0dHJpYnV0ZT8uaGFzT3RoZXIpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGVbJ2lzX290aGVyX3NlbGVjdGVkJ10gPSBJU19TRUxFQ1RfQUxMO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gY2hlY2tzIGlmIGFsbCBjaG9pY2VzIGluIHRoZSBzZWxlY3RlZEF0dHJpYnV0ZSBoYXZlIHRoZSBcImlzX3NlbGVjdGVkXCIgcHJvcGVydHkgc2V0IHRvXG4gICAqIHRydWUuXG4gICAqIEByZXR1cm5zIFRoZSBjb2RlIGlzIHJldHVybmluZyBhIGJvb2xlYW4gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIGFsbCBjaG9pY2VzIGluIHRoZVxuICAgKiBgc2VsZWN0ZWRBdHRyaWJ1dGVgIGhhdmUgdGhlIGBpc19zZWxlY3RlZGAgcHJvcGVydHkgc2V0IHRvIGB0cnVlYC5cbiAgICovXG4gIGdldCBpc1NlbGVjdEFsbCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZS5jaG9pY2VzLmV2ZXJ5KFxuICAgICAgICAoZWFjaENob2ljZTogYW55KSA9PiBlYWNoQ2hvaWNlWydpc19zZWxlY3RlZCddID09PSB0cnVlXG4gICAgICApICYmXG4gICAgICAoKHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGU/Lmhhc090aGVyICYmXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGVbJ2lzX290aGVyX3NlbGVjdGVkJ10pIHx8XG4gICAgICAgICF0aGlzLnNlbGVjdGVkQXR0cmlidXRlPy5oYXNPdGhlcilcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiByZXR1cm5zIHRoZSBzZWxlY3RlZCBjaG9pY2VzIGZyb20gYSBsaXN0IG9mIGNob2ljZXMuXG4gICAqIEByZXR1cm5zIFRoZSBgZ2V0U2VsZWN0ZWRWYWx1ZWAgbWV0aG9kIHJldHVybnMgYW4gYXJyYXkgb2YgY2hvaWNlcyBmcm9tIHRoZSBgc2VsZWN0ZWRBdHRyaWJ1dGVgXG4gICAqIG9iamVjdCB3aGVyZSB0aGUgYGlzX3NlbGVjdGVkYCBwcm9wZXJ0eSBpcyBzZXQgdG8gYHRydWVgLlxuICAgKi9cbiAgZ2V0IGdldFNlbGVjdGVkVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGUuY2hvaWNlcy5maWx0ZXIoXG4gICAgICAoZWFjaENob2ljZTogYW55KSA9PiBlYWNoQ2hvaWNlWydpc19zZWxlY3RlZCddID09PSB0cnVlXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF0dHJpYnV0ZXMtZGlhbG9nXCIgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImF0dHJpYnV0ZXMtZGlhbG9nLWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiXG4gICAgICBbaW5uZXJIVE1MXT1cInNlbGVjdGVkQXR0cmlidXRlPy50aXRsZVwiXG4gICAgPjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImF0dHJpYnV0ZXMtZGlhbG9nLWJvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm9keS10b3BcIiAqbmdJZj1cInNlbGVjdGVkQXR0cmlidXRlPy5jaG9pY2VzPy5sZW5ndGggPiAwXCI+XG4gICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgIFtuZ1ZhbHVlXT1cImlzU2VsZWN0QWxsXCJcbiAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICA+PHN0cm9uZz57eyBpc1NlbGVjdEFsbCA/IFwiRGVzZWxlY3QgQWxsXCIgOiBcIlNlbGVjdCBBbGxcIiB9fTwvc3Ryb25nPlxuICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgPC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJhdHRyaWJ1dGVzLWRpYWxvZy1saXN0XCI+XG4gICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICA8bGlcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY2hvaWNlIG9mIHNlbGVjdGVkQXR0cmlidXRlPy5jaG9pY2VzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAjdWxFbGVtZW50XG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICBbbmdWYWx1ZV09XCJjaG9pY2UuaXNfc2VsZWN0ZWRcIlxuICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QXR0cmlidXRlcyhpLCAkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJhdHRyaWJ1dGVzLWRpYWxvZy1uYW1lXCIgI2xpc3RCbG9jaz5cbiAgICAgICAgICAgICAgPCEtLSBbc3R5bGUubWF4LXdpZHRoLnB4XT1cImJsb2NrV2lkdGggLyByYy5yY19uYW1lXCIgLS0+XG4gICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImNob2ljZT8udGl0bGVcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgY2hvaWNlPy50aXRsZSB9fVxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgPC9saT5cblxuICAgICAgICA8bGkgKm5nSWY9XCJzZWxlY3RlZEF0dHJpYnV0ZT8uaGFzT3RoZXJcIj5cbiAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICBbbmdWYWx1ZV09XCJzZWxlY3RlZEF0dHJpYnV0ZS5pc19vdGhlcl9zZWxlY3RlZFwiXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RlZEF0dHJpYnV0ZVsnaXNfb3RoZXJfc2VsZWN0ZWQnXSA9ICRldmVudFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiYXR0cmlidXRlcy1kaWFsb2ctbmFtZVwiICNsaXN0QmxvY2s+XG4gICAgICAgICAgICAgIDwhLS0gW3N0eWxlLm1heC13aWR0aC5weF09XCJibG9ja1dpZHRoIC8gcmMucmNfbmFtZVwiIC0tPlxuICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJzZWxlY3RlZEF0dHJpYnV0ZT8ub3RoZXJWYWx1ZVwiXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBzZWxlY3RlZEF0dHJpYnV0ZT8ub3RoZXJWYWx1ZSB9fVxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG4gICAgPGFwcC1uby1kYXRhXG4gICAgICAqbmdJZj1cIiFzZWxlY3RlZEF0dHJpYnV0ZT8uY2hvaWNlcz8ubGVuZ3RoXCJcbiAgICAgIFtub0RhdGFJbWFnZV09XCJBU1NFVFMuc2VhcmNoX2RhdGFcIlxuICAgICAgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIlxuICAgID48L2FwcC1uby1kYXRhPlxuXG4gICAgPGFwcC1mbG9hdGluZy1iYXJcbiAgICAgIFtzZWxlY3RlZERhdGFdPVwiZ2V0U2VsZWN0ZWRWYWx1ZVwiXG4gICAgICBbZGlzcGxheUVsZW1lbnRLZXldPVwiJ3RpdGxlJ1wiXG4gICAgICAoY2xvc2VFdmVudCk9XCJjbG9zZShnZXRTZWxlY3RlZFZhbHVlKVwiXG4gICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlRXZlbnQoJGV2ZW50KVwiXG4gICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxuICAgICAgW2lzRGlzYWJsZWRdPVwiXG4gICAgICAgIChnZXRTZWxlY3RlZFZhbHVlPy5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICBzZWxlY3RlZEF0dHJpYnV0ZT8uY2hvaWNlcz8ubGVuZ3RoID09PSAwKSAmJlxuICAgICAgICAhc2VsZWN0ZWRBdHRyaWJ1dGU/LmlzX290aGVyX3NlbGVjdGVkXG4gICAgICBcIlxuICAgID48L2FwcC1mbG9hdGluZy1iYXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlcy1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvY29tcG9uZW50cy9hdHRyaWJ1dGVzL2F0dHJpYnV0ZXMtY2hlY2tib3gvYXR0cmlidXRlcy1jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvY29tcG9uZW50cy9hdHRyaWJ1dGVzL2F0dHJpYnV0ZXMtY2hlY2tib3gvYXR0cmlidXRlcy1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7O0FBVzFFLE1BQU0sT0FBTywyQkFBMkI7SUFNdEM7UUFMQSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRTNCLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFtQmxFO29DQUM0QjtRQUM1QixnQkFBVyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixD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QUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLFVBR2hFLENBQUMsbUJBQW1CLENBQUMsV0FDcEIsQ0FBQyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29uc3RhbnRzL2Fzc2V0cy5jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXR0cmlidXRlcy1jaGVja2JveCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBGbG9hdGluZ0Jhck1vZHVsZSwgRm9ybWdyb3VwTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F0dHJpYnV0ZXMtY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdHRyaWJ1dGVzLWNoZWNrYm94LmNvbXBvbmVudC5sZXNzJ10sXG4gIGlucHV0czogWydzZWxlY3RlZEF0dHJpYnV0ZSddLFxuICBvdXRwdXRzOiBbJ29uU2VsZWN0ZWRBdHRyaWJ1dGVzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZXNDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGFuaW1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZEF0dHJpYnV0ZTogYW55O1xuICBBU1NFVFMgPSBBU1NFVFM7XG4gIG9uU2VsZWN0ZWRBdHRyaWJ1dGVzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFuaW1hdGVQb3B1cCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBgYW5pbWF0ZVBvcHVwYCBmdW5jdGlvbiBzZXRzIHRoZSBgYW5pbWF0aW9uYCBwcm9wZXJ0eSB0byB0cnVlLCB3YWl0cyBmb3IgMzAwIG1pbGxpc2Vjb25kcywgYW5kXG4gICAqIHRoZW4gc2V0cyB0aGUgYGFuaW1hdGlvbmAgcHJvcGVydHkgdG8gZmFsc2UuXG4gICAqL1xuICBhbmltYXRlUG9wdXAoKSB7XG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgLyogVGhlIGBkZWxldGVFdmVudGAgZnVuY3Rpb24gaXMgdXNlZCB0byByZW1vdmUgYSBzZWxlY3RlZCBhdHRyaWJ1dGUgY2hvaWNlIGZyb20gdGhlXG5gc2VsZWN0ZWRBdHRyaWJ1dGVgIG9iamVjdC4gKi9cbiAgZGVsZXRlRXZlbnQgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgIGNvbnN0IElOREVYID0gdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZS5jaG9pY2VzLmZpbmRJbmRleChcbiAgICAgIChlYWNoQ2hvaWNlOiBhbnkpID0+IGVhY2hDaG9pY2UudGl0bGUgPT09IGV2ZW50LnRpdGxlXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkQXR0cmlidXRlLmNob2ljZXNbSU5ERVhdLmlzX3NlbGVjdGVkID0gZmFsc2U7XG4gIH07XG5cbiAgLyogVGhlIGBjbG9zZWAgZnVuY3Rpb24gaXMgYW4gYXJyb3cgZnVuY3Rpb24gdGhhdCB0YWtlcyBhbiBvcHRpb25hbCBgZXZlbnRgIHBhcmFtZXRlci4gKi9cbiAgY2xvc2UgPSAoZXZlbnQ/OiBhbnkpID0+IHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIHRoaXMub25TZWxlY3RlZEF0dHJpYnV0ZXMuZW1pdCh0aGlzLnNlbGVjdGVkQXR0cmlidXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vblNlbGVjdGVkQXR0cmlidXRlcy5lbWl0KCk7XG4gICAgfVxuICB9O1xuXG4gIC8qIFRoZSBgc2VsZWN0QXR0cmlidXRlc2AgZnVuY3Rpb24gaXMgYSBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIHRvZ2dsZSB0aGUgYGlzX3NlbGVjdGVkYCBwcm9wZXJ0eSBvZiBhXG4gY2hvaWNlIGluIHRoZSBgc2VsZWN0ZWRBdHRyaWJ1dGVgIG9iamVjdC4gSXQgdGFrZXMgdHdvIHBhcmFtZXRlcnM6IGBpbmRleGAsIHdoaWNoIHJlcHJlc2VudHMgdGhlXG4gaW5kZXggb2YgdGhlIGNob2ljZSBpbiB0aGUgYHNlbGVjdGVkQXR0cmlidXRlLmNob2ljZXNgIGFycmF5LCBhbmQgYGV2ZW50YCwgd2hpY2ggcmVwcmVzZW50cyB0aGVcbiBldmVudCB0aGF0IHRyaWdnZXJlZCB0aGUgc2VsZWN0aW9uIChlLmcuLCBhIGNoZWNrYm94IGNsaWNrKS4gKi9cbiAgc2VsZWN0QXR0cmlidXRlcyA9IChpbmRleDogbnVtYmVyLCBldmVudDogYW55KSA9PiB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQXR0cmlidXRlLmNob2ljZXNbaW5kZXhdLmlzX3NlbGVjdGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZS5jaG9pY2VzW2luZGV4XS5pc19zZWxlY3RlZCA9IGZhbHNlO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogVGhlIHNlbGVjdEFsbCBmdW5jdGlvbiBzZXRzIHRoZSBcImlzX3NlbGVjdGVkXCIgcHJvcGVydHkgdG8gdHJ1ZSBmb3IgZWFjaCBjaG9pY2UgaW4gdGhlXG4gICAqIHNlbGVjdGVkQXR0cmlidXRlLlxuICAgKi9cbiAgc2VsZWN0QWxsKCkge1xuICAgIGNvbnN0IElTX1NFTEVDVF9BTEwgPSAhdGhpcy5pc1NlbGVjdEFsbDtcbiAgICB0aGlzLnNlbGVjdGVkQXR0cmlidXRlLmNob2ljZXMuZm9yRWFjaCgoZWFjaENob2ljZTogYW55KSA9PiB7XG4gICAgICBlYWNoQ2hvaWNlWydpc19zZWxlY3RlZCddID0gSVNfU0VMRUNUX0FMTDtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkQXR0cmlidXRlPy5oYXNPdGhlcikge1xuICAgICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZVsnaXNfb3RoZXJfc2VsZWN0ZWQnXSA9IElTX1NFTEVDVF9BTEw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiBjaGVja3MgaWYgYWxsIGNob2ljZXMgaW4gdGhlIHNlbGVjdGVkQXR0cmlidXRlIGhhdmUgdGhlIFwiaXNfc2VsZWN0ZWRcIiBwcm9wZXJ0eSBzZXQgdG9cbiAgICogdHJ1ZS5cbiAgICogQHJldHVybnMgVGhlIGNvZGUgaXMgcmV0dXJuaW5nIGEgYm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgYWxsIGNob2ljZXMgaW4gdGhlXG4gICAqIGBzZWxlY3RlZEF0dHJpYnV0ZWAgaGF2ZSB0aGUgYGlzX3NlbGVjdGVkYCBwcm9wZXJ0eSBzZXQgdG8gYHRydWVgLlxuICAgKi9cbiAgZ2V0IGlzU2VsZWN0QWxsKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNlbGVjdGVkQXR0cmlidXRlLmNob2ljZXMuZXZlcnkoXG4gICAgICAgIChlYWNoQ2hvaWNlOiBhbnkpID0+IGVhY2hDaG9pY2VbJ2lzX3NlbGVjdGVkJ10gPT09IHRydWVcbiAgICAgICkgJiZcbiAgICAgICgodGhpcy5zZWxlY3RlZEF0dHJpYnV0ZT8uaGFzT3RoZXIgJiZcbiAgICAgICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZVsnaXNfb3RoZXJfc2VsZWN0ZWQnXSkgfHxcbiAgICAgICAgIXRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGU/Lmhhc090aGVyKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIHJldHVybnMgdGhlIHNlbGVjdGVkIGNob2ljZXMgZnJvbSBhIGxpc3Qgb2YgY2hvaWNlcy5cbiAgICogQHJldHVybnMgVGhlIGBnZXRTZWxlY3RlZFZhbHVlYCBtZXRob2QgcmV0dXJucyBhbiBhcnJheSBvZiBjaG9pY2VzIGZyb20gdGhlIGBzZWxlY3RlZEF0dHJpYnV0ZWBcbiAgICogb2JqZWN0IHdoZXJlIHRoZSBgaXNfc2VsZWN0ZWRgIHByb3BlcnR5IGlzIHNldCB0byBgdHJ1ZWAuXG4gICAqL1xuICBnZXQgZ2V0U2VsZWN0ZWRWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZS5jaG9pY2VzLmZpbHRlcihcbiAgICAgIChlYWNoQ2hvaWNlOiBhbnkpID0+IGVhY2hDaG9pY2VbJ2lzX3NlbGVjdGVkJ10gPT09IHRydWVcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXR0cmlidXRlcy1kaWFsb2dcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYXR0cmlidXRlcy1kaWFsb2ctaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCJcbiAgICAgIFtpbm5lckhUTUxdPVwic2VsZWN0ZWRBdHRyaWJ1dGU/LnRpdGxlXCJcbiAgICA+PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYXR0cmlidXRlcy1kaWFsb2ctYm9keVwiPlxuICAgIDxkaXYgY2xhc3M9XCJib2R5LXRvcFwiICpuZ0lmPVwic2VsZWN0ZWRBdHRyaWJ1dGU/LmNob2ljZXM/Lmxlbmd0aCA+IDBcIj5cbiAgICAgIDxhcHAtY3MtY2hlY2tib3hcbiAgICAgICAgW25nVmFsdWVdPVwiaXNTZWxlY3RBbGxcIlxuICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiXG4gICAgICAgID48c3Ryb25nPnt7IGlzU2VsZWN0QWxsID8gXCJEZXNlbGVjdCBBbGxcIiA6IFwiU2VsZWN0IEFsbFwiIH19PC9zdHJvbmc+XG4gICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICA8L2Rpdj5cblxuICAgIDx1bCBjbGFzcz1cImF0dHJpYnV0ZXMtZGlhbG9nLWxpc3RcIj5cbiAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgIDxsaVxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjaG9pY2Ugb2Ygc2VsZWN0ZWRBdHRyaWJ1dGU/LmNob2ljZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICN1bEVsZW1lbnRcbiAgICAgICAgPlxuICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcbiAgICAgICAgICAgIFtuZ1ZhbHVlXT1cImNob2ljZS5pc19zZWxlY3RlZFwiXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBdHRyaWJ1dGVzKGksICRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImF0dHJpYnV0ZXMtZGlhbG9nLW5hbWVcIiAjbGlzdEJsb2NrPlxuICAgICAgICAgICAgICA8IS0tIFtzdHlsZS5tYXgtd2lkdGgucHhdPVwiYmxvY2tXaWR0aCAvIHJjLnJjX25hbWVcIiAtLT5cbiAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiY2hvaWNlPy50aXRsZVwiXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBjaG9pY2U/LnRpdGxlIH19XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxuICAgICAgICA8L2xpPlxuXG4gICAgICAgIDxsaSAqbmdJZj1cInNlbGVjdGVkQXR0cmlidXRlPy5oYXNPdGhlclwiPlxuICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcbiAgICAgICAgICAgIFtuZ1ZhbHVlXT1cInNlbGVjdGVkQXR0cmlidXRlLmlzX290aGVyX3NlbGVjdGVkXCJcbiAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdGVkQXR0cmlidXRlWydpc19vdGhlcl9zZWxlY3RlZCddID0gJGV2ZW50XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJhdHRyaWJ1dGVzLWRpYWxvZy1uYW1lXCIgI2xpc3RCbG9jaz5cbiAgICAgICAgICAgICAgPCEtLSBbc3R5bGUubWF4LXdpZHRoLnB4XT1cImJsb2NrV2lkdGggLyByYy5yY19uYW1lXCIgLS0+XG4gICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInNlbGVjdGVkQXR0cmlidXRlPy5vdGhlclZhbHVlXCJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHNlbGVjdGVkQXR0cmlidXRlPy5vdGhlclZhbHVlIH19XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxuICAgICAgICA8L2xpPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC91bD5cbiAgICA8YXBwLW5vLWRhdGFcbiAgICAgICpuZ0lmPVwiIXNlbGVjdGVkQXR0cmlidXRlPy5jaG9pY2VzPy5sZW5ndGhcIlxuICAgICAgW25vRGF0YUltYWdlXT1cIkFTU0VUUy5zZWFyY2hfZGF0YVwiXG4gICAgICBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiXG4gICAgPjwvYXBwLW5vLWRhdGE+XG5cbiAgICA8YXBwLWZsb2F0aW5nLWJhclxuICAgICAgW3NlbGVjdGVkRGF0YV09XCJnZXRTZWxlY3RlZFZhbHVlXCJcbiAgICAgIFtkaXNwbGF5RWxlbWVudEtleV09XCIndGl0bGUnXCJcbiAgICAgIChjbG9zZUV2ZW50KT1cImNsb3NlKGdldFNlbGVjdGVkVmFsdWUpXCJcbiAgICAgIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCJcbiAgICAgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJcbiAgICAgICAgKGdldFNlbGVjdGVkVmFsdWU/Lmxlbmd0aCA9PT0gMCB8fFxuICAgICAgICAgIHNlbGVjdGVkQXR0cmlidXRlPy5jaG9pY2VzPy5sZW5ndGggPT09IDApICYmXG4gICAgICAgICFzZWxlY3RlZEF0dHJpYnV0ZT8uaXNfb3RoZXJfc2VsZWN0ZWRcbiAgICAgIFwiXG4gICAgPjwvYXBwLWZsb2F0aW5nLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ASSETS } from '../../../constants/
|
|
1
|
+
import { ASSETS } from '../../../constants/assets.constants';
|
|
2
2
|
export const LINKS = {
|
|
3
3
|
grcObjectName: ASSETS.what,
|
|
4
4
|
grcOwners: ASSETS.case_owners,
|
|
@@ -11,4 +11,4 @@ export const LINKS = {
|
|
|
11
11
|
linkPolicyNoDataImage: ASSETS.search_data,
|
|
12
12
|
linkedPolicyImage: ASSETS.link_items,
|
|
13
13
|
};
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RuLWxpbmsuY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvY29uc3RhbnRzL2Nkbi1saW5rLmNvbnN0YW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3RCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxJQUFJO0lBQzFCLFNBQVMsRUFBRSxNQUFNLENBQUMsV0FBVztJQUM3QixLQUFLLEVBQUUsTUFBTSxDQUFDLHFCQUFxQjtJQUNuQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUk7SUFDcEIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxhQUFhO0lBQ2xDLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVztJQUMxQixVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7SUFDN0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxVQUFVO0lBQzFCLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxXQUFXO0lBQ3pDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxVQUFVO0NBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYXNzZXRzLmNvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBMSU5LUyA9IHtcbiAgZ3JjT2JqZWN0TmFtZTogQVNTRVRTLndoYXQsXG4gIGdyY093bmVyczogQVNTRVRTLmNhc2Vfb3duZXJzLFxuICBncmNSQzogQVNTRVRTLnJlc3BvbnNpYmlsaXR5X2NlbnRlcixcbiAgZ3JjVHlwZTogQVNTRVRTLnR5cGUsXG4gIGN1c3RvbUZpZWxkczogQVNTRVRTLmN1c3RvbV9maWVsZHMsXG4gIG5vRGF0YTogQVNTRVRTLnNlYXJjaF9kYXRhLFxuICBsaW5rT3RoZXJzOiBBU1NFVFMubGlua19pdGVtcyxcbiAgbGlua0dSQzogQVNTRVRTLmxpbmtfcmlza3MsXG4gIGxpbmtQb2xpY3lOb0RhdGFJbWFnZTogQVNTRVRTLnNlYXJjaF9kYXRhLFxuICBsaW5rZWRQb2xpY3lJbWFnZTogQVNTRVRTLmxpbmtfaXRlbXMsXG59O1xuIl19
|
package/esm2022/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, Output, EventEmitter, ViewChild } from '@angular/core';
|
|
2
2
|
import * as XLSX from 'xlsx';
|
|
3
|
-
import { ASSETS } from '../../constants/
|
|
3
|
+
import { ASSETS } from '../../constants/assets.constants';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../../workflow-services/auth.service";
|
|
6
6
|
import * as i2 from "../../workflow-services/assessment.service";
|
|
@@ -669,4 +669,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
669
669
|
}], disconnectRefresh: [{
|
|
670
670
|
type: Output
|
|
671
671
|
}] } });
|
|
672
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWFuLWFzc2Vzc21lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3ctYXNzZXNzbWVudC9pbXBvcnQtYW4tYXNzZXNzbWVudC9pbXBvcnQtYW4tYXNzZXNzbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFNN0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7OztBQUc1RCxNQUFNLGFBQWEsR0FBRztJQUNwQixXQUFXLEVBQUUsYUFBYTtJQUMxQixnQkFBZ0IsRUFBRSxrQkFBa0I7Q0FDckMsQ0FBQztBQU9GLE1BQU0sT0FBTywyQkFBMkI7SUFxQ3RDLGFBQWEsQ0FBQyxVQUFtQjtRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsMkJBQTJCLENBQUMsQ0FBQztZQUN0RSxJQUFJLFFBQVE7Z0JBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQy9D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aEQsR0FBRyxHQUFHLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxvQkFBb0IsQ0FBQzthQUMvRDtpQkFBTTtnQkFDTCxHQUFHO29CQUNELFVBQVUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRywrQkFBK0IsQ0FBQzthQUN2RTtZQUNELElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xEO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1lBQ3RFLElBQUksUUFBUTtnQkFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7U0FDaEQ7SUFDSCxDQUFDOytHQXhzQlUsMkJBQTJCO21HQUEzQiwyQkFBMkIsMlBDcEJ4QyxzeEVBc0VBOzs0RkRsRGEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDBCQUEwQjs4SkFPcEMsVUFBVTtzQkFEVCxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRTVCLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXNzZXNzbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9hc3Nlc3NtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlYXRlQXNzZXNzbWVudENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1lZGl0b3IvY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyL2NyZWF0ZS1hc3Nlc3NtZW50LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlLaXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvdWkta2l0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSWZyYW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2lmcmFtZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hc3Nlc3N0cy5jb25zdGFudHMnO1xuXG50eXBlIEFPQSA9IGFueVtdW107XG5jb25zdCBzbWlsZXlBY3Rpb25zID0ge1xuICBJTVBPUlRfTU9SRTogJ0lNUE9SVF9NT1JFJyxcbiAgVklFV19BU1NFU1NNRU5UUzogJ1ZJRVdfQVNTRVNTTUVOVFMnLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWltcG9ydC1hbi1hc3Nlc3NtZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltcG9ydC1hbi1hc3Nlc3NtZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW1wb3J0LWFuLWFzc2Vzc21lbnQuY29tcG9uZW50Lmxlc3MnLCAnLi4vLi4vZm9ybXMubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbXBvcnRBbkFzc2Vzc21lbnRDb21wb25lbnQge1xuICBBU1NFVFMgPSBBU1NFVFM7XG4gIEBWaWV3Q2hpbGQoJ2VkaXRvcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBlZGl0b3JDb250ITogQ3JlYXRlQXNzZXNzbWVudENvbnRhaW5lckNvbXBvbmVudDtcbiAgQE91dHB1dCgpIGNsb3NlV29ya2Zsb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBkaXNjb25uZWN0UmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgaXNTaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIGlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcbiAgZmlsZU5hbWU6IGFueTtcbiAgZGF0YTogYW55O1xuICB1cGxvYWRlZEZpbGVzOiBhbnkgPSBbXTtcbiAgZmlsZVJlc3BvbnNlOiBhbnkgPSBbXTtcbiAgZmlsZVZhbHVlOiBhbnk7XG4gIG9yZ2FuaXphdGlvbklkID0gMDtcbiAgZXJyb3JNZXNzYWdlID0gJ2ludmFsaWQgZmlsZSBlcnJvcic7XG4gIGRvd25sb2FkU3RhdHVzOiBzdHJpbmcgPSAnTk9UX0RPV05MT0FESU5HJztcbiAgZG93bmxvYWRQZXJjZW50ID0gMDtcbiAgc21pbGV5TWVzc2FnZUFjdGlvbiA9IGBZb3UncmUgQWxsIFNldCFgO1xuICBhY3Rpb25CdXR0b25zID0gW1xuICAgIHtcbiAgICAgIGJ1dHRvblRleHQ6ICdJbXBvcnQgTW9yZSBBc3Nlc3NtZW50cycsXG4gICAgICBjbGFzczogJ3doaXRlLWJ0bicsXG4gICAgICBpZDogc21pbGV5QWN0aW9ucy5JTVBPUlRfTU9SRSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGJ1dHRvblRleHQ6ICdWaWV3IEFzc2Vzc21lbnRzJyxcbiAgICAgIGNsYXNzOiAnYmx1ZS1idG4nLFxuICAgICAgaWQ6IHNtaWxleUFjdGlvbnMuVklFV19BU1NFU1NNRU5UUyxcbiAgICB9LFxuICBdO1xuICBzaG93U21pbGV5ID0gZmFsc2U7XG4gIGFzc2Vzc21lbnREYXRhITogYW55O1xuICBzaGVldERhdGEhOiBhbnk7XG4gIGNvbnZlcnRlZERhdGE6IGFueTtcbiAgaXNVcGxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBjYXRlZ29yeURhdGEhOiBhbnk7XG5cbiAgc2V0SXNVcGxvYWRlZChpc1VwbG9hZGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc1VwbG9hZGVkID0gaXNVcGxvYWRlZDtcbiAgICB0aGlzLmF1dGgucHJldmlld1BhbmVsLm5leHQoaXNVcGxvYWRlZCk7XG4gICAgaWYgKCFpc1VwbG9hZGVkKSB7XG4gICAgICBjb25zdCBjbG9zZUJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbG9zZS13b3JrZmxvdy1lbmdpbmUtYnRuJyk7XG4gICAgICBpZiAoY2xvc2VCdG4pIGNsb3NlQnRuLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgdGhpcy5jb252ZXJ0ZWREYXRhID0ge307XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhdXRoOiBBdXRoU2VydmljZSxcbiAgICBwdWJsaWMgYXNzZXNzbWVudFNlcnZpY2U6IEFzc2Vzc21lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgaWZyYW1lU2VydmljZTogSWZyYW1lU2VydmljZVxuICApIHtcbiAgICB0aGlzLm9yZ2FuaXphdGlvbklkID0gdGhpcy5hdXRoLmdldE9yZ2FuaXphdGlvbklkKCk7XG4gIH1cblxuICBjbG9zZVNtaWxleShldmVudDogYW55KSB7XG4gICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XG4gICAgdGhpcy5jbG9zZVdvcmtmbG93LmVtaXQoeyBldnQ6IHRoaXMuYXNzZXNzbWVudERhdGEsIGNvbmZpcm06IGZhbHNlIH0pO1xuICB9XG5cbiAgZG93bmxvYWRUZW1wbGF0ZSgpIHtcbiAgICB0aGlzLmRvd25sb2FkU3RhdHVzID0gJ0RPV05MT0FESU5HJztcbiAgICB0aGlzLmRvd25sb2FkUGVyY2VudCA9IDA7XG4gICAgY29uc3QgZG93bmxvYWREYXRlID0gbmV3IERhdGUoKS50b0RhdGVTdHJpbmcoKS5zcGxpdCgnICcpO1xuICAgIGNvbnN0IGZpbGVOYW1lID0gYEltcG9ydCBhbiBBc3Nlc3NtZW50LSR7ZG93bmxvYWREYXRlWzJdfS0ke2Rvd25sb2FkRGF0ZVsxXX0tJHtkb3dubG9hZERhdGVbM119Lnhsc3hgO1xuXG4gICAgdGhpcy5hc3Nlc3NtZW50U2VydmljZS5kb3dubG9hZFRlbXBsYXRlKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9IHRoaXMuYXNzZXNzbWVudFNlcnZpY2UuZG93bkxvYWRGaWxlKFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94bHN4JyxcbiAgICAgICAgICAgIGZpbGVOYW1lXG4gICAgICAgICAgKTtcbiAgICAgICAgfSwgMTUwMCk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdET1dOTE9BREVEJztcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICB0cmlnZ2VyQnJvd3NlRmlsZSgpIHtcbiAgICBjb25zdCBnZXRGaWxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lhYS1maWxlLWlucHV0Jyk7XG4gICAgaWYgKGdldEZpbGUpIHtcbiAgICAgIGdldEZpbGUuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICAvLyAgaGFuZGxlIHVwbG9hZCBmaWxlIGFyZWFcbiAgdXBsb2FkRmlsZShldnQ6IGFueSkge1xuICAgIGNvbnN0IHRhcmdldDogRGF0YVRyYW5zZmVyID0gZXZ0LnRhcmdldCBhcyBEYXRhVHJhbnNmZXI7XG4gICAgY29uc3QgcmVhZGVyOiBGaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xuICAgICAgY29uc3QgYnN0cjogc3RyaW5nID0gZS50YXJnZXQucmVzdWx0O1xuICAgICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnJlYWQoYnN0ciwgeyB0eXBlOiAnYmluYXJ5JyB9KTtcbiAgICAgIGNvbnN0IHdzbmFtZTogc3RyaW5nID0gd2IuU2hlZXROYW1lc1swXTtcbiAgICAgIGNvbnN0IHdzbmFtZTE6IHN0cmluZyA9IHdiLlNoZWV0TmFtZXNbMV07XG4gICAgICBjb25zdCB3czogWExTWC5Xb3JrU2hlZXQgPSB3Yi5TaGVldHNbd3NuYW1lXTtcbiAgICAgIGNvbnN0IHRlbXBEYXRhOiBYTFNYLldvcmtTaGVldCA9IHdiLlNoZWV0c1t3c25hbWUxXTtcbiAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhID0gWExTWC51dGlscy5zaGVldF90b19qc29uKHRlbXBEYXRhLCB7XG4gICAgICAgIGhlYWRlcjogMSxcbiAgICAgIH0pIGFzIEFPQTtcbiAgICAgIHRoaXMuc2hlZXREYXRhID0gWExTWC51dGlscy5zaGVldF90b19qc29uKHdzLCB7XG4gICAgICAgIGhlYWRlcjogMSxcbiAgICAgIH0pIGFzIEFPQTtcblxuICAgICAgdGhpcy5nZW5lcmF0ZUNhdGVnb3J5TGlzdCh0aGlzLmNhdGVnb3J5RGF0YSk7XG5cbiAgICAgIHRoaXMuYXNzZXNzbWVudERhdGEgPSB0aGlzLnNoZWV0RGF0YS5maWx0ZXIoXG4gICAgICAgIChkYXRhRWxlbWVudDogYW55KSA9PiBkYXRhRWxlbWVudC5sZW5ndGggPiAwXG4gICAgICApO1xuXG4gICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICBpZiAoIXRoaXMuY2hlY2tGb3JtYXQodGhpcy5hc3Nlc3NtZW50RGF0YSkpIHtcbiAgICAgICAgY29uc3QgY2xvc2VCdG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xvc2Utd29ya2Zsb3ctZW5naW5lLWJ0bicpO1xuICAgICAgICBpZiAoY2xvc2VCdG4pIGNsb3NlQnRuLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cbiAgICAgICAgdGhpcy5nZW5lcmF0ZUVkaXRvclBheWxvYWQodGhpcy5hc3Nlc3NtZW50RGF0YSk7XG4gICAgICAgIHRoaXMuYXV0aC5wcmV2aWV3UGFuZWwubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5pc1VwbG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5lZGl0b3JDb250LnRyaWdnZXJQcmV2aWV3V2l0aFZhbGlkYXRpb24oKTtcbiAgICAgICAgfSwgMTAwKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJlYWRlci5yZWFkQXNCaW5hcnlTdHJpbmcodGFyZ2V0LmZpbGVzWzBdKTtcbiAgfVxuXG4gIGNhdGVnb3J5TGlzdCE6IGFueTtcbiAgZ2VuZXJhdGVDYXRlZ29yeUxpc3QoY2F0ZWdvcnlEYXRhOiBhbnkpIHtcbiAgICBjb25zdCBjYXRMaXN0OiBhbnkgPSB7fTtcbiAgICBpZiAoY2F0ZWdvcnlEYXRhKSB7XG4gICAgICBjYXRlZ29yeURhdGEuZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcbiAgICAgICAgY2F0TGlzdFtlbGVbMF1dID0gZWxlWzFdO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IGNhdExpc3Q7XG4gICAgfVxuICB9XG5cbiAgY2F0ZWdvcnlOYW1ldG9JZChjYXRlZ29yeU5hbWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmNhdGVnb3J5TGlzdFtjYXRlZ29yeU5hbWVdKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYXRlZ29yeUxpc3RbY2F0ZWdvcnlOYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIGdlbmVyYXRlRWRpdG9yUGF5bG9hZChkYXRhOiBhbnkpIHtcbiAgICAvL2NoZWNrIGZvcm1hdFxuXG4gICAgY29uc3QgcGF5bG9hZDogYW55ID0ge1xuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgYXNzZXNzbWVudF9uYW1lOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICcnLFxuICAgICAgICBhc3Nlc3NtZW50X3R5cGU6ICdjb21wbGlhbmNlJyxcbiAgICAgICAgY2F0ZWdvcnlfYXJyOiBbXSxcbiAgICAgICAgYXBwcm92YWxfd29ya2Zsb3dfYXJyOiB7XG4gICAgICAgICAgdGVzdDogJ3Rlc3QnLFxuICAgICAgICB9LFxuICAgICAgICBhcHByb3ZhbF9yZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgc291cmNlX3BhZ2U6ICdjb21wbGlhbmNlJyxcbiAgICAgIH0sXG4gICAgICBhc3Nlc3NtZW50RGF0YToge1xuICAgICAgICB2ZXJzaW9uOiAyLFxuICAgICAgICBxdWVzdGlvblJhbmRvbWl6ZTogZmFsc2UsXG4gICAgICAgIGFub255bW91c1Jlc3BvbnNlOiBmYWxzZSxcbiAgICAgICAgaGFzV2VsY29tZTogZmFsc2UsXG4gICAgICAgIGhhc1dlbGNvbWVEZXNjcmlwdGlvbjogZmFsc2UsXG4gICAgICAgIHdlbGNvbWVUZXh0OiAnJyxcbiAgICAgICAgaGFzV2VsY29tZUltYWdlOiBmYWxzZSxcbiAgICAgICAgd2VsY29tZUltYWdlOiAnJyxcbiAgICAgICAgd2VsY29tZURlc2NyaXB0aW9uOiAnJyxcbiAgICAgICAgaGFzVGhhbmtzOiBmYWxzZSxcbiAgICAgICAgaGFzVGhhbmt5b3VJbWFnZTogZmFsc2UsXG4gICAgICAgIHRoYW5reW91VGV4dDogJycsXG4gICAgICAgIHRoYW5reW91SW1hZ2U6ICcnLFxuICAgICAgICBoYXNUaGFua3lvdURlc2NyaXB0aW9uOiBmYWxzZSxcbiAgICAgICAgdGhhbmt5b3VEZXNjcmlwdGlvbjogJycsXG4gICAgICAgIGVsZW1lbnRzOiBbXSxcbiAgICAgICAgcGFnZURldGFpbHNMaXN0OiBbXSxcbiAgICAgICAgY3VzdG9tUmVzcG9uc2VTZXQ6IFtdLFxuICAgICAgICBzZXR0aW5nczogdGhpcy5zZXR0aW5ncyxcbiAgICAgICAgcmVzcG9uc2VTZWdtZW50OiB0aGlzLmluaXRpYWxpemVFbXB0eVJlc3BvbnNlU2VnbWVudCgpLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgdGhpcy5jb252ZXJ0ZWREYXRhID0gcGF5bG9hZDtcbiAgICB0aGlzLmNvbnZlcnRlZERhdGEubWV0YWRhdGEuYXNzZXNzbWVudF9uYW1lID0gdGhpcy5hc3Nlc3NtZW50RGF0YVsyXVsxXTtcbiAgICB0aGlzLmNvbnZlcnRlZERhdGEubWV0YWRhdGEuZGVzY3JpcHRpb24gPSB0aGlzLmFzc2Vzc21lbnREYXRhWzNdWzFdO1xuICAgIC8vIHRoaXMuY29udmVydGVkRGF0YS5tZXRhZGF0YS5jYXRlZ29yeV9hcnJbMF0gPSB0aGlzLmFzc2Vzc21lbnREYXRhWzRdWzFdO1xuICAgIHRoaXMuY29udmVydGVkRGF0YS5tZXRhZGF0YS5jYXRlZ29yeV9hcnIgPSBbXG4gICAgICB0aGlzLmNhdGVnb3J5TmFtZXRvSWQodGhpcy5hc3Nlc3NtZW50RGF0YVs0XVsxXSksXG4gICAgXTtcblxuICAgIC8vVE9ETzogY3JlYXRlIGEgZnVuY3Rpb24gdG8gY29udmVydCBmcm9tIGNhdGVnb3JpZXMgbmFtZXMgdG8gY2F0ZWdvcmllcyBpZC5cbiAgICAvL1RPRE86IGNoZWNrIHRoZSBhcGkgZm9yIHN1Yi1mbG93IGxpa2UgYXNzZXNzbWVudC1zZXR0aW5nLlxuICAgIC8vIHRoaXMuY29udmVydGVkRGF0YS5tZXRhZGF0YS5jYXRlZ29yeV9hcnJbMF0gPSBcIjYxY2MyN2M1YjNlODY0MmIzMzNmMzU5MVwiO1xuICAgIHRoaXMuZ2VuZXJhdGVRdWVzdGlvbnNMaXN0KGRhdGEuc2xpY2UoNiksIHBheWxvYWQuYXNzZXNzbWVudERhdGEuZWxlbWVudHMpO1xuICB9XG5cbiAgZ2VuZXJhdGVRdWVzdGlvbnNMaXN0KHF1ZXN0aW9uc0xpc3Q6IGFueSwgcXVlc3Rpb25zQXJyYXk6IGFueSkge1xuICAgIHF1ZXN0aW9uc0FycmF5ID0gW107XG4gICAgaWYgKHF1ZXN0aW9uc0xpc3Q/Lmxlbmd0aCkge1xuICAgICAgcXVlc3Rpb25zTGlzdC5mb3JFYWNoKChxdWVzdGlvbjogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIHF1ZXN0aW9uc0FycmF5LnB1c2goKTtcbiAgICAgICAgc3dpdGNoIChxdWVzdGlvblswXSkge1xuICAgICAgICAgIGNhc2UgJ1NpbmdsZSBUZXh0Ym94JzpcbiAgICAgICAgICAgIHF1ZXN0aW9uc0FycmF5LnB1c2goXG4gICAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVTaW5nbGVUZXh0Ym94KCdzaW5nbGUtdGV4dGJveCcsIHF1ZXN0aW9uLCBpbmRleClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdNdWx0aXBsZSBDaG9pY2UnOlxuICAgICAgICAgICAgcXVlc3Rpb25zQXJyYXkucHVzaChcbiAgICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZU11bHRpcGxlQ2hvaWNlKCdtdWx0aXBsZS1jaG9pY2UnLCBxdWVzdGlvbiwgaW5kZXgpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnQ2hlY2tib3gnOlxuICAgICAgICAgICAgcXVlc3Rpb25zQXJyYXkucHVzaChcbiAgICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZU11bHRpcGxlQ2hvaWNlKCdjaGVja2JveCcsIHF1ZXN0aW9uLCBpbmRleClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdEcm9wZG93bic6XG4gICAgICAgICAgICBxdWVzdGlvbnNBcnJheS5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLmdlbmVyYXRlTXVsdGlwbGVDaG9pY2UoJ2Ryb3Bkb3duJywgcXVlc3Rpb24sIGluZGV4KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ0RhdGUgJiBUaW1lJzpcbiAgICAgICAgICAgIHF1ZXN0aW9uc0FycmF5LnB1c2goXG4gICAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVEYXRlVGltZSgnZGF0ZS10aW1lJywgcXVlc3Rpb24sIGluZGV4KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ0ZpbGUgVXBsb2FkJzpcbiAgICAgICAgICAgIHF1ZXN0aW9uc0FycmF5LnB1c2godGhpcy5nZW5lcmF0ZUZpbGVVcGxvYWQocXVlc3Rpb24sIGluZGV4KSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIC8vIE5vIG5lZWQgdG8gZG8gYW55dGhpbmcgZm9yIGRlZmF1bHRcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuY29udmVydGVkRGF0YS5hc3Nlc3NtZW50RGF0YS5lbGVtZW50cyA9IHF1ZXN0aW9uc0FycmF5O1xuICB9XG4gIGNvbE1hcDogYW55ID0ge1xuICAgIHR5cGU6IDAsXG4gICAgdGl0bGU6IDEsXG4gICAgc2NvcmU6IDIsXG4gICAgb3B0MTogMyxcbiAgICBvcHQyOiA0LFxuICAgIG9wdDM6IDUsXG4gICAgb3B0NDogNixcbiAgICBvcHQ1OiA3LFxuICAgIG9wdDY6IDgsXG4gICAgcmVxdWlyZWQ6IDksXG4gICAgZmFpbGVkOiAxMCxcbiAgICBkZXNjcmlwdGlvbjogMTEsXG4gICAgcGxhY2Vob2xkZXI6IDEyLFxuICAgIGNvbW1lbnQ6IDEzLFxuICAgIG90aGVyOiAxNCxcbiAgICByYW5kb21pemU6IDE1LFxuICAgIGFsaWdubWVudDogMTYsXG4gICAgdXNlcmF0dGFjaG1lbnQ6IDE3LFxuICAgIHVzZXJjb21tZW50OiAxOCxcbiAgfTtcbiAgZ2VuZXJhdGVTaW5nbGVUZXh0Ym94KHR5cGU6IHN0cmluZywgcXVlc3Rpb246IGFueSwgaW5kZXg6IGFueSkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiAnc2luZ2xlLXRleHRib3gnLFxuICAgICAgbmFtZTogYFF1ZXN0aW9uXyR7aW5kZXh9YCxcbiAgICAgIHBhZ2U6IDEsXG4gICAgICBoYXNWYWxpZGF0aW9uOiBmYWxzZSxcbiAgICAgIHZhbGlkYXRpb25UeXBlOiAnJyxcbiAgICAgIGlzUmVxdWlyZWQ6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5yZXF1aXJlZF0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgaGFzQ2hhcmFjdGVyTGVuZ3RoOiBmYWxzZSxcbiAgICAgIG1pbkNoYXJhY3Rlckxlbmd0aDogMCxcbiAgICAgIG1heENoYXJhY3Rlckxlbmd0aDogMTAwLFxuICAgICAgdGl0bGU6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy50aXRsZV0/LnRvU3RyaW5nKCk/LnRyaW0oKSA/PyAnJyxcbiAgICAgIGhhc0Rlc2NyaXB0aW9uOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uZGVzY3JpcHRpb25dPy50b1N0cmluZygpPy50cmltKClcbiAgICAgICAgPy5sZW5ndGhcbiAgICAgICAgPyB0cnVlXG4gICAgICAgIDogZmFsc2UsXG4gICAgICBkZXNjcmlwdGlvbjogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LmRlc2NyaXB0aW9uXT8udG9TdHJpbmcoKT8udHJpbSgpID8/ICcnLFxuICAgICAgaGFzQ29tbWVudHM6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy51c2VyY29tbWVudF0/LnRvU3RyaW5nKCk/LnRyaW0oKVxuICAgICAgICA/Lmxlbmd0aFxuICAgICAgICA/IHRydWVcbiAgICAgICAgOiBmYWxzZSxcbiAgICAgIGNvbW1lbnRzOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uY29tbWVudF0/LnRvU3RyaW5nKCk/LnRyaW0oKSxcbiAgICAgIHJhbmRvbWl6ZTogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnJhbmRvbWl6ZV0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgaGFzT3RoZXI6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5vdGhlcl0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgb3RoZXJWYWx1ZTogJ090aGVyJyxcbiAgICAgIGFsaWdubWVudDogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LmFsaWdubWVudF0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgcmV2ZXJzZTogZmFsc2UsXG4gICAgICBpc1Jlc3BvbmRlbnRBdHRhY2htZW50OlxuICAgICAgICBxdWVzdGlvblt0aGlzLmNvbE1hcD8udXNlcmF0dGFjaG1lbnRdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIHVzZXJBdHRhY2hlZEZpbGVzOiBbXSxcbiAgICAgIGlzUmVzcG9uZGVudENvbW1lbnQ6XG4gICAgICAgIHF1ZXN0aW9uW3RoaXMuY29sTWFwPy51c2VyY29tbWVudF0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgdmlzaWJpbGl0eUxvZ2ljOiBbXSxcbiAgICAgIG90aGVyQ29uZmlnOiB7XG4gICAgICAgIGNvbG9yOiAnIzAwMDAwMCcsXG4gICAgICAgIGlzRmFpbGVkOiBmYWxzZSxcbiAgICAgICAgc2NvcmU6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5zY29yZV0gPz8gMSxcbiAgICAgIH0sXG4gICAgICBjaG9pY2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgdmFsdWU6IDEsXG4gICAgICAgICAgaXNTZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgcmVxdWlyZWQ6IDAsXG4gICAgICAgICAgaGFzSGVscGluZ0xhYmVsOiBmYWxzZSxcbiAgICAgICAgICBoZWxwaW5nTGFiZWw6ICcnLFxuICAgICAgICAgIGlzRmFpbGVkOiBmYWxzZSxcbiAgICAgICAgICBzY29yZTogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnNjb3JlXSA/PyAxLFxuICAgICAgICAgIGNvbG9yOiAnIzAwMDAwMCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBnZW5lcmF0ZU11bHRpcGxlQ2hvaWNlKHR5cGU6IHN0cmluZywgcXVlc3Rpb246IGFueSwgaW5kZXg6IGFueSkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB0eXBlLFxuICAgICAgbmFtZTogYFF1ZXN0aW9uXyR7aW5kZXh9YCxcbiAgICAgIHBhZ2U6IDEsXG4gICAgICBoYXNWYWxpZGF0aW9uOiBmYWxzZSxcbiAgICAgIHZhbGlkYXRpb25UeXBlOiAnJyxcbiAgICAgIGlzUmVxdWlyZWQ6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5yZXF1aXJlZF0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgaGFzQ2hhcmFjdGVyTGVuZ3RoOiBmYWxzZSxcbiAgICAgIG1pbkNoYXJhY3Rlckxlbmd0aDogMCxcbiAgICAgIG1heENoYXJhY3Rlckxlbmd0aDogMTAwLFxuICAgICAgdGl0bGU6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy50aXRsZV0/LnRvU3RyaW5nKCk/LnRyaW0oKSA/PyAnJyxcbiAgICAgIGhhc0Rlc2NyaXB0aW9uOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uZGVzY3JpcHRpb25dPy50b1N0cmluZygpPy50cmltKClcbiAgICAgICAgPy5sZW5ndGhcbiAgICAgICAgPyB0cnVlXG4gICAgICAgIDogZmFsc2UsXG4gICAgICBkZXNjcmlwdGlvbjogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LmRlc2NyaXB0aW9uXT8udG9TdHJpbmcoKS50cmltKCkgPz8gJycsXG4gICAgICBoYXNDb21tZW50czogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LmNvbW1lbnRdPy50b1N0cmluZygpPy50cmltKCk/Lmxlbmd0aFxuICAgICAgICA/IHRydWVcbiAgICAgICAgOiBmYWxzZSxcbiAgICAgIGNvbW1lbnRzOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uY29tbWVudF0/LnRvU3RyaW5nKCkudHJpbSgpLFxuICAgICAgcmFuZG9taXplOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8ucmFuZG9taXplXSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICBoYXNPdGhlcjogcXVlc3Rpb25bdGhpcy5jb2xNYXA/Lm90aGVyXSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICBvdGhlclZhbHVlOiAnT3RoZXInLFxuICAgICAgYWxpZ25tZW50OiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uYWxpZ25tZW50XSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICByZXZlcnNlOiBmYWxzZSxcbiAgICAgIGlzUmVzcG9uZGVudEF0dGFjaG1lbnQ6XG4gICAgICAgIHF1ZXN0aW9uW3RoaXMuY29sTWFwPy51c2VyYXR0YWNobWVudF0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgdXNlckF0dGFjaGVkRmlsZXM6IFtdLFxuICAgICAgdmlzaWJpbGl0eUxvZ2ljOiBbXSxcbiAgICAgIGlzUmVzcG9uZGVudENvbW1lbnQ6XG4gICAgICAgIHF1ZXN0aW9uW3RoaXMuY29sTWFwPy51c2VyY29tbWVudF0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgb3RoZXJDb25maWc6IHtcbiAgICAgICAgY29sb3I6ICcjMDAwMDAwJyxcbiAgICAgICAgaXNGYWlsZWQ6IGZhbHNlLFxuICAgICAgICBzY29yZTogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnNjb3JlXSA/PyAxLFxuICAgICAgfSxcbiAgICAgIGNob2ljZXM6IHRoaXMuZ2VuZXJhdGVDaG9pY2VzKHF1ZXN0aW9uKSxcbiAgICB9O1xuICB9XG5cbiAgZ2VuZXJhdGVEYXRlVGltZSh0eXBlOiBzdHJpbmcsIHF1ZXN0aW9uOiBhbnksIGluZGV4OiBhbnkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogdHlwZSxcbiAgICAgIG5hbWU6IGBRdWVzdGlvbl8ke2luZGV4fWAsXG4gICAgICBwYWdlOiAxLFxuICAgICAgaGFzVmFsaWRhdGlvbjogZmFsc2UsXG4gICAgICB2YWxpZGF0aW9uVHlwZTogJycsXG4gICAgICBpc1JlcXVpcmVkOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8ucmVxdWlyZWRdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIGhhc0NoYXJhY3Rlckxlbmd0aDogZmFsc2UsXG4gICAgICBtaW5DaGFyYWN0ZXJMZW5ndGg6IDAsXG4gICAgICBtYXhDaGFyYWN0ZXJMZW5ndGg6IDEwMCxcbiAgICAgIHRpdGxlOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8udGl0bGVdPy50b1N0cmluZygpPy50cmltKCkgPz8gJycsXG4gICAgICBoYXNEZXNjcmlwdGlvbjogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LmRlc2NyaXB0aW9uXT8udG9TdHJpbmcoKT8udHJpbSgpXG4gICAgICAgID8ubGVuZ3RoXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IGZhbHNlLFxuICAgICAgZGVzY3JpcHRpb246IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5kZXNjcmlwdGlvbl0/LnRvU3RyaW5nKCk/LnRyaW0oKSA/PyAnJyxcbiAgICAgIGhhc0NvbW1lbnRzOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uY29tbWVudF0/LnRvU3RyaW5nKCk/LnRyaW0oKT8ubGVuZ3RoXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IGZhbHNlLFxuICAgICAgY29tbWVudHM6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5jb21tZW50XT8udG9TdHJpbmcoKS50cmltKCksXG4gICAgICByYW5kb21pemU6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5yYW5kb21pemVdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIGhhc090aGVyOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8ub3RoZXJdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIG90aGVyVmFsdWU6ICdPdGhlcicsXG4gICAgICBhbGlnbm1lbnQ6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5hbGlnbm1lbnRdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIHJldmVyc2U6IGZhbHNlLFxuICAgICAgaXNSZXNwb25kZW50QXR0YWNobWVudDpcbiAgICAgICAgcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnVzZXJhdHRhY2htZW50XSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICB1c2VyQXR0YWNoZWRGaWxlczogW10sXG4gICAgICB2aXNpYmlsaXR5TG9naWM6IFtdLFxuICAgICAgaXNSZXNwb25kZW50Q29tbWVudDpcbiAgICAgICAgcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnVzZXJjb21tZW50XSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICBvdGhlckNvbmZpZzoge1xuICAgICAgICBjb2xvcjogJyMwMDAwMDAnLFxuICAgICAgICBpc0ZhaWxlZDogZmFsc2UsXG4gICAgICAgIHNjb3JlOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uc2NvcmVdID8/IDEsXG4gICAgICB9LFxuICAgICAgY2hvaWNlczogW1xuICAgICAgICB7XG4gICAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICAgIHZhbHVlOiAxLFxuICAgICAgICAgIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgIHJlcXVpcmVkOiAwLFxuICAgICAgICAgIGhhc0hlbHBpbmdMYWJlbDogZmFsc2UsXG4gICAgICAgICAgaGVscGluZ0xhYmVsOiAnJyxcbiAgICAgICAgICBpc0ZhaWxlZDogZmFsc2UsXG4gICAgICAgICAgc2NvcmU6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5zY29yZV0gPz8gMSxcbiAgICAgICAgICBjb2xvcjogJyMwMDAwMDAnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGhhc0RhdGU6IHRydWUsXG4gICAgICBoYXNUaW1lOiBmYWxzZSxcbiAgICAgIGRhdGVGb3JtYXQ6ICdERC9NTS9ZWVlZJyxcbiAgICAgIHRpbWVGb3JtYXQ6IDI0LFxuICAgICAgZGF0ZToge1xuICAgICAgICB0aXRsZTogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnBsYWNlaG9sZGVyXSA/PyAnU2VsZWN0IERhdGUnLFxuICAgICAgICB2YWx1ZTogJycsXG4gICAgICB9LFxuICAgICAgdGltZToge1xuICAgICAgICB0aXRsZTogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnBsYWNlaG9sZGVyXSA/PyAnU2VsZWN0IFRpbWUnLFxuICAgICAgICB2YWx1ZTogJycsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbiAgZ2VuZXJhdGVGaWxlVXBsb2FkKHF1ZXN0aW9uOiBhbnksIGluZGV4OiBhbnkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ2ZpbGUtdXBsb2FkJyxcbiAgICAgIG5hbWU6IGBRdWVzdGlvbl8ke2luZGV4fWAsXG4gICAgICBwYWdlOiAxLFxuICAgICAgaGFzVmFsaWRhdGlvbjogZmFsc2UsXG4gICAgICB2YWxpZGF0aW9uVHlwZTogJycsXG4gICAgICBpc1JlcXVpcmVkOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8ucmVxdWlyZWRdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIGhhc0NoYXJhY3Rlckxlbmd0aDogZmFsc2UsXG4gICAgICBtaW5DaGFyYWN0ZXJMZW5ndGg6IDAsXG4gICAgICBtYXhDaGFyYWN0ZXJMZW5ndGg6IDEwMCxcbiAgICAgIHRpdGxlOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8udGl0bGVdPy50b1N0cmluZygpPy50cmltKCkgPz8gJycsXG4gICAgICBoYXNEZXNjcmlwdGlvbjogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LmRlc2NyaXB0aW9uXT8udG9TdHJpbmcoKT8udHJpbSgpXG4gICAgICAgID8ubGVuZ3RoXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IGZhbHNlLFxuICAgICAgZGVzY3JpcHRpb246IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5kZXNjcmlwdGlvbl0/LnRvU3RyaW5nKCk/LnRyaW0oKSA/PyAnJyxcbiAgICAgIGhhc0NvbW1lbnRzOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8udXNlcmNvbW1lbnRdPy50b1N0cmluZygpPy50cmltKClcbiAgICAgICAgPy5sZW5ndGhcbiAgICAgICAgPyB0cnVlXG4gICAgICAgIDogZmFsc2UsXG4gICAgICBjb21tZW50czogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LmNvbW1lbnRdPy50b1N0cmluZygpPy50cmltKCksXG4gICAgICByYW5kb21pemU6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5yYW5kb21pemVdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIGhhc090aGVyOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8ub3RoZXJdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIG90aGVyVmFsdWU6ICdPdGhlcicsXG4gICAgICBhbGlnbm1lbnQ6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5hbGlnbm1lbnRdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIHJldmVyc2U6IGZhbHNlLFxuICAgICAgaXNSZXNwb25kZW50QXR0YWNobWVudDpcbiAgICAgICAgcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnVzZXJhdHRhY2htZW50XSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICB1c2VyQXR0YWNoZWRGaWxlczogW10sXG4gICAgICB2aXNpYmlsaXR5TG9naWM6IFtdLFxuICAgICAgaXNSZXNwb25kZW50Q29tbWVudDpcbiAgICAgICAgcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnVzZXJjb21tZW50XSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICBvdGhlckNvbmZpZzoge1xuICAgICAgICBjb2xvcjogJyMwMDAwMDAnLFxuICAgICAgICBpc0ZhaWxlZDogZmFsc2UsXG4gICAgICAgIHNjb3JlOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uc2NvcmVdID8/IDEsXG4gICAgICB9LFxuICAgICAgY2hvaWNlczogW1xuICAgICAgICB7XG4gICAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICAgIHZhbHVlOiAxLFxuICAgICAgICAgIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgIHJlcXVpcmVkOiAwLFxuICAgICAgICAgIGhhc0hlbHBpbmdMYWJlbDogZmFsc2UsXG4gICAgICAgICAgaGVscGluZ0xhYmVsOiAnJyxcbiAgICAgICAgICBpc0ZhaWxlZDogZmFsc2UsXG4gICAgICAgICAgc2NvcmU6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5zY29yZV0gPz8gMSxcbiAgICAgICAgICBjb2xvcjogJyMwMDAwMDAnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGFsbG93ZWRGaWxlVHlwZXM6IHtcbiAgICAgICAgcGRmOiB0cnVlLFxuICAgICAgICBkb2M6IHRydWUsXG4gICAgICAgIHBuZzogdHJ1ZSxcbiAgICAgICAganBnOiB0cnVlLFxuICAgICAgICBnaWY6IHRydWUsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBnZW5lcmF0ZUNob2ljZXMocXVlc3Rpb246IGFueSkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBbXG4gICAgICBxdWVzdGlvblt0aGlzLmNvbE1hcD8ub3B0MV0sXG4gICAgICBxdWVzdGlvblt0aGlzLmNvbE1hcD8ub3B0Ml0sXG4gICAgICBxdWVzdGlvblt0aGlzLmNvbE1hcD8ub3B0M10sXG4gICAgICBxdWVzdGlvblt0aGlzLmNvbE1hcD8ub3B0NF0sXG4gICAgICBxdWVzdGlvblt0aGlzLmNvbE1hcD8ub3B0NV0sXG4gICAgICBxdWVzdGlvblt0aGlzLmNvbE1hcD8ub3B0Nl0sXG4gICAgXS5maWx0ZXIoKGVsZTogYW55KSA9PiBlbGUpO1xuICAgIG9wdGlvbnMuZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcbiAgICAgIGlmIChlbGUpIHtcbiAgICAgICAgZWxlLnRvU3RyaW5nKCk/LnRyaW0oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAob3B0aW9ucz8ubGVuZ3RoID09PSAwKSB7XG4gICAgICBvcHRpb25zLnB1c2goJycpO1xuICAgIH1cbiAgICBjb25zdCBvcHRpb25NYXA6IGFueSA9IHtcbiAgICAgICdPcHRpb24gMSc6IDMsXG4gICAgICAnT3B0aW9uIDInOiA0LFxuICAgICAgJ09wdGlvbiAzJzogNSxcbiAgICAgICdPcHRpb24gNCc6IDYsXG4gICAgICAnT3B0aW9uIDUnOiA3LFxuICAgICAgJ09wdGlvbiA2JzogOCxcbiAgICB9O1xuICAgIG9wdGlvbnMuZm9yRWFjaCgoY2hvaWNlOiBhbnksIGluZGV4OiBhbnkpID0+IHtcbiAgICAgIG9wdGlvbnNbaW5kZXhdID0ge1xuICAgICAgICB0aXRsZTpcbiAgICAgICAgICBjaG9pY2UgJiYgdHlwZW9mIGNob2ljZSA9PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyBjaG9pY2VcbiAgICAgICAgICAgIDogY2hvaWNlLnRvU3RyaW5nKCkgPz8gJycsXG4gICAgICAgIHZhbHVlOiAxLFxuICAgICAgICBpc1NlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgcmVxdWlyZWQ6IDAsXG4gICAgICAgIGhhc0hlbHBpbmdMYWJlbDogZmFsc2UsXG4gICAgICAgIGhlbHBpbmdMYWJlbDogJycsXG4gICAgICAgIGlzRmFpbGVkOlxuICAgICAgICAgIGNob2ljZT8udG9TdHJpbmcoKT8udHJpbSgpID09XG4gICAgICAgICAgcXVlc3Rpb25bb3B0aW9uTWFwW3F1ZXN0aW9uW3RoaXMuY29sTWFwPy5mYWlsZWRdXV1cbiAgICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgICAgOiBmYWxzZSxcbiAgICAgICAgc2NvcmU6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5zY29yZV0gPz8gMSxcbiAgICAgICAgY29sb3I6ICcjMDAwMDAwJyxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBzZXR0aW5nczogYW55ID0ge1xuICAgIGFzc2Vzc21lbnRNb2RlOiBmYWxzZSxcbiAgICBkZWZhdWx0U2NvcmU6IDEsXG4gICAgbmVnYXRpdmVTY29yZUNyaXRlcmlhOiAnRkFJTEVEJyxcbiAgICBuZWdhdGl2ZVNjb3JlOiAwLFxuICAgIHdlaWdodGFnZUVuYWJsZWQ6IGZhbHNlLFxuICAgIHNldHRpbmdzRW5hYmxlZDogZmFsc2UsXG4gIH07XG5cbiAgY2hlY2tGb3JtYXQoYXNzZXNzbWVudERhdGE6IGFueSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG9yZ0luVGVtcGxhdGUgPSB0aGlzLmNhdGVnb3J5RGF0YVswXVs1XTtcbiAgICAvL0NvbXBsZXRseSBibGFuayBleGNlbCBzaGVldFxuICAgIGlmIChhc3Nlc3NtZW50RGF0YS5sZW5ndGggPT09IDAgfHwgb3JnSW5UZW1wbGF0ZSAhPT0gdGhpcy5vcmdhbml6YXRpb25JZCkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPVxuICAgICAgICAnWW91IGhhdmUgdXBsb2FkZWQgdGhlIHdyb25nIHRlbXBsYXRlLiBQbGVhc2UgZG93bmxvYWQgdGhlIHRlbXBsYXRlIGFnYWluIHRvIHByb2NlZWQuJztcbiAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvL0ludmFsaWQgVGVtcGFsdGVcbiAgICB0cnkge1xuICAgICAgaWYgKFxuICAgICAgICBhc3Nlc3NtZW50RGF0YVsyXVswXSAhPT0gJ0Fzc2Vzc21lbnQgTmFtZSonIHx8XG4gICAgICAgIGFzc2Vzc21lbnREYXRhWzNdWzBdICE9PSAnRGVzY3JpcHRpb24nIHx8XG4gICAgICAgIGFzc2Vzc21lbnREYXRhWzRdWzBdICE9PSAnQXNzZXNzbWVudCBDYXRlZ29yeSonIHx8XG4gICAgICAgIGFzc2Vzc21lbnREYXRhWzVdWzBdICE9PSAnUXVlc3Rpb24gVHlwZSonXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPVxuICAgICAgICAgICdZb3UgaGF2ZSB1cGxvYWRlZCB0aGUgd3JvbmcgdGVtcGxhdGUuIFBsZWFzZSBkb3dubG9hZCB0aGUgdGVtcGxhdGUgYWdhaW4gdG8gcHJvY2VlZC4nO1xuICAgICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cbiAgICAgICAgJ1lvdSBoYXZlIHVwbG9hZGVkIHRoZSB3cm9uZyB0ZW1wbGF0ZS4gUGxlYXNlIGRvd25sb2FkIHRoZSB0ZW1wbGF0ZSBhZ2FpbiB0byBwcm9jZWVkLic7XG4gICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy9DaGVjayBBc3Nlc3NtZW50IG5hbWVcbiAgICB0cnkge1xuICAgICAgaWYgKFxuICAgICAgICAhYXNzZXNzbWVudERhdGFbMl1bMV0gfHxcbiAgICAgICAgYXNzZXNzbWVudERhdGFbMl1bMV0gPT09ICcnIHx8XG4gICAgICAgIGFzc2Vzc21lbnREYXRhWzJdWzFdID09PSB1bmRlZmluZWRcbiAgICAgICkge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdFbnRlciBhIG5hbWUgZm9yIHRoaXMgQXNzZXNzbWVudC4nO1xuICAgICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0VudGVyIGEgbmFtZSBmb3IgdGhpcyBBc3Nlc3NtZW50Lic7XG4gICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy9jYXRlZ29yeSBub3Qgc2VsZWN0ZWRcbiAgICB0cnkge1xuICAgICAgaWYgKFxuICAgICAgICAhYXNzZXNzbWVudERhdGFbNF1bMV0gfHxcbiAgICAgICAgYXNzZXNzbWVudERhdGFbNF1bMV0gPT09ICcnIHx8XG4gICAgICAgIGFzc2Vzc21lbnREYXRhWzRdWzFdID09PSB1bmRlZmluZWRcbiAgICAgICkge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdTZWxlY3QgdGhlIEFzc2Vzc21lbnQgQ2F0ZWdvcnkuJztcbiAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdTZWxlY3QgdGhlIEFzc2Vzc21lbnQgQ2F0ZWdvcnkuJztcbiAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvL0RvZXMgbm90IGNvbnRhaW5zIGFueSBxdWVzdGlvbnNcbiAgICB0cnkge1xuICAgICAgaWYgKGFzc2Vzc21lbnREYXRhLnNsaWNlKDcpPy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPVxuICAgICAgICAgICdZb3UgaGF2ZSB1cGxvYWRlZCBhIGJsYW5rIHRlbXBsYXRlLiBQbGVhc2UgYWRkIHF1ZXN0aW9ucyB0byB0aGlzIHRlbXBsYXRlIGFuZCB1cGxvYWQgaXQgYWdhaW4uJztcbiAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9XG4gICAgICAgICdZb3UgaGF2ZSB1cGxvYWRlZCBhIGJsYW5rIHRlbXBsYXRlLiBQbGVhc2UgYWRkIHF1ZXN0aW9ucyB0byB0aGlzIHRlbXBsYXRlIGFuZCB1cGxvYWQgaXQgYWdhaW4uJztcbiAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvL2hhbmRsZSB0eXBlIG9mIHF1ZXN0aW9uIGFuZCBvcHRpb25zIGNvdW50XG4gICAgZm9yIChsZXQgaSA9IDc7IGkgPD0gYXNzZXNzbWVudERhdGEubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGFzc2Vzc21lbnREYXRhW2ldWzBdICE9PSAnTXVsdGlwbGUgQ2hvaWNlJyAmJlxuICAgICAgICBhc3Nlc3NtZW50RGF0YVtpXVswXSAhPT0gJ0NoZWNrYm94JyAmJlxuICAgICAgICBhc3Nlc3NtZW50RGF0YVtpXVswXSAhPT0gJ0Ryb3Bkb3duJyAmJlxuICAgICAgICBhc3Nlc3NtZW50RGF0YVtpXVswXSAhPT0gJ1NpbmdsZSBUZXh0Ym94JyAmJlxuICAgICAgICBhc3Nlc3NtZW50RGF0YVtpXVswXSAhPT0gJ0RhdGUgJiBUaW1lJyAmJlxuICAgICAgICBhc3Nlc3NtZW50RGF0YVtpXVswXSAhPT0gJ0ZpbGUgVXBsb2FkJ1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cbiAgICAgICAgICAnWW91IGhhdmUgdXBsb2FkZWQgdGhlIHdyb25nIHRlbXBsYXRlLiBQbGVhc2UgZG93bmxvYWQgdGhlIHRlbXBsYXRlIGFnYWluIHRvIHByb2NlZWQuJztcbiAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICAvLyBpZiAoYXNzZXNzbWVudERhdGFbaV1bMV0gPT09ICcnKSB7XG4gICAgICAvLyAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ1lvdSBoYXZlIHVwbG9hZGVkIHRoZSB3cm9uZyB0ZW1wbGF0ZS4gUGxlYXNlIGRvd25sb2FkIHRoZSB0ZW1wbGF0ZSBhZ2FpbiB0byBwcm9jZWVkLic7XG4gICAgICAvLyAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IHRydWU7XG4gICAgICAvLyAgIHJldHVybiB0cnVlO1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaW5pdGlhbGl6ZUVtcHR5UmVzcG9uc2VTZWdtZW50KCkge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJycsXG4gICAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgICBtYXhTY29yZTogMTAsXG4gICAgICBzZWdtZW50czogW10sXG4gICAgfTtcbiAgfVxuXG4gIHBvc3RBc3Nlc3NtZW50KGRhdGE6IGFueSkge1xuICAgIHRoaXMuaXNTaG93TG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmFzc2Vzc21lbnRTZXJ2aWNlXG4gICAgICAuY3JlYXRlQXNzZXNzbWVudCh0aGlzLmNvbnZlcnRlZERhdGEubWV0YWRhdGEpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnBvc3RBc3Nlc3NtZW50RGV0YWlscyhcbiAgICAgICAgICAgIHJlc3BvbnNlLl9pZCxcbiAgICAgICAgICAgIGRhdGEubW9kZSxcbiAgICAgICAgICAgIGRhdGEuYXNzZXNzbWVudERldGFpbHNcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1Nob3dMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgcG9zdEFzc2Vzc21lbnREZXRhaWxzKGlkOiBhbnksIG1vZGU6IGFueSwgYXNzZXNzbWVudERldGFpbHM6IGFueSkge1xuICAgIHRoaXMuaXNVcGxvYWRlZCA9IGZhbHNlO1xuICAgIHRoaXMuYXV0aC5wcmV2aWV3UGFuZWwubmV4dChmYWxzZSk7XG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIHF1ZXN0aW9uOiBhc3Nlc3NtZW50RGV0YWlscyxcbiAgICAgIGFjdGlvbjogJ3F1ZXN0aW9uc19zYXZlJyxcbiAgICAgIHN0YXRlOiBtb2RlLFxuICAgIH07XG5cbiAgICB0aGlzLmFzc2Vzc21lbnRTZXJ2aWNlLnNhdmVBc3Nlc3NtZW50RGV0YWlscyhpZCwgcGF5bG9hZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuYXNzZXNzbWVudERhdGEgPSB7fTtcbiAgICAgICAgdGhpcy5pc1Nob3dMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zaG93U21pbGV5ID0gdHJ1ZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuaXNTaG93TG9hZGVyID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgc21pbGV5QWN0aW9uKGlkOiBhbnkpIHtcbiAgICBpZiAoaWQgPT09IHNtaWxleUFjdGlvbnMuVklFV19BU1NFU1NNRU5UUykge1xuICAgICAgdGhpcy5kaXNjb25uZWN0UmVmcmVzaC5lbWl0KGZhbHNlKTtcbiAgICAgIC8vIFRPRE86IE5hdmlnYXRlIHRvICcvbWFuYWdlLWFzc2Vzc21lbnQnXG4gICAgICBsZXQgdXJsOiBzdHJpbmc7XG4gICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhvc3Quc3RhcnRzV2l0aCgnbG9jYWxob3N0JykpIHtcbiAgICAgICAgdXJsID0gJ2h0dHA6Ly8nICsgd2luZG93LmxvY2F0aW9uLmhvc3QgKyAnL21hbmFnZS1hc3Nlc3NtZW50JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVybCA9XG4gICAgICAgICAgJ2h0dHBzOi8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0ICsgJy9hc3Nlc3NtZW50L21hbmFnZS1hc3Nlc3NtZW50JztcbiAgICAgIH1cbiAgICAgIHRoaXMuaWZyYW1lU2VydmljZS5yZWRpcmVjdElmSW5JZnJhbWUodXJsLCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XG4gICAgICB0aGlzLmF1dGgucHJldmlld1BhbmVsLm5leHQoZmFsc2UpO1xuICAgICAgY29uc3QgY2xvc2VCdG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xvc2Utd29ya2Zsb3ctZW5naW5lLWJ0bicpO1xuICAgICAgaWYgKGNsb3NlQnRuKSBjbG9zZUJ0bi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbXBvcnQtYW4tYXNzZXNzbWVudFwiIFthdHRyLmlkXT1cIidzY3JvbGxSZWZlcmVuY2UnXCI+XG4gIDwhLS0gbWFpbiBjb250YWluZXIgc3RhcnRzIGhlcmUgLS0+XG4gIDxkaXYgY2xhc3M9XCJpbXBvcnQtYW4tYXNzZXNzbWVudC1ib2R5XCI+XG4gICAgPGRpdiBjbGFzcz1cImltcG9ydC1hbi1hc3Nlc3NtZW50LWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImltYWdlXCI+XG4gICAgICAgIDxpbWcgW3NyY109XCJBU1NFVFMuc3ByZWFkc2hlZXRfbXVsdGlwbGVfY2F0ZWdvcnlcIiBhbHQ9XCJcIiAvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoND5Zb3UgY2FuIGltcG9ydCBhbiBhc3Nlc3NtZW50IGluIGp1c3QgdHdvIGVhc3kgc3RlcHM6PC9oND5cbiAgICAgIDx1bCBjbGFzcz1cImxpc3RcIj5cbiAgICAgICAgPGxpPkRvd25sb2FkIHRoZSB0ZW1wbGF0ZSBhbmQgZmlsbCBpbiB0aGUgZGV0YWlscy48L2xpPlxuICAgICAgICA8bGk+VXBsb2FkIHRoZSAueGxzeCBmaWxlIGFuZCB5b3XigJlyZSBnb29kIHRvIGdvITwvbGk+XG4gICAgICA8L3VsPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiZG93bmxvYWRcIlxuICAgICAgICAqbmdJZj1cImRvd25sb2FkU3RhdHVzID09PSAnTk9UX0RPV05MT0FESU5HJ1wiXG4gICAgICAgIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKClcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWI7PC9pPiBEb3dubG9hZCBUZW1wbGF0ZVxuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2IGNsYXNzPVwiYnVsay1idG4tcHJvZ3Jlc3NcIiAqbmdJZj1cImRvd25sb2FkU3RhdHVzID09PSAnRE9XTkxPQURJTkcnXCI+XG4gICAgICAgIERvd25sb2FkIGluIFByb2dyZXNzXG4gICAgICAgIDxhcHAtbGluZS1sb2FkZXIgW2xvYWRlckhlaWdodF09XCInMidcIj48L2FwcC1saW5lLWxvYWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRvd25sb2FkU3RhdHVzID09PSAnRE9XTkxPQURFRCdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstYnRuLXByb2dyZXNzXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWM7PC9pPkRvd25sb2FkIENvbXBsZXRlXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnVsay1idG4tYWdhaW5cIj5cbiAgICAgICAgICBJcyB0aGUgZmlsZSBub3QgZG93bmxvYWRlZD9cbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKClcIj5SZXRyeSBEb3dubG9hZDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPHAgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJpc1dyb25nRm9ybWF0XCI+e3sgZXJyb3JNZXNzYWdlIH19PC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJpc1Nob3dMb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuXG48aW5wdXRcbiAgdHlwZT1cImZpbGVcIlxuICBbKG5nTW9kZWwpXT1cImZpbGVWYWx1ZVwiXG4gIGlkPVwiaWFhLWZpbGUtaW5wdXRcIlxuICBhY2NlcHQ9XCIueGxzeFwiXG4gIGNsYXNzPVwiaGlkZGVuLWlucHV0XCJcbiAgb25jbGljaz1cInRoaXMudmFsdWUgPSBudWxsXCJcbiAgKGNoYW5nZSk9XCJ1cGxvYWRGaWxlKCRldmVudClcIlxuLz5cblxuPGFwcC1zbWlsZXktZGlhbG9nLWlubGluZVxuICAqbmdJZj1cInNob3dTbWlsZXlcIlxuICBbbWVzc2FnZV09XCJzbWlsZXlNZXNzYWdlQWN0aW9uXCJcbiAgW2FjdGlvbkJ1dHRvbnNdPVwiYWN0aW9uQnV0dG9uc1wiXG4gIChhY3Rpb24pPVwic21pbGV5QWN0aW9uKCRldmVudClcIlxuICAoY2xvc2VTbWlsZXkpPVwiY2xvc2VTbWlsZXkoJGV2ZW50KVwiXG4+PC9hcHAtc21pbGV5LWRpYWxvZy1pbmxpbmU+XG5cbjxkaXYgY2xhc3M9XCJpbXBvcnRcIiAqbmdJZj1cImlzVXBsb2FkZWRcIj5cbiAgPGFwcC1jcmVhdGUtYXNzZXNzbWVudC1jb250YWluZXJcbiAgICAjZWRpdG9yXG4gICAgW29wZW5Qb3J0YWxdPVwiJ0FTU0VTU01FTlRfSU1QT1JUJ1wiXG4gICAgKHBvc3RBc3Nlc3NtZW50KT1cInBvc3RBc3Nlc3NtZW50KCRldmVudClcIlxuICAgIChzZXRJc1VwbG9hZGVkKT1cInNldElzVXBsb2FkZWQoJGV2ZW50KVwiXG4gICAgW2Fzc2Vzc21lbnRKU09OXT1cImNvbnZlcnRlZERhdGFcIlxuICA+XG4gIDwvYXBwLWNyZWF0ZS1hc3Nlc3NtZW50LWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
672
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWFuLWFzc2Vzc21lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3ctYXNzZXNzbWVudC9pbXBvcnQtYW4tYXNzZXNzbWVudC9pbXBvcnQtYW4tYXNzZXNzbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFNN0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7OztBQUcxRCxNQUFNLGFBQWEsR0FBRztJQUNwQixXQUFXLEVBQUUsYUFBYTtJQUMxQixnQkFBZ0IsRUFBRSxrQkFBa0I7Q0FDckMsQ0FBQztBQU9GLE1BQU0sT0FBTywyQkFBMkI7SUFxQ3RDLGFBQWEsQ0FBQyxVQUFtQjtRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsMkJBQTJCLENBQUMsQ0FBQztZQUN0RSxJQUFJLFFBQVE7Z0JBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQy9DLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELFlBQ1UsSUFBaUIsRUFDbEIsaUJBQW9DLEVBQ25DLGFBQTRCO1FBRjVCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDbEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWpEdEMsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUdOLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pELGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBR3RCLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBRXZCLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsb0JBQW9CLENBQUM7UUFDcEMsbUJBQWMsR0FBVyxpQkFBaUIsQ0FBQztRQUMzQyxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUNwQix3QkFBbUIsR0FBRyxpQkFBaUIsQ0FBQztRQUN4QyxrQkFBYSxHQUFHO1lBQ2Q7Z0JBQ0UsVUFBVSxFQUFFLHlCQUF5QjtnQkFDckMsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLEVBQUUsRUFBRSxhQUFhLENBQUMsV0FBVzthQUM5QjtZQUNEO2dCQUNFLFVBQVUsRUFBRSxrQkFBa0I7Z0JBQzlCLEtBQUssRUFBRSxVQUFVO2dCQUNqQixFQUFFLEVBQUUsYUFBYSxDQUFDLGdCQUFnQjthQUNuQztTQUNGLENBQUM7UUFDRixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBSW5CLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFnTjVCLFdBQU0sR0FBUTtZQUNaLElBQUksRUFBRSxDQUFDO1lBQ1AsS0FBSyxFQUFFLENBQUM7WUFDUixLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLEVBQUUsQ0FBQztZQUNQLFFBQVEsRUFBRSxDQUFDO1lBQ1gsTUFBTSxFQUFFLEVBQUU7WUFDVixXQUFXLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSxFQUFFO1lBQ2YsT0FBTyxFQUFFLEVBQUU7WUFDWCxLQUFLLEVBQUUsRUFBRTtZQUNULFNBQVMsRUFBRSxFQUFFO1lBQ2IsU0FBUyxFQUFFLEVBQUU7WUFDYixjQUFjLEVBQUUsRUFBRTtZQUNsQixXQUFXLEVBQUUsRUFBRTtTQUNoQixDQUFDO1FBOFFLLGFBQVEsR0FBUTtZQUNyQixjQUFjLEVBQUUsS0FBSztZQUNyQixZQUFZLEVBQUUsQ0FBQztZQUNmLHFCQUFxQixFQUFFLFFBQVE7WUFDL0IsYUFBYSxFQUFFLENBQUM7WUFDaEIsZ0JBQWdCLEVBQUUsS0FBSztZQUN2QixlQUFlLEVBQUUsS0FBSztTQUN2QixDQUFDO1FBdmVBLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztRQUN6QixNQUFNLFlBQVksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRCxNQUFNLFFBQVEsR0FBRyx3QkFBd0IsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUV0RyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDbEQsSUFBSSxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ2xCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUN2RCxJQUFJLEVBQ0osa0JBQWtCLEVBQ2xCLFFBQVEsQ0FDVCxDQUFDO2dCQUNKLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNYLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDO1lBQ3JDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFELElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixVQUFVLENBQUMsR0FBUTtRQUNqQixNQUFNLE1BQU0sR0FBaUIsR0FBRyxDQUFDLE1BQXNCLENBQUM7UUFDeEQsTUFBTSxNQUFNLEdBQWUsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM1QyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDekIsTUFBTSxJQUFJLEdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDckMsTUFBTSxFQUFFLEdBQWtCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDOUQsTUFBTSxNQUFNLEdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QyxNQUFNLE9BQU8sR0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sRUFBRSxHQUFtQixFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLE1BQU0sUUFBUSxHQUFtQixFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO2dCQUNyRCxNQUFNLEVBQUUsQ0FBQzthQUNWLENBQVEsQ0FBQztZQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFO2dCQUM1QyxNQUFNLEVBQUUsQ0FBQzthQUNWLENBQVEsQ0FBQztZQUVWLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFN0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FDekMsQ0FBQyxXQUFnQixFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDN0MsQ0FBQztZQUVGLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDMUMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2dCQUN0RSxJQUFJLFFBQVE7b0JBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO2dCQUU5QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztnQkFDakQsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ1Q7UUFDSCxDQUFDLENBQUM7UUFDRixNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFHRCxvQkFBb0IsQ0FBQyxZQUFpQjtRQUNwQyxNQUFNLE9BQU8sR0FBUSxFQUFFLENBQUM7UUFDeEIsSUFBSSxZQUFZLEVBQUU7WUFDaEIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsWUFBb0I7UUFDbkMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxJQUFTO1FBQzdCLGNBQWM7UUFFZCxNQUFNLE9BQU8sR0FBUTtZQUNuQixRQUFRLEVBQUU7Z0JBQ1IsZUFBZSxFQUFFLEVBQUU7Z0JBQ25CLFdBQVcsRUFBRSxFQUFFO2dCQUNmLGVBQWUsRUFBRSxZQUFZO2dCQUM3QixZQUFZLEVBQUUsRUFBRTtnQkFDaEIscUJBQXFCLEVBQUU7b0JBQ3JCLElBQUksRUFBRSxNQUFNO2lCQUNiO2dCQUNELGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLFdBQVcsRUFBRSxZQUFZO2FBQzFCO1lBQ0QsY0FBYyxFQUFFO2dCQUNkLE9BQU8sRUFBRSxDQUFDO2dCQUNWLGlCQUFpQixFQUFFLEtBQUs7Z0JBQ3hCLGlCQUFpQixFQUFFLEtBQUs7Z0JBQ3hCLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixxQkFBcUIsRUFBRSxLQUFLO2dCQUM1QixXQUFXLEVBQUUsRUFBRTtnQkFDZixlQUFlLEVBQUUsS0FBSztnQkFDdEIsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLGtCQUFrQixFQUFFLEVBQUU7Z0JBQ3RCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixnQkFBZ0IsRUFBRSxLQUFLO2dCQUN2QixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsYUFBYSxFQUFFLEVBQUU7Z0JBQ2pCLHNCQUFzQixFQUFFLEtBQUs7Z0JBQzdCLG1CQUFtQixFQUFFLEVBQUU7Z0JBQ3ZCLFFBQVEsRUFBRSxFQUFFO2dCQUNaLGVBQWUsRUFBRSxFQUFFO2dCQUNuQixpQkFBaUIsRUFBRSxFQUFFO2dCQUNyQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLGVBQWUsRUFBRSxJQUFJLENBQUMsOEJBQThCLEVBQUU7YUFDdkQ7U0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEUsMkVBQTJFO1FBQzNFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFlBQVksR0FBRztZQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqRCxDQUFDO1FBRUYsNEVBQTRFO1FBQzVFLDJEQUEyRDtRQUMzRCw0RUFBNEU7UUFDNUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQscUJBQXFCLENBQUMsYUFBa0IsRUFBRSxjQUFtQjtRQUMzRCxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksYUFBYSxFQUFFLE1BQU0sRUFBRTtZQUN6QixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBYSxFQUFFLEtBQWEsRUFBRSxFQUFFO2dCQUNyRCxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3RCLFFBQVEsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUNuQixLQUFLLGdCQUFnQjt3QkFDbkIsY0FBYyxDQUFDLElBQUksQ0FDakIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FDOUQsQ0FBQzt3QkFDRixNQUFNO29CQUNSLEtBQUssaUJBQWlCO3dCQUNwQixjQUFjLENBQUMsSUFBSSxDQUNqQixJQUFJLENBQUMsc0JBQXNCLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUNoRSxDQUFDO3dCQUNGLE1BQU07b0JBQ1IsS0FBSyxVQUFVO3dCQUNiLGNBQWMsQ0FBQyxJQUFJLENBQ2pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUN6RCxDQUFDO3dCQUNGLE1BQU07b0JBQ1IsS0FBSyxVQUFVO3dCQUNiLGNBQWMsQ0FBQyxJQUFJLENBQ2pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUN6RCxDQUFDO3dCQUNGLE1BQU07b0JBQ1IsS0FBSyxhQUFhO3dCQUNoQixjQUFjLENBQUMsSUFBSSxDQUNqQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FDcEQsQ0FBQzt3QkFDRixNQUFNO29CQUNSLEtBQUssYUFBYTt3QkFDaEIsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7d0JBQzlELE1BQU07b0JBQ1IsUUFBUTtvQkFDUixxQ0FBcUM7aUJBQ3RDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUM7SUFDOUQsQ0FBQztJQXNCRCxxQkFBcUIsQ0FBQyxJQUFZLEVBQUUsUUFBYSxFQUFFLEtBQVU7UUFDM0QsT0FBTztZQUNMLElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsSUFBSSxFQUFFLFlBQVksS0FBSyxFQUFFO1lBQ3pCLElBQUksRUFBRSxDQUFDO1lBQ1AsYUFBYSxFQUFFLEtBQUs7WUFDcEIsY0FBYyxFQUFFLEVBQUU7WUFDbEIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3BFLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsa0JBQWtCLEVBQUUsQ0FBQztZQUNyQixrQkFBa0IsRUFBRSxHQUFHO1lBQ3ZCLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzdELGNBQWMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUU7Z0JBQ3BFLEVBQUUsTUFBTTtnQkFDUixDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUMsS0FBSztZQUNULFdBQVcsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3pFLFdBQVcsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUU7Z0JBQ2pFLEVBQUUsTUFBTTtnQkFDUixDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUMsS0FBSztZQUNULFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUU7WUFDNUQsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3BFLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztZQUMvRCxVQUFVLEVBQUUsT0FBTztZQUNuQixTQUFTLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDcEUsT0FBTyxFQUFFLEtBQUs7WUFDZCxzQkFBc0IsRUFDcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDaEUsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixtQkFBbUIsRUFDakIsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDN0QsZUFBZSxFQUFFLEVBQUU7WUFDbkIsV0FBVyxFQUFFO2dCQUNYLEtBQUssRUFBRSxTQUFTO2dCQUNoQixRQUFRLEVBQUUsS0FBSztnQkFDZixLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQzthQUN6QztZQUNELE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxLQUFLLEVBQUUsRUFBRTtvQkFDVCxLQUFLLEVBQUUsQ0FBQztvQkFDUixVQUFVLEVBQUUsS0FBSztvQkFDakIsUUFBUSxFQUFFLENBQUM7b0JBQ1gsZUFBZSxFQUFFLEtBQUs7b0JBQ3RCLFlBQVksRUFBRSxFQUFFO29CQUNoQixRQUFRLEVBQUUsS0FBSztvQkFDZixLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQztvQkFDeEMsS0FBSyxFQUFFLFNBQVM7aUJBQ2pCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQVksRUFBRSxRQUFhLEVBQUUsS0FBVTtRQUM1RCxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUk7WUFDVixJQUFJLEVBQUUsWUFBWSxLQUFLLEVBQUU7WUFDekIsSUFBSSxFQUFFLENBQUM7WUFDUCxhQUFhLEVBQUUsS0FBSztZQUNwQixjQUFjLEVBQUUsRUFBRTtZQUNsQixVQUFVLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDcEUsa0JBQWtCLEVBQUUsS0FBSztZQUN6QixrQkFBa0IsRUFBRSxDQUFDO1lBQ3JCLGtCQUFrQixFQUFFLEdBQUc7WUFDdkIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDN0QsY0FBYyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRTtnQkFDcEUsRUFBRSxNQUFNO2dCQUNSLENBQUMsQ0FBQyxJQUFJO2dCQUNOLENBQUMsQ0FBQyxLQUFLO1lBQ1QsV0FBVyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDeEUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU07Z0JBQ3JFLENBQUMsQ0FBQyxJQUFJO2dCQUNOLENBQUMsQ0FBQyxLQUFLO1lBQ1QsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRTtZQUMzRCxTQUFTLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDcEUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQy9ELFVBQVUsRUFBRSxPQUFPO1lBQ25CLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNwRSxPQUFPLEVBQUUsS0FBSztZQUNkLHNCQUFzQixFQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNoRSxpQkFBaUIsRUFBRSxFQUFFO1lBQ3JCLGVBQWUsRUFBRSxFQUFFO1lBQ25CLG1CQUFtQixFQUNqQixRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztZQUM3RCxXQUFXLEVBQUU7Z0JBQ1gsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLFFBQVEsRUFBRSxLQUFLO2dCQUNmLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ3pDO1lBQ0QsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO1NBQ3hDLENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWSxFQUFFLFFBQWEsRUFBRSxLQUFVO1FBQ3RELE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxZQUFZLEtBQUssRUFBRTtZQUN6QixJQUFJLEVBQUUsQ0FBQztZQUNQLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFVBQVUsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNwRSxrQkFBa0IsRUFBRSxLQUFLO1lBQ3pCLGtCQUFrQixFQUFFLENBQUM7WUFDckIsa0JBQWtCLEVBQUUsR0FBRztZQUN2QixLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtZQUM3RCxjQUFjLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFO2dCQUNwRSxFQUFFLE1BQU07Z0JBQ1IsQ0FBQyxDQUFDLElBQUk7Z0JBQ04sQ0FBQyxDQUFDLEtBQUs7WUFDVCxXQUFXLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtZQUN6RSxXQUFXLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTTtnQkFDckUsQ0FBQyxDQUFDLElBQUk7Z0JBQ04sQ0FBQyxDQUFDLEtBQUs7WUFDVCxRQUFRLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFO1lBQzNELFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNwRSxRQUFRLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDL0QsVUFBVSxFQUFFLE9BQU87WUFDbkIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3BFLE9BQU8sRUFBRSxLQUFLO1lBQ2Qsc0JBQXNCLEVBQ3BCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ2hFLGlCQUFpQixFQUFFLEVBQUU7WUFDckIsZUFBZSxFQUFFLEVBQUU7WUFDbkIsbUJBQW1CLEVBQ2pCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzdELFdBQVcsRUFBRTtnQkFDWCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDekM7WUFDRCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsS0FBSyxFQUFFLEVBQUU7b0JBQ1QsS0FBSyxFQUFFLENBQUM7b0JBQ1IsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLFFBQVEsRUFBRSxDQUFDO29CQUNYLGVBQWUsRUFBRSxLQUFLO29CQUN0QixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQ3hDLEtBQUssRUFBRSxTQUFTO2lCQUNqQjthQUNGO1lBQ0QsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsS0FBSztZQUNkLFVBQVUsRUFBRSxZQUFZO1lBQ3hCLFVBQVUsRUFBRSxFQUFFO1lBQ2QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsSUFBSSxhQUFhO2dCQUMxRCxLQUFLLEVBQUUsRUFBRTthQUNWO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsSUFBSSxhQUFhO2dCQUMxRCxLQUFLLEVBQUUsRUFBRTthQUNWO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxRQUFhLEVBQUUsS0FBVTtRQUMxQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLGFBQWE7WUFDbkIsSUFBSSxFQUFFLFlBQVksS0FBSyxFQUFFO1lBQ3pCLElBQUksRUFBRSxDQUFDO1lBQ1AsYUFBYSxFQUFFLEtBQUs7WUFDcEIsY0FBYyxFQUFFLEVBQUU7WUFDbEIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3BFLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsa0JBQWtCLEVBQUUsQ0FBQztZQUNyQixrQkFBa0IsRUFBRSxHQUFHO1lBQ3ZCLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzdELGNBQWMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUU7Z0JBQ3BFLEVBQUUsTUFBTTtnQkFDUixDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUMsS0FBSztZQUNULFdBQVcsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3pFLFdBQVcsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUU7Z0JBQ2pFLEVBQUUsTUFBTTtnQkFDUixDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUMsS0FBSztZQUNULFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUU7WUFDNUQsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3BFLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztZQUMvRCxVQUFVLEVBQUUsT0FBTztZQUNuQixTQUFTLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDcEUsT0FBTyxFQUFFLEtBQUs7WUFDZCxzQkFBc0IsRUFDcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDaEUsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixlQUFlLEVBQUUsRUFBRTtZQUNuQixtQkFBbUIsRUFDakIsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDN0QsV0FBVyxFQUFFO2dCQUNYLEtBQUssRUFBRSxTQUFTO2dCQUNoQixRQUFRLEVBQUUsS0FBSztnQkFDZixLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQzthQUN6QztZQUNELE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxLQUFLLEVBQUUsRUFBRTtvQkFDVCxLQUFLLEVBQUUsQ0FBQztvQkFDUixVQUFVLEVBQUUsS0FBSztvQkFDakIsUUFBUSxFQUFFLENBQUM7b0JBQ1gsZUFBZSxFQUFFLEtBQUs7b0JBQ3RCLFlBQVksRUFBRSxFQUFFO29CQUNoQixRQUFRLEVBQUUsS0FBSztvQkFDZixLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQztvQkFDeEMsS0FBSyxFQUFFLFNBQVM7aUJBQ2pCO2FBQ0Y7WUFDRCxnQkFBZ0IsRUFBRTtnQkFDaEIsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsR0FBRyxFQUFFLElBQUk7YUFDVjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLFFBQWE7UUFDM0IsTUFBTSxPQUFPLEdBQUc7WUFDZCxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDM0IsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQzNCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQztZQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDM0IsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQzNCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQztTQUM1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQzNCLElBQUksR0FBRyxFQUFFO2dCQUNQLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxPQUFPLEVBQUUsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2xCO1FBQ0QsTUFBTSxTQUFTLEdBQVE7WUFDckIsVUFBVSxFQUFFLENBQUM7WUFDYixVQUFVLEVBQUUsQ0FBQztZQUNiLFVBQVUsRUFBRSxDQUFDO1lBQ2IsVUFBVSxFQUFFLENBQUM7WUFDYixVQUFVLEVBQUUsQ0FBQztZQUNiLFVBQVUsRUFBRSxDQUFDO1NBQ2QsQ0FBQztRQUNGLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFXLEVBQUUsS0FBVSxFQUFFLEVBQUU7WUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHO2dCQUNmLEtBQUssRUFDSCxNQUFNLElBQUksT0FBTyxNQUFNLElBQUksUUFBUTtvQkFDakMsQ0FBQyxDQUFDLE1BQU07b0JBQ1IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUM3QixLQUFLLEVBQUUsQ0FBQztnQkFDUixVQUFVLEVBQUUsS0FBSztnQkFDakIsUUFBUSxFQUFFLENBQUM7Z0JBQ1gsZUFBZSxFQUFFLEtBQUs7Z0JBQ3RCLFlBQVksRUFBRSxFQUFFO2dCQUNoQixRQUFRLEVBQ04sTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRTtvQkFDeEIsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUNsRCxDQUFDLENBQUMsSUFBSTtvQkFDTixDQUFDLENBQUMsS0FBSztnQkFDWCxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDeEMsS0FBSyxFQUFFLFNBQVM7YUFDakIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQVdELFdBQVcsQ0FBQyxjQUFtQjtRQUM3QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlDLDZCQUE2QjtRQUM3QixJQUFJLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLGFBQWEsS0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hFLElBQUksQ0FBQyxZQUFZO2dCQUNmLHNGQUFzRixDQUFDO1lBQ3pGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxrQkFBa0I7UUFDbEIsSUFBSTtZQUNGLElBQ0UsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLGtCQUFrQjtnQkFDM0MsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLGFBQWE7Z0JBQ3RDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxzQkFBc0I7Z0JBQy9DLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxnQkFBZ0IsRUFDekM7Z0JBQ0EsSUFBSSxDQUFDLFlBQVk7b0JBQ2Ysc0ZBQXNGLENBQUM7Z0JBQ3pGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFBQyxNQUFNO1lBQ04sSUFBSSxDQUFDLFlBQVk7Z0JBQ2Ysc0ZBQXNGLENBQUM7WUFDekYsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELHVCQUF1QjtRQUN2QixJQUFJO1lBQ0YsSUFDRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JCLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUMzQixjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxFQUNsQztnQkFDQSxJQUFJLENBQUMsWUFBWSxHQUFHLG1DQUFtQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztnQkFDMUIsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQUMsTUFBTTtZQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsbUNBQW1DLENBQUM7WUFDeEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELHVCQUF1QjtRQUN2QixJQUFJO1lBQ0YsSUFDRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JCLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUMzQixjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxFQUNsQztnQkFDQSxJQUFJLENBQUMsWUFBWSxHQUFHLGlDQUFpQyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztnQkFDMUIsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQUMsTUFBTTtZQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsaUNBQWlDLENBQUM7WUFDdEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELGlDQUFpQztRQUNqQyxJQUFJO1lBQ0YsSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxZQUFZO29CQUNmLGdHQUFnRyxDQUFDO2dCQUNuRyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztnQkFDMUIsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQUMsTUFBTTtZQUNOLElBQUksQ0FBQyxZQUFZO2dCQUNmLGdHQUFnRyxDQUFDO1lBQ25HLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCwyQ0FBMkM7UUFDM0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25ELElBQ0UsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLGlCQUFpQjtnQkFDMUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVU7Z0JBQ25DLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNuQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssZ0JBQWdCO2dCQUN6QyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssYUFBYTtnQkFDdEMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLGFBQWEsRUFDdEM7Z0JBQ0EsSUFBSSxDQUFDLFlBQVk7b0JBQ2Ysc0ZBQXNGLENBQUM7Z0JBQ3pGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QscUNBQXFDO1lBQ3JDLGdIQUFnSDtZQUNoSCwrQkFBK0I7WUFDL0IsaUJBQWlCO1lBQ2pCLElBQUk7U0FDTDtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELDhCQUE4QjtRQUM1QixPQUFPO1lBQ0wsS0FBSyxFQUFFLEVBQUU7WUFDVCxXQUFXLEVBQUUsRUFBRTtZQUNmLFFBQVEsRUFBRSxFQUFFO1lBQ1osUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFTO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUI7YUFDbkIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7YUFDN0MsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxxQkFBcUIsQ0FDeEIsUUFBUSxDQUFDLEdBQUcsRUFDWixJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxpQkFBaUIsQ0FDdkIsQ0FBQztZQUNKLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDNUIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxFQUFPLEVBQUUsSUFBUyxFQUFFLGlCQUFzQjtRQUM5RCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsTUFBTSxPQUFPLEdBQUc7WUFDZCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDO1FBRUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbEUsSUFBSSxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDekIsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUM1QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFPO1FBQ2xCLElBQUksRUFBRSxLQUFLLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25DLHlDQUF5QztZQUN6QyxJQUFJLEdBQVcsQ0FBQztZQUNoQixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDaEQsR0FBRyxHQUFHLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxvQkFBb0IsQ0FBQzthQUMvRDtpQkFBTTtnQkFDTCxHQUFHO29CQUNELFVBQVUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRywrQkFBK0IsQ0FBQzthQUN2RTtZQUNELElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xEO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1lBQ3RFLElBQUksUUFBUTtnQkFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7U0FDaEQ7SUFDSCxDQUFDOytHQXhzQlUsMkJBQTJCO21HQUEzQiwyQkFBMkIsMlBDcEJ4QyxzeEVBc0VBOzs0RkRsRGEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDBCQUEwQjs4SkFPcEMsVUFBVTtzQkFEVCxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRTVCLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXNzZXNzbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9hc3Nlc3NtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlYXRlQXNzZXNzbWVudENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1lZGl0b3IvY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyL2NyZWF0ZS1hc3Nlc3NtZW50LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlLaXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvdWkta2l0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSWZyYW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2lmcmFtZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnRzJztcblxudHlwZSBBT0EgPSBhbnlbXVtdO1xuY29uc3Qgc21pbGV5QWN0aW9ucyA9IHtcbiAgSU1QT1JUX01PUkU6ICdJTVBPUlRfTU9SRScsXG4gIFZJRVdfQVNTRVNTTUVOVFM6ICdWSUVXX0FTU0VTU01FTlRTJyxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1pbXBvcnQtYW4tYXNzZXNzbWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbXBvcnQtYW4tYXNzZXNzbWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ltcG9ydC1hbi1hc3Nlc3NtZW50LmNvbXBvbmVudC5sZXNzJywgJy4uLy4uL2Zvcm1zLmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW1wb3J0QW5Bc3Nlc3NtZW50Q29tcG9uZW50IHtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICBAVmlld0NoaWxkKCdlZGl0b3InLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgZWRpdG9yQ29udCE6IENyZWF0ZUFzc2Vzc21lbnRDb250YWluZXJDb21wb25lbnQ7XG4gIEBPdXRwdXQoKSBjbG9zZVdvcmtmbG93ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZGlzY29ubmVjdFJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGlzU2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1dyb25nRm9ybWF0ID0gZmFsc2U7XG4gIGZpbGVOYW1lOiBhbnk7XG4gIGRhdGE6IGFueTtcbiAgdXBsb2FkZWRGaWxlczogYW55ID0gW107XG4gIGZpbGVSZXNwb25zZTogYW55ID0gW107XG4gIGZpbGVWYWx1ZTogYW55O1xuICBvcmdhbml6YXRpb25JZCA9IDA7XG4gIGVycm9yTWVzc2FnZSA9ICdpbnZhbGlkIGZpbGUgZXJyb3InO1xuICBkb3dubG9hZFN0YXR1czogc3RyaW5nID0gJ05PVF9ET1dOTE9BRElORyc7XG4gIGRvd25sb2FkUGVyY2VudCA9IDA7XG4gIHNtaWxleU1lc3NhZ2VBY3Rpb24gPSBgWW91J3JlIEFsbCBTZXQhYDtcbiAgYWN0aW9uQnV0dG9ucyA9IFtcbiAgICB7XG4gICAgICBidXR0b25UZXh0OiAnSW1wb3J0IE1vcmUgQXNzZXNzbWVudHMnLFxuICAgICAgY2xhc3M6ICd3aGl0ZS1idG4nLFxuICAgICAgaWQ6IHNtaWxleUFjdGlvbnMuSU1QT1JUX01PUkUsXG4gICAgfSxcbiAgICB7XG4gICAgICBidXR0b25UZXh0OiAnVmlldyBBc3Nlc3NtZW50cycsXG4gICAgICBjbGFzczogJ2JsdWUtYnRuJyxcbiAgICAgIGlkOiBzbWlsZXlBY3Rpb25zLlZJRVdfQVNTRVNTTUVOVFMsXG4gICAgfSxcbiAgXTtcbiAgc2hvd1NtaWxleSA9IGZhbHNlO1xuICBhc3Nlc3NtZW50RGF0YSE6IGFueTtcbiAgc2hlZXREYXRhITogYW55O1xuICBjb252ZXJ0ZWREYXRhOiBhbnk7XG4gIGlzVXBsb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY2F0ZWdvcnlEYXRhITogYW55O1xuXG4gIHNldElzVXBsb2FkZWQoaXNVcGxvYWRlZDogYm9vbGVhbikge1xuICAgIHRoaXMuaXNVcGxvYWRlZCA9IGlzVXBsb2FkZWQ7XG4gICAgdGhpcy5hdXRoLnByZXZpZXdQYW5lbC5uZXh0KGlzVXBsb2FkZWQpO1xuICAgIGlmICghaXNVcGxvYWRlZCkge1xuICAgICAgY29uc3QgY2xvc2VCdG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xvc2Utd29ya2Zsb3ctZW5naW5lLWJ0bicpO1xuICAgICAgaWYgKGNsb3NlQnRuKSBjbG9zZUJ0bi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgIHRoaXMuY29udmVydGVkRGF0YSA9IHt9O1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXV0aDogQXV0aFNlcnZpY2UsXG4gICAgcHVibGljIGFzc2Vzc21lbnRTZXJ2aWNlOiBBc3Nlc3NtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGlmcmFtZVNlcnZpY2U6IElmcmFtZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5vcmdhbml6YXRpb25JZCA9IHRoaXMuYXV0aC5nZXRPcmdhbml6YXRpb25JZCgpO1xuICB9XG5cbiAgY2xvc2VTbWlsZXkoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2hvd1NtaWxleSA9IGZhbHNlO1xuICAgIHRoaXMuY2xvc2VXb3JrZmxvdy5lbWl0KHsgZXZ0OiB0aGlzLmFzc2Vzc21lbnREYXRhLCBjb25maXJtOiBmYWxzZSB9KTtcbiAgfVxuXG4gIGRvd25sb2FkVGVtcGxhdGUoKSB7XG4gICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdET1dOTE9BRElORyc7XG4gICAgdGhpcy5kb3dubG9hZFBlcmNlbnQgPSAwO1xuICAgIGNvbnN0IGRvd25sb2FkRGF0ZSA9IG5ldyBEYXRlKCkudG9EYXRlU3RyaW5nKCkuc3BsaXQoJyAnKTtcbiAgICBjb25zdCBmaWxlTmFtZSA9IGBJbXBvcnQgYW4gQXNzZXNzbWVudC0ke2Rvd25sb2FkRGF0ZVsyXX0tJHtkb3dubG9hZERhdGVbMV19LSR7ZG93bmxvYWREYXRlWzNdfS54bHN4YDtcblxuICAgIHRoaXMuYXNzZXNzbWVudFNlcnZpY2UuZG93bmxvYWRUZW1wbGF0ZSgpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSB0aGlzLmFzc2Vzc21lbnRTZXJ2aWNlLmRvd25Mb2FkRmlsZShcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24veGxzeCcsXG4gICAgICAgICAgICBmaWxlTmFtZVxuICAgICAgICAgICk7XG4gICAgICAgIH0sIDE1MDApO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSAnRE9XTkxPQURFRCc7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgdHJpZ2dlckJyb3dzZUZpbGUoKSB7XG4gICAgY29uc3QgZ2V0RmlsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpYWEtZmlsZS1pbnB1dCcpO1xuICAgIGlmIChnZXRGaWxlKSB7XG4gICAgICBnZXRGaWxlLmNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gIGhhbmRsZSB1cGxvYWQgZmlsZSBhcmVhXG4gIHVwbG9hZEZpbGUoZXZ0OiBhbnkpIHtcbiAgICBjb25zdCB0YXJnZXQ6IERhdGFUcmFuc2ZlciA9IGV2dC50YXJnZXQgYXMgRGF0YVRyYW5zZmVyO1xuICAgIGNvbnN0IHJlYWRlcjogRmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGJzdHI6IHN0cmluZyA9IGUudGFyZ2V0LnJlc3VsdDtcbiAgICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC5yZWFkKGJzdHIsIHsgdHlwZTogJ2JpbmFyeScgfSk7XG4gICAgICBjb25zdCB3c25hbWU6IHN0cmluZyA9IHdiLlNoZWV0TmFtZXNbMF07XG4gICAgICBjb25zdCB3c25hbWUxOiBzdHJpbmcgPSB3Yi5TaGVldE5hbWVzWzFdO1xuICAgICAgY29uc3Qgd3M6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3dzbmFtZV07XG4gICAgICBjb25zdCB0ZW1wRGF0YTogWExTWC5Xb3JrU2hlZXQgPSB3Yi5TaGVldHNbd3NuYW1lMV07XG4gICAgICB0aGlzLmNhdGVnb3J5RGF0YSA9IFhMU1gudXRpbHMuc2hlZXRfdG9fanNvbih0ZW1wRGF0YSwge1xuICAgICAgICBoZWFkZXI6IDEsXG4gICAgICB9KSBhcyBBT0E7XG4gICAgICB0aGlzLnNoZWV0RGF0YSA9IFhMU1gudXRpbHMuc2hlZXRfdG9fanNvbih3cywge1xuICAgICAgICBoZWFkZXI6IDEsXG4gICAgICB9KSBhcyBBT0E7XG5cbiAgICAgIHRoaXMuZ2VuZXJhdGVDYXRlZ29yeUxpc3QodGhpcy5jYXRlZ29yeURhdGEpO1xuXG4gICAgICB0aGlzLmFzc2Vzc21lbnREYXRhID0gdGhpcy5zaGVldERhdGEuZmlsdGVyKFxuICAgICAgICAoZGF0YUVsZW1lbnQ6IGFueSkgPT4gZGF0YUVsZW1lbnQubGVuZ3RoID4gMFxuICAgICAgKTtcblxuICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgaWYgKCF0aGlzLmNoZWNrRm9ybWF0KHRoaXMuYXNzZXNzbWVudERhdGEpKSB7XG4gICAgICAgIGNvbnN0IGNsb3NlQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nsb3NlLXdvcmtmbG93LWVuZ2luZS1idG4nKTtcbiAgICAgICAgaWYgKGNsb3NlQnRuKSBjbG9zZUJ0bi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXG4gICAgICAgIHRoaXMuZ2VuZXJhdGVFZGl0b3JQYXlsb2FkKHRoaXMuYXNzZXNzbWVudERhdGEpO1xuICAgICAgICB0aGlzLmF1dGgucHJldmlld1BhbmVsLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuaXNVcGxvYWRlZCA9IHRydWU7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZWRpdG9yQ29udC50cmlnZ2VyUHJldmlld1dpdGhWYWxpZGF0aW9uKCk7XG4gICAgICAgIH0sIDEwMCk7XG4gICAgICB9XG4gICAgfTtcbiAgICByZWFkZXIucmVhZEFzQmluYXJ5U3RyaW5nKHRhcmdldC5maWxlc1swXSk7XG4gIH1cblxuICBjYXRlZ29yeUxpc3QhOiBhbnk7XG4gIGdlbmVyYXRlQ2F0ZWdvcnlMaXN0KGNhdGVnb3J5RGF0YTogYW55KSB7XG4gICAgY29uc3QgY2F0TGlzdDogYW55ID0ge307XG4gICAgaWYgKGNhdGVnb3J5RGF0YSkge1xuICAgICAgY2F0ZWdvcnlEYXRhLmZvckVhY2goKGVsZTogYW55KSA9PiB7XG4gICAgICAgIGNhdExpc3RbZWxlWzBdXSA9IGVsZVsxXTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSBjYXRMaXN0O1xuICAgIH1cbiAgfVxuXG4gIGNhdGVnb3J5TmFtZXRvSWQoY2F0ZWdvcnlOYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5jYXRlZ29yeUxpc3RbY2F0ZWdvcnlOYW1lXSkge1xuICAgICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnlMaXN0W2NhdGVnb3J5TmFtZV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICBnZW5lcmF0ZUVkaXRvclBheWxvYWQoZGF0YTogYW55KSB7XG4gICAgLy9jaGVjayBmb3JtYXRcblxuICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIGFzc2Vzc21lbnRfbmFtZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgICAgYXNzZXNzbWVudF90eXBlOiAnY29tcGxpYW5jZScsXG4gICAgICAgIGNhdGVnb3J5X2FycjogW10sXG4gICAgICAgIGFwcHJvdmFsX3dvcmtmbG93X2Fycjoge1xuICAgICAgICAgIHRlc3Q6ICd0ZXN0JyxcbiAgICAgICAgfSxcbiAgICAgICAgYXBwcm92YWxfcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIHNvdXJjZV9wYWdlOiAnY29tcGxpYW5jZScsXG4gICAgICB9LFxuICAgICAgYXNzZXNzbWVudERhdGE6IHtcbiAgICAgICAgdmVyc2lvbjogMixcbiAgICAgICAgcXVlc3Rpb25SYW5kb21pemU6IGZhbHNlLFxuICAgICAgICBhbm9ueW1vdXNSZXNwb25zZTogZmFsc2UsXG4gICAgICAgIGhhc1dlbGNvbWU6IGZhbHNlLFxuICAgICAgICBoYXNXZWxjb21lRGVzY3JpcHRpb246IGZhbHNlLFxuICAgICAgICB3ZWxjb21lVGV4dDogJycsXG4gICAgICAgIGhhc1dlbGNvbWVJbWFnZTogZmFsc2UsXG4gICAgICAgIHdlbGNvbWVJbWFnZTogJycsXG4gICAgICAgIHdlbGNvbWVEZXNjcmlwdGlvbjogJycsXG4gICAgICAgIGhhc1RoYW5rczogZmFsc2UsXG4gICAgICAgIGhhc1RoYW5reW91SW1hZ2U6IGZhbHNlLFxuICAgICAgICB0aGFua3lvdVRleHQ6ICcnLFxuICAgICAgICB0aGFua3lvdUltYWdlOiAnJyxcbiAgICAgICAgaGFzVGhhbmt5b3VEZXNjcmlwdGlvbjogZmFsc2UsXG4gICAgICAgIHRoYW5reW91RGVzY3JpcHRpb246ICcnLFxuICAgICAgICBlbGVtZW50czogW10sXG4gICAgICAgIHBhZ2VEZXRhaWxzTGlzdDogW10sXG4gICAgICAgIGN1c3RvbVJlc3BvbnNlU2V0OiBbXSxcbiAgICAgICAgc2V0dGluZ3M6IHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHJlc3BvbnNlU2VnbWVudDogdGhpcy5pbml0aWFsaXplRW1wdHlSZXNwb25zZVNlZ21lbnQoKSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIHRoaXMuY29udmVydGVkRGF0YSA9IHBheWxvYWQ7XG4gICAgdGhpcy5jb252ZXJ0ZWREYXRhLm1ldGFkYXRhLmFzc2Vzc21lbnRfbmFtZSA9IHRoaXMuYXNzZXNzbWVudERhdGFbMl1bMV07XG4gICAgdGhpcy5jb252ZXJ0ZWREYXRhLm1ldGFkYXRhLmRlc2NyaXB0aW9uID0gdGhpcy5hc3Nlc3NtZW50RGF0YVszXVsxXTtcbiAgICAvLyB0aGlzLmNvbnZlcnRlZERhdGEubWV0YWRhdGEuY2F0ZWdvcnlfYXJyWzBdID0gdGhpcy5hc3Nlc3NtZW50RGF0YVs0XVsxXTtcbiAgICB0aGlzLmNvbnZlcnRlZERhdGEubWV0YWRhdGEuY2F0ZWdvcnlfYXJyID0gW1xuICAgICAgdGhpcy5jYXRlZ29yeU5hbWV0b0lkKHRoaXMuYXNzZXNzbWVudERhdGFbNF1bMV0pLFxuICAgIF07XG5cbiAgICAvL1RPRE86IGNyZWF0ZSBhIGZ1bmN0aW9uIHRvIGNvbnZlcnQgZnJvbSBjYXRlZ29yaWVzIG5hbWVzIHRvIGNhdGVnb3JpZXMgaWQuXG4gICAgLy9UT0RPOiBjaGVjayB0aGUgYXBpIGZvciBzdWItZmxvdyBsaWtlIGFzc2Vzc21lbnQtc2V0dGluZy5cbiAgICAvLyB0aGlzLmNvbnZlcnRlZERhdGEubWV0YWRhdGEuY2F0ZWdvcnlfYXJyWzBdID0gXCI2MWNjMjdjNWIzZTg2NDJiMzMzZjM1OTFcIjtcbiAgICB0aGlzLmdlbmVyYXRlUXVlc3Rpb25zTGlzdChkYXRhLnNsaWNlKDYpLCBwYXlsb2FkLmFzc2Vzc21lbnREYXRhLmVsZW1lbnRzKTtcbiAgfVxuXG4gIGdlbmVyYXRlUXVlc3Rpb25zTGlzdChxdWVzdGlvbnNMaXN0OiBhbnksIHF1ZXN0aW9uc0FycmF5OiBhbnkpIHtcbiAgICBxdWVzdGlvbnNBcnJheSA9IFtdO1xuICAgIGlmIChxdWVzdGlvbnNMaXN0Py5sZW5ndGgpIHtcbiAgICAgIHF1ZXN0aW9uc0xpc3QuZm9yRWFjaCgocXVlc3Rpb246IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBxdWVzdGlvbnNBcnJheS5wdXNoKCk7XG4gICAgICAgIHN3aXRjaCAocXVlc3Rpb25bMF0pIHtcbiAgICAgICAgICBjYXNlICdTaW5nbGUgVGV4dGJveCc6XG4gICAgICAgICAgICBxdWVzdGlvbnNBcnJheS5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLmdlbmVyYXRlU2luZ2xlVGV4dGJveCgnc2luZ2xlLXRleHRib3gnLCBxdWVzdGlvbiwgaW5kZXgpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnTXVsdGlwbGUgQ2hvaWNlJzpcbiAgICAgICAgICAgIHF1ZXN0aW9uc0FycmF5LnB1c2goXG4gICAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVNdWx0aXBsZUNob2ljZSgnbXVsdGlwbGUtY2hvaWNlJywgcXVlc3Rpb24sIGluZGV4KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ0NoZWNrYm94JzpcbiAgICAgICAgICAgIHF1ZXN0aW9uc0FycmF5LnB1c2goXG4gICAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVNdWx0aXBsZUNob2ljZSgnY2hlY2tib3gnLCBxdWVzdGlvbiwgaW5kZXgpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnRHJvcGRvd24nOlxuICAgICAgICAgICAgcXVlc3Rpb25zQXJyYXkucHVzaChcbiAgICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZU11bHRpcGxlQ2hvaWNlKCdkcm9wZG93bicsIHF1ZXN0aW9uLCBpbmRleClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdEYXRlICYgVGltZSc6XG4gICAgICAgICAgICBxdWVzdGlvbnNBcnJheS5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLmdlbmVyYXRlRGF0ZVRpbWUoJ2RhdGUtdGltZScsIHF1ZXN0aW9uLCBpbmRleClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdGaWxlIFVwbG9hZCc6XG4gICAgICAgICAgICBxdWVzdGlvbnNBcnJheS5wdXNoKHRoaXMuZ2VuZXJhdGVGaWxlVXBsb2FkKHF1ZXN0aW9uLCBpbmRleCkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAvLyBObyBuZWVkIHRvIGRvIGFueXRoaW5nIGZvciBkZWZhdWx0XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmNvbnZlcnRlZERhdGEuYXNzZXNzbWVudERhdGEuZWxlbWVudHMgPSBxdWVzdGlvbnNBcnJheTtcbiAgfVxuICBjb2xNYXA6IGFueSA9IHtcbiAgICB0eXBlOiAwLFxuICAgIHRpdGxlOiAxLFxuICAgIHNjb3JlOiAyLFxuICAgIG9wdDE6IDMsXG4gICAgb3B0MjogNCxcbiAgICBvcHQzOiA1LFxuICAgIG9wdDQ6IDYsXG4gICAgb3B0NTogNyxcbiAgICBvcHQ2OiA4LFxuICAgIHJlcXVpcmVkOiA5LFxuICAgIGZhaWxlZDogMTAsXG4gICAgZGVzY3JpcHRpb246IDExLFxuICAgIHBsYWNlaG9sZGVyOiAxMixcbiAgICBjb21tZW50OiAxMyxcbiAgICBvdGhlcjogMTQsXG4gICAgcmFuZG9taXplOiAxNSxcbiAgICBhbGlnbm1lbnQ6IDE2LFxuICAgIHVzZXJhdHRhY2htZW50OiAxNyxcbiAgICB1c2VyY29tbWVudDogMTgsXG4gIH07XG4gIGdlbmVyYXRlU2luZ2xlVGV4dGJveCh0eXBlOiBzdHJpbmcsIHF1ZXN0aW9uOiBhbnksIGluZGV4OiBhbnkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ3NpbmdsZS10ZXh0Ym94JyxcbiAgICAgIG5hbWU6IGBRdWVzdGlvbl8ke2luZGV4fWAsXG4gICAgICBwYWdlOiAxLFxuICAgICAgaGFzVmFsaWRhdGlvbjogZmFsc2UsXG4gICAgICB2YWxpZGF0aW9uVHlwZTogJycsXG4gICAgICBpc1JlcXVpcmVkOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8ucmVxdWlyZWRdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIGhhc0NoYXJhY3Rlckxlbmd0aDogZmFsc2UsXG4gICAgICBtaW5DaGFyYWN0ZXJMZW5ndGg6IDAsXG4gICAgICBtYXhDaGFyYWN0ZXJMZW5ndGg6IDEwMCxcbiAgICAgIHRpdGxlOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8udGl0bGVdPy50b1N0cmluZygpPy50cmltKCkgPz8gJycsXG4gICAgICBoYXNEZXNjcmlwdGlvbjogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LmRlc2NyaXB0aW9uXT8udG9TdHJpbmcoKT8udHJpbSgpXG4gICAgICAgID8ubGVuZ3RoXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IGZhbHNlLFxuICAgICAgZGVzY3JpcHRpb246IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5kZXNjcmlwdGlvbl0/LnRvU3RyaW5nKCk/LnRyaW0oKSA/PyAnJyxcbiAgICAgIGhhc0NvbW1lbnRzOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8udXNlcmNvbW1lbnRdPy50b1N0cmluZygpPy50cmltKClcbiAgICAgICAgPy5sZW5ndGhcbiAgICAgICAgPyB0cnVlXG4gICAgICAgIDogZmFsc2UsXG4gICAgICBjb21tZW50czogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LmNvbW1lbnRdPy50b1N0cmluZygpPy50cmltKCksXG4gICAgICByYW5kb21pemU6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5yYW5kb21pemVdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIGhhc090aGVyOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8ub3RoZXJdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIG90aGVyVmFsdWU6ICdPdGhlcicsXG4gICAgICBhbGlnbm1lbnQ6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5hbGlnbm1lbnRdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIHJldmVyc2U6IGZhbHNlLFxuICAgICAgaXNSZXNwb25kZW50QXR0YWNobWVudDpcbiAgICAgICAgcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnVzZXJhdHRhY2htZW50XSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICB1c2VyQXR0YWNoZWRGaWxlczogW10sXG4gICAgICBpc1Jlc3BvbmRlbnRDb21tZW50OlxuICAgICAgICBxdWVzdGlvblt0aGlzLmNvbE1hcD8udXNlcmNvbW1lbnRdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIHZpc2liaWxpdHlMb2dpYzogW10sXG4gICAgICBvdGhlckNvbmZpZzoge1xuICAgICAgICBjb2xvcjogJyMwMDAwMDAnLFxuICAgICAgICBpc0ZhaWxlZDogZmFsc2UsXG4gICAgICAgIHNjb3JlOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uc2NvcmVdID8/IDEsXG4gICAgICB9LFxuICAgICAgY2hvaWNlczogW1xuICAgICAgICB7XG4gICAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICAgIHZhbHVlOiAxLFxuICAgICAgICAgIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgIHJlcXVpcmVkOiAwLFxuICAgICAgICAgIGhhc0hlbHBpbmdMYWJlbDogZmFsc2UsXG4gICAgICAgICAgaGVscGluZ0xhYmVsOiAnJyxcbiAgICAgICAgICBpc0ZhaWxlZDogZmFsc2UsXG4gICAgICAgICAgc2NvcmU6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5zY29yZV0gPz8gMSxcbiAgICAgICAgICBjb2xvcjogJyMwMDAwMDAnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgZ2VuZXJhdGVNdWx0aXBsZUNob2ljZSh0eXBlOiBzdHJpbmcsIHF1ZXN0aW9uOiBhbnksIGluZGV4OiBhbnkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogdHlwZSxcbiAgICAgIG5hbWU6IGBRdWVzdGlvbl8ke2luZGV4fWAsXG4gICAgICBwYWdlOiAxLFxuICAgICAgaGFzVmFsaWRhdGlvbjogZmFsc2UsXG4gICAgICB2YWxpZGF0aW9uVHlwZTogJycsXG4gICAgICBpc1JlcXVpcmVkOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8ucmVxdWlyZWRdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIGhhc0NoYXJhY3Rlckxlbmd0aDogZmFsc2UsXG4gICAgICBtaW5DaGFyYWN0ZXJMZW5ndGg6IDAsXG4gICAgICBtYXhDaGFyYWN0ZXJMZW5ndGg6IDEwMCxcbiAgICAgIHRpdGxlOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8udGl0bGVdPy50b1N0cmluZygpPy50cmltKCkgPz8gJycsXG4gICAgICBoYXNEZXNjcmlwdGlvbjogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LmRlc2NyaXB0aW9uXT8udG9TdHJpbmcoKT8udHJpbSgpXG4gICAgICAgID8ubGVuZ3RoXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IGZhbHNlLFxuICAgICAgZGVzY3JpcHRpb246IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5kZXNjcmlwdGlvbl0/LnRvU3RyaW5nKCkudHJpbSgpID8/ICcnLFxuICAgICAgaGFzQ29tbWVudHM6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5jb21tZW50XT8udG9TdHJpbmcoKT8udHJpbSgpPy5sZW5ndGhcbiAgICAgICAgPyB0cnVlXG4gICAgICAgIDogZmFsc2UsXG4gICAgICBjb21tZW50czogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LmNvbW1lbnRdPy50b1N0cmluZygpLnRyaW0oKSxcbiAgICAgIHJhbmRvbWl6ZTogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnJhbmRvbWl6ZV0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgaGFzT3RoZXI6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5vdGhlcl0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgb3RoZXJWYWx1ZTogJ090aGVyJyxcbiAgICAgIGFsaWdubWVudDogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LmFsaWdubWVudF0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgcmV2ZXJzZTogZmFsc2UsXG4gICAgICBpc1Jlc3BvbmRlbnRBdHRhY2htZW50OlxuICAgICAgICBxdWVzdGlvblt0aGlzLmNvbE1hcD8udXNlcmF0dGFjaG1lbnRdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIHVzZXJBdHRhY2hlZEZpbGVzOiBbXSxcbiAgICAgIHZpc2liaWxpdHlMb2dpYzogW10sXG4gICAgICBpc1Jlc3BvbmRlbnRDb21tZW50OlxuICAgICAgICBxdWVzdGlvblt0aGlzLmNvbE1hcD8udXNlcmNvbW1lbnRdID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIG90aGVyQ29uZmlnOiB7XG4gICAgICAgIGNvbG9yOiAnIzAwMDAwMCcsXG4gICAgICAgIGlzRmFpbGVkOiBmYWxzZSxcbiAgICAgICAgc2NvcmU6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5zY29yZV0gPz8gMSxcbiAgICAgIH0sXG4gICAgICBjaG9pY2VzOiB0aGlzLmdlbmVyYXRlQ2hvaWNlcyhxdWVzdGlvbiksXG4gICAgfTtcbiAgfVxuXG4gIGdlbmVyYXRlRGF0ZVRpbWUodHlwZTogc3RyaW5nLCBxdWVzdGlvbjogYW55LCBpbmRleDogYW55KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBuYW1lOiBgUXVlc3Rpb25fJHtpbmRleH1gLFxuICAgICAgcGFnZTogMSxcbiAgICAgIGhhc1ZhbGlkYXRpb246IGZhbHNlLFxuICAgICAgdmFsaWRhdGlvblR5cGU6ICcnLFxuICAgICAgaXNSZXF1aXJlZDogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnJlcXVpcmVkXSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICBoYXNDaGFyYWN0ZXJMZW5ndGg6IGZhbHNlLFxuICAgICAgbWluQ2hhcmFjdGVyTGVuZ3RoOiAwLFxuICAgICAgbWF4Q2hhcmFjdGVyTGVuZ3RoOiAxMDAsXG4gICAgICB0aXRsZTogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnRpdGxlXT8udG9TdHJpbmcoKT8udHJpbSgpID8/ICcnLFxuICAgICAgaGFzRGVzY3JpcHRpb246IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5kZXNjcmlwdGlvbl0/LnRvU3RyaW5nKCk/LnRyaW0oKVxuICAgICAgICA/Lmxlbmd0aFxuICAgICAgICA/IHRydWVcbiAgICAgICAgOiBmYWxzZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uZGVzY3JpcHRpb25dPy50b1N0cmluZygpPy50cmltKCkgPz8gJycsXG4gICAgICBoYXNDb21tZW50czogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LmNvbW1lbnRdPy50b1N0cmluZygpPy50cmltKCk/Lmxlbmd0aFxuICAgICAgICA/IHRydWVcbiAgICAgICAgOiBmYWxzZSxcbiAgICAgIGNvbW1lbnRzOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uY29tbWVudF0/LnRvU3RyaW5nKCkudHJpbSgpLFxuICAgICAgcmFuZG9taXplOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8ucmFuZG9taXplXSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICBoYXNPdGhlcjogcXVlc3Rpb25bdGhpcy5jb2xNYXA/Lm90aGVyXSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICBvdGhlclZhbHVlOiAnT3RoZXInLFxuICAgICAgYWxpZ25tZW50OiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uYWxpZ25tZW50XSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICByZXZlcnNlOiBmYWxzZSxcbiAgICAgIGlzUmVzcG9uZGVudEF0dGFjaG1lbnQ6XG4gICAgICAgIHF1ZXN0aW9uW3RoaXMuY29sTWFwPy51c2VyYXR0YWNobWVudF0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgdXNlckF0dGFjaGVkRmlsZXM6IFtdLFxuICAgICAgdmlzaWJpbGl0eUxvZ2ljOiBbXSxcbiAgICAgIGlzUmVzcG9uZGVudENvbW1lbnQ6XG4gICAgICAgIHF1ZXN0aW9uW3RoaXMuY29sTWFwPy51c2VyY29tbWVudF0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgb3RoZXJDb25maWc6IHtcbiAgICAgICAgY29sb3I6ICcjMDAwMDAwJyxcbiAgICAgICAgaXNGYWlsZWQ6IGZhbHNlLFxuICAgICAgICBzY29yZTogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnNjb3JlXSA/PyAxLFxuICAgICAgfSxcbiAgICAgIGNob2ljZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgICBpc1NlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICByZXF1aXJlZDogMCxcbiAgICAgICAgICBoYXNIZWxwaW5nTGFiZWw6IGZhbHNlLFxuICAgICAgICAgIGhlbHBpbmdMYWJlbDogJycsXG4gICAgICAgICAgaXNGYWlsZWQ6IGZhbHNlLFxuICAgICAgICAgIHNjb3JlOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uc2NvcmVdID8/IDEsXG4gICAgICAgICAgY29sb3I6ICcjMDAwMDAwJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBoYXNEYXRlOiB0cnVlLFxuICAgICAgaGFzVGltZTogZmFsc2UsXG4gICAgICBkYXRlRm9ybWF0OiAnREQvTU0vWVlZWScsXG4gICAgICB0aW1lRm9ybWF0OiAyNCxcbiAgICAgIGRhdGU6IHtcbiAgICAgICAgdGl0bGU6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5wbGFjZWhvbGRlcl0gPz8gJ1NlbGVjdCBEYXRlJyxcbiAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgfSxcbiAgICAgIHRpbWU6IHtcbiAgICAgICAgdGl0bGU6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5wbGFjZWhvbGRlcl0gPz8gJ1NlbGVjdCBUaW1lJyxcbiAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4gIGdlbmVyYXRlRmlsZVVwbG9hZChxdWVzdGlvbjogYW55LCBpbmRleDogYW55KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdmaWxlLXVwbG9hZCcsXG4gICAgICBuYW1lOiBgUXVlc3Rpb25fJHtpbmRleH1gLFxuICAgICAgcGFnZTogMSxcbiAgICAgIGhhc1ZhbGlkYXRpb246IGZhbHNlLFxuICAgICAgdmFsaWRhdGlvblR5cGU6ICcnLFxuICAgICAgaXNSZXF1aXJlZDogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnJlcXVpcmVkXSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICBoYXNDaGFyYWN0ZXJMZW5ndGg6IGZhbHNlLFxuICAgICAgbWluQ2hhcmFjdGVyTGVuZ3RoOiAwLFxuICAgICAgbWF4Q2hhcmFjdGVyTGVuZ3RoOiAxMDAsXG4gICAgICB0aXRsZTogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnRpdGxlXT8udG9TdHJpbmcoKT8udHJpbSgpID8/ICcnLFxuICAgICAgaGFzRGVzY3JpcHRpb246IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5kZXNjcmlwdGlvbl0/LnRvU3RyaW5nKCk/LnRyaW0oKVxuICAgICAgICA/Lmxlbmd0aFxuICAgICAgICA/IHRydWVcbiAgICAgICAgOiBmYWxzZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uZGVzY3JpcHRpb25dPy50b1N0cmluZygpPy50cmltKCkgPz8gJycsXG4gICAgICBoYXNDb21tZW50czogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnVzZXJjb21tZW50XT8udG9TdHJpbmcoKT8udHJpbSgpXG4gICAgICAgID8ubGVuZ3RoXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IGZhbHNlLFxuICAgICAgY29tbWVudHM6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5jb21tZW50XT8udG9TdHJpbmcoKT8udHJpbSgpLFxuICAgICAgcmFuZG9taXplOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8ucmFuZG9taXplXSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICBoYXNPdGhlcjogcXVlc3Rpb25bdGhpcy5jb2xNYXA/Lm90aGVyXSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICBvdGhlclZhbHVlOiAnT3RoZXInLFxuICAgICAgYWxpZ25tZW50OiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uYWxpZ25tZW50XSA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG4gICAgICByZXZlcnNlOiBmYWxzZSxcbiAgICAgIGlzUmVzcG9uZGVudEF0dGFjaG1lbnQ6XG4gICAgICAgIHF1ZXN0aW9uW3RoaXMuY29sTWFwPy51c2VyYXR0YWNobWVudF0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgdXNlckF0dGFjaGVkRmlsZXM6IFtdLFxuICAgICAgdmlzaWJpbGl0eUxvZ2ljOiBbXSxcbiAgICAgIGlzUmVzcG9uZGVudENvbW1lbnQ6XG4gICAgICAgIHF1ZXN0aW9uW3RoaXMuY29sTWFwPy51c2VyY29tbWVudF0gPT09ICdZZXMnID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgb3RoZXJDb25maWc6IHtcbiAgICAgICAgY29sb3I6ICcjMDAwMDAwJyxcbiAgICAgICAgaXNGYWlsZWQ6IGZhbHNlLFxuICAgICAgICBzY29yZTogcXVlc3Rpb25bdGhpcy5jb2xNYXA/LnNjb3JlXSA/PyAxLFxuICAgICAgfSxcbiAgICAgIGNob2ljZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgICBpc1NlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICByZXF1aXJlZDogMCxcbiAgICAgICAgICBoYXNIZWxwaW5nTGFiZWw6IGZhbHNlLFxuICAgICAgICAgIGhlbHBpbmdMYWJlbDogJycsXG4gICAgICAgICAgaXNGYWlsZWQ6IGZhbHNlLFxuICAgICAgICAgIHNjb3JlOiBxdWVzdGlvblt0aGlzLmNvbE1hcD8uc2NvcmVdID8/IDEsXG4gICAgICAgICAgY29sb3I6ICcjMDAwMDAwJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBhbGxvd2VkRmlsZVR5cGVzOiB7XG4gICAgICAgIHBkZjogdHJ1ZSxcbiAgICAgICAgZG9jOiB0cnVlLFxuICAgICAgICBwbmc6IHRydWUsXG4gICAgICAgIGpwZzogdHJ1ZSxcbiAgICAgICAgZ2lmOiB0cnVlLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgZ2VuZXJhdGVDaG9pY2VzKHF1ZXN0aW9uOiBhbnkpIHtcbiAgICBjb25zdCBvcHRpb25zID0gW1xuICAgICAgcXVlc3Rpb25bdGhpcy5jb2xNYXA/Lm9wdDFdLFxuICAgICAgcXVlc3Rpb25bdGhpcy5jb2xNYXA/Lm9wdDJdLFxuICAgICAgcXVlc3Rpb25bdGhpcy5jb2xNYXA/Lm9wdDNdLFxuICAgICAgcXVlc3Rpb25bdGhpcy5jb2xNYXA/Lm9wdDRdLFxuICAgICAgcXVlc3Rpb25bdGhpcy5jb2xNYXA/Lm9wdDVdLFxuICAgICAgcXVlc3Rpb25bdGhpcy5jb2xNYXA/Lm9wdDZdLFxuICAgIF0uZmlsdGVyKChlbGU6IGFueSkgPT4gZWxlKTtcbiAgICBvcHRpb25zLmZvckVhY2goKGVsZTogYW55KSA9PiB7XG4gICAgICBpZiAoZWxlKSB7XG4gICAgICAgIGVsZS50b1N0cmluZygpPy50cmltKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKG9wdGlvbnM/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgb3B0aW9ucy5wdXNoKCcnKTtcbiAgICB9XG4gICAgY29uc3Qgb3B0aW9uTWFwOiBhbnkgPSB7XG4gICAgICAnT3B0aW9uIDEnOiAzLFxuICAgICAgJ09wdGlvbiAyJzogNCxcbiAgICAgICdPcHRpb24gMyc6IDUsXG4gICAgICAnT3B0aW9uIDQnOiA2LFxuICAgICAgJ09wdGlvbiA1JzogNyxcbiAgICAgICdPcHRpb24gNic6IDgsXG4gICAgfTtcbiAgICBvcHRpb25zLmZvckVhY2goKGNob2ljZTogYW55LCBpbmRleDogYW55KSA9PiB7XG4gICAgICBvcHRpb25zW2luZGV4XSA9IHtcbiAgICAgICAgdGl0bGU6XG4gICAgICAgICAgY2hvaWNlICYmIHR5cGVvZiBjaG9pY2UgPT0gJ3N0cmluZydcbiAgICAgICAgICAgID8gY2hvaWNlXG4gICAgICAgICAgICA6IGNob2ljZS50b1N0cmluZygpID8/ICcnLFxuICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgaXNTZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIHJlcXVpcmVkOiAwLFxuICAgICAgICBoYXNIZWxwaW5nTGFiZWw6IGZhbHNlLFxuICAgICAgICBoZWxwaW5nTGFiZWw6ICcnLFxuICAgICAgICBpc0ZhaWxlZDpcbiAgICAgICAgICBjaG9pY2U/LnRvU3RyaW5nKCk/LnRyaW0oKSA9PVxuICAgICAgICAgICAgcXVlc3Rpb25bb3B0aW9uTWFwW3F1ZXN0aW9uW3RoaXMuY29sTWFwPy5mYWlsZWRdXV1cbiAgICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgICAgOiBmYWxzZSxcbiAgICAgICAgc2NvcmU6IHF1ZXN0aW9uW3RoaXMuY29sTWFwPy5zY29yZV0gPz8gMSxcbiAgICAgICAgY29sb3I6ICcjMDAwMDAwJyxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBzZXR0aW5nczogYW55ID0ge1xuICAgIGFzc2Vzc21lbnRNb2RlOiBmYWxzZSxcbiAgICBkZWZhdWx0U2NvcmU6IDEsXG4gICAgbmVnYXRpdmVTY29yZUNyaXRlcmlhOiAnRkFJTEVEJyxcbiAgICBuZWdhdGl2ZVNjb3JlOiAwLFxuICAgIHdlaWdodGFnZUVuYWJsZWQ6IGZhbHNlLFxuICAgIHNldHRpbmdzRW5hYmxlZDogZmFsc2UsXG4gIH07XG5cbiAgY2hlY2tGb3JtYXQoYXNzZXNzbWVudERhdGE6IGFueSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG9yZ0luVGVtcGxhdGUgPSB0aGlzLmNhdGVnb3J5RGF0YVswXVs1XTtcbiAgICAvL0NvbXBsZXRseSBibGFuayBleGNlbCBzaGVldFxuICAgIGlmIChhc3Nlc3NtZW50RGF0YS5sZW5ndGggPT09IDAgfHwgb3JnSW5UZW1wbGF0ZSAhPT0gdGhpcy5vcmdhbml6YXRpb25JZCkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPVxuICAgICAgICAnWW91IGhhdmUgdXBsb2FkZWQgdGhlIHdyb25nIHRlbXBsYXRlLiBQbGVhc2UgZG93bmxvYWQgdGhlIHRlbXBsYXRlIGFnYWluIHRvIHByb2NlZWQuJztcbiAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvL0ludmFsaWQgVGVtcGFsdGVcbiAgICB0cnkge1xuICAgICAgaWYgKFxuICAgICAgICBhc3Nlc3NtZW50RGF0YVsyXVswXSAhPT0gJ0Fzc2Vzc21lbnQgTmFtZSonIHx8XG4gICAgICAgIGFzc2Vzc21lbnREYXRhWzNdWzBdICE9PSAnRGVzY3JpcHRpb24nIHx8XG4gICAgICAgIGFzc2Vzc21lbnREYXRhWzRdWzBdICE9PSAnQXNzZXNzbWVudCBDYXRlZ29yeSonIHx8XG4gICAgICAgIGFzc2Vzc21lbnREYXRhWzVdWzBdICE9PSAnUXVlc3Rpb24gVHlwZSonXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPVxuICAgICAgICAgICdZb3UgaGF2ZSB1cGxvYWRlZCB0aGUgd3JvbmcgdGVtcGxhdGUuIFBsZWFzZSBkb3dubG9hZCB0aGUgdGVtcGxhdGUgYWdhaW4gdG8gcHJvY2VlZC4nO1xuICAgICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cbiAgICAgICAgJ1lvdSBoYXZlIHVwbG9hZGVkIHRoZSB3cm9uZyB0ZW1wbGF0ZS4gUGxlYXNlIGRvd25sb2FkIHRoZSB0ZW1wbGF0ZSBhZ2FpbiB0byBwcm9jZWVkLic7XG4gICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy9DaGVjayBBc3Nlc3NtZW50IG5hbWVcbiAgICB0cnkge1xuICAgICAgaWYgKFxuICAgICAgICAhYXNzZXNzbWVudERhdGFbMl1bMV0gfHxcbiAgICAgICAgYXNzZXNzbWVudERhdGFbMl1bMV0gPT09ICcnIHx8XG4gICAgICAgIGFzc2Vzc21lbnREYXRhWzJdWzFdID09PSB1bmRlZmluZWRcbiAgICAgICkge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdFbnRlciBhIG5hbWUgZm9yIHRoaXMgQXNzZXNzbWVudC4nO1xuICAgICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0VudGVyIGEgbmFtZSBmb3IgdGhpcyBBc3Nlc3NtZW50Lic7XG4gICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy9jYXRlZ29yeSBub3Qgc2VsZWN0ZWRcbiAgICB0cnkge1xuICAgICAgaWYgKFxuICAgICAgICAhYXNzZXNzbWVudERhdGFbNF1bMV0gfHxcbiAgICAgICAgYXNzZXNzbWVudERhdGFbNF1bMV0gPT09ICcnIHx8XG4gICAgICAgIGFzc2Vzc21lbnREYXRhWzRdWzFdID09PSB1bmRlZmluZWRcbiAgICAgICkge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdTZWxlY3QgdGhlIEFzc2Vzc21lbnQgQ2F0ZWdvcnkuJztcbiAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdTZWxlY3QgdGhlIEFzc2Vzc21lbnQgQ2F0ZWdvcnkuJztcbiAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvL0RvZXMgbm90IGNvbnRhaW5zIGFueSBxdWVzdGlvbnNcbiAgICB0cnkge1xuICAgICAgaWYgKGFzc2Vzc21lbnREYXRhLnNsaWNlKDcpPy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPVxuICAgICAgICAgICdZb3UgaGF2ZSB1cGxvYWRlZCBhIGJsYW5rIHRlbXBsYXRlLiBQbGVhc2UgYWRkIHF1ZXN0aW9ucyB0byB0aGlzIHRlbXBsYXRlIGFuZCB1cGxvYWQgaXQgYWdhaW4uJztcbiAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9XG4gICAgICAgICdZb3UgaGF2ZSB1cGxvYWRlZCBhIGJsYW5rIHRlbXBsYXRlLiBQbGVhc2UgYWRkIHF1ZXN0aW9ucyB0byB0aGlzIHRlbXBsYXRlIGFuZCB1cGxvYWQgaXQgYWdhaW4uJztcbiAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvL2hhbmRsZSB0eXBlIG9mIHF1ZXN0aW9uIGFuZCBvcHRpb25zIGNvdW50XG4gICAgZm9yIChsZXQgaSA9IDc7IGkgPD0gYXNzZXNzbWVudERhdGEubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGFzc2Vzc21lbnREYXRhW2ldWzBdICE9PSAnTXVsdGlwbGUgQ2hvaWNlJyAmJlxuICAgICAgICBhc3Nlc3NtZW50RGF0YVtpXVswXSAhPT0gJ0NoZWNrYm94JyAmJlxuICAgICAgICBhc3Nlc3NtZW50RGF0YVtpXVswXSAhPT0gJ0Ryb3Bkb3duJyAmJlxuICAgICAgICBhc3Nlc3NtZW50RGF0YVtpXVswXSAhPT0gJ1NpbmdsZSBUZXh0Ym94JyAmJlxuICAgICAgICBhc3Nlc3NtZW50RGF0YVtpXVswXSAhPT0gJ0RhdGUgJiBUaW1lJyAmJlxuICAgICAgICBhc3Nlc3NtZW50RGF0YVtpXVswXSAhPT0gJ0ZpbGUgVXBsb2FkJ1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cbiAgICAgICAgICAnWW91IGhhdmUgdXBsb2FkZWQgdGhlIHdyb25nIHRlbXBsYXRlLiBQbGVhc2UgZG93bmxvYWQgdGhlIHRlbXBsYXRlIGFnYWluIHRvIHByb2NlZWQuJztcbiAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICAvLyBpZiAoYXNzZXNzbWVudERhdGFbaV1bMV0gPT09ICcnKSB7XG4gICAgICAvLyAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ1lvdSBoYXZlIHVwbG9hZGVkIHRoZSB3cm9uZyB0ZW1wbGF0ZS4gUGxlYXNlIGRvd25sb2FkIHRoZSB0ZW1wbGF0ZSBhZ2FpbiB0byBwcm9jZWVkLic7XG4gICAgICAvLyAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IHRydWU7XG4gICAgICAvLyAgIHJldHVybiB0cnVlO1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaW5pdGlhbGl6ZUVtcHR5UmVzcG9uc2VTZWdtZW50KCkge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJycsXG4gICAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgICBtYXhTY29yZTogMTAsXG4gICAgICBzZWdtZW50czogW10sXG4gICAgfTtcbiAgfVxuXG4gIHBvc3RBc3Nlc3NtZW50KGRhdGE6IGFueSkge1xuICAgIHRoaXMuaXNTaG93TG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmFzc2Vzc21lbnRTZXJ2aWNlXG4gICAgICAuY3JlYXRlQXNzZXNzbWVudCh0aGlzLmNvbnZlcnRlZERhdGEubWV0YWRhdGEpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnBvc3RBc3Nlc3NtZW50RGV0YWlscyhcbiAgICAgICAgICAgIHJlc3BvbnNlLl9pZCxcbiAgICAgICAgICAgIGRhdGEubW9kZSxcbiAgICAgICAgICAgIGRhdGEuYXNzZXNzbWVudERldGFpbHNcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1Nob3dMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgcG9zdEFzc2Vzc21lbnREZXRhaWxzKGlkOiBhbnksIG1vZGU6IGFueSwgYXNzZXNzbWVudERldGFpbHM6IGFueSkge1xuICAgIHRoaXMuaXNVcGxvYWRlZCA9IGZhbHNlO1xuICAgIHRoaXMuYXV0aC5wcmV2aWV3UGFuZWwubmV4dChmYWxzZSk7XG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIHF1ZXN0aW9uOiBhc3Nlc3NtZW50RGV0YWlscyxcbiAgICAgIGFjdGlvbjogJ3F1ZXN0aW9uc19zYXZlJyxcbiAgICAgIHN0YXRlOiBtb2RlLFxuICAgIH07XG5cbiAgICB0aGlzLmFzc2Vzc21lbnRTZXJ2aWNlLnNhdmVBc3Nlc3NtZW50RGV0YWlscyhpZCwgcGF5bG9hZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuYXNzZXNzbWVudERhdGEgPSB7fTtcbiAgICAgICAgdGhpcy5pc1Nob3dMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zaG93U21pbGV5ID0gdHJ1ZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuaXNTaG93TG9hZGVyID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgc21pbGV5QWN0aW9uKGlkOiBhbnkpIHtcbiAgICBpZiAoaWQgPT09IHNtaWxleUFjdGlvbnMuVklFV19BU1NFU1NNRU5UUykge1xuICAgICAgdGhpcy5kaXNjb25uZWN0UmVmcmVzaC5lbWl0KGZhbHNlKTtcbiAgICAgIC8vIFRPRE86IE5hdmlnYXRlIHRvICcvbWFuYWdlLWFzc2Vzc21lbnQnXG4gICAgICBsZXQgdXJsOiBzdHJpbmc7XG4gICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhvc3Quc3RhcnRzV2l0aCgnbG9jYWxob3N0JykpIHtcbiAgICAgICAgdXJsID0gJ2h0dHA6Ly8nICsgd2luZG93LmxvY2F0aW9uLmhvc3QgKyAnL21hbmFnZS1hc3Nlc3NtZW50JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVybCA9XG4gICAgICAgICAgJ2h0dHBzOi8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0ICsgJy9hc3Nlc3NtZW50L21hbmFnZS1hc3Nlc3NtZW50JztcbiAgICAgIH1cbiAgICAgIHRoaXMuaWZyYW1lU2VydmljZS5yZWRpcmVjdElmSW5JZnJhbWUodXJsLCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XG4gICAgICB0aGlzLmF1dGgucHJldmlld1BhbmVsLm5leHQoZmFsc2UpO1xuICAgICAgY29uc3QgY2xvc2VCdG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xvc2Utd29ya2Zsb3ctZW5naW5lLWJ0bicpO1xuICAgICAgaWYgKGNsb3NlQnRuKSBjbG9zZUJ0bi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbXBvcnQtYW4tYXNzZXNzbWVudFwiIFthdHRyLmlkXT1cIidzY3JvbGxSZWZlcmVuY2UnXCI+XG4gIDwhLS0gbWFpbiBjb250YWluZXIgc3RhcnRzIGhlcmUgLS0+XG4gIDxkaXYgY2xhc3M9XCJpbXBvcnQtYW4tYXNzZXNzbWVudC1ib2R5XCI+XG4gICAgPGRpdiBjbGFzcz1cImltcG9ydC1hbi1hc3Nlc3NtZW50LWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImltYWdlXCI+XG4gICAgICAgIDxpbWcgW3NyY109XCJBU1NFVFMuc3ByZWFkc2hlZXRfbXVsdGlwbGVfY2F0ZWdvcnlcIiBhbHQ9XCJcIiAvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxoND5Zb3UgY2FuIGltcG9ydCBhbiBhc3Nlc3NtZW50IGluIGp1c3QgdHdvIGVhc3kgc3RlcHM6PC9oND5cbiAgICAgIDx1bCBjbGFzcz1cImxpc3RcIj5cbiAgICAgICAgPGxpPkRvd25sb2FkIHRoZSB0ZW1wbGF0ZSBhbmQgZmlsbCBpbiB0aGUgZGV0YWlscy48L2xpPlxuICAgICAgICA8bGk+VXBsb2FkIHRoZSAueGxzeCBmaWxlIGFuZCB5b3XigJlyZSBnb29kIHRvIGdvITwvbGk+XG4gICAgICA8L3VsPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiZG93bmxvYWRcIlxuICAgICAgICAqbmdJZj1cImRvd25sb2FkU3RhdHVzID09PSAnTk9UX0RPV05MT0FESU5HJ1wiXG4gICAgICAgIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKClcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWI7PC9pPiBEb3dubG9hZCBUZW1wbGF0ZVxuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2IGNsYXNzPVwiYnVsay1idG4tcHJvZ3Jlc3NcIiAqbmdJZj1cImRvd25sb2FkU3RhdHVzID09PSAnRE9XTkxPQURJTkcnXCI+XG4gICAgICAgIERvd25sb2FkIGluIFByb2dyZXNzXG4gICAgICAgIDxhcHAtbGluZS1sb2FkZXIgW2xvYWRlckhlaWdodF09XCInMidcIj48L2FwcC1saW5lLWxvYWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRvd25sb2FkU3RhdHVzID09PSAnRE9XTkxPQURFRCdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstYnRuLXByb2dyZXNzXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWM7PC9pPkRvd25sb2FkIENvbXBsZXRlXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnVsay1idG4tYWdhaW5cIj5cbiAgICAgICAgICBJcyB0aGUgZmlsZSBub3QgZG93bmxvYWRlZD9cbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKClcIj5SZXRyeSBEb3dubG9hZDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPHAgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJpc1dyb25nRm9ybWF0XCI+e3sgZXJyb3JNZXNzYWdlIH19PC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJpc1Nob3dMb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuXG48aW5wdXRcbiAgdHlwZT1cImZpbGVcIlxuICBbKG5nTW9kZWwpXT1cImZpbGVWYWx1ZVwiXG4gIGlkPVwiaWFhLWZpbGUtaW5wdXRcIlxuICBhY2NlcHQ9XCIueGxzeFwiXG4gIGNsYXNzPVwiaGlkZGVuLWlucHV0XCJcbiAgb25jbGljaz1cInRoaXMudmFsdWUgPSBudWxsXCJcbiAgKGNoYW5nZSk9XCJ1cGxvYWRGaWxlKCRldmVudClcIlxuLz5cblxuPGFwcC1zbWlsZXktZGlhbG9nLWlubGluZVxuICAqbmdJZj1cInNob3dTbWlsZXlcIlxuICBbbWVzc2FnZV09XCJzbWlsZXlNZXNzYWdlQWN0aW9uXCJcbiAgW2FjdGlvbkJ1dHRvbnNdPVwiYWN0aW9uQnV0dG9uc1wiXG4gIChhY3Rpb24pPVwic21pbGV5QWN0aW9uKCRldmVudClcIlxuICAoY2xvc2VTbWlsZXkpPVwiY2xvc2VTbWlsZXkoJGV2ZW50KVwiXG4+PC9hcHAtc21pbGV5LWRpYWxvZy1pbmxpbmU+XG5cbjxkaXYgY2xhc3M9XCJpbXBvcnRcIiAqbmdJZj1cImlzVXBsb2FkZWRcIj5cbiAgPGFwcC1jcmVhdGUtYXNzZXNzbWVudC1jb250YWluZXJcbiAgICAjZWRpdG9yXG4gICAgW29wZW5Qb3J0YWxdPVwiJ0FTU0VTU01FTlRfSU1QT1JUJ1wiXG4gICAgKHBvc3RBc3Nlc3NtZW50KT1cInBvc3RBc3Nlc3NtZW50KCRldmVudClcIlxuICAgIChzZXRJc1VwbG9hZGVkKT1cInNldElzVXBsb2FkZWQoJGV2ZW50KVwiXG4gICAgW2Fzc2Vzc21lbnRKU09OXT1cImNvbnZlcnRlZERhdGFcIlxuICA+XG4gIDwvYXBwLWNyZWF0ZS1hc3Nlc3NtZW50LWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|