@hmcts/ccd-case-ui-toolkit 7.0.0-NodeAndNgUpgrades.1 → 7.0.0-NodeAndNgUpgrades.1.1.1
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/esm2020/lib/shared/commons/case-edit-data/case-edit-data.service.mjs +1 -1
- package/esm2020/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +8 -8
- package/esm2020/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.mjs +1 -1
- package/esm2020/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +2 -2
- package/esm2020/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +1 -1
- package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +1 -1
- package/esm2020/lib/shared/components/case-editor/case-editor.module.mjs +13 -13
- package/esm2020/lib/shared/components/case-editor/services/case.notifier.mjs +1 -8
- package/esm2020/lib/shared/components/case-editor/services/page-validation.service.mjs +1 -1
- package/esm2020/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.mjs +1 -1
- package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +5 -5
- package/esm2020/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.mjs +1 -1
- package/esm2020/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +1 -1
- package/esm2020/lib/shared/components/create-case-filters/create-case-filters.component.mjs +15 -10
- package/esm2020/lib/shared/components/event-trigger/event-trigger.component.mjs +1 -1
- package/esm2020/lib/shared/components/palette/address/write-address-field.component.mjs +3 -3
- package/esm2020/lib/shared/components/palette/base-field/abstract-field-read.component.mjs +1 -1
- package/esm2020/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +2 -2
- package/esm2020/lib/shared/components/palette/base-field/field-read.component.mjs +4 -4
- package/esm2020/lib/shared/components/palette/base-field/field-write.component.mjs +2 -2
- package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +3 -3
- package/esm2020/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +2 -2
- package/esm2020/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +2 -2
- package/esm2020/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +2 -2
- package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +2 -2
- package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +2 -2
- package/esm2020/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +2 -2
- package/esm2020/lib/shared/components/palette/case-flag/domain/case-flag.model.mjs +1 -1
- package/esm2020/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +3 -3
- package/esm2020/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +22 -22
- package/esm2020/lib/shared/components/palette/case-link/write-case-link-field.component.mjs +4 -4
- package/esm2020/lib/shared/components/palette/collection/write-collection-field.component.mjs +8 -8
- package/esm2020/lib/shared/components/palette/complex/write-complex-field.component.mjs +3 -3
- package/esm2020/lib/shared/components/palette/document/write-document-field.component.mjs +42 -23
- package/esm2020/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.mjs +16 -2
- package/esm2020/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +1 -1
- package/esm2020/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +1 -1
- package/esm2020/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +3 -3
- package/esm2020/lib/shared/components/palette/order-summary/write-order-summary-field.component.mjs +5 -5
- package/esm2020/lib/shared/components/palette/organisation/write-organisation-field.component.mjs +3 -3
- package/esm2020/lib/shared/components/palette/palette.module.mjs +5 -6
- package/esm2020/lib/shared/components/search-filters/search-filters.component.mjs +4 -4
- package/esm2020/lib/shared/components/search-result/search-result.component.mjs +2 -2
- package/esm2020/lib/shared/components/workbasket-filters/workbasket-filters.component.mjs +15 -4
- package/esm2020/lib/shared/directives/conditional-show/conditional-show-form.directive.mjs +4 -4
- package/esm2020/lib/shared/directives/substitutor/label-substitutor.directive.mjs +3 -3
- package/esm2020/lib/shared/domain/case-edit/case-edit.model.mjs +1 -1
- package/esm2020/lib/shared/domain/definition/jurisdiction.model.mjs +1 -1
- package/esm2020/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +1 -1
- package/esm2020/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +1 -1
- package/esm2020/lib/shared/services/fields/fields.purger.mjs +9 -9
- package/esm2020/lib/shared/services/fields/fields.utils.mjs +6 -6
- package/esm2020/lib/shared/services/form/form-error.service.mjs +1 -1
- package/esm2020/lib/shared/services/jurisdiction/jurisdiction.service.mjs +5 -2
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +156 -114
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +154 -114
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts +3 -3
- package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +5 -5
- package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.d.ts +2 -2
- package/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.d.ts +2 -2
- package/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +3 -3
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +2 -2
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-editor.module.d.ts +8 -8
- package/lib/shared/components/case-editor/services/case.notifier.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/page-validation.service.d.ts +3 -3
- package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.d.ts +2 -2
- package/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +4 -4
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.d.ts +2 -2
- package/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.d.ts +2 -2
- package/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.d.ts.map +1 -1
- package/lib/shared/components/create-case-filters/create-case-filters.component.d.ts +6 -4
- package/lib/shared/components/create-case-filters/create-case-filters.component.d.ts.map +1 -1
- package/lib/shared/components/event-trigger/event-trigger.component.d.ts +2 -2
- package/lib/shared/components/event-trigger/event-trigger.component.d.ts.map +1 -1
- package/lib/shared/components/palette/address/write-address-field.component.d.ts +3 -3
- package/lib/shared/components/palette/address/write-address-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/abstract-field-read.component.d.ts +2 -2
- package/lib/shared/components/palette/base-field/abstract-field-read.component.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts +3 -3
- package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/field-read.component.d.ts +2 -2
- package/lib/shared/components/palette/base-field/field-read.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +2 -2
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +2 -2
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +2 -2
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +2 -2
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +2 -2
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +2 -2
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +2 -2
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +2 -2
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +6 -6
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts +2 -2
- package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +3 -3
- package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/complex/write-complex-field.component.d.ts +3 -3
- package/lib/shared/components/palette/complex/write-complex-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/document/write-document-field.component.d.ts +8 -4
- package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.d.ts +5 -3
- package/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +2 -2
- package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts +2 -2
- package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +2 -2
- package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/organisation/write-organisation-field.component.d.ts +2 -2
- package/lib/shared/components/palette/organisation/write-organisation-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
- package/lib/shared/components/search-filters/search-filters.component.d.ts +3 -3
- package/lib/shared/components/search-filters/search-filters.component.d.ts.map +1 -1
- package/lib/shared/components/search-result/search-result.component.d.ts +3 -3
- package/lib/shared/components/search-result/search-result.component.d.ts.map +1 -1
- package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts +4 -4
- package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts.map +1 -1
- package/lib/shared/directives/conditional-show/conditional-show-form.directive.d.ts +2 -2
- package/lib/shared/directives/conditional-show/conditional-show-form.directive.d.ts.map +1 -1
- package/lib/shared/directives/substitutor/label-substitutor.directive.d.ts +2 -2
- package/lib/shared/directives/substitutor/label-substitutor.directive.d.ts.map +1 -1
- package/lib/shared/domain/case-edit/case-edit.model.d.ts +2 -2
- package/lib/shared/domain/case-edit/case-edit.model.d.ts.map +1 -1
- package/lib/shared/domain/definition/jurisdiction.model.d.ts +1 -0
- package/lib/shared/domain/definition/jurisdiction.model.d.ts.map +1 -1
- package/lib/shared/pipes/complex/ccd-page-fields.pipe.d.ts +2 -2
- package/lib/shared/pipes/complex/ccd-page-fields.pipe.d.ts.map +1 -1
- package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts +2 -2
- package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
- package/lib/shared/services/fields/fields.purger.d.ts +4 -4
- package/lib/shared/services/fields/fields.purger.d.ts.map +1 -1
- package/lib/shared/services/fields/fields.utils.d.ts +6 -6
- package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
- package/lib/shared/services/form/form-error.service.d.ts +2 -2
- package/lib/shared/services/form/form-error.service.d.ts.map +1 -1
- package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts +3 -2
- package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
- package/package.json +2 -3
package/esm2020/lib/shared/components/palette/organisation/write-organisation-field.component.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
|
-
import { FormControl,
|
|
2
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
3
|
import { of } from 'rxjs';
|
|
4
4
|
import { map, switchMap } from 'rxjs/operators';
|
|
5
5
|
import { OrganisationConverter } from '../../../domain/organisation/organisation-converter';
|
|
@@ -193,7 +193,7 @@ export class WriteOrganisationFieldComponent extends AbstractFieldWriteComponent
|
|
|
193
193
|
this.searchOrgTextFormControl = new FormControl('');
|
|
194
194
|
this.searchOrgValue$ = this.searchOrgTextFormControl.valueChanges;
|
|
195
195
|
this.searchOrgValue$.subscribe(value => this.onSearchOrg(value));
|
|
196
|
-
this.organisationFormGroup = this.registerControl(new
|
|
196
|
+
this.organisationFormGroup = this.registerControl(new FormGroup({}), true);
|
|
197
197
|
if (this.parent && this.parent.controls && this.parent.controls.hasOwnProperty(WriteOrganisationFieldComponent.PRE_POPULATE_TO_USERS_ORGANISATION)
|
|
198
198
|
&& this.parent.controls[WriteOrganisationFieldComponent.PRE_POPULATE_TO_USERS_ORGANISATION].value
|
|
199
199
|
&& this.parent.controls[WriteOrganisationFieldComponent.PRE_POPULATE_TO_USERS_ORGANISATION].value.toUpperCase()
|
|
@@ -381,4 +381,4 @@ WriteOrganisationFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ t
|
|
|
381
381
|
type: Component,
|
|
382
382
|
args: [{ selector: 'ccd-write-organisation-field', template: "<div class=\"form-group\" [formGroup]=\"organisationFormGroup\">\n <fieldset *ngIf=\"(organisations$ | async)?.length === 0\" class=\"govuk-fieldset\">\n <legend style=\"display: none;\"></legend>\n <div class=\"hmcts-banner\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z\" /></svg>\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'information' | rpxTranslate}}</span>\n <p class=\"warning-message\">{{'Organisation search is currently unavailable.' | rpxTranslate}}</p>\n </div>\n </div>\n <div class=\"warning-panel\">\n <div class=\"warning-message\">\n {{'We are working to fix the issue.You can try again later.' | rpxTranslate}}\n </div>\n </div>\n </fieldset>\n <fieldset *ngIf=\"(organisations$ | async)?.length > 0\" class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h2 class=\"heading-h2\">\n {{'Search for an organisation' | rpxTranslate}}\n </h2>\n </legend>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"search-org-text\">\n <span id=\"search-org-hint\" class=\"govuk-hint\">\n {{'You can only search for organisations already registered with MyHMCTS. For example, you can search by organisation name or address.' | rpxTranslate}}\n </span>\n </label>\n <input id=\"search-org-text\" class=\"form-control\" type=\"text\" [formControl]=\"searchOrgTextFormControl\"/>\n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"organisation-table\">\n <h2 class=\"heading-h2\">{{'Organisation name and address' | rpxTranslate}}</h2>\n </label>\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <div *ngIf=\"!(selectedOrg$ | async)?.organisationIdentifier; else selectedOrganisation\" [ngClass]=\"{'scroll-container ': (simpleOrganisations$ | async)?.length > 10}\">\n <table id=\"organisation-table\" *ngFor=\"let organisation of (simpleOrganisations$ | async)\">\n <caption><h3 class=\"name-header\">{{organisation.name}}</h3></caption>\n <tbody>\n <tr>\n <th style=\"display: none;\"></th>\n <td class=\"td-address\">\n <ccd-markdown [content]=\"organisation.address\"></ccd-markdown>\n </td>\n <td class=\"td-select\">\n <a href=\"javascript:void(0);\" (click)=\"selectOrg(organisation)\" title=\"{{'Select the organisation' | rpxTranslate}} {{organisation.name}}\">\n {{'Select' | rpxTranslate}}\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n <div *ngIf=\"(simpleOrganisations$ | async)?.length === 0 && (searchOrgValue$ | async)?.length > 2\">\n <div class=\"no-result-message\">\n {{'No results found.' | rpxTranslate}}\n </div>\n </div>\n </div>\n <ng-template #selectedOrganisation>\n <table id=\"organisation-selected-table\" *ngIf=\"(selectedOrg$ | async) as selectedOrg\">\n <caption><h3 class=\"name-header\">{{selectedOrg.name}}</h3></caption>\n <tbody>\n <tr>\n <th style=\"display: none;\"></th>\n <td class=\"td-address\">\n <ccd-markdown [content]=\"selectedOrg.address\"></ccd-markdown>\n </td>\n <td class=\"td-select\">\n <a href=\"javascript:void(0);\" (click)=\"deSelectOrg()\"\n title=\"{{'Clear organisation selection for' | rpxTranslate}} {{selectedOrg.name}}\">\n {{'Clear' | rpxTranslate}}\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n </div>\n <ccd-write-organisation-complex-field [caseField]=\"caseField\"\n [formGroup]=\"formGroup\"\n [selectedOrg$]=\"selectedOrg$\">\n </ccd-write-organisation-complex-field>\n <details id=\"find-organisation-help\" class=\"govuk-details\" data-module=\"govuk-details\">\n <summary class=\"govuk-details__summary\">\n <span id=\"content-why-can-not-find-organisation\" class=\"govuk-details__summary-text\">\n {{\"Can\u2019t find the organisation you are looking for?\" | rpxTranslate}}\n </span>\n </summary>\n <div id=\"content-reason-can-not-find-organisation\" class=\"govuk-details__text\">\n {{'If you know that the solicitor is already registered with MyHMCTS, check that you have entered their details correctly.' | rpxTranslate}}\n {{\"Remember that organisations can only register one office address. This means that the details could be slightly different from what you're expecting. Contact the solicitor directly if you have any concerns.\" | rpxTranslate}}\n </div>\n </details>\n </fieldset>\n</div>\n", styles: [".hmcts-banner{border:0 solid;margin-bottom:10px;color:#000}.hmcts-banner .warning-message{font-weight:700}.govuk-hint{font-size:1.1rem}.name-header{font-weight:700;margin-top:10px;font-size:18px}.td-address{width:90%;padding-top:2px}.td-select{width:10%}.warning-panel{background-color:#e7ebef;height:40px;margin-bottom:0;align-items:center;display:flex}.warning-panel .warning-message{padding-left:15px}.complex-field-table>tbody>tr>th{border:none}.complex-field-table>tbody>tr:last-child>th,.complex-field-table>tbody>tr:last-child>td{border-bottom:none}.complex-field-title{width:300px}.label-width-small{width:100px}.label-width-medium{width:150px}.scroll-container{height:600px;overflow-y:scroll}.no-result-message{margin-top:15px}\n"] }]
|
|
383
383
|
}], function () { return [{ type: i1.OrganisationService }, { type: i2.OrganisationConverter }, { type: i3.WindowService }]; }, null); })();
|
|
384
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtb3JnYW5pc2F0aW9uLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL29yZ2FuaXNhdGlvbi93cml0ZS1vcmdhbmlzYXRpb24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvb3JnYW5pc2F0aW9uL3dyaXRlLW9yZ2FuaXNhdGlvbi1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBbUIsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRTVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsTUFBTSxxREFBcUQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFeEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7OztJQ1R6RixtQ0FBZ0Y7SUFDOUUsNEJBQXdDO0lBQ3hDLDhCQUEwQjtJQUN4QixtQkFBd0s7SUFBeEssOEJBQXdLO0lBQ3RLLDBCQUN3RztJQUFBLGlCQUFNO0lBQ2hILG9CQUFtQztJQUFuQyw4QkFBbUMsY0FBQTtJQUNLLFlBQWdDOztJ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QUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQ2xHLGdEQUFnQixHQUFXLEdBQUcsQ0FBQztBQUMvQiwrQ0FBZSxHQUFXLGdCQUFnQixDQUFDO0FBQzNDLGlEQUFpQixHQUFXLGtCQUFrQixDQUFDO0FBQy9DLGtFQUFrQyxHQUFXLGdDQUFnQyxDQUFDO0FBQzlFLG9EQUFvQixHQUFXLHFCQUFxQixDQUFDO0FBQ3JELG1DQUFHLEdBQVcsS0FBSyxDQUFDO0FBQ3BCLHlDQUFTLEdBQVcsV0FBVyxDQUFDOzhHQVQ3QywrQkFBK0I7a0ZBQS9CLCtCQUErQjtRQ2pCNUMsOEJBQTREO1FBQzFELDJGQWdCVzs7UUFDWCw0RkE2RVc7O1FBQ2IsaUJBQU07Ozs7UUFoR2tCLHFEQUFtQztRQUM5QyxlQUE0QztRQUE1QyxtSEFBNEM7UUFpQjVDLGVBQTBDO1FBQTFDLGlIQUEwQzs7dUZERDFDLCtCQUErQjtjQUwzQyxTQUFTOzJCQUNFLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBPcmdhbmlzYXRpb25Db252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vb3JnYW5pc2F0aW9uL29yZ2FuaXNhdGlvbi1jb252ZXJ0ZXInO1xuaW1wb3J0IHsgU2ltcGxlT3JnYW5pc2F0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vb3JnYW5pc2F0aW9uL3NpbXBsZS1vcmdhbmlzYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgT3JnYW5pc2F0aW9uU2VydmljZSwgT3JnYW5pc2F0aW9uVm0gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmdhbmlzYXRpb24vb3JnYW5pc2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3dpbmRvdy93aW5kb3cuc2VydmljZSc7XG5cbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtd3JpdGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXdyaXRlLW9yZ2FuaXNhdGlvbi1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1vcmdhbmlzYXRpb24tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vcmdhbmlzYXRpb24tZmllbGQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVNUFRZX1NJTVBMRV9PUkc6IFNpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsID0geyBvcmdhbmlzYXRpb25JZGVudGlmaWVyOiAnJywgbmFtZTogJycsIGFkZHJlc3M6ICcnIH07XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1BWF9SRVNVTFRfQ09VTlQ6IG51bWJlciA9IDEwMDtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgT1JHQU5JU0FUSU9OX0lEOiBzdHJpbmcgPSAnT3JnYW5pc2F0aW9uSUQnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBPUkdBTklTQVRJT05fTkFNRTogc3RyaW5nID0gJ09yZ2FuaXNhdGlvbk5hbWUnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBQUkVfUE9QVUxBVEVfVE9fVVNFUlNfT1JHQU5JU0FUSU9OOiBzdHJpbmcgPSAnUHJlcG9wdWxhdGVUb1VzZXJzT3JnYW5pc2F0aW9uJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgT1JHQU5JU0FUSU9OX0RFVEFJTFM6IHN0cmluZyA9ICdvcmdhbmlzYXRpb25EZXRhaWxzJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgWUVTOiBzdHJpbmcgPSAnWUVTJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTUFOREFUT1JZOiBzdHJpbmcgPSAnTUFOREFUT1JZJztcbiAgcHVibGljIGRlZmF1bHRPcmc6IGFueTtcblxuICBwdWJsaWMgb3JnYW5pc2F0aW9uRm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VhcmNoT3JnVGV4dEZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcbiAgcHVibGljIG9yZ2FuaXNhdGlvbklERm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBwdWJsaWMgb3JnYW5pc2F0aW9uTmFtZUZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcblxuICBwdWJsaWMgb3JnYW5pc2F0aW9ucyQ6IE9ic2VydmFibGU8T3JnYW5pc2F0aW9uVm1bXT47XG4gIHB1YmxpYyBzZWFyY2hPcmdWYWx1ZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgcHVibGljIHNpbXBsZU9yZ2FuaXNhdGlvbnMkOiBPYnNlcnZhYmxlPFNpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsW10+O1xuICBwdWJsaWMgc2VsZWN0ZWRPcmckOiBPYnNlcnZhYmxlPFNpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG9yZ2FuaXNhdGlvblNlcnZpY2U6IE9yZ2FuaXNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcmdhbmlzYXRpb25Db252ZXJ0ZXI6IE9yZ2FuaXNhdGlvbkNvbnZlcnRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZGVmYXVsdE9yZyA9IEpTT04ucGFyc2UodGhpcy53aW5kb3dTZXJ2aWNlLmdldFNlc3Npb25TdG9yYWdlKFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuT1JHQU5JU0FUSU9OX0RFVEFJTFMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbnMkID0gdGhpcy5vcmdhbmlzYXRpb25TZXJ2aWNlLmdldEFjdGl2ZU9yZ2FuaXNhdGlvbnMoKTtcblxuICAgIHRoaXMuc2VhcmNoT3JnVGV4dEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcbiAgICB0aGlzLnNlYXJjaE9yZ1ZhbHVlJCA9IHRoaXMuc2VhcmNoT3JnVGV4dEZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcztcbiAgICB0aGlzLnNlYXJjaE9yZ1ZhbHVlJC5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5vblNlYXJjaE9yZyh2YWx1ZSkpO1xuXG4gICAgdGhpcy5vcmdhbmlzYXRpb25Gb3JtR3JvdXAgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSksIHRydWUpIGFzIFVudHlwZWRGb3JtR3JvdXA7XG4gICAgaWYgKHRoaXMucGFyZW50ICYmIHRoaXMucGFyZW50LmNvbnRyb2xzICYmIHRoaXMucGFyZW50LmNvbnRyb2xzLmhhc093blByb3BlcnR5KFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuUFJFX1BPUFVMQVRFX1RPX1VTRVJTX09SR0FOSVNBVElPTilcbiAgICAgICYmIHRoaXMucGFyZW50LmNvbnRyb2xzW1dyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuUFJFX1BPUFVMQVRFX1RPX1VTRVJTX09SR0FOSVNBVElPTl0udmFsdWVcbiAgICAgICYmIHRoaXMucGFyZW50LmNvbnRyb2xzW1dyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuUFJFX1BPUFVMQVRFX1RPX1VTRVJTX09SR0FOSVNBVElPTl0udmFsdWUudG9VcHBlckNhc2UoKVxuICAgICAgPT09IFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuWUVTKSB7XG4gICAgICBpZiAodGhpcy5jYXNlRmllbGQgJiYgIXRoaXMuY2FzZUZpZWxkLnZhbHVlKSB7XG4gICAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlID0ge1xuICAgICAgICAgIE9yZ2FuaXNhdGlvbklEOiB0aGlzLmRlZmF1bHRPcmcgPyB0aGlzLmRlZmF1bHRPcmcub3JnYW5pc2F0aW9uSWRlbnRpZmllciA6IG51bGwsXG4gICAgICAgICAgT3JnYW5pc2F0aW9uTmFtZTogdGhpcy5kZWZhdWx0T3JnID8gdGhpcy5kZWZhdWx0T3JnLm5hbWUgOiBudWxsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICB0aGlzLnByZVNlbGVjdERlZmF1bHRPcmcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY2FzZUZpZWxkICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlLk9yZ2FuaXNhdGlvbklEKSB7XG4gICAgICAgIHRoaXMucHJlU2VsZWN0RGVmYXVsdE9yZygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wcmVTZWxlY3RFbXB0eU9yZygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVuc3VyZSB0aGF0IGFsbCBzdWItZmllbGRzIGluaGVyaXQgdGhlIHNhbWUgdmFsdWUgZm9yIHJldGFpbl9oaWRkZW5fdmFsdWUgYXMgdGhpcyBwYXJlbnQ7IGFsdGhvdWdoIGFuXG4gICAgLy8gT3JnYW5pc2F0aW9uIGZpZWxkIHVzZXMgdGhlIENvbXBsZXggdHlwZSwgaXQgaXMgbWVhbnQgdG8gYmUgdHJlYXRlZCBhcyBvbmUgZmllbGRcbiAgICBpZiAodGhpcy5jYXNlRmllbGQgJiYgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnQ29tcGxleCcpIHtcbiAgICAgIGZvciAoY29uc3Qgb3JnYW5pc2F0aW9uU3ViRmllbGQgb2YgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcykge1xuICAgICAgICBvcmdhbmlzYXRpb25TdWJGaWVsZC5yZXRhaW5faGlkZGVuX3ZhbHVlID0gdGhpcy5jYXNlRmllbGQucmV0YWluX2hpZGRlbl92YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWFyY2hPcmcob3JnU2VhcmNoVGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKG9yZ1NlYXJjaFRleHQgJiYgb3JnU2VhcmNoVGV4dC5sZW5ndGggPj0gMikge1xuICAgICAgY29uc3QgbG93ZXJPcmdTZWFyY2hUZXh0ID0gb3JnU2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpO1xuICAgICAgdGhpcy5zaW1wbGVPcmdhbmlzYXRpb25zJCA9IHRoaXMub3JnYW5pc2F0aW9ucyQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKG9yZ2FuaXNhdGlvbnMgPT4gb2YoXG4gICAgICAgICAgdGhpcy5zZWFyY2hPcmcob3JnYW5pc2F0aW9ucywgbG93ZXJPcmdTZWFyY2hUZXh0KVxuICAgICAgICApXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2ltcGxlT3JnYW5pc2F0aW9ucyQgPSBvZihbXSk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHdheSB0aGUgc2VhcmNoIHdvcmtzIGRpdmlkZSBpbnRvIHR3byBwaGFzZXNcbiAgLy8gMS4gZ28gdGhyb3VnaCBjb2xsZWN0aW9uIG9mIG9yZyBpdGVtcyBvbmUgYnkgb25lIGJ5IGRvaW5nIHRoZSBjb21wYXJzaW9uIG9mIHNlYXJjaCBzdHJpbmcgdXNpbmcgaW5jbHVkZXMgdG8gYWxsIHRoZSBhZGRyZXNzIGZpZWxkc1xuICAvLyAyLiBzcGxpdCB0aGUgc2VhcmNoIHN0cmluZyBpbnRvIGFycmF5cyBhbmQgYXBwbHkgdGhlIGVhY2ggYXJyYXkgaXRlbSBpbnRvIHRoZSBhZGRyZXNzIGZpZWxkc1xuICAvLyAzLiBib3RoIHN0ZXAgMSwgMiB3aWxsIGdvIHVudGlsIG1heCBjb3VudCByZXN1bHQgcmVhY2hlcywgYW5kIGZpbmFsbHkgY29tYmluZSBib3RoIHJlc3VsdCBzZXRzIGludG8gZmluYWwgY29sbGVjdGlvblxuICBwdWJsaWMgc2VhcmNoT3JnKG9yZ2FuaXNhdGlvbnM6IE9yZ2FuaXNhdGlvblZtW10sIGxvd2VyT3JnU2VhcmNoVGV4dDogc3RyaW5nKTogU2ltcGxlT3JnYW5pc2F0aW9uTW9kZWxbXSB7XG4gICAgY29uc3QgcGFydE1hdGNoaW5nUmVzdWx0U2V0ID0gW107XG4gICAgY29uc3Qgd2l0aFNwYWNlTWF0Y2hpbmdSZXN1bHRTZXQgPSBbXTtcbiAgICBjb25zdCBNQVhfUkVTVUxUX0NPVU5UID0gV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5NQVhfUkVTVUxUX0NPVU5UO1xuICAgIG9yZ2FuaXNhdGlvbnMuZm9yRWFjaCgob3JnYW5pc2F0aW9uKSA9PiB7XG4gICAgICBpZiAocGFydE1hdGNoaW5nUmVzdWx0U2V0Lmxlbmd0aCA8IE1BWF9SRVNVTFRfQ09VTlQgJiYgdGhpcy5zZWFyY2hDcml0ZXJpYShvcmdhbmlzYXRpb24sIGxvd2VyT3JnU2VhcmNoVGV4dCkpIHtcbiAgICAgICAgcGFydE1hdGNoaW5nUmVzdWx0U2V0LnB1c2gob3JnYW5pc2F0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIG9yZ2FuaXNhdGlvbnMuZm9yRWFjaCgob3JnKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHRTZXQgPSBbLi4ucGFydE1hdGNoaW5nUmVzdWx0U2V0LCAuLi53aXRoU3BhY2VNYXRjaGluZ1Jlc3VsdFNldF07XG4gICAgICBjb25zdCBoYXNNYXRjaGluZ09yZ2FuaXNhdGlvbiA9IHJlc3VsdFNldC5maW5kKGl0ZW0gPT4gaXRlbS5vcmdhbmlzYXRpb25JZGVudGlmaWVyID09PSBvcmcub3JnYW5pc2F0aW9uSWRlbnRpZmllcik7XG4gICAgICBjb25zdCBzZWFyY2hIYXNTcGFjZSA9IHRoaXMuc2VhcmNoV2l0aFNwYWNlKG9yZywgbG93ZXJPcmdTZWFyY2hUZXh0KTtcbiAgICAgIGNvbnN0IGhhc1Jlc3VsdFNldEJlbG93TWF4Q291bnQgPSByZXN1bHRTZXQubGVuZ3RoIDwgTUFYX1JFU1VMVF9DT1VOVDtcblxuICAgICAgaWYgKCFoYXNNYXRjaGluZ09yZ2FuaXNhdGlvbiAmJiBwYXJ0TWF0Y2hpbmdSZXN1bHRTZXQubGVuZ3RoID09PSAwICYmIGhhc1Jlc3VsdFNldEJlbG93TWF4Q291bnQgJiYgc2VhcmNoSGFzU3BhY2UpIHtcbiAgICAgICAgd2l0aFNwYWNlTWF0Y2hpbmdSZXN1bHRTZXQucHVzaChvcmcpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBbLi4ucGFydE1hdGNoaW5nUmVzdWx0U2V0LCAuLi53aXRoU3BhY2VNYXRjaGluZ1Jlc3VsdFNldF0ubWFwKChvcmdhbmlzYXRpb24pID0+XG4gICAgICB0aGlzLm9yZ2FuaXNhdGlvbkNvbnZlcnRlci50b1NpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsKG9yZ2FuaXNhdGlvbilcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHRyaW1BbGwob2xkVGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gb2xkVGV4dC5yZXBsYWNlKC9cXHMrL2csICcnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RPcmcoc2VsZWN0ZWRPcmc6IFNpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5vcmdhbmlzYXRpb25JREZvcm1Db250cm9sLnNldFZhbHVlKHNlbGVjdGVkT3JnLm9yZ2FuaXNhdGlvbklkZW50aWZpZXIpO1xuICAgIHRoaXMub3JnYW5pc2F0aW9uTmFtZUZvcm1Db250cm9sLnNldFZhbHVlKHNlbGVjdGVkT3JnLm5hbWUpO1xuICAgIHRoaXMuc2VsZWN0ZWRPcmckID0gb2Yoc2VsZWN0ZWRPcmcpO1xuICAgIHRoaXMuc2ltcGxlT3JnYW5pc2F0aW9ucyQgPSBvZihbLi4uW10sIHNlbGVjdGVkT3JnXSk7XG4gICAgdGhpcy5zZWFyY2hPcmdUZXh0Rm9ybUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgIHRoaXMuc2VhcmNoT3JnVGV4dEZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZSA9IHtcbiAgICAgIE9yZ2FuaXNhdGlvbklEOiBzZWxlY3RlZE9yZy5vcmdhbmlzYXRpb25JZGVudGlmaWVyLFxuICAgICAgT3JnYW5pc2F0aW9uTmFtZTogc2VsZWN0ZWRPcmcubmFtZVxuICAgIH07XG4gICAgdGhpcy5vcmdhbmlzYXRpb25Gb3JtR3JvdXAuc2V0VmFsdWUodGhpcy5jYXNlRmllbGQudmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGRlU2VsZWN0T3JnKCk6IHZvaWQge1xuICAgIHRoaXMub3JnYW5pc2F0aW9uSURGb3JtQ29udHJvbC5yZXNldCgpO1xuICAgIHRoaXMub3JnYW5pc2F0aW9uTmFtZUZvcm1Db250cm9sLnJlc2V0KCk7XG4gICAgdGhpcy5zZWxlY3RlZE9yZyQgPSBvZihXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50LkVNUFRZX1NJTVBMRV9PUkcpO1xuICAgIHRoaXMuc2ltcGxlT3JnYW5pc2F0aW9ucyQgPSBvZihbXSk7XG4gICAgdGhpcy5zZWFyY2hPcmdUZXh0Rm9ybUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgIHRoaXMuc2VhcmNoT3JnVGV4dEZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlID0geyBPcmdhbmlzYXRpb25JRDogbnVsbCwgT3JnYW5pc2F0aW9uTmFtZTogbnVsbCB9O1xuICAgIHRoaXMub3JnYW5pc2F0aW9uRm9ybUdyb3VwLnNldFZhbHVlKHRoaXMuY2FzZUZpZWxkLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlU2VsZWN0RGVmYXVsdE9yZygpOiB2b2lkIHtcbiAgICB0aGlzLmluc3RhbnRpYXRlT3JnYW5pc2F0aW9uRm9ybUdyb3VwKHRoaXMuY2FzZUZpZWxkLnZhbHVlLk9yZ2FuaXNhdGlvbklELCB0aGlzLmNhc2VGaWVsZC52YWx1ZS5PcmdhbmlzYXRpb25OYW1lKTtcbiAgICB0aGlzLnNlbGVjdGVkT3JnJCA9IHRoaXMub3JnYW5pc2F0aW9ucyQucGlwZShcbiAgICAgIG1hcChvcmdhbmlzYXRpb25zID0+XG4gICAgICAgIG9yZ2FuaXNhdGlvbnMuZmlsdGVyKGZpbmRPcmcgPT4ge1xuICAgICAgICAgIHJldHVybiBmaW5kT3JnLm9yZ2FuaXNhdGlvbklkZW50aWZpZXIgPT09IHRoaXMuY2FzZUZpZWxkLnZhbHVlLk9yZ2FuaXNhdGlvbklEO1xuICAgICAgICB9KVxuICAgICAgICAgIC5tYXAob3JnYW5pc2F0aW9uID0+IHRoaXMub3JnYW5pc2F0aW9uQ29udmVydGVyLnRvU2ltcGxlT3JnYW5pc2F0aW9uTW9kZWwob3JnYW5pc2F0aW9uKSlbMF0pLFxuICAgICk7XG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLnZhbHVlICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlLk9yZ2FuaXNhdGlvbklEKSB7XG4gICAgICB0aGlzLnNlYXJjaE9yZ1RleHRGb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcmVTZWxlY3RFbXB0eU9yZygpOiB2b2lkIHtcbiAgICB0aGlzLmluc3RhbnRpYXRlT3JnYW5pc2F0aW9uRm9ybUdyb3VwKG51bGwsIG51bGwpO1xuICAgIHRoaXMuc2VsZWN0ZWRPcmckID0gb2YoV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5FTVBUWV9TSU1QTEVfT1JHKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFudGlhdGVPcmdhbmlzYXRpb25Gb3JtR3JvdXAob3JnSURTdGF0ZTogYW55LCBvcmdOYW1lU3RhdGU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub3JnYW5pc2F0aW9uSURGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChvcmdJRFN0YXRlKTtcbiAgICB0aGlzLmFkZE9yZ2FuaXNhdGlvblZhbGlkYXRvcnModGhpcy5jYXNlRmllbGQsIHRoaXMub3JnYW5pc2F0aW9uSURGb3JtQ29udHJvbCk7XG4gICAgdGhpcy5vcmdhbmlzYXRpb25Gb3JtR3JvdXAuYWRkQ29udHJvbChXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50Lk9SR0FOSVNBVElPTl9JRCwgdGhpcy5vcmdhbmlzYXRpb25JREZvcm1Db250cm9sKTtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbk5hbWVGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChvcmdOYW1lU3RhdGUpO1xuICAgIHRoaXMub3JnYW5pc2F0aW9uRm9ybUdyb3VwLmFkZENvbnRyb2woV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5PUkdBTklTQVRJT05fTkFNRSwgdGhpcy5vcmdhbmlzYXRpb25OYW1lRm9ybUNvbnRyb2wpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRPcmdhbmlzYXRpb25WYWxpZGF0b3JzKGNhc2VGaWVsZDogQ2FzZUZpZWxkLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB2b2lkIHtcbiAgICBpZiAoY2FzZUZpZWxkLmZpZWxkX3R5cGUgJiYgY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMpIHtcbiAgICAgIGNvbnN0IG9yZ2FuaXNhdGlvbklkRmllbGQgPSBjYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkc1xuICAgICAgICAuZmluZChmaWVsZCA9PiBmaWVsZC5pZCA9PT0gV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5PUkdBTklTQVRJT05fSUQpO1xuICAgICAgdGhpcy5hZGRWYWxpZGF0b3JzKG9yZ2FuaXNhdGlvbklkRmllbGQsIGNvbnRyb2wpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VhcmNoQ3JpdGVyaWEob3JnYW5pc2F0aW9uOiBPcmdhbmlzYXRpb25WbSwgbG93ZXJPcmdTZWFyY2hUZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAob3JnYW5pc2F0aW9uLnBvc3RDb2RlICYmIG9yZ2FuaXNhdGlvbi5wb3N0Q29kZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyT3JnU2VhcmNoVGV4dCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAob3JnYW5pc2F0aW9uLnBvc3RDb2RlICYmIHRoaXMudHJpbUFsbChvcmdhbmlzYXRpb24ucG9zdENvZGUpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvcmdhbmlzYXRpb24ucG9zdENvZGUgJiYgb3JnYW5pc2F0aW9uLnBvc3RDb2RlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy50cmltQWxsKGxvd2VyT3JnU2VhcmNoVGV4dCkpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG9yZ2FuaXNhdGlvbi5uYW1lICYmIG9yZ2FuaXNhdGlvbi5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvcmdhbmlzYXRpb24uYWRkcmVzc0xpbmUxICYmIG9yZ2FuaXNhdGlvbi5hZGRyZXNzTGluZTEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlck9yZ1NlYXJjaFRleHQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG9yZ2FuaXNhdGlvbi5hZGRyZXNzTGluZTIgJiYgb3JnYW5pc2F0aW9uLmFkZHJlc3NMaW5lMi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyT3JnU2VhcmNoVGV4dCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAob3JnYW5pc2F0aW9uLmFkZHJlc3NMaW5lMyAmJiBvcmdhbmlzYXRpb24uYWRkcmVzc0xpbmUzLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvcmdhbmlzYXRpb24udG93bkNpdHkgJiYgb3JnYW5pc2F0aW9uLnRvd25DaXR5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvcmdhbmlzYXRpb24uY291bnR5ICYmIG9yZ2FuaXNhdGlvbi5jb3VudHkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlck9yZ1NlYXJjaFRleHQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLy8gbm9pbnNwZWN0aW9uIFJlZHVuZGFudElmU3RhdGVtZW50SlNcbiAgICBpZiAob3JnYW5pc2F0aW9uLmNvdW50cnkgJiYgb3JnYW5pc2F0aW9uLmNvdW50cnkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlck9yZ1NlYXJjaFRleHQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWFyY2hXaXRoU3BhY2Uob3JnYW5pc2F0aW9uOiBPcmdhbmlzYXRpb25WbSwgbG93ZXJPcmdTZWFyY2hUZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBzZWFyY2hUZXh0QXJyYXk6IHN0cmluZ1tdID0gbG93ZXJPcmdTZWFyY2hUZXh0LnNwbGl0KC9cXHMrL2cpO1xuICAgIGZvciAoY29uc3Qgc2luZ2xlU2VhcmNoVGV4dCBvZiBzZWFyY2hUZXh0QXJyYXkpIHtcbiAgICAgIGlmIChzaW5nbGVTZWFyY2hUZXh0ICYmIHRoaXMuc2VhcmNoQ3JpdGVyaWEob3JnYW5pc2F0aW9uLCBzaW5nbGVTZWFyY2hUZXh0KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJvcmdhbmlzYXRpb25Gb3JtR3JvdXBcIj5cbiAgPGZpZWxkc2V0ICpuZ0lmPVwiKG9yZ2FuaXNhdGlvbnMkIHwgYXN5bmMpPy5sZW5ndGggPT09IDBcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCI+XG4gICAgPGxlZ2VuZCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+PC9sZWdlbmQ+XG4gICAgPGRpdiBjbGFzcz1cImhtY3RzLWJhbm5lclwiPlxuICAgICAgPHN2ZyBjbGFzcz1cImhtY3RzLWJhbm5lcl9faWNvblwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNSAyNVwiIGhlaWdodD1cIjI1XCIgd2lkdGg9XCIyNVwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEzLjcsMTguNWgtMi40di0yLjRoMi40VjE4LjV6IE0xMi41LDEzLjdjLTAuNywwLTEuMi0wLjUtMS4yLTEuMlY3LjdjMC0wLjcsMC41LTEuMiwxLjItMS4yczEuMiwwLjUsMS4yLDEuMnY0LjhcbiAgQzEzLjcsMTMuMiwxMy4yLDEzLjcsMTIuNSwxMy43eiBNMTIuNSwwLjVjLTYuNiwwLTEyLDUuNC0xMiwxMnM1LjQsMTIsMTIsMTJzMTItNS40LDEyLTEyUzE5LjEsMC41LDEyLjUsMC41elwiIC8+PC9zdmc+XG4gICAgICA8ZGl2IGNsYXNzPVwiaG1jdHMtYmFubmVyX19tZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaG1jdHMtYmFubmVyX19hc3Npc3RpdmVcIj57eydpbmZvcm1hdGlvbicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICA8cCBjbGFzcz1cIndhcm5pbmctbWVzc2FnZVwiPnt7J09yZ2FuaXNhdGlvbiBzZWFyY2ggaXMgY3VycmVudGx5IHVuYXZhaWxhYmxlLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3YXJuaW5nLXBhbmVsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwid2FybmluZy1tZXNzYWdlXCI+XG4gICAgICAgIHt7J1dlIGFyZSB3b3JraW5nIHRvIGZpeCB0aGUgaXNzdWUuWW91IGNhbiB0cnkgYWdhaW4gbGF0ZXIuJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9maWVsZHNldD5cbiAgPGZpZWxkc2V0ICpuZ0lmPVwiKG9yZ2FuaXNhdGlvbnMkIHwgYXN5bmMpPy5sZW5ndGggPiAwXCIgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiPlxuICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWxcIj5cbiAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctaDJcIj5cbiAgICAgICAge3snU2VhcmNoIGZvciBhbiBvcmdhbmlzYXRpb24nIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvaDI+XG4gICAgPC9sZWdlbmQ+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsXCIgZm9yPVwic2VhcmNoLW9yZy10ZXh0XCI+XG4gICAgICAgIDxzcGFuIGlkPVwic2VhcmNoLW9yZy1oaW50XCIgY2xhc3M9XCJnb3Z1ay1oaW50XCI+XG4gICAgICAgICAge3snWW91IGNhbiBvbmx5IHNlYXJjaCBmb3Igb3JnYW5pc2F0aW9ucyBhbHJlYWR5IHJlZ2lzdGVyZWQgd2l0aCBNeUhNQ1RTLiBGb3IgZXhhbXBsZSwgeW91IGNhbiBzZWFyY2ggYnkgb3JnYW5pc2F0aW9uIG5hbWUgb3IgYWRkcmVzcy4nIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxpbnB1dCBpZD1cInNlYXJjaC1vcmctdGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZT1cInRleHRcIiBbZm9ybUNvbnRyb2xdPVwic2VhcmNoT3JnVGV4dEZvcm1Db250cm9sXCIvPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbFwiIGZvcj1cIm9yZ2FuaXNhdGlvbi10YWJsZVwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLWgyXCI+e3snT3JnYW5pc2F0aW9uIG5hbWUgYW5kIGFkZHJlc3MnIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxociBjbGFzcz1cImdvdnVrLXNlY3Rpb24tYnJlYWsgZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZVwiPlxuICAgICAgPGRpdiAqbmdJZj1cIiEoc2VsZWN0ZWRPcmckIHwgYXN5bmMpPy5vcmdhbmlzYXRpb25JZGVudGlmaWVyOyBlbHNlIHNlbGVjdGVkT3JnYW5pc2F0aW9uXCIgW25nQ2xhc3NdPVwieydzY3JvbGwtY29udGFpbmVyICc6IChzaW1wbGVPcmdhbmlzYXRpb25zJCB8IGFzeW5jKT8ubGVuZ3RoID4gMTB9XCI+XG4gICAgICAgIDx0YWJsZSBpZD1cIm9yZ2FuaXNhdGlvbi10YWJsZVwiICpuZ0Zvcj1cImxldCBvcmdhbmlzYXRpb24gb2YgKHNpbXBsZU9yZ2FuaXNhdGlvbnMkIHwgYXN5bmMpXCI+XG4gICAgICAgICAgPGNhcHRpb24+PGgzIGNsYXNzPVwibmFtZS1oZWFkZXJcIj57e29yZ2FuaXNhdGlvbi5uYW1lfX08L2gzPjwvY2FwdGlvbj5cbiAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDx0aCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+PC90aD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGQtYWRkcmVzc1wiPlxuICAgICAgICAgICAgICAgIDxjY2QtbWFya2Rvd24gW2NvbnRlbnRdPVwib3JnYW5pc2F0aW9uLmFkZHJlc3NcIj48L2NjZC1tYXJrZG93bj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGQtc2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIiAoY2xpY2spPVwic2VsZWN0T3JnKG9yZ2FuaXNhdGlvbilcIiB0aXRsZT1cInt7J1NlbGVjdCB0aGUgb3JnYW5pc2F0aW9uJyB8IHJweFRyYW5zbGF0ZX19IHt7b3JnYW5pc2F0aW9uLm5hbWV9fVwiPlxuICAgICAgICAgICAgICAgICAge3snU2VsZWN0JyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKHNpbXBsZU9yZ2FuaXNhdGlvbnMkIHwgYXN5bmMpPy5sZW5ndGggPT09IDAgJiYgKHNlYXJjaE9yZ1ZhbHVlJCB8IGFzeW5jKT8ubGVuZ3RoID4gMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuby1yZXN1bHQtbWVzc2FnZVwiPlxuICAgICAgICAgICAge3snTm8gcmVzdWx0cyBmb3VuZC4nIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2VsZWN0ZWRPcmdhbmlzYXRpb24+XG4gICAgICAgIDx0YWJsZSBpZD1cIm9yZ2FuaXNhdGlvbi1zZWxlY3RlZC10YWJsZVwiICpuZ0lmPVwiKHNlbGVjdGVkT3JnJCB8IGFzeW5jKSBhcyBzZWxlY3RlZE9yZ1wiPlxuICAgICAgICAgIDxjYXB0aW9uPjxoMyBjbGFzcz1cIm5hbWUtaGVhZGVyXCI+e3tzZWxlY3RlZE9yZy5uYW1lfX08L2gzPjwvY2FwdGlvbj5cbiAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDx0aCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+PC90aD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGQtYWRkcmVzc1wiPlxuICAgICAgICAgICAgICAgIDxjY2QtbWFya2Rvd24gW2NvbnRlbnRdPVwic2VsZWN0ZWRPcmcuYWRkcmVzc1wiPjwvY2NkLW1hcmtkb3duPlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZC1zZWxlY3RcIj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiIChjbGljayk9XCJkZVNlbGVjdE9yZygpXCJcbiAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7J0NsZWFyIG9yZ2FuaXNhdGlvbiBzZWxlY3Rpb24gZm9yJyB8IHJweFRyYW5zbGF0ZX19IHt7c2VsZWN0ZWRPcmcubmFtZX19XCI+XG4gICAgICAgICAgICAgICAgICB7eydDbGVhcicgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGNjZC13cml0ZS1vcmdhbmlzYXRpb24tY29tcGxleC1maWVsZCBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRPcmckXT1cInNlbGVjdGVkT3JnJFwiPlxuICAgIDwvY2NkLXdyaXRlLW9yZ2FuaXNhdGlvbi1jb21wbGV4LWZpZWxkPlxuICAgIDxkZXRhaWxzIGlkPVwiZmluZC1vcmdhbmlzYXRpb24taGVscFwiIGNsYXNzPVwiZ292dWstZGV0YWlsc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstZGV0YWlsc1wiPlxuICAgICAgPHN1bW1hcnkgY2xhc3M9XCJnb3Z1ay1kZXRhaWxzX19zdW1tYXJ5XCI+XG4gICAgICA8c3BhbiBpZD1cImNvbnRlbnQtd2h5LWNhbi1ub3QtZmluZC1vcmdhbmlzYXRpb25cIiBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dFwiPlxuICAgICAgICB7e1wiQ2Fu4oCZdCBmaW5kIHRoZSBvcmdhbmlzYXRpb24geW91IGFyZSBsb29raW5nIGZvcj9cIiB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L3NwYW4+XG4gICAgICA8L3N1bW1hcnk+XG4gICAgICA8ZGl2IGlkPVwiY29udGVudC1yZWFzb24tY2FuLW5vdC1maW5kLW9yZ2FuaXNhdGlvblwiIGNsYXNzPVwiZ292dWstZGV0YWlsc19fdGV4dFwiPlxuICAgICAgICB7eydJZiB5b3Uga25vdyB0aGF0IHRoZSBzb2xpY2l0b3IgaXMgYWxyZWFkeSByZWdpc3RlcmVkIHdpdGggTXlITUNUUywgY2hlY2sgdGhhdCB5b3UgaGF2ZSBlbnRlcmVkIHRoZWlyIGRldGFpbHMgY29ycmVjdGx5LicgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICB7e1wiUmVtZW1iZXIgdGhhdCBvcmdhbmlzYXRpb25zIGNhbiBvbmx5IHJlZ2lzdGVyIG9uZSBvZmZpY2UgYWRkcmVzcy4gVGhpcyBtZWFucyB0aGF0IHRoZSBkZXRhaWxzIGNvdWxkIGJlIHNsaWdodGx5IGRpZmZlcmVudCBmcm9tIHdoYXQgeW91J3JlIGV4cGVjdGluZy4gQ29udGFjdCB0aGUgc29saWNpdG9yIGRpcmVjdGx5IGlmIHlvdSBoYXZlIGFueSBjb25jZXJucy5cIiB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICA8L2RldGFpbHM+XG4gIDwvZmllbGRzZXQ+XG48L2Rpdj5cbiJdfQ==
|
|
384
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtb3JnYW5pc2F0aW9uLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL29yZ2FuaXNhdGlvbi93cml0ZS1vcmdhbmlzYXRpb24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvb3JnYW5pc2F0aW9uL3dyaXRlLW9yZ2FuaXNhdGlvbi1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUU1RixPQUFPLEVBQUUsbUJBQW1CLEVBQWtCLE1BQU0scURBQXFELENBQUM7QUFDMUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7SUNUekYsbUNBQWdGO0lBQzlFLDRCQUF3QztJQUN4Qyw4QkFBMEI7SUFDeEIsbUJBQXdLO0lBQXhLLDhCQUF3SztJQUN0SywwQkFDd0c7SUFBQSxpQkFBTTtJQUNoSCxvQkFBbUM7SUFBbkMsOEJBQW1DLGNBQUE7SUFDSyxZQUFnQzs7SUFB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QU8sRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUNsRyxnREFBZ0IsR0FBVyxHQUFHLENBQUM7QUFDL0IsK0NBQWUsR0FBVyxnQkFBZ0IsQ0FBQztBQUMzQyxpREFBaUIsR0FBVyxrQkFBa0IsQ0FBQztBQUMvQyxrRUFBa0MsR0FBVyxnQ0FBZ0MsQ0FBQztBQUM5RSxvREFBb0IsR0FBVyxxQkFBcUIsQ0FBQztBQUNyRCxtQ0FBRyxHQUFXLEtBQUssQ0FBQztBQUNwQix5Q0FBUyxHQUFXLFdBQVcsQ0FBQzs4R0FUN0MsK0JBQStCO2tGQUEvQiwrQkFBK0I7UUNqQjVDLDhCQUE0RDtRQUMxRCwyRkFnQlc7O1FBQ1gsNEZBNkVXOztRQUNiLGlCQUFNOzs7O1FBaEdrQixxREFBbUM7UUFDOUMsZUFBNEM7UUFBNUMsbUhBQTRDO1FBaUI1QyxlQUEwQztRQUExQyxpSEFBMEM7O3VGREQxQywrQkFBK0I7Y0FMM0MsU0FBUzsyQkFDRSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBPcmdhbmlzYXRpb25Db252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vb3JnYW5pc2F0aW9uL29yZ2FuaXNhdGlvbi1jb252ZXJ0ZXInO1xuaW1wb3J0IHsgU2ltcGxlT3JnYW5pc2F0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vb3JnYW5pc2F0aW9uL3NpbXBsZS1vcmdhbmlzYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgT3JnYW5pc2F0aW9uU2VydmljZSwgT3JnYW5pc2F0aW9uVm0gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmdhbmlzYXRpb24vb3JnYW5pc2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3dpbmRvdy93aW5kb3cuc2VydmljZSc7XG5cbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtd3JpdGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXdyaXRlLW9yZ2FuaXNhdGlvbi1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1vcmdhbmlzYXRpb24tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vcmdhbmlzYXRpb24tZmllbGQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVNUFRZX1NJTVBMRV9PUkc6IFNpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsID0geyBvcmdhbmlzYXRpb25JZGVudGlmaWVyOiAnJywgbmFtZTogJycsIGFkZHJlc3M6ICcnIH07XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1BWF9SRVNVTFRfQ09VTlQ6IG51bWJlciA9IDEwMDtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgT1JHQU5JU0FUSU9OX0lEOiBzdHJpbmcgPSAnT3JnYW5pc2F0aW9uSUQnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBPUkdBTklTQVRJT05fTkFNRTogc3RyaW5nID0gJ09yZ2FuaXNhdGlvbk5hbWUnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBQUkVfUE9QVUxBVEVfVE9fVVNFUlNfT1JHQU5JU0FUSU9OOiBzdHJpbmcgPSAnUHJlcG9wdWxhdGVUb1VzZXJzT3JnYW5pc2F0aW9uJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgT1JHQU5JU0FUSU9OX0RFVEFJTFM6IHN0cmluZyA9ICdvcmdhbmlzYXRpb25EZXRhaWxzJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgWUVTOiBzdHJpbmcgPSAnWUVTJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTUFOREFUT1JZOiBzdHJpbmcgPSAnTUFOREFUT1JZJztcbiAgcHVibGljIGRlZmF1bHRPcmc6IGFueTtcblxuICBwdWJsaWMgb3JnYW5pc2F0aW9uRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBzZWFyY2hPcmdUZXh0Rm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBwdWJsaWMgb3JnYW5pc2F0aW9uSURGb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBvcmdhbmlzYXRpb25OYW1lRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gIHB1YmxpYyBvcmdhbmlzYXRpb25zJDogT2JzZXJ2YWJsZTxPcmdhbmlzYXRpb25WbVtdPjtcbiAgcHVibGljIHNlYXJjaE9yZ1ZhbHVlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBwdWJsaWMgc2ltcGxlT3JnYW5pc2F0aW9ucyQ6IE9ic2VydmFibGU8U2ltcGxlT3JnYW5pc2F0aW9uTW9kZWxbXT47XG4gIHB1YmxpYyBzZWxlY3RlZE9yZyQ6IE9ic2VydmFibGU8U2ltcGxlT3JnYW5pc2F0aW9uTW9kZWw+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgb3JnYW5pc2F0aW9uU2VydmljZTogT3JnYW5pc2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9yZ2FuaXNhdGlvbkNvbnZlcnRlcjogT3JnYW5pc2F0aW9uQ29udmVydGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93U2VydmljZTogV2luZG93U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kZWZhdWx0T3JnID0gSlNPTi5wYXJzZSh0aGlzLndpbmRvd1NlcnZpY2UuZ2V0U2Vzc2lvblN0b3JhZ2UoV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5PUkdBTklTQVRJT05fREVUQUlMUykpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3JnYW5pc2F0aW9ucyQgPSB0aGlzLm9yZ2FuaXNhdGlvblNlcnZpY2UuZ2V0QWN0aXZlT3JnYW5pc2F0aW9ucygpO1xuXG4gICAgdGhpcy5zZWFyY2hPcmdUZXh0Rm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICAgIHRoaXMuc2VhcmNoT3JnVmFsdWUkID0gdGhpcy5zZWFyY2hPcmdUZXh0Rm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzO1xuICAgIHRoaXMuc2VhcmNoT3JnVmFsdWUkLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLm9uU2VhcmNoT3JnKHZhbHVlKSk7XG5cbiAgICB0aGlzLm9yZ2FuaXNhdGlvbkZvcm1Hcm91cCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtR3JvdXAoe30pLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gICAgaWYgKHRoaXMucGFyZW50ICYmIHRoaXMucGFyZW50LmNvbnRyb2xzICYmIHRoaXMucGFyZW50LmNvbnRyb2xzLmhhc093blByb3BlcnR5KFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuUFJFX1BPUFVMQVRFX1RPX1VTRVJTX09SR0FOSVNBVElPTilcbiAgICAgICYmIHRoaXMucGFyZW50LmNvbnRyb2xzW1dyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuUFJFX1BPUFVMQVRFX1RPX1VTRVJTX09SR0FOSVNBVElPTl0udmFsdWVcbiAgICAgICYmIHRoaXMucGFyZW50LmNvbnRyb2xzW1dyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuUFJFX1BPUFVMQVRFX1RPX1VTRVJTX09SR0FOSVNBVElPTl0udmFsdWUudG9VcHBlckNhc2UoKVxuICAgICAgPT09IFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuWUVTKSB7XG4gICAgICBpZiAodGhpcy5jYXNlRmllbGQgJiYgIXRoaXMuY2FzZUZpZWxkLnZhbHVlKSB7XG4gICAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlID0ge1xuICAgICAgICAgIE9yZ2FuaXNhdGlvbklEOiB0aGlzLmRlZmF1bHRPcmcgPyB0aGlzLmRlZmF1bHRPcmcub3JnYW5pc2F0aW9uSWRlbnRpZmllciA6IG51bGwsXG4gICAgICAgICAgT3JnYW5pc2F0aW9uTmFtZTogdGhpcy5kZWZhdWx0T3JnID8gdGhpcy5kZWZhdWx0T3JnLm5hbWUgOiBudWxsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICB0aGlzLnByZVNlbGVjdERlZmF1bHRPcmcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY2FzZUZpZWxkICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlLk9yZ2FuaXNhdGlvbklEKSB7XG4gICAgICAgIHRoaXMucHJlU2VsZWN0RGVmYXVsdE9yZygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wcmVTZWxlY3RFbXB0eU9yZygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVuc3VyZSB0aGF0IGFsbCBzdWItZmllbGRzIGluaGVyaXQgdGhlIHNhbWUgdmFsdWUgZm9yIHJldGFpbl9oaWRkZW5fdmFsdWUgYXMgdGhpcyBwYXJlbnQ7IGFsdGhvdWdoIGFuXG4gICAgLy8gT3JnYW5pc2F0aW9uIGZpZWxkIHVzZXMgdGhlIENvbXBsZXggdHlwZSwgaXQgaXMgbWVhbnQgdG8gYmUgdHJlYXRlZCBhcyBvbmUgZmllbGRcbiAgICBpZiAodGhpcy5jYXNlRmllbGQgJiYgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnQ29tcGxleCcpIHtcbiAgICAgIGZvciAoY29uc3Qgb3JnYW5pc2F0aW9uU3ViRmllbGQgb2YgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcykge1xuICAgICAgICBvcmdhbmlzYXRpb25TdWJGaWVsZC5yZXRhaW5faGlkZGVuX3ZhbHVlID0gdGhpcy5jYXNlRmllbGQucmV0YWluX2hpZGRlbl92YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWFyY2hPcmcob3JnU2VhcmNoVGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKG9yZ1NlYXJjaFRleHQgJiYgb3JnU2VhcmNoVGV4dC5sZW5ndGggPj0gMikge1xuICAgICAgY29uc3QgbG93ZXJPcmdTZWFyY2hUZXh0ID0gb3JnU2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpO1xuICAgICAgdGhpcy5zaW1wbGVPcmdhbmlzYXRpb25zJCA9IHRoaXMub3JnYW5pc2F0aW9ucyQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKG9yZ2FuaXNhdGlvbnMgPT4gb2YoXG4gICAgICAgICAgdGhpcy5zZWFyY2hPcmcob3JnYW5pc2F0aW9ucywgbG93ZXJPcmdTZWFyY2hUZXh0KVxuICAgICAgICApXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2ltcGxlT3JnYW5pc2F0aW9ucyQgPSBvZihbXSk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHdheSB0aGUgc2VhcmNoIHdvcmtzIGRpdmlkZSBpbnRvIHR3byBwaGFzZXNcbiAgLy8gMS4gZ28gdGhyb3VnaCBjb2xsZWN0aW9uIG9mIG9yZyBpdGVtcyBvbmUgYnkgb25lIGJ5IGRvaW5nIHRoZSBjb21wYXJzaW9uIG9mIHNlYXJjaCBzdHJpbmcgdXNpbmcgaW5jbHVkZXMgdG8gYWxsIHRoZSBhZGRyZXNzIGZpZWxkc1xuICAvLyAyLiBzcGxpdCB0aGUgc2VhcmNoIHN0cmluZyBpbnRvIGFycmF5cyBhbmQgYXBwbHkgdGhlIGVhY2ggYXJyYXkgaXRlbSBpbnRvIHRoZSBhZGRyZXNzIGZpZWxkc1xuICAvLyAzLiBib3RoIHN0ZXAgMSwgMiB3aWxsIGdvIHVudGlsIG1heCBjb3VudCByZXN1bHQgcmVhY2hlcywgYW5kIGZpbmFsbHkgY29tYmluZSBib3RoIHJlc3VsdCBzZXRzIGludG8gZmluYWwgY29sbGVjdGlvblxuICBwdWJsaWMgc2VhcmNoT3JnKG9yZ2FuaXNhdGlvbnM6IE9yZ2FuaXNhdGlvblZtW10sIGxvd2VyT3JnU2VhcmNoVGV4dDogc3RyaW5nKTogU2ltcGxlT3JnYW5pc2F0aW9uTW9kZWxbXSB7XG4gICAgY29uc3QgcGFydE1hdGNoaW5nUmVzdWx0U2V0ID0gW107XG4gICAgY29uc3Qgd2l0aFNwYWNlTWF0Y2hpbmdSZXN1bHRTZXQgPSBbXTtcbiAgICBjb25zdCBNQVhfUkVTVUxUX0NPVU5UID0gV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5NQVhfUkVTVUxUX0NPVU5UO1xuICAgIG9yZ2FuaXNhdGlvbnMuZm9yRWFjaCgob3JnYW5pc2F0aW9uKSA9PiB7XG4gICAgICBpZiAocGFydE1hdGNoaW5nUmVzdWx0U2V0Lmxlbmd0aCA8IE1BWF9SRVNVTFRfQ09VTlQgJiYgdGhpcy5zZWFyY2hDcml0ZXJpYShvcmdhbmlzYXRpb24sIGxvd2VyT3JnU2VhcmNoVGV4dCkpIHtcbiAgICAgICAgcGFydE1hdGNoaW5nUmVzdWx0U2V0LnB1c2gob3JnYW5pc2F0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIG9yZ2FuaXNhdGlvbnMuZm9yRWFjaCgob3JnKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHRTZXQgPSBbLi4ucGFydE1hdGNoaW5nUmVzdWx0U2V0LCAuLi53aXRoU3BhY2VNYXRjaGluZ1Jlc3VsdFNldF07XG4gICAgICBjb25zdCBoYXNNYXRjaGluZ09yZ2FuaXNhdGlvbiA9IHJlc3VsdFNldC5maW5kKGl0ZW0gPT4gaXRlbS5vcmdhbmlzYXRpb25JZGVudGlmaWVyID09PSBvcmcub3JnYW5pc2F0aW9uSWRlbnRpZmllcik7XG4gICAgICBjb25zdCBzZWFyY2hIYXNTcGFjZSA9IHRoaXMuc2VhcmNoV2l0aFNwYWNlKG9yZywgbG93ZXJPcmdTZWFyY2hUZXh0KTtcbiAgICAgIGNvbnN0IGhhc1Jlc3VsdFNldEJlbG93TWF4Q291bnQgPSByZXN1bHRTZXQubGVuZ3RoIDwgTUFYX1JFU1VMVF9DT1VOVDtcblxuICAgICAgaWYgKCFoYXNNYXRjaGluZ09yZ2FuaXNhdGlvbiAmJiBwYXJ0TWF0Y2hpbmdSZXN1bHRTZXQubGVuZ3RoID09PSAwICYmIGhhc1Jlc3VsdFNldEJlbG93TWF4Q291bnQgJiYgc2VhcmNoSGFzU3BhY2UpIHtcbiAgICAgICAgd2l0aFNwYWNlTWF0Y2hpbmdSZXN1bHRTZXQucHVzaChvcmcpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBbLi4ucGFydE1hdGNoaW5nUmVzdWx0U2V0LCAuLi53aXRoU3BhY2VNYXRjaGluZ1Jlc3VsdFNldF0ubWFwKChvcmdhbmlzYXRpb24pID0+XG4gICAgICB0aGlzLm9yZ2FuaXNhdGlvbkNvbnZlcnRlci50b1NpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsKG9yZ2FuaXNhdGlvbilcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHRyaW1BbGwob2xkVGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gb2xkVGV4dC5yZXBsYWNlKC9cXHMrL2csICcnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RPcmcoc2VsZWN0ZWRPcmc6IFNpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5vcmdhbmlzYXRpb25JREZvcm1Db250cm9sLnNldFZhbHVlKHNlbGVjdGVkT3JnLm9yZ2FuaXNhdGlvbklkZW50aWZpZXIpO1xuICAgIHRoaXMub3JnYW5pc2F0aW9uTmFtZUZvcm1Db250cm9sLnNldFZhbHVlKHNlbGVjdGVkT3JnLm5hbWUpO1xuICAgIHRoaXMuc2VsZWN0ZWRPcmckID0gb2Yoc2VsZWN0ZWRPcmcpO1xuICAgIHRoaXMuc2ltcGxlT3JnYW5pc2F0aW9ucyQgPSBvZihbLi4uW10sIHNlbGVjdGVkT3JnXSk7XG4gICAgdGhpcy5zZWFyY2hPcmdUZXh0Rm9ybUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgIHRoaXMuc2VhcmNoT3JnVGV4dEZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZSA9IHtcbiAgICAgIE9yZ2FuaXNhdGlvbklEOiBzZWxlY3RlZE9yZy5vcmdhbmlzYXRpb25JZGVudGlmaWVyLFxuICAgICAgT3JnYW5pc2F0aW9uTmFtZTogc2VsZWN0ZWRPcmcubmFtZVxuICAgIH07XG4gICAgdGhpcy5vcmdhbmlzYXRpb25Gb3JtR3JvdXAuc2V0VmFsdWUodGhpcy5jYXNlRmllbGQudmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGRlU2VsZWN0T3JnKCk6IHZvaWQge1xuICAgIHRoaXMub3JnYW5pc2F0aW9uSURGb3JtQ29udHJvbC5yZXNldCgpO1xuICAgIHRoaXMub3JnYW5pc2F0aW9uTmFtZUZvcm1Db250cm9sLnJlc2V0KCk7XG4gICAgdGhpcy5zZWxlY3RlZE9yZyQgPSBvZihXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50LkVNUFRZX1NJTVBMRV9PUkcpO1xuICAgIHRoaXMuc2ltcGxlT3JnYW5pc2F0aW9ucyQgPSBvZihbXSk7XG4gICAgdGhpcy5zZWFyY2hPcmdUZXh0Rm9ybUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgIHRoaXMuc2VhcmNoT3JnVGV4dEZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlID0geyBPcmdhbmlzYXRpb25JRDogbnVsbCwgT3JnYW5pc2F0aW9uTmFtZTogbnVsbCB9O1xuICAgIHRoaXMub3JnYW5pc2F0aW9uRm9ybUdyb3VwLnNldFZhbHVlKHRoaXMuY2FzZUZpZWxkLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlU2VsZWN0RGVmYXVsdE9yZygpOiB2b2lkIHtcbiAgICB0aGlzLmluc3RhbnRpYXRlT3JnYW5pc2F0aW9uRm9ybUdyb3VwKHRoaXMuY2FzZUZpZWxkLnZhbHVlLk9yZ2FuaXNhdGlvbklELCB0aGlzLmNhc2VGaWVsZC52YWx1ZS5PcmdhbmlzYXRpb25OYW1lKTtcbiAgICB0aGlzLnNlbGVjdGVkT3JnJCA9IHRoaXMub3JnYW5pc2F0aW9ucyQucGlwZShcbiAgICAgIG1hcChvcmdhbmlzYXRpb25zID0+XG4gICAgICAgIG9yZ2FuaXNhdGlvbnMuZmlsdGVyKGZpbmRPcmcgPT4ge1xuICAgICAgICAgIHJldHVybiBmaW5kT3JnLm9yZ2FuaXNhdGlvbklkZW50aWZpZXIgPT09IHRoaXMuY2FzZUZpZWxkLnZhbHVlLk9yZ2FuaXNhdGlvbklEO1xuICAgICAgICB9KVxuICAgICAgICAgIC5tYXAob3JnYW5pc2F0aW9uID0+IHRoaXMub3JnYW5pc2F0aW9uQ29udmVydGVyLnRvU2ltcGxlT3JnYW5pc2F0aW9uTW9kZWwob3JnYW5pc2F0aW9uKSlbMF0pLFxuICAgICk7XG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLnZhbHVlICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlLk9yZ2FuaXNhdGlvbklEKSB7XG4gICAgICB0aGlzLnNlYXJjaE9yZ1RleHRGb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcmVTZWxlY3RFbXB0eU9yZygpOiB2b2lkIHtcbiAgICB0aGlzLmluc3RhbnRpYXRlT3JnYW5pc2F0aW9uRm9ybUdyb3VwKG51bGwsIG51bGwpO1xuICAgIHRoaXMuc2VsZWN0ZWRPcmckID0gb2YoV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5FTVBUWV9TSU1QTEVfT1JHKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFudGlhdGVPcmdhbmlzYXRpb25Gb3JtR3JvdXAob3JnSURTdGF0ZTogYW55LCBvcmdOYW1lU3RhdGU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub3JnYW5pc2F0aW9uSURGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChvcmdJRFN0YXRlKTtcbiAgICB0aGlzLmFkZE9yZ2FuaXNhdGlvblZhbGlkYXRvcnModGhpcy5jYXNlRmllbGQsIHRoaXMub3JnYW5pc2F0aW9uSURGb3JtQ29udHJvbCk7XG4gICAgdGhpcy5vcmdhbmlzYXRpb25Gb3JtR3JvdXAuYWRkQ29udHJvbChXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50Lk9SR0FOSVNBVElPTl9JRCwgdGhpcy5vcmdhbmlzYXRpb25JREZvcm1Db250cm9sKTtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbk5hbWVGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChvcmdOYW1lU3RhdGUpO1xuICAgIHRoaXMub3JnYW5pc2F0aW9uRm9ybUdyb3VwLmFkZENvbnRyb2woV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5PUkdBTklTQVRJT05fTkFNRSwgdGhpcy5vcmdhbmlzYXRpb25OYW1lRm9ybUNvbnRyb2wpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRPcmdhbmlzYXRpb25WYWxpZGF0b3JzKGNhc2VGaWVsZDogQ2FzZUZpZWxkLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB2b2lkIHtcbiAgICBpZiAoY2FzZUZpZWxkLmZpZWxkX3R5cGUgJiYgY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMpIHtcbiAgICAgIGNvbnN0IG9yZ2FuaXNhdGlvbklkRmllbGQgPSBjYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkc1xuICAgICAgICAuZmluZChmaWVsZCA9PiBmaWVsZC5pZCA9PT0gV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5PUkdBTklTQVRJT05fSUQpO1xuICAgICAgdGhpcy5hZGRWYWxpZGF0b3JzKG9yZ2FuaXNhdGlvbklkRmllbGQsIGNvbnRyb2wpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VhcmNoQ3JpdGVyaWEob3JnYW5pc2F0aW9uOiBPcmdhbmlzYXRpb25WbSwgbG93ZXJPcmdTZWFyY2hUZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAob3JnYW5pc2F0aW9uLnBvc3RDb2RlICYmIG9yZ2FuaXNhdGlvbi5wb3N0Q29kZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyT3JnU2VhcmNoVGV4dCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAob3JnYW5pc2F0aW9uLnBvc3RDb2RlICYmIHRoaXMudHJpbUFsbChvcmdhbmlzYXRpb24ucG9zdENvZGUpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvcmdhbmlzYXRpb24ucG9zdENvZGUgJiYgb3JnYW5pc2F0aW9uLnBvc3RDb2RlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy50cmltQWxsKGxvd2VyT3JnU2VhcmNoVGV4dCkpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG9yZ2FuaXNhdGlvbi5uYW1lICYmIG9yZ2FuaXNhdGlvbi5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvcmdhbmlzYXRpb24uYWRkcmVzc0xpbmUxICYmIG9yZ2FuaXNhdGlvbi5hZGRyZXNzTGluZTEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlck9yZ1NlYXJjaFRleHQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG9yZ2FuaXNhdGlvbi5hZGRyZXNzTGluZTIgJiYgb3JnYW5pc2F0aW9uLmFkZHJlc3NMaW5lMi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyT3JnU2VhcmNoVGV4dCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAob3JnYW5pc2F0aW9uLmFkZHJlc3NMaW5lMyAmJiBvcmdhbmlzYXRpb24uYWRkcmVzc0xpbmUzLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvcmdhbmlzYXRpb24udG93bkNpdHkgJiYgb3JnYW5pc2F0aW9uLnRvd25DaXR5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvcmdhbmlzYXRpb24uY291bnR5ICYmIG9yZ2FuaXNhdGlvbi5jb3VudHkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlck9yZ1NlYXJjaFRleHQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLy8gbm9pbnNwZWN0aW9uIFJlZHVuZGFudElmU3RhdGVtZW50SlNcbiAgICBpZiAob3JnYW5pc2F0aW9uLmNvdW50cnkgJiYgb3JnYW5pc2F0aW9uLmNvdW50cnkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlck9yZ1NlYXJjaFRleHQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWFyY2hXaXRoU3BhY2Uob3JnYW5pc2F0aW9uOiBPcmdhbmlzYXRpb25WbSwgbG93ZXJPcmdTZWFyY2hUZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBzZWFyY2hUZXh0QXJyYXk6IHN0cmluZ1tdID0gbG93ZXJPcmdTZWFyY2hUZXh0LnNwbGl0KC9cXHMrL2cpO1xuICAgIGZvciAoY29uc3Qgc2luZ2xlU2VhcmNoVGV4dCBvZiBzZWFyY2hUZXh0QXJyYXkpIHtcbiAgICAgIGlmIChzaW5nbGVTZWFyY2hUZXh0ICYmIHRoaXMuc2VhcmNoQ3JpdGVyaWEob3JnYW5pc2F0aW9uLCBzaW5nbGVTZWFyY2hUZXh0KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJvcmdhbmlzYXRpb25Gb3JtR3JvdXBcIj5cbiAgPGZpZWxkc2V0ICpuZ0lmPVwiKG9yZ2FuaXNhdGlvbnMkIHwgYXN5bmMpPy5sZW5ndGggPT09IDBcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCI+XG4gICAgPGxlZ2VuZCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+PC9sZWdlbmQ+XG4gICAgPGRpdiBjbGFzcz1cImhtY3RzLWJhbm5lclwiPlxuICAgICAgPHN2ZyBjbGFzcz1cImhtY3RzLWJhbm5lcl9faWNvblwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNSAyNVwiIGhlaWdodD1cIjI1XCIgd2lkdGg9XCIyNVwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEzLjcsMTguNWgtMi40di0yLjRoMi40VjE4LjV6IE0xMi41LDEzLjdjLTAuNywwLTEuMi0wLjUtMS4yLTEuMlY3LjdjMC0wLjcsMC41LTEuMiwxLjItMS4yczEuMiwwLjUsMS4yLDEuMnY0LjhcbiAgQzEzLjcsMTMuMiwxMy4yLDEzLjcsMTIuNSwxMy43eiBNMTIuNSwwLjVjLTYuNiwwLTEyLDUuNC0xMiwxMnM1LjQsMTIsMTIsMTJzMTItNS40LDEyLTEyUzE5LjEsMC41LDEyLjUsMC41elwiIC8+PC9zdmc+XG4gICAgICA8ZGl2IGNsYXNzPVwiaG1jdHMtYmFubmVyX19tZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaG1jdHMtYmFubmVyX19hc3Npc3RpdmVcIj57eydpbmZvcm1hdGlvbicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICA8cCBjbGFzcz1cIndhcm5pbmctbWVzc2FnZVwiPnt7J09yZ2FuaXNhdGlvbiBzZWFyY2ggaXMgY3VycmVudGx5IHVuYXZhaWxhYmxlLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3YXJuaW5nLXBhbmVsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwid2FybmluZy1tZXNzYWdlXCI+XG4gICAgICAgIHt7J1dlIGFyZSB3b3JraW5nIHRvIGZpeCB0aGUgaXNzdWUuWW91IGNhbiB0cnkgYWdhaW4gbGF0ZXIuJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9maWVsZHNldD5cbiAgPGZpZWxkc2V0ICpuZ0lmPVwiKG9yZ2FuaXNhdGlvbnMkIHwgYXN5bmMpPy5sZW5ndGggPiAwXCIgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiPlxuICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWxcIj5cbiAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctaDJcIj5cbiAgICAgICAge3snU2VhcmNoIGZvciBhbiBvcmdhbmlzYXRpb24nIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvaDI+XG4gICAgPC9sZWdlbmQ+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsXCIgZm9yPVwic2VhcmNoLW9yZy10ZXh0XCI+XG4gICAgICAgIDxzcGFuIGlkPVwic2VhcmNoLW9yZy1oaW50XCIgY2xhc3M9XCJnb3Z1ay1oaW50XCI+XG4gICAgICAgICAge3snWW91IGNhbiBvbmx5IHNlYXJjaCBmb3Igb3JnYW5pc2F0aW9ucyBhbHJlYWR5IHJlZ2lzdGVyZWQgd2l0aCBNeUhNQ1RTLiBGb3IgZXhhbXBsZSwgeW91IGNhbiBzZWFyY2ggYnkgb3JnYW5pc2F0aW9uIG5hbWUgb3IgYWRkcmVzcy4nIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxpbnB1dCBpZD1cInNlYXJjaC1vcmctdGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZT1cInRleHRcIiBbZm9ybUNvbnRyb2xdPVwic2VhcmNoT3JnVGV4dEZvcm1Db250cm9sXCIvPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbFwiIGZvcj1cIm9yZ2FuaXNhdGlvbi10YWJsZVwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLWgyXCI+e3snT3JnYW5pc2F0aW9uIG5hbWUgYW5kIGFkZHJlc3MnIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxociBjbGFzcz1cImdvdnVrLXNlY3Rpb24tYnJlYWsgZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZVwiPlxuICAgICAgPGRpdiAqbmdJZj1cIiEoc2VsZWN0ZWRPcmckIHwgYXN5bmMpPy5vcmdhbmlzYXRpb25JZGVudGlmaWVyOyBlbHNlIHNlbGVjdGVkT3JnYW5pc2F0aW9uXCIgW25nQ2xhc3NdPVwieydzY3JvbGwtY29udGFpbmVyICc6IChzaW1wbGVPcmdhbmlzYXRpb25zJCB8IGFzeW5jKT8ubGVuZ3RoID4gMTB9XCI+XG4gICAgICAgIDx0YWJsZSBpZD1cIm9yZ2FuaXNhdGlvbi10YWJsZVwiICpuZ0Zvcj1cImxldCBvcmdhbmlzYXRpb24gb2YgKHNpbXBsZU9yZ2FuaXNhdGlvbnMkIHwgYXN5bmMpXCI+XG4gICAgICAgICAgPGNhcHRpb24+PGgzIGNsYXNzPVwibmFtZS1oZWFkZXJcIj57e29yZ2FuaXNhdGlvbi5uYW1lfX08L2gzPjwvY2FwdGlvbj5cbiAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDx0aCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+PC90aD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGQtYWRkcmVzc1wiPlxuICAgICAgICAgICAgICAgIDxjY2QtbWFya2Rvd24gW2NvbnRlbnRdPVwib3JnYW5pc2F0aW9uLmFkZHJlc3NcIj48L2NjZC1tYXJrZG93bj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGQtc2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIiAoY2xpY2spPVwic2VsZWN0T3JnKG9yZ2FuaXNhdGlvbilcIiB0aXRsZT1cInt7J1NlbGVjdCB0aGUgb3JnYW5pc2F0aW9uJyB8IHJweFRyYW5zbGF0ZX19IHt7b3JnYW5pc2F0aW9uLm5hbWV9fVwiPlxuICAgICAgICAgICAgICAgICAge3snU2VsZWN0JyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKHNpbXBsZU9yZ2FuaXNhdGlvbnMkIHwgYXN5bmMpPy5sZW5ndGggPT09IDAgJiYgKHNlYXJjaE9yZ1ZhbHVlJCB8IGFzeW5jKT8ubGVuZ3RoID4gMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuby1yZXN1bHQtbWVzc2FnZVwiPlxuICAgICAgICAgICAge3snTm8gcmVzdWx0cyBmb3VuZC4nIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2VsZWN0ZWRPcmdhbmlzYXRpb24+XG4gICAgICAgIDx0YWJsZSBpZD1cIm9yZ2FuaXNhdGlvbi1zZWxlY3RlZC10YWJsZVwiICpuZ0lmPVwiKHNlbGVjdGVkT3JnJCB8IGFzeW5jKSBhcyBzZWxlY3RlZE9yZ1wiPlxuICAgICAgICAgIDxjYXB0aW9uPjxoMyBjbGFzcz1cIm5hbWUtaGVhZGVyXCI+e3tzZWxlY3RlZE9yZy5uYW1lfX08L2gzPjwvY2FwdGlvbj5cbiAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDx0aCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+PC90aD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGQtYWRkcmVzc1wiPlxuICAgICAgICAgICAgICAgIDxjY2QtbWFya2Rvd24gW2NvbnRlbnRdPVwic2VsZWN0ZWRPcmcuYWRkcmVzc1wiPjwvY2NkLW1hcmtkb3duPlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZC1zZWxlY3RcIj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiIChjbGljayk9XCJkZVNlbGVjdE9yZygpXCJcbiAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7J0NsZWFyIG9yZ2FuaXNhdGlvbiBzZWxlY3Rpb24gZm9yJyB8IHJweFRyYW5zbGF0ZX19IHt7c2VsZWN0ZWRPcmcubmFtZX19XCI+XG4gICAgICAgICAgICAgICAgICB7eydDbGVhcicgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGNjZC13cml0ZS1vcmdhbmlzYXRpb24tY29tcGxleC1maWVsZCBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRPcmckXT1cInNlbGVjdGVkT3JnJFwiPlxuICAgIDwvY2NkLXdyaXRlLW9yZ2FuaXNhdGlvbi1jb21wbGV4LWZpZWxkPlxuICAgIDxkZXRhaWxzIGlkPVwiZmluZC1vcmdhbmlzYXRpb24taGVscFwiIGNsYXNzPVwiZ292dWstZGV0YWlsc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstZGV0YWlsc1wiPlxuICAgICAgPHN1bW1hcnkgY2xhc3M9XCJnb3Z1ay1kZXRhaWxzX19zdW1tYXJ5XCI+XG4gICAgICA8c3BhbiBpZD1cImNvbnRlbnQtd2h5LWNhbi1ub3QtZmluZC1vcmdhbmlzYXRpb25cIiBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dFwiPlxuICAgICAgICB7e1wiQ2Fu4oCZdCBmaW5kIHRoZSBvcmdhbmlzYXRpb24geW91IGFyZSBsb29raW5nIGZvcj9cIiB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L3NwYW4+XG4gICAgICA8L3N1bW1hcnk+XG4gICAgICA8ZGl2IGlkPVwiY29udGVudC1yZWFzb24tY2FuLW5vdC1maW5kLW9yZ2FuaXNhdGlvblwiIGNsYXNzPVwiZ292dWstZGV0YWlsc19fdGV4dFwiPlxuICAgICAgICB7eydJZiB5b3Uga25vdyB0aGF0IHRoZSBzb2xpY2l0b3IgaXMgYWxyZWFkeSByZWdpc3RlcmVkIHdpdGggTXlITUNUUywgY2hlY2sgdGhhdCB5b3UgaGF2ZSBlbnRlcmVkIHRoZWlyIGRldGFpbHMgY29ycmVjdGx5LicgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICB7e1wiUmVtZW1iZXIgdGhhdCBvcmdhbmlzYXRpb25zIGNhbiBvbmx5IHJlZ2lzdGVyIG9uZSBvZmZpY2UgYWRkcmVzcy4gVGhpcyBtZWFucyB0aGF0IHRoZSBkZXRhaWxzIGNvdWxkIGJlIHNsaWdodGx5IGRpZmZlcmVudCBmcm9tIHdoYXQgeW91J3JlIGV4cGVjdGluZy4gQ29udGFjdCB0aGUgc29saWNpdG9yIGRpcmVjdGx5IGlmIHlvdSBoYXZlIGFueSBjb25jZXJucy5cIiB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICA8L2RldGFpbHM+XG4gIDwvZmllbGRzZXQ+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -2,7 +2,7 @@ import { NgxMatDatetimePickerModule, NgxMatNativeDateModule, NgxMatTimepickerMod
|
|
|
2
2
|
import { OverlayModule } from '@angular/cdk/overlay';
|
|
3
3
|
import { CdkTreeModule } from '@angular/cdk/tree';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { ChangeDetectorRef, NgModule,
|
|
5
|
+
import { ChangeDetectorRef, NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
6
6
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
7
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
8
8
|
import { MAT_DATE_LOCALE } from '@angular/material/core';
|
|
@@ -212,13 +212,13 @@ PaletteModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
|
|
|
212
212
|
CaseFlagRefdataService,
|
|
213
213
|
YesNoService,
|
|
214
214
|
CollectionCreateCheckerService,
|
|
215
|
+
JurisdictionService,
|
|
215
216
|
PaletteService,
|
|
216
217
|
FormValidatorsService,
|
|
217
218
|
FileUploadStateService,
|
|
218
219
|
FileUploadProgressGuard,
|
|
219
220
|
WindowService,
|
|
220
221
|
CommonDataService,
|
|
221
|
-
JurisdictionService,
|
|
222
222
|
LinkedCasesService,
|
|
223
223
|
{ provide: MAT_DATE_LOCALE, useValue: 'en-GB' }
|
|
224
224
|
], imports: [CommonModule,
|
|
@@ -317,18 +317,17 @@ PaletteModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
|
|
|
317
317
|
CaseFlagRefdataService,
|
|
318
318
|
YesNoService,
|
|
319
319
|
CollectionCreateCheckerService,
|
|
320
|
+
JurisdictionService,
|
|
320
321
|
PaletteService,
|
|
321
322
|
FormValidatorsService,
|
|
322
323
|
FileUploadStateService,
|
|
323
324
|
FileUploadProgressGuard,
|
|
324
325
|
WindowService,
|
|
325
326
|
CommonDataService,
|
|
326
|
-
JurisdictionService,
|
|
327
327
|
LinkedCasesService,
|
|
328
328
|
{ provide: MAT_DATE_LOCALE, useValue: 'en-GB' }
|
|
329
329
|
],
|
|
330
|
-
schemas: [
|
|
331
|
-
entryComponents: [CaseFileViewFolderSelectorComponent]
|
|
330
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
332
331
|
}]
|
|
333
332
|
}], null, null); })();
|
|
334
333
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PaletteModule, { declarations: [FixedListPipe,
|
|
@@ -637,4 +636,4 @@ LinkedCasesToTableComponent, function () { return [i4.NgForOf, i4.NgIf]; }, func
|
|
|
637
636
|
i0.ɵɵsetComponentScope(LinkedCasesFromTableComponent, function () { return [i4.NgForOf, i4.NgIf]; }, function () { return [i13.CaseReferencePipe, i15.LinkCasesFromReasonValuePipe]; });
|
|
638
637
|
i0.ɵɵsetComponentScope(LinkCasesComponent, function () { return [i4.NgClass, i4.NgForOf, i4.NgIf, i3.DefaultValueAccessor, i3.CheckboxControlValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.FormGroupDirective, i3.FormControlName, i3.FormGroupName, i3.FormArrayName]; }, function () { return [i13.CaseReferencePipe, i14.LinkCasesReasonValuePipe]; });
|
|
639
638
|
i0.ɵɵsetComponentScope(CheckYourAnswersComponent, function () { return [i4.NgForOf, i4.NgIf]; }, function () { return [i13.CaseReferencePipe, i14.LinkCasesReasonValuePipe]; });
|
|
640
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFsZXR0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9wYWxldHRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxSSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFZLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJB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K0tBbEUvQixpQkFBaUI7SUFtRWpCLHNDQUFzQzt1QkFDdEMsK0JBQStCLHdCQXhDL0IsOEJBQThCO3VCQTBDOUIsZ0NBQWdDLGlGQXhFaEMsdUJBQXVCO0lBOER2Qix1QkFBdUI7dUJBZXZCLDZCQUE2Qiw2RkF6RTdCLG1CQUFtQjs7QUEyRW5CLG1DQUFtQztBQUNuQywwQkFBMEIsdUVBQzFCLDJCQUEyQjs7QUFxQjNCLDhCQUE4QjtBQUM5QiwyQkFBMkI7dUJBQzNCLDZCQUE2Qjt1QkFFN0Isa0JBQWtCO3VCQUNsQix5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3hNYXREYXRldGltZVBpY2tlck1vZHVsZSwgTmd4TWF0TmF0aXZlRGF0ZU1vZHVsZSwgTmd4TWF0VGltZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDZGtUcmVlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RyZWUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBOZ01vZHVsZSwgUHJvdmlkZXIsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUGF5bWVudExpYk1vZHVsZSB9IGZyb20gJ0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50JztcbmltcG9ydCB7IE1lZGlhVmlld2VyTW9kdWxlIH0gZnJvbSAnQGhtY3RzL21lZGlhLXZpZXdlcic7XG5pbXBvcnQgeyBTY3JvbGxUb01vZHVsZSB9IGZyb20gJ0BuaWNreS1sZW5hZXJzL25neC1zY3JvbGwtdG8nO1xuaW1wb3J0IHsgTmd4TWRNb2R1bGUgfSBmcm9tICduZ3gtbWQnO1xuaW1wb3J0IHsgUnB4VHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdycHgteHVpLXRyYW5zbGF0aW9uJztcbmltcG9ydCB7IEhlYWRlcnNNb2R1bGUsIFRhYnNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEJhbm5lcnNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Jhbm5lcnMvYmFubmVycy5tb2R1bGUnO1xuaW1wb3J0IHsgQm9keU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvYm9keS9ib2R5Lm1vZHVsZSc7XG5pbXBvcnQgeyBGb290ZXJzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9mb290ZXIvZm9vdGVycy5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZm9ybS9mb3JtLm1vZHVsZSc7XG5pbXBvcnQgeyBDYXNlRWRpdERhdGFNb2R1bGUgfSBmcm9tICcuLi8uLi9jb21tb25zL2Nhc2UtZWRpdC1kYXRhJztcbmltcG9ydCB7IExhYmVsU3Vic3RpdHV0b3JNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3N1YnN0aXR1dG9yJztcbmltcG9ydCB7IFBpcGVzTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGlwZXMvcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IENhc2VGbGFnUmVmZGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXNlLWZsYWcvY2FzZS1mbGFnLXJlZmRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25EYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtVmFsaWRhdG9yc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtL2Zvcm0tdmFsaWRhdG9ycy5zZXJ2aWNlJztcbmltcG9ydCB7IEp1cmlzZGljdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9qdXJpc2RpY3Rpb24vanVyaXNkaWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9hZGluZ01vZHVsZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvYWRpbmcvbG9hZGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpbmRvdyc7XG5pbXBvcnQgeyBXcml0ZUFkZHJlc3NGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vYWRkcmVzcy93cml0ZS1hZGRyZXNzLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZFJlYWRDb21wb25lbnQsIEZpZWxkUmVhZExhYmVsQ29tcG9uZW50LCBGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWZpZWxkJztcbmltcG9ydCB7IENhc2VGaWxlVmlld092ZXJsYXlNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldyc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIENhc2VGaWxlVmlld0ZvbGRlclNlbGVjdG9yQ29tcG9uZW50XG59IGZyb20gJy4vY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3IvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBDYXNlRmlsZVZpZXdGb2xkZXJEb2N1bWVudEFjdGlvbnNDb21wb25lbnRcbn0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXItZG9jdW1lbnQtYWN0aW9ucy9jYXNlLWZpbGUtdmlldy1mb2xkZXItZG9jdW1lbnQtYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyU29ydENvbXBvbmVudFxufSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zb3J0L2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQgfSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQWRkQ29tbWVudHNDb21wb25lbnQsXG4gIENhc2VGbGFnU3VtbWFyeUxpc3RDb21wb25lbnQsXG4gIENhc2VGbGFnVGFibGVDb21wb25lbnQsXG4gIE1hbmFnZUNhc2VGbGFnc0NvbXBvbmVudCxcbiAgUmVhZENhc2VGbGFnRmllbGRDb21wb25lbnQsXG4gIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb21wb25lbnQsXG4gIFNlbGVjdEZsYWdMb2NhdGlvbkNvbXBvbmVudCxcbiAgU2VsZWN0RmxhZ1R5cGVDb21wb25lbnQsXG4gIFVwZGF0ZUZsYWdDb21wb25lbnQsXG4gIFdyaXRlQ2FzZUZsYWdGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL2Nhc2UtZmxhZyc7XG5pbXBvcnQgeyBSZWFkQ2FzZUxpbmtGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1saW5rL3JlYWQtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXcml0ZUNhc2VMaW5rRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Nhc2UtbGluay93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWRDb2xsZWN0aW9uRmllbGRDb21wb25lbnQsIFdyaXRlQ29sbGVjdGlvbkZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb25DcmVhdGVDaGVja2VyU2VydmljZSB9IGZyb20gJy4vY29sbGVjdGlvbi9jb2xsZWN0aW9uLWNyZWF0ZS1jaGVja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudCxcbiAgUmVhZENvbXBsZXhGaWVsZENvbXBvbmVudCxcbiAgUmVhZENvbXBsZXhGaWVsZFJhd0NvbXBvbmVudCxcbiAgUmVhZENvbXBsZXhGaWVsZFRhYmxlQ29tcG9uZW50LFxuICBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL2NvbXBsZXgnO1xuaW1wb3J0IHsgUmVhZERhdGVGaWVsZENvbXBvbmVudCwgV3JpdGVEYXRlQ29udGFpbmVyRmllbGRDb21wb25lbnQsIFdyaXRlRGF0ZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlJztcbmltcG9ydCB7IERhdGV0aW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRldGltZS1waWNrZXInO1xuaW1wb3J0IHsgRG9jdW1lbnRVcmxQaXBlIH0gZnJvbSAnLi9kb2N1bWVudCc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkUHJvZ3Jlc3NHdWFyZCB9IGZyb20gJy4vZG9jdW1lbnQvZmlsZS11cGxvYWQtcHJvZ3Jlc3MuZ3VhcmQnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZFN0YXRlU2VydmljZSB9IGZyb20gJy4vZG9jdW1lbnQvZmlsZS11cGxvYWQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBSZWFkRG9jdW1lbnRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZG9jdW1lbnQvcmVhZC1kb2N1bWVudC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9kb2N1bWVudC93cml0ZS1kb2N1bWVudC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0xpc3RQaXBlLCBSZWFkRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1saXN0JztcbmltcG9ydCB7IFdyaXRlRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1saXN0L3dyaXRlLWR5bmFtaWMtbGlzdC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhZER5bmFtaWNNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCwgV3JpdGVEeW5hbWljTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtbXVsdGktc2VsZWN0LWxpc3QnO1xuaW1wb3J0IHsgRHluYW1pY1JhZGlvTGlzdFBpcGUsIFJlYWREeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcmFkaW8tbGlzdCc7XG5pbXBvcnQgeyBXcml0ZUR5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1yYWRpby1saXN0L3dyaXRlLWR5bmFtaWMtcmFkaW8tbGlzdC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhZEVtYWlsRmllbGRDb21wb25lbnQsIFdyaXRlRW1haWxGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZW1haWwnO1xuaW1wb3J0IHsgRml4ZWRMaXN0UGlwZSwgUmVhZEZpeGVkTGlzdEZpZWxkQ29tcG9uZW50LCBXcml0ZUZpeGVkTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9maXhlZC1saXN0JztcbmltcG9ydCB7IEZpeGVkUmFkaW9MaXN0UGlwZSwgUmVhZEZpeGVkUmFkaW9MaXN0RmllbGRDb21wb25lbnQsIFdyaXRlRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZml4ZWQtcmFkaW8tbGlzdCc7XG5pbXBvcnQgeyBDYXNlSGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LCBFdmVudExvZ0NvbXBvbmVudCwgRXZlbnRMb2dEZXRhaWxzQ29tcG9uZW50LCBFdmVudExvZ1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9oaXN0b3J5JztcbmltcG9ydCB7IFJlYWRKdWRpY2lhbFVzZXJGaWVsZENvbXBvbmVudCwgV3JpdGVKdWRpY2lhbFVzZXJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vanVkaWNpYWwtdXNlcic7XG5pbXBvcnQgeyBMYWJlbEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9sYWJlbCc7XG5pbXBvcnQge1xuICBCZWZvcmVZb3VTdGFydENvbXBvbmVudCxcbiAgQ2hlY2tZb3VyQW5zd2Vyc0NvbXBvbmVudCxcbiAgTGlua0Nhc2VzQ29tcG9uZW50LFxuICBMaW5rZWRDYXNlc0Zyb21UYWJsZUNvbXBvbmVudCxcbiAgTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LFxuICBOb0xpbmtlZENhc2VzQ29tcG9uZW50LFxuICBSZWFkTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudCxcbiAgVW5MaW5rQ2FzZXNDb21wb25lbnQsXG4gIFdyaXRlTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL2xpbmtlZC1jYXNlcyc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuL2xpbmtlZC1jYXNlcy9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNYXJrZG93bkNvbXBvbmVudCB9IGZyb20gJy4vbWFya2Rvd24nO1xuaW1wb3J0IHsgTW9uZXlHYnBJbnB1dENvbXBvbmVudCwgUmVhZE1vbmV5R2JwRmllbGRDb21wb25lbnQsIFdyaXRlTW9uZXlHYnBGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vbW9uZXktZ2JwJztcbmltcG9ydCB7IFJlYWRNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCwgV3JpdGVNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vbXVsdGktc2VsZWN0LWxpc3QnO1xuaW1wb3J0IHsgUmVhZE51bWJlckZpZWxkQ29tcG9uZW50LCBXcml0ZU51bWJlckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9udW1iZXInO1xuaW1wb3J0IHsgUmVhZE9yZGVyU3VtbWFyeUZpZWxkQ29tcG9uZW50LCBSZWFkT3JkZXJTdW1tYXJ5Um93Q29tcG9uZW50LCBXcml0ZU9yZGVyU3VtbWFyeUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9vcmRlci1zdW1tYXJ5JztcbmltcG9ydCB7XG4gIFJlYWRPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudCxcbiAgUmVhZE9yZ2FuaXNhdGlvbkZpZWxkUmF3Q29tcG9uZW50LFxuICBSZWFkT3JnYW5pc2F0aW9uRmllbGRUYWJsZUNvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25Db21wbGV4RmllbGRDb21wb25lbnQsXG4gIFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnRcbn0gZnJvbSAnLi9vcmdhbmlzYXRpb24nO1xuaW1wb3J0IHsgUGFsZXR0ZVNlcnZpY2UgfSBmcm9tICcuL3BhbGV0dGUuc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlUGF5bWVudEhpc3RvcnlWaWV3ZXJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcGF5bWVudCc7XG5pbXBvcnQgeyBSZWFkUGhvbmVVS0ZpZWxkQ29tcG9uZW50LCBXcml0ZVBob25lVUtGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcGhvbmUtdWsnO1xuaW1wb3J0IHsgUmVhZFRleHRGaWVsZENvbXBvbmVudCwgV3JpdGVUZXh0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3RleHQnO1xuaW1wb3J0IHsgUmVhZFRleHRBcmVhRmllbGRDb21wb25lbnQsIFdyaXRlVGV4dEFyZWFGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1hcmVhJztcbmltcG9ydCB7IFVuc3VwcG9ydGVkRmllbGRDb21wb25lbnQgfSBmcm9tICcuL3Vuc3VwcG9ydGVkLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWxldHRlVXRpbHNNb2R1bGUgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFdheXNUb1BheUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi93YXlzdG9wYXknO1xuaW1wb3J0IHsgUmVhZFllc05vRmllbGRDb21wb25lbnQsIFdyaXRlWWVzTm9GaWVsZENvbXBvbmVudCwgWWVzTm9TZXJ2aWNlIH0gZnJvbSAnLi95ZXMtbm8nO1xuXG5jb25zdCBQQUxFVFRFX0NPTVBPTkVOVFMgPSBbXG4gIFVuc3VwcG9ydGVkRmllbGRDb21wb25lbnQsXG4gIERhdGV0aW1lUGlja2VyQ29tcG9uZW50LFxuICBXYXlzVG9QYXlGaWVsZENvbXBvbmVudCxcbiAgTWFya2Rvd25Db21wb25lbnQsXG4gIEZpZWxkUmVhZENvbXBvbmVudCxcbiAgRmllbGRXcml0ZUNvbXBvbmVudCxcbiAgRmllbGRSZWFkTGFiZWxDb21wb25lbnQsXG4gIExhYmVsRmllbGRDb21wb25lbnQsXG4gIENhc2VQYXltZW50SGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LFxuICBNb25leUdicElucHV0Q29tcG9uZW50LFxuICBDYXNlSGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LFxuICBFdmVudExvZ0NvbXBvbmVudCxcbiAgRXZlbnRMb2dEZXRhaWxzQ29tcG9uZW50LFxuICBFdmVudExvZ1RhYmxlQ29tcG9uZW50LFxuXG4gIC8vIFJlYWRcbiAgUmVhZFRleHRGaWVsZENvbXBvbmVudCxcbiAgUmVhZFRleHRBcmVhRmllbGRDb21wb25lbnQsXG4gIFJlYWROdW1iZXJGaWVsZENvbXBvbmVudCxcbiAgUmVhZEVtYWlsRmllbGRDb21wb25lbnQsXG4gIFJlYWRQaG9uZVVLRmllbGRDb21wb25lbnQsXG4gIFJlYWREYXRlRmllbGRDb21wb25lbnQsXG4gIFJlYWRDb2xsZWN0aW9uRmllbGRDb21wb25lbnQsXG4gIFJlYWREb2N1bWVudEZpZWxkQ29tcG9uZW50LFxuXG4gIC8vIG5ld1xuICBSZWFkSnVkaWNpYWxVc2VyRmllbGRDb21wb25lbnQsXG4gIFJlYWRZZXNOb0ZpZWxkQ29tcG9uZW50LFxuICBSZWFkT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQsXG4gIFJlYWRPcmdhbmlzYXRpb25GaWVsZFRhYmxlQ29tcG9uZW50LFxuICBSZWFkT3JnYW5pc2F0aW9uRmllbGRSYXdDb21wb25lbnQsXG4gIFJlYWRPcmRlclN1bW1hcnlGaWVsZENvbXBvbmVudCxcbiAgUmVhZE9yZGVyU3VtbWFyeVJvd0NvbXBvbmVudCxcbiAgUmVhZE1vbmV5R2JwRmllbGRDb21wb25lbnQsXG4gIFJlYWRNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZER5bmFtaWNMaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWRGaXhlZExpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZEZpeGVkUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWREeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWRDYXNlTGlua0ZpZWxkQ29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkQ29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkUmF3Q29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkVGFibGVDb21wb25lbnQsXG4gIFJlYWRDb21wbGV4RmllbGRDb2xsZWN0aW9uVGFibGVDb21wb25lbnQsXG4gIFJlYWRDYXNlRmxhZ0ZpZWxkQ29tcG9uZW50LFxuICBSZWFkTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudCxcblxuICAvLyBXcml0ZVxuICBXcml0ZUp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUFkZHJlc3NGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVDb21wbGV4RmllbGRDb21wb25lbnQsXG4gIFdyaXRlT3JnYW5pc2F0aW9uQ29tcGxleEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRHluYW1pY011bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LFxuICBSZWFkRHluYW1pY011bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZVRleHRGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEYXRlQ29udGFpbmVyRmllbGRDb21wb25lbnQsXG4gIFdyaXRlVGV4dEFyZWFGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVQaG9uZVVLRmllbGRDb21wb25lbnQsXG4gIFdyaXRlTnVtYmVyRmllbGRDb21wb25lbnQsXG4gIFdyaXRlRW1haWxGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEYXRlRmllbGRDb21wb25lbnQsXG4gIFdyaXRlQ2FzZUZsYWdGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVMaW5rZWRDYXNlc0ZpZWxkQ29tcG9uZW50LFxuXG4gIC8vIG5ld1xuICBXcml0ZVllc05vRmllbGRDb21wb25lbnQsXG4gIFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQsXG4gIFdyaXRlT3JnYW5pc2F0aW9uQ29tcGxleEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZU9yZGVyU3VtbWFyeUZpZWxkQ29tcG9uZW50LFxuICBXcml0ZU1vbmV5R2JwRmllbGRDb21wb25lbnQsXG4gIFdyaXRlRGF0ZUNvbnRhaW5lckZpZWxkQ29tcG9uZW50LFxuICBXcml0ZU11bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUZpeGVkTGlzdEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUZpeGVkUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlQ2FzZUxpbmtGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVDb2xsZWN0aW9uRmllbGRDb21wb25lbnQsXG5cbiAgLy8gQ29tcG9uZW50TGF1bmNoZXIgd2ViIGNvbXBvbmVudHNcbiAgQ2FzZUZpbGVWaWV3RmllbGRDb21wb25lbnQsXG4gIENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudCxcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyU29ydENvbXBvbmVudCxcbiAgQ2FzZUZpbGVWaWV3T3ZlcmxheU1lbnVDb21wb25lbnQsXG4gIENhc2VGaWxlVmlld0ZvbGRlckRvY3VtZW50QWN0aW9uc0NvbXBvbmVudCxcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyU2VsZWN0b3JDb21wb25lbnQsXG4gIC8vIGNvbXBvbmVudCBmb3IgZHluYW1pYyBsaXN0XG4gIFdyaXRlRHluYW1pY011bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUR5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50LFxuICBSZWFkRHluYW1pY011bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LFxuICBSZWFkRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZER5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgLy8gQ29tcG9uZW50cyBmb3IgY2FzZSBmbGFnc1xuICBDYXNlRmxhZ1RhYmxlQ29tcG9uZW50LFxuICBTZWxlY3RGbGFnVHlwZUNvbXBvbmVudCxcbiAgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbXBvbmVudCxcbiAgU2VsZWN0RmxhZ0xvY2F0aW9uQ29tcG9uZW50LFxuICBNYW5hZ2VDYXNlRmxhZ3NDb21wb25lbnQsXG4gIEFkZENvbW1lbnRzQ29tcG9uZW50LFxuICBVcGRhdGVGbGFnQ29tcG9uZW50LFxuICBDYXNlRmxhZ1N1bW1hcnlMaXN0Q29tcG9uZW50LFxuICAvLyBDb21wb25lbnRzIGZvciBsaW5rZWQgY2FzZXNcbiAgTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LFxuICBMaW5rZWRDYXNlc0Zyb21UYWJsZUNvbXBvbmVudCxcbiAgQmVmb3JlWW91U3RhcnRDb21wb25lbnQsXG4gIExpbmtDYXNlc0NvbXBvbmVudCxcbiAgQ2hlY2tZb3VyQW5zd2Vyc0NvbXBvbmVudCxcbiAgVW5MaW5rQ2FzZXNDb21wb25lbnQsXG4gIE5vTGlua2VkQ2FzZXNDb21wb25lbnRcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQ2FzZUVkaXREYXRhTW9kdWxlLFxuICAgIFBhbGV0dGVVdGlsc01vZHVsZSxcbiAgICBQaXBlc01vZHVsZSxcbiAgICBCYW5uZXJzTW9kdWxlLFxuICAgIEhlYWRlcnNNb2R1bGUsXG4gICAgRm9vdGVyc01vZHVsZSxcbiAgICBCb2R5TW9kdWxlLFxuICAgIEZvcm1Nb2R1bGUsXG4gICAgVGFic01vZHVsZSxcbiAgICBMYWJlbFN1YnN0aXR1dG9yTW9kdWxlLFxuICAgIE5neE1kTW9kdWxlLFxuICAgIE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLFxuICAgIE5neE1hdFRpbWVwaWNrZXJNb2R1bGUsXG4gICAgTmd4TWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgQ2RrVHJlZU1vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIFBheW1lbnRMaWJNb2R1bGUsXG4gICAgU2Nyb2xsVG9Nb2R1bGUuZm9yUm9vdCgpLFxuICAgIFJweFRyYW5zbGF0aW9uTW9kdWxlLmZvckNoaWxkKCksXG4gICAgQ2RrVHJlZU1vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNZWRpYVZpZXdlck1vZHVsZSxcbiAgICBMb2FkaW5nTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZpeGVkTGlzdFBpcGUsXG4gICAgRml4ZWRSYWRpb0xpc3RQaXBlLFxuICAgIER5bmFtaWNMaXN0UGlwZSxcbiAgICBEeW5hbWljUmFkaW9MaXN0UGlwZSxcbiAgICBEb2N1bWVudFVybFBpcGUsXG4gICAgLi4uUEFMRVRURV9DT01QT05FTlRTXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBOZ3hNYXREYXRldGltZVBpY2tlck1vZHVsZSxcbiAgICBOZ3hNYXROYXRpdmVEYXRlTW9kdWxlLFxuICAgIE5neE1hdFRpbWVwaWNrZXJNb2R1bGUsXG4gICAgVGFic01vZHVsZSxcbiAgICBQYWxldHRlVXRpbHNNb2R1bGUsXG4gICAgUGlwZXNNb2R1bGUsXG4gICAgLi4uUEFMRVRURV9DT01QT05FTlRTXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIENoYW5nZURldGVjdG9yUmVmIGFzIFByb3ZpZGVyLFxuICAgIENhc2VGbGFnUmVmZGF0YVNlcnZpY2UsXG4gICAgWWVzTm9TZXJ2aWNlLFxuICAgIENvbGxlY3Rpb25DcmVhdGVDaGVja2VyU2VydmljZSxcbiAgICBQYWxldHRlU2VydmljZSxcbiAgICBGb3JtVmFsaWRhdG9yc1NlcnZpY2UsXG4gICAgRmlsZVVwbG9hZFN0YXRlU2VydmljZSxcbiAgICBGaWxlVXBsb2FkUHJvZ3Jlc3NHdWFyZCxcbiAgICBXaW5kb3dTZXJ2aWNlLFxuICAgIENvbW1vbkRhdGFTZXJ2aWNlLFxuICAgIEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogJ2VuLUdCJyB9XG4gIF0sXG4gIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXSxcbiAgZW50cnlDb21wb25lbnRzOiBbQ2FzZUZpbGVWaWV3Rm9sZGVyU2VsZWN0b3JDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFBhbGV0dGVNb2R1bGUge1xufVxuIl19
|
|
639
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFsZXR0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9wYWxldHRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxSSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFZLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJB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QywrQkFBK0Isd0JBeEMvQiw4QkFBOEI7dUJBMEM5QixnQ0FBZ0MsaUZBeEVoQyx1QkFBdUI7SUE4RHZCLHVCQUF1Qjt1QkFldkIsNkJBQTZCLDZGQXpFN0IsbUJBQW1COztBQTJFbkIsbUNBQW1DO0FBQ25DLDBCQUEwQix1RUFDMUIsMkJBQTJCOztBQXFCM0IsOEJBQThCO0FBQzlCLDJCQUEyQjt1QkFDM0IsNkJBQTZCO3VCQUU3QixrQkFBa0I7dUJBQ2xCLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLCBOZ3hNYXROYXRpdmVEYXRlTW9kdWxlLCBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItbWF0ZXJpYWwtY29tcG9uZW50cy9kYXRldGltZS1waWNrZXInO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENka1RyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIE5nTW9kdWxlLCBQcm92aWRlciwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQYXltZW50TGliTW9kdWxlIH0gZnJvbSAnQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVkaWFWaWV3ZXJNb2R1bGUgfSBmcm9tICdAaG1jdHMvbWVkaWEtdmlld2VyJztcbmltcG9ydCB7IFNjcm9sbFRvTW9kdWxlIH0gZnJvbSAnQG5pY2t5LWxlbmFlcnMvbmd4LXNjcm9sbC10byc7XG5pbXBvcnQgeyBOZ3hNZE1vZHVsZSB9IGZyb20gJ25neC1tZCc7XG5pbXBvcnQgeyBScHhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ3JweC14dWktdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgSGVhZGVyc01vZHVsZSwgVGFic01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQmFubmVyc01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvYmFubmVycy9iYW5uZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBCb2R5TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9ib2R5L2JvZHkubW9kdWxlJztcbmltcG9ydCB7IEZvb3RlcnNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9mb3JtL2Zvcm0ubW9kdWxlJztcbmltcG9ydCB7IENhc2VFZGl0RGF0YU1vZHVsZSB9IGZyb20gJy4uLy4uL2NvbW1vbnMvY2FzZS1lZGl0LWRhdGEnO1xuaW1wb3J0IHsgTGFiZWxTdWJzdGl0dXRvck1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc3Vic3RpdHV0b3InO1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9waXBlcy9waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgQ2FzZUZsYWdSZWZkYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nhc2UtZmxhZy9jYXNlLWZsYWctcmVmZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbkRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLWRhdGEtc2VydmljZS9jb21tb24tZGF0YS1zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3JzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0vZm9ybS12YWxpZGF0b3JzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2p1cmlzZGljdGlvbi9qdXJpc2RpY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBMb2FkaW5nTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9hZGluZy9sb2FkaW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2luZG93JztcbmltcG9ydCB7IFdyaXRlQWRkcmVzc0ZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9hZGRyZXNzL3dyaXRlLWFkZHJlc3MtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpZWxkUmVhZENvbXBvbmVudCwgRmllbGRSZWFkTGFiZWxDb21wb25lbnQsIEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtZmllbGQnO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3T3ZlcmxheU1lbnVDb21wb25lbnQgfSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3JztcbmltcG9ydCB7IENhc2VGaWxlVmlld0ZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldy9jYXNlLWZpbGUtdmlldy1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyU2VsZWN0b3JDb21wb25lbnRcbn0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci9jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIENhc2VGaWxlVmlld0ZvbGRlckRvY3VtZW50QWN0aW9uc0NvbXBvbmVudFxufSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1kb2N1bWVudC1hY3Rpb25zL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1kb2N1bWVudC1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBDYXNlRmlsZVZpZXdGb2xkZXJTb3J0Q29tcG9uZW50XG59IGZyb20gJy4vY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9jYXNlLWZpbGUtdmlldy1mb2xkZXIvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQuY29tcG9uZW50JztcbmltcG9ydCB7IENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9jYXNlLWZpbGUtdmlldy1mb2xkZXIvY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBBZGRDb21tZW50c0NvbXBvbmVudCxcbiAgQ2FzZUZsYWdTdW1tYXJ5TGlzdENvbXBvbmVudCxcbiAgQ2FzZUZsYWdUYWJsZUNvbXBvbmVudCxcbiAgTWFuYWdlQ2FzZUZsYWdzQ29tcG9uZW50LFxuICBSZWFkQ2FzZUZsYWdGaWVsZENvbXBvbmVudCxcbiAgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbXBvbmVudCxcbiAgU2VsZWN0RmxhZ0xvY2F0aW9uQ29tcG9uZW50LFxuICBTZWxlY3RGbGFnVHlwZUNvbXBvbmVudCxcbiAgVXBkYXRlRmxhZ0NvbXBvbmVudCxcbiAgV3JpdGVDYXNlRmxhZ0ZpZWxkQ29tcG9uZW50XG59IGZyb20gJy4vY2FzZS1mbGFnJztcbmltcG9ydCB7IFJlYWRDYXNlTGlua0ZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXNlLWxpbmsvcmVhZC1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFdyaXRlQ2FzZUxpbmtGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1saW5rL3dyaXRlLWNhc2UtbGluay1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhZENvbGxlY3Rpb25GaWVsZENvbXBvbmVudCwgV3JpdGVDb2xsZWN0aW9uRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkNyZWF0ZUNoZWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9jb2xsZWN0aW9uL2NvbGxlY3Rpb24tY3JlYXRlLWNoZWNrZXIuc2VydmljZSc7XG5pbXBvcnQge1xuICBSZWFkQ29tcGxleEZpZWxkQ29sbGVjdGlvblRhYmxlQ29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkQ29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkUmF3Q29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkVGFibGVDb21wb25lbnQsXG4gIFdyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50XG59IGZyb20gJy4vY29tcGxleCc7XG5pbXBvcnQgeyBSZWFkRGF0ZUZpZWxkQ29tcG9uZW50LCBXcml0ZURhdGVDb250YWluZXJGaWVsZENvbXBvbmVudCwgV3JpdGVEYXRlRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUnO1xuaW1wb3J0IHsgRGF0ZXRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGV0aW1lLXBpY2tlcic7XG5pbXBvcnQgeyBEb2N1bWVudFVybFBpcGUgfSBmcm9tICcuL2RvY3VtZW50JztcbmltcG9ydCB7IEZpbGVVcGxvYWRQcm9ncmVzc0d1YXJkIH0gZnJvbSAnLi9kb2N1bWVudC9maWxlLXVwbG9hZC1wcm9ncmVzcy5ndWFyZCc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9kb2N1bWVudC9maWxlLXVwbG9hZC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlYWREb2N1bWVudEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9kb2N1bWVudC9yZWFkLWRvY3VtZW50LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2RvY3VtZW50L3dyaXRlLWRvY3VtZW50LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljTGlzdFBpcGUsIFJlYWREeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWxpc3QnO1xuaW1wb3J0IHsgV3JpdGVEeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWxpc3Qvd3JpdGUtZHluYW1pYy1saXN0LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFkRHluYW1pY011bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LCBXcml0ZUR5bmFtaWNNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1tdWx0aS1zZWxlY3QtbGlzdCc7XG5pbXBvcnQgeyBEeW5hbWljUmFkaW9MaXN0UGlwZSwgUmVhZER5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1yYWRpby1saXN0JztcbmltcG9ydCB7IFdyaXRlRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXJhZGlvLWxpc3Qvd3JpdGUtZHluYW1pYy1yYWRpby1saXN0LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFkRW1haWxGaWVsZENvbXBvbmVudCwgV3JpdGVFbWFpbEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9lbWFpbCc7XG5pbXBvcnQgeyBGaXhlZExpc3RQaXBlLCBSZWFkRml4ZWRMaXN0RmllbGRDb21wb25lbnQsIFdyaXRlRml4ZWRMaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2ZpeGVkLWxpc3QnO1xuaW1wb3J0IHsgRml4ZWRSYWRpb0xpc3RQaXBlLCBSZWFkRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCwgV3JpdGVGaXhlZFJhZGlvTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9maXhlZC1yYWRpby1saXN0JztcbmltcG9ydCB7IENhc2VIaXN0b3J5Vmlld2VyRmllbGRDb21wb25lbnQsIEV2ZW50TG9nQ29tcG9uZW50LCBFdmVudExvZ0RldGFpbHNDb21wb25lbnQsIEV2ZW50TG9nVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2hpc3RvcnknO1xuaW1wb3J0IHsgUmVhZEp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50LCBXcml0ZUp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9qdWRpY2lhbC11c2VyJztcbmltcG9ydCB7IExhYmVsRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2xhYmVsJztcbmltcG9ydCB7XG4gIEJlZm9yZVlvdVN0YXJ0Q29tcG9uZW50LFxuICBDaGVja1lvdXJBbnN3ZXJzQ29tcG9uZW50LFxuICBMaW5rQ2FzZXNDb21wb25lbnQsXG4gIExpbmtlZENhc2VzRnJvbVRhYmxlQ29tcG9uZW50LFxuICBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQsXG4gIE5vTGlua2VkQ2FzZXNDb21wb25lbnQsXG4gIFJlYWRMaW5rZWRDYXNlc0ZpZWxkQ29tcG9uZW50LFxuICBVbkxpbmtDYXNlc0NvbXBvbmVudCxcbiAgV3JpdGVMaW5rZWRDYXNlc0ZpZWxkQ29tcG9uZW50XG59IGZyb20gJy4vbGlua2VkLWNhc2VzJztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4vbGlua2VkLWNhc2VzL3NlcnZpY2VzJztcbmltcG9ydCB7IE1hcmtkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9tYXJrZG93bic7XG5pbXBvcnQgeyBNb25leUdicElucHV0Q29tcG9uZW50LCBSZWFkTW9uZXlHYnBGaWVsZENvbXBvbmVudCwgV3JpdGVNb25leUdicEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9tb25leS1nYnAnO1xuaW1wb3J0IHsgUmVhZE11bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LCBXcml0ZU11bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9tdWx0aS1zZWxlY3QtbGlzdCc7XG5pbXBvcnQgeyBSZWFkTnVtYmVyRmllbGRDb21wb25lbnQsIFdyaXRlTnVtYmVyRmllbGRDb21wb25lbnQgfSBmcm9tICcuL251bWJlcic7XG5pbXBvcnQgeyBSZWFkT3JkZXJTdW1tYXJ5RmllbGRDb21wb25lbnQsIFJlYWRPcmRlclN1bW1hcnlSb3dDb21wb25lbnQsIFdyaXRlT3JkZXJTdW1tYXJ5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL29yZGVyLXN1bW1hcnknO1xuaW1wb3J0IHtcbiAgUmVhZE9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50LFxuICBSZWFkT3JnYW5pc2F0aW9uRmllbGRSYXdDb21wb25lbnQsXG4gIFJlYWRPcmdhbmlzYXRpb25GaWVsZFRhYmxlQ29tcG9uZW50LFxuICBXcml0ZU9yZ2FuaXNhdGlvbkNvbXBsZXhGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudFxufSBmcm9tICcuL29yZ2FuaXNhdGlvbic7XG5pbXBvcnQgeyBQYWxldHRlU2VydmljZSB9IGZyb20gJy4vcGFsZXR0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IENhc2VQYXltZW50SGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9wYXltZW50JztcbmltcG9ydCB7IFJlYWRQaG9uZVVLRmllbGRDb21wb25lbnQsIFdyaXRlUGhvbmVVS0ZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9waG9uZS11ayc7XG5pbXBvcnQgeyBSZWFkVGV4dEZpZWxkQ29tcG9uZW50LCBXcml0ZVRleHRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdGV4dCc7XG5pbXBvcnQgeyBSZWFkVGV4dEFyZWFGaWVsZENvbXBvbmVudCwgV3JpdGVUZXh0QXJlYUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWFyZWEnO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdW5zdXBwb3J0ZWQtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFBhbGV0dGVVdGlsc01vZHVsZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgV2F5c1RvUGF5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3dheXN0b3BheSc7XG5pbXBvcnQgeyBSZWFkWWVzTm9GaWVsZENvbXBvbmVudCwgV3JpdGVZZXNOb0ZpZWxkQ29tcG9uZW50LCBZZXNOb1NlcnZpY2UgfSBmcm9tICcuL3llcy1ubyc7XG5cbmNvbnN0IFBBTEVUVEVfQ09NUE9ORU5UUyA9IFtcbiAgVW5zdXBwb3J0ZWRGaWVsZENvbXBvbmVudCxcbiAgRGF0ZXRpbWVQaWNrZXJDb21wb25lbnQsXG4gIFdheXNUb1BheUZpZWxkQ29tcG9uZW50LFxuICBNYXJrZG93bkNvbXBvbmVudCxcbiAgRmllbGRSZWFkQ29tcG9uZW50LFxuICBGaWVsZFdyaXRlQ29tcG9uZW50LFxuICBGaWVsZFJlYWRMYWJlbENvbXBvbmVudCxcbiAgTGFiZWxGaWVsZENvbXBvbmVudCxcbiAgQ2FzZVBheW1lbnRIaXN0b3J5Vmlld2VyRmllbGRDb21wb25lbnQsXG4gIE1vbmV5R2JwSW5wdXRDb21wb25lbnQsXG4gIENhc2VIaXN0b3J5Vmlld2VyRmllbGRDb21wb25lbnQsXG4gIEV2ZW50TG9nQ29tcG9uZW50LFxuICBFdmVudExvZ0RldGFpbHNDb21wb25lbnQsXG4gIEV2ZW50TG9nVGFibGVDb21wb25lbnQsXG5cbiAgLy8gUmVhZFxuICBSZWFkVGV4dEZpZWxkQ29tcG9uZW50LFxuICBSZWFkVGV4dEFyZWFGaWVsZENvbXBvbmVudCxcbiAgUmVhZE51bWJlckZpZWxkQ29tcG9uZW50LFxuICBSZWFkRW1haWxGaWVsZENvbXBvbmVudCxcbiAgUmVhZFBob25lVUtGaWVsZENvbXBvbmVudCxcbiAgUmVhZERhdGVGaWVsZENvbXBvbmVudCxcbiAgUmVhZENvbGxlY3Rpb25GaWVsZENvbXBvbmVudCxcbiAgUmVhZERvY3VtZW50RmllbGRDb21wb25lbnQsXG5cbiAgLy8gbmV3XG4gIFJlYWRKdWRpY2lhbFVzZXJGaWVsZENvbXBvbmVudCxcbiAgUmVhZFllc05vRmllbGRDb21wb25lbnQsXG4gIFJlYWRPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudCxcbiAgUmVhZE9yZ2FuaXNhdGlvbkZpZWxkVGFibGVDb21wb25lbnQsXG4gIFJlYWRPcmdhbmlzYXRpb25GaWVsZFJhd0NvbXBvbmVudCxcbiAgUmVhZE9yZGVyU3VtbWFyeUZpZWxkQ29tcG9uZW50LFxuICBSZWFkT3JkZXJTdW1tYXJ5Um93Q29tcG9uZW50LFxuICBSZWFkTW9uZXlHYnBGaWVsZENvbXBvbmVudCxcbiAgUmVhZE11bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LFxuICBSZWFkRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZEZpeGVkTGlzdEZpZWxkQ29tcG9uZW50LFxuICBSZWFkRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZER5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZENhc2VMaW5rRmllbGRDb21wb25lbnQsXG4gIFJlYWRDb21wbGV4RmllbGRDb21wb25lbnQsXG4gIFJlYWRDb21wbGV4RmllbGRSYXdDb21wb25lbnQsXG4gIFJlYWRDb21wbGV4RmllbGRUYWJsZUNvbXBvbmVudCxcbiAgUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudCxcbiAgUmVhZENhc2VGbGFnRmllbGRDb21wb25lbnQsXG4gIFJlYWRMaW5rZWRDYXNlc0ZpZWxkQ29tcG9uZW50LFxuXG4gIC8vIFdyaXRlXG4gIFdyaXRlSnVkaWNpYWxVc2VyRmllbGRDb21wb25lbnQsXG4gIFdyaXRlQWRkcmVzc0ZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25Db21wbGV4RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUR5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEeW5hbWljTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWREeW5hbWljTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlVGV4dEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZURhdGVDb250YWluZXJGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVUZXh0QXJlYUZpZWxkQ29tcG9uZW50LFxuICBXcml0ZVBob25lVUtGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVOdW1iZXJGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVFbWFpbEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZURhdGVGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVDYXNlRmxhZ0ZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUxpbmtlZENhc2VzRmllbGRDb21wb25lbnQsXG5cbiAgLy8gbmV3XG4gIFdyaXRlWWVzTm9GaWVsZENvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25Db21wbGV4RmllbGRDb21wb25lbnQsXG4gIFdyaXRlT3JkZXJTdW1tYXJ5RmllbGRDb21wb25lbnQsXG4gIFdyaXRlTW9uZXlHYnBGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEYXRlQ29udGFpbmVyRmllbGRDb21wb25lbnQsXG4gIFdyaXRlTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRml4ZWRMaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVDYXNlTGlua0ZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUNvbGxlY3Rpb25GaWVsZENvbXBvbmVudCxcblxuICAvLyBDb21wb25lbnRMYXVuY2hlciB3ZWIgY29tcG9uZW50c1xuICBDYXNlRmlsZVZpZXdGaWVsZENvbXBvbmVudCxcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50LFxuICBDYXNlRmlsZVZpZXdGb2xkZXJTb3J0Q29tcG9uZW50LFxuICBDYXNlRmlsZVZpZXdPdmVybGF5TWVudUNvbXBvbmVudCxcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyRG9jdW1lbnRBY3Rpb25zQ29tcG9uZW50LFxuICBDYXNlRmlsZVZpZXdGb2xkZXJTZWxlY3RvckNvbXBvbmVudCxcbiAgLy8gY29tcG9uZW50IGZvciBkeW5hbWljIGxpc3RcbiAgV3JpdGVEeW5hbWljTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUR5bmFtaWNMaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWREeW5hbWljTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWREeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50LFxuICBSZWFkRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50LFxuICAvLyBDb21wb25lbnRzIGZvciBjYXNlIGZsYWdzXG4gIENhc2VGbGFnVGFibGVDb21wb25lbnQsXG4gIFNlbGVjdEZsYWdUeXBlQ29tcG9uZW50LFxuICBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29tcG9uZW50LFxuICBTZWxlY3RGbGFnTG9jYXRpb25Db21wb25lbnQsXG4gIE1hbmFnZUNhc2VGbGFnc0NvbXBvbmVudCxcbiAgQWRkQ29tbWVudHNDb21wb25lbnQsXG4gIFVwZGF0ZUZsYWdDb21wb25lbnQsXG4gIENhc2VGbGFnU3VtbWFyeUxpc3RDb21wb25lbnQsXG4gIC8vIENvbXBvbmVudHMgZm9yIGxpbmtlZCBjYXNlc1xuICBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQsXG4gIExpbmtlZENhc2VzRnJvbVRhYmxlQ29tcG9uZW50LFxuICBCZWZvcmVZb3VTdGFydENvbXBvbmVudCxcbiAgTGlua0Nhc2VzQ29tcG9uZW50LFxuICBDaGVja1lvdXJBbnN3ZXJzQ29tcG9uZW50LFxuICBVbkxpbmtDYXNlc0NvbXBvbmVudCxcbiAgTm9MaW5rZWRDYXNlc0NvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDYXNlRWRpdERhdGFNb2R1bGUsXG4gICAgUGFsZXR0ZVV0aWxzTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIEJhbm5lcnNNb2R1bGUsXG4gICAgSGVhZGVyc01vZHVsZSxcbiAgICBGb290ZXJzTW9kdWxlLFxuICAgIEJvZHlNb2R1bGUsXG4gICAgRm9ybU1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIExhYmVsU3Vic3RpdHV0b3JNb2R1bGUsXG4gICAgTmd4TWRNb2R1bGUsXG4gICAgTmd4TWF0RGF0ZXRpbWVQaWNrZXJNb2R1bGUsXG4gICAgTmd4TWF0VGltZXBpY2tlck1vZHVsZSxcbiAgICBOZ3hNYXROYXRpdmVEYXRlTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBDZGtUcmVlTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgUGF5bWVudExpYk1vZHVsZSxcbiAgICBTY3JvbGxUb01vZHVsZS5mb3JSb290KCksXG4gICAgUnB4VHJhbnNsYXRpb25Nb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBDZGtUcmVlTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1lZGlhVmlld2VyTW9kdWxlLFxuICAgIExvYWRpbmdNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRml4ZWRMaXN0UGlwZSxcbiAgICBGaXhlZFJhZGlvTGlzdFBpcGUsXG4gICAgRHluYW1pY0xpc3RQaXBlLFxuICAgIER5bmFtaWNSYWRpb0xpc3RQaXBlLFxuICAgIERvY3VtZW50VXJsUGlwZSxcbiAgICAuLi5QQUxFVFRFX0NPTVBPTkVOVFNcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLFxuICAgIE5neE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgTmd4TWF0VGltZXBpY2tlck1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIFBhbGV0dGVVdGlsc01vZHVsZSxcbiAgICBQaXBlc01vZHVsZSxcbiAgICAuLi5QQUxFVFRFX0NPTVBPTkVOVFNcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYgYXMgUHJvdmlkZXIsXG4gICAgQ2FzZUZsYWdSZWZkYXRhU2VydmljZSxcbiAgICBZZXNOb1NlcnZpY2UsXG4gICAgQ29sbGVjdGlvbkNyZWF0ZUNoZWNrZXJTZXJ2aWNlLFxuICAgIEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgUGFsZXR0ZVNlcnZpY2UsXG4gICAgRm9ybVZhbGlkYXRvcnNTZXJ2aWNlLFxuICAgIEZpbGVVcGxvYWRTdGF0ZVNlcnZpY2UsXG4gICAgRmlsZVVwbG9hZFByb2dyZXNzR3VhcmQsXG4gICAgV2luZG93U2VydmljZSxcbiAgICBDb21tb25EYXRhU2VydmljZSxcbiAgICBMaW5rZWRDYXNlc1NlcnZpY2UsXG4gICAge3Byb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6ICdlbi1HQid9XG4gIF0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxufSlcbmV4cG9ydCBjbGFzcyBQYWxldHRlTW9kdWxlIHtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
3
|
import { tap } from 'rxjs/operators';
|
|
4
4
|
import { FieldsUtils } from '../../services/fields/fields.utils';
|
|
5
5
|
import { JurisdictionService } from '../../services/jurisdiction/jurisdiction.service';
|
|
@@ -72,7 +72,7 @@ export class SearchFiltersComponent {
|
|
|
72
72
|
this.onApply = new EventEmitter();
|
|
73
73
|
this.onReset = new EventEmitter();
|
|
74
74
|
this.onJurisdiction = new EventEmitter();
|
|
75
|
-
this.formGroup = new
|
|
75
|
+
this.formGroup = new FormGroup({});
|
|
76
76
|
}
|
|
77
77
|
ngOnInit() {
|
|
78
78
|
this.selected = {};
|
|
@@ -148,7 +148,7 @@ export class SearchFiltersComponent {
|
|
|
148
148
|
this.onJurisdiction.emit(this.selected.jurisdiction);
|
|
149
149
|
}
|
|
150
150
|
onCaseTypeIdChange() {
|
|
151
|
-
this.formGroup = new
|
|
151
|
+
this.formGroup = new FormGroup({});
|
|
152
152
|
this.searchInputsReady = false;
|
|
153
153
|
this.searchInputs = [];
|
|
154
154
|
this.searchService.getSearchInputs(this.selected.jurisdiction.id, this.selected.caseType.id).pipe(tap(() => this.searchInputsReady = true)).subscribe(searchInputs => {
|
|
@@ -303,4 +303,4 @@ SearchFiltersComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sear
|
|
|
303
303
|
}], onJurisdiction: [{
|
|
304
304
|
type: Output
|
|
305
305
|
}] }); })();
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3NlYXJjaC1maWx0ZXJzL3NlYXJjaC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zZWFyY2gtZmlsdGVycy9zZWFyY2gtZmlsdGVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1yQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7SUNML0Qsa0NBQXNEO0lBQUEsWUFBeUI7O0lBQUEsaUJBQVM7OztJQUFoRCw4QkFBYTtJQUFDLGVBQXlCO0lBQXpCLHFEQUF5Qjs7O0lBUS9FLGtDQUF3RTtJQUFBLFlBQTBCOztJQUFBLGlCQUFTOzs7SUFBbEQsK0JBQWM7SUFBQyxlQUEwQjtJQUExQixzREFBMEI7Ozs7SUFNbEcsOEJBQWlFLDBCQUFBO0lBQzhCLHlNQUFlLGVBQUEsY0FBTyxDQUFBLElBQUM7SUFDcEgsaUJBQWtCLEVBQUE7Ozs7SUFERCxlQUErQjtJQUEvQixnREFBK0IsK0JBQUEsb0JBQUE7OztJQUh0RCxpQ0FBcUk7SUFDbkksK0JBQXlCO0lBQ3ZCLHdGQUdNO0lBQ1IsaUJBQU07SUFDUiwwQkFBZTs7O0lBUGlFLDRDQUF1QixvQ0FBQTtJQUVuRCxlQUFlO0lBQWYsNkNBQWU7O0FETnJFLE1BQU0sd0JBQXdCLEdBQUcscUJBQXFCLENBQUM7QUFDdkQsTUFBTSx1QkFBdUIsR0FBRyx3QkFBd0IsQ0FBQztBQUN6RCxNQUFNLDRCQUE0QixHQUFHLHlCQUF5QixDQUFDO0FBQy9ELE1BQU0scUJBQXFCLEdBQUcsaUJBQWlCLENBQUM7QUFNaEQsTUFBTSxPQUFPLHNCQUFzQjtJQXFDakMsWUFBNkIsYUFBNEIsRUFDdEMsWUFBMEIsRUFDMUIsbUJBQXdDLEVBQ3hDLGFBQTRCO1FBSGxCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUF2Qy9CLHVCQUFrQixHQUFHLGNBQWMsQ0FBQztRQUNwQyxvQkFBZSxHQUFHLFdBQVcsQ0FBQztRQUM5QixxQkFBZ0IsR0FBRyxZQUFZLENBQUM7UUFVekMsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR2hELFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdoRCxtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBZ0J2RCxjQUFTLEdBQXFCLElBQUksZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFNOUQsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ2xGLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFlBQVksRUFBRTtZQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25ELElBQUksWUFBWSxFQUFFO2dCQUNoQixNQUFNLHdCQUF3QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN0RztZQUNELElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQy9CO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO1NBQ25DLENBQUMsQ0FBQztJQUVMLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDL0I7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO1NBQ25DLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sNEJBQTRCO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLDRCQUE0QixFQUM3RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDekcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUNuRztJQUNILENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVk7aUJBQ3JCLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQztpQkFDMUQsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksTUFBZSxDQUFDO1FBQ3BCLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDO1FBQ3pGLE1BQU0sR0FBRyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQztRQUMzRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sZ0NBQWdDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUN2RCxDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBQzFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDMUIsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsQ0FDekMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFakUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUNuRixJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDM0IsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDekM7WUFDRCxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO29CQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7aUJBQzlEO2dCQUNELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQzlCLElBQUksZUFBZSxFQUFFO29CQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDbkQ7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDVCxPQUFPLENBQUMsR0FBRyxDQUFDLHdEQUF3RCxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksS0FBSyxJQUFJO1lBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sY0FBYztRQUNwQixxREFBcUQ7UUFDckQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUU7WUFDOUIsV0FBVyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztTQUN0RTtRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDMUIsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDL0Q7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFO1lBQzNCLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7U0FDakU7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU8sY0FBYyxDQUFDLFNBQXlCO1FBQzlDLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQzNFLElBQUksUUFBUSxFQUFFO2dCQUNaLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDakUsSUFBSSxNQUFNLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3BDO3FCQUFNO29CQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdkM7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkM7WUFDRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXRCLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUM1RSxJQUFJLFlBQVksRUFBRTtZQUNoQixZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUM3RjtJQUNILENBQUM7OzRGQW5OVSxzQkFBc0I7eUVBQXRCLHNCQUFzQjtRQ3hCbkMsNkJBQTRDO1FBQUEsWUFBNEI7O1FBQUEsaUJBQUs7UUFDN0UsK0JBQTZCLGFBQUEsZUFBQTtRQUVzQixZQUFrQzs7UUFBQSxpQkFBUTtRQUN6RixpQ0FFNEM7UUFEaEIsK0pBQW1DLHdGQUM3Qyw0QkFBd0IsSUFEcUI7UUFFN0QsNkVBQXdGO1FBQzFGLGlCQUFTLEVBQUE7UUFFWCwrQkFBd0IsZ0JBQUE7UUFDc0IsYUFBK0I7O1FBQUEsaUJBQVE7UUFDbkYsa0NBRXdDO1FBREUsNEpBQStCLHlGQUN2RCx3QkFBb0IsSUFEbUM7UUFFdkUsK0VBQTJHO1FBQzdHLGlCQUFTLEVBQUE7UUFHWCwyRkFPZTtRQUVmLG1DQUMwRDtRQUQ0QixvR0FBUyxXQUFPLElBQUMsbUdBQWdCLFdBQU8sSUFBdkI7OztRQUVyRyxhQUNGOztRQUFBLGlCQUFTO1FBQUMscUNBQ1Y7UUFBQSxtQ0FDa0c7UUFEakUsb0dBQVMsV0FBTyxJQUFDOzs7UUFFaEQsYUFDRjs7UUFBQSxpQkFBUyxFQUFBOztRQW5DaUMsZUFBNEI7UUFBNUIsc0RBQTRCO1FBR3JCLGVBQWtDO1FBQWxDLHFFQUFrQztRQUVyRCxlQUFtQztRQUFuQyxtREFBbUM7UUFFdkMsZUFBZ0I7UUFBaEIsMkNBQWdCO1FBSUksZUFBK0I7UUFBL0IsMERBQStCO1FBQ25FLGVBQXFDO1FBQXJDLHVEQUFxQyxrQ0FBQTtRQUdwQixlQUFnQztRQUFoQywyREFBZ0M7UUFJckIsZUFBd0M7UUFBeEMsNkRBQXdDO1FBU3RFLGVBQWdEO1FBQWhELGtFQUFnRCxpREFBQTtRQUNoRCxvRUFBaUQ7UUFDdkQsZUFDRjtRQURFLGdFQUNGO1FBRVEsZUFBdUM7UUFBdkMsOERBQXVDO1FBQUMsb0VBQWlEO1FBQy9GLGVBQ0Y7UUFERSxnRUFDRjs7dUZEWFcsc0JBQXNCO2NBTGxDLFNBQVM7MkJBQ0Usb0JBQW9CO3lKQVd2QixhQUFhO2tCQURuQixLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLO1lBSUMsT0FBTztrQkFEYixNQUFNO1lBSUEsT0FBTztrQkFEYixNQUFNO1lBSUEsY0FBYztrQkFEcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVN0YXRlIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1zdGF0ZS5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlVHlwZUxpdGUgfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLXR5cGUtbGl0ZS5tb2RlbCc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb24gfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9qdXJpc2RpY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcbmltcG9ydCB7IEp1cmlzZGljdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9qdXJpc2RpY3Rpb24vanVyaXNkaWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3JkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXIvb3JkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VhcmNoL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aW5kb3cvd2luZG93LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICcuL2RvbWFpbi9zZWFyY2gtaW5wdXQubW9kZWwnO1xuXG5jb25zdCBKVVJJU0RJQ1RJT05fTE9DX1NUT1JBR0UgPSAnc2VhcmNoLWp1cmlzZGljdGlvbic7XG5jb25zdCBNRVRBX0ZJRUxEU19MT0NfU1RPUkFHRSA9ICdzZWFyY2gtbWV0YWRhdGEtZmllbGRzJztcbmNvbnN0IEZPUk1fR1JPVVBfVkFMVUVfTE9DX1NUT1JBR0UgPSAnc2VhcmNoLWZvcm0tZ3JvdXAtdmFsdWUnO1xuY29uc3QgQ0FTRV9UWVBFX0xPQ19TVE9SQUdFID0gJ3NlYXJjaC1jYXNlVHlwZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtc2VhcmNoLWZpbHRlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxufSlcblxuZXhwb3J0IGNsYXNzIFNlYXJjaEZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgcmVhZG9ubHkgUEFSQU1fSlVSSVNESUNUSU9OID0gJ2p1cmlzZGljdGlvbic7XG4gIHB1YmxpYyByZWFkb25seSBQQVJBTV9DQVNFX1RZUEUgPSAnY2FzZS10eXBlJztcbiAgcHVibGljIHJlYWRvbmx5IFBBUkFNX0NBU0VfU1RBVEUgPSAnY2FzZS1zdGF0ZSc7XG4gIHB1YmxpYyBjYXNlRmllbGRzOiBDYXNlRmllbGRbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMganVyaXNkaWN0aW9uczogSnVyaXNkaWN0aW9uW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGF1dG9BcHBseTogYm9vbGVhbjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQXBwbHk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25SZXNldDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkp1cmlzZGljdGlvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHNlYXJjaElucHV0czogU2VhcmNoSW5wdXRbXTtcbiAgcHVibGljIHNlYXJjaElucHV0c1JlYWR5OiBib29sZWFuO1xuXG4gIHB1YmxpYyBzZWxlY3RlZDoge1xuICAgIGp1cmlzZGljdGlvbj86IEp1cmlzZGljdGlvbixcbiAgICBjYXNlVHlwZT86IENhc2VUeXBlTGl0ZSxcbiAgICBmb3JtR3JvdXA/OiBVbnR5cGVkRm9ybUdyb3VwLFxuICAgIGNhc2VTdGF0ZT86IENhc2VTdGF0ZSxcbiAgICBwYWdlPzogbnVtYmVyLFxuICAgIG1ldGFkYXRhRmllbGRzPzogc3RyaW5nW11cbiAgfTtcblxuICBwdWJsaWMgc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXM/OiBDYXNlVHlwZUxpdGVbXTtcblxuICBwdWJsaWMgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe30pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9yZGVyU2VydmljZTogT3JkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkganVyaXNkaWN0aW9uU2VydmljZTogSnVyaXNkaWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkID0ge307XG4gICAgY29uc3QganVyaXNkaWN0aW9uID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShKVVJJU0RJQ1RJT05fTE9DX1NUT1JBR0UpO1xuICAgIGlmICh0aGlzLmp1cmlzZGljdGlvbnMubGVuZ3RoID09PSAxIHx8IGp1cmlzZGljdGlvbikge1xuICAgICAgdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPSB0aGlzLmp1cmlzZGljdGlvbnNbMF07XG4gICAgICBpZiAoanVyaXNkaWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IGxvY2FsU3RvcmFnZUp1cmlzZGljdGlvbiA9IEpTT04ucGFyc2UoanVyaXNkaWN0aW9uKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPSB0aGlzLmp1cmlzZGljdGlvbnMuZmlsdGVyKGogPT4gai5pZCA9PT0gbG9jYWxTdG9yYWdlSnVyaXNkaWN0aW9uLmlkKVswXTtcbiAgICAgIH1cbiAgICAgIHRoaXMub25KdXJpc2RpY3Rpb25JZENoYW5nZSgpO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWQuZm9ybUdyb3VwID0gdGhpcy5mb3JtR3JvdXA7XG4gICAgdGhpcy5zZWxlY3RlZC5wYWdlID0gMTtcbiAgICB0aGlzLnNlbGVjdGVkLm1ldGFkYXRhRmllbGRzID0gdGhpcy5nZXRNZXRhZGF0YUZpZWxkcygpO1xuICAgIHRoaXMub25BcHBseS5lbWl0KHtcbiAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkLFxuICAgICAgcXVlcnlQYXJhbXM6IHRoaXMuZ2V0UXVlcnlQYXJhbXMoKVxuICAgIH0pO1xuXG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy53aW5kb3dTZXJ2aWNlLnJlbW92ZUxvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTFVFX0xPQ19TVE9SQUdFKTtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKENBU0VfVFlQRV9MT0NfU1RPUkFHRSk7XG4gICAgdGhpcy53aW5kb3dTZXJ2aWNlLnJlbW92ZUxvY2FsU3RvcmFnZShKVVJJU0RJQ1RJT05fTE9DX1NUT1JBR0UpO1xuICAgIHRoaXMud2luZG93U2VydmljZS5yZW1vdmVMb2NhbFN0b3JhZ2UoTUVUQV9GSUVMRFNfTE9DX1NUT1JBR0UpO1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fTtcbiAgICBpZiAodGhpcy5qdXJpc2RpY3Rpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPSB0aGlzLmp1cmlzZGljdGlvbnNbMF07XG4gICAgICB0aGlzLm9uSnVyaXNkaWN0aW9uSWRDaGFuZ2UoKTtcbiAgICB9XG4gICAgdGhpcy5vblJlc2V0LmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkLmZvcm1Hcm91cCA9IHRoaXMuZm9ybUdyb3VwO1xuICAgIHRoaXMuc2VsZWN0ZWQucGFnZSA9IDE7XG4gICAgdGhpcy5zZWxlY3RlZC5tZXRhZGF0YUZpZWxkcyA9IHRoaXMuZ2V0TWV0YWRhdGFGaWVsZHMoKTtcbiAgICB0aGlzLnBvcHVsYXRlVmFsdWVzSW5Mb2NhbFN0b3JhZ2UoKTtcbiAgICB0aGlzLm9uQXBwbHkuZW1pdCh7XG4gICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLmdldFF1ZXJ5UGFyYW1zKClcbiAgICB9KTtcbiAgICB0aGlzLnNldEZvY3VzVG9Ub3AoKTtcbiAgfVxuXG4gIHB1YmxpYyBwb3B1bGF0ZVZhbHVlc0luTG9jYWxTdG9yYWdlKCk6IHZvaWQge1xuICAgIHRoaXMud2luZG93U2VydmljZS5zZXRMb2NhbFN0b3JhZ2UoRk9STV9HUk9VUF9WQUxVRV9MT0NfU1RPUkFHRSxcbiAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWQuZm9ybUdyb3VwLnZhbHVlKSk7XG4gICAgdGhpcy53aW5kb3dTZXJ2aWNlLnNldExvY2FsU3RvcmFnZShNRVRBX0ZJRUxEU19MT0NfU1RPUkFHRSwgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZC5tZXRhZGF0YUZpZWxkcykpO1xuICAgIHRoaXMud2luZG93U2VydmljZS5zZXRMb2NhbFN0b3JhZ2UoSlVSSVNESUNUSU9OX0xPQ19TVE9SQUdFLCBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbikpO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlKSB7XG4gICAgICB0aGlzLndpbmRvd1NlcnZpY2Uuc2V0TG9jYWxTdG9yYWdlKENBU0VfVFlQRV9MT0NfU1RPUkFHRSwgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZC5jYXNlVHlwZSkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRNZXRhZGF0YUZpZWxkcygpOiBzdHJpbmdbXSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoSW5wdXRzKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWFyY2hJbnB1dHNcbiAgICAgICAgLmZpbHRlcihzZWFyY2hJbnB1dCA9PiBzZWFyY2hJbnB1dC5maWVsZC5tZXRhZGF0YSA9PT0gdHJ1ZSlcbiAgICAgICAgLm1hcChzZWFyY2hJbnB1dCA9PiBzZWFyY2hJbnB1dC5maWVsZC5pZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzU2VhcmNoYWJsZSgpOiBib29sZWFuIHtcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuO1xuICAgIHJlc3VsdCA9IHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uICE9PSB1bmRlZmluZWQgJiYgdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gIT09IG51bGw7XG4gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlICE9PSBudWxsO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgaXNTZWFyY2hhYmxlQW5kU2VhcmNoSW5wdXRzUmVhZHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNTZWFyY2hhYmxlKCkgJiYgdGhpcy5zZWFyY2hJbnB1dHNSZWFkeTtcbiAgfVxuXG4gIHB1YmxpYyBvbkp1cmlzZGljdGlvbklkQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSBudWxsO1xuICAgIHRoaXMuanVyaXNkaWN0aW9uU2VydmljZS5hbm5vdW5jZVNlbGVjdGVkSnVyaXNkaWN0aW9uKHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uKTtcbiAgICB0aGlzLnNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uY2FzZVR5cGVzO1xuICAgIHRoaXMuc2VsZWN0Q2FzZVR5cGUodGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlcyk7XG4gICAgdGhpcy5vbkp1cmlzZGljdGlvbi5lbWl0KHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNhc2VUeXBlSWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XG4gICAgdGhpcy5zZWFyY2hJbnB1dHNSZWFkeSA9IGZhbHNlO1xuICAgIHRoaXMuc2VhcmNoSW5wdXRzID0gW107XG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmdldFNlYXJjaElucHV0cyhcbiAgICAgIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmlkLFxuICAgICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZS5pZFxuICAgICkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnNlYXJjaElucHV0c1JlYWR5ID0gdHJ1ZSlcbiAgICApLnN1YnNjcmliZShzZWFyY2hJbnB1dHMgPT4ge1xuICAgICAgdGhpcy5zZWFyY2hJbnB1dHMgPSBzZWFyY2hJbnB1dHMuc29ydCh0aGlzLm9yZGVyU2VydmljZS5zb3J0QXNjKTtcblxuICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTFVFX0xPQ19TVE9SQUdFKTtcbiAgICAgIGxldCBmb3JtVmFsdWVPYmplY3QgPSBudWxsO1xuICAgICAgaWYgKGZvcm1WYWx1ZSkge1xuICAgICAgICBmb3JtVmFsdWVPYmplY3QgPSBKU09OLnBhcnNlKGZvcm1WYWx1ZSk7XG4gICAgICB9XG4gICAgICBzZWFyY2hJbnB1dHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uZmllbGQuZWxlbWVudFBhdGgpIHtcbiAgICAgICAgICBpdGVtLmZpZWxkLmlkID0gYCR7aXRlbS5maWVsZC5pZH0uJHtpdGVtLmZpZWxkLmVsZW1lbnRQYXRofWA7XG4gICAgICAgIH1cbiAgICAgICAgaXRlbS5maWVsZC5sYWJlbCA9IGl0ZW0ubGFiZWw7XG4gICAgICAgIGlmIChmb3JtVmFsdWVPYmplY3QpIHtcbiAgICAgICAgICBpdGVtLmZpZWxkLnZhbHVlID0gZm9ybVZhbHVlT2JqZWN0W2l0ZW0uZmllbGQuaWRdO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZ2V0Q2FzZUZpZWxkcygpO1xuICAgIH0sIGVycm9yID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdTZWFyY2ggaW5wdXQgZmllbGRzIHJlcXVlc3Qgd2lsbCBiZSBkaXNjYXJkZWQgcmVhc29uOiAnLCBlcnJvci5tZXNzYWdlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpc0p1cmlzZGljdGlvblNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9PT0gbnVsbCB8fFxuICAgICAgdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UXVlcnlQYXJhbXMoKSB7XG4gICAgLy8gU2F2ZSBmaWx0ZXJzIGFzIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIGN1cnJlbnQgcm91dGVcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIGlmICh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbikge1xuICAgICAgcXVlcnlQYXJhbXNbdGhpcy5QQVJBTV9KVVJJU0RJQ1RJT05dID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uaWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlKSB7XG4gICAgICBxdWVyeVBhcmFtc1t0aGlzLlBBUkFNX0NBU0VfVFlQRV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLmlkO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zW3RoaXMuUEFSQU1fQ0FTRV9TVEFURV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZS5pZDtcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5UGFyYW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RDYXNlVHlwZShjYXNlVHlwZXM6IENhc2VUeXBlTGl0ZVtdKSB7XG4gICAgaWYgKGNhc2VUeXBlcyAmJiBjYXNlVHlwZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSA9IGNhc2VUeXBlc1swXTtcbiAgICAgIGNvbnN0IGNhc2VUeXBlID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShDQVNFX1RZUEVfTE9DX1NUT1JBR0UpO1xuICAgICAgaWYgKGNhc2VUeXBlKSB7XG4gICAgICAgIGNvbnN0IGNhc2VUeXBlT2JqZWN0ID0gSlNPTi5wYXJzZShjYXNlVHlwZSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGNhc2VUeXBlcy5maWx0ZXIoYyA9PiBjLmlkID09PSBjYXNlVHlwZU9iamVjdC5pZCk7XG4gICAgICAgIGlmIChyZXN1bHQgIT09IHVuZGVmaW5lZCAmJiByZXN1bHQubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSByZXN1bHRbMF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSA9IGNhc2VUeXBlc1swXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSA9IGNhc2VUeXBlc1swXTtcbiAgICAgIH1cbiAgICAgIHRoaXMub25DYXNlVHlwZUlkQ2hhbmdlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2N1c1RvVG9wKCkge1xuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcblxuICAgIGNvbnN0IHRvcENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWFyY2gtcmVzdWx0LWhlYWRpbmdfX3RleHQnKTtcbiAgICBpZiAodG9wQ29udGFpbmVyKSB7XG4gICAgICB0b3BDb250YWluZXIuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENhc2VGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VhcmNoSW5wdXRzKSB7XG4gICAgICB0aGlzLmNhc2VGaWVsZHMgPSB0aGlzLnNlYXJjaElucHV0cy5tYXAoaXRlbSA9PiBGaWVsZHNVdGlscy5jb252ZXJ0VG9DYXNlRmllbGQoaXRlbS5maWVsZCkpO1xuICAgIH1cbiAgfVxufVxuIiwiPGgyIGNsYXNzPVwiaGVhZGluZy1oMlwiIGFyaWEtbGFiZWw9XCJGaWx0ZXJzXCI+e3snRmlsdGVycycgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG48Zm9ybSBjbGFzcz1cImdsb2JhbC1kaXNwbGF5XCI+XG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxM3B4O1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJzLWp1cmlzZGljdGlvblwiPnt7J0p1cmlzZGljdGlvbicgfCBycHhUcmFuc2xhdGV9fSo8L2xhYmVsPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLTMtNCBjY2QtZHJvcGRvd25cIiBpZD1cInMtanVyaXNkaWN0aW9uXCJcbiAgICAgICAgICAgIG5hbWU9XCJqdXJpc2RpY3Rpb25cIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkLmp1cmlzZGljdGlvblwiIGFyaWEtY29udHJvbHM9XCJzZWFyY2gtcmVzdWx0XCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25KdXJpc2RpY3Rpb25JZENoYW5nZSgpXCI+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBqIG9mIGp1cmlzZGljdGlvbnNcIiBbbmdWYWx1ZV09XCJqXCI+e3tqLm5hbWUgfCBycHhUcmFuc2xhdGV9fTwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicy1jYXNlLXR5cGVcIj57eydDYXNlIHR5cGUqJyB8IHJweFRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICA8c2VsZWN0IFtkaXNhYmxlZF09XCJpc0p1cmlzZGljdGlvblNlbGVjdGVkKClcIiBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtMy00IGNjZC1kcm9wZG93blwiXG4gICAgICAgICAgICBpZD1cInMtY2FzZS10eXBlXCIgbmFtZT1cImNhc2UtdHlwZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWQuY2FzZVR5cGVcIiBhcmlhLWNvbnRyb2xzPVwic2VhcmNoLXJlc3VsdFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2FzZVR5cGVJZENoYW5nZSgpXCI+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjdCBvZiBzZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlc1wiIFtuZ1ZhbHVlXT1cImN0XCI+e3tjdC5uYW1lIHwgcnB4VHJhbnNsYXRlfX08L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciBjY2RDb25kaXRpb25hbFNob3dGb3JtICpuZ0lmPVwiaXNTZWFyY2hhYmxlQW5kU2VhcmNoSW5wdXRzUmVhZHkoKVwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgW2NvbnRleHRGaWVsZHNdPVwiY2FzZUZpZWxkc1wiPlxuICAgIDxkaXYgaWQ9XCJkeW5hbWljRmlsdGVyc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiAqbmdGb3I9XCJsZXQgc2VhcmNoSW5wdXQgb2Ygc2VhcmNoSW5wdXRzXCI+XG4gICAgICAgIDxjY2QtZmllbGQtd3JpdGUgW2Nhc2VGaWVsZF09XCJzZWFyY2hJbnB1dC5maWVsZFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgW2lzRXhwYW5kZWRdPVwidHJ1ZVwiIChrZXl1cC5lbnRlcik9XCJhcHBseSgpXCI+XG4gICAgICAgIDwvY2NkLWZpZWxkLXdyaXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxidXR0b24gW2Rpc2FibGVkXT1cIiFpc1NlYXJjaGFibGVBbmRTZWFyY2hJbnB1dHNSZWFkeSgpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uXCIgKGNsaWNrKT1cImFwcGx5KClcIiAoa2V5dXAuZW50ZXIpPVwiYXBwbHkoKVwiIFt0aXRsZV09XCInQXBwbHkgZmlsdGVyJyB8IHJweFRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQXBwbHkgZmlsdGVyJyB8IHJweFRyYW5zbGF0ZVwiPlxuICAgIHt7J0FwcGx5JyB8IHJweFRyYW5zbGF0ZX19XG4gIDwvYnV0dG9uPiAmbmJzcDsmbmJzcDsmbmJzcDtcbiAgPGJ1dHRvbiBpZD1cInJlc2V0XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJyZXNldCgpXCIgY2xhc3M9XCJidXR0b24gYnV0dG9uLXNlY29uZGFyeVwiXG4gICAgICAgICAgW3RpdGxlXT1cIidSZXNldCBmaWx0ZXInIHwgcnB4VHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInUmVzZXQgZmlsdGVyJyB8IHJweFRyYW5zbGF0ZVwiPlxuICAgIHt7J1Jlc2V0JyB8IHJweFRyYW5zbGF0ZX19XG4gIDwvYnV0dG9uPlxuPC9mb3JtPlxuIl19
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3NlYXJjaC1maWx0ZXJzL3NlYXJjaC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zZWFyY2gtZmlsdGVycy9zZWFyY2gtZmlsdGVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7O0lDTC9ELGtDQUFzRDtJQUFBLFlBQXlCOztJQUFBLGlCQUFTOzs7SUFBaEQsOEJBQWE7SUFBQyxlQUF5QjtJQUF6QixxREFBeUI7OztJQVEvRSxrQ0FBd0U7SUFBQSxZQUEwQjs7SUFBQSxpQkFBUzs7O0lBQWxELCtCQUFjO0lBQUMsZUFBMEI7SUFBMUIsc0RBQTBCOzs7O0lBTWxHLDhCQUFpRSwwQkFBQTtJQUM4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ZUFBa0M7UUFBbEMscUVBQWtDO1FBRXJELGVBQW1DO1FBQW5DLG1EQUFtQztRQUV2QyxlQUFnQjtRQUFoQiwyQ0FBZ0I7UUFJSSxlQUErQjtRQUEvQiwwREFBK0I7UUFDbkUsZUFBcUM7UUFBckMsdURBQXFDLGtDQUFBO1FBR3BCLGVBQWdDO1FBQWhDLDJEQUFnQztRQUlyQixlQUF3QztRQUF4Qyw2REFBd0M7UUFTdEUsZUFBZ0Q7UUFBaEQsa0VBQWdELGlEQUFBO1FBQ2hELG9FQUFpRDtRQUN2RCxlQUNGO1FBREUsZ0VBQ0Y7UUFFUSxlQUF1QztRQUF2Qyw4REFBdUM7UUFBQyxvRUFBaUQ7UUFDL0YsZUFDRjtRQURFLGdFQUNGOzt1RkRYVyxzQkFBc0I7Y0FMbEMsU0FBUzsyQkFDRSxvQkFBb0I7eUpBV3ZCLGFBQWE7a0JBRG5CLEtBQUs7WUFJQyxTQUFTO2tCQURmLEtBQUs7WUFJQyxPQUFPO2tCQURiLE1BQU07WUFJQSxPQUFPO2tCQURiLE1BQU07WUFJQSxjQUFjO2tCQURwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IENhc2VTdGF0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2Utc3RhdGUubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVR5cGVMaXRlIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS10eXBlLWxpdGUubW9kZWwnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vanVyaXNkaWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IEZpZWxkc1V0aWxzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmllbGRzL2ZpZWxkcy51dGlscyc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvanVyaXNkaWN0aW9uL2p1cmlzZGljdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29yZGVyL29yZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NlYXJjaC9zZWFyY2guc2VydmljZSc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2luZG93L3dpbmRvdy5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaElucHV0IH0gZnJvbSAnLi9kb21haW4vc2VhcmNoLWlucHV0Lm1vZGVsJztcblxuY29uc3QgSlVSSVNESUNUSU9OX0xPQ19TVE9SQUdFID0gJ3NlYXJjaC1qdXJpc2RpY3Rpb24nO1xuY29uc3QgTUVUQV9GSUVMRFNfTE9DX1NUT1JBR0UgPSAnc2VhcmNoLW1ldGFkYXRhLWZpZWxkcyc7XG5jb25zdCBGT1JNX0dST1VQX1ZBTFVFX0xPQ19TVE9SQUdFID0gJ3NlYXJjaC1mb3JtLWdyb3VwLXZhbHVlJztcbmNvbnN0IENBU0VfVFlQRV9MT0NfU1RPUkFHRSA9ICdzZWFyY2gtY2FzZVR5cGUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXNlYXJjaC1maWx0ZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1maWx0ZXJzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5cbmV4cG9ydCBjbGFzcyBTZWFyY2hGaWx0ZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHJlYWRvbmx5IFBBUkFNX0pVUklTRElDVElPTiA9ICdqdXJpc2RpY3Rpb24nO1xuICBwdWJsaWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9UWVBFID0gJ2Nhc2UtdHlwZSc7XG4gIHB1YmxpYyByZWFkb25seSBQQVJBTV9DQVNFX1NUQVRFID0gJ2Nhc2Utc3RhdGUnO1xuICBwdWJsaWMgY2FzZUZpZWxkczogQ2FzZUZpZWxkW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGp1cmlzZGljdGlvbnM6IEp1cmlzZGljdGlvbltdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhdXRvQXBwbHk6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFwcGx5OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uUmVzZXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25KdXJpc2RpY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBzZWFyY2hJbnB1dHM6IFNlYXJjaElucHV0W107XG4gIHB1YmxpYyBzZWFyY2hJbnB1dHNSZWFkeTogYm9vbGVhbjtcblxuICBwdWJsaWMgc2VsZWN0ZWQ6IHtcbiAgICBqdXJpc2RpY3Rpb24/OiBKdXJpc2RpY3Rpb24sXG4gICAgY2FzZVR5cGU/OiBDYXNlVHlwZUxpdGUsXG4gICAgZm9ybUdyb3VwPzogRm9ybUdyb3VwLFxuICAgIGNhc2VTdGF0ZT86IENhc2VTdGF0ZSxcbiAgICBwYWdlPzogbnVtYmVyLFxuICAgIG1ldGFkYXRhRmllbGRzPzogc3RyaW5nW11cbiAgfTtcblxuICBwdWJsaWMgc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXM/OiBDYXNlVHlwZUxpdGVbXTtcblxuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcmRlclNlcnZpY2U6IE9yZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGp1cmlzZGljdGlvblNlcnZpY2U6IEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9O1xuICAgIGNvbnN0IGp1cmlzZGljdGlvbiA9IHRoaXMud2luZG93U2VydmljZS5nZXRMb2NhbFN0b3JhZ2UoSlVSSVNESUNUSU9OX0xPQ19TVE9SQUdFKTtcbiAgICBpZiAodGhpcy5qdXJpc2RpY3Rpb25zLmxlbmd0aCA9PT0gMSB8fCBqdXJpc2RpY3Rpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb25zWzBdO1xuICAgICAgaWYgKGp1cmlzZGljdGlvbikge1xuICAgICAgICBjb25zdCBsb2NhbFN0b3JhZ2VKdXJpc2RpY3Rpb24gPSBKU09OLnBhcnNlKGp1cmlzZGljdGlvbik7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb25zLmZpbHRlcihqID0+IGouaWQgPT09IGxvY2FsU3RvcmFnZUp1cmlzZGljdGlvbi5pZClbMF07XG4gICAgICB9XG4gICAgICB0aGlzLm9uSnVyaXNkaWN0aW9uSWRDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkLmZvcm1Hcm91cCA9IHRoaXMuZm9ybUdyb3VwO1xuICAgIHRoaXMuc2VsZWN0ZWQucGFnZSA9IDE7XG4gICAgdGhpcy5zZWxlY3RlZC5tZXRhZGF0YUZpZWxkcyA9IHRoaXMuZ2V0TWV0YWRhdGFGaWVsZHMoKTtcbiAgICB0aGlzLm9uQXBwbHkuZW1pdCh7XG4gICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLmdldFF1ZXJ5UGFyYW1zKClcbiAgICB9KTtcblxuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMud2luZG93U2VydmljZS5yZW1vdmVMb2NhbFN0b3JhZ2UoRk9STV9HUk9VUF9WQUxVRV9MT0NfU1RPUkFHRSk7XG4gICAgdGhpcy53aW5kb3dTZXJ2aWNlLnJlbW92ZUxvY2FsU3RvcmFnZShDQVNFX1RZUEVfTE9DX1NUT1JBR0UpO1xuICAgIHRoaXMud2luZG93U2VydmljZS5yZW1vdmVMb2NhbFN0b3JhZ2UoSlVSSVNESUNUSU9OX0xPQ19TVE9SQUdFKTtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKE1FVEFfRklFTERTX0xPQ19TVE9SQUdFKTtcbiAgICB0aGlzLnNlbGVjdGVkID0ge307XG4gICAgaWYgKHRoaXMuanVyaXNkaWN0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb25zWzBdO1xuICAgICAgdGhpcy5vbkp1cmlzZGljdGlvbklkQ2hhbmdlKCk7XG4gICAgfVxuICAgIHRoaXMub25SZXNldC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHkoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZC5mb3JtR3JvdXAgPSB0aGlzLmZvcm1Hcm91cDtcbiAgICB0aGlzLnNlbGVjdGVkLnBhZ2UgPSAxO1xuICAgIHRoaXMuc2VsZWN0ZWQubWV0YWRhdGFGaWVsZHMgPSB0aGlzLmdldE1ldGFkYXRhRmllbGRzKCk7XG4gICAgdGhpcy5wb3B1bGF0ZVZhbHVlc0luTG9jYWxTdG9yYWdlKCk7XG4gICAgdGhpcy5vbkFwcGx5LmVtaXQoe1xuICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICBxdWVyeVBhcmFtczogdGhpcy5nZXRRdWVyeVBhcmFtcygpXG4gICAgfSk7XG4gICAgdGhpcy5zZXRGb2N1c1RvVG9wKCk7XG4gIH1cblxuICBwdWJsaWMgcG9wdWxhdGVWYWx1ZXNJbkxvY2FsU3RvcmFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2Uuc2V0TG9jYWxTdG9yYWdlKEZPUk1fR1JPVVBfVkFMVUVfTE9DX1NUT1JBR0UsXG4gICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkLmZvcm1Hcm91cC52YWx1ZSkpO1xuICAgIHRoaXMud2luZG93U2VydmljZS5zZXRMb2NhbFN0b3JhZ2UoTUVUQV9GSUVMRFNfTE9DX1NUT1JBR0UsIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWQubWV0YWRhdGFGaWVsZHMpKTtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2Uuc2V0TG9jYWxTdG9yYWdlKEpVUklTRElDVElPTl9MT0NfU1RPUkFHRSwgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24pKTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZC5jYXNlVHlwZSkge1xuICAgICAgdGhpcy53aW5kb3dTZXJ2aWNlLnNldExvY2FsU3RvcmFnZShDQVNFX1RZUEVfTE9DX1NUT1JBR0UsIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0TWV0YWRhdGFGaWVsZHMoKTogc3RyaW5nW10ge1xuICAgIGlmICh0aGlzLnNlYXJjaElucHV0cykge1xuICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoSW5wdXRzXG4gICAgICAgIC5maWx0ZXIoc2VhcmNoSW5wdXQgPT4gc2VhcmNoSW5wdXQuZmllbGQubWV0YWRhdGEgPT09IHRydWUpXG4gICAgICAgIC5tYXAoc2VhcmNoSW5wdXQgPT4gc2VhcmNoSW5wdXQuZmllbGQuaWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc1NlYXJjaGFibGUoKTogYm9vbGVhbiB7XG4gICAgbGV0IHJlc3VsdDogYm9vbGVhbjtcbiAgICByZXN1bHQgPSB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uICE9PSBudWxsO1xuICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSAhPT0gbnVsbDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGlzU2VhcmNoYWJsZUFuZFNlYXJjaElucHV0c1JlYWR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzU2VhcmNoYWJsZSgpICYmIHRoaXMuc2VhcmNoSW5wdXRzUmVhZHk7XG4gIH1cblxuICBwdWJsaWMgb25KdXJpc2RpY3Rpb25JZENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID0gbnVsbDtcbiAgICB0aGlzLmp1cmlzZGljdGlvblNlcnZpY2UuYW5ub3VuY2VTZWxlY3RlZEp1cmlzZGljdGlvbih0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbik7XG4gICAgdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlcyA9IHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmNhc2VUeXBlcztcbiAgICB0aGlzLnNlbGVjdENhc2VUeXBlKHRoaXMuc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXMpO1xuICAgIHRoaXMub25KdXJpc2RpY3Rpb24uZW1pdCh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb25DYXNlVHlwZUlkQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgdGhpcy5zZWFyY2hJbnB1dHNSZWFkeSA9IGZhbHNlO1xuICAgIHRoaXMuc2VhcmNoSW5wdXRzID0gW107XG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmdldFNlYXJjaElucHV0cyhcbiAgICAgIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmlkLFxuICAgICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZS5pZFxuICAgICkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnNlYXJjaElucHV0c1JlYWR5ID0gdHJ1ZSlcbiAgICApLnN1YnNjcmliZShzZWFyY2hJbnB1dHMgPT4ge1xuICAgICAgdGhpcy5zZWFyY2hJbnB1dHMgPSBzZWFyY2hJbnB1dHMuc29ydCh0aGlzLm9yZGVyU2VydmljZS5zb3J0QXNjKTtcblxuICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTFVFX0xPQ19TVE9SQUdFKTtcbiAgICAgIGxldCBmb3JtVmFsdWVPYmplY3QgPSBudWxsO1xuICAgICAgaWYgKGZvcm1WYWx1ZSkge1xuICAgICAgICBmb3JtVmFsdWVPYmplY3QgPSBKU09OLnBhcnNlKGZvcm1WYWx1ZSk7XG4gICAgICB9XG4gICAgICBzZWFyY2hJbnB1dHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uZmllbGQuZWxlbWVudFBhdGgpIHtcbiAgICAgICAgICBpdGVtLmZpZWxkLmlkID0gYCR7aXRlbS5maWVsZC5pZH0uJHtpdGVtLmZpZWxkLmVsZW1lbnRQYXRofWA7XG4gICAgICAgIH1cbiAgICAgICAgaXRlbS5maWVsZC5sYWJlbCA9IGl0ZW0ubGFiZWw7XG4gICAgICAgIGlmIChmb3JtVmFsdWVPYmplY3QpIHtcbiAgICAgICAgICBpdGVtLmZpZWxkLnZhbHVlID0gZm9ybVZhbHVlT2JqZWN0W2l0ZW0uZmllbGQuaWRdO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZ2V0Q2FzZUZpZWxkcygpO1xuICAgIH0sIGVycm9yID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdTZWFyY2ggaW5wdXQgZmllbGRzIHJlcXVlc3Qgd2lsbCBiZSBkaXNjYXJkZWQgcmVhc29uOiAnLCBlcnJvci5tZXNzYWdlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpc0p1cmlzZGljdGlvblNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9PT0gbnVsbCB8fFxuICAgICAgdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UXVlcnlQYXJhbXMoKSB7XG4gICAgLy8gU2F2ZSBmaWx0ZXJzIGFzIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIGN1cnJlbnQgcm91dGVcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIGlmICh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbikge1xuICAgICAgcXVlcnlQYXJhbXNbdGhpcy5QQVJBTV9KVVJJU0RJQ1RJT05dID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uaWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlKSB7XG4gICAgICBxdWVyeVBhcmFtc1t0aGlzLlBBUkFNX0NBU0VfVFlQRV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLmlkO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zW3RoaXMuUEFSQU1fQ0FTRV9TVEFURV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZS5pZDtcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5UGFyYW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RDYXNlVHlwZShjYXNlVHlwZXM6IENhc2VUeXBlTGl0ZVtdKSB7XG4gICAgaWYgKGNhc2VUeXBlcyAmJiBjYXNlVHlwZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSA9IGNhc2VUeXBlc1swXTtcbiAgICAgIGNvbnN0IGNhc2VUeXBlID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShDQVNFX1RZUEVfTE9DX1NUT1JBR0UpO1xuICAgICAgaWYgKGNhc2VUeXBlKSB7XG4gICAgICAgIGNvbnN0IGNhc2VUeXBlT2JqZWN0ID0gSlNPTi5wYXJzZShjYXNlVHlwZSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGNhc2VUeXBlcy5maWx0ZXIoYyA9PiBjLmlkID09PSBjYXNlVHlwZU9iamVjdC5pZCk7XG4gICAgICAgIGlmIChyZXN1bHQgIT09IHVuZGVmaW5lZCAmJiByZXN1bHQubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSByZXN1bHRbMF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSA9IGNhc2VUeXBlc1swXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSA9IGNhc2VUeXBlc1swXTtcbiAgICAgIH1cbiAgICAgIHRoaXMub25DYXNlVHlwZUlkQ2hhbmdlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2N1c1RvVG9wKCkge1xuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcblxuICAgIGNvbnN0IHRvcENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWFyY2gtcmVzdWx0LWhlYWRpbmdfX3RleHQnKTtcbiAgICBpZiAodG9wQ29udGFpbmVyKSB7XG4gICAgICB0b3BDb250YWluZXIuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENhc2VGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VhcmNoSW5wdXRzKSB7XG4gICAgICB0aGlzLmNhc2VGaWVsZHMgPSB0aGlzLnNlYXJjaElucHV0cy5tYXAoaXRlbSA9PiBGaWVsZHNVdGlscy5jb252ZXJ0VG9DYXNlRmllbGQoaXRlbS5maWVsZCkpO1xuICAgIH1cbiAgfVxufVxuIiwiPGgyIGNsYXNzPVwiaGVhZGluZy1oMlwiIGFyaWEtbGFiZWw9XCJGaWx0ZXJzXCI+e3snRmlsdGVycycgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG48Zm9ybSBjbGFzcz1cImdsb2JhbC1kaXNwbGF5XCI+XG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxM3B4O1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJzLWp1cmlzZGljdGlvblwiPnt7J0p1cmlzZGljdGlvbicgfCBycHhUcmFuc2xhdGV9fSo8L2xhYmVsPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLTMtNCBjY2QtZHJvcGRvd25cIiBpZD1cInMtanVyaXNkaWN0aW9uXCJcbiAgICAgICAgICAgIG5hbWU9XCJqdXJpc2RpY3Rpb25cIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkLmp1cmlzZGljdGlvblwiIGFyaWEtY29udHJvbHM9XCJzZWFyY2gtcmVzdWx0XCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25KdXJpc2RpY3Rpb25JZENoYW5nZSgpXCI+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBqIG9mIGp1cmlzZGljdGlvbnNcIiBbbmdWYWx1ZV09XCJqXCI+e3tqLm5hbWUgfCBycHhUcmFuc2xhdGV9fTwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicy1jYXNlLXR5cGVcIj57eydDYXNlIHR5cGUqJyB8IHJweFRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICA8c2VsZWN0IFtkaXNhYmxlZF09XCJpc0p1cmlzZGljdGlvblNlbGVjdGVkKClcIiBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtMy00IGNjZC1kcm9wZG93blwiXG4gICAgICAgICAgICBpZD1cInMtY2FzZS10eXBlXCIgbmFtZT1cImNhc2UtdHlwZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWQuY2FzZVR5cGVcIiBhcmlhLWNvbnRyb2xzPVwic2VhcmNoLXJlc3VsdFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2FzZVR5cGVJZENoYW5nZSgpXCI+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjdCBvZiBzZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlc1wiIFtuZ1ZhbHVlXT1cImN0XCI+e3tjdC5uYW1lIHwgcnB4VHJhbnNsYXRlfX08L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciBjY2RDb25kaXRpb25hbFNob3dGb3JtICpuZ0lmPVwiaXNTZWFyY2hhYmxlQW5kU2VhcmNoSW5wdXRzUmVhZHkoKVwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgW2NvbnRleHRGaWVsZHNdPVwiY2FzZUZpZWxkc1wiPlxuICAgIDxkaXYgaWQ9XCJkeW5hbWljRmlsdGVyc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiAqbmdGb3I9XCJsZXQgc2VhcmNoSW5wdXQgb2Ygc2VhcmNoSW5wdXRzXCI+XG4gICAgICAgIDxjY2QtZmllbGQtd3JpdGUgW2Nhc2VGaWVsZF09XCJzZWFyY2hJbnB1dC5maWVsZFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgW2lzRXhwYW5kZWRdPVwidHJ1ZVwiIChrZXl1cC5lbnRlcik9XCJhcHBseSgpXCI+XG4gICAgICAgIDwvY2NkLWZpZWxkLXdyaXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxidXR0b24gW2Rpc2FibGVkXT1cIiFpc1NlYXJjaGFibGVBbmRTZWFyY2hJbnB1dHNSZWFkeSgpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uXCIgKGNsaWNrKT1cImFwcGx5KClcIiAoa2V5dXAuZW50ZXIpPVwiYXBwbHkoKVwiIFt0aXRsZV09XCInQXBwbHkgZmlsdGVyJyB8IHJweFRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQXBwbHkgZmlsdGVyJyB8IHJweFRyYW5zbGF0ZVwiPlxuICAgIHt7J0FwcGx5JyB8IHJweFRyYW5zbGF0ZX19XG4gIDwvYnV0dG9uPiAmbmJzcDsmbmJzcDsmbmJzcDtcbiAgPGJ1dHRvbiBpZD1cInJlc2V0XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJyZXNldCgpXCIgY2xhc3M9XCJidXR0b24gYnV0dG9uLXNlY29uZGFyeVwiXG4gICAgICAgICAgW3RpdGxlXT1cIidSZXNldCBmaWx0ZXInIHwgcnB4VHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInUmVzZXQgZmlsdGVyJyB8IHJweFRyYW5zbGF0ZVwiPlxuICAgIHt7J1Jlc2V0JyB8IHJweFRyYW5zbGF0ZX19XG4gIDwvYnV0dG9uPlxuPC9mb3JtPlxuIl19
|