vcomply-workflow-engine 2.4.8 → 2.4.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/vcomply-workflow-engine.umd.js +121 -52
- package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
- package/esm2015/lib/more-option/more-option.component.js +2 -2
- package/esm2015/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.js +48 -4
- package/esm2015/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ngfactory.js +4 -3
- package/esm2015/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.ngfactory.js +2 -2
- package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngfactory.js +1 -1
- package/esm2015/lib/sharedComponents/program-listing/program-listing.component.js +1 -1
- package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.js +20 -12
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +47 -34
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +2 -2
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +3 -3
- package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
- package/esm2015/lib/workflow-program/workflow-program.component.js +4 -4
- package/esm2015/lib/workflow-program/workflow-program.component.ngfactory.js +2 -2
- package/fesm2015/vcomply-workflow-engine.js +117 -52
- package/fesm2015/vcomply-workflow-engine.js.map +1 -1
- package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts +3 -0
- package/package.json +2 -2
- package/vcomply-workflow-engine.metadata.json +1 -1
package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngfactory.js
CHANGED
|
@@ -34,4 +34,4 @@ import * as i26 from "./components/logic-questions/logic-questions.module";
|
|
|
34
34
|
import * as i27 from "../../ui-kit/editor-loader/editor-loader.module";
|
|
35
35
|
var CreateAssessmentModuleNgFactory = i0.ɵcmf(i1.CreateAssessmentModule, [], function (_l) { return i0.ɵmod([i0.ɵmpd(512, i0.ComponentFactoryResolver, i0.ɵCodegenComponentFactoryResolver, [[8, [i2.DialogComponentNgFactory, i3.ɵaNgFactory, i4.DatePickerComponentNgFactory, i5.ɵtNgFactory]], [3, i0.ComponentFactoryResolver], i0.NgModuleRef]), i0.ɵmpd(4608, i6.NgLocalization, i6.NgLocaleLocalization, [i0.LOCALE_ID]), i0.ɵmpd(4608, i7.PopoverService, i7.PopoverService, []), i0.ɵmpd(4608, i8.DragDrop, i8.DragDrop, [i6.DOCUMENT, i0.NgZone, i9.ViewportRuler, i8.DragDropRegistry]), i0.ɵmpd(4608, i10.DialogRef, i10.DialogRef, []), i0.ɵmpd(1073742336, i6.CommonModule, i6.CommonModule, []), i0.ɵmpd(1073742336, i11.TooltipModule, i11.TooltipModule, []), i0.ɵmpd(1073742336, i12.PopoverModule, i12.PopoverModule, []), i0.ɵmpd(1073742336, i9.CdkScrollableModule, i9.CdkScrollableModule, []), i0.ɵmpd(1073742336, i8.DragDropModule, i8.DragDropModule, []), i0.ɵmpd(1073742336, i13.DialogModule, i13.DialogModule, []), i0.ɵmpd(1073742336, i14.ɵangular_packages_forms_forms_p, i14.ɵangular_packages_forms_forms_p, []), i0.ɵmpd(1073742336, i14.ɵangular_packages_forms_forms_d, i14.ɵangular_packages_forms_forms_d, []), i0.ɵmpd(1073742336, i14.FormsModule, i14.FormsModule, []), i0.ɵmpd(1073742336, i15.ɵg, i15.ɵg, []), i0.ɵmpd(1073742336, i16.MentionModule, i16.MentionModule, []), i0.ɵmpd(1073742336, i15.MarxEditorModule, i15.MarxEditorModule, []), i0.ɵmpd(1073742336, i17.FormgroupModule, i17.FormgroupModule, []), i0.ɵmpd(1073742336, i18.NoDataModule, i18.NoDataModule, []), i0.ɵmpd(1073742336, i19.FormgroupModule, i19.FormgroupModule, []), i0.ɵmpd(1073742336, i20.BuildModule, i20.BuildModule, []), i0.ɵmpd(1073742336, i21.DpDatePickerModule, i21.DpDatePickerModule, []), i0.ɵmpd(1073742336, i22.NgxMaterialTimepickerModule, i22.NgxMaterialTimepickerModule, []), i0.ɵmpd(1073742336, i23.SelectModule, i23.SelectModule, []), i0.ɵmpd(1073742336, i24.PreviewModule, i24.PreviewModule, []), i0.ɵmpd(1073742336, i25.AssessmentPreviewModule, i25.AssessmentPreviewModule, []), i0.ɵmpd(1073742336, i26.LogicQuestionsModule, i26.LogicQuestionsModule, []), i0.ɵmpd(1073742336, i27.EditorLoaderModule, i27.EditorLoaderModule, []), i0.ɵmpd(1073742336, i1.CreateAssessmentModule, i1.CreateAssessmentModule, [])]); });
|
|
36
36
|
export { CreateAssessmentModuleNgFactory as CreateAssessmentModuleNgFactory };
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFzc2Vzc21lbnQubW9kdWxlLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1lZGl0b3IvY3JlYXRlLWFzc2Vzc21lbnQubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL2NyZWF0ZS1hc3Nlc3NtZW50Lm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMiBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0ICogYXMgaTMgZnJvbSAnLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTQgZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTUgZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTYgZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci1ldmVudC5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTcgZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci1sb25ncHJlc3MuZGlyZWN0aXZlJztcbmltcG9ydCAqIGFzIGk4IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0ICogYXMgaTkgZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgKiBhcyBpMTAgZnJvbSAndmNvbXBseS1lZGl0b3InO1xuaW1wb3J0ICogYXMgaTExIGZyb20gJy4uLy4uL2Zvcm1ncm91cC9jcy1jaGVja2JveC9jcy1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTEyIGZyb20gJy4uLy4uL2Zvcm1ncm91cC9jcy1yYWRpby9jcy1yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTEzIGZyb20gJy4uLy4uL2Zvcm1ncm91cC9jcy1zd2l0Y2gvY3Mtc3dpdGNoLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTQgZnJvbSAnLi4vLi4vZm9ybWdyb3VwL2NzLXJhZGlvLWdyb3VwL2NzLXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTUgZnJvbSAnLi4vLi4vZm9ybWdyb3VwL2NzLXNlbGVjdC9jcy1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxNiBmcm9tICcuLi8uLi9mb3JtZ3JvdXAvY3MtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS9jcy1jaGVja2JveC1pbmRldGVybWluYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTcgZnJvbSAnLi4vbm8tZGF0YS9uby1kYXRhLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTggZnJvbSAnLi9jb21wb25lbnRzL2J1aWxkL211bHRpcGxlLWNob2ljZS9tdWx0aXBsZS1jaG9pY2UuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxOSBmcm9tICcuL2NvbXBvbmVudHMvYnVpbGQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyMCBmcm9tICcuL2NvbXBvbmVudHMvYnVpbGQvaW1hZ2UtY2hvaWNlL2ltYWdlLWNob2ljZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTIxIGZyb20gJy4vY29tcG9uZW50cy9idWlsZC9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTIyIGZyb20gJy4vY29tcG9uZW50cy9idWlsZC9tYXRyaXgtZHJvcGRvd24vbWF0cml4LWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMjMgZnJvbSAnLi9jb21wb25lbnRzL2J1aWxkL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMjQgZnJvbSAnLi9jb21wb25lbnRzL2J1aWxkL21hdHJpeC1yYXRpbmctc2NhbGUvbWF0cml4LXJhdGluZy1zY2FsZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTI1IGZyb20gJy4vY29tcG9uZW50cy9idWlsZC9yYW5raW5nL3JhbmtpbmcuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyNiBmcm9tICcuL2NvbXBvbmVudHMvYnVpbGQvc2xpZGVyL3NsaWRlci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTI3IGZyb20gJy4vY29tcG9uZW50cy9idWlsZC9tdWx0aXBsZS10ZXh0Ym94L211bHRpcGxlLXRleHRib3guY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyOCBmcm9tICcuL2NvbXBvbmVudHMvYnVpbGQvZGF0ZS10aW1lL2RhdGUtdGltZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTI5IGZyb20gJy4vY29tcG9uZW50cy9idWlsZC93ZWxjb21lL3dlbGNvbWUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkzMCBmcm9tICcuL2NvbXBvbmVudHMvYnVpbGQvdGhhbmsteW91L3RoYW5rLXlvdS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTMxIGZyb20gJy4vY29tcG9uZW50cy9idWlsZC93ZWlnaHRhZ2Utc2VsZWN0b3Ivd2VpZ2h0YWdlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzIgZnJvbSAnLi9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy13cmFwcGVyL3ByZXZpZXctd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTMzIGZyb20gJy4vY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXctbXVsdGlwbGUtY2hvaWNlL3ByZXZpZXctbXVsdGlwbGUtY2hvaWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzQgZnJvbSAnLi9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy1jaGVja2JveC9wcmV2aWV3LWNoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzUgZnJvbSAnLi9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy1pbWFnZS1jaG9pY2UvcHJldmlldy1pbWFnZS1jaG9pY2UuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkzNiBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LXN0YXItcmF0aW5nL3ByZXZpZXctc3Rhci1yYXRpbmcuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkzNyBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LXNpbmdsZS10ZXh0Ym94L3ByZXZpZXctc2luZ2xlLXRleHRib3guY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkzOCBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LWNvbW1lbnQtYm94L3ByZXZpZXctY29tbWVudC1ib3guY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkzOSBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LW1hdHJpeC1kcm9wZG93bi9wcmV2aWV3LW1hdHJpeC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTQwIGZyb20gJy4vY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXctZHJvcGRvd24vcHJldmlldy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTQxIGZyb20gJy4vY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXctbWF0cml4LXJhdGluZy1zY2FsZS9wcmV2aWV3LW1hdHJpeC1yYXRpbmctc2NhbGUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0MiBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LXJhbmtpbmcvcHJldmlldy1yYW5raW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNDMgZnJvbSAnLi9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy1zbGlkZXIvcHJldmlldy1zbGlkZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0NCBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LW11bHRpcGxlLXRleHRib3gvcHJldmlldy1tdWx0aXBsZS10ZXh0Ym94LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNDUgZnJvbSAnLi9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy1kYXRlLXRpbWUvcHJldmlldy1kYXRlLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0NiBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LWZpbGUtdXBsb2FkL3ByZXZpZXctZmlsZS11cGxvYWQuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0NyBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy93ZWxjb21lL3dlbGNvbWUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0OCBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy90aGFuay15b3UvdGhhbmsteW91LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNDkgZnJvbSAnLi4vYXNzZXNzbWVudC1wcmV2aWV3L2NoZWNrYm94LXF1ZXN0aW9uL2NoZWNrYm94LXF1ZXN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNTAgZnJvbSAnLi4vYXNzZXNzbWVudC1wcmV2aWV3L2RhdGUtdGltZS9kYXRlLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk1MSBmcm9tICcuLi9hc3Nlc3NtZW50LXByZXZpZXcvZGV2aWNlL2RldmljZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTUyIGZyb20gJy4uL2Fzc2Vzc21lbnQtcHJldmlldy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTUzIGZyb20gJy4uL2Fzc2Vzc21lbnQtcHJldmlldy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk1NCBmcm9tICcuLi9hc3Nlc3NtZW50LXByZXZpZXcvcHJldmlldy1jb250YWluZXIvcHJldmlldy1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk1NSBmcm9tICcuLi9hc3Nlc3NtZW50LXByZXZpZXcvcXVpY2stc2V0dGluZ3MvcXVpY2stc2V0dGluZ3MuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk1NiBmcm9tICcuLi9hc3Nlc3NtZW50LXByZXZpZXcvcmFkaW8tcXVlc3Rpb24vcmFkaW8tcXVlc3Rpb24uY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk1NyBmcm9tICcuLi9hc3Nlc3NtZW50LXByZXZpZXcvc2VsZWN0LXF1ZXN0aW9uL3NlbGVjdC1xdWVzdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTU4IGZyb20gJy4uL2Fzc2Vzc21lbnQtcHJldmlldy9zaW5nbGUtdGV4dGJveC9zaW5nbGUtdGV4dGJveC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTU5IGZyb20gJy4uL2Fzc2Vzc21lbnQtcHJldmlldy93ZWxjb21lL3dlbGNvbWUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk2MCBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBpNjEgZnJvbSAnLi9jb21wb25lbnRzL2xvZ2ljLXF1ZXN0aW9ucy9sb2dpYy1tdWx0aXBsZS1jaG9pY2UvbG9naWMtbXVsdGlwbGUtY2hvaWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNjIgZnJvbSAnLi9jb21wb25lbnRzL2xvZ2ljLXF1ZXN0aW9ucy9sb2dpYy1jaGVja2JveC9sb2dpYy1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTYzIGZyb20gJy4vY29tcG9uZW50cy9sb2dpYy1xdWVzdGlvbnMvbG9naWMtaW1hZ2UtY2hvaWNlL2xvZ2ljLWltYWdlLWNob2ljZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTY0IGZyb20gJy4vY29tcG9uZW50cy9sb2dpYy1xdWVzdGlvbnMvbG9naWMtc3Rhci1yYXRpbmcvbG9naWMtc3Rhci1yYXRpbmcuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk2NSBmcm9tICcuL2NvbXBvbmVudHMvbG9naWMtcXVlc3Rpb25zL2xvZ2ljLXNpbmdsZS10ZXh0Ym94L2xvZ2ljLXNpbmdsZS10ZXh0Ym94LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNjYgZnJvbSAnLi9jb21wb25lbnRzL2xvZ2ljLXF1ZXN0aW9ucy9sb2dpYy1jb21tZW50LWJveC9sb2dpYy1jb21tZW50LWJveC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTY3IGZyb20gJy4vY29tcG9uZW50cy9sb2dpYy1xdWVzdGlvbnMvbG9naWMtZHJvcGRvd24vbG9naWMtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk2OCBmcm9tICcuL2NvbXBvbmVudHMvbG9naWMtcXVlc3Rpb25zL2xvZ2ljLXJhbmtpbmcvbG9naWMtcmFua2luZy5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTY5IGZyb20gJy4vY29tcG9uZW50cy9sb2dpYy1xdWVzdGlvbnMvbG9naWMtc2xpZGVyL2xvZ2ljLXNsaWRlci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTcwIGZyb20gJy4vY29tcG9uZW50cy9sb2dpYy1xdWVzdGlvbnMvbG9naWMtbXVsdGlwbGUtdGV4dGJveC9sb2dpYy1tdWx0aXBsZS10ZXh0Ym94LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNzEgZnJvbSAnLi9jb21wb25lbnRzL2xvZ2ljLXF1ZXN0aW9ucy9sb2dpYy1kYXRlLXRpbWUvbG9naWMtZGF0ZS10aW1lLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNzIgZnJvbSAnLi4vLi4vdWkta2l0L2VkaXRvci1sb2FkZXIvZWRpdG9yLWxvYWRlci9lZGl0b3ItbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNzMgZnJvbSAnLi9jcmVhdGUtYXNzZXNzbWVudC1jb250YWluZXIvY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNzQgZnJvbSAnLi9jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUvcXVlc3Rpb24tdHlwZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTc1IGZyb20gJy4vY29tcG9uZW50cy9hZGQtcGFnZS1kZXRhaWxzL2FkZC1wYWdlLWRldGFpbHMuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk3NiBmcm9tICcuL2NvbXBvbmVudHMvYXNzZXNzbWVudC1zZXR0aW5ncy9hc3Nlc3NtZW50LXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNzcgZnJvbSAnLi9jb21wb25lbnRzL2FkZC1zZWdtZW50LXBvcHVwL2FkZC1zZWdtZW50LXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNzggZnJvbSAnLi9jb21wb25lbnRzL2FkZC1yZXNwb25zZS1zZXQtcG9wdXAvYWRkLXJlc3BvbnNlLXNldC1wb3B1cC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTc5IGZyb20gJy4vY29tcG9uZW50cy9lZGl0b3Itd3JhcHBlci9lZGl0b3Itd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTgwIGZyb20gJy4vY29tcG9uZW50cy9xdWljay1zZXR0aW5ncy9xdWljay1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTgxIGZyb20gJy4vY29tcG9uZW50cy9zaW5nbGUtbGluZS1lZGl0b3Ivc2luZ2xlLWxpbmUtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpODIgZnJvbSAnLi9jb21wb25lbnRzL3Jlc3BvbnNlLXNlbGVjdG9yL3Jlc3BvbnNlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpODMgZnJvbSAnLi9jb21wb25lbnRzL21vdmUvbW92ZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTg0IGZyb20gJy4vY29tcG9uZW50cy9sb2dpYy9sb2dpYy5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTg1IGZyb20gJy4vY29tcG9uZW50cy9hZGQtbG9naWMvYWRkLWxvZ2ljLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpODYgZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xraXQvdG9vbGtpdC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTg3IGZyb20gJy4vY29tcG9uZW50cy9zZXR0aW5nLWFub255bW91cy9zZXR0aW5nLWFub255bW91cy5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTg4IGZyb20gJy4vY29tcG9uZW50cy9zZXR0aW5nLXJlc3BvbnNlLXNlZ21lbnQvc2V0dGluZy1yZXNwb25zZS1zZWdtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpODkgZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpOTAgZnJvbSAnLi9jb21wb25lbnRzL3dlbGNvbWUtdGhhbmt5b3Uvd2VsY29tZS10aGFua3lvdS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTkxIGZyb20gJy4vY29tcG9uZW50cy9waXBlcy9lcnJvci1tZXNzYWdlLnBpcGUnO1xuaW1wb3J0ICogYXMgaTkyIGZyb20gJy4vY29tcG9uZW50cy9waXBlcy9xdWVzdGlvbi1maWx0ZXIucGlwZSc7XG5pbXBvcnQgKiBhcyBpOTMgZnJvbSAnLi9jb21wb25lbnRzL3BpcGVzL3F1ZXN0aW9uLXBhcnNlci5waXBlJztcbmltcG9ydCAqIGFzIGk5NCBmcm9tICcuL2NvbXBvbmVudHMvcGlwZXMvZm9ybWF0dGVyLnBpcGUnO1xuaW1wb3J0ICogYXMgaTk1IGZyb20gJy4vY29tcG9uZW50cy9waXBlcy9jdXJyZW50LXBhZ2UtcXVlc3Rpb24ucGlwZSc7XG5pbXBvcnQgKiBhcyBpOTYgZnJvbSAnLi9jb21wb25lbnRzL3BpcGVzL3F1ZXN0aW9uLXBhZ2UtZmlsdGVyLnBpcGUnO1xuaW1wb3J0ICogYXMgaTk3IGZyb20gJy4vY29tcG9uZW50cy9waXBlcy90eXBlLW9mLnBpcGUnO1xuaW1wb3J0ICogYXMgaTk4IGZyb20gJy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCAqIGFzIGk5OSBmcm9tICcuLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMTAwIGZyb20gJy4uLy4uL3VpLWtpdC9kaWFsb2cvZGlhbG9nLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMTAxIGZyb20gJy4uLy4uL2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcbmltcG9ydCAqIGFzIGkxMDIgZnJvbSAnLi4vbm8tZGF0YS9uby1kYXRhLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMTAzIGZyb20gJy4vY29tcG9uZW50cy9idWlsZC9idWlsZC5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTEwNCBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3Lm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMTA1IGZyb20gJy4uL2Fzc2Vzc21lbnQtcHJldmlldy9hc3Nlc3NtZW50LXByZXZpZXcubW9kdWxlJztcbmltcG9ydCAqIGFzIGkxMDYgZnJvbSAnLi9jb21wb25lbnRzL2xvZ2ljLXF1ZXN0aW9ucy9sb2dpYy1xdWVzdGlvbnMubW9kdWxlJztcbmltcG9ydCAqIGFzIGkxMDcgZnJvbSAnLi4vLi4vdWkta2l0L2VkaXRvci1sb2FkZXIvZWRpdG9yLWxvYWRlci5tb2R1bGUnO1xuZXhwb3J0IGNvbnN0IENyZWF0ZUFzc2Vzc21lbnRNb2R1bGVOZ0ZhY3Rvcnk6aTAuTmdNb2R1bGVGYWN0b3J5PGkxLkNyZWF0ZUFzc2Vzc21lbnRNb2R1bGU+ID0gKG51bGwgYXMgYW55KTtcbnZhciBfZGVjbDBfMDppMi5OZ0NsYXNzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE6aTIuTmdDb21wb25lbnRPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjppMi5OZ0Zvck9mPGFueSxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM6aTIuTmdJZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ6aTIuTmdUZW1wbGF0ZU91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OmkyLk5nU3R5bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjppMi5OZ1N3aXRjaCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83OmkyLk5nU3dpdGNoQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84OmkyLk5nU3dpdGNoRGVmYXVsdCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85OmkyLk5nUGx1cmFsID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwOmkyLk5nUGx1cmFsQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTppMy5Ub29sVGlwRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOmk0LlBvcG92ZXJDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM6aTUuUG9wb3ZlckRpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDppNi5Qb3BvdmVyRXZlbnREaXJlY3RpdmUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTU6aTcuUG9wb3ZlckxvbmdwcmVzc0RpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNjppOC5DZGtTY3JvbGxhYmxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE3Omk5LkNka0Ryb3BMaXN0PGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTg6aTkuQ2RrRHJvcExpc3RHcm91cDxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE5Omk5LkNka0RyYWc8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMDppOS5DZGtEcmFnSGFuZGxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIxOmk5LkNka0RyYWdQcmV2aWV3PGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjI6aTkuQ2RrRHJhZ1BsYWNlaG9sZGVyPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjM6aTEwLsm1YSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNDppMTEuQ3NDaGVja2JveENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNTppMTIuQ3NSYWRpb0NvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNjppMTMuQ3NTd2l0Y2hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjc6aTE0LkNzUmFkaW9Hcm91cENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yODppMTUuQ3NTZWxlY3RDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjk6aTE2LkNzQ2hlY2tib3hJbmRldGVybWluYXRlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMwOmkxNy5Ob0RhdGFDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzE6aTE4Lk11bHRpcGxlQ2hvaWNlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMyOmkxOS5DaGVja2JveENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMzppMjAuSW1hZ2VDaG9pY2VDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzQ6aTIxLlN0YXJSYXRpbmdDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzU6aTIyLk1hdHJpeERyb3Bkb3duQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM2OmkyMy5Ecm9wZG93bkNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNzppMjQuTWF0cml4UmF0aW5nU2NhbGVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzg6aTI1LlJhbmtpbmdDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzk6aTI2LlNsaWRlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MDppMjcuTXVsdGlwbGVUZXh0Ym94Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQxOmkyOC5EYXRlVGltZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MjppMjkuV2VsY29tZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MzppMzAuVGhhbmtZb3VDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDQ6aTMxLldlaWdodGFnZVNlbGVjdG9yQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ1OmkzMi5QcmV2aWV3V3JhcHBlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80NjppMzMuUHJldmlld011bHRpcGxlQ2hvaWNlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ3OmkzNC5QcmV2aWV3Q2hlY2tib3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDg6aTM1LlByZXZpZXdJbWFnZUNob2ljZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80OTppMzYuUHJldmlld1N0YXJSYXRpbmdDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTA6aTM3LlByZXZpZXdTaW5nbGVUZXh0Ym94Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzUxOmkzOC5QcmV2aWV3Q29tbWVudEJveENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MjppMzkuUHJldmlld01hdHJpeERyb3Bkb3duQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzUzOmk0MC5QcmV2aWV3RHJvcGRvd25Db21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTQ6aTQxLlByZXZpZXdNYXRyaXhSYXRpbmdTY2FsZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NTppNDIuUHJldmlld1JhbmtpbmdDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTY6aTQzLlByZXZpZXdTbGlkZXJDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTc6aTQ0LlByZXZpZXdNdWx0aXBsZVRleHRib3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTg6aTQ1LlByZXZpZXdEYXRlVGltZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OTppNDYuUHJldmlld0ZpbGVVcGxvYWRDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjA6aTQ3LldlbGNvbWVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjE6aTQ4LlRoYW5rWW91Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzYyOmk0OS5DaGVja2JveFF1ZXN0aW9uQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzYzOmk1MC5EYXRlVGltZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82NDppNTEuRGV2aWNlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY1Omk1Mi5GaWxlVXBsb2FkQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY2Omk1My5QcmV2aWV3Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY3Omk1NC5QcmV2aWV3Q29udGFpbmVyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY4Omk1NS5RdWlja1NldHRpbmdzQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY5Omk1Ni5SYWRpb1F1ZXN0aW9uQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzcwOmk1Ny5TZWxlY3RRdWVzdGlvbkNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83MTppNTguU2luZ2xlVGV4dGJveENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83MjppNTkuV2VsY29tZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83MzppNjAuybVhbmd1bGFyX3BhY2thZ2VzX2Zvcm1zX2Zvcm1zX2JiID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc0Omk2MC5OZ1NlbGVjdE9wdGlvbiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83NTppNjAuybVhbmd1bGFyX3BhY2thZ2VzX2Zvcm1zX2Zvcm1zX2JhID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc2Omk2MC5EZWZhdWx0VmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83NzppNjAuTnVtYmVyVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83ODppNjAuUmFuZ2VWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc5Omk2MC5DaGVja2JveENvbnRyb2xWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzgwOmk2MC5TZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84MTppNjAuU2VsZWN0TXVsdGlwbGVDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84MjppNjAuUmFkaW9Db250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84MzppNjAuTmdDb250cm9sU3RhdHVzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg0Omk2MC5OZ0NvbnRyb2xTdGF0dXNHcm91cCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84NTppNjAuUmVxdWlyZWRWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODY6aTYwLk1pbkxlbmd0aFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84NzppNjAuTWF4TGVuZ3RoVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg4Omk2MC5QYXR0ZXJuVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg5Omk2MC5DaGVja2JveFJlcXVpcmVkVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzkwOmk2MC5FbWFpbFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85MTppNjAuTWluVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzkyOmk2MC5NYXhWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTM6aTYwLk5nTW9kZWwgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTQ6aTYwLk5nTW9kZWxHcm91cCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85NTppNjAuTmdGb3JtID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk2Omk2MS5Mb2dpY011bHRpcGxlQ2hvaWNlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk3Omk2Mi5Mb2dpY0NoZWNrYm94Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk4Omk2My5Mb2dpY0ltYWdlQ2hvaWNlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk5Omk2NC5Mb2dpY1N0YXJSYXRpbmdDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTAwOmk2NS5Mb2dpY1NpbmdsZVRleHRib3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTAxOmk2Ni5Mb2dpY0NvbW1lbnRCb3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTAyOmk2Ny5Mb2dpY0Ryb3Bkb3duQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwMzppNjguTG9naWNSYW5raW5nQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwNDppNjkuTG9naWNTbGlkZXJDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA1Omk3MC5Mb2dpY011bHRpcGxlVGV4dGJveENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMDY6aTcxLkxvZ2ljRGF0ZVRpbWVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA3Omk3Mi5FZGl0b3JMb2FkZXJDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA4Omk3My5DcmVhdGVBc3Nlc3NtZW50Q29udGFpbmVyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwOTppNzQuUXVlc3Rpb25UeXBlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExMDppNzUuQWRkUGFnZURldGFpbHNDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTExOmk3Ni5Bc3Nlc3NtZW50U2V0dGluZ3NDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTEyOmk3Ny5BZGRTZWdtZW50UG9wdXBDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTEzOmk3OC5BZGRSZXNwb25zZVNldFBvcHVwQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExNDppNzkuRWRpdG9yV3JhcHBlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTU6aTgwLlF1aWNrU2V0dGluZ3NDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTE2Omk4MS5TaW5nbGVMaW5lRWRpdG9yQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExNzppODIuUmVzcG9uc2VTZWxlY3RvckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTg6aTgzLk1vdmVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTE5Omk4NC5Mb2dpY0NvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjA6aTg1LkFkZExvZ2ljQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyMTppODYuVG9vbGtpdENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjI6aTg3LlNldHRpbmdBbm9ueW1vdXNDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTIzOmk4OC5TZXR0aW5nUmVzcG9uc2VTZWdtZW50Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyNDppODkuUGFnZUhlYWRlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjU6aTkwLldlbGNvbWVUaGFua3lvdUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjY6aTIuQXN5bmNQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyNzppMi5VcHBlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyODppMi5Mb3dlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOTppMi5Kc29uUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMzA6aTIuU2xpY2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEzMTppMi5EZWNpbWFsUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMzI6aTIuUGVyY2VudFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTMzOmkyLlRpdGxlQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM0OmkyLkN1cnJlbmN5UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMzU6aTIuRGF0ZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM2OmkyLkkxOG5QbHVyYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEzNzppMi5JMThuU2VsZWN0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMzg6aTIuS2V5VmFsdWVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE0MDppOTEuRXJyb3JNZXNzYWdlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDI6aTkyLlF1ZXN0aW9uRmlsdGVyUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDQ6aTkzLlF1ZXN0aW9uUGFyc2VyUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDY6aTk0LkZvcm1hdHRlclBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTQ4Omk5NS5DdXJyZW50UGFnZVF1ZXN0aW9uUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNTA6aTk2LlF1ZXN0aW9uUGFnZUZpbHRlclBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTUyOmk5Ny5UeXBlT2ZQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1MzppMi5Db21tb25Nb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTU0Omk5OC5Ub29sdGlwTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1NTppOTkuUG9wb3Zlck1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNTY6aTkuRHJhZ0Ryb3BNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTU3OmkxMDAuRGlhbG9nTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1ODppMTAuTWFyeEVkaXRvck1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNTk6aTEwMS5Gb3JtZ3JvdXBNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTYwOmkxMDIuTm9EYXRhTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE2MTppMTAzLkJ1aWxkTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE2MjppMTA0LlByZXZpZXdNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTYzOmkxMDUuQXNzZXNzbWVudFByZXZpZXdNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY0Omk2MC5Gb3Jtc01vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNjU6aTEwNi5Mb2dpY1F1ZXN0aW9uc01vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNjY6aTEwNy5FZGl0b3JMb2FkZXJNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY3OmkwLlRlbXBsYXRlUmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY4OmkwLkVsZW1lbnRSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xuZnVuY3Rpb24gX1ZpZXdfQ3JlYXRlQXNzZXNzbWVudENvbnRhaW5lckNvbXBvbmVudF9Ib3N0XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfQ3JlYXRlQXNzZXNzbWVudENvbnRhaW5lckNvbXBvbmVudF8xXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfZGVjbDBfMTA4LnBhZ2VNb2RlID09PSAnRURJVCcpO1xuICBjdXJyVmFsXzA7XG59XG5mdW5jdGlvbiBfVmlld19RdWVzdGlvblR5cGVDb21wb25lbnRfSG9zdF8yXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1F1ZXN0aW9uVHlwZUNvbXBvbmVudF8yXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IHBkXzEwOmFueSA9ICgoPGFueT5fZGVjbDBfMTA5LmFkZFF1ZXN0aW9uLmVtaXQoJ211bHRpcGxlLWNob2ljZScpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xMTphbnkgPSAoKDxhbnk+X2RlY2wwXzEwOS5hZGRRdWVzdGlvbi5lbWl0KCdjaGVja2JveCcpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xMjphbnkgPSAoKDxhbnk+X2RlY2wwXzEwOS5hZGRRdWVzdGlvbi5lbWl0KCdzaW5nbGUtdGV4dGJveCcpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xMzphbnkgPSAoKDxhbnk+X2RlY2wwXzEwOS5hZGRRdWVzdGlvbi5lbWl0KCdkcm9wZG93bicpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xNDphbnkgPSAoKDxhbnk+X2RlY2wwXzEwOS5hZGRRdWVzdGlvbi5lbWl0KCdkYXRlLXRpbWUnKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTU6YW55ID0gKCg8YW55Pl9kZWNsMF8xMDkuYWRkUXVlc3Rpb24uZW1pdCgnZmlsZS11cGxvYWQnKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0FkZFBhZ2VEZXRhaWxzQ29tcG9uZW50X0hvc3RfM18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19BZGRQYWdlRGV0YWlsc0NvbXBvbmVudF8zXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdQYWdlIHRpdGxlJztcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gJ211bHRpbGluZSc7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTEwLnBhZ2VEZXRhaWxzLnBhZ2VOYW1lO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTEwLmRlc2NyaXB0aW9uO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTEwLnBhZ2VEZXRhaWxzLnBhZ2VEZXNjcmlwdGlvbjtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgcGRfNzphbnkgPSAoKDxhbnk+X2RlY2wwXzExMC5jYW5jZWxQYWdlRGV0YWlscygpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF84OmFueSA9ICgoPGFueT4oX2RlY2wwXzExMC5wYWdlRGV0YWlscy5wYWdlTmFtZSA9IF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF85OmFueSA9ICgoPGFueT4oX2RlY2wwXzExMC5wYWdlRGV0YWlscy5wYWdlRGVzY3JpcHRpb24gPSBfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTA6YW55ID0gKCg8YW55Pl9kZWNsMF8xMTAuY2FuY2VsUGFnZURldGFpbHMoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTE6YW55ID0gKCg8YW55Pl9kZWNsMF8xMTAuc2F2ZVBhZ2VEZXRhaWxzKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19Bc3Nlc3NtZW50U2V0dGluZ3NDb21wb25lbnRfSG9zdF80XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0Fzc2Vzc21lbnRTZXR0aW5nc0NvbXBvbmVudF80XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9hbnkudHJhbnNmb3JtKCgoX2RlY2wwXzExMS5zZXR0aW5nc0RhdGEgPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF8xMTEuc2V0dGluZ3NEYXRhLnBhbmVsVGl0bGUpKTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gJ1tFc2NdIHRvIGNsb3NlJztcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gJ2xlZnQnO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAnYmxhY2snO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSB0cnVlO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gKChfZGVjbDBfMTExLnNldHRpbmdzRGF0YSA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzExMS5zZXR0aW5nc0RhdGEuc2V0dGluZ3NFbGVtZW50cyk7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgcGRfNzphbnkgPSAoKDxhbnk+X2RlY2wwXzExMS5jbG9zZVBhbmVsKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19BZGRTZWdtZW50UG9wdXBDb21wb25lbnRfSG9zdF81XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0FkZFNlZ21lbnRQb3B1cENvbXBvbmVudF81XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfZGVjbDBfMTEyLnNlZ21lbnRFcnJvci5sZW5ndGggPiAwKTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzExMi5jcml0ZXJpYS5zZWdtZW50TmFtZTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzExMi5jcml0ZXJpYS5jb2xvcjtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gKDxhbnk+e3N0YW5kYWxvbmU6dHJ1ZX0pO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTEyLmNyaXRlcmlhLmNvbG9yO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTEyLmRlc2NyaXB0aW9uO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBfZGVjbDBfMTEyLmNyaXRlcmlhLnNlZ21lbnREZXNjcmlwdGlvbjtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gX2RlY2wwXzExMi5jcml0ZXJpYS5mcm9tUmFuZ2U7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IF9kZWNsMF8xMTIuY3JpdGVyaWEudG9SYW5nZTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gKF9kZWNsMF8xMTIuc2VnbWVudEVycm9yLmxlbmd0aCA9PT0gMCk7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSAoX2RlY2wwXzExMi5zZWdtZW50RXJyb3IubGVuZ3RoID4gMCk7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IHBkXzExOmFueSA9ICgoPGFueT4oX2RlY2wwXzExMi5jcml0ZXJpYS5zZWdtZW50TmFtZSA9IF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xMjphbnkgPSAoKDxhbnk+KF9kZWNsMF8xMTIuY3JpdGVyaWEuY29sb3IgPSBfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTM6YW55ID0gKCg8YW55PihfZGVjbDBfMTEyLmNyaXRlcmlhLnNlZ21lbnREZXNjcmlwdGlvbiA9IF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xNDphbnkgPSAoKDxhbnk+X2RlY2wwXzExMi5mcm9tTWFuYWdlcignLScpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xNTphbnkgPSAoKDxhbnk+KF9kZWNsMF8xMTIuY3JpdGVyaWEuZnJvbVJhbmdlID0gX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzE2OmFueSA9ICgoPGFueT5fZGVjbDBfMTEyLmZyb21NYW5hZ2VyKCcrJykpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzE3OmFueSA9ICgoPGFueT5fZGVjbDBfMTEyLnRvTWFuYWdlcignLScpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xODphbnkgPSAoKDxhbnk+KF9kZWNsMF8xMTIuY3JpdGVyaWEudG9SYW5nZSA9IF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xOTphbnkgPSAoKDxhbnk+X2RlY2wwXzExMi50b01hbmFnZXIoJysnKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0FkZFJlc3BvbnNlU2V0UG9wdXBDb21wb25lbnRfSG9zdF82XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0FkZFJlc3BvbnNlU2V0UG9wdXBDb21wb25lbnRfNl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAhX2RlY2wwXzExMy5oaWRlU3BlY2lmaWNDYXRlZ29yeTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzExMy5oaWRlU3BlY2lmaWNDYXRlZ29yeTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gIV9kZWNsMF8xMTMuaGlkZVNwZWNpZmljQ2F0ZWdvcnk7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8xMTMuaGlkZVNwZWNpZmljQ2F0ZWdvcnk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xMTMuaGlkZVNwZWNpZmljQ2F0ZWdvcnk7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9ICFfZGVjbDBfMTEzLmhpZGVTcGVjaWZpY0NhdGVnb3J5O1xuICBjdXJyVmFsXzU7XG59XG5mdW5jdGlvbiBfVmlld19FZGl0b3JXcmFwcGVyQ29tcG9uZW50X0hvc3RfN18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19FZGl0b3JXcmFwcGVyQ29tcG9uZW50XzdfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzExNC52aWV3TW9kZTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzExNC5lcnJvclByZXNlbnQ7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoX2RlY2wwXzExNC52aWV3TW9kZSA9PSAnYnVpbGQnKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gKF9hbnkudHJhbnNmb3JtKF9kZWNsMF8xMTQuc2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMsX2RlY2wwXzExNC5zZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKSA9PT0gZmFsc2UpO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAoX2RlY2wwXzExNC52aWV3TW9kZSA9PSAnbG9naWMnKTtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gKF9hbnkudHJhbnNmb3JtKF9kZWNsMF8xMTQuc2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMsX2RlY2wwXzExNC5zZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKSA9PT0gZmFsc2UpO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAoKChfZGVjbDBfMTE0LnNlcnZpY2UuZm9ybXNQYWdlID09IG51bGwpPyAobnVsbCBhcyBhbnkpOiAoKF9kZWNsMF8xMTQuc2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMgPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF8xMTQuc2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMubGVuZ3RoKSkgPCAyKTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gKF9kZWNsMF8xMTQudmlld01vZGUgPT0gJ21vdmUnKTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gX2RlY2wwXzExNC52aWV3TW9kZTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9ICdidWlsZCc7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gJ2xvZ2ljJztcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSAnbW92ZSc7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gX2FueS50cmFuc2Zvcm0oKChfZGVjbDBfMTE0LnF1ZXN0aW9uID09IG51bGwpPyAobnVsbCBhcyBhbnkpOiBfZGVjbDBfMTE0LnF1ZXN0aW9uLmVycm9yQXJyYXkpKTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBfZGVjbDBfMTE0Lm5leHRRdWVzdGlvbjtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSBfZGVjbDBfMTE0Lm5leHRRdWVzdGlvbjtcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgcGRfMTY6YW55ID0gKCg8YW55PihfZGVjbDBfMTE0LnZpZXdNb2RlID0gJ2J1aWxkJykpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzE3OmFueSA9ICgoPGFueT4oX2RlY2wwXzExNC52aWV3TW9kZSA9ICdsb2dpYycpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xODphbnkgPSAoKDxhbnk+KF9kZWNsMF8xMTQudmlld01vZGUgPSAnbW92ZScpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xOTphbnkgPSAoKDxhbnk+X2RlY2wwXzExNC5jb3B5UXVlc3Rpb24uZW1pdChfZGVjbDBfMTE0LnF1ZXN0aW9uSW5kZXgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yMDphbnkgPSAoKDxhbnk+X2RlY2wwXzExNC5kZWxldGVRdWVzdGlvbi5lbWl0KF9kZWNsMF8xMTQucXVlc3Rpb25JbmRleCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzIxOmFueSA9ICgoPGFueT5fZGVjbDBfMTE0Lm9wZW5OZXh0UXVlc3Rpb24oKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjI6YW55ID0gKCg8YW55Pl9kZWNsMF8xMTQuY2hlY2tGb3JWYWxpZGF0aW9uU3RhdHVzKCdzYXZlJykpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19RdWlja1NldHRpbmdzQ29tcG9uZW50X0hvc3RfOF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19RdWlja1NldHRpbmdzQ29tcG9uZW50XzhfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ3JpZ2h0JztcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gJ3F1ZXN0aW9uLWljb24gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1tci0yJztcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzExNS5zZWxlY3RlZFF1ZXN0aW9uRGV0YWlscy5xdWVzdGlvbkNsYXNzO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTE1LnNlbGVjdGVkUXVlc3Rpb25EZXRhaWxzLnF1ZXN0aW9uSWNvbjtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzExNS5zZWxlY3RlZFF1ZXN0aW9uRGV0YWlscy5xdWVzdGlvbk5hbWU7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xMTUucXVlc3Rpb25UeXBlRHJvcGRvd247XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IF9kZWNsMF8xMTUucXVpY2tTZXR0aW5nc0xpc3Q7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IF9kZWNsMF8xMTUuZmQuZm9ybXNQYWdlLmVsZW1lbnRzW19kZWNsMF8xMTUucXVlc3Rpb25JbmRleF0uaGFzQ2hhcmFjdGVyTGVuZ3RoO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IHBkXzg6YW55ID0gKCg8YW55Pl9hbnkucG9wb3ZlcigpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2luZ2xlTGluZUVkaXRvckNvbXBvbmVudF9Ib3N0XzlfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2luZ2xlTGluZUVkaXRvckNvbXBvbmVudF85XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9ICgoX2RlY2wwXzExNi5lZGl0b3JNb2RlID09ICdtdWx0aWxpbmUnKSAmJiAoX2RlY2wwXzExNi5sYWJlbCA9PSB0cnVlKSk7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xMTYucGxhY2Vob2xkZXI7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMTE2LmVkaXRvck1vZGUgPT0gJ211bHRpbGluZScpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzExNi5pZCwnJyk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xMTYuc2hvd0VkaXRvckNvbnRyb2xzO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTE2LnNob3dFZGl0b3JDb250cm9scztcbiAgY3VyclZhbF81O1xuICBjb25zdCBwZF82OmFueSA9ICgoPGFueT5fZGVjbDBfMTE2Lm9uYmx1cigpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF83OmFueSA9ICgoPGFueT5fZGVjbDBfMTE2Lm9uUGFzdGUoX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzg6YW55ID0gKCg8YW55Pl9kZWNsMF8xMTYuc2V0VmFsdWUoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfOTphbnkgPSAoKDxhbnk+X2RlY2wwXzExNi5zaG93KCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19SZXNwb25zZVNlbGVjdG9yQ29tcG9uZW50X0hvc3RfMTBfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfUmVzcG9uc2VTZWxlY3RvckNvbXBvbmVudF8xMF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAhX2RlY2wwXzExNy5yZXNwb25zZURldGFpbHM7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xMTcucmVzcG9uc2VEZXRhaWxzO1xuICBjdXJyVmFsXzE7XG59XG5mdW5jdGlvbiBfVmlld19Nb3ZlQ29tcG9uZW50X0hvc3RfMTFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfTW92ZUNvbXBvbmVudF8xMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoX2RlY2wwXzExOC5vcGVuUG9ydGFsICE9PSAnUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVCcpO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAncmlnaHQnO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTE4LnBvc2l0aW9uO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTE4LnBvc2l0aW9ucztcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gJ3JpZ2h0JztcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gKCgoX2RlY2wwXzExOC5xdWVzdGlvbkRldGFpbCA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzExOC5xdWVzdGlvbkRldGFpbC50aXRsZSk/ICgoX2RlY2wwXzExOC5xdWVzdGlvbkRldGFpbCA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzExOC5xdWVzdGlvbkRldGFpbC50aXRsZSk6ICdTZWxlY3QgcXVlc3Rpb24nKTtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2FueS50cmFuc2Zvcm0oX2RlY2wwXzExOC5zZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50cyxfZGVjbDBfMTE4LmN1cnJlbnRQYWdlKTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKF9kZWNsMF8xMTguZW1wdHlQYWdlID09PSB0cnVlKTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBwZF84OmFueSA9ICgoPGFueT5fYW55LnBvcG92ZXIoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfOTphbnkgPSAoKDxhbnk+X2FueS5wb3BvdmVyKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzEwOmFueSA9ICgoPGFueT5fZGVjbDBfMTE4Lm1vdmUoKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0xvZ2ljQ29tcG9uZW50X0hvc3RfMTJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfTG9naWNDb21wb25lbnRfMTJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKF9kZWNsMF8xMTkucXVlc3Rpb24udmlzaWJpbGl0eUxvZ2ljLmxlbmd0aCA9PT0gMCk7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMTE5LnF1ZXN0aW9uLnZpc2liaWxpdHlMb2dpYy5sZW5ndGggPiAwKTtcbiAgY3VyclZhbF8xO1xufVxuZnVuY3Rpb24gX1ZpZXdfQWRkTG9naWNDb21wb25lbnRfSG9zdF8xM18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19BZGRMb2dpY0NvbXBvbmVudF8xM18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoX2RlY2wwXzEyMC5xdWVzdGlvbkluZGV4ICsgMSk7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMTIwLmN1cnJlbnRRdWVzdGlvbi5pc1JlcXVpcmVkID09PSB0cnVlKTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKCgoX2RlY2wwXzEyMC5jdXJyZW50UXVlc3Rpb24gPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF8xMjAuY3VycmVudFF1ZXN0aW9uLnRpdGxlKT8gKChfZGVjbDBfMTIwLmN1cnJlbnRRdWVzdGlvbiA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzEyMC5jdXJyZW50UXVlc3Rpb24udGl0bGUpOiAnUXVlc3Rpb24nKTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzEyMC5jdXJyZW50UXVlc3Rpb24uaGFzQ29tbWVudHM7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9ICdsZWZ0JztcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gJ1NlbGVjdCBhIHF1ZXN0aW9uJztcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gJ2JvdHRvbS1sZWZ0JztcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gJ2JsYWNrJztcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IF9hbnkudHJhbnNmb3JtKCgoX2RlY2wwXzEyMC5xdWVzdGlvbnNBcnJheVtfZGVjbDBfMTIwLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0gPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF8xMjAucXVlc3Rpb25zQXJyYXlbX2RlY2wwXzEyMC5zZWxlY3RlZExvZ2ljUXVlc3Rpb25dLnRpdGxlKSk7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSBfYW55LnRyYW5zZm9ybShfZGVjbDBfMTIwLnF1ZXN0aW9uc0FycmF5LF9kZWNsMF8xMjAuY3VycmVudFF1ZXN0aW9uLm5hbWUpO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9ICgoKF9kZWNsMF8xMjAub3BlcmF0b3JNYXAgPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF8xMjAub3BlcmF0b3JNYXAubGVuZ3RoKSA+IDApO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9ICgoX2RlY2wwXzEyMC5sb2dpYy5xdWVzdGlvbk5hbWUgIT0gJycpICYmIChfZGVjbDBfMTIwLmxvZ2ljLm9wZXJhdG9yICYmIChfZGVjbDBfMTIwLmxvZ2ljLm9wZXJhdG9yICE9ICdhbnN3ZXJlZCcpKSk7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gX2RlY2wwXzEyMC5zaG93RXJyb3IuaXNWaXNpYmxlO1xuICBjdXJyVmFsXzEzO1xuICBjb25zdCBwZF8xNDphbnkgPSAoKDxhbnk+X2RlY2wwXzEyMC5jbG9zZVBvcHVwKCdDTE9TRScpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xNTphbnkgPSAoKDxhbnk+X2FueS5wb3BvdmVyKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzE2OmFueSA9ICgoPGFueT5fZGVjbDBfMTIwLnJlc2V0TG9naWMoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTc6YW55ID0gKCg8YW55Pl9kZWNsMF8xMjAuYWRkTG9naWMoKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1Rvb2xraXRDb21wb25lbnRfSG9zdF8xNF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19Ub29sa2l0Q29tcG9uZW50XzE0XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xMjEuc2hvd0NvbGxhcHNlO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAhX2RlY2wwXzEyMS5zaG93Q29sbGFwc2U7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xMjEuc2hvd0NvbGxhcHNlO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSB0cnVlO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gIV9kZWNsMF8xMjEuc2hvd0NvbGxhcHNlO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAhX2RlY2wwXzEyMS5zaG93Q29sbGFwc2U7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gIV9kZWNsMF8xMjEuc2hvd0NvbGxhcHNlO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfMTE7XG4gIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gIV9kZWNsMF8xMjEuc2hvd0NvbGxhcHNlO1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzEzO1xuICBjb25zdCBjdXJyVmFsXzE0OmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzE1O1xuICBjb25zdCBjdXJyVmFsXzE2OmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9ICFfZGVjbDBfMTIxLnNob3dDb2xsYXBzZTtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSAhX2RlY2wwXzEyMS5zaG93Q29sbGFwc2U7XG4gIGN1cnJWYWxfMTg7XG4gIGNvbnN0IHBkXzE5OmFueSA9ICgoPGFueT5fZGVjbDBfMTIxLmNsaWNrQ29sbGFwc2UoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjA6YW55ID0gKCg8YW55Pl9kZWNsMF8xMjEuYWRkUXVlc3Rpb24uZW1pdCgnbXVsdGlwbGUtY2hvaWNlJykpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzIxOmFueSA9ICgoPGFueT5fZGVjbDBfMTIxLmFkZFF1ZXN0aW9uLmVtaXQoJ2NoZWNrYm94JykpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzIyOmFueSA9ICgoPGFueT5fZGVjbDBfMTIxLmFkZFF1ZXN0aW9uLmVtaXQoJ3NpbmdsZS10ZXh0Ym94JykpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzIzOmFueSA9ICgoPGFueT5fZGVjbDBfMTIxLmFkZFF1ZXN0aW9uLmVtaXQoJ2Ryb3Bkb3duJykpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI0OmFueSA9ICgoPGFueT5fZGVjbDBfMTIxLmFkZFF1ZXN0aW9uLmVtaXQoJ2RhdGUtdGltZScpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yNTphbnkgPSAoKDxhbnk+X2RlY2wwXzEyMS5hZGRRdWVzdGlvbi5lbWl0KCdmaWxlLXVwbG9hZCcpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2V0dGluZ0Fub255bW91c0NvbXBvbmVudF9Ib3N0XzE1XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NldHRpbmdBbm9ueW1vdXNDb21wb25lbnRfMTVfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gdHJ1ZTtcbiAgY3VyclZhbF8wO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2V0dGluZ1Jlc3BvbnNlU2VnbWVudENvbXBvbmVudF9Ib3N0XzE2XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NldHRpbmdSZXNwb25zZVNlZ21lbnRDb21wb25lbnRfMTZfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gdHJ1ZTtcbiAgY3VyclZhbF8wO1xufVxuZnVuY3Rpb24gX1ZpZXdfUGFnZUhlYWRlckNvbXBvbmVudF9Ib3N0XzE3XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1BhZ2VIZWFkZXJDb21wb25lbnRfMTdfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzEyNC5wYWdlTmFtZTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzEyNC5wYWdlRGVzY3JpcHRpb247XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgcGRfMjphbnkgPSAoKDxhbnk+X2RlY2wwXzEyNC5lZGl0LmVtaXQoKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1dlbGNvbWVUaGFua3lvdUNvbXBvbmVudF9Ib3N0XzE4XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1dlbGNvbWVUaGFua3lvdUNvbXBvbmVudF8xOF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzEyNS5lbnRpdHlEYXRhLmhhc1dlbGNvbWVJbWFnZTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gJ1dlbGNvbWUgSGVhZGluZyc7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9ICdtdWx0aWxpbmUnO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzEyNS5lbnRpdHlEYXRhLndlbGNvbWVUZXh0O1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAoKF9kZWNsMF8xMjUuZW50aXR5RGF0YSA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzEyNS5lbnRpdHlEYXRhLmhhc1dlbGNvbWVEZXNjcmlwdGlvbik7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IF9kZWNsMF8xMjUuZW50aXR5RGF0YS5oYXNXZWxjb21lRGVzY3JpcHRpb247XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IF9kZWNsMF8xMjUuZW50aXR5RGF0YS5oYXNXZWxjb21lSW1hZ2U7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgcGRfOTphbnkgPSAoKDxhbnk+X2RlY2wwXzEyNS5kZWxldGVRdWVzdGlvbi5lbWl0KCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzEwOmFueSA9ICgoPGFueT4oX2RlY2wwXzEyNS5lbnRpdHlEYXRhLndlbGNvbWVUZXh0ID0gX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzExOmFueSA9ICgoPGFueT4oX2RlY2wwXzEyNS5lbnRpdHlEYXRhLmhhc1dlbGNvbWVEZXNjcmlwdGlvbiA9IF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xMjphbnkgPSAoKDxhbnk+KF9kZWNsMF8xMjUuZW50aXR5RGF0YS5oYXNXZWxjb21lSW1hZ2UgPSBfYW55KSkgIT09IGZhbHNlKTtcbn1cbiJdfQ==
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFzc2Vzc21lbnQubW9kdWxlLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1lZGl0b3IvY3JlYXRlLWFzc2Vzc21lbnQubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL2NyZWF0ZS1hc3Nlc3NtZW50Lm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMiBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0ICogYXMgaTMgZnJvbSAnLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTQgZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTUgZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTYgZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci1ldmVudC5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTcgZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci1sb25ncHJlc3MuZGlyZWN0aXZlJztcbmltcG9ydCAqIGFzIGk4IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0ICogYXMgaTkgZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgKiBhcyBpMTAgZnJvbSAndmNvbXBseS1lZGl0b3InO1xuaW1wb3J0ICogYXMgaTExIGZyb20gJy4uLy4uL2Zvcm1ncm91cC9jcy1jaGVja2JveC9jcy1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTEyIGZyb20gJy4uLy4uL2Zvcm1ncm91cC9jcy1yYWRpby9jcy1yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTEzIGZyb20gJy4uLy4uL2Zvcm1ncm91cC9jcy1zd2l0Y2gvY3Mtc3dpdGNoLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTQgZnJvbSAnLi4vLi4vZm9ybWdyb3VwL2NzLXJhZGlvLWdyb3VwL2NzLXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTUgZnJvbSAnLi4vLi4vZm9ybWdyb3VwL2NzLXNlbGVjdC9jcy1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxNiBmcm9tICcuLi8uLi9mb3JtZ3JvdXAvY3MtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS9jcy1jaGVja2JveC1pbmRldGVybWluYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTcgZnJvbSAnLi4vbm8tZGF0YS9uby1kYXRhLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMTggZnJvbSAnLi9jb21wb25lbnRzL2J1aWxkL211bHRpcGxlLWNob2ljZS9tdWx0aXBsZS1jaG9pY2UuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkxOSBmcm9tICcuL2NvbXBvbmVudHMvYnVpbGQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyMCBmcm9tICcuL2NvbXBvbmVudHMvYnVpbGQvaW1hZ2UtY2hvaWNlL2ltYWdlLWNob2ljZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTIxIGZyb20gJy4vY29tcG9uZW50cy9idWlsZC9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTIyIGZyb20gJy4vY29tcG9uZW50cy9idWlsZC9tYXRyaXgtZHJvcGRvd24vbWF0cml4LWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMjMgZnJvbSAnLi9jb21wb25lbnRzL2J1aWxkL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMjQgZnJvbSAnLi9jb21wb25lbnRzL2J1aWxkL21hdHJpeC1yYXRpbmctc2NhbGUvbWF0cml4LXJhdGluZy1zY2FsZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTI1IGZyb20gJy4vY29tcG9uZW50cy9idWlsZC9yYW5raW5nL3JhbmtpbmcuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyNiBmcm9tICcuL2NvbXBvbmVudHMvYnVpbGQvc2xpZGVyL3NsaWRlci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTI3IGZyb20gJy4vY29tcG9uZW50cy9idWlsZC9tdWx0aXBsZS10ZXh0Ym94L211bHRpcGxlLXRleHRib3guY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkyOCBmcm9tICcuL2NvbXBvbmVudHMvYnVpbGQvZGF0ZS10aW1lL2RhdGUtdGltZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTI5IGZyb20gJy4vY29tcG9uZW50cy9idWlsZC93ZWxjb21lL3dlbGNvbWUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkzMCBmcm9tICcuL2NvbXBvbmVudHMvYnVpbGQvdGhhbmsteW91L3RoYW5rLXlvdS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTMxIGZyb20gJy4vY29tcG9uZW50cy9idWlsZC93ZWlnaHRhZ2Utc2VsZWN0b3Ivd2VpZ2h0YWdlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzIgZnJvbSAnLi9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy13cmFwcGVyL3ByZXZpZXctd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTMzIGZyb20gJy4vY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXctbXVsdGlwbGUtY2hvaWNlL3ByZXZpZXctbXVsdGlwbGUtY2hvaWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzQgZnJvbSAnLi9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy1jaGVja2JveC9wcmV2aWV3LWNoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpMzUgZnJvbSAnLi9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy1pbWFnZS1jaG9pY2UvcHJldmlldy1pbWFnZS1jaG9pY2UuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkzNiBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LXN0YXItcmF0aW5nL3ByZXZpZXctc3Rhci1yYXRpbmcuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkzNyBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LXNpbmdsZS10ZXh0Ym94L3ByZXZpZXctc2luZ2xlLXRleHRib3guY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkzOCBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LWNvbW1lbnQtYm94L3ByZXZpZXctY29tbWVudC1ib3guY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGkzOSBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LW1hdHJpeC1kcm9wZG93bi9wcmV2aWV3LW1hdHJpeC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTQwIGZyb20gJy4vY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXctZHJvcGRvd24vcHJldmlldy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTQxIGZyb20gJy4vY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXctbWF0cml4LXJhdGluZy1zY2FsZS9wcmV2aWV3LW1hdHJpeC1yYXRpbmctc2NhbGUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0MiBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LXJhbmtpbmcvcHJldmlldy1yYW5raW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNDMgZnJvbSAnLi9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy1zbGlkZXIvcHJldmlldy1zbGlkZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0NCBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LW11bHRpcGxlLXRleHRib3gvcHJldmlldy1tdWx0aXBsZS10ZXh0Ym94LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNDUgZnJvbSAnLi9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy1kYXRlLXRpbWUvcHJldmlldy1kYXRlLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0NiBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LWZpbGUtdXBsb2FkL3ByZXZpZXctZmlsZS11cGxvYWQuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0NyBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy93ZWxjb21lL3dlbGNvbWUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk0OCBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy90aGFuay15b3UvdGhhbmsteW91LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNDkgZnJvbSAnLi4vYXNzZXNzbWVudC1wcmV2aWV3L2NoZWNrYm94LXF1ZXN0aW9uL2NoZWNrYm94LXF1ZXN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNTAgZnJvbSAnLi4vYXNzZXNzbWVudC1wcmV2aWV3L2RhdGUtdGltZS9kYXRlLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk1MSBmcm9tICcuLi9hc3Nlc3NtZW50LXByZXZpZXcvZGV2aWNlL2RldmljZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTUyIGZyb20gJy4uL2Fzc2Vzc21lbnQtcHJldmlldy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTUzIGZyb20gJy4uL2Fzc2Vzc21lbnQtcHJldmlldy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk1NCBmcm9tICcuLi9hc3Nlc3NtZW50LXByZXZpZXcvcHJldmlldy1jb250YWluZXIvcHJldmlldy1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk1NSBmcm9tICcuLi9hc3Nlc3NtZW50LXByZXZpZXcvcXVpY2stc2V0dGluZ3MvcXVpY2stc2V0dGluZ3MuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk1NiBmcm9tICcuLi9hc3Nlc3NtZW50LXByZXZpZXcvcmFkaW8tcXVlc3Rpb24vcmFkaW8tcXVlc3Rpb24uY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk1NyBmcm9tICcuLi9hc3Nlc3NtZW50LXByZXZpZXcvc2VsZWN0LXF1ZXN0aW9uL3NlbGVjdC1xdWVzdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTU4IGZyb20gJy4uL2Fzc2Vzc21lbnQtcHJldmlldy9zaW5nbGUtdGV4dGJveC9zaW5nbGUtdGV4dGJveC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTU5IGZyb20gJy4uL2Fzc2Vzc21lbnQtcHJldmlldy93ZWxjb21lL3dlbGNvbWUuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk2MCBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBpNjEgZnJvbSAnLi9jb21wb25lbnRzL2xvZ2ljLXF1ZXN0aW9ucy9sb2dpYy1tdWx0aXBsZS1jaG9pY2UvbG9naWMtbXVsdGlwbGUtY2hvaWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNjIgZnJvbSAnLi9jb21wb25lbnRzL2xvZ2ljLXF1ZXN0aW9ucy9sb2dpYy1jaGVja2JveC9sb2dpYy1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTYzIGZyb20gJy4vY29tcG9uZW50cy9sb2dpYy1xdWVzdGlvbnMvbG9naWMtaW1hZ2UtY2hvaWNlL2xvZ2ljLWltYWdlLWNob2ljZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTY0IGZyb20gJy4vY29tcG9uZW50cy9sb2dpYy1xdWVzdGlvbnMvbG9naWMtc3Rhci1yYXRpbmcvbG9naWMtc3Rhci1yYXRpbmcuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk2NSBmcm9tICcuL2NvbXBvbmVudHMvbG9naWMtcXVlc3Rpb25zL2xvZ2ljLXNpbmdsZS10ZXh0Ym94L2xvZ2ljLXNpbmdsZS10ZXh0Ym94LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNjYgZnJvbSAnLi9jb21wb25lbnRzL2xvZ2ljLXF1ZXN0aW9ucy9sb2dpYy1jb21tZW50LWJveC9sb2dpYy1jb21tZW50LWJveC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTY3IGZyb20gJy4vY29tcG9uZW50cy9sb2dpYy1xdWVzdGlvbnMvbG9naWMtZHJvcGRvd24vbG9naWMtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk2OCBmcm9tICcuL2NvbXBvbmVudHMvbG9naWMtcXVlc3Rpb25zL2xvZ2ljLXJhbmtpbmcvbG9naWMtcmFua2luZy5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTY5IGZyb20gJy4vY29tcG9uZW50cy9sb2dpYy1xdWVzdGlvbnMvbG9naWMtc2xpZGVyL2xvZ2ljLXNsaWRlci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTcwIGZyb20gJy4vY29tcG9uZW50cy9sb2dpYy1xdWVzdGlvbnMvbG9naWMtbXVsdGlwbGUtdGV4dGJveC9sb2dpYy1tdWx0aXBsZS10ZXh0Ym94LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNzEgZnJvbSAnLi9jb21wb25lbnRzL2xvZ2ljLXF1ZXN0aW9ucy9sb2dpYy1kYXRlLXRpbWUvbG9naWMtZGF0ZS10aW1lLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNzIgZnJvbSAnLi4vLi4vdWkta2l0L2VkaXRvci1sb2FkZXIvZWRpdG9yLWxvYWRlci9lZGl0b3ItbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNzMgZnJvbSAnLi9jcmVhdGUtYXNzZXNzbWVudC1jb250YWluZXIvY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNzQgZnJvbSAnLi9jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUvcXVlc3Rpb24tdHlwZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTc1IGZyb20gJy4vY29tcG9uZW50cy9hZGQtcGFnZS1kZXRhaWxzL2FkZC1wYWdlLWRldGFpbHMuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGk3NiBmcm9tICcuL2NvbXBvbmVudHMvYXNzZXNzbWVudC1zZXR0aW5ncy9hc3Nlc3NtZW50LXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNzcgZnJvbSAnLi9jb21wb25lbnRzL2FkZC1zZWdtZW50LXBvcHVwL2FkZC1zZWdtZW50LXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpNzggZnJvbSAnLi9jb21wb25lbnRzL2FkZC1yZXNwb25zZS1zZXQtcG9wdXAvYWRkLXJlc3BvbnNlLXNldC1wb3B1cC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTc5IGZyb20gJy4vY29tcG9uZW50cy9lZGl0b3Itd3JhcHBlci9lZGl0b3Itd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTgwIGZyb20gJy4vY29tcG9uZW50cy9xdWljay1zZXR0aW5ncy9xdWljay1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTgxIGZyb20gJy4vY29tcG9uZW50cy9zaW5nbGUtbGluZS1lZGl0b3Ivc2luZ2xlLWxpbmUtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpODIgZnJvbSAnLi9jb21wb25lbnRzL3Jlc3BvbnNlLXNlbGVjdG9yL3Jlc3BvbnNlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpODMgZnJvbSAnLi9jb21wb25lbnRzL21vdmUvbW92ZS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTg0IGZyb20gJy4vY29tcG9uZW50cy9sb2dpYy9sb2dpYy5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTg1IGZyb20gJy4vY29tcG9uZW50cy9hZGQtbG9naWMvYWRkLWxvZ2ljLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpODYgZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xraXQvdG9vbGtpdC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTg3IGZyb20gJy4vY29tcG9uZW50cy9zZXR0aW5nLWFub255bW91cy9zZXR0aW5nLWFub255bW91cy5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTg4IGZyb20gJy4vY29tcG9uZW50cy9zZXR0aW5nLXJlc3BvbnNlLXNlZ21lbnQvc2V0dGluZy1yZXNwb25zZS1zZWdtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpODkgZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBpOTAgZnJvbSAnLi9jb21wb25lbnRzL3dlbGNvbWUtdGhhbmt5b3Uvd2VsY29tZS10aGFua3lvdS5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgaTkxIGZyb20gJy4vY29tcG9uZW50cy9waXBlcy9lcnJvci1tZXNzYWdlLnBpcGUnO1xuaW1wb3J0ICogYXMgaTkyIGZyb20gJy4vY29tcG9uZW50cy9waXBlcy9xdWVzdGlvbi1maWx0ZXIucGlwZSc7XG5pbXBvcnQgKiBhcyBpOTMgZnJvbSAnLi9jb21wb25lbnRzL3BpcGVzL3F1ZXN0aW9uLXBhcnNlci5waXBlJztcbmltcG9ydCAqIGFzIGk5NCBmcm9tICcuL2NvbXBvbmVudHMvcGlwZXMvZm9ybWF0dGVyLnBpcGUnO1xuaW1wb3J0ICogYXMgaTk1IGZyb20gJy4vY29tcG9uZW50cy9waXBlcy9jdXJyZW50LXBhZ2UtcXVlc3Rpb24ucGlwZSc7XG5pbXBvcnQgKiBhcyBpOTYgZnJvbSAnLi9jb21wb25lbnRzL3BpcGVzL3F1ZXN0aW9uLXBhZ2UtZmlsdGVyLnBpcGUnO1xuaW1wb3J0ICogYXMgaTk3IGZyb20gJy4vY29tcG9uZW50cy9waXBlcy90eXBlLW9mLnBpcGUnO1xuaW1wb3J0ICogYXMgaTk4IGZyb20gJy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCAqIGFzIGk5OSBmcm9tICcuLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMTAwIGZyb20gJy4uLy4uL3VpLWtpdC9kaWFsb2cvZGlhbG9nLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMTAxIGZyb20gJy4uLy4uL2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcbmltcG9ydCAqIGFzIGkxMDIgZnJvbSAnLi4vbm8tZGF0YS9uby1kYXRhLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMTAzIGZyb20gJy4vY29tcG9uZW50cy9idWlsZC9idWlsZC5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTEwNCBmcm9tICcuL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3Lm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMTA1IGZyb20gJy4uL2Fzc2Vzc21lbnQtcHJldmlldy9hc3Nlc3NtZW50LXByZXZpZXcubW9kdWxlJztcbmltcG9ydCAqIGFzIGkxMDYgZnJvbSAnLi9jb21wb25lbnRzL2xvZ2ljLXF1ZXN0aW9ucy9sb2dpYy1xdWVzdGlvbnMubW9kdWxlJztcbmltcG9ydCAqIGFzIGkxMDcgZnJvbSAnLi4vLi4vdWkta2l0L2VkaXRvci1sb2FkZXIvZWRpdG9yLWxvYWRlci5tb2R1bGUnO1xuZXhwb3J0IGNvbnN0IENyZWF0ZUFzc2Vzc21lbnRNb2R1bGVOZ0ZhY3Rvcnk6aTAuTmdNb2R1bGVGYWN0b3J5PGkxLkNyZWF0ZUFzc2Vzc21lbnRNb2R1bGU+ID0gKG51bGwgYXMgYW55KTtcbnZhciBfZGVjbDBfMDppMi5OZ0NsYXNzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE6aTIuTmdDb21wb25lbnRPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjppMi5OZ0Zvck9mPGFueSxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM6aTIuTmdJZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ6aTIuTmdUZW1wbGF0ZU91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OmkyLk5nU3R5bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjppMi5OZ1N3aXRjaCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83OmkyLk5nU3dpdGNoQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84OmkyLk5nU3dpdGNoRGVmYXVsdCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85OmkyLk5nUGx1cmFsID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwOmkyLk5nUGx1cmFsQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTppMy5Ub29sVGlwRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOmk0LlBvcG92ZXJDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM6aTUuUG9wb3ZlckRpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDppNi5Qb3BvdmVyRXZlbnREaXJlY3RpdmUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTU6aTcuUG9wb3ZlckxvbmdwcmVzc0RpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNjppOC5DZGtTY3JvbGxhYmxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE3Omk5LkNka0Ryb3BMaXN0PGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTg6aTkuQ2RrRHJvcExpc3RHcm91cDxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE5Omk5LkNka0RyYWc8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMDppOS5DZGtEcmFnSGFuZGxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIxOmk5LkNka0RyYWdQcmV2aWV3PGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjI6aTkuQ2RrRHJhZ1BsYWNlaG9sZGVyPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjM6aTEwLsm1YSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNDppMTEuQ3NDaGVja2JveENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNTppMTIuQ3NSYWRpb0NvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNjppMTMuQ3NTd2l0Y2hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjc6aTE0LkNzUmFkaW9Hcm91cENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yODppMTUuQ3NTZWxlY3RDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjk6aTE2LkNzQ2hlY2tib3hJbmRldGVybWluYXRlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMwOmkxNy5Ob0RhdGFDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzE6aTE4Lk11bHRpcGxlQ2hvaWNlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMyOmkxOS5DaGVja2JveENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMzppMjAuSW1hZ2VDaG9pY2VDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzQ6aTIxLlN0YXJSYXRpbmdDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzU6aTIyLk1hdHJpeERyb3Bkb3duQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM2OmkyMy5Ecm9wZG93bkNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNzppMjQuTWF0cml4UmF0aW5nU2NhbGVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzg6aTI1LlJhbmtpbmdDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzk6aTI2LlNsaWRlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MDppMjcuTXVsdGlwbGVUZXh0Ym94Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQxOmkyOC5EYXRlVGltZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MjppMjkuV2VsY29tZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MzppMzAuVGhhbmtZb3VDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDQ6aTMxLldlaWdodGFnZVNlbGVjdG9yQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ1OmkzMi5QcmV2aWV3V3JhcHBlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80NjppMzMuUHJldmlld011bHRpcGxlQ2hvaWNlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ3OmkzNC5QcmV2aWV3Q2hlY2tib3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDg6aTM1LlByZXZpZXdJbWFnZUNob2ljZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80OTppMzYuUHJldmlld1N0YXJSYXRpbmdDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTA6aTM3LlByZXZpZXdTaW5nbGVUZXh0Ym94Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzUxOmkzOC5QcmV2aWV3Q29tbWVudEJveENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MjppMzkuUHJldmlld01hdHJpeERyb3Bkb3duQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzUzOmk0MC5QcmV2aWV3RHJvcGRvd25Db21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTQ6aTQxLlByZXZpZXdNYXRyaXhSYXRpbmdTY2FsZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NTppNDIuUHJldmlld1JhbmtpbmdDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTY6aTQzLlByZXZpZXdTbGlkZXJDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTc6aTQ0LlByZXZpZXdNdWx0aXBsZVRleHRib3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTg6aTQ1LlByZXZpZXdEYXRlVGltZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OTppNDYuUHJldmlld0ZpbGVVcGxvYWRDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjA6aTQ3LldlbGNvbWVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjE6aTQ4LlRoYW5rWW91Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzYyOmk0OS5DaGVja2JveFF1ZXN0aW9uQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzYzOmk1MC5EYXRlVGltZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82NDppNTEuRGV2aWNlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY1Omk1Mi5GaWxlVXBsb2FkQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY2Omk1My5QcmV2aWV3Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY3Omk1NC5QcmV2aWV3Q29udGFpbmVyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY4Omk1NS5RdWlja1NldHRpbmdzQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY5Omk1Ni5SYWRpb1F1ZXN0aW9uQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzcwOmk1Ny5TZWxlY3RRdWVzdGlvbkNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83MTppNTguU2luZ2xlVGV4dGJveENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83MjppNTkuV2VsY29tZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83MzppNjAuybVhbmd1bGFyX3BhY2thZ2VzX2Zvcm1zX2Zvcm1zX2JiID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc0Omk2MC5OZ1NlbGVjdE9wdGlvbiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83NTppNjAuybVhbmd1bGFyX3BhY2thZ2VzX2Zvcm1zX2Zvcm1zX2JhID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc2Omk2MC5EZWZhdWx0VmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83NzppNjAuTnVtYmVyVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83ODppNjAuUmFuZ2VWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc5Omk2MC5DaGVja2JveENvbnRyb2xWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzgwOmk2MC5TZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84MTppNjAuU2VsZWN0TXVsdGlwbGVDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84MjppNjAuUmFkaW9Db250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84MzppNjAuTmdDb250cm9sU3RhdHVzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg0Omk2MC5OZ0NvbnRyb2xTdGF0dXNHcm91cCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84NTppNjAuUmVxdWlyZWRWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODY6aTYwLk1pbkxlbmd0aFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84NzppNjAuTWF4TGVuZ3RoVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg4Omk2MC5QYXR0ZXJuVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg5Omk2MC5DaGVja2JveFJlcXVpcmVkVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzkwOmk2MC5FbWFpbFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85MTppNjAuTWluVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzkyOmk2MC5NYXhWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTM6aTYwLk5nTW9kZWwgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTQ6aTYwLk5nTW9kZWxHcm91cCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85NTppNjAuTmdGb3JtID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk2Omk2MS5Mb2dpY011bHRpcGxlQ2hvaWNlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk3Omk2Mi5Mb2dpY0NoZWNrYm94Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk4Omk2My5Mb2dpY0ltYWdlQ2hvaWNlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk5Omk2NC5Mb2dpY1N0YXJSYXRpbmdDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTAwOmk2NS5Mb2dpY1NpbmdsZVRleHRib3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTAxOmk2Ni5Mb2dpY0NvbW1lbnRCb3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTAyOmk2Ny5Mb2dpY0Ryb3Bkb3duQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwMzppNjguTG9naWNSYW5raW5nQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwNDppNjkuTG9naWNTbGlkZXJDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA1Omk3MC5Mb2dpY011bHRpcGxlVGV4dGJveENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMDY6aTcxLkxvZ2ljRGF0ZVRpbWVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA3Omk3Mi5FZGl0b3JMb2FkZXJDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA4Omk3My5DcmVhdGVBc3Nlc3NtZW50Q29udGFpbmVyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwOTppNzQuUXVlc3Rpb25UeXBlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExMDppNzUuQWRkUGFnZURldGFpbHNDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTExOmk3Ni5Bc3Nlc3NtZW50U2V0dGluZ3NDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTEyOmk3Ny5BZGRTZWdtZW50UG9wdXBDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTEzOmk3OC5BZGRSZXNwb25zZVNldFBvcHVwQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExNDppNzkuRWRpdG9yV3JhcHBlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTU6aTgwLlF1aWNrU2V0dGluZ3NDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTE2Omk4MS5TaW5nbGVMaW5lRWRpdG9yQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExNzppODIuUmVzcG9uc2VTZWxlY3RvckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTg6aTgzLk1vdmVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTE5Omk4NC5Mb2dpY0NvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjA6aTg1LkFkZExvZ2ljQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyMTppODYuVG9vbGtpdENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjI6aTg3LlNldHRpbmdBbm9ueW1vdXNDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTIzOmk4OC5TZXR0aW5nUmVzcG9uc2VTZWdtZW50Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyNDppODkuUGFnZUhlYWRlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjU6aTkwLldlbGNvbWVUaGFua3lvdUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjY6aTIuQXN5bmNQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyNzppMi5VcHBlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyODppMi5Mb3dlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOTppMi5Kc29uUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMzA6aTIuU2xpY2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEzMTppMi5EZWNpbWFsUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMzI6aTIuUGVyY2VudFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTMzOmkyLlRpdGxlQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM0OmkyLkN1cnJlbmN5UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMzU6aTIuRGF0ZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM2OmkyLkkxOG5QbHVyYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEzNzppMi5JMThuU2VsZWN0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMzg6aTIuS2V5VmFsdWVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE0MDppOTEuRXJyb3JNZXNzYWdlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDI6aTkyLlF1ZXN0aW9uRmlsdGVyUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDQ6aTkzLlF1ZXN0aW9uUGFyc2VyUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDY6aTk0LkZvcm1hdHRlclBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTQ4Omk5NS5DdXJyZW50UGFnZVF1ZXN0aW9uUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNTA6aTk2LlF1ZXN0aW9uUGFnZUZpbHRlclBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTUyOmk5Ny5UeXBlT2ZQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1MzppMi5Db21tb25Nb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTU0Omk5OC5Ub29sdGlwTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1NTppOTkuUG9wb3Zlck1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNTY6aTkuRHJhZ0Ryb3BNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTU3OmkxMDAuRGlhbG9nTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1ODppMTAuTWFyeEVkaXRvck1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNTk6aTEwMS5Gb3JtZ3JvdXBNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTYwOmkxMDIuTm9EYXRhTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE2MTppMTAzLkJ1aWxkTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE2MjppMTA0LlByZXZpZXdNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTYzOmkxMDUuQXNzZXNzbWVudFByZXZpZXdNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY0Omk2MC5Gb3Jtc01vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNjU6aTEwNi5Mb2dpY1F1ZXN0aW9uc01vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNjY6aTEwNy5FZGl0b3JMb2FkZXJNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY3OmkwLlRlbXBsYXRlUmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY4OmkwLkVsZW1lbnRSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xuZnVuY3Rpb24gX1ZpZXdfQ3JlYXRlQXNzZXNzbWVudENvbnRhaW5lckNvbXBvbmVudF9Ib3N0XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfQ3JlYXRlQXNzZXNzbWVudENvbnRhaW5lckNvbXBvbmVudF8xXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfZGVjbDBfMTA4LnBhZ2VNb2RlID09PSAnRURJVCcpO1xuICBjdXJyVmFsXzA7XG59XG5mdW5jdGlvbiBfVmlld19RdWVzdGlvblR5cGVDb21wb25lbnRfSG9zdF8yXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1F1ZXN0aW9uVHlwZUNvbXBvbmVudF8yXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IHBkXzEwOmFueSA9ICgoPGFueT5fZGVjbDBfMTA5LmFkZFF1ZXN0aW9uLmVtaXQoJ211bHRpcGxlLWNob2ljZScpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xMTphbnkgPSAoKDxhbnk+X2RlY2wwXzEwOS5hZGRRdWVzdGlvbi5lbWl0KCdjaGVja2JveCcpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xMjphbnkgPSAoKDxhbnk+X2RlY2wwXzEwOS5hZGRRdWVzdGlvbi5lbWl0KCdzaW5nbGUtdGV4dGJveCcpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xMzphbnkgPSAoKDxhbnk+X2RlY2wwXzEwOS5hZGRRdWVzdGlvbi5lbWl0KCdkcm9wZG93bicpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xNDphbnkgPSAoKDxhbnk+X2RlY2wwXzEwOS5hZGRRdWVzdGlvbi5lbWl0KCdkYXRlLXRpbWUnKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTU6YW55ID0gKCg8YW55Pl9kZWNsMF8xMDkuYWRkUXVlc3Rpb24uZW1pdCgnZmlsZS11cGxvYWQnKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0FkZFBhZ2VEZXRhaWxzQ29tcG9uZW50X0hvc3RfM18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19BZGRQYWdlRGV0YWlsc0NvbXBvbmVudF8zXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdQYWdlIHRpdGxlJztcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gJ211bHRpbGluZSc7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTEwLnBhZ2VEZXRhaWxzLnBhZ2VOYW1lO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTEwLmRlc2NyaXB0aW9uO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTEwLnBhZ2VEZXRhaWxzLnBhZ2VEZXNjcmlwdGlvbjtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgcGRfNzphbnkgPSAoKDxhbnk+X2RlY2wwXzExMC5jYW5jZWxQYWdlRGV0YWlscygpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF84OmFueSA9ICgoPGFueT4oX2RlY2wwXzExMC5wYWdlRGV0YWlscy5wYWdlTmFtZSA9IF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF85OmFueSA9ICgoPGFueT4oX2RlY2wwXzExMC5wYWdlRGV0YWlscy5wYWdlRGVzY3JpcHRpb24gPSBfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTA6YW55ID0gKCg8YW55Pl9kZWNsMF8xMTAuY2FuY2VsUGFnZURldGFpbHMoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTE6YW55ID0gKCg8YW55Pl9kZWNsMF8xMTAuc2F2ZVBhZ2VEZXRhaWxzKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19Bc3Nlc3NtZW50U2V0dGluZ3NDb21wb25lbnRfSG9zdF80XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0Fzc2Vzc21lbnRTZXR0aW5nc0NvbXBvbmVudF80XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9hbnkudHJhbnNmb3JtKCgoX2RlY2wwXzExMS5zZXR0aW5nc0RhdGEgPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF8xMTEuc2V0dGluZ3NEYXRhLnBhbmVsVGl0bGUpKTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gJ1tFc2NdIHRvIGNsb3NlJztcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gJ2xlZnQnO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAnYmxhY2snO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSB0cnVlO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gKChfZGVjbDBfMTExLnNldHRpbmdzRGF0YSA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzExMS5zZXR0aW5nc0RhdGEuc2V0dGluZ3NFbGVtZW50cyk7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgcGRfNzphbnkgPSAoKDxhbnk+X2RlY2wwXzExMS5jbG9zZVBhbmVsKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19BZGRTZWdtZW50UG9wdXBDb21wb25lbnRfSG9zdF81XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0FkZFNlZ21lbnRQb3B1cENvbXBvbmVudF81XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfZGVjbDBfMTEyLnNlZ21lbnRFcnJvci5sZW5ndGggPiAwKTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzExMi5jcml0ZXJpYS5zZWdtZW50TmFtZTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzExMi5jcml0ZXJpYS5jb2xvcjtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gKDxhbnk+e3N0YW5kYWxvbmU6dHJ1ZX0pO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTEyLmNyaXRlcmlhLmNvbG9yO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTEyLmRlc2NyaXB0aW9uO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBfZGVjbDBfMTEyLmNyaXRlcmlhLnNlZ21lbnREZXNjcmlwdGlvbjtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gX2RlY2wwXzExMi5jcml0ZXJpYS5mcm9tUmFuZ2U7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IF9kZWNsMF8xMTIuY3JpdGVyaWEudG9SYW5nZTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gKF9kZWNsMF8xMTIuc2VnbWVudEVycm9yLmxlbmd0aCA9PT0gMCk7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSAoX2RlY2wwXzExMi5zZWdtZW50RXJyb3IubGVuZ3RoID4gMCk7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IHBkXzExOmFueSA9ICgoPGFueT4oX2RlY2wwXzExMi5jcml0ZXJpYS5zZWdtZW50TmFtZSA9IF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xMjphbnkgPSAoKDxhbnk+KF9kZWNsMF8xMTIuY3JpdGVyaWEuY29sb3IgPSBfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTM6YW55ID0gKCg8YW55PihfZGVjbDBfMTEyLmNyaXRlcmlhLnNlZ21lbnREZXNjcmlwdGlvbiA9IF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xNDphbnkgPSAoKDxhbnk+X2RlY2wwXzExMi5mcm9tTWFuYWdlcignLScpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xNTphbnkgPSAoKDxhbnk+KF9kZWNsMF8xMTIuY3JpdGVyaWEuZnJvbVJhbmdlID0gX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzE2OmFueSA9ICgoPGFueT5fZGVjbDBfMTEyLmZyb21NYW5hZ2VyKCcrJykpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzE3OmFueSA9ICgoPGFueT5fZGVjbDBfMTEyLnRvTWFuYWdlcignLScpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xODphbnkgPSAoKDxhbnk+KF9kZWNsMF8xMTIuY3JpdGVyaWEudG9SYW5nZSA9IF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xOTphbnkgPSAoKDxhbnk+X2RlY2wwXzExMi50b01hbmFnZXIoJysnKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0FkZFJlc3BvbnNlU2V0UG9wdXBDb21wb25lbnRfSG9zdF82XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0FkZFJlc3BvbnNlU2V0UG9wdXBDb21wb25lbnRfNl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAhX2RlY2wwXzExMy5oaWRlU3BlY2lmaWNDYXRlZ29yeTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzExMy5oaWRlU3BlY2lmaWNDYXRlZ29yeTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gIV9kZWNsMF8xMTMuaGlkZVNwZWNpZmljQ2F0ZWdvcnk7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8xMTMuaGlkZVNwZWNpZmljQ2F0ZWdvcnk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xMTMuaGlkZVNwZWNpZmljQ2F0ZWdvcnk7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9ICFfZGVjbDBfMTEzLmhpZGVTcGVjaWZpY0NhdGVnb3J5O1xuICBjdXJyVmFsXzU7XG59XG5mdW5jdGlvbiBfVmlld19FZGl0b3JXcmFwcGVyQ29tcG9uZW50X0hvc3RfN18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19FZGl0b3JXcmFwcGVyQ29tcG9uZW50XzdfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzExNC52aWV3TW9kZTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzExNC5lcnJvclByZXNlbnQ7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoX2RlY2wwXzExNC52aWV3TW9kZSA9PSAnYnVpbGQnKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gKF9hbnkudHJhbnNmb3JtKF9kZWNsMF8xMTQuc2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMsX2RlY2wwXzExNC5zZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKSA9PT0gZmFsc2UpO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAoX2RlY2wwXzExNC52aWV3TW9kZSA9PSAnbG9naWMnKTtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gKF9hbnkudHJhbnNmb3JtKF9kZWNsMF8xMTQuc2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMsX2RlY2wwXzExNC5zZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKSA9PT0gZmFsc2UpO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAoKChfZGVjbDBfMTE0LnNlcnZpY2UuZm9ybXNQYWdlID09IG51bGwpPyAobnVsbCBhcyBhbnkpOiAoKF9kZWNsMF8xMTQuc2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMgPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF8xMTQuc2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMubGVuZ3RoKSkgPCAyKTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gKF9kZWNsMF8xMTQudmlld01vZGUgPT0gJ21vdmUnKTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gX2RlY2wwXzExNC52aWV3TW9kZTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9ICdidWlsZCc7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gJ2xvZ2ljJztcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSAnbW92ZSc7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gX2FueS50cmFuc2Zvcm0oKChfZGVjbDBfMTE0LnF1ZXN0aW9uID09IG51bGwpPyAobnVsbCBhcyBhbnkpOiBfZGVjbDBfMTE0LnF1ZXN0aW9uLmVycm9yQXJyYXkpKTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBfZGVjbDBfMTE0Lm5leHRRdWVzdGlvbjtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSBfZGVjbDBfMTE0Lm5leHRRdWVzdGlvbjtcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgcGRfMTY6YW55ID0gKCg8YW55PihfZGVjbDBfMTE0LnZpZXdNb2RlID0gJ2J1aWxkJykpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzE3OmFueSA9ICgoPGFueT4oX2RlY2wwXzExNC52aWV3TW9kZSA9ICdsb2dpYycpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xODphbnkgPSAoKDxhbnk+KF9kZWNsMF8xMTQudmlld01vZGUgPSAnbW92ZScpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xOTphbnkgPSAoKDxhbnk+X2RlY2wwXzExNC5jb3B5UXVlc3Rpb24uZW1pdChfZGVjbDBfMTE0LnF1ZXN0aW9uSW5kZXgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yMDphbnkgPSAoKDxhbnk+X2RlY2wwXzExNC5kZWxldGVRdWVzdGlvbi5lbWl0KF9kZWNsMF8xMTQucXVlc3Rpb25JbmRleCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzIxOmFueSA9ICgoPGFueT5fZGVjbDBfMTE0Lm9wZW5OZXh0UXVlc3Rpb24oKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjI6YW55ID0gKCg8YW55Pl9kZWNsMF8xMTQuY2hlY2tGb3JWYWxpZGF0aW9uU3RhdHVzKCdzYXZlJykpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19RdWlja1NldHRpbmdzQ29tcG9uZW50X0hvc3RfOF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19RdWlja1NldHRpbmdzQ29tcG9uZW50XzhfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ3JpZ2h0JztcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gJ3F1ZXN0aW9uLWljb24gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1tci0yJztcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzExNS5zZWxlY3RlZFF1ZXN0aW9uRGV0YWlscy5xdWVzdGlvbkNsYXNzO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTE1LnNlbGVjdGVkUXVlc3Rpb25EZXRhaWxzLnF1ZXN0aW9uSWNvbjtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzExNS5zZWxlY3RlZFF1ZXN0aW9uRGV0YWlscy5xdWVzdGlvbk5hbWU7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xMTUucXVlc3Rpb25UeXBlRHJvcGRvd247XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IF9kZWNsMF8xMTUucXVpY2tTZXR0aW5nc0xpc3Q7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IF9kZWNsMF8xMTUuZmQuZm9ybXNQYWdlLmVsZW1lbnRzW19kZWNsMF8xMTUucXVlc3Rpb25JbmRleF0uaGFzQ2hhcmFjdGVyTGVuZ3RoO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IHBkXzg6YW55ID0gKCg8YW55Pl9hbnkucG9wb3ZlcigpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2luZ2xlTGluZUVkaXRvckNvbXBvbmVudF9Ib3N0XzlfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2luZ2xlTGluZUVkaXRvckNvbXBvbmVudF85XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9ICgoX2RlY2wwXzExNi5lZGl0b3JNb2RlID09ICdtdWx0aWxpbmUnKSAmJiAoX2RlY2wwXzExNi5sYWJlbCA9PSB0cnVlKSk7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xMTYucGxhY2Vob2xkZXI7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMTE2LmVkaXRvck1vZGUgPT0gJ211bHRpbGluZScpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzExNi5pZCwnJyk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xMTYuc2hvd0VkaXRvckNvbnRyb2xzO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTE2LnNob3dFZGl0b3JDb250cm9scztcbiAgY3VyclZhbF81O1xuICBjb25zdCBwZF82OmFueSA9ICgoPGFueT5fZGVjbDBfMTE2Lm9uYmx1cigpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF83OmFueSA9ICgoPGFueT5fZGVjbDBfMTE2Lm9uUGFzdGUoX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzg6YW55ID0gKCg8YW55Pl9kZWNsMF8xMTYuc2V0VmFsdWUoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfOTphbnkgPSAoKDxhbnk+X2RlY2wwXzExNi5zaG93KCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19SZXNwb25zZVNlbGVjdG9yQ29tcG9uZW50X0hvc3RfMTBfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfUmVzcG9uc2VTZWxlY3RvckNvbXBvbmVudF8xMF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAhX2RlY2wwXzExNy5yZXNwb25zZURldGFpbHM7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xMTcucmVzcG9uc2VEZXRhaWxzO1xuICBjdXJyVmFsXzE7XG59XG5mdW5jdGlvbiBfVmlld19Nb3ZlQ29tcG9uZW50X0hvc3RfMTFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfTW92ZUNvbXBvbmVudF8xMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoX2RlY2wwXzExOC5vcGVuUG9ydGFsICE9PSAnUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVCcpO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAncmlnaHQnO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTE4LnBvc2l0aW9uO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTE4LnBvc2l0aW9ucztcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gJ3JpZ2h0JztcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gKCgoX2RlY2wwXzExOC5xdWVzdGlvbkRldGFpbCA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzExOC5xdWVzdGlvbkRldGFpbC50aXRsZSk/ICgoX2RlY2wwXzExOC5xdWVzdGlvbkRldGFpbCA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzExOC5xdWVzdGlvbkRldGFpbC50aXRsZSk6ICdTZWxlY3QgcXVlc3Rpb24nKTtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2FueS50cmFuc2Zvcm0oX2RlY2wwXzExOC5zZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50cyxfZGVjbDBfMTE4LmN1cnJlbnRQYWdlKTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKF9kZWNsMF8xMTguZW1wdHlQYWdlID09PSB0cnVlKTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBwZF84OmFueSA9ICgoPGFueT5fYW55LnBvcG92ZXIoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfOTphbnkgPSAoKDxhbnk+X2FueS5wb3BvdmVyKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzEwOmFueSA9ICgoPGFueT5fZGVjbDBfMTE4Lm1vdmUoKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X0xvZ2ljQ29tcG9uZW50X0hvc3RfMTJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfTG9naWNDb21wb25lbnRfMTJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKF9kZWNsMF8xMTkucXVlc3Rpb24udmlzaWJpbGl0eUxvZ2ljLmxlbmd0aCA9PT0gMCk7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMTE5LnF1ZXN0aW9uLnZpc2liaWxpdHlMb2dpYy5sZW5ndGggPiAwKTtcbiAgY3VyclZhbF8xO1xufVxuZnVuY3Rpb24gX1ZpZXdfQWRkTG9naWNDb21wb25lbnRfSG9zdF8xM18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19BZGRMb2dpY0NvbXBvbmVudF8xM18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoX2RlY2wwXzEyMC5xdWVzdGlvbkluZGV4ICsgMSk7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMTIwLmN1cnJlbnRRdWVzdGlvbi5pc1JlcXVpcmVkID09PSB0cnVlKTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKCgoX2RlY2wwXzEyMC5jdXJyZW50UXVlc3Rpb24gPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF8xMjAuY3VycmVudFF1ZXN0aW9uLnRpdGxlKT8gKChfZGVjbDBfMTIwLmN1cnJlbnRRdWVzdGlvbiA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzEyMC5jdXJyZW50UXVlc3Rpb24udGl0bGUpOiAnUXVlc3Rpb24nKTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzEyMC5jdXJyZW50UXVlc3Rpb24uaGFzQ29tbWVudHM7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9ICdsZWZ0JztcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gJ1NlbGVjdCBhIHF1ZXN0aW9uJztcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gJ2JvdHRvbS1sZWZ0JztcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gJ2JsYWNrJztcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IF9hbnkudHJhbnNmb3JtKCgoX2RlY2wwXzEyMC5xdWVzdGlvbnNBcnJheVtfZGVjbDBfMTIwLnNlbGVjdGVkTG9naWNRdWVzdGlvbl0gPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF8xMjAucXVlc3Rpb25zQXJyYXlbX2RlY2wwXzEyMC5zZWxlY3RlZExvZ2ljUXVlc3Rpb25dLnRpdGxlKSk7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSBfYW55LnRyYW5zZm9ybShfZGVjbDBfMTIwLnF1ZXN0aW9uc0FycmF5LF9kZWNsMF8xMjAuY3VycmVudFF1ZXN0aW9uLm5hbWUpO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9ICgoKF9kZWNsMF8xMjAub3BlcmF0b3JNYXAgPT0gbnVsbCk/IChudWxsIGFzIGFueSk6IF9kZWNsMF8xMjAub3BlcmF0b3JNYXAubGVuZ3RoKSA+IDApO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9ICgoX2RlY2wwXzEyMC5sb2dpYy5xdWVzdGlvbk5hbWUgIT0gJycpICYmIChfZGVjbDBfMTIwLmxvZ2ljLm9wZXJhdG9yICYmIChfZGVjbDBfMTIwLmxvZ2ljLm9wZXJhdG9yICE9ICdhbnN3ZXJlZCcpKSk7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gX2RlY2wwXzEyMC5zaG93RXJyb3IuaXNWaXNpYmxlO1xuICBjdXJyVmFsXzEzO1xuICBjb25zdCBwZF8xNDphbnkgPSAoKDxhbnk+X2RlY2wwXzEyMC5jbG9zZVBvcHVwKCdDTE9TRScpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xNTphbnkgPSAoKDxhbnk+X2FueS5wb3BvdmVyKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzE2OmFueSA9ICgoPGFueT5fZGVjbDBfMTIwLnJlc2V0TG9naWMoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTc6YW55ID0gKCg8YW55Pl9kZWNsMF8xMjAuYWRkTG9naWMoKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1Rvb2xraXRDb21wb25lbnRfSG9zdF8xNF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19Ub29sa2l0Q29tcG9uZW50XzE0XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xMjEuc2hvd0NvbGxhcHNlO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAhX2RlY2wwXzEyMS5zaG93Q29sbGFwc2U7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xMjEuc2hvd0NvbGxhcHNlO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSB0cnVlO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gIV9kZWNsMF8xMjEuc2hvd0NvbGxhcHNlO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAhX2RlY2wwXzEyMS5zaG93Q29sbGFwc2U7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gIV9kZWNsMF8xMjEuc2hvd0NvbGxhcHNlO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gZmFsc2U7XG4gIGN1cnJWYWxfMTE7XG4gIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gIV9kZWNsMF8xMjEuc2hvd0NvbGxhcHNlO1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzEzO1xuICBjb25zdCBjdXJyVmFsXzE0OmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzE1O1xuICBjb25zdCBjdXJyVmFsXzE2OmFueSA9IGZhbHNlO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9ICFfZGVjbDBfMTIxLnNob3dDb2xsYXBzZTtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSAhX2RlY2wwXzEyMS5zaG93Q29sbGFwc2U7XG4gIGN1cnJWYWxfMTg7XG4gIGNvbnN0IHBkXzE5OmFueSA9ICgoPGFueT5fZGVjbDBfMTIxLmNsaWNrQ29sbGFwc2UoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjA6YW55ID0gKCg8YW55Pl9kZWNsMF8xMjEuYWRkUXVlc3Rpb24uZW1pdCgnbXVsdGlwbGUtY2hvaWNlJykpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzIxOmFueSA9ICgoPGFueT5fZGVjbDBfMTIxLmFkZFF1ZXN0aW9uLmVtaXQoJ2NoZWNrYm94JykpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzIyOmFueSA9ICgoPGFueT5fZGVjbDBfMTIxLmFkZFF1ZXN0aW9uLmVtaXQoJ3NpbmdsZS10ZXh0Ym94JykpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzIzOmFueSA9ICgoPGFueT5fZGVjbDBfMTIxLmFkZFF1ZXN0aW9uLmVtaXQoJ2Ryb3Bkb3duJykpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI0OmFueSA9ICgoPGFueT5fZGVjbDBfMTIxLmFkZFF1ZXN0aW9uLmVtaXQoJ2RhdGUtdGltZScpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yNTphbnkgPSAoKDxhbnk+X2RlY2wwXzEyMS5hZGRRdWVzdGlvbi5lbWl0KCdmaWxlLXVwbG9hZCcpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2V0dGluZ0Fub255bW91c0NvbXBvbmVudF9Ib3N0XzE1XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NldHRpbmdBbm9ueW1vdXNDb21wb25lbnRfMTVfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gdHJ1ZTtcbiAgY3VyclZhbF8wO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2V0dGluZ1Jlc3BvbnNlU2VnbWVudENvbXBvbmVudF9Ib3N0XzE2XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NldHRpbmdSZXNwb25zZVNlZ21lbnRDb21wb25lbnRfMTZfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gdHJ1ZTtcbiAgY3VyclZhbF8wO1xufVxuZnVuY3Rpb24gX1ZpZXdfUGFnZUhlYWRlckNvbXBvbmVudF9Ib3N0XzE3XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1BhZ2VIZWFkZXJDb21wb25lbnRfMTdfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzEyNC5wYWdlTmFtZTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzEyNC5wYWdlRGVzY3JpcHRpb247XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgcGRfMjphbnkgPSAoKDxhbnk+X2RlY2wwXzEyNC5lZGl0LmVtaXQoKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1dlbGNvbWVUaGFua3lvdUNvbXBvbmVudF9Ib3N0XzE4XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1dlbGNvbWVUaGFua3lvdUNvbXBvbmVudF8xOF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzEyNS5lbnRpdHlEYXRhLmhhc1dlbGNvbWVJbWFnZTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gJ1dlbGNvbWUgSGVhZGluZyc7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9ICdtdWx0aWxpbmUnO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBmYWxzZTtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzEyNS5lbnRpdHlEYXRhLndlbGNvbWVUZXh0O1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAoKF9kZWNsMF8xMjUuZW50aXR5RGF0YSA9PSBudWxsKT8gKG51bGwgYXMgYW55KTogX2RlY2wwXzEyNS5lbnRpdHlEYXRhLmhhc1dlbGNvbWVEZXNjcmlwdGlvbik7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IF9kZWNsMF8xMjUuZW50aXR5RGF0YS5oYXNXZWxjb21lRGVzY3JpcHRpb247XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IF9kZWNsMF8xMjUuZW50aXR5RGF0YS5oYXNXZWxjb21lSW1hZ2U7XG4gIGN1cnJWYWxfODtcbiAgX2RlY2wwXzEyNS5kZWxldGVRdWVzdGlvbi5lbWl0KCk7XG4gIGNvbnN0IHBkXzk6YW55ID0gKCg8YW55Pl9kZWNsMF8xMjUuZGVsZXRlV2VsY29tZSgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xMDphbnkgPSAoKDxhbnk+KF9kZWNsMF8xMjUuZW50aXR5RGF0YS53ZWxjb21lVGV4dCA9IF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xMTphbnkgPSAoKDxhbnk+KF9kZWNsMF8xMjUuZW50aXR5RGF0YS5oYXNXZWxjb21lRGVzY3JpcHRpb24gPSBfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTI6YW55ID0gKCg8YW55PihfZGVjbDBfMTI1LmVudGl0eURhdGEuaGFzV2VsY29tZUltYWdlID0gX2FueSkpICE9PSBmYWxzZSk7XG59XG4iXX0=
|
|
@@ -372,4 +372,4 @@ ProgramListingComponent.propDecorators = {
|
|
|
372
372
|
saveSelectedProgram: [{ type: Output }],
|
|
373
373
|
closeEvent: [{ type: Output }]
|
|
374
374
|
};
|
|
375
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvcHJvZ3JhbS1saXN0aW5nL3Byb2dyYW0tbGlzdGluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBUXZGLE1BQU0sT0FBTyx1QkFBdUI7SUFpRWxDLFlBQW9CLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBaEVoRSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUlOLHVCQUFrQixHQUFVLEVBQUUsQ0FBQztRQUl4QywyQkFBc0IsR0FBSztZQUN6QixPQUFPLEVBQUMsRUFBRTtZQUNWLFVBQVUsRUFBQyxFQUFFO1NBQ2QsQ0FBQTtRQUNELGdCQUFXLEdBQWdCO1lBQ3pCLElBQUksRUFBRSxFQUFFO1lBQ1IsSUFBSSxFQUFFLENBQUM7WUFDUCxFQUFFLEVBQUUsQ0FBQztZQUNMLFVBQVUsRUFBRSxDQUFDO1lBQ2IsWUFBWSxFQUFFLENBQUM7WUFDZixXQUFXLEVBQUUsQ0FBQztZQUNkLGdDQUFnQyxFQUFFLENBQUM7WUFDbkMsc0JBQXNCLEVBQUUsQ0FBQztZQUN6QiwwQkFBMEIsRUFBRSxDQUFDO1lBQzdCLHdCQUF3QixFQUFFLENBQUM7WUFDM0IscUNBQXFDLEVBQUUsQ0FBQztZQUN4QywyQkFB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bW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVzcG9uc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcmVzcG9uc2liaWxpdHkuc2VydmljZSc7XHJcbmltcG9ydCB7IGNhdGVnb3J5TGlzdCwgcHJvZ3JhbUxpc3QgfSBmcm9tICcuL3Byb2dyYW0tbGlzdC1tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1wcm9ncmFtLWxpc3RpbmcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmFtLWxpc3RpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Byb2dyYW0tbGlzdGluZy5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9ncmFtTGlzdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgc3ViTGlzdCA9IGZhbHNlO1xyXG4gIGxvYWRlciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHByb2dyYW1zTGlzdDogYW55O1xyXG4gIC8vIEBJbnB1dCgpIGFsbFByb2dyYW1zOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkUHJvZ3JhbSE6IGFueTtcclxuICBASW5wdXQoKSBzZWxlY3RlZENhdGVnb3JpZXM6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgaGlkZVByb2dyYW1zTGlzdCE6IGFueTtcclxuICBAVmlld0NoaWxkKCdzZWFyY2hQcm9ncmFtJykgc2VhcmNoUHJvZ3JhbSE6IGFueTtcclxuICBAVmlld0NoaWxkKCdzZWFyY2hDYXRlZ29yeScpIHNlYXJjaENhdGVnb3J5ITogYW55O1xyXG4gIHByZXZpb3VzU2VsZWN0ZWRWYWx1ZXM6YW55PXtcclxuICAgIHByb2dyYW06e30sXHJcbiAgICBjYXRlZ29yaWVzOltdXHJcbiAgfVxyXG4gIHByb2dyYW1EYXRhOiBwcm9ncmFtTGlzdCA9IHtcclxuICAgIGRhdGE6IFtdLFxyXG4gICAgZnJvbTogMCxcclxuICAgIHRvOiAwLFxyXG4gICAgdG90YWxQYWdlczogMCxcclxuICAgIHRvdGFsUmVjb3JkczogMCxcclxuICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgQWxsSW50ZXJuYWxDb250cm9sc1Byb2dyYW1zQ291bnQ6IDAsXHJcbiAgICBBbGxPdGhlcnNQcm9ncmFtc0NvdW50OiAwLFxyXG4gICAgQWxsUmVndWxhdGlvblByb2dyYW1zQ291bnQ6IDAsXHJcbiAgICBBbGxTdGFuZGFyZFByb2dyYW1zQ291bnQ6IDAsXHJcbiAgICBTZWxlY3RlZEludGVybmFsQ29udHJvbHNQcm9ncmFtc0NvdW50OiAwLFxyXG4gICAgU2VsZWN0ZWRPdGhlcnNQcm9ncmFtc0NvdW50OiAwLFxyXG4gICAgU2VsZWN0ZWRSZWd1bGF0aW9uUHJvZ3JhbXNDb3VudDogMCxcclxuICAgIFNlbGVjdGVkU3RhbmRhcmRQcm9ncmFtc0NvdW50OiAwXHJcbiAgfVxyXG5cclxuICBjYXRlZ29yeURhdGE6IGNhdGVnb3J5TGlzdCA9IHtcclxuICAgIGRhdGE6IFtdLFxyXG4gICAgZnJvbTogMCxcclxuICAgIHRvOiAwLFxyXG4gICAgdG90YWxQYWdlczogMCxcclxuICAgIHRvdGFsUmVjb3JkczogMCxcclxuICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgc2VsZWN0ZWRDYXRlZ29yaWVzOiBbXVxyXG4gIH1cclxuXHJcbiAgc2hvd0NhdGVnb3JpZXMgPSBmYWxzZTtcclxuICBjdXJyZW50UHJvZ3JhbSE6IGFueTtcclxuICBzZWFyY2hTdHJpbmc6IHN0cmluZyA9ICcnO1xyXG4gIGNhdGVnb3J5U2VhcmNoU3RyaW5nOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgYWN0aXZlVGFiOiAncmVndWxhdGlvbnMnIHwgJ3N0YW5kYXJkcycgfCAnaW50ZXJuYWxfY29udHJvbHMnIHwgJ290aGVycycgPSAncmVndWxhdGlvbnMnXHJcbiAgc2VsZWN0ZWRJZHM6IGFueVtdID0gW107XHJcbiAgY2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIGJsb2NrV2lkdGg6IGFueTtcclxuXHJcbiAgcHJvZ3JhbVR5cGVPYmplY3QgPSB7XHJcbiAgICByZWd1bGF0aW9uczogMSxcclxuICAgIHN0YW5kYXJkczogMixcclxuICAgIGludGVybmFsX2NvbnRyb2xzOiAzLFxyXG4gICAgb3RoZXJzOiAwLFxyXG4gIH1cclxuXHJcbiAgZGlzcGxheUNvbmZpcm1hdGlvbk1lc3NhZ2U6Ym9vbGVhbj1mYWxzZVxyXG5cclxuICBAT3V0cHV0KCkgc2F2ZVNlbGVjdGVkUHJvZ3JhbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBhbGxDYXRlZ29yaWVzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3BvbnNpYmlsaXR5U2VydmljZTogUmVzcG9uc2liaWxpdHlTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkUHJvZ3JhbVswXSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRQcm9ncmFtID0gdGhpcy5zZWxlY3RlZFByb2dyYW1bMF07XHJcbiAgICAgIHN3aXRjaCAodGhpcy5jdXJyZW50UHJvZ3JhbT8ucHJvZ3JhbVR5cGUpIHtcclxuICAgICAgICBjYXNlIDA6XHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZVRhYiA9ICdvdGhlcnMnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAxOlxyXG4gICAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSAncmVndWxhdGlvbnMnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAyOlxyXG4gICAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSAnc3RhbmRhcmRzJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgMzpcclxuICAgICAgICAgIHRoaXMuYWN0aXZlVGFiID0gJ2ludGVybmFsX2NvbnRyb2xzJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZVRhYiA9ICdyZWd1bGF0aW9ucyc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdldFNlbGVjdGVkUHJvZ3JhbUNvdW50KCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZENhdGVnb3JpZXM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnBvcHVsYXRlQ2F0ZWdvcmllcygpXHJcblxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaGlkZVByb2dyYW1zTGlzdCkge1xyXG4gICAgICB0aGlzLmdldENhdGVnb3JpZXNMaXN0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmdldFByb2dyYW1zTGlzdCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wcmV2aW91c1NlbGVjdGVkVmFsdWVzPXtcclxuICAgICAgcHJvZ3JhbXM6IHRoaXMuY3VycmVudFByb2dyYW0sXHJcbiAgICAgIGNhdGVnb3JpZXM6KHRoaXMuc2VsZWN0ZWRDYXRlZ29yaWVzLmxlbmd0aCk/ICBbLi4ubmV3IFNldCh0aGlzLnNlbGVjdGVkQ2F0ZWdvcmllcyldOltdLFxyXG4gICAgfVxyXG4gICBcclxuICB9XHJcbiAgcG9wdWxhdGVDYXRlZ29yaWVzKCkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwcm9ncmFtX2lkJywgdGhpcy5jdXJyZW50UHJvZ3JhbS5faWQpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnaXNQYWdpbmF0aW9uJywgZmFsc2UpO1xyXG5cclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmdldFByb2dyYW1zTGlzdChwYXJhbXMpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGFsbENhdGVnb3JpZXMgPSByZXMuZGF0YTtcclxuXHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeURhdGEuc2VsZWN0ZWRDYXRlZ29yaWVzID0gYWxsQ2F0ZWdvcmllcy5maWx0ZXIoKGVsZTphbnkpPT50aGlzLnNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcyhlbGUuY2F0ZWdvcnlfaWQpKVxyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhLnNlbGVjdGVkQ2F0ZWdvcmllcy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChlbGVtZW50LmNhdGVnb3J5X2lkKVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiBlcnIgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoU3RyaW5nICE9IGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoU3RyaW5nID0gZXZlbnQ7XHJcbiAgICAgIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KHsgc2VhcmNoOiB0cnVlIH0pXHJcbiAgICB9XHJcbiAgfVxyXG4gIGNhdGVnb3J5U2VhcmNoKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmNhdGVnb3J5U2VhcmNoU3RyaW5nICE9IGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlTZWFyY2hTdHJpbmcgPSBldmVudDtcclxuICAgICAgdGhpcy5nZXRDYXRlZ29yaWVzTGlzdCh7IHNlYXJjaDogdHJ1ZSB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0UHJvZ3JhbShldmVudDogYW55LCBwcm9ncmFtOiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRQcm9ncmFtID0gcHJvZ3JhbTtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IFtdO1xyXG4gICAgICB0aGlzLmdldFNlbGVjdGVkUHJvZ3JhbUNvdW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGxDYXRlZ29yaWVzKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5RGF0YS5zZWxlY3RlZENhdGVnb3JpZXMgPSBbXTtcclxuICAgICAgaWYgKHRoaXMuY2F0ZWdvcnlEYXRhLnRvdGFsUGFnZXMgPCAyKSB7XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeURhdGEuZGF0YS5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKGVsZS5jYXRlZ29yeV9pZCk7XHJcbiAgICAgICAgICB0aGlzLmNhdGVnb3J5RGF0YS5zZWxlY3RlZENhdGVnb3JpZXMucHVzaChlbGUpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3Byb2dyYW1faWQnLCB0aGlzLmN1cnJlbnRQcm9ncmFtLl9pZCk7XHJcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnaXNQYWdpbmF0aW9uJywgZmFsc2UpO1xyXG5cclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZS5nZXRQcm9ncmFtc0xpc3QocGFyYW1zKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFsbENhdGVnb3JpZXMgPSByZXMuZGF0YTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhLnNlbGVjdGVkQ2F0ZWdvcmllcyA9IHJlcy5kYXRhO1xyXG4gICAgICAgICAgICBhbGxDYXRlZ29yaWVzLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChlbGVtZW50LmNhdGVnb3J5X2lkKVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogZXJyID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNhdGVnb3J5RGF0YS5zZWxlY3RlZENhdGVnb3JpZXMgPSBbXVxyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBjaGVja0NhdGVnb3JpZXNTZWxlY3Rpb24oKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuY2F0ZWdvcnlEYXRhLnNlbGVjdGVkQ2F0ZWdvcmllcy5sZW5ndGggPT0gdGhpcy5jYXRlZ29yeURhdGEudG90YWxSZWNvcmRzKSB7XHJcbiAgICAgIHJldHVybiAnY2hlY2tlZCc7XHJcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmNhdGVnb3J5RGF0YS5zZWxlY3RlZENhdGVnb3JpZXMubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiAndW5jaGVja2VkJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnaW5kZXRlcm1pbmF0ZSdcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5DYXRlZ29yaWVzKCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFByb2dyYW0/LmNoaWxkX2lkPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5zaG93Q2F0ZWdvcmllcyA9IHRydWU7XHJcbiAgICAgIHRoaXMuZ2V0Q2F0ZWdvcmllc0xpc3QoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2F2ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYmFja1RvUHJvZ3JhbXMoKSB7XHJcbiAgICBpZiAoIXRoaXMuaGlkZVByb2dyYW1zTGlzdCkge1xyXG4gICAgICB0aGlzLnNob3dDYXRlZ29yaWVzID0gZmFsc2U7XHJcbiAgICAgIGlmKHRoaXMucHJldmlvdXNTZWxlY3RlZFZhbHVlcz8ucHJvZ3JhbT8uX2lkID09IHRoaXMuY3VycmVudFByb2dyYW0pe1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhLnNlbGVjdGVkQ2F0ZWdvcmllcyA9IFsuLi5uZXcgU2V0KHRoaXMucHJldmlvdXNTZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzKV07XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhLnNlbGVjdGVkQ2F0ZWdvcmllcy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKGVsZW1lbnQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5RGF0YS5zZWxlY3RlZENhdGVnb3JpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhLnNlbGVjdGVkQ2F0ZWdvcmllcyA9IFtdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBjaGFuZ2VUYWIodHlwZTogJ3JlZ3VsYXRpb25zJyB8ICdzdGFuZGFyZHMnIHwgJ2ludGVybmFsX2NvbnRyb2xzJyB8ICdvdGhlcnMnKSB7XHJcbiAgICB0aGlzLmFjdGl2ZVRhYiA9IHR5cGU7XHJcbiAgICB0aGlzLnByb2dyYW1EYXRhLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMuc2VhcmNoU3RyaW5nID0gJyc7XHJcbiAgICB0aGlzLnNlYXJjaFByb2dyYW0ubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5nZXRQcm9ncmFtc0xpc3QoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVBhZ2UoZXZlbnQ6IGFueSwgdHlwZTogJ2NhdGVnb3J5JyB8ICdwcm9ncmFtJykge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3Byb2dyYW0nOlxyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgICAgICB0aGlzLmdldFByb2dyYW1zTGlzdCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yeSc6XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeURhdGEuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgICAgICB0aGlzLmdldENhdGVnb3JpZXNMaXN0KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG5cclxuICBnZXRQcm9ncmFtc0xpc3QocGFyYW1zT2JqZWN0PzogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3Byb2dyYW1UeXBlJywgdGhpcy5wcm9ncmFtVHlwZU9iamVjdFt0aGlzLmFjdGl2ZVRhYl0pO1xyXG4gICAgaWYgKHBhcmFtc09iamVjdD8uc2VhcmNoIHx8IHRoaXMuc2VhcmNoU3RyaW5nKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NlYXJjaFRleHQnLCB0aGlzLnNlYXJjaFN0cmluZyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlTm8nLCB0aGlzLnByb2dyYW1EYXRhLmN1cnJlbnRQYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZS5nZXRQcm9ncmFtc0xpc3QocGFyYW1zKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLmRhdGEgPSByZXMuZGF0YTtcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLmZyb20gPSByZXMuZnJvbTtcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLnRvID0gcmVzLnRvO1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEudG90YWxQYWdlcyA9IHJlcy50b3RhbFBhZ2VzO1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEudG90YWxSZWNvcmRzID0gcmVzLnRvdGFsUmVjb3JkcztcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLkFsbEludGVybmFsQ29udHJvbHNQcm9ncmFtc0NvdW50ID0gcmVzLkFsbEludGVybmFsQ29udHJvbHNQcm9ncmFtc0NvdW50O1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEuQWxsT3RoZXJzUHJvZ3JhbXNDb3VudCA9IHJlcy5BbGxPdGhlcnNQcm9ncmFtc0NvdW50O1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEuQWxsUmVndWxhdGlvblByb2dyYW1zQ291bnQgPSByZXMuQWxsUmVndWxhdGlvblByb2dyYW1zQ291bnQ7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5BbGxTdGFuZGFyZFByb2dyYW1zQ291bnQgPSByZXMuQWxsU3RhbmRhcmRQcm9ncmFtc0NvdW50O1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcblxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogZXJyID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRDYXRlZ29yaWVzTGlzdChxdWVyeU9iamVjdD86IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwcm9ncmFtX2lkJywgdGhpcy5jdXJyZW50UHJvZ3JhbS5faWQpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnZU5vJywgdGhpcy5jYXRlZ29yeURhdGEuY3VycmVudFBhZ2UpO1xyXG4gICAgaWYgKHF1ZXJ5T2JqZWN0Py5zZWFyY2gpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2VhcmNoVGV4dCcsIHRoaXMuY2F0ZWdvcnlTZWFyY2hTdHJpbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmdldFByb2dyYW1zTGlzdChwYXJhbXMpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhLmRhdGEgPSByZXMuZGF0YTtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5RGF0YS5mcm9tID0gcmVzLmZyb207XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeURhdGEudG8gPSByZXMudG87XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeURhdGEudG90YWxQYWdlcyA9IHJlcy50b3RhbFBhZ2VzO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhLnRvdGFsUmVjb3JkcyA9IHJlcy50b3RhbFJlY29yZHM7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGVyciA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zaG93Q2F0ZWdvcmllcyA9IHRydWU7XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIHNhdmVQcm9ncmFtKCkge1xyXG5cclxuICB9XHJcblxyXG4gIHNlbGVjdENhdGVnb3J5KG1vZGU6IGFueSwgY2F0ZWdvcnk6IGFueSkge1xyXG4gICAgaWYgKG1vZGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKGNhdGVnb3J5LmNhdGVnb3J5X2lkKTtcclxuICAgICAgdGhpcy5jYXRlZ29yeURhdGEuc2VsZWN0ZWRDYXRlZ29yaWVzLnB1c2goY2F0ZWdvcnkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IGNhdGVnb3J5LmNhdGVnb3J5X2lkKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICBjb25zdCBjYXRlZ29yeUluZGV4ID0gdGhpcy5jYXRlZ29yeURhdGEuc2VsZWN0ZWRDYXRlZ29yaWVzLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZS5jYXRlZ29yeV9pZCA9PSBjYXRlZ29yeS5jYXRlZ29yeV9pZClcclxuICAgICAgdGhpcy5jYXRlZ29yeURhdGEuc2VsZWN0ZWRDYXRlZ29yaWVzLnNwbGljZShjYXRlZ29yeUluZGV4LCAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZUNhdGVnb3JpZXMoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgY2F0ZWdvcnlJbmRleCA9IHRoaXMuY2F0ZWdvcnlEYXRhLnNlbGVjdGVkQ2F0ZWdvcmllcy5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuY2F0ZWdvcnlfaWQgPT0gZXZlbnQuY2F0ZWdvcnlfaWQpXHJcbiAgICB0aGlzLmNhdGVnb3J5RGF0YS5zZWxlY3RlZENhdGVnb3JpZXMuc3BsaWNlKGNhdGVnb3J5SW5kZXgsIDEpO1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IGV2ZW50LmNhdGVnb3J5X2lkKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHNhdmUoKSB7XHJcbiAgICBpZighdGhpcy5oaWRlUHJvZ3JhbXNMaXN0KXtcclxuICAgICAgdGhpcy5kaXNwbGF5Q29uZmlybWF0aW9uTWVzc2FnZT10cnVlO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuc2F2ZVNlbGVjdGVkUHJvZ3JhbS5lbWl0KHsgcHJvZ3JhbTogdGhpcy5jdXJyZW50UHJvZ3JhbSwgY2F0ZWdvcmllczogdGhpcy5zZWxlY3RlZElkcyB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNhdmVDaGFuZ2VzKHZhbHVlOmJvb2xlYW4pe1xyXG4gICAgaWYodmFsdWUpe1xyXG4gICAgICB0aGlzLnNhdmVTZWxlY3RlZFByb2dyYW0uZW1pdCh7IHByb2dyYW06IHRoaXMuY3VycmVudFByb2dyYW0sIGNhdGVnb3JpZXM6IHRoaXMuc2VsZWN0ZWRJZHMgfSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5kaXNwbGF5Q29uZmlybWF0aW9uTWVzc2FnZT1mYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlbGV0ZUV2ZW50KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuY3VycmVudFByb2dyYW0gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dDYXRlZ29yaWVzID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IFtdO1xyXG5cclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkUHJvZ3JhbUNvdW50KCkge1xyXG4gICAgdGhpcy5wcm9ncmFtRGF0YS5TZWxlY3RlZEludGVybmFsQ29udHJvbHNQcm9ncmFtc0NvdW50ID0gMDtcclxuICAgIHRoaXMucHJvZ3JhbURhdGEuU2VsZWN0ZWRPdGhlcnNQcm9ncmFtc0NvdW50ID0gMDtcclxuICAgIHRoaXMucHJvZ3JhbURhdGEuU2VsZWN0ZWRSZWd1bGF0aW9uUHJvZ3JhbXNDb3VudCA9IDA7XHJcbiAgICB0aGlzLnByb2dyYW1EYXRhLlNlbGVjdGVkU3RhbmRhcmRQcm9ncmFtc0NvdW50ID0gMDtcclxuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50UHJvZ3JhbS5wcm9ncmFtVHlwZSkge1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5TZWxlY3RlZE90aGVyc1Byb2dyYW1zQ291bnQrKztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEuU2VsZWN0ZWRSZWd1bGF0aW9uUHJvZ3JhbXNDb3VudCsrO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5TZWxlY3RlZFN0YW5kYXJkUHJvZ3JhbXNDb3VudCsrO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5TZWxlY3RlZEludGVybmFsQ29udHJvbHNQcm9ncmFtc0NvdW50Kys7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
375
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvcHJvZ3JhbS1saXN0aW5nL3Byb2dyYW0tbGlzdGluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBUXZGLE1BQU0sT0FBTyx1QkFBdUI7SUFpRWxDLFlBQW9CLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBaEVoRSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUlOLHVCQUFrQixHQUFVLEVBQUUsQ0FBQztRQUl4QywyQkFBc0IsR0FBSztZQUN6QixPQUFPLEVBQUMsRUFBRTtZQUNWLFVBQVUsRUFBQyxFQUFFO1NBQ2QsQ0FBQTtRQUNELGdCQUFXLEdBQWdCO1lBQ3pCLElBQUksRUFBRSxFQUFFO1lBQ1IsSUFBSSxFQUFFLENBQUM7WUFDUCxFQUFFLEVBQUUsQ0FBQztZQUNMLFVBQVUsRUFBRSxDQUFDO1lBQ2IsWUFBWSxFQUFFLENBQUM7WUFDZixXQUFXLEVBQUUsQ0FBQztZQUNkLGdDQUFnQyxFQUFFLENBQUM7WUFDbkMsc0JBQXNCLEVBQUUsQ0FBQztZQUN6QiwwQkFBMEIsRUFBRSxDQUFDO1lBQzdCLHdCQUF3QixFQUFFLENBQUM7WUFDM0IscUNBQXFDLEVBQUUsQ0FBQztZQUN4QywyQkFB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bW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVzcG9uc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcmVzcG9uc2liaWxpdHkuc2VydmljZSc7XHJcbmltcG9ydCB7IGNhdGVnb3J5TGlzdCwgcHJvZ3JhbUxpc3QgfSBmcm9tICcuL3Byb2dyYW0tbGlzdC1tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1wcm9ncmFtLWxpc3RpbmcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmFtLWxpc3RpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Byb2dyYW0tbGlzdGluZy5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9ncmFtTGlzdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgc3ViTGlzdCA9IGZhbHNlO1xyXG4gIGxvYWRlciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHByb2dyYW1zTGlzdDogYW55O1xyXG4gIC8vIEBJbnB1dCgpIGFsbFByb2dyYW1zOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkUHJvZ3JhbSE6IGFueTtcclxuICBASW5wdXQoKSBzZWxlY3RlZENhdGVnb3JpZXM6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgaGlkZVByb2dyYW1zTGlzdCE6IGFueTtcclxuICBAVmlld0NoaWxkKCdzZWFyY2hQcm9ncmFtJykgc2VhcmNoUHJvZ3JhbSE6IGFueTtcclxuICBAVmlld0NoaWxkKCdzZWFyY2hDYXRlZ29yeScpIHNlYXJjaENhdGVnb3J5ITogYW55O1xyXG4gIHByZXZpb3VzU2VsZWN0ZWRWYWx1ZXM6YW55PXtcclxuICAgIHByb2dyYW06e30sXHJcbiAgICBjYXRlZ29yaWVzOltdXHJcbiAgfVxyXG4gIHByb2dyYW1EYXRhOiBwcm9ncmFtTGlzdCA9IHtcclxuICAgIGRhdGE6IFtdLFxyXG4gICAgZnJvbTogMCxcclxuICAgIHRvOiAwLFxyXG4gICAgdG90YWxQYWdlczogMCxcclxuICAgIHRvdGFsUmVjb3JkczogMCxcclxuICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgQWxsSW50ZXJuYWxDb250cm9sc1Byb2dyYW1zQ291bnQ6IDAsXHJcbiAgICBBbGxPdGhlcnNQcm9ncmFtc0NvdW50OiAwLFxyXG4gICAgQWxsUmVndWxhdGlvblByb2dyYW1zQ291bnQ6IDAsXHJcbiAgICBBbGxTdGFuZGFyZFByb2dyYW1zQ291bnQ6IDAsXHJcbiAgICBTZWxlY3RlZEludGVybmFsQ29udHJvbHNQcm9ncmFtc0NvdW50OiAwLFxyXG4gICAgU2VsZWN0ZWRPdGhlcnNQcm9ncmFtc0NvdW50OiAwLFxyXG4gICAgU2VsZWN0ZWRSZWd1bGF0aW9uUHJvZ3JhbXNDb3VudDogMCxcclxuICAgIFNlbGVjdGVkU3RhbmRhcmRQcm9ncmFtc0NvdW50OiAwXHJcbiAgfVxyXG5cclxuICBjYXRlZ29yeURhdGE6IGNhdGVnb3J5TGlzdCA9IHtcclxuICAgIGRhdGE6IFtdLFxyXG4gICAgZnJvbTogMCxcclxuICAgIHRvOiAwLFxyXG4gICAgdG90YWxQYWdlczogMCxcclxuICAgIHRvdGFsUmVjb3JkczogMCxcclxuICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgc2VsZWN0ZWRDYXRlZ29yaWVzOiBbXVxyXG4gIH1cclxuXHJcbiAgc2hvd0NhdGVnb3JpZXMgPSBmYWxzZTtcclxuICBjdXJyZW50UHJvZ3JhbSE6IGFueTtcclxuICBzZWFyY2hTdHJpbmc6IHN0cmluZyA9ICcnO1xyXG4gIGNhdGVnb3J5U2VhcmNoU3RyaW5nOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgYWN0aXZlVGFiOiAncmVndWxhdGlvbnMnIHwgJ3N0YW5kYXJkcycgfCAnaW50ZXJuYWxfY29udHJvbHMnIHwgJ290aGVycycgPSAncmVndWxhdGlvbnMnXHJcbiAgc2VsZWN0ZWRJZHM6IGFueVtdID0gW107XHJcbiAgY2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIGJsb2NrV2lkdGg6IGFueTtcclxuXHJcbiAgcHJvZ3JhbVR5cGVPYmplY3QgPSB7XHJcbiAgICByZWd1bGF0aW9uczogMSxcclxuICAgIHN0YW5kYXJkczogMixcclxuICAgIGludGVybmFsX2NvbnRyb2xzOiAzLFxyXG4gICAgb3RoZXJzOiAwLFxyXG4gIH1cclxuXHJcbiAgZGlzcGxheUNvbmZpcm1hdGlvbk1lc3NhZ2U6Ym9vbGVhbj1mYWxzZVxyXG5cclxuICBAT3V0cHV0KCkgc2F2ZVNlbGVjdGVkUHJvZ3JhbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBhbGxDYXRlZ29yaWVzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3BvbnNpYmlsaXR5U2VydmljZTogUmVzcG9uc2liaWxpdHlTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkUHJvZ3JhbVswXSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRQcm9ncmFtID0gdGhpcy5zZWxlY3RlZFByb2dyYW1bMF07XHJcbiAgICAgIHN3aXRjaCAodGhpcy5jdXJyZW50UHJvZ3JhbT8ucHJvZ3JhbVR5cGUpIHtcclxuICAgICAgICBjYXNlIDA6XHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZVRhYiA9ICdvdGhlcnMnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAxOlxyXG4gICAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSAncmVndWxhdGlvbnMnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAyOlxyXG4gICAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSAnc3RhbmRhcmRzJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgMzpcclxuICAgICAgICAgIHRoaXMuYWN0aXZlVGFiID0gJ2ludGVybmFsX2NvbnRyb2xzJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZVRhYiA9ICdyZWd1bGF0aW9ucyc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdldFNlbGVjdGVkUHJvZ3JhbUNvdW50KCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZENhdGVnb3JpZXM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnBvcHVsYXRlQ2F0ZWdvcmllcygpXHJcblxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaGlkZVByb2dyYW1zTGlzdCkge1xyXG4gICAgICB0aGlzLmdldENhdGVnb3JpZXNMaXN0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmdldFByb2dyYW1zTGlzdCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wcmV2aW91c1NlbGVjdGVkVmFsdWVzPXtcclxuICAgICAgcHJvZ3JhbXM6IHRoaXMuY3VycmVudFByb2dyYW0sXHJcbiAgICAgIGNhdGVnb3JpZXM6KHRoaXMuc2VsZWN0ZWRDYXRlZ29yaWVzLmxlbmd0aCk/ICBbLi4ubmV3IFNldCh0aGlzLnNlbGVjdGVkQ2F0ZWdvcmllcyldOltdLFxyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgcG9wdWxhdGVDYXRlZ29yaWVzKCkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwcm9ncmFtX2lkJywgdGhpcy5jdXJyZW50UHJvZ3JhbS5faWQpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnaXNQYWdpbmF0aW9uJywgZmFsc2UpO1xyXG5cclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmdldFByb2dyYW1zTGlzdChwYXJhbXMpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGFsbENhdGVnb3JpZXMgPSByZXMuZGF0YTtcclxuXHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeURhdGEuc2VsZWN0ZWRDYXRlZ29yaWVzID0gYWxsQ2F0ZWdvcmllcy5maWx0ZXIoKGVsZTphbnkpPT50aGlzLnNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcyhlbGUuY2F0ZWdvcnlfaWQpKVxyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhLnNlbGVjdGVkQ2F0ZWdvcmllcy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChlbGVtZW50LmNhdGVnb3J5X2lkKVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiBlcnIgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoU3RyaW5nICE9IGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoU3RyaW5nID0gZXZlbnQ7XHJcbiAgICAgIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KHsgc2VhcmNoOiB0cnVlIH0pXHJcbiAgICB9XHJcbiAgfVxyXG4gIGNhdGVnb3J5U2VhcmNoKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmNhdGVnb3J5U2VhcmNoU3RyaW5nICE9IGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlTZWFyY2hTdHJpbmcgPSBldmVudDtcclxuICAgICAgdGhpcy5nZXRDYXRlZ29yaWVzTGlzdCh7IHNlYXJjaDogdHJ1ZSB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0UHJvZ3JhbShldmVudDogYW55LCBwcm9ncmFtOiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRQcm9ncmFtID0gcHJvZ3JhbTtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IFtdO1xyXG4gICAgICB0aGlzLmdldFNlbGVjdGVkUHJvZ3JhbUNvdW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGxDYXRlZ29yaWVzKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5RGF0YS5zZWxlY3RlZENhdGVnb3JpZXMgPSBbXTtcclxuICAgICAgaWYgKHRoaXMuY2F0ZWdvcnlEYXRhLnRvdGFsUGFnZXMgPCAyKSB7XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeURhdGEuZGF0YS5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKGVsZS5jYXRlZ29yeV9pZCk7XHJcbiAgICAgICAgICB0aGlzLmNhdGVnb3J5RGF0YS5zZWxlY3RlZENhdGVnb3JpZXMucHVzaChlbGUpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3Byb2dyYW1faWQnLCB0aGlzLmN1cnJlbnRQcm9ncmFtLl9pZCk7XHJcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnaXNQYWdpbmF0aW9uJywgZmFsc2UpO1xyXG5cclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZS5nZXRQcm9ncmFtc0xpc3QocGFyYW1zKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFsbENhdGVnb3JpZXMgPSByZXMuZGF0YTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhLnNlbGVjdGVkQ2F0ZWdvcmllcyA9IHJlcy5kYXRhO1xyXG4gICAgICAgICAgICBhbGxDYXRlZ29yaWVzLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChlbGVtZW50LmNhdGVnb3J5X2lkKVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogZXJyID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNhdGVnb3J5RGF0YS5zZWxlY3RlZENhdGVnb3JpZXMgPSBbXVxyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBjaGVja0NhdGVnb3JpZXNTZWxlY3Rpb24oKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuY2F0ZWdvcnlEYXRhLnNlbGVjdGVkQ2F0ZWdvcmllcy5sZW5ndGggPT0gdGhpcy5jYXRlZ29yeURhdGEudG90YWxSZWNvcmRzKSB7XHJcbiAgICAgIHJldHVybiAnY2hlY2tlZCc7XHJcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmNhdGVnb3J5RGF0YS5zZWxlY3RlZENhdGVnb3JpZXMubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiAndW5jaGVja2VkJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnaW5kZXRlcm1pbmF0ZSdcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5DYXRlZ29yaWVzKCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFByb2dyYW0/LmNoaWxkX2lkPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5zaG93Q2F0ZWdvcmllcyA9IHRydWU7XHJcbiAgICAgIHRoaXMuZ2V0Q2F0ZWdvcmllc0xpc3QoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2F2ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYmFja1RvUHJvZ3JhbXMoKSB7XHJcbiAgICBpZiAoIXRoaXMuaGlkZVByb2dyYW1zTGlzdCkge1xyXG4gICAgICB0aGlzLnNob3dDYXRlZ29yaWVzID0gZmFsc2U7XHJcbiAgICAgIGlmKHRoaXMucHJldmlvdXNTZWxlY3RlZFZhbHVlcz8ucHJvZ3JhbT8uX2lkID09IHRoaXMuY3VycmVudFByb2dyYW0pe1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhLnNlbGVjdGVkQ2F0ZWdvcmllcyA9IFsuLi5uZXcgU2V0KHRoaXMucHJldmlvdXNTZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzKV07XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhLnNlbGVjdGVkQ2F0ZWdvcmllcy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKGVsZW1lbnQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5RGF0YS5zZWxlY3RlZENhdGVnb3JpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhLnNlbGVjdGVkQ2F0ZWdvcmllcyA9IFtdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBjaGFuZ2VUYWIodHlwZTogJ3JlZ3VsYXRpb25zJyB8ICdzdGFuZGFyZHMnIHwgJ2ludGVybmFsX2NvbnRyb2xzJyB8ICdvdGhlcnMnKSB7XHJcbiAgICB0aGlzLmFjdGl2ZVRhYiA9IHR5cGU7XHJcbiAgICB0aGlzLnByb2dyYW1EYXRhLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMuc2VhcmNoU3RyaW5nID0gJyc7XHJcbiAgICB0aGlzLnNlYXJjaFByb2dyYW0ubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5nZXRQcm9ncmFtc0xpc3QoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVBhZ2UoZXZlbnQ6IGFueSwgdHlwZTogJ2NhdGVnb3J5JyB8ICdwcm9ncmFtJykge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3Byb2dyYW0nOlxyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgICAgICB0aGlzLmdldFByb2dyYW1zTGlzdCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yeSc6XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeURhdGEuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgICAgICB0aGlzLmdldENhdGVnb3JpZXNMaXN0KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG5cclxuICBnZXRQcm9ncmFtc0xpc3QocGFyYW1zT2JqZWN0PzogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3Byb2dyYW1UeXBlJywgdGhpcy5wcm9ncmFtVHlwZU9iamVjdFt0aGlzLmFjdGl2ZVRhYl0pO1xyXG4gICAgaWYgKHBhcmFtc09iamVjdD8uc2VhcmNoIHx8IHRoaXMuc2VhcmNoU3RyaW5nKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NlYXJjaFRleHQnLCB0aGlzLnNlYXJjaFN0cmluZyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlTm8nLCB0aGlzLnByb2dyYW1EYXRhLmN1cnJlbnRQYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZS5nZXRQcm9ncmFtc0xpc3QocGFyYW1zKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLmRhdGEgPSByZXMuZGF0YTtcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLmZyb20gPSByZXMuZnJvbTtcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLnRvID0gcmVzLnRvO1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEudG90YWxQYWdlcyA9IHJlcy50b3RhbFBhZ2VzO1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEudG90YWxSZWNvcmRzID0gcmVzLnRvdGFsUmVjb3JkcztcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhLkFsbEludGVybmFsQ29udHJvbHNQcm9ncmFtc0NvdW50ID0gcmVzLkFsbEludGVybmFsQ29udHJvbHNQcm9ncmFtc0NvdW50O1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEuQWxsT3RoZXJzUHJvZ3JhbXNDb3VudCA9IHJlcy5BbGxPdGhlcnNQcm9ncmFtc0NvdW50O1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEuQWxsUmVndWxhdGlvblByb2dyYW1zQ291bnQgPSByZXMuQWxsUmVndWxhdGlvblByb2dyYW1zQ291bnQ7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5BbGxTdGFuZGFyZFByb2dyYW1zQ291bnQgPSByZXMuQWxsU3RhbmRhcmRQcm9ncmFtc0NvdW50O1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcblxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogZXJyID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRDYXRlZ29yaWVzTGlzdChxdWVyeU9iamVjdD86IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwcm9ncmFtX2lkJywgdGhpcy5jdXJyZW50UHJvZ3JhbS5faWQpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnZU5vJywgdGhpcy5jYXRlZ29yeURhdGEuY3VycmVudFBhZ2UpO1xyXG4gICAgaWYgKHF1ZXJ5T2JqZWN0Py5zZWFyY2gpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2VhcmNoVGV4dCcsIHRoaXMuY2F0ZWdvcnlTZWFyY2hTdHJpbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmdldFByb2dyYW1zTGlzdChwYXJhbXMpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhLmRhdGEgPSByZXMuZGF0YTtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5RGF0YS5mcm9tID0gcmVzLmZyb207XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeURhdGEudG8gPSByZXMudG87XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeURhdGEudG90YWxQYWdlcyA9IHJlcy50b3RhbFBhZ2VzO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhLnRvdGFsUmVjb3JkcyA9IHJlcy50b3RhbFJlY29yZHM7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGVyciA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zaG93Q2F0ZWdvcmllcyA9IHRydWU7XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIHNhdmVQcm9ncmFtKCkge1xyXG5cclxuICB9XHJcblxyXG4gIHNlbGVjdENhdGVnb3J5KG1vZGU6IGFueSwgY2F0ZWdvcnk6IGFueSkge1xyXG4gICAgaWYgKG1vZGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKGNhdGVnb3J5LmNhdGVnb3J5X2lkKTtcclxuICAgICAgdGhpcy5jYXRlZ29yeURhdGEuc2VsZWN0ZWRDYXRlZ29yaWVzLnB1c2goY2F0ZWdvcnkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IGNhdGVnb3J5LmNhdGVnb3J5X2lkKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICBjb25zdCBjYXRlZ29yeUluZGV4ID0gdGhpcy5jYXRlZ29yeURhdGEuc2VsZWN0ZWRDYXRlZ29yaWVzLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZS5jYXRlZ29yeV9pZCA9PSBjYXRlZ29yeS5jYXRlZ29yeV9pZClcclxuICAgICAgdGhpcy5jYXRlZ29yeURhdGEuc2VsZWN0ZWRDYXRlZ29yaWVzLnNwbGljZShjYXRlZ29yeUluZGV4LCAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZUNhdGVnb3JpZXMoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgY2F0ZWdvcnlJbmRleCA9IHRoaXMuY2F0ZWdvcnlEYXRhLnNlbGVjdGVkQ2F0ZWdvcmllcy5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuY2F0ZWdvcnlfaWQgPT0gZXZlbnQuY2F0ZWdvcnlfaWQpXHJcbiAgICB0aGlzLmNhdGVnb3J5RGF0YS5zZWxlY3RlZENhdGVnb3JpZXMuc3BsaWNlKGNhdGVnb3J5SW5kZXgsIDEpO1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IGV2ZW50LmNhdGVnb3J5X2lkKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHNhdmUoKSB7XHJcbiAgICBpZighdGhpcy5oaWRlUHJvZ3JhbXNMaXN0KXtcclxuICAgICAgdGhpcy5kaXNwbGF5Q29uZmlybWF0aW9uTWVzc2FnZT10cnVlO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuc2F2ZVNlbGVjdGVkUHJvZ3JhbS5lbWl0KHsgcHJvZ3JhbTogdGhpcy5jdXJyZW50UHJvZ3JhbSwgY2F0ZWdvcmllczogdGhpcy5zZWxlY3RlZElkcyB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNhdmVDaGFuZ2VzKHZhbHVlOmJvb2xlYW4pe1xyXG4gICAgaWYodmFsdWUpe1xyXG4gICAgICB0aGlzLnNhdmVTZWxlY3RlZFByb2dyYW0uZW1pdCh7IHByb2dyYW06IHRoaXMuY3VycmVudFByb2dyYW0sIGNhdGVnb3JpZXM6IHRoaXMuc2VsZWN0ZWRJZHMgfSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5kaXNwbGF5Q29uZmlybWF0aW9uTWVzc2FnZT1mYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlbGV0ZUV2ZW50KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuY3VycmVudFByb2dyYW0gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dDYXRlZ29yaWVzID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IFtdO1xyXG5cclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkUHJvZ3JhbUNvdW50KCkge1xyXG4gICAgdGhpcy5wcm9ncmFtRGF0YS5TZWxlY3RlZEludGVybmFsQ29udHJvbHNQcm9ncmFtc0NvdW50ID0gMDtcclxuICAgIHRoaXMucHJvZ3JhbURhdGEuU2VsZWN0ZWRPdGhlcnNQcm9ncmFtc0NvdW50ID0gMDtcclxuICAgIHRoaXMucHJvZ3JhbURhdGEuU2VsZWN0ZWRSZWd1bGF0aW9uUHJvZ3JhbXNDb3VudCA9IDA7XHJcbiAgICB0aGlzLnByb2dyYW1EYXRhLlNlbGVjdGVkU3RhbmRhcmRQcm9ncmFtc0NvdW50ID0gMDtcclxuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50UHJvZ3JhbS5wcm9ncmFtVHlwZSkge1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5TZWxlY3RlZE90aGVyc1Byb2dyYW1zQ291bnQrKztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEuU2VsZWN0ZWRSZWd1bGF0aW9uUHJvZ3JhbXNDb3VudCsrO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5TZWxlY3RlZFN0YW5kYXJkUHJvZ3JhbXNDb3VudCsrO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YS5TZWxlY3RlZEludGVybmFsQ29udHJvbHNQcm9ncmFtc0NvdW50Kys7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|