valtech-components 4.0.963 → 4.0.964

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.
Files changed (52) hide show
  1. package/esm2022/lib/components/atoms/notice/notice.component.mjs +3 -3
  2. package/esm2022/lib/components/atoms/rights-footer/rights-footer.component.mjs +2 -2
  3. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +3 -3
  4. package/esm2022/lib/components/molecules/date-picker/date-picker.component.mjs +5 -5
  5. package/esm2022/lib/components/molecules/empty-state/empty-state.component.mjs +3 -3
  6. package/esm2022/lib/components/molecules/feedback-form/feedback-form.component.mjs +3 -3
  7. package/esm2022/lib/components/molecules/field-options-editor/field-options-editor.component.mjs +3 -3
  8. package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +3 -3
  9. package/esm2022/lib/components/molecules/image-crop/image-crop.component.mjs +3 -3
  10. package/esm2022/lib/components/molecules/linked-providers/linked-providers.component.mjs +3 -3
  11. package/esm2022/lib/components/molecules/multi-select-search/multi-select-search.component.mjs +3 -3
  12. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +3 -3
  13. package/esm2022/lib/components/molecules/option-cards/option-cards.component.mjs +3 -3
  14. package/esm2022/lib/components/molecules/permission-selector/permission-selector.component.mjs +3 -3
  15. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +3 -3
  16. package/esm2022/lib/components/molecules/request-form/request-form.component.mjs +3 -3
  17. package/esm2022/lib/components/molecules/update-banner/update-banner.component.mjs +3 -3
  18. package/esm2022/lib/components/organisms/access-request-view/access-request-view.component.mjs +3 -3
  19. package/esm2022/lib/components/organisms/api-keys-modal/api-keys-modal.component.mjs +5 -5
  20. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +3 -3
  21. package/esm2022/lib/components/organisms/cookie-settings/cookie-settings.component.mjs +3 -3
  22. package/esm2022/lib/components/organisms/delete-account-modal/delete-account-modal.component.mjs +3 -3
  23. package/esm2022/lib/components/organisms/field-list/field-list.component.mjs +3 -3
  24. package/esm2022/lib/components/organisms/form/form.component.mjs +3 -3
  25. package/esm2022/lib/components/organisms/infinite-list/infinite-list.component.mjs +5 -5
  26. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +9 -9
  27. package/esm2022/lib/components/organisms/login-attempt-modal/login-attempt-modal.component.mjs +6 -6
  28. package/esm2022/lib/components/organisms/member-detail-modal/member-detail-modal.component.mjs +3 -3
  29. package/esm2022/lib/components/organisms/member-import-modal/member-import-modal.component.mjs +3 -3
  30. package/esm2022/lib/components/organisms/menu/menu.component.mjs +3 -3
  31. package/esm2022/lib/components/organisms/mfa-modal/mfa-modal.component.mjs +3 -3
  32. package/esm2022/lib/components/organisms/notification-preferences-view/notification-preferences-view.component.mjs +5 -5
  33. package/esm2022/lib/components/organisms/notifications-view/notifications-view.component.mjs +3 -3
  34. package/esm2022/lib/components/organisms/organization-view/organization-view.component.mjs +3 -3
  35. package/esm2022/lib/components/organisms/permissions-view/permissions-view.component.mjs +9 -9
  36. package/esm2022/lib/components/organisms/request-review-panel/request-review-panel.component.mjs +3 -3
  37. package/esm2022/lib/components/organisms/role-manager/role-manager.component.mjs +5 -5
  38. package/esm2022/lib/components/organisms/security-view/security-view.component.mjs +5 -5
  39. package/esm2022/lib/components/organisms/session-list-modal/session-list-modal.component.mjs +3 -3
  40. package/esm2022/lib/components/organisms/transfer-ownership-modal/transfer-ownership-modal.component.mjs +5 -5
  41. package/esm2022/lib/components/templates/page-content/page-content.component.mjs +3 -3
  42. package/esm2022/lib/services/confirmation-dialog/types.mjs +2 -2
  43. package/esm2022/lib/services/content/transformer.mjs +3 -3
  44. package/esm2022/lib/services/markdown-article/beautify-legal-article.mjs +2 -2
  45. package/esm2022/lib/services/markdown-article/markdown-article-parser.mjs +2 -2
  46. package/esm2022/lib/services/modal/types.mjs +2 -2
  47. package/esm2022/lib/version.mjs +2 -2
  48. package/fesm2022/valtech-components.mjs +117 -117
  49. package/fesm2022/valtech-components.mjs.map +1 -1
  50. package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +1 -1
  51. package/lib/version.d.ts +1 -1
  52. package/package.json +1 -1
@@ -421,7 +421,7 @@ export class InfiniteListComponent {
421
421
  {{ mergedProps.loadMoreText || i18n.t('loadMore') }}
422
422
  </ion-button>
423
423
  } @else {
424
- <ion-text color="medium">{{ mergedProps.noMoreText || i18n.t('noMoreItems') }}</ion-text>
424
+ <ion-text color="dark">{{ mergedProps.noMoreText || i18n.t('noMoreItems') }}</ion-text>
425
425
  }
426
426
  </div>
427
427
  } @else {
@@ -441,7 +441,7 @@ export class InfiniteListComponent {
441
441
  <!-- No more items indicator -->
442
442
  @if (!hasMoreBottom() && items().length > 0 && !mergedProps.useLoadMoreButton) {
443
443
  <div class="infinite-list-end">
444
- <ion-text color="medium">{{ mergedProps.noMoreText || i18n.t('noMoreItems') }}</ion-text>
444
+ <ion-text color="dark">{{ mergedProps.noMoreText || i18n.t('noMoreItems') }}</ion-text>
445
445
  </div>
446
446
  }
447
447
  </div>
@@ -588,7 +588,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
588
588
  {{ mergedProps.loadMoreText || i18n.t('loadMore') }}
589
589
  </ion-button>
590
590
  } @else {
591
- <ion-text color="medium">{{ mergedProps.noMoreText || i18n.t('noMoreItems') }}</ion-text>
591
+ <ion-text color="dark">{{ mergedProps.noMoreText || i18n.t('noMoreItems') }}</ion-text>
592
592
  }
593
593
  </div>
594
594
  } @else {
@@ -608,7 +608,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
608
608
  <!-- No more items indicator -->
609
609
  @if (!hasMoreBottom() && items().length > 0 && !mergedProps.useLoadMoreButton) {
610
610
  <div class="infinite-list-end">
611
- <ion-text color="medium">{{ mergedProps.noMoreText || i18n.t('noMoreItems') }}</ion-text>
611
+ <ion-text color="dark">{{ mergedProps.noMoreText || i18n.t('noMoreItems') }}</ion-text>
612
612
  </div>
613
613
  }
614
614
  </div>
@@ -635,4 +635,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
635
635
  }], errorOccurred: [{
636
636
  type: Output
637
637
  }] } });
638
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdGUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2luZmluaXRlLWxpc3QvaW5maW5pdGUtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUdSLFNBQVMsRUFDVCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFDVixPQUFPLEVBQ1AsT0FBTyxFQUNQLE9BQU8sRUFDUCxPQUFPLEdBQ1IsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBTUwsOEJBQThCLEdBQy9CLE1BQU0sU0FBUyxDQUFDO0FBRWpCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7O0FBRzlFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNHO0FBb1BILE1BQU0sT0FBTyxxQkFBcUI7SUFuUGxDO1FBb1BtQixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFX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U0FBUzt3QkFDVCxVQUFVO3dCQUNWLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLE9BQU87d0JBQ1Asa0JBQWtCO3FCQUNuQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdKVDs4QkFpRjZCLGNBQWM7c0JBQTNDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUduQixLQUFLO3NCQUFiLEtBQUs7Z0JBR0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIHNpZ25hbCxcbiAgY29tcHV0ZWQsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG4gIGluamVjdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQge1xuICBJb25JbmZpbml0ZVNjcm9sbCxcbiAgSW9uSW5maW5pdGVTY3JvbGxDb250ZW50LFxuICBJb25CdXR0b24sXG4gIElvblNwaW5uZXIsXG4gIElvbkljb24sXG4gIElvblRleHQsXG4gIElvbkxpc3QsXG4gIElvbkl0ZW0sXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIGlzT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgSW5maW5pdGVMaXN0TWV0YWRhdGEsXG4gIEluZmluaXRlTGlzdFN0YXRlLFxuICBMb2FkTW9yZUV2ZW50LFxuICBMb2FkUGFyYW1zLFxuICBMb2FkUmVzdWx0LFxuICBERUZBVUxUX0lORklOSVRFX0xJU1RfTUVUQURBVEEsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgUmVmcmVzaEV2ZW50LCBSZWZyZXNoZXJNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9yZWZyZXNoZXIvdHlwZXMnO1xuaW1wb3J0IHsgUmVmcmVzaGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3JlZnJlc2hlci9yZWZyZXNoZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNrZWxldG9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NrZWxldG9uL3NrZWxldG9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2tlbGV0b25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NrZWxldG9uL3R5cGVzJztcblxuLyoqXG4gKiBDb21wb25lbnRlIHdyYXBwZXIgcGFyYSBsaXN0YXMgY29uIGluZmluaXRlIHNjcm9sbC5cbiAqXG4gKiBAZXhhbXBsZVxuICogPCEtLSBVc28gYmFzaWNvIGNvbiBkYXRhIHNvdXJjZSAtLT5cbiAqIDx2YWwtaW5maW5pdGUtbGlzdFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGRhdGFTb3VyY2U6IHsgbG9hZEZuOiBsb2FkVXNlcnMsIHRyYWNrQnk6IHRyYWNrQnlVc2VySWQgfSxcbiAqICAgICBpdGVtVGVtcGxhdGU6IHVzZXJUZW1wbGF0ZSxcbiAqICAgICBwYWdlU2l6ZTogMjAsXG4gKiAgICAgdGhyZXNob2xkOiAnMTUwcHgnXG4gKiAgIH1cIlxuICogPjwvdmFsLWluZmluaXRlLWxpc3Q+XG4gKlxuICogPG5nLXRlbXBsYXRlICN1c2VyVGVtcGxhdGUgbGV0LXVzZXIgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAqICAgPHZhbC1jYXJkIFtwcm9wc109XCJ7IHRpdGxlOiB1c2VyLm5hbWUsIHN1YnRpdGxlOiB1c2VyLmVtYWlsIH1cIj5cbiAqICAgICA8cD57eyB1c2VyLmJpbyB9fTwvcD5cbiAqICAgPC92YWwtY2FyZD5cbiAqIDwvbmctdGVtcGxhdGU+XG4gKlxuICogQGV4YW1wbGVcbiAqIDwhLS0gQ29uIHB1bGwtdG8tcmVmcmVzaCB5IGVzdGFkbyB2YWNpbyBwZXJzb25hbGl6YWRvIC0tPlxuICogPHZhbC1pbmZpbml0ZS1saXN0XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgZGF0YVNvdXJjZTogeyBsb2FkRm46IGxvYWRNZXNzYWdlcyB9LFxuICogICAgIGl0ZW1UZW1wbGF0ZTogbWVzc2FnZVRlbXBsYXRlLFxuICogICAgIGRpcmVjdGlvbjogJ2JvdGgnLFxuICogICAgIGVuYWJsZVJlZnJlc2g6IHRydWUsXG4gKiAgICAgZW1wdHlTdGF0ZToge1xuICogICAgICAgaWNvbjogJ2NoYXRidWJibGVzLW91dGxpbmUnLFxuICogICAgICAgdGl0bGU6ICdTaW4gbWVuc2FqZXMnLFxuICogICAgICAgbWVzc2FnZTogJ0luaWNpYSB1bmEgY29udmVyc2FjaW9uJ1xuICogICAgIH0sXG4gKiAgICAgc2tlbGV0b246IHsgdGVtcGxhdGU6ICdsaXN0JywgY291bnQ6IDUgfVxuICogICB9XCJcbiAqICAgKHJlZnJlc2gpPVwib25SZWZyZXNoKCRldmVudClcIlxuICogPjwvdmFsLWluZmluaXRlLWxpc3Q+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1pbmZpbml0ZS1saXN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJb25JbmZpbml0ZVNjcm9sbCxcbiAgICBJb25JbmZpbml0ZVNjcm9sbENvbnRlbnQsXG4gICAgSW9uQnV0dG9uLFxuICAgIElvblNwaW5uZXIsXG4gICAgSW9uSWNvbixcbiAgICBJb25UZXh0LFxuICAgIElvbkxpc3QsXG4gICAgSW9uSXRlbSxcbiAgICBSZWZyZXNoZXJDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPCEtLSBQdWxsIHRvIHJlZnJlc2ggd3JhcHBlciAtLT5cbiAgICBAaWYgKG1lcmdlZFByb3BzLmVuYWJsZVJlZnJlc2gpIHtcbiAgICAgIDx2YWwtcmVmcmVzaGVyIFtwcm9wc109XCJyZWZyZXNoZXJDb25maWdcIiAocmVmcmVzaCk9XCJvblJlZnJlc2hUcmlnZ2VyZWQoJGV2ZW50KVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvdmFsLXJlZnJlc2hlcj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaXN0Q29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cblxuICAgIDwhLS0gTWFpbiBsaXN0IGNvbnRlbnQgdGVtcGxhdGUgLS0+XG4gICAgPG5nLXRlbXBsYXRlICNsaXN0Q29udGVudD5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpbmZpbml0ZS1saXN0LWNvbnRhaW5lclwiXG4gICAgICAgIFtjbGFzc109XCJtZXJnZWRQcm9wcy5jc3NDbGFzc1wiXG4gICAgICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIm1lcmdlZFByb3BzLm1heEhlaWdodFwiXG4gICAgICAgIFtzdHlsZS5vdmVyZmxvdy15XT1cIm1lcmdlZFByb3BzLm1heEhlaWdodCA/ICdhdXRvJyA6ICd2aXNpYmxlJ1wiXG4gICAgICAgIHJvbGU9XCJmZWVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1idXN5XT1cInN0YXRlKCkgPT09ICdsb2FkaW5nJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibWVyZ2VkUHJvcHMuYXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmlwdGlvbl09XCJtZXJnZWRQcm9wcy5hcmlhRGVzY3JpcHRpb25cIlxuICAgICAgPlxuICAgICAgICA8IS0tIExvYWRpbmcgc3RhdGUgKGluaXRpYWwpIC0tPlxuICAgICAgICBAaWYgKHN0YXRlKCkgPT09ICdsb2FkaW5nJyAmJiBpdGVtcygpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZpbml0ZS1saXN0LXNrZWxldG9uXCI+XG4gICAgICAgICAgICBAaWYgKG1lcmdlZFByb3BzLnNrZWxldG9uPy5jdXN0b21UZW1wbGF0ZSkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWVyZ2VkUHJvcHMuc2tlbGV0b24uY3VzdG9tVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cInNrZWxldG9uQ29tcG9uZW50OyBpbnB1dHM6IHNrZWxldG9uSW5wdXRzXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEVtcHR5IHN0YXRlIC0tPlxuICAgICAgICBAaWYgKHN0YXRlKCkgPT09ICdpZGxlJyAmJiBpdGVtcygpLmxlbmd0aCA9PT0gMCAmJiAhaXNJbml0aWFsTG9hZCgpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImluZmluaXRlLWxpc3QtZW1wdHlcIj5cbiAgICAgICAgICAgIEBpZiAobWVyZ2VkUHJvcHMuZW1wdHlTdGF0ZT8udGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1lcmdlZFByb3BzLmVtcHR5U3RhdGUudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICBAaWYgKG1lcmdlZFByb3BzLmVtcHR5U3RhdGU/Lmljb24pIHtcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwibWVyZ2VkUHJvcHMuZW1wdHlTdGF0ZS5pY29uXCIgc2l6ZT1cImxhcmdlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaWYgKG1lcmdlZFByb3BzLmVtcHR5U3RhdGU/LnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgPGgzPnt7IG1lcmdlZFByb3BzLmVtcHR5U3RhdGUudGl0bGUgfX08L2gzPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZiAobWVyZ2VkUHJvcHMuZW1wdHlTdGF0ZT8ubWVzc2FnZSkge1xuICAgICAgICAgICAgICAgIDxwPnt7IG1lcmdlZFByb3BzLmVtcHR5U3RhdGUubWVzc2FnZSB9fTwvcD5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBFcnJvciBzdGF0ZSAtLT5cbiAgICAgICAgQGlmIChzdGF0ZSgpID09PSAnZXJyb3InKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImluZmluaXRlLWxpc3QtZXJyb3JcIj5cbiAgICAgICAgICAgIEBpZiAobWVyZ2VkUHJvcHMuZXJyb3JTdGF0ZT8udGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICBtZXJnZWRQcm9wcy5lcnJvclN0YXRlLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgY29udGV4dDogeyBlcnJvcjogZXJyb3IoKSwgcmV0cnk6IHJldHJ5LmJpbmQodGhpcykgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICBAaWYgKG1lcmdlZFByb3BzLmVycm9yU3RhdGU/Lmljb24pIHtcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwibWVyZ2VkUHJvcHMuZXJyb3JTdGF0ZS5pY29uXCIgY29sb3I9XCJkYW5nZXJcIiBzaXplPVwibGFyZ2VcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFsZXJ0LWNpcmNsZS1vdXRsaW5lXCIgY29sb3I9XCJkYW5nZXJcIiBzaXplPVwibGFyZ2VcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDxoMz57eyBtZXJnZWRQcm9wcy5lcnJvclN0YXRlPy50aXRsZSB8fCBpMThuLnQoJ2Vycm9yJykgfX08L2gzPlxuICAgICAgICAgICAgICA8cD57eyBtZXJnZWRQcm9wcy5lcnJvclN0YXRlPy5tZXNzYWdlIHx8IGVycm9yKCk/Lm1lc3NhZ2UgfHwgaTE4bi50KCdlcnJvck9jY3VycmVkJykgfX08L3A+XG4gICAgICAgICAgICAgIEBpZiAobWVyZ2VkUHJvcHMuZXJyb3JTdGF0ZT8uc2hvd1JldHJ5ICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cInJldHJ5KClcIj5cbiAgICAgICAgICAgICAgICAgIHt7IG1lcmdlZFByb3BzLmVycm9yU3RhdGU/LnJldHJ5VGV4dCB8fCBpMThuLnQoJ3JldHJ5JykgfX1cbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gSXRlbXMgbGlzdCAtLT5cbiAgICAgICAgQGlmIChpdGVtcygpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5maW5pdGUtbGlzdC1pdGVtc1wiIHJvbGU9XCJwcmVzZW50YXRpb25cIiBbY2xhc3Mud2l0aC1kaXZpZGVyc109XCJtZXJnZWRQcm9wcy5zaG93RGl2aWRlcnNcIj5cbiAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICBpdGVtIG9mIGl0ZW1zKCk7XG4gICAgICAgICAgICAgIHRyYWNrIHRyYWNrQnlGbigkaW5kZXgsIGl0ZW0pO1xuICAgICAgICAgICAgICBsZXQgaSA9ICRpbmRleDtcbiAgICAgICAgICAgICAgbGV0IGZpcnN0ID0gJGZpcnN0O1xuICAgICAgICAgICAgICBsZXQgbGFzdCA9ICRsYXN0XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgPGFydGljbGVcbiAgICAgICAgICAgICAgICBjbGFzcz1cImluZmluaXRlLWxpc3QtaXRlbVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZXRzaXplXT1cIm1lcmdlZFByb3BzLmRhdGFTb3VyY2UudG90YWxDb3VudCB8fCBudWxsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cImkgKyAxXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgIG1lcmdlZFByb3BzLml0ZW1UZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIGluZGV4OiBpLCBmaXJzdDogZmlyc3QsIGxhc3Q6IGxhc3QsIGNvdW50OiBpdGVtcygpLmxlbmd0aCB9XG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9hcnRpY2xlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBCb3R0b20gaW5maW5pdGUgc2Nyb2xsIC0tPlxuICAgICAgICBAaWYgKHNob3VsZFNob3dCb3R0b21TY3JvbGwoKSkge1xuICAgICAgICAgIEBpZiAobWVyZ2VkUHJvcHMudXNlTG9hZE1vcmVCdXR0b24pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZpbml0ZS1saXN0LWxvYWQtbW9yZVwiPlxuICAgICAgICAgICAgICBAaWYgKGhhc01vcmVCb3R0b20oKSkge1xuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICBbY29sb3JdPVwibWVyZ2VkUHJvcHMuY29sb3JcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN0YXRlKCkgPT09ICdsb2FkaW5nJ1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibG9hZEJvdHRvbSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBAaWYgKHN0YXRlKCkgPT09ICdsb2FkaW5nJykge1xuICAgICAgICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgW25hbWVdPVwibWVyZ2VkUHJvcHMuc3Bpbm5lclR5cGVcIiBzbG90PVwic3RhcnRcIj48L2lvbi1zcGlubmVyPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAge3sgbWVyZ2VkUHJvcHMubG9hZE1vcmVUZXh0IHx8IGkxOG4udCgnbG9hZE1vcmUnKSB9fVxuICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGlvbi10ZXh0IGNvbG9yPVwibWVkaXVtXCI+e3sgbWVyZ2VkUHJvcHMubm9Nb3JlVGV4dCB8fCBpMThuLnQoJ25vTW9yZUl0ZW1zJykgfX08L2lvbi10ZXh0PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxpb24taW5maW5pdGUtc2Nyb2xsXG4gICAgICAgICAgICAgIFt0aHJlc2hvbGRdPVwibWVyZ2VkUHJvcHMudGhyZXNob2xkXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFoYXNNb3JlQm90dG9tKClcIlxuICAgICAgICAgICAgICAoaW9uSW5maW5pdGUpPVwib25JbmZpbml0ZVNjcm9sbCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlvbi1pbmZpbml0ZS1zY3JvbGwtY29udGVudFxuICAgICAgICAgICAgICAgIFtsb2FkaW5nU3Bpbm5lcl09XCJtZXJnZWRQcm9wcy5zcGlubmVyVHlwZVwiXG4gICAgICAgICAgICAgICAgW2xvYWRpbmdUZXh0XT1cInN0YXRlKCkgPT09ICdsb2FkaW5nJyA/IGkxOG4udCgnbG9hZGluZycpIDogJydcIlxuICAgICAgICAgICAgICA+PC9pb24taW5maW5pdGUtc2Nyb2xsLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2lvbi1pbmZpbml0ZS1zY3JvbGw+XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBObyBtb3JlIGl0ZW1zIGluZGljYXRvciAtLT5cbiAgICAgICAgQGlmICghaGFzTW9yZUJvdHRvbSgpICYmIGl0ZW1zKCkubGVuZ3RoID4gMCAmJiAhbWVyZ2VkUHJvcHMudXNlTG9hZE1vcmVCdXR0b24pIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5maW5pdGUtbGlzdC1lbmRcIj5cbiAgICAgICAgICAgIDxpb24tdGV4dCBjb2xvcj1cIm1lZGl1bVwiPnt7IG1lcmdlZFByb3BzLm5vTW9yZVRleHQgfHwgaTE4bi50KCdub01vcmVJdGVtcycpIH19PC9pb24tdGV4dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDwhLS0gTGl2ZSByZWdpb24gZm9yIGFjY2Vzc2liaWxpdHkgYW5ub3VuY2VtZW50cyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwic3Itb25seVwiIHJvbGU9XCJzdGF0dXNcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIiBbYXR0ci5hcmlhLWF0b21pY109XCJ0cnVlXCI+XG4gICAgICB7eyBzdGF0dXNBbm5vdW5jZW1lbnQoKSB9fVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAuaW5maW5pdGUtbGlzdC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmluZmluaXRlLWxpc3Qtc2tlbGV0b24sXG4gICAgICAuaW5maW5pdGUtbGlzdC1lbXB0eSxcbiAgICAgIC5pbmZpbml0ZS1saXN0LWVycm9yIHtcbiAgICAgICAgcGFkZGluZzogMjRweCAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICB9XG5cbiAgICAgIC5pbmZpbml0ZS1saXN0LWVtcHR5IGlvbi1pY29uLFxuICAgICAgLmluZmluaXRlLWxpc3QtZXJyb3IgaW9uLWljb24ge1xuICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIH1cblxuICAgICAgLmluZmluaXRlLWxpc3QtZW1wdHkgaDMsXG4gICAgICAuaW5maW5pdGUtbGlzdC1lcnJvciBoMyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuXG4gICAgICAuaW5maW5pdGUtbGlzdC1lbXB0eSBwLFxuICAgICAgLmluZmluaXRlLWxpc3QtZXJyb3IgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuXG4gICAgICAuaW5maW5pdGUtbGlzdC1pdGVtcyB7XG4gICAgICAgICYud2l0aC1kaXZpZGVycyAuaW5maW5pdGUtbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1pb24tY29sb3ItbGlnaHQtc2hhZGUsICNkN2Q4ZGEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pbmZpbml0ZS1saXN0LWxvYWQtbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgfVxuXG4gICAgICAuaW5maW5pdGUtbGlzdC1lbmQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuXG4gICAgICAuc3Itb25seSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEluZmluaXRlTGlzdENvbXBvbmVudDxUID0gdW5rbm93bj4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2tlbGV0b25TZXJ2aWNlID0gaW5qZWN0KFNrZWxldG9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIEBWaWV3Q2hpbGQoSW9uSW5maW5pdGVTY3JvbGwpIGluZmluaXRlU2Nyb2xsPzogSW9uSW5maW5pdGVTY3JvbGw7XG5cbiAgLyoqIENvbmZpZ3VyYWNpb24gZGVsIGNvbXBvbmVudGUgKi9cbiAgQElucHV0KCkgcHJvcHMhOiBJbmZpbml0ZUxpc3RNZXRhZGF0YTxUPjtcblxuICAvLyA9PT0gRXZlbnRzID09PVxuICBAT3V0cHV0KCkgbG9hZE1vcmUgPSBuZXcgRXZlbnRFbWl0dGVyPExvYWRNb3JlRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSByZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcjxSZWZyZXNoRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBzdGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SW5maW5pdGVMaXN0U3RhdGU+KCk7XG4gIEBPdXRwdXQoKSBpdGVtc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VFtdPigpO1xuICBAT3V0cHV0KCkgZXJyb3JPY2N1cnJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RXJyb3I+KCk7XG5cbiAgLy8gPT09IFJlYWN0aXZlIFN0YXRlID09PVxuICByZWFkb25seSBpdGVtcyA9IHNpZ25hbDxUW10+KFtdKTtcbiAgcmVhZG9ubHkgc3RhdGUgPSBzaWduYWw8SW5maW5pdGVMaXN0U3RhdGU+KCdpZGxlJyk7XG4gIHJlYWRvbmx5IGhhc01vcmVCb3R0b20gPSBzaWduYWw8Ym9vbGVhbj4odHJ1ZSk7XG4gIHJlYWRvbmx5IGhhc01vcmVUb3AgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBlcnJvciA9IHNpZ25hbDxFcnJvciB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBpc0luaXRpYWxMb2FkID0gc2lnbmFsPGJvb2xlYW4+KHRydWUpO1xuXG4gIHByaXZhdGUgY3VycmVudFBhZ2UgPSAwO1xuICBwcml2YXRlIGN1cnJlbnRDdXJzb3I6IHVua25vd24gPSBudWxsO1xuXG4gIC8qKiBQcm9ncmVzbyBkZSBjYXJnYSAoMC0xIHNpIHRvdGFsQ291bnQgY29ub2NpZG8pICovXG4gIHJlYWRvbmx5IGxvYWRQcm9ncmVzcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAoIXRoaXMucHJvcHM/LmRhdGFTb3VyY2U/LnRvdGFsQ291bnQpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB0aGlzLml0ZW1zKCkubGVuZ3RoIC8gdGhpcy5wcm9wcy5kYXRhU291cmNlLnRvdGFsQ291bnQ7XG4gIH0pO1xuXG4gIC8qKiBQcm9wcyBjb21iaW5hZG9zIGNvbiBkZWZhdWx0cyAqL1xuICBnZXQgbWVyZ2VkUHJvcHMoKTogSW5maW5pdGVMaXN0TWV0YWRhdGE8VD4ge1xuICAgIHJldHVybiB7IC4uLkRFRkFVTFRfSU5GSU5JVEVfTElTVF9NRVRBREFUQSwgLi4udGhpcy5wcm9wcyB9IGFzIEluZmluaXRlTGlzdE1ldGFkYXRhPFQ+O1xuICB9XG5cbiAgLyoqIENvbmZpZyBkZWwgcmVmcmVzaGVyICovXG4gIGdldCByZWZyZXNoZXJDb25maWcoKTogUmVmcmVzaGVyTWV0YWRhdGEge1xuICAgIHJldHVybiB0aGlzLm1lcmdlZFByb3BzLnJlZnJlc2hDb25maWcgPz8ge307XG4gIH1cblxuICAvKiogQ29tcG9uZW50ZSBkZSBza2VsZXRvbiBhIHVzYXIgKi9cbiAgZ2V0IHNrZWxldG9uQ29tcG9uZW50KCkge1xuICAgIGNvbnN0IHRlbXBsYXRlTmFtZSA9IHRoaXMubWVyZ2VkUHJvcHMuc2tlbGV0b24/LnRlbXBsYXRlIHx8ICdsaXN0JztcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IHRoaXMuc2tlbGV0b25TZXJ2aWNlLmdldFRlbXBsYXRlKHRlbXBsYXRlTmFtZSk7XG4gICAgcmV0dXJuIHRlbXBsYXRlPy5jb21wb25lbnQgPz8gbnVsbDtcbiAgfVxuXG4gIC8qKiBJbnB1dHMgcGFyYSBlbCBza2VsZXRvbiAqL1xuICBnZXQgc2tlbGV0b25JbnB1dHMoKTogeyBjb25maWc6IHVua25vd24gfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICBjb3VudDogdGhpcy5tZXJnZWRQcm9wcy5za2VsZXRvbj8uY291bnQgPz8gMyxcbiAgICAgICAgYW5pbWF0ZWQ6IHRydWUsXG4gICAgICAgIC4uLnRoaXMubWVyZ2VkUHJvcHMuc2tlbGV0b24/LmNvbmZpZyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBBbnVuY2lvIGRlIGVzdGFkbyBwYXJhIGxlY3RvcmVzIGRlIHBhbnRhbGxhICovXG4gIHJlYWRvbmx5IHN0YXR1c0Fubm91bmNlbWVudCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBzd2l0Y2ggKHRoaXMuc3RhdGUoKSkge1xuICAgICAgY2FzZSAnbG9hZGluZyc6XG4gICAgICAgIHJldHVybiB0aGlzLmkxOG4udCgnbG9hZGluZ0l0ZW1zJyk7XG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmkxOG4udCgnZXJyb3InKX06ICR7dGhpcy5lcnJvcigpPy5tZXNzYWdlIHx8IHRoaXMuaTE4bi50KCdlcnJvck9jY3VycmVkJyl9YDtcbiAgICAgIGNhc2UgJ2NvbXBsZXRlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuaTE4bi50KCdhbGxJdGVtc0xvYWRlZCcpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfSk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQ2FyZ2FyIGl0ZW1zIGluaWNpYWxlcyBkZWwgZGF0YVNvdXJjZSBzaSBleGlzdGVuXG4gICAgaWYgKHRoaXMucHJvcHMuZGF0YVNvdXJjZS5pdGVtcz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLml0ZW1zLnNldChbLi4udGhpcy5wcm9wcy5kYXRhU291cmNlLml0ZW1zXSk7XG4gICAgICB0aGlzLmlzSW5pdGlhbExvYWQuc2V0KGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBBdXRvLWNhcmdhciBzaSBlc3RhIGhhYmlsaXRhZG9cbiAgICBpZiAodGhpcy5tZXJnZWRQcm9wcy5hdXRvTG9hZCAmJiAhdGhpcy5pdGVtcygpLmxlbmd0aCkge1xuICAgICAgdGhpcy5sb2FkSW5pdGlhbCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIENsZWFudXBcbiAgfVxuXG4gIC8qKiBGdW5jaW9uIGRlIHRyYWNraW5nIHBhcmEgbmdGb3IgKi9cbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IFQpOiB1bmtub3duIHtcbiAgICBpZiAodGhpcy5wcm9wcy5kYXRhU291cmNlLnRyYWNrQnkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmRhdGFTb3VyY2UudHJhY2tCeShpbmRleCwgaXRlbSk7XG4gICAgfVxuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIC8qKiBTaSBkZWJlIG1vc3RyYXIgZWwgc2Nyb2xsIGluZmVyaW9yICovXG4gIHNob3VsZFNob3dCb3R0b21TY3JvbGwoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZGlyID0gdGhpcy5tZXJnZWRQcm9wcy5kaXJlY3Rpb247XG4gICAgcmV0dXJuIChkaXIgPT09ICdib3R0b20nIHx8IGRpciA9PT0gJ2JvdGgnKSAmJiB0aGlzLml0ZW1zKCkubGVuZ3RoID4gMDtcbiAgfVxuXG4gIC8qKiBDYXJnYSBpbmljaWFsIGRlIGRhdG9zICovXG4gIGFzeW5jIGxvYWRJbml0aWFsKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5wcm9wcy5kYXRhU291cmNlLmxvYWRGbikgcmV0dXJuO1xuXG4gICAgdGhpcy5zdGF0ZS5zZXQoJ2xvYWRpbmcnKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoJ2xvYWRpbmcnKTtcbiAgICB0aGlzLmVycm9yLnNldChudWxsKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJhbXM6IExvYWRQYXJhbXMgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogJ2JvdHRvbScsXG4gICAgICAgIHBhZ2U6IDAsXG4gICAgICAgIHBhZ2VTaXplOiB0aGlzLm1lcmdlZFByb3BzLnBhZ2VTaXplID8/IDIwLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5leGVjdXRlTG9hZChwYXJhbXMpO1xuXG4gICAgICB0aGlzLml0ZW1zLnNldChyZXN1bHQuaXRlbXMgYXMgVFtdKTtcbiAgICAgIHRoaXMuaGFzTW9yZUJvdHRvbS5zZXQocmVzdWx0Lmhhc01vcmUpO1xuICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XG4gICAgICB0aGlzLmN1cnJlbnRDdXJzb3IgPSByZXN1bHQuY3Vyc29yO1xuICAgICAgdGhpcy5pc0luaXRpYWxMb2FkLnNldChmYWxzZSk7XG5cbiAgICAgIHRoaXMuc3RhdGUuc2V0KCdpZGxlJyk7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoJ2lkbGUnKTtcbiAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKCkpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnIgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDYXJnYXIgbWFzIGl0ZW1zIGVuIGxhIHBhcnRlIGluZmVyaW9yICovXG4gIGFzeW5jIGxvYWRCb3R0b20oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmhhc01vcmVCb3R0b20oKSB8fCB0aGlzLnN0YXRlKCkgPT09ICdsb2FkaW5nJykgcmV0dXJuO1xuICAgIGlmICghdGhpcy5wcm9wcy5kYXRhU291cmNlLmxvYWRGbikgcmV0dXJuO1xuXG4gICAgdGhpcy5zdGF0ZS5zZXQoJ2xvYWRpbmcnKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoJ2xvYWRpbmcnKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJhbXM6IExvYWRQYXJhbXMgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogJ2JvdHRvbScsXG4gICAgICAgIHBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICAgIHBhZ2VTaXplOiB0aGlzLm1lcmdlZFByb3BzLnBhZ2VTaXplID8/IDIwLFxuICAgICAgICBjdXJzb3I6IHRoaXMuY3VycmVudEN1cnNvcixcbiAgICAgICAgbGFzdEl0ZW06IHRoaXMuaXRlbXMoKVt0aGlzLml0ZW1zKCkubGVuZ3RoIC0gMV0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmV4ZWN1dGVMb2FkKHBhcmFtcyk7XG5cbiAgICAgIHRoaXMuaXRlbXMudXBkYXRlKGN1cnJlbnQgPT4gWy4uLmN1cnJlbnQsIC4uLihyZXN1bHQuaXRlbXMgYXMgVFtdKV0pO1xuICAgICAgdGhpcy5oYXNNb3JlQm90dG9tLnNldChyZXN1bHQuaGFzTW9yZSk7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlKys7XG4gICAgICB0aGlzLmN1cnJlbnRDdXJzb3IgPSByZXN1bHQuY3Vyc29yO1xuXG4gICAgICB0aGlzLnN0YXRlLnNldChyZXN1bHQuaGFzTW9yZSA/ICdpZGxlJyA6ICdjb21wbGV0ZScpO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHJlc3VsdC5oYXNNb3JlID8gJ2lkbGUnIDogJ2NvbXBsZXRlJyk7XG4gICAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQodGhpcy5pdGVtcygpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FyZ2FyIG1hcyBpdGVtcyBlbiBsYSBwYXJ0ZSBzdXBlcmlvciAqL1xuICBhc3luYyBsb2FkVG9wKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5oYXNNb3JlVG9wKCkgfHwgdGhpcy5zdGF0ZSgpID09PSAnbG9hZGluZycpIHJldHVybjtcbiAgICBpZiAoIXRoaXMucHJvcHMuZGF0YVNvdXJjZS5sb2FkRm4pIHJldHVybjtcblxuICAgIHRoaXMuc3RhdGUuc2V0KCdsb2FkaW5nJyk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyYW1zOiBMb2FkUGFyYW1zID0ge1xuICAgICAgICBkaXJlY3Rpb246ICd0b3AnLFxuICAgICAgICBwYWdlOiAwLFxuICAgICAgICBwYWdlU2l6ZTogdGhpcy5tZXJnZWRQcm9wcy5wYWdlU2l6ZSA/PyAyMCxcbiAgICAgICAgZmlyc3RJdGVtOiB0aGlzLml0ZW1zKClbMF0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmV4ZWN1dGVMb2FkKHBhcmFtcyk7XG5cbiAgICAgIHRoaXMuaXRlbXMudXBkYXRlKGN1cnJlbnQgPT4gWy4uLihyZXN1bHQuaXRlbXMgYXMgVFtdKSwgLi4uY3VycmVudF0pO1xuICAgICAgdGhpcy5oYXNNb3JlVG9wLnNldChyZXN1bHQuaGFzTW9yZSk7XG5cbiAgICAgIHRoaXMuc3RhdGUuc2V0KCdpZGxlJyk7XG4gICAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQodGhpcy5pdGVtcygpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvKiogUmVmcmVzaCAtIHJlY2FyZ2FyIGRlc2RlIGNlcm8gKi9cbiAgYXN5bmMgcmVmcmVzaExpc3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDA7XG4gICAgdGhpcy5jdXJyZW50Q3Vyc29yID0gbnVsbDtcbiAgICB0aGlzLmhhc01vcmVCb3R0b20uc2V0KHRydWUpO1xuICAgIHRoaXMuaXRlbXMuc2V0KFtdKTtcbiAgICBhd2FpdCB0aGlzLmxvYWRJbml0aWFsKCk7XG4gIH1cblxuICAvKiogUmVpbnRlbnRhciBkZXNwdWVzIGRlIGVycm9yICovXG4gIGFzeW5jIHJldHJ5KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZXJyb3Iuc2V0KG51bGwpO1xuICAgIGlmICh0aGlzLml0ZW1zKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICBhd2FpdCB0aGlzLmxvYWRJbml0aWFsKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHRoaXMubG9hZEJvdHRvbSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXNldCBjb21wbGV0byAqL1xuICBhc3luYyByZXNldCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLml0ZW1zLnNldChbXSk7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDA7XG4gICAgdGhpcy5jdXJyZW50Q3Vyc29yID0gbnVsbDtcbiAgICB0aGlzLmhhc01vcmVCb3R0b20uc2V0KHRydWUpO1xuICAgIHRoaXMuaGFzTW9yZVRvcC5zZXQoZmFsc2UpO1xuICAgIHRoaXMuZXJyb3Iuc2V0KG51bGwpO1xuICAgIHRoaXMuaXNJbml0aWFsTG9hZC5zZXQodHJ1ZSk7XG4gICAgdGhpcy5zdGF0ZS5zZXQoJ2lkbGUnKTtcblxuICAgIGlmICh0aGlzLm1lcmdlZFByb3BzLmF1dG9Mb2FkKSB7XG4gICAgICBhd2FpdCB0aGlzLmxvYWRJbml0aWFsKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEFncmVnYXIgaXRlbXMgYWwgaW5pY2lvICovXG4gIHByZXBlbmRJdGVtcyhuZXdJdGVtczogVFtdKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtcy51cGRhdGUoY3VycmVudCA9PiBbLi4ubmV3SXRlbXMsIC4uLmN1cnJlbnRdKTtcbiAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQodGhpcy5pdGVtcygpKTtcbiAgfVxuXG4gIC8qKiBBZ3JlZ2FyIGl0ZW1zIGFsIGZpbmFsICovXG4gIGFwcGVuZEl0ZW1zKG5ld0l0ZW1zOiBUW10pOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zLnVwZGF0ZShjdXJyZW50ID0+IFsuLi5jdXJyZW50LCAuLi5uZXdJdGVtc10pO1xuICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKCkpO1xuICB9XG5cbiAgLyoqIEFjdHVhbGl6YXIgdW4gaXRlbSBwb3IgaW5kaWNlICovXG4gIHVwZGF0ZUl0ZW0oaW5kZXg6IG51bWJlciwgaXRlbTogVCk6IHZvaWQge1xuICAgIHRoaXMuaXRlbXMudXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgY29uc3QgdXBkYXRlZCA9IFsuLi5jdXJyZW50XTtcbiAgICAgIHVwZGF0ZWRbaW5kZXhdID0gaXRlbTtcbiAgICAgIHJldHVybiB1cGRhdGVkO1xuICAgIH0pO1xuICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKCkpO1xuICB9XG5cbiAgLyoqIFJlbW92ZXIgdW4gaXRlbSBwb3IgaW5kaWNlICovXG4gIHJlbW92ZUl0ZW0oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuaXRlbXMudXBkYXRlKGN1cnJlbnQgPT4gY3VycmVudC5maWx0ZXIoKF8sIGkpID0+IGkgIT09IGluZGV4KSk7XG4gICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KHRoaXMuaXRlbXMoKSk7XG4gIH1cblxuICAvKiogSGFuZGxlciBwYXJhIGV2ZW50byBkZSBpbmZpbml0ZSBzY3JvbGwgKi9cbiAgYXN5bmMgb25JbmZpbml0ZVNjcm9sbChldmVudDogQ3VzdG9tRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmxvYWRCb3R0b20oKTtcbiAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJb25JbmZpbml0ZVNjcm9sbEVsZW1lbnQpLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKiogSGFuZGxlciBwYXJhIGV2ZW50byBkZSByZWZyZXNoICovXG4gIGFzeW5jIG9uUmVmcmVzaFRyaWdnZXJlZChldmVudDogUmVmcmVzaEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5yZWZyZXNoLmVtaXQoZXZlbnQpO1xuICAgIGF3YWl0IHRoaXMucmVmcmVzaExpc3QoKTtcbiAgICBldmVudC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlTG9hZChwYXJhbXM6IExvYWRQYXJhbXMpOiBQcm9taXNlPExvYWRSZXN1bHQ8dW5rbm93bj4+IHtcbiAgICBjb25zdCBsb2FkRm4gPSB0aGlzLnByb3BzLmRhdGFTb3VyY2UubG9hZEZuITtcbiAgICBjb25zdCByZXN1bHQgPSBsb2FkRm4ocGFyYW1zKTtcblxuICAgIGlmIChpc09ic2VydmFibGUocmVzdWx0KSkge1xuICAgICAgcmV0dXJuIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHJlc3VsdCk7XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycjogRXJyb3IpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yLnNldChlcnIpO1xuICAgIHRoaXMuc3RhdGUuc2V0KCdlcnJvcicpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCgnZXJyb3InKTtcbiAgICB0aGlzLmVycm9yT2NjdXJyZWQuZW1pdChlcnIpO1xuICAgIGNvbnNvbGUuZXJyb3IoJ1tJbmZpbml0ZUxpc3RdIEVycm9yIGxvYWRpbmcgaXRlbXM6JywgZXJyKTtcbiAgfVxufVxuIl19
638
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdGUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2luZmluaXRlLWxpc3QvaW5maW5pdGUtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUdSLFNBQVMsRUFDVCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFDVixPQUFPLEVBQ1AsT0FBTyxFQUNQLE9BQU8sRUFDUCxPQUFPLEdBQ1IsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBTUwsOEJBQThCLEdBQy9CLE1BQU0sU0FBUyxDQUFDO0FBRWpCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7O0FBRzlFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNHO0FBb1BILE1BQU0sT0FBTyxxQkFBcUI7SUFuUGxDO1FBb1BtQixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQU85QyxpQkFBaUI7UUFDUCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFDN0MsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQzNDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDcEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3RDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUVwRCx5QkFBeUI7UUFDaEIsVUFBSyxHQUFHLE1BQU0sQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUN4QixVQUFLLEdBQUcsTUFBTSxDQUFvQixNQUFNLENBQUMsQ0FBQztRQUMxQyxrQkFBYSxHQUFHLE1BQU0sQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN0QyxlQUFVLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLFVBQUssR0FBRyxNQUFNLENBQWUsSUFBSSxDQUFDLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxNQUFNLENBQVUsSUFBSSxDQUFDLENBQUM7UUFFdkMsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFFdEMscURBQXFEO1FBQzVDLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsVUFBVTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUNyRCxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO1FBOEJILGtEQUFrRDtRQUN6Qyx1QkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzFDLFFBQVEsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ3JCLEtBQUssU0FBUztvQkFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNyQyxLQUFLLE9BQU87b0JBQ1YsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDN0YsS0FBSyxVQUFVO29CQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDdkM7b0JBQ0UsT0FBTyxFQUFFLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7S0F3Tko7SUFoUUMsb0NBQW9DO0lBQ3BDLElBQUksV0FBVztRQUNiLE9BQU8sRUFBRSxHQUFHLDhCQUE4QixFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBNkIsQ0FBQztJQUN6RixDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLElBQUksaUJBQWlCO1FBQ25CLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLFFBQVEsSUFBSSxNQUFNLENBQUM7UUFDbkUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEUsT0FBTyxRQUFRLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBRUQsOEJBQThCO0lBQzlCLElBQUksY0FBYztRQUNoQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQztnQkFDNUMsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxNQUFNO2FBQ3JDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFnQkQsUUFBUTtRQUNOLG1EQUFtRDtRQUNuRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBRUQsaUNBQWlDO1FBQ2pDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULFVBQVU7SUFDWixDQUFDO0lBRUQscUNBQXFDO0lBQ3JDLFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBTztRQUM5QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLHNCQUFzQjtRQUNwQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUN2QyxPQUFPLENBQUMsR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELDZCQUE2QjtJQUM3QixLQUFLLENBQUMsV0FBVztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUUxQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQixJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBZTtnQkFDekIsU0FBUyxFQUFFLFFBQVE7Z0JBQ25CLElBQUksRUFBRSxDQUFDO2dCQUNQLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsSUFBSSxFQUFFO2FBQzFDLENBQUM7WUFFRixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQVksQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQVksQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRUQsNENBQTRDO0lBQzVDLEtBQUssQ0FBQyxVQUFVO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssU0FBUztZQUFFLE9BQU87UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBRTFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWpDLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFlO2dCQUN6QixTQUFTLEVBQUUsUUFBUTtnQkFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUN0QixRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLElBQUksRUFBRTtnQkFDekMsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhO2dCQUMxQixRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ2hELENBQUM7WUFFRixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUksTUFBTSxDQUFDLEtBQWEsQ0FBQyxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFFbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFZLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLFNBQVM7WUFBRSxPQUFPO1FBQzdELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUUxQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBZTtnQkFDekIsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLElBQUksRUFBRSxDQUFDO2dCQUNQLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsSUFBSSxFQUFFO2dCQUN6QyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMzQixDQUFDO1lBRUYsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTlDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFJLE1BQU0sQ0FBQyxLQUFhLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVwQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBWSxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFRCxvQ0FBb0M7SUFDcEMsS0FBSyxDQUFDLFdBQVc7UUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQixNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsa0NBQWtDO0lBQ2xDLEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxxQkFBcUI7SUFDckIsS0FBSyxDQUFDLEtBQUs7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2QixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCw4QkFBOEI7SUFDOUIsWUFBWSxDQUFDLFFBQWE7UUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsNkJBQTZCO0lBQzdCLFdBQVcsQ0FBQyxRQUFhO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELG9DQUFvQztJQUNwQyxVQUFVLENBQUMsS0FBYSxFQUFFLElBQU87UUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDdEIsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCw2Q0FBNkM7SUFDN0MsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQWtCO1FBQ3ZDLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxNQUF1QyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRCxxQ0FBcUM7SUFDckMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEtBQW1CO1FBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pCLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFrQjtRQUMxQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFPLENBQUM7UUFDN0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlCLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDekIsT0FBTyxNQUFNLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsT0FBTyxNQUFNLE1BQU0sQ0FBQztJQUN0QixDQUFDO0lBRU8sV0FBVyxDQUFDLEdBQVU7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1RCxDQUFDOytHQWpTVSxxQkFBcUI7bUdBQXJCLHFCQUFxQix3U0FLckIsaUJBQWlCLGdEQXpPbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0pULDAvQkFuS0MsWUFBWSw4Y0FDWixpQkFBaUIsK0dBQ2pCLHdCQUF3QixtSEFDeEIsU0FBUyxvUEFDVCxVQUFVLHlHQUNWLE9BQU8sMkpBQ1AsT0FBTyxnRkFHUCxrQkFBa0I7OzRGQXNPVCxxQkFBcUI7a0JBblBqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLE9BQU87d0JBQ1Asa0JBQWtCO3FCQUNuQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdKVDs4QkFpRjZCLGNBQWM7c0JBQTNDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUduQixLQUFLO3NCQUFiLEtBQUs7Z0JBR0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIHNpZ25hbCxcbiAgY29tcHV0ZWQsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG4gIGluamVjdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQge1xuICBJb25JbmZpbml0ZVNjcm9sbCxcbiAgSW9uSW5maW5pdGVTY3JvbGxDb250ZW50LFxuICBJb25CdXR0b24sXG4gIElvblNwaW5uZXIsXG4gIElvbkljb24sXG4gIElvblRleHQsXG4gIElvbkxpc3QsXG4gIElvbkl0ZW0sXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIGlzT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgSW5maW5pdGVMaXN0TWV0YWRhdGEsXG4gIEluZmluaXRlTGlzdFN0YXRlLFxuICBMb2FkTW9yZUV2ZW50LFxuICBMb2FkUGFyYW1zLFxuICBMb2FkUmVzdWx0LFxuICBERUZBVUxUX0lORklOSVRFX0xJU1RfTUVUQURBVEEsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgUmVmcmVzaEV2ZW50LCBSZWZyZXNoZXJNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9yZWZyZXNoZXIvdHlwZXMnO1xuaW1wb3J0IHsgUmVmcmVzaGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3JlZnJlc2hlci9yZWZyZXNoZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNrZWxldG9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NrZWxldG9uL3NrZWxldG9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2tlbGV0b25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NrZWxldG9uL3R5cGVzJztcblxuLyoqXG4gKiBDb21wb25lbnRlIHdyYXBwZXIgcGFyYSBsaXN0YXMgY29uIGluZmluaXRlIHNjcm9sbC5cbiAqXG4gKiBAZXhhbXBsZVxuICogPCEtLSBVc28gYmFzaWNvIGNvbiBkYXRhIHNvdXJjZSAtLT5cbiAqIDx2YWwtaW5maW5pdGUtbGlzdFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGRhdGFTb3VyY2U6IHsgbG9hZEZuOiBsb2FkVXNlcnMsIHRyYWNrQnk6IHRyYWNrQnlVc2VySWQgfSxcbiAqICAgICBpdGVtVGVtcGxhdGU6IHVzZXJUZW1wbGF0ZSxcbiAqICAgICBwYWdlU2l6ZTogMjAsXG4gKiAgICAgdGhyZXNob2xkOiAnMTUwcHgnXG4gKiAgIH1cIlxuICogPjwvdmFsLWluZmluaXRlLWxpc3Q+XG4gKlxuICogPG5nLXRlbXBsYXRlICN1c2VyVGVtcGxhdGUgbGV0LXVzZXIgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAqICAgPHZhbC1jYXJkIFtwcm9wc109XCJ7IHRpdGxlOiB1c2VyLm5hbWUsIHN1YnRpdGxlOiB1c2VyLmVtYWlsIH1cIj5cbiAqICAgICA8cD57eyB1c2VyLmJpbyB9fTwvcD5cbiAqICAgPC92YWwtY2FyZD5cbiAqIDwvbmctdGVtcGxhdGU+XG4gKlxuICogQGV4YW1wbGVcbiAqIDwhLS0gQ29uIHB1bGwtdG8tcmVmcmVzaCB5IGVzdGFkbyB2YWNpbyBwZXJzb25hbGl6YWRvIC0tPlxuICogPHZhbC1pbmZpbml0ZS1saXN0XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgZGF0YVNvdXJjZTogeyBsb2FkRm46IGxvYWRNZXNzYWdlcyB9LFxuICogICAgIGl0ZW1UZW1wbGF0ZTogbWVzc2FnZVRlbXBsYXRlLFxuICogICAgIGRpcmVjdGlvbjogJ2JvdGgnLFxuICogICAgIGVuYWJsZVJlZnJlc2g6IHRydWUsXG4gKiAgICAgZW1wdHlTdGF0ZToge1xuICogICAgICAgaWNvbjogJ2NoYXRidWJibGVzLW91dGxpbmUnLFxuICogICAgICAgdGl0bGU6ICdTaW4gbWVuc2FqZXMnLFxuICogICAgICAgbWVzc2FnZTogJ0luaWNpYSB1bmEgY29udmVyc2FjaW9uJ1xuICogICAgIH0sXG4gKiAgICAgc2tlbGV0b246IHsgdGVtcGxhdGU6ICdsaXN0JywgY291bnQ6IDUgfVxuICogICB9XCJcbiAqICAgKHJlZnJlc2gpPVwib25SZWZyZXNoKCRldmVudClcIlxuICogPjwvdmFsLWluZmluaXRlLWxpc3Q+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1pbmZpbml0ZS1saXN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJb25JbmZpbml0ZVNjcm9sbCxcbiAgICBJb25JbmZpbml0ZVNjcm9sbENvbnRlbnQsXG4gICAgSW9uQnV0dG9uLFxuICAgIElvblNwaW5uZXIsXG4gICAgSW9uSWNvbixcbiAgICBJb25UZXh0LFxuICAgIElvbkxpc3QsXG4gICAgSW9uSXRlbSxcbiAgICBSZWZyZXNoZXJDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPCEtLSBQdWxsIHRvIHJlZnJlc2ggd3JhcHBlciAtLT5cbiAgICBAaWYgKG1lcmdlZFByb3BzLmVuYWJsZVJlZnJlc2gpIHtcbiAgICAgIDx2YWwtcmVmcmVzaGVyIFtwcm9wc109XCJyZWZyZXNoZXJDb25maWdcIiAocmVmcmVzaCk9XCJvblJlZnJlc2hUcmlnZ2VyZWQoJGV2ZW50KVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvdmFsLXJlZnJlc2hlcj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaXN0Q29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cblxuICAgIDwhLS0gTWFpbiBsaXN0IGNvbnRlbnQgdGVtcGxhdGUgLS0+XG4gICAgPG5nLXRlbXBsYXRlICNsaXN0Q29udGVudD5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpbmZpbml0ZS1saXN0LWNvbnRhaW5lclwiXG4gICAgICAgIFtjbGFzc109XCJtZXJnZWRQcm9wcy5jc3NDbGFzc1wiXG4gICAgICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIm1lcmdlZFByb3BzLm1heEhlaWdodFwiXG4gICAgICAgIFtzdHlsZS5vdmVyZmxvdy15XT1cIm1lcmdlZFByb3BzLm1heEhlaWdodCA/ICdhdXRvJyA6ICd2aXNpYmxlJ1wiXG4gICAgICAgIHJvbGU9XCJmZWVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1idXN5XT1cInN0YXRlKCkgPT09ICdsb2FkaW5nJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibWVyZ2VkUHJvcHMuYXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmlwdGlvbl09XCJtZXJnZWRQcm9wcy5hcmlhRGVzY3JpcHRpb25cIlxuICAgICAgPlxuICAgICAgICA8IS0tIExvYWRpbmcgc3RhdGUgKGluaXRpYWwpIC0tPlxuICAgICAgICBAaWYgKHN0YXRlKCkgPT09ICdsb2FkaW5nJyAmJiBpdGVtcygpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZpbml0ZS1saXN0LXNrZWxldG9uXCI+XG4gICAgICAgICAgICBAaWYgKG1lcmdlZFByb3BzLnNrZWxldG9uPy5jdXN0b21UZW1wbGF0ZSkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWVyZ2VkUHJvcHMuc2tlbGV0b24uY3VzdG9tVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cInNrZWxldG9uQ29tcG9uZW50OyBpbnB1dHM6IHNrZWxldG9uSW5wdXRzXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEVtcHR5IHN0YXRlIC0tPlxuICAgICAgICBAaWYgKHN0YXRlKCkgPT09ICdpZGxlJyAmJiBpdGVtcygpLmxlbmd0aCA9PT0gMCAmJiAhaXNJbml0aWFsTG9hZCgpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImluZmluaXRlLWxpc3QtZW1wdHlcIj5cbiAgICAgICAgICAgIEBpZiAobWVyZ2VkUHJvcHMuZW1wdHlTdGF0ZT8udGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1lcmdlZFByb3BzLmVtcHR5U3RhdGUudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICBAaWYgKG1lcmdlZFByb3BzLmVtcHR5U3RhdGU/Lmljb24pIHtcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwibWVyZ2VkUHJvcHMuZW1wdHlTdGF0ZS5pY29uXCIgc2l6ZT1cImxhcmdlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaWYgKG1lcmdlZFByb3BzLmVtcHR5U3RhdGU/LnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgPGgzPnt7IG1lcmdlZFByb3BzLmVtcHR5U3RhdGUudGl0bGUgfX08L2gzPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZiAobWVyZ2VkUHJvcHMuZW1wdHlTdGF0ZT8ubWVzc2FnZSkge1xuICAgICAgICAgICAgICAgIDxwPnt7IG1lcmdlZFByb3BzLmVtcHR5U3RhdGUubWVzc2FnZSB9fTwvcD5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBFcnJvciBzdGF0ZSAtLT5cbiAgICAgICAgQGlmIChzdGF0ZSgpID09PSAnZXJyb3InKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImluZmluaXRlLWxpc3QtZXJyb3JcIj5cbiAgICAgICAgICAgIEBpZiAobWVyZ2VkUHJvcHMuZXJyb3JTdGF0ZT8udGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICBtZXJnZWRQcm9wcy5lcnJvclN0YXRlLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgY29udGV4dDogeyBlcnJvcjogZXJyb3IoKSwgcmV0cnk6IHJldHJ5LmJpbmQodGhpcykgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICBAaWYgKG1lcmdlZFByb3BzLmVycm9yU3RhdGU/Lmljb24pIHtcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwibWVyZ2VkUHJvcHMuZXJyb3JTdGF0ZS5pY29uXCIgY29sb3I9XCJkYW5nZXJcIiBzaXplPVwibGFyZ2VcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFsZXJ0LWNpcmNsZS1vdXRsaW5lXCIgY29sb3I9XCJkYW5nZXJcIiBzaXplPVwibGFyZ2VcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDxoMz57eyBtZXJnZWRQcm9wcy5lcnJvclN0YXRlPy50aXRsZSB8fCBpMThuLnQoJ2Vycm9yJykgfX08L2gzPlxuICAgICAgICAgICAgICA8cD57eyBtZXJnZWRQcm9wcy5lcnJvclN0YXRlPy5tZXNzYWdlIHx8IGVycm9yKCk/Lm1lc3NhZ2UgfHwgaTE4bi50KCdlcnJvck9jY3VycmVkJykgfX08L3A+XG4gICAgICAgICAgICAgIEBpZiAobWVyZ2VkUHJvcHMuZXJyb3JTdGF0ZT8uc2hvd1JldHJ5ICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cInJldHJ5KClcIj5cbiAgICAgICAgICAgICAgICAgIHt7IG1lcmdlZFByb3BzLmVycm9yU3RhdGU/LnJldHJ5VGV4dCB8fCBpMThuLnQoJ3JldHJ5JykgfX1cbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gSXRlbXMgbGlzdCAtLT5cbiAgICAgICAgQGlmIChpdGVtcygpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5maW5pdGUtbGlzdC1pdGVtc1wiIHJvbGU9XCJwcmVzZW50YXRpb25cIiBbY2xhc3Mud2l0aC1kaXZpZGVyc109XCJtZXJnZWRQcm9wcy5zaG93RGl2aWRlcnNcIj5cbiAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICBpdGVtIG9mIGl0ZW1zKCk7XG4gICAgICAgICAgICAgIHRyYWNrIHRyYWNrQnlGbigkaW5kZXgsIGl0ZW0pO1xuICAgICAgICAgICAgICBsZXQgaSA9ICRpbmRleDtcbiAgICAgICAgICAgICAgbGV0IGZpcnN0ID0gJGZpcnN0O1xuICAgICAgICAgICAgICBsZXQgbGFzdCA9ICRsYXN0XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgPGFydGljbGVcbiAgICAgICAgICAgICAgICBjbGFzcz1cImluZmluaXRlLWxpc3QtaXRlbVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZXRzaXplXT1cIm1lcmdlZFByb3BzLmRhdGFTb3VyY2UudG90YWxDb3VudCB8fCBudWxsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cImkgKyAxXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgIG1lcmdlZFByb3BzLml0ZW1UZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIGluZGV4OiBpLCBmaXJzdDogZmlyc3QsIGxhc3Q6IGxhc3QsIGNvdW50OiBpdGVtcygpLmxlbmd0aCB9XG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9hcnRpY2xlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBCb3R0b20gaW5maW5pdGUgc2Nyb2xsIC0tPlxuICAgICAgICBAaWYgKHNob3VsZFNob3dCb3R0b21TY3JvbGwoKSkge1xuICAgICAgICAgIEBpZiAobWVyZ2VkUHJvcHMudXNlTG9hZE1vcmVCdXR0b24pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZpbml0ZS1saXN0LWxvYWQtbW9yZVwiPlxuICAgICAgICAgICAgICBAaWYgKGhhc01vcmVCb3R0b20oKSkge1xuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICBbY29sb3JdPVwibWVyZ2VkUHJvcHMuY29sb3JcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN0YXRlKCkgPT09ICdsb2FkaW5nJ1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibG9hZEJvdHRvbSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBAaWYgKHN0YXRlKCkgPT09ICdsb2FkaW5nJykge1xuICAgICAgICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgW25hbWVdPVwibWVyZ2VkUHJvcHMuc3Bpbm5lclR5cGVcIiBzbG90PVwic3RhcnRcIj48L2lvbi1zcGlubmVyPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAge3sgbWVyZ2VkUHJvcHMubG9hZE1vcmVUZXh0IHx8IGkxOG4udCgnbG9hZE1vcmUnKSB9fVxuICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGlvbi10ZXh0IGNvbG9yPVwiZGFya1wiPnt7IG1lcmdlZFByb3BzLm5vTW9yZVRleHQgfHwgaTE4bi50KCdub01vcmVJdGVtcycpIH19PC9pb24tdGV4dD5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8aW9uLWluZmluaXRlLXNjcm9sbFxuICAgICAgICAgICAgICBbdGhyZXNob2xkXT1cIm1lcmdlZFByb3BzLnRocmVzaG9sZFwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaGFzTW9yZUJvdHRvbSgpXCJcbiAgICAgICAgICAgICAgKGlvbkluZmluaXRlKT1cIm9uSW5maW5pdGVTY3JvbGwoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24taW5maW5pdGUtc2Nyb2xsLWNvbnRlbnRcbiAgICAgICAgICAgICAgICBbbG9hZGluZ1NwaW5uZXJdPVwibWVyZ2VkUHJvcHMuc3Bpbm5lclR5cGVcIlxuICAgICAgICAgICAgICAgIFtsb2FkaW5nVGV4dF09XCJzdGF0ZSgpID09PSAnbG9hZGluZycgPyBpMThuLnQoJ2xvYWRpbmcnKSA6ICcnXCJcbiAgICAgICAgICAgICAgPjwvaW9uLWluZmluaXRlLXNjcm9sbC1jb250ZW50PlxuICAgICAgICAgICAgPC9pb24taW5maW5pdGUtc2Nyb2xsPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gTm8gbW9yZSBpdGVtcyBpbmRpY2F0b3IgLS0+XG4gICAgICAgIEBpZiAoIWhhc01vcmVCb3R0b20oKSAmJiBpdGVtcygpLmxlbmd0aCA+IDAgJiYgIW1lcmdlZFByb3BzLnVzZUxvYWRNb3JlQnV0dG9uKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImluZmluaXRlLWxpc3QtZW5kXCI+XG4gICAgICAgICAgICA8aW9uLXRleHQgY29sb3I9XCJkYXJrXCI+e3sgbWVyZ2VkUHJvcHMubm9Nb3JlVGV4dCB8fCBpMThuLnQoJ25vTW9yZUl0ZW1zJykgfX08L2lvbi10ZXh0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPCEtLSBMaXZlIHJlZ2lvbiBmb3IgYWNjZXNzaWJpbGl0eSBhbm5vdW5jZW1lbnRzIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJzci1vbmx5XCIgcm9sZT1cInN0YXR1c1wiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiIFthdHRyLmFyaWEtYXRvbWljXT1cInRydWVcIj5cbiAgICAgIHt7IHN0YXR1c0Fubm91bmNlbWVudCgpIH19XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5pbmZpbml0ZS1saXN0LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuaW5maW5pdGUtbGlzdC1za2VsZXRvbixcbiAgICAgIC5pbmZpbml0ZS1saXN0LWVtcHR5LFxuICAgICAgLmluZmluaXRlLWxpc3QtZXJyb3Ige1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDE2cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgIH1cblxuICAgICAgLmluZmluaXRlLWxpc3QtZW1wdHkgaW9uLWljb24sXG4gICAgICAuaW5maW5pdGUtbGlzdC1lcnJvciBpb24taWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgfVxuXG4gICAgICAuaW5maW5pdGUtbGlzdC1lbXB0eSBoMyxcbiAgICAgIC5pbmZpbml0ZS1saXN0LWVycm9yIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG5cbiAgICAgIC5pbmZpbml0ZS1saXN0LWVtcHR5IHAsXG4gICAgICAuaW5maW5pdGUtbGlzdC1lcnJvciBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG5cbiAgICAgIC5pbmZpbml0ZS1saXN0LWl0ZW1zIHtcbiAgICAgICAgJi53aXRoLWRpdmlkZXJzIC5pbmZpbml0ZS1saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWlvbi1jb2xvci1saWdodC1zaGFkZSwgI2Q3ZDhkYSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmluZmluaXRlLWxpc3QtbG9hZC1tb3JlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICB9XG5cbiAgICAgIC5pbmZpbml0ZS1saXN0LWVuZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG5cbiAgICAgIC5zci1vbmx5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5maW5pdGVMaXN0Q29tcG9uZW50PFQgPSB1bmtub3duPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBza2VsZXRvblNlcnZpY2UgPSBpbmplY3QoU2tlbGV0b25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgQFZpZXdDaGlsZChJb25JbmZpbml0ZVNjcm9sbCkgaW5maW5pdGVTY3JvbGw/OiBJb25JbmZpbml0ZVNjcm9sbDtcblxuICAvKiogQ29uZmlndXJhY2lvbiBkZWwgY29tcG9uZW50ZSAqL1xuICBASW5wdXQoKSBwcm9wcyE6IEluZmluaXRlTGlzdE1ldGFkYXRhPFQ+O1xuXG4gIC8vID09PSBFdmVudHMgPT09XG4gIEBPdXRwdXQoKSBsb2FkTW9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8TG9hZE1vcmVFdmVudD4oKTtcbiAgQE91dHB1dCgpIHJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyPFJlZnJlc2hFdmVudD4oKTtcbiAgQE91dHB1dCgpIHN0YXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJbmZpbml0ZUxpc3RTdGF0ZT4oKTtcbiAgQE91dHB1dCgpIGl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUW10+KCk7XG4gIEBPdXRwdXQoKSBlcnJvck9jY3VycmVkID0gbmV3IEV2ZW50RW1pdHRlcjxFcnJvcj4oKTtcblxuICAvLyA9PT0gUmVhY3RpdmUgU3RhdGUgPT09XG4gIHJlYWRvbmx5IGl0ZW1zID0gc2lnbmFsPFRbXT4oW10pO1xuICByZWFkb25seSBzdGF0ZSA9IHNpZ25hbDxJbmZpbml0ZUxpc3RTdGF0ZT4oJ2lkbGUnKTtcbiAgcmVhZG9ubHkgaGFzTW9yZUJvdHRvbSA9IHNpZ25hbDxib29sZWFuPih0cnVlKTtcbiAgcmVhZG9ubHkgaGFzTW9yZVRvcCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGVycm9yID0gc2lnbmFsPEVycm9yIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGlzSW5pdGlhbExvYWQgPSBzaWduYWw8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcHJpdmF0ZSBjdXJyZW50UGFnZSA9IDA7XG4gIHByaXZhdGUgY3VycmVudEN1cnNvcjogdW5rbm93biA9IG51bGw7XG5cbiAgLyoqIFByb2dyZXNvIGRlIGNhcmdhICgwLTEgc2kgdG90YWxDb3VudCBjb25vY2lkbykgKi9cbiAgcmVhZG9ubHkgbG9hZFByb2dyZXNzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICghdGhpcy5wcm9wcz8uZGF0YVNvdXJjZT8udG90YWxDb3VudCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMoKS5sZW5ndGggLyB0aGlzLnByb3BzLmRhdGFTb3VyY2UudG90YWxDb3VudDtcbiAgfSk7XG5cbiAgLyoqIFByb3BzIGNvbWJpbmFkb3MgY29uIGRlZmF1bHRzICovXG4gIGdldCBtZXJnZWRQcm9wcygpOiBJbmZpbml0ZUxpc3RNZXRhZGF0YTxUPiB7XG4gICAgcmV0dXJuIHsgLi4uREVGQVVMVF9JTkZJTklURV9MSVNUX01FVEFEQVRBLCAuLi50aGlzLnByb3BzIH0gYXMgSW5maW5pdGVMaXN0TWV0YWRhdGE8VD47XG4gIH1cblxuICAvKiogQ29uZmlnIGRlbCByZWZyZXNoZXIgKi9cbiAgZ2V0IHJlZnJlc2hlckNvbmZpZygpOiBSZWZyZXNoZXJNZXRhZGF0YSB7XG4gICAgcmV0dXJuIHRoaXMubWVyZ2VkUHJvcHMucmVmcmVzaENvbmZpZyA/PyB7fTtcbiAgfVxuXG4gIC8qKiBDb21wb25lbnRlIGRlIHNrZWxldG9uIGEgdXNhciAqL1xuICBnZXQgc2tlbGV0b25Db21wb25lbnQoKSB7XG4gICAgY29uc3QgdGVtcGxhdGVOYW1lID0gdGhpcy5tZXJnZWRQcm9wcy5za2VsZXRvbj8udGVtcGxhdGUgfHwgJ2xpc3QnO1xuICAgIGNvbnN0IHRlbXBsYXRlID0gdGhpcy5za2VsZXRvblNlcnZpY2UuZ2V0VGVtcGxhdGUodGVtcGxhdGVOYW1lKTtcbiAgICByZXR1cm4gdGVtcGxhdGU/LmNvbXBvbmVudCA/PyBudWxsO1xuICB9XG5cbiAgLyoqIElucHV0cyBwYXJhIGVsIHNrZWxldG9uICovXG4gIGdldCBza2VsZXRvbklucHV0cygpOiB7IGNvbmZpZzogdW5rbm93biB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgY29uZmlnOiB7XG4gICAgICAgIGNvdW50OiB0aGlzLm1lcmdlZFByb3BzLnNrZWxldG9uPy5jb3VudCA/PyAzLFxuICAgICAgICBhbmltYXRlZDogdHJ1ZSxcbiAgICAgICAgLi4udGhpcy5tZXJnZWRQcm9wcy5za2VsZXRvbj8uY29uZmlnLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEFudW5jaW8gZGUgZXN0YWRvIHBhcmEgbGVjdG9yZXMgZGUgcGFudGFsbGEgKi9cbiAgcmVhZG9ubHkgc3RhdHVzQW5ub3VuY2VtZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHN3aXRjaCAodGhpcy5zdGF0ZSgpKSB7XG4gICAgICBjYXNlICdsb2FkaW5nJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuaTE4bi50KCdsb2FkaW5nSXRlbXMnKTtcbiAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaTE4bi50KCdlcnJvcicpfTogJHt0aGlzLmVycm9yKCk/Lm1lc3NhZ2UgfHwgdGhpcy5pMThuLnQoJ2Vycm9yT2NjdXJyZWQnKX1gO1xuICAgICAgY2FzZSAnY29tcGxldGUnOlxuICAgICAgICByZXR1cm4gdGhpcy5pMThuLnQoJ2FsbEl0ZW1zTG9hZGVkJyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9KTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBDYXJnYXIgaXRlbXMgaW5pY2lhbGVzIGRlbCBkYXRhU291cmNlIHNpIGV4aXN0ZW5cbiAgICBpZiAodGhpcy5wcm9wcy5kYXRhU291cmNlLml0ZW1zPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaXRlbXMuc2V0KFsuLi50aGlzLnByb3BzLmRhdGFTb3VyY2UuaXRlbXNdKTtcbiAgICAgIHRoaXMuaXNJbml0aWFsTG9hZC5zZXQoZmFsc2UpO1xuICAgIH1cblxuICAgIC8vIEF1dG8tY2FyZ2FyIHNpIGVzdGEgaGFiaWxpdGFkb1xuICAgIGlmICh0aGlzLm1lcmdlZFByb3BzLmF1dG9Mb2FkICYmICF0aGlzLml0ZW1zKCkubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxvYWRJbml0aWFsKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gQ2xlYW51cFxuICB9XG5cbiAgLyoqIEZ1bmNpb24gZGUgdHJhY2tpbmcgcGFyYSBuZ0ZvciAqL1xuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogVCk6IHVua25vd24ge1xuICAgIGlmICh0aGlzLnByb3BzLmRhdGFTb3VyY2UudHJhY2tCeSkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMuZGF0YVNvdXJjZS50cmFja0J5KGluZGV4LCBpdGVtKTtcbiAgICB9XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgLyoqIFNpIGRlYmUgbW9zdHJhciBlbCBzY3JvbGwgaW5mZXJpb3IgKi9cbiAgc2hvdWxkU2hvd0JvdHRvbVNjcm9sbCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBkaXIgPSB0aGlzLm1lcmdlZFByb3BzLmRpcmVjdGlvbjtcbiAgICByZXR1cm4gKGRpciA9PT0gJ2JvdHRvbScgfHwgZGlyID09PSAnYm90aCcpICYmIHRoaXMuaXRlbXMoKS5sZW5ndGggPiAwO1xuICB9XG5cbiAgLyoqIENhcmdhIGluaWNpYWwgZGUgZGF0b3MgKi9cbiAgYXN5bmMgbG9hZEluaXRpYWwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmRhdGFTb3VyY2UubG9hZEZuKSByZXR1cm47XG5cbiAgICB0aGlzLnN0YXRlLnNldCgnbG9hZGluZycpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCgnbG9hZGluZycpO1xuICAgIHRoaXMuZXJyb3Iuc2V0KG51bGwpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcmFtczogTG9hZFBhcmFtcyA9IHtcbiAgICAgICAgZGlyZWN0aW9uOiAnYm90dG9tJyxcbiAgICAgICAgcGFnZTogMCxcbiAgICAgICAgcGFnZVNpemU6IHRoaXMubWVyZ2VkUHJvcHMucGFnZVNpemUgPz8gMjAsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmV4ZWN1dGVMb2FkKHBhcmFtcyk7XG5cbiAgICAgIHRoaXMuaXRlbXMuc2V0KHJlc3VsdC5pdGVtcyBhcyBUW10pO1xuICAgICAgdGhpcy5oYXNNb3JlQm90dG9tLnNldChyZXN1bHQuaGFzTW9yZSk7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICAgIHRoaXMuY3VycmVudEN1cnNvciA9IHJlc3VsdC5jdXJzb3I7XG4gICAgICB0aGlzLmlzSW5pdGlhbExvYWQuc2V0KGZhbHNlKTtcblxuICAgICAgdGhpcy5zdGF0ZS5zZXQoJ2lkbGUnKTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCgnaWRsZScpO1xuICAgICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KHRoaXMuaXRlbXMoKSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmhhbmRsZUVycm9yKGVyciBhcyBFcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqIENhcmdhciBtYXMgaXRlbXMgZW4gbGEgcGFydGUgaW5mZXJpb3IgKi9cbiAgYXN5bmMgbG9hZEJvdHRvbSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuaGFzTW9yZUJvdHRvbSgpIHx8IHRoaXMuc3RhdGUoKSA9PT0gJ2xvYWRpbmcnKSByZXR1cm47XG4gICAgaWYgKCF0aGlzLnByb3BzLmRhdGFTb3VyY2UubG9hZEZuKSByZXR1cm47XG5cbiAgICB0aGlzLnN0YXRlLnNldCgnbG9hZGluZycpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCgnbG9hZGluZycpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcmFtczogTG9hZFBhcmFtcyA9IHtcbiAgICAgICAgZGlyZWN0aW9uOiAnYm90dG9tJyxcbiAgICAgICAgcGFnZTogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgICAgcGFnZVNpemU6IHRoaXMubWVyZ2VkUHJvcHMucGFnZVNpemUgPz8gMjAsXG4gICAgICAgIGN1cnNvcjogdGhpcy5jdXJyZW50Q3Vyc29yLFxuICAgICAgICBsYXN0SXRlbTogdGhpcy5pdGVtcygpW3RoaXMuaXRlbXMoKS5sZW5ndGggLSAxXSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZXhlY3V0ZUxvYWQocGFyYW1zKTtcblxuICAgICAgdGhpcy5pdGVtcy51cGRhdGUoY3VycmVudCA9PiBbLi4uY3VycmVudCwgLi4uKHJlc3VsdC5pdGVtcyBhcyBUW10pXSk7XG4gICAgICB0aGlzLmhhc01vcmVCb3R0b20uc2V0KHJlc3VsdC5oYXNNb3JlKTtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UrKztcbiAgICAgIHRoaXMuY3VycmVudEN1cnNvciA9IHJlc3VsdC5jdXJzb3I7XG5cbiAgICAgIHRoaXMuc3RhdGUuc2V0KHJlc3VsdC5oYXNNb3JlID8gJ2lkbGUnIDogJ2NvbXBsZXRlJyk7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQocmVzdWx0Lmhhc01vcmUgPyAnaWRsZScgOiAnY29tcGxldGUnKTtcbiAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKCkpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnIgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDYXJnYXIgbWFzIGl0ZW1zIGVuIGxhIHBhcnRlIHN1cGVyaW9yICovXG4gIGFzeW5jIGxvYWRUb3AoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmhhc01vcmVUb3AoKSB8fCB0aGlzLnN0YXRlKCkgPT09ICdsb2FkaW5nJykgcmV0dXJuO1xuICAgIGlmICghdGhpcy5wcm9wcy5kYXRhU291cmNlLmxvYWRGbikgcmV0dXJuO1xuXG4gICAgdGhpcy5zdGF0ZS5zZXQoJ2xvYWRpbmcnKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJhbXM6IExvYWRQYXJhbXMgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogJ3RvcCcsXG4gICAgICAgIHBhZ2U6IDAsXG4gICAgICAgIHBhZ2VTaXplOiB0aGlzLm1lcmdlZFByb3BzLnBhZ2VTaXplID8/IDIwLFxuICAgICAgICBmaXJzdEl0ZW06IHRoaXMuaXRlbXMoKVswXSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZXhlY3V0ZUxvYWQocGFyYW1zKTtcblxuICAgICAgdGhpcy5pdGVtcy51cGRhdGUoY3VycmVudCA9PiBbLi4uKHJlc3VsdC5pdGVtcyBhcyBUW10pLCAuLi5jdXJyZW50XSk7XG4gICAgICB0aGlzLmhhc01vcmVUb3Auc2V0KHJlc3VsdC5oYXNNb3JlKTtcblxuICAgICAgdGhpcy5zdGF0ZS5zZXQoJ2lkbGUnKTtcbiAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKCkpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnIgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZWZyZXNoIC0gcmVjYXJnYXIgZGVzZGUgY2VybyAqL1xuICBhc3luYyByZWZyZXNoTGlzdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMDtcbiAgICB0aGlzLmN1cnJlbnRDdXJzb3IgPSBudWxsO1xuICAgIHRoaXMuaGFzTW9yZUJvdHRvbS5zZXQodHJ1ZSk7XG4gICAgdGhpcy5pdGVtcy5zZXQoW10pO1xuICAgIGF3YWl0IHRoaXMubG9hZEluaXRpYWwoKTtcbiAgfVxuXG4gIC8qKiBSZWludGVudGFyIGRlc3B1ZXMgZGUgZXJyb3IgKi9cbiAgYXN5bmMgcmV0cnkoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5lcnJvci5zZXQobnVsbCk7XG4gICAgaWYgKHRoaXMuaXRlbXMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgIGF3YWl0IHRoaXMubG9hZEluaXRpYWwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy5sb2FkQm90dG9tKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJlc2V0IGNvbXBsZXRvICovXG4gIGFzeW5jIHJlc2V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuaXRlbXMuc2V0KFtdKTtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMDtcbiAgICB0aGlzLmN1cnJlbnRDdXJzb3IgPSBudWxsO1xuICAgIHRoaXMuaGFzTW9yZUJvdHRvbS5zZXQodHJ1ZSk7XG4gICAgdGhpcy5oYXNNb3JlVG9wLnNldChmYWxzZSk7XG4gICAgdGhpcy5lcnJvci5zZXQobnVsbCk7XG4gICAgdGhpcy5pc0luaXRpYWxMb2FkLnNldCh0cnVlKTtcbiAgICB0aGlzLnN0YXRlLnNldCgnaWRsZScpO1xuXG4gICAgaWYgKHRoaXMubWVyZ2VkUHJvcHMuYXV0b0xvYWQpIHtcbiAgICAgIGF3YWl0IHRoaXMubG9hZEluaXRpYWwoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQWdyZWdhciBpdGVtcyBhbCBpbmljaW8gKi9cbiAgcHJlcGVuZEl0ZW1zKG5ld0l0ZW1zOiBUW10pOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zLnVwZGF0ZShjdXJyZW50ID0+IFsuLi5uZXdJdGVtcywgLi4uY3VycmVudF0pO1xuICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKCkpO1xuICB9XG5cbiAgLyoqIEFncmVnYXIgaXRlbXMgYWwgZmluYWwgKi9cbiAgYXBwZW5kSXRlbXMobmV3SXRlbXM6IFRbXSk6IHZvaWQge1xuICAgIHRoaXMuaXRlbXMudXBkYXRlKGN1cnJlbnQgPT4gWy4uLmN1cnJlbnQsIC4uLm5ld0l0ZW1zXSk7XG4gICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KHRoaXMuaXRlbXMoKSk7XG4gIH1cblxuICAvKiogQWN0dWFsaXphciB1biBpdGVtIHBvciBpbmRpY2UgKi9cbiAgdXBkYXRlSXRlbShpbmRleDogbnVtYmVyLCBpdGVtOiBUKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtcy51cGRhdGUoY3VycmVudCA9PiB7XG4gICAgICBjb25zdCB1cGRhdGVkID0gWy4uLmN1cnJlbnRdO1xuICAgICAgdXBkYXRlZFtpbmRleF0gPSBpdGVtO1xuICAgICAgcmV0dXJuIHVwZGF0ZWQ7XG4gICAgfSk7XG4gICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KHRoaXMuaXRlbXMoKSk7XG4gIH1cblxuICAvKiogUmVtb3ZlciB1biBpdGVtIHBvciBpbmRpY2UgKi9cbiAgcmVtb3ZlSXRlbShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtcy51cGRhdGUoY3VycmVudCA9PiBjdXJyZW50LmZpbHRlcigoXywgaSkgPT4gaSAhPT0gaW5kZXgpKTtcbiAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQodGhpcy5pdGVtcygpKTtcbiAgfVxuXG4gIC8qKiBIYW5kbGVyIHBhcmEgZXZlbnRvIGRlIGluZmluaXRlIHNjcm9sbCAqL1xuICBhc3luYyBvbkluZmluaXRlU2Nyb2xsKGV2ZW50OiBDdXN0b21FdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubG9hZEJvdHRvbSgpO1xuICAgIChldmVudC50YXJnZXQgYXMgSFRNTElvbkluZmluaXRlU2Nyb2xsRWxlbWVudCkuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKiBIYW5kbGVyIHBhcmEgZXZlbnRvIGRlIHJlZnJlc2ggKi9cbiAgYXN5bmMgb25SZWZyZXNoVHJpZ2dlcmVkKGV2ZW50OiBSZWZyZXNoRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnJlZnJlc2guZW1pdChldmVudCk7XG4gICAgYXdhaXQgdGhpcy5yZWZyZXNoTGlzdCgpO1xuICAgIGV2ZW50LmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGVMb2FkKHBhcmFtczogTG9hZFBhcmFtcyk6IFByb21pc2U8TG9hZFJlc3VsdDx1bmtub3duPj4ge1xuICAgIGNvbnN0IGxvYWRGbiA9IHRoaXMucHJvcHMuZGF0YVNvdXJjZS5sb2FkRm4hO1xuICAgIGNvbnN0IHJlc3VsdCA9IGxvYWRGbihwYXJhbXMpO1xuXG4gICAgaWYgKGlzT2JzZXJ2YWJsZShyZXN1bHQpKSB7XG4gICAgICByZXR1cm4gYXdhaXQgZmlyc3RWYWx1ZUZyb20ocmVzdWx0KTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyOiBFcnJvcik6IHZvaWQge1xuICAgIHRoaXMuZXJyb3Iuc2V0KGVycik7XG4gICAgdGhpcy5zdGF0ZS5zZXQoJ2Vycm9yJyk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KCdlcnJvcicpO1xuICAgIHRoaXMuZXJyb3JPY2N1cnJlZC5lbWl0KGVycik7XG4gICAgY29uc29sZS5lcnJvcignW0luZmluaXRlTGlzdF0gRXJyb3IgbG9hZGluZyBpdGVtczonLCBlcnIpO1xuICB9XG59XG4iXX0=
@@ -84,7 +84,7 @@ export class ItemListComponent {
84
84
  <h2>{{ item.text }}</h2>
85
85
 
86
86
  @if (item.comments) {
87
- <ion-note color="medium"> {{ item.comments }} </ion-note>
87
+ <ion-note color="dark"> {{ item.comments }} </ion-note>
88
88
  }
89
89
 
90
90
  @if (item.subtitle) {
@@ -114,11 +114,11 @@ export class ItemListComponent {
114
114
  }
115
115
 
116
116
  @if (item.subtitle) {
117
- <ion-note color="medium"> {{ item.subtitle }} </ion-note>
117
+ <ion-note color="dark"> {{ item.subtitle }} </ion-note>
118
118
  }
119
119
 
120
120
  @if (item.comments) {
121
- <ion-note color="medium"> {{ item.comments }} </ion-note>
121
+ <ion-note color="dark"> {{ item.comments }} </ion-note>
122
122
  }
123
123
  </ion-label>
124
124
 
@@ -169,7 +169,7 @@ export class ItemListComponent {
169
169
  <h2>{{ item.text }}</h2>
170
170
 
171
171
  @if (item.comments) {
172
- <ion-note color="medium"> {{ item.comments }} </ion-note>
172
+ <ion-note color="dark"> {{ item.comments }} </ion-note>
173
173
  }
174
174
  </ion-label>
175
175
  </ion-item>
@@ -269,7 +269,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
269
269
  <h2>{{ item.text }}</h2>
270
270
 
271
271
  @if (item.comments) {
272
- <ion-note color="medium"> {{ item.comments }} </ion-note>
272
+ <ion-note color="dark"> {{ item.comments }} </ion-note>
273
273
  }
274
274
 
275
275
  @if (item.subtitle) {
@@ -299,11 +299,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
299
299
  }
300
300
 
301
301
  @if (item.subtitle) {
302
- <ion-note color="medium"> {{ item.subtitle }} </ion-note>
302
+ <ion-note color="dark"> {{ item.subtitle }} </ion-note>
303
303
  }
304
304
 
305
305
  @if (item.comments) {
306
- <ion-note color="medium"> {{ item.comments }} </ion-note>
306
+ <ion-note color="dark"> {{ item.comments }} </ion-note>
307
307
  }
308
308
  </ion-label>
309
309
 
@@ -354,7 +354,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
354
354
  <h2>{{ item.text }}</h2>
355
355
 
356
356
  @if (item.comments) {
357
- <ion-note color="medium"> {{ item.comments }} </ion-note>
357
+ <ion-note color="dark"> {{ item.comments }} </ion-note>
358
358
  }
359
359
  </ion-label>
360
360
  </ion-item>
@@ -415,4 +415,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
415
415
  }], onActionClick: [{
416
416
  type: Output
417
417
  }] } });
418
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvaXRlbS1saXN0L2l0ZW0tbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsRUFDUixPQUFPLEVBQ1AsYUFBYSxFQUNiLE9BQU8sRUFDUCxVQUFVLEdBQ1gsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBK0w5Qzs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBc0I1QixZQUFZLElBQWlCO1FBckI3QixXQUFNLEdBQUcsZUFBZSxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsU0FBUyxDQUFDO1FBUXpCOztXQUVHO1FBRUgsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFckM7O1dBRUc7UUFFSCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFWCxDQUFDO0lBRWpDLFFBQVEsS0FBSSxDQUFDO0lBRWI7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILG9CQUFvQixDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDOytHQS9DVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixzS0F4TGxCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3S1Qsd25IQXJMQyxVQUFVLG9PQUVWLE9BQU8sb0ZBQ1AsT0FBTyx5RkFDUCxhQUFhLGdHQUNiLFFBQVEsNkZBQ1IsT0FBTyxnRkFDUCxPQUFPLDBOQUNQLFNBQVMsdURBQ1QsT0FBTywySkFDUCxTQUFTLG9QQUNULFVBQVU7OzRGQTBMRCxpQkFBaUI7a0JBek03QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1AsVUFBVTt3QkFDVixPQUFPO3dCQUNQLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxhQUFhO3dCQUNiLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsT0FBTzt3QkFDUCxTQUFTO3dCQUNULFVBQVU7cUJBQ1gsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0tUO2dGQXdCRCxLQUFLO3NCQURKLEtBQUs7Z0JBT04sT0FBTztzQkFETixNQUFNO2dCQU9QLGFBQWE7c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBJb25BdmF0YXIsXG4gIElvbkJ1dHRvbixcbiAgSW9uSWNvbixcbiAgSW9uSXRlbSxcbiAgSW9uTGFiZWwsXG4gIElvbkxpc3QsXG4gIElvbkxpc3RIZWFkZXIsXG4gIElvbk5vdGUsXG4gIElvblNwaW5uZXIsXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pY29ucy5zZXJ2aWNlJztcbmltcG9ydCB7IHJlc29sdmVDb2xvciB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9zdHlsZXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTGlzdE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1pdGVtLWxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyTGluayxcbiAgICBOZ1N0eWxlLFxuICAgIE5nQ2xhc3MsXG4gICAgSW9uTGlzdCxcbiAgICBJb25MaXN0SGVhZGVyLFxuICAgIElvbkxhYmVsLFxuICAgIElvbk5vdGUsXG4gICAgSW9uSXRlbSxcbiAgICBJb25BdmF0YXIsXG4gICAgSW9uSWNvbixcbiAgICBJb25CdXR0b24sXG4gICAgSW9uU3Bpbm5lcixcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWxpc3RcbiAgICAgIFtpbnNldF09XCJwcm9wcy5yb3VuZGVkXCJcbiAgICAgIFtjbGFzcy5zaGFkb3dlZF09XCJwcm9wcy5zaGFkb3dlZFwiXG4gICAgICBbY2xhc3MuYm9yZGVyZWRdPVwicHJvcHMuYm9yZGVyZWRcIlxuICAgICAgW3N0eWxlLmJvcmRlckNvbG9yXT1cInRoaXMuY29sb3IoKVwiXG4gICAgPlxuICAgICAgQGlmIChwcm9wcy50aXRsZSkge1xuICAgICAgICA8aW9uLWxpc3QtaGVhZGVyPlxuICAgICAgICAgIDxpb24tbGFiZWw+e3sgcHJvcHMudGl0bGUgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24tbGlzdC1oZWFkZXI+XG4gICAgICB9XG4gICAgICBAZm9yIChpdGVtIG9mIHByb3BzLml0ZW1zOyB0cmFjayBpdGVtLnRva2VuKSB7XG4gICAgICAgIEBpZiAoaXRlbS5tb2RlID09ICdqdXN0ZXh0Jykge1xuICAgICAgICAgIDxpb24taXRlbVxuICAgICAgICAgICAgW2xpbmVzXT1cIml0ZW0ubGluZXNcIlxuICAgICAgICAgICAgW2J1dHRvbl09XCJpdGVtLmNsaWNrYWJsZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGl0ZW0udG9rZW4pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGl0ZW0udW5yZWFkSW5kaWNhdG9yKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1bnJlYWQtaW5kaWNhdG9yLXdyYXBwZXJcIiBzbG90PVwic3RhcnRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidW5yZWFkLWluZGljYXRvclwiPjwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGlvbi1sYWJlbCBbbmdDbGFzc109XCJ7ICdpb24tdGV4dC1ub3dyYXAnOiBpdGVtLmVsbGlwc2lzIH1cIj5cbiAgICAgICAgICAgICAgPGgyPnt7IGl0ZW0udGV4dCB9fTwvaDI+XG5cbiAgICAgICAgICAgICAgQGlmIChpdGVtLmNvbW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1ub3RlIGNvbG9yPVwibWVkaXVtXCI+IHt7IGl0ZW0uY29tbWVudHMgfX0gPC9pb24tbm90ZT5cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpZiAoaXRlbS5zdWJ0aXRsZSkge1xuICAgICAgICAgICAgICAgIDxwPnt7IGl0ZW0uc3VidGl0bGUgfX08L3A+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxuXG4gICAgICAgICAgICBAaWYgKGl0ZW0uZW5kTm90ZSkge1xuICAgICAgICAgICAgICA8aW9uLW5vdGUgc2xvdD1cImVuZFwiPnt7IGl0ZW0uZW5kTm90ZSB9fTwvaW9uLW5vdGU+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoaXRlbS5tb2RlID09ICdhY3Rpb25hYmxlJykge1xuICAgICAgICAgIDxpb24taXRlbSBbbGluZXNdPVwiaXRlbS5saW5lc1wiIFtidXR0b25dPVwiaXRlbS5jbGlja2FibGVcIiBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgQGlmIChpdGVtLnVucmVhZEluZGljYXRvcikge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidW5yZWFkLWluZGljYXRvci13cmFwcGVyXCIgc2xvdD1cInN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVucmVhZC1pbmRpY2F0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxpb24tbGFiZWwgW25nQ2xhc3NdPVwieyAnaW9uLXRleHQtbm93cmFwJzogaXRlbS5lbGxpcHNpcyB9XCI+XG4gICAgICAgICAgICAgIDxoMj57eyBpdGVtLnRleHQgfX08L2gyPlxuXG4gICAgICAgICAgICAgIEBpZiAoaXRlbS5lbmROb3RlKSB7XG4gICAgICAgICAgICAgICAgPGgzPnt7IGl0ZW0uZW5kTm90ZSB9fTwvaDM+XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaWYgKGl0ZW0uc3VidGl0bGUpIHtcbiAgICAgICAgICAgICAgICA8aW9uLW5vdGUgY29sb3I9XCJtZWRpdW1cIj4ge3sgaXRlbS5zdWJ0aXRsZSB9fSA8L2lvbi1ub3RlPlxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGlmIChpdGVtLmNvbW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1ub3RlIGNvbG9yPVwibWVkaXVtXCI+IHt7IGl0ZW0uY29tbWVudHMgfX0gPC9pb24tbm90ZT5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9pb24tbGFiZWw+XG5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5hY3Rpb25zKSB7XG4gICAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiBpdGVtLmFjdGlvbnM7IHRyYWNrIGFjdGlvbi50b2tlbikge1xuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICBjb2xvcj1cImRhcmtcIlxuICAgICAgICAgICAgICAgICAgc2xvdD1cImVuZFwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLnN0YXRlID09PSBzdGF0ZXMuV09SS0lOR1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb25DbGlja0hhbmRsZXIoYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgQGlmIChhY3Rpb24uc3RhdGUgIT09IHN0YXRlcy5XT1JLSU5HKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoYWN0aW9uLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCIgW25hbWVdPVwiYWN0aW9uLmljb25cIiBzaXplPVwibWVkaXVtXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHt7IGFjdGlvbi5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaWYgKGFjdGlvbi5zdGF0ZSA9PT0gc3RhdGVzLldPUktJTkcpIHtcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1zcGlubmVyIGNsYXNzPVwiYWN0aW9uLXNwaW5uZXJcIiBuYW1lPVwiY2lyY3VsYXJcIj48L2lvbi1zcGlubmVyPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGl0ZW0ubW9kZSA9PSAncm91dGUnKSB7XG4gICAgICAgICAgPGlvbi1pdGVtXG4gICAgICAgICAgICBbbGluZXNdPVwiaXRlbS5saW5lc1wiXG4gICAgICAgICAgICBbYnV0dG9uXT1cIml0ZW0uY2xpY2thYmxlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoaXRlbS50b2tlbilcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGl0ZW0udW5yZWFkSW5kaWNhdG9yKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1bnJlYWQtaW5kaWNhdG9yLXdyYXBwZXJcIiBzbG90PVwic3RhcnRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidW5yZWFkLWluZGljYXRvclwiPjwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgIDxpb24taWNvbiBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmFtZV09XCJpdGVtLmljb25cIiBzaXplPVwibWVkaXVtXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGlvbi1sYWJlbCBbbmdDbGFzc109XCJ7ICdpb24tdGV4dC1ub3dyYXAnOiBpdGVtLmVsbGlwc2lzIH1cIj5cbiAgICAgICAgICAgICAgPGgyPnt7IGl0ZW0udGV4dCB9fTwvaDI+XG5cbiAgICAgICAgICAgICAgQGlmIChpdGVtLmNvbW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1ub3RlIGNvbG9yPVwibWVkaXVtXCI+IHt7IGl0ZW0uY29tbWVudHMgfX0gPC9pb24tbm90ZT5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoaXRlbS5tb2RlID09ICdzdWJ0aXR1bGUnKSB7XG4gICAgICAgICAgPGlvbi1pdGVtXG4gICAgICAgICAgICBbbGluZXNdPVwiaXRlbS5saW5lc1wiXG4gICAgICAgICAgICBbYnV0dG9uXT1cIml0ZW0uY2xpY2thYmxlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoaXRlbS50b2tlbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoaXRlbS51bnJlYWRJbmRpY2F0b3IpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVucmVhZC1pbmRpY2F0b3Itd3JhcHBlclwiIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1bnJlYWQtaW5kaWNhdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8aW9uLWxhYmVsIFtuZ0NsYXNzXT1cInsgJ2lvbi10ZXh0LW5vd3JhcCc6IGl0ZW0uZWxsaXBzaXMgfVwiPlxuICAgICAgICAgICAgICA8aDE+e3sgaXRlbS50ZXh0IH19PC9oMT5cbiAgICAgICAgICAgICAgPHA+e3sgaXRlbS5zdWJ0aXRsZSB9fTwvcD5cbiAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGl0ZW0ubW9kZSA9PSAnYXZhdGFyJykge1xuICAgICAgICAgIDxpb24taXRlbVxuICAgICAgICAgICAgW2xpbmVzXT1cIml0ZW0ubGluZXNcIlxuICAgICAgICAgICAgW2J1dHRvbl09XCJpdGVtLmNsaWNrYWJsZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGl0ZW0udG9rZW4pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW9uLWF2YXRhciBhcmlhLWhpZGRlbj1cInRydWVcIiBzbG90PVwic3RhcnRcIj5cbiAgICAgICAgICAgICAgPGltZyBhbHQ9XCJcIiBbc3JjXT1cIml0ZW0uaW1hZ2VcIiAvPlxuICAgICAgICAgICAgPC9pb24tYXZhdGFyPlxuICAgICAgICAgICAgPGlvbi1sYWJlbD57eyBpdGVtLnRleHQgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChpdGVtLm1vZGUgPT0gJ2ljb24nKSB7XG4gICAgICAgICAgPGlvbi1pdGVtXG4gICAgICAgICAgICBbbGluZXNdPVwiaXRlbS5saW5lc1wiXG4gICAgICAgICAgICBbYnV0dG9uXT1cIml0ZW0uY2xpY2thYmxlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoaXRlbS50b2tlbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpb24taWNvbiBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmFtZV09XCJpdGVtLmljb25cIiBzaXplPVwibWVkaXVtXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDxpb24tbGFiZWw+e3sgaXRlbS50ZXh0IH19PC9pb24tbGFiZWw+XG4gICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvaW9uLWxpc3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2l0ZW0tbGlzdC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogSXRlbUxpc3RDb21wb25lbnRcbiAqXG4gKiBDb21wb25lbnRlIGRlIGxpc3RhIHJldXRpbGl6YWJsZSBwYXJhIG1vc3RyYXIgdW5hIGNvbGVjY2nDs24gZGUgZWxlbWVudG9zIGNvbiBkaWZlcmVudGVzIG1vZG9zIGRlIHZpc3VhbGl6YWNpw7NuICh0ZXh0bywgc3VidMOtdHVsbywgYXZhdGFyLCBpY29ubywgcnV0YSwgYWNjaW9uZXMpLlxuICogUGVybWl0ZSBhY2Npb25lcyBwb3IgZWxlbWVudG8sIGluZGljYWRvcmVzIGRlIG5vIGxlw61kbywgeSBwZXJzb25hbGl6YWNpw7NuIGRlIGVzdGlsb3MuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtaXRlbS1saXN0IFtwcm9wc109XCJ7IHRpdGxlOiAnVXN1YXJpb3MnLCBpdGVtczogW3sgdGV4dDogJ0p1YW4nLCBtb2RlOiAnYXZhdGFyJywgaW1hZ2U6ICdhdmF0YXIuanBnJyB9XSB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiPjwvdmFsLWl0ZW0tbGlzdD5cbiAqXG4gKiBAaW5wdXQgcHJvcHMge0xpc3RNZXRhZGF0YX0gLSBNZXRhZGF0b3MgZGUgbGEgbGlzdGEgeSBzdXMgZWxlbWVudG9zLlxuICogQG91dHB1dCBvbkNsaWNrIC0gRW1pdGUgZWwgdG9rZW4gZGVsIGVsZW1lbnRvIGNsaWNhZG8uXG4gKiBAb3V0cHV0IG9uQWN0aW9uQ2xpY2sgLSBFbWl0ZSBlbCB0b2tlbiBkZSBsYSBhY2Npw7NuIGNsaWNhZGEgZW4gdW4gZWxlbWVudG8uXG4gKi9cbmV4cG9ydCBjbGFzcyBJdGVtTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHN0YXRlcyA9IENvbXBvbmVudFN0YXRlcztcbiAgZGVmYXVsdENvbG9yID0gJ3ByaW1hcnknO1xuXG4gIC8qKlxuICAgKiBNZXRhZGF0b3MgZGUgbGEgbGlzdGEgeSBzdXMgZWxlbWVudG9zLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHJvcHM6IExpc3RNZXRhZGF0YTtcblxuICAvKipcbiAgICogRXZlbnRvIGVtaXRpZG8gYWwgaGFjZXIgY2xpY2sgZW4gdW4gZWxlbWVudG8gZGUgbGEgbGlzdGEuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBFdmVudG8gZW1pdGlkbyBhbCBoYWNlciBjbGljayBlbiB1bmEgYWNjacOzbiBkZSB1biBlbGVtZW50by5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBvbkFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoaWNvbjogSWNvblNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIC8qKlxuICAgKiBFbWl0ZSBlbCB0b2tlbiBkZWwgZWxlbWVudG8gY2xpY2Fkby5cbiAgICogQHBhcmFtIHRva2VuIFRva2VuIGRlbCBlbGVtZW50b1xuICAgKi9cbiAgY2xpY2tIYW5kbGVyKHRva2VuPzogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQodG9rZW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRlIGVsIHRva2VuIGRlIGxhIGFjY2nDs24gY2xpY2FkYS5cbiAgICogQHBhcmFtIHRva2VuIFRva2VuIGRlIGxhIGFjY2nDs25cbiAgICovXG4gIG9uQWN0aW9uQ2xpY2tIYW5kbGVyKHRva2VuPzogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkFjdGlvbkNsaWNrLmVtaXQodG9rZW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIERldnVlbHZlIGVsIGNvbG9yIGRlIGJvcmRlIGRlIGxhIGxpc3RhLlxuICAgKi9cbiAgY29sb3IoKSB7XG4gICAgcmV0dXJuIHJlc29sdmVDb2xvcih0aGlzLnByb3BzLmNvbG9yIHx8IHRoaXMuZGVmYXVsdENvbG9yKTtcbiAgfVxufVxuIl19
418
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvaXRlbS1saXN0L2l0ZW0tbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsRUFDUixPQUFPLEVBQ1AsYUFBYSxFQUNiLE9BQU8sRUFDUCxVQUFVLEdBQ1gsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBK0w5Qzs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBc0I1QixZQUFZLElBQWlCO1FBckI3QixXQUFNLEdBQUcsZUFBZSxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsU0FBUyxDQUFDO1FBUXpCOztXQUVHO1FBRUgsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFckM7O1dBRUc7UUFFSCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFWCxDQUFDO0lBRWpDLFFBQVEsS0FBSSxDQUFDO0lBRWI7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILG9CQUFvQixDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDOytHQS9DVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixzS0F4TGxCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3S1Qsd25IQXJMQyxVQUFVLG9PQUVWLE9BQU8sb0ZBQ1AsT0FBTyx5RkFDUCxhQUFhLGdHQUNiLFFBQVEsNkZBQ1IsT0FBTyxnRkFDUCxPQUFPLDBOQUNQLFNBQVMsdURBQ1QsT0FBTywySkFDUCxTQUFTLG9QQUNULFVBQVU7OzRGQTBMRCxpQkFBaUI7a0JBek03QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1AsVUFBVTt3QkFDVixPQUFPO3dCQUNQLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxhQUFhO3dCQUNiLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsT0FBTzt3QkFDUCxTQUFTO3dCQUNULFVBQVU7cUJBQ1gsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0tUO2dGQXdCRCxLQUFLO3NCQURKLEtBQUs7Z0JBT04sT0FBTztzQkFETixNQUFNO2dCQU9QLGFBQWE7c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBJb25BdmF0YXIsXG4gIElvbkJ1dHRvbixcbiAgSW9uSWNvbixcbiAgSW9uSXRlbSxcbiAgSW9uTGFiZWwsXG4gIElvbkxpc3QsXG4gIElvbkxpc3RIZWFkZXIsXG4gIElvbk5vdGUsXG4gIElvblNwaW5uZXIsXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pY29ucy5zZXJ2aWNlJztcbmltcG9ydCB7IHJlc29sdmVDb2xvciB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9zdHlsZXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTGlzdE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1pdGVtLWxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyTGluayxcbiAgICBOZ1N0eWxlLFxuICAgIE5nQ2xhc3MsXG4gICAgSW9uTGlzdCxcbiAgICBJb25MaXN0SGVhZGVyLFxuICAgIElvbkxhYmVsLFxuICAgIElvbk5vdGUsXG4gICAgSW9uSXRlbSxcbiAgICBJb25BdmF0YXIsXG4gICAgSW9uSWNvbixcbiAgICBJb25CdXR0b24sXG4gICAgSW9uU3Bpbm5lcixcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWxpc3RcbiAgICAgIFtpbnNldF09XCJwcm9wcy5yb3VuZGVkXCJcbiAgICAgIFtjbGFzcy5zaGFkb3dlZF09XCJwcm9wcy5zaGFkb3dlZFwiXG4gICAgICBbY2xhc3MuYm9yZGVyZWRdPVwicHJvcHMuYm9yZGVyZWRcIlxuICAgICAgW3N0eWxlLmJvcmRlckNvbG9yXT1cInRoaXMuY29sb3IoKVwiXG4gICAgPlxuICAgICAgQGlmIChwcm9wcy50aXRsZSkge1xuICAgICAgICA8aW9uLWxpc3QtaGVhZGVyPlxuICAgICAgICAgIDxpb24tbGFiZWw+e3sgcHJvcHMudGl0bGUgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24tbGlzdC1oZWFkZXI+XG4gICAgICB9XG4gICAgICBAZm9yIChpdGVtIG9mIHByb3BzLml0ZW1zOyB0cmFjayBpdGVtLnRva2VuKSB7XG4gICAgICAgIEBpZiAoaXRlbS5tb2RlID09ICdqdXN0ZXh0Jykge1xuICAgICAgICAgIDxpb24taXRlbVxuICAgICAgICAgICAgW2xpbmVzXT1cIml0ZW0ubGluZXNcIlxuICAgICAgICAgICAgW2J1dHRvbl09XCJpdGVtLmNsaWNrYWJsZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGl0ZW0udG9rZW4pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGl0ZW0udW5yZWFkSW5kaWNhdG9yKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1bnJlYWQtaW5kaWNhdG9yLXdyYXBwZXJcIiBzbG90PVwic3RhcnRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidW5yZWFkLWluZGljYXRvclwiPjwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGlvbi1sYWJlbCBbbmdDbGFzc109XCJ7ICdpb24tdGV4dC1ub3dyYXAnOiBpdGVtLmVsbGlwc2lzIH1cIj5cbiAgICAgICAgICAgICAgPGgyPnt7IGl0ZW0udGV4dCB9fTwvaDI+XG5cbiAgICAgICAgICAgICAgQGlmIChpdGVtLmNvbW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1ub3RlIGNvbG9yPVwiZGFya1wiPiB7eyBpdGVtLmNvbW1lbnRzIH19IDwvaW9uLW5vdGU+XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaWYgKGl0ZW0uc3VidGl0bGUpIHtcbiAgICAgICAgICAgICAgICA8cD57eyBpdGVtLnN1YnRpdGxlIH19PC9wPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2lvbi1sYWJlbD5cblxuICAgICAgICAgICAgQGlmIChpdGVtLmVuZE5vdGUpIHtcbiAgICAgICAgICAgICAgPGlvbi1ub3RlIHNsb3Q9XCJlbmRcIj57eyBpdGVtLmVuZE5vdGUgfX08L2lvbi1ub3RlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGl0ZW0ubW9kZSA9PSAnYWN0aW9uYWJsZScpIHtcbiAgICAgICAgICA8aW9uLWl0ZW0gW2xpbmVzXT1cIml0ZW0ubGluZXNcIiBbYnV0dG9uXT1cIml0ZW0uY2xpY2thYmxlXCIgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIj5cbiAgICAgICAgICAgIEBpZiAoaXRlbS51bnJlYWRJbmRpY2F0b3IpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVucmVhZC1pbmRpY2F0b3Itd3JhcHBlclwiIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1bnJlYWQtaW5kaWNhdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8aW9uLWxhYmVsIFtuZ0NsYXNzXT1cInsgJ2lvbi10ZXh0LW5vd3JhcCc6IGl0ZW0uZWxsaXBzaXMgfVwiPlxuICAgICAgICAgICAgICA8aDI+e3sgaXRlbS50ZXh0IH19PC9oMj5cblxuICAgICAgICAgICAgICBAaWYgKGl0ZW0uZW5kTm90ZSkge1xuICAgICAgICAgICAgICAgIDxoMz57eyBpdGVtLmVuZE5vdGUgfX08L2gzPlxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGlmIChpdGVtLnN1YnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1ub3RlIGNvbG9yPVwiZGFya1wiPiB7eyBpdGVtLnN1YnRpdGxlIH19IDwvaW9uLW5vdGU+XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaWYgKGl0ZW0uY29tbWVudHMpIHtcbiAgICAgICAgICAgICAgICA8aW9uLW5vdGUgY29sb3I9XCJkYXJrXCI+IHt7IGl0ZW0uY29tbWVudHMgfX0gPC9pb24tbm90ZT5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9pb24tbGFiZWw+XG5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5hY3Rpb25zKSB7XG4gICAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiBpdGVtLmFjdGlvbnM7IHRyYWNrIGFjdGlvbi50b2tlbikge1xuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICBjb2xvcj1cImRhcmtcIlxuICAgICAgICAgICAgICAgICAgc2xvdD1cImVuZFwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLnN0YXRlID09PSBzdGF0ZXMuV09SS0lOR1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb25DbGlja0hhbmRsZXIoYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgQGlmIChhY3Rpb24uc3RhdGUgIT09IHN0YXRlcy5XT1JLSU5HKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoYWN0aW9uLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCIgW25hbWVdPVwiYWN0aW9uLmljb25cIiBzaXplPVwibWVkaXVtXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHt7IGFjdGlvbi5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaWYgKGFjdGlvbi5zdGF0ZSA9PT0gc3RhdGVzLldPUktJTkcpIHtcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1zcGlubmVyIGNsYXNzPVwiYWN0aW9uLXNwaW5uZXJcIiBuYW1lPVwiY2lyY3VsYXJcIj48L2lvbi1zcGlubmVyPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGl0ZW0ubW9kZSA9PSAncm91dGUnKSB7XG4gICAgICAgICAgPGlvbi1pdGVtXG4gICAgICAgICAgICBbbGluZXNdPVwiaXRlbS5saW5lc1wiXG4gICAgICAgICAgICBbYnV0dG9uXT1cIml0ZW0uY2xpY2thYmxlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoaXRlbS50b2tlbilcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGl0ZW0udW5yZWFkSW5kaWNhdG9yKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1bnJlYWQtaW5kaWNhdG9yLXdyYXBwZXJcIiBzbG90PVwic3RhcnRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidW5yZWFkLWluZGljYXRvclwiPjwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgIDxpb24taWNvbiBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmFtZV09XCJpdGVtLmljb25cIiBzaXplPVwibWVkaXVtXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGlvbi1sYWJlbCBbbmdDbGFzc109XCJ7ICdpb24tdGV4dC1ub3dyYXAnOiBpdGVtLmVsbGlwc2lzIH1cIj5cbiAgICAgICAgICAgICAgPGgyPnt7IGl0ZW0udGV4dCB9fTwvaDI+XG5cbiAgICAgICAgICAgICAgQGlmIChpdGVtLmNvbW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1ub3RlIGNvbG9yPVwiZGFya1wiPiB7eyBpdGVtLmNvbW1lbnRzIH19IDwvaW9uLW5vdGU+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGl0ZW0ubW9kZSA9PSAnc3VidGl0dWxlJykge1xuICAgICAgICAgIDxpb24taXRlbVxuICAgICAgICAgICAgW2xpbmVzXT1cIml0ZW0ubGluZXNcIlxuICAgICAgICAgICAgW2J1dHRvbl09XCJpdGVtLmNsaWNrYWJsZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGl0ZW0udG9rZW4pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGl0ZW0udW5yZWFkSW5kaWNhdG9yKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1bnJlYWQtaW5kaWNhdG9yLXdyYXBwZXJcIiBzbG90PVwic3RhcnRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidW5yZWFkLWluZGljYXRvclwiPjwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGlvbi1sYWJlbCBbbmdDbGFzc109XCJ7ICdpb24tdGV4dC1ub3dyYXAnOiBpdGVtLmVsbGlwc2lzIH1cIj5cbiAgICAgICAgICAgICAgPGgxPnt7IGl0ZW0udGV4dCB9fTwvaDE+XG4gICAgICAgICAgICAgIDxwPnt7IGl0ZW0uc3VidGl0bGUgfX08L3A+XG4gICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChpdGVtLm1vZGUgPT0gJ2F2YXRhcicpIHtcbiAgICAgICAgICA8aW9uLWl0ZW1cbiAgICAgICAgICAgIFtsaW5lc109XCJpdGVtLmxpbmVzXCJcbiAgICAgICAgICAgIFtidXR0b25dPVwiaXRlbS5jbGlja2FibGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihpdGVtLnRva2VuKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlvbi1hdmF0YXIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgc2xvdD1cInN0YXJ0XCI+XG4gICAgICAgICAgICAgIDxpbWcgYWx0PVwiXCIgW3NyY109XCJpdGVtLmltYWdlXCIgLz5cbiAgICAgICAgICAgIDwvaW9uLWF2YXRhcj5cbiAgICAgICAgICAgIDxpb24tbGFiZWw+e3sgaXRlbS50ZXh0IH19PC9pb24tbGFiZWw+XG4gICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoaXRlbS5tb2RlID09ICdpY29uJykge1xuICAgICAgICAgIDxpb24taXRlbVxuICAgICAgICAgICAgW2xpbmVzXT1cIml0ZW0ubGluZXNcIlxuICAgICAgICAgICAgW2J1dHRvbl09XCJpdGVtLmNsaWNrYWJsZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGl0ZW0udG9rZW4pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW9uLWljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCIgW25hbWVdPVwiaXRlbS5pY29uXCIgc2l6ZT1cIm1lZGl1bVwiIHNsb3Q9XCJzdGFydFwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8aW9uLWxhYmVsPnt7IGl0ZW0udGV4dCB9fTwvaW9uLWxhYmVsPlxuICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2lvbi1saXN0PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9pdGVtLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIEl0ZW1MaXN0Q29tcG9uZW50XG4gKlxuICogQ29tcG9uZW50ZSBkZSBsaXN0YSByZXV0aWxpemFibGUgcGFyYSBtb3N0cmFyIHVuYSBjb2xlY2Npw7NuIGRlIGVsZW1lbnRvcyBjb24gZGlmZXJlbnRlcyBtb2RvcyBkZSB2aXN1YWxpemFjacOzbiAodGV4dG8sIHN1YnTDrXR1bG8sIGF2YXRhciwgaWNvbm8sIHJ1dGEsIGFjY2lvbmVzKS5cbiAqIFBlcm1pdGUgYWNjaW9uZXMgcG9yIGVsZW1lbnRvLCBpbmRpY2Fkb3JlcyBkZSBubyBsZcOtZG8sIHkgcGVyc29uYWxpemFjacOzbiBkZSBlc3RpbG9zLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWl0ZW0tbGlzdCBbcHJvcHNdPVwieyB0aXRsZTogJ1VzdWFyaW9zJywgaXRlbXM6IFt7IHRleHQ6ICdKdWFuJywgbW9kZTogJ2F2YXRhcicsIGltYWdlOiAnYXZhdGFyLmpwZycgfV0gfVwiIChvbkNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIj48L3ZhbC1pdGVtLWxpc3Q+XG4gKlxuICogQGlucHV0IHByb3BzIHtMaXN0TWV0YWRhdGF9IC0gTWV0YWRhdG9zIGRlIGxhIGxpc3RhIHkgc3VzIGVsZW1lbnRvcy5cbiAqIEBvdXRwdXQgb25DbGljayAtIEVtaXRlIGVsIHRva2VuIGRlbCBlbGVtZW50byBjbGljYWRvLlxuICogQG91dHB1dCBvbkFjdGlvbkNsaWNrIC0gRW1pdGUgZWwgdG9rZW4gZGUgbGEgYWNjacOzbiBjbGljYWRhIGVuIHVuIGVsZW1lbnRvLlxuICovXG5leHBvcnQgY2xhc3MgSXRlbUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzdGF0ZXMgPSBDb21wb25lbnRTdGF0ZXM7XG4gIGRlZmF1bHRDb2xvciA9ICdwcmltYXJ5JztcblxuICAvKipcbiAgICogTWV0YWRhdG9zIGRlIGxhIGxpc3RhIHkgc3VzIGVsZW1lbnRvcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzOiBMaXN0TWV0YWRhdGE7XG5cbiAgLyoqXG4gICAqIEV2ZW50byBlbWl0aWRvIGFsIGhhY2VyIGNsaWNrIGVuIHVuIGVsZW1lbnRvIGRlIGxhIGxpc3RhLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRXZlbnRvIGVtaXRpZG8gYWwgaGFjZXIgY2xpY2sgZW4gdW5hIGFjY2nDs24gZGUgdW4gZWxlbWVudG8uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgb25BY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKGljb246IEljb25TZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICAvKipcbiAgICogRW1pdGUgZWwgdG9rZW4gZGVsIGVsZW1lbnRvIGNsaWNhZG8uXG4gICAqIEBwYXJhbSB0b2tlbiBUb2tlbiBkZWwgZWxlbWVudG9cbiAgICovXG4gIGNsaWNrSGFuZGxlcih0b2tlbj86IHN0cmluZykge1xuICAgIHRoaXMub25DbGljay5lbWl0KHRva2VuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0ZSBlbCB0b2tlbiBkZSBsYSBhY2Npw7NuIGNsaWNhZGEuXG4gICAqIEBwYXJhbSB0b2tlbiBUb2tlbiBkZSBsYSBhY2Npw7NuXG4gICAqL1xuICBvbkFjdGlvbkNsaWNrSGFuZGxlcih0b2tlbj86IHN0cmluZykge1xuICAgIHRoaXMub25BY3Rpb25DbGljay5lbWl0KHRva2VuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXZ1ZWx2ZSBlbCBjb2xvciBkZSBib3JkZSBkZSBsYSBsaXN0YS5cbiAgICovXG4gIGNvbG9yKCkge1xuICAgIHJldHVybiByZXNvbHZlQ29sb3IodGhpcy5wcm9wcy5jb2xvciB8fCB0aGlzLmRlZmF1bHRDb2xvcik7XG4gIH1cbn1cbiJdfQ==
@@ -76,7 +76,7 @@ export class LoginAttemptModalComponent {
76
76
  get mineBtn() {
77
77
  return {
78
78
  text: this.mineLabel,
79
- color: 'medium',
79
+ color: 'dark',
80
80
  fill: 'outline',
81
81
  size: 'default',
82
82
  type: 'button',
@@ -149,7 +149,7 @@ export class LoginAttemptModalComponent {
149
149
  [props]="{
150
150
  content: metaLabel,
151
151
  size: 'small',
152
- color: 'medium',
152
+ color: 'dark',
153
153
  bold: false,
154
154
  }"
155
155
  />
@@ -164,7 +164,7 @@ export class LoginAttemptModalComponent {
164
164
  [props]="{
165
165
  content: doneLabel,
166
166
  size: 'small',
167
- color: 'medium',
167
+ color: 'dark',
168
168
  bold: false,
169
169
  }"
170
170
  />
@@ -240,7 +240,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
240
240
  [props]="{
241
241
  content: metaLabel,
242
242
  size: 'small',
243
- color: 'medium',
243
+ color: 'dark',
244
244
  bold: false,
245
245
  }"
246
246
  />
@@ -255,7 +255,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
255
255
  [props]="{
256
256
  content: doneLabel,
257
257
  size: 'small',
258
- color: 'medium',
258
+ color: 'dark',
259
259
  bold: false,
260
260
  }"
261
261
  />
@@ -298,4 +298,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
298
298
  }], _modalRef: [{
299
299
  type: Input
300
300
  }] } });
301
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tYXR0ZW1wdC1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2xvZ2luLWF0dGVtcHQtbW9kYWwvbG9naW4tYXR0ZW1wdC1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFrQixlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRTlELFFBQVEsQ0FBQyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQztBQUU3RDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQWdLSCxNQUFNLE9BQU8sMEJBQTBCO0lBL0p2QztRQWdLRSwyQ0FBMkM7UUFDbEMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNwQix5QkFBeUI7UUFDaEIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNuQixnRUFBZ0U7UUFDdkQsZ0JBQVcsR0FBRyxFQUFF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VSx3S0FDVixTQUFTLG9HQUNULFVBQVUsbUZBQ1YsVUFBVSw4RUFDVixTQUFTLG9QQUNULE9BQU8sMkpBQ1AsZ0JBQWdCLDJFQUNoQixhQUFhLHdFQUNiLGVBQWU7OzRGQWtKTiwwQkFBMEI7a0JBL0p0QyxTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixVQUFVO3dCQUNWLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixVQUFVO3dCQUNWLFNBQVM7d0JBQ1QsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZUFBZTtxQkFDaEIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRFVDs4QkFzRVEsS0FBSztzQkFBYixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQU1HLE9BQU87c0JBQWYsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25CdXR0b25zLCBJb25Db250ZW50LCBJb25IZWFkZXIsIElvbkljb24sIElvblRvb2xiYXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY2hlY2ttYXJrQ2lyY2xlT3V0bGluZSwgc2hpZWxkQ2hlY2ttYXJrT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEsIENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuYWRkSWNvbnMoeyBzaGllbGRDaGVja21hcmtPdXRsaW5lLCBjaGVja21hcmtDaXJjbGVPdXRsaW5lIH0pO1xuXG4vKipcbiAqIGB2YWwtbG9naW4tYXR0ZW1wdC1tb2RhbGAg4oCUIG1vZGFsIGRlIGNvbmZpcm1hY2nDs24gZGUgaW50ZW50byBkZSBpbmljaW8gZGUgc2VzacOzbi5cbiAqXG4gKiBTZSBhYnJlIGN1YW5kbyBlbCB1c3VhcmlvIGxsZWdhIGEgbGEgdmlzdGEgU2VndXJpZGFkIHbDrWFcbiAqIGA/dG9rZW49Li4uYCBkZXNkZSBlbCBlbWFpbC9wdXNoIGRlIFwibnVldm8gYWNjZXNvXCIuIE11ZXN0cmEgZWwgZGlzcG9zaXRpdm9cbiAqIGRldGVjdGFkbyB5IGRvcyBhY2Npb25lczogY29uZmlybWFyIHF1ZSBmdWUgdW5vIG1pc21vIChjaWVycmEgc2luIGhhY2VyIG5hZGEpXG4gKiBvIGJsb3F1ZWFyIGVsIGRpc3Bvc2l0aXZvIChlamVjdXRhIGVsIHRva2VuIGRlIGFjY2nDs24pLlxuICpcbiAqIElucHV0cyB2w61hIGBjb21wb25lbnRQcm9wc2AgZGVsIE1vZGFsU2VydmljZS4gU2luIGBAT3V0cHV0YCAobm8gZnVuY2lvbmFuIGNvblxuICogYG1vZGFsQ29udHJvbGxlci5jcmVhdGUoKWApIOKAlCB1c2EgY2FsbGJhY2sgYG9uQmxvY2tgIHkgYF9tb2RhbFJlZi5kaXNtaXNzYC5cbiAqIFJlY2liZSBsb3MgbGFiZWxzIHlhIHRyYWR1Y2lkb3MgKGFnbsOzc3RpY28gYSBpMThuKS5cbiAqXG4gKiBIZWFkZXIgY2Fuw7NuaWNvIChSZWdsYSAjNSk6IHNpbiBgaW9uLXRpdGxlYCwgYm90w7NuIENlcnJhciB0ZXh0byBlbiBgc2xvdD1lbmRgLFxuICogdMOtdHVsbyBlbiBlbCBib2R5IGNvbiBgdmFsLWRpc3BsYXlgLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbG9naW4tYXR0ZW1wdC1tb2RhbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uQ29udGVudCxcbiAgICBJb25IZWFkZXIsXG4gICAgSW9uVG9vbGJhcixcbiAgICBJb25CdXR0b25zLFxuICAgIElvbkJ1dHRvbixcbiAgICBJb25JY29uLFxuICAgIERpc3BsYXlDb21wb25lbnQsXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1oZWFkZXI+XG4gICAgICA8aW9uLXRvb2xiYXI+XG4gICAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJjbG9zZSgpXCI+XG4gICAgICAgICAgICA8c3Ryb25nPnt7IGNsb3NlTGFiZWwgfX08L3N0cm9uZz5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgICA8L2lvbi10b29sYmFyPlxuICAgIDwvaW9uLWhlYWRlcj5cbiAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHRpdGxlLCBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnIH1cIiAvPlxuICAgICAgPGRpdiBjbGFzcz1cImF0dGVtcHRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF0dGVtcHRfX2hlcm9cIj5cbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInNoaWVsZC1jaGVja21hcmstb3V0bGluZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICBjb250ZW50OiBib2R5LFxuICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgfVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF0dGVtcHRfX2RldmljZVwiPlxuICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJkZXZpY2VJY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXR0ZW1wdF9fZGV2aWNlLWJvZHlcIj5cbiAgICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGRldmljZUxhYmVsLFxuICAgICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgQGlmIChtZXRhTGFiZWwpIHtcbiAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1ldGFMYWJlbCxcbiAgICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChkb25lKCkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXR0ZW1wdF9fZG9uZVwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGVja21hcmstY2lyY2xlLW91dGxpbmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgY29udGVudDogZG9uZUxhYmVsLFxuICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvaW9uLWNvbnRlbnQ+XG5cbiAgICBAaWYgKCFkb25lKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJhdHRlbXB0X19hY3Rpb25zXCI+XG4gICAgICAgIDx2YWwtYnV0dG9uIFtwcm9wc109XCJtaW5lQnRuXCIgKGNsaWNrKT1cImNvbmZpcm1NaW5lKClcIiAvPlxuICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwiYmxvY2tCdG5cIiAoY2xpY2spPVwiY29uZmlybUJsb2NrKClcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXR0ZW1wdF9fYWN0aW9uc1wiPlxuICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwiY2xvc2VCdG5cIiAoY2xpY2spPVwiY2xvc2UoKVwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuYXR0ZW1wdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMThweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgICAuYXR0ZW1wdF9faGVybyB7XG4gICAgICAgIHdpZHRoOiA1NnB4O1xuICAgICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDExMiwgMzgsIDIyMywgMC4xKTtcbiAgICAgIH1cbiAgICAgIC5hdHRlbXB0X19oZXJvIGlvbi1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnksICM3MDI2ZGYpO1xuICAgICAgfVxuICAgICAgLmF0dGVtcHRfX2RldmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWxpZ2h0LCAjZjRmNWY4KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdmFsLWJvcmRlci1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjA4KSk7XG4gICAgICB9XG4gICAgICAuYXR0ZW1wdF9fZGV2aWNlIGlvbi1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICAgIC5hdHRlbXB0X19kZXZpY2UtYm9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMnB4O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG4gICAgICAuYXR0ZW1wdF9fZG9uZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuICAgICAgLmF0dGVtcHRfX2RvbmUgaW9uLWljb24ge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3Itc3VjY2Vzcyk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgICAgLmF0dGVtcHRfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweCBjYWxjKDEycHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS12YWwtYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMDgpKTtcbiAgICAgIH1cbiAgICAgIC5hdHRlbXB0X19hY3Rpb25zIHZhbC1idXR0b24ge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luQXR0ZW1wdE1vZGFsQ29tcG9uZW50IHtcbiAgLyoqIFTDrXR1bG8gZGVsIG1vZGFsIChpMThuIHlhIHJlc3VlbHRvKS4gKi9cbiAgQElucHV0KCkgdGl0bGUgPSAnJztcbiAgLyoqIFRleHRvIGV4cGxpY2F0aXZvLiAqL1xuICBASW5wdXQoKSBib2R5ID0gJyc7XG4gIC8qKiBEZXNjcmlwY2nDs24gZGVsIGRpc3Bvc2l0aXZvIChuYXZlZ2Fkb3IgwrcgT1MgwrcgdWJpY2FjacOzbikuICovXG4gIEBJbnB1dCgpIGRldmljZUxhYmVsID0gJyc7XG4gIC8qKiBNZXRhZGF0YSBzZWN1bmRhcmlhIChmZWNoYSwgSVApLiBPcGNpb25hbC4gKi9cbiAgQElucHV0KCkgbWV0YUxhYmVsID0gJyc7XG4gIC8qKiBNZW5zYWplIG1vc3RyYWRvIHRyYXMgYmxvcXVlYXIuICovXG4gIEBJbnB1dCgpIGRvbmVMYWJlbCA9ICcnO1xuICAvKiogTGFiZWxzIGRlIGJvdG9uZXMuICovXG4gIEBJbnB1dCgpIG1pbmVMYWJlbCA9ICcnO1xuICBASW5wdXQoKSBibG9ja0xhYmVsID0gJyc7XG4gIEBJbnB1dCgpIGNsb3NlTGFiZWwgPSAnJztcbiAgLyoqIGB0cnVlYCBzaSBlbCBkaXNwb3NpdGl2byBlcyBtw7N2aWwg4oCUIGNhbWJpYSBlbCBpY29uby4gKi9cbiAgQElucHV0KCkgaXNNb2JpbGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgcXVlIGVqZWN1dGEgZWwgYmxvcXVlbyAoZXhlY3V0ZUFjdGlvbiBjb24gZWwgdG9rZW4pIGNvbnRyYSBlbFxuICAgKiBiYWNrZW5kLiBMbyBwcm92ZWUgZWwgcGFyZW50IHbDrWEgYGNvbXBvbmVudFByb3BzYC4gRGViZSBsYW56YXIgc2kgZmFsbGEuXG4gICAqL1xuICBASW5wdXQoKSBvbkJsb2NrPzogKCkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKiogSW55ZWN0YWRvIHBvciBgTW9kYWxTZXJ2aWNlLm9wZW5gIOKAlCByZWZlcmVuY2lhIHBhcmEgY2VycmFyLiAqL1xuICBASW5wdXQoKSBfbW9kYWxSZWY/OiB7IGRpc21pc3M6IChkYXRhPzogdW5rbm93biwgcm9sZT86IHN0cmluZykgPT4gdm9pZCB9O1xuXG4gIC8qKiBgdHJ1ZWAgdHJhcyBibG9xdWVhciBjb24gw6l4aXRvIOKAlCBjYW1iaWEgZWwgbW9kYWwgYSBlc3RhZG8gXCJoZWNob1wiLiAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9uZSA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgd29ya2luZyA9IGZhbHNlO1xuXG4gIGdldCBkZXZpY2VJY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgPyAncGhvbmUtcG9ydHJhaXQtb3V0bGluZScgOiAnbGFwdG9wLW91dGxpbmUnO1xuICB9XG5cbiAgLyoqIFwiU8OtLCBmdWkgeW9cIiDigJQgY2llcnJhIHNpbiBhY2Npw7NuLiBFbCBkaXNwb3NpdGl2byB5YSBlc3TDoSBhY3Rpdm8uICovXG4gIGNvbmZpcm1NaW5lKCk6IHZvaWQge1xuICAgIHRoaXMuX21vZGFsUmVmPy5kaXNtaXNzKHVuZGVmaW5lZCwgJ21pbmUnKTtcbiAgfVxuXG4gIC8qKiBcIk5vIGZ1aSB5b1wiIOKAlCBlamVjdXRhIGVsIGJsb3F1ZW8geSBwYXNhIGEgZXN0YWRvIGRvbmUuICovXG4gIGFzeW5jIGNvbmZpcm1CbG9jaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy53b3JraW5nIHx8ICF0aGlzLm9uQmxvY2spIHJldHVybjtcbiAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLm9uQmxvY2soKTtcbiAgICAgIHRoaXMuZG9uZS5zZXQodHJ1ZSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBFbCBwYXJlbnQgbXVlc3RyYSBlbCB0b2FzdCBkZSBlcnJvcjsgY2VycmFtb3MgZWwgbW9kYWwuXG4gICAgICB0aGlzLl9tb2RhbFJlZj8uZGlzbWlzcyh1bmRlZmluZWQsICdlcnJvcicpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tb2RhbFJlZj8uZGlzbWlzcyh1bmRlZmluZWQsIHRoaXMuZG9uZSgpID8gJ2Jsb2NrZWQnIDogJ2Nsb3NlJyk7XG4gIH1cblxuICBnZXQgbWluZUJ0bigpOiBQYXJ0aWFsPEJ1dHRvbk1ldGFkYXRhPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHQ6IHRoaXMubWluZUxhYmVsLFxuICAgICAgY29sb3I6ICdtZWRpdW0nLFxuICAgICAgZmlsbDogJ291dGxpbmUnLFxuICAgICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0IGJsb2NrQnRuKCk6IFBhcnRpYWw8QnV0dG9uTWV0YWRhdGE+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dDogdGhpcy5ibG9ja0xhYmVsLFxuICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgZmlsbDogJ3NvbGlkJyxcbiAgICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgc2hhcGU6ICdyb3VuZCcsXG4gICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfTtcbiAgfVxuXG4gIGdldCBjbG9zZUJ0bigpOiBQYXJ0aWFsPEJ1dHRvbk1ldGFkYXRhPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHQ6IHRoaXMuY2xvc2VMYWJlbCxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICBmaWxsOiAnc29saWQnLFxuICAgICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9O1xuICB9XG59XG4iXX0=
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tYXR0ZW1wdC1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2xvZ2luLWF0dGVtcHQtbW9kYWwvbG9naW4tYXR0ZW1wdC1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFrQixlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRTlELFFBQVEsQ0FBQyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQztBQUU3RDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQWdLSCxNQUFNLE9BQU8sMEJBQTBCO0lBL0p2QztRQWdLRSwyQ0FBMkM7UUFDbEMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNwQix5QkFBeUI7UUFDaEIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNuQixnRUFBZ0U7UUFDdkQsZ0JBQVcsR0FBRyxFQUFF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VSx3S0FDVixTQUFTLG9HQUNULFVBQVUsbUZBQ1YsVUFBVSw4RUFDVixTQUFTLG9QQUNULE9BQU8sMkpBQ1AsZ0JBQWdCLDJFQUNoQixhQUFhLHdFQUNiLGVBQWU7OzRGQWtKTiwwQkFBMEI7a0JBL0p0QyxTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixVQUFVO3dCQUNWLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixVQUFVO3dCQUNWLFNBQVM7d0JBQ1QsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZUFBZTtxQkFDaEIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRFVDs4QkFzRVEsS0FBSztzQkFBYixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQU1HLE9BQU87c0JBQWYsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25CdXR0b25zLCBJb25Db250ZW50LCBJb25IZWFkZXIsIElvbkljb24sIElvblRvb2xiYXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY2hlY2ttYXJrQ2lyY2xlT3V0bGluZSwgc2hpZWxkQ2hlY2ttYXJrT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEsIENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuYWRkSWNvbnMoeyBzaGllbGRDaGVja21hcmtPdXRsaW5lLCBjaGVja21hcmtDaXJjbGVPdXRsaW5lIH0pO1xuXG4vKipcbiAqIGB2YWwtbG9naW4tYXR0ZW1wdC1tb2RhbGAg4oCUIG1vZGFsIGRlIGNvbmZpcm1hY2nDs24gZGUgaW50ZW50byBkZSBpbmljaW8gZGUgc2VzacOzbi5cbiAqXG4gKiBTZSBhYnJlIGN1YW5kbyBlbCB1c3VhcmlvIGxsZWdhIGEgbGEgdmlzdGEgU2VndXJpZGFkIHbDrWFcbiAqIGA/dG9rZW49Li4uYCBkZXNkZSBlbCBlbWFpbC9wdXNoIGRlIFwibnVldm8gYWNjZXNvXCIuIE11ZXN0cmEgZWwgZGlzcG9zaXRpdm9cbiAqIGRldGVjdGFkbyB5IGRvcyBhY2Npb25lczogY29uZmlybWFyIHF1ZSBmdWUgdW5vIG1pc21vIChjaWVycmEgc2luIGhhY2VyIG5hZGEpXG4gKiBvIGJsb3F1ZWFyIGVsIGRpc3Bvc2l0aXZvIChlamVjdXRhIGVsIHRva2VuIGRlIGFjY2nDs24pLlxuICpcbiAqIElucHV0cyB2w61hIGBjb21wb25lbnRQcm9wc2AgZGVsIE1vZGFsU2VydmljZS4gU2luIGBAT3V0cHV0YCAobm8gZnVuY2lvbmFuIGNvblxuICogYG1vZGFsQ29udHJvbGxlci5jcmVhdGUoKWApIOKAlCB1c2EgY2FsbGJhY2sgYG9uQmxvY2tgIHkgYF9tb2RhbFJlZi5kaXNtaXNzYC5cbiAqIFJlY2liZSBsb3MgbGFiZWxzIHlhIHRyYWR1Y2lkb3MgKGFnbsOzc3RpY28gYSBpMThuKS5cbiAqXG4gKiBIZWFkZXIgY2Fuw7NuaWNvIChSZWdsYSAjNSk6IHNpbiBgaW9uLXRpdGxlYCwgYm90w7NuIENlcnJhciB0ZXh0byBlbiBgc2xvdD1lbmRgLFxuICogdMOtdHVsbyBlbiBlbCBib2R5IGNvbiBgdmFsLWRpc3BsYXlgLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbG9naW4tYXR0ZW1wdC1tb2RhbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uQ29udGVudCxcbiAgICBJb25IZWFkZXIsXG4gICAgSW9uVG9vbGJhcixcbiAgICBJb25CdXR0b25zLFxuICAgIElvbkJ1dHRvbixcbiAgICBJb25JY29uLFxuICAgIERpc3BsYXlDb21wb25lbnQsXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1oZWFkZXI+XG4gICAgICA8aW9uLXRvb2xiYXI+XG4gICAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJjbG9zZSgpXCI+XG4gICAgICAgICAgICA8c3Ryb25nPnt7IGNsb3NlTGFiZWwgfX08L3N0cm9uZz5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgICA8L2lvbi10b29sYmFyPlxuICAgIDwvaW9uLWhlYWRlcj5cbiAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHRpdGxlLCBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnIH1cIiAvPlxuICAgICAgPGRpdiBjbGFzcz1cImF0dGVtcHRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF0dGVtcHRfX2hlcm9cIj5cbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInNoaWVsZC1jaGVja21hcmstb3V0bGluZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICBjb250ZW50OiBib2R5LFxuICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgfVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF0dGVtcHRfX2RldmljZVwiPlxuICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJkZXZpY2VJY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXR0ZW1wdF9fZGV2aWNlLWJvZHlcIj5cbiAgICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGRldmljZUxhYmVsLFxuICAgICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgQGlmIChtZXRhTGFiZWwpIHtcbiAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1ldGFMYWJlbCxcbiAgICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoZG9uZSgpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF0dGVtcHRfX2RvbmVcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hlY2ttYXJrLWNpcmNsZS1vdXRsaW5lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cbiAgICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGRvbmVMYWJlbCxcbiAgICAgICAgICAgICAgICBzaXplOiAnc21hbGwnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9pb24tY29udGVudD5cblxuICAgIEBpZiAoIWRvbmUoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImF0dGVtcHRfX2FjdGlvbnNcIj5cbiAgICAgICAgPHZhbC1idXR0b24gW3Byb3BzXT1cIm1pbmVCdG5cIiAoY2xpY2spPVwiY29uZmlybU1pbmUoKVwiIC8+XG4gICAgICAgIDx2YWwtYnV0dG9uIFtwcm9wc109XCJibG9ja0J0blwiIChjbGljayk9XCJjb25maXJtQmxvY2soKVwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJhdHRlbXB0X19hY3Rpb25zXCI+XG4gICAgICAgIDx2YWwtYnV0dG9uIFtwcm9wc109XCJjbG9zZUJ0blwiIChjbGljayk9XCJjbG9zZSgpXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIC5hdHRlbXB0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxOHB4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICAgIC5hdHRlbXB0X19oZXJvIHtcbiAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTEyLCAzOCwgMjIzLCAwLjEpO1xuICAgICAgfVxuICAgICAgLmF0dGVtcHRfX2hlcm8gaW9uLWljb24ge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSwgIzcwMjZkZik7XG4gICAgICB9XG4gICAgICAuYXR0ZW1wdF9fZGV2aWNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbGlnaHQsICNmNGY1ZjgpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS12YWwtYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMDgpKTtcbiAgICAgIH1cbiAgICAgIC5hdHRlbXB0X19kZXZpY2UgaW9uLWljb24ge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyayk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgICAgLmF0dGVtcHRfX2RldmljZS1ib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAycHg7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIH1cbiAgICAgIC5hdHRlbXB0X19kb25lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICB9XG4gICAgICAuYXR0ZW1wdF9fZG9uZSBpb24taWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1zdWNjZXNzKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICAuYXR0ZW1wdF9fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4IGNhbGMoMTJweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXZhbC1ib3JkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wOCkpO1xuICAgICAgfVxuICAgICAgLmF0dGVtcHRfX2FjdGlvbnMgdmFsLWJ1dHRvbiB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTG9naW5BdHRlbXB0TW9kYWxDb21wb25lbnQge1xuICAvKiogVMOtdHVsbyBkZWwgbW9kYWwgKGkxOG4geWEgcmVzdWVsdG8pLiAqL1xuICBASW5wdXQoKSB0aXRsZSA9ICcnO1xuICAvKiogVGV4dG8gZXhwbGljYXRpdm8uICovXG4gIEBJbnB1dCgpIGJvZHkgPSAnJztcbiAgLyoqIERlc2NyaXBjacOzbiBkZWwgZGlzcG9zaXRpdm8gKG5hdmVnYWRvciDCtyBPUyDCtyB1YmljYWNpw7NuKS4gKi9cbiAgQElucHV0KCkgZGV2aWNlTGFiZWwgPSAnJztcbiAgLyoqIE1ldGFkYXRhIHNlY3VuZGFyaWEgKGZlY2hhLCBJUCkuIE9wY2lvbmFsLiAqL1xuICBASW5wdXQoKSBtZXRhTGFiZWwgPSAnJztcbiAgLyoqIE1lbnNhamUgbW9zdHJhZG8gdHJhcyBibG9xdWVhci4gKi9cbiAgQElucHV0KCkgZG9uZUxhYmVsID0gJyc7XG4gIC8qKiBMYWJlbHMgZGUgYm90b25lcy4gKi9cbiAgQElucHV0KCkgbWluZUxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIGJsb2NrTGFiZWwgPSAnJztcbiAgQElucHV0KCkgY2xvc2VMYWJlbCA9ICcnO1xuICAvKiogYHRydWVgIHNpIGVsIGRpc3Bvc2l0aXZvIGVzIG3Ds3ZpbCDigJQgY2FtYmlhIGVsIGljb25vLiAqL1xuICBASW5wdXQoKSBpc01vYmlsZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDYWxsYmFjayBxdWUgZWplY3V0YSBlbCBibG9xdWVvIChleGVjdXRlQWN0aW9uIGNvbiBlbCB0b2tlbikgY29udHJhIGVsXG4gICAqIGJhY2tlbmQuIExvIHByb3ZlZSBlbCBwYXJlbnQgdsOtYSBgY29tcG9uZW50UHJvcHNgLiBEZWJlIGxhbnphciBzaSBmYWxsYS5cbiAgICovXG4gIEBJbnB1dCgpIG9uQmxvY2s/OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKiBJbnllY3RhZG8gcG9yIGBNb2RhbFNlcnZpY2Uub3BlbmAg4oCUIHJlZmVyZW5jaWEgcGFyYSBjZXJyYXIuICovXG4gIEBJbnB1dCgpIF9tb2RhbFJlZj86IHsgZGlzbWlzczogKGRhdGE/OiB1bmtub3duLCByb2xlPzogc3RyaW5nKSA9PiB2b2lkIH07XG5cbiAgLyoqIGB0cnVlYCB0cmFzIGJsb3F1ZWFyIGNvbiDDqXhpdG8g4oCUIGNhbWJpYSBlbCBtb2RhbCBhIGVzdGFkbyBcImhlY2hvXCIuICovXG4gIHByb3RlY3RlZCByZWFkb25seSBkb25lID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSB3b3JraW5nID0gZmFsc2U7XG5cbiAgZ2V0IGRldmljZUljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc01vYmlsZSA/ICdwaG9uZS1wb3J0cmFpdC1vdXRsaW5lJyA6ICdsYXB0b3Atb3V0bGluZSc7XG4gIH1cblxuICAvKiogXCJTw60sIGZ1aSB5b1wiIOKAlCBjaWVycmEgc2luIGFjY2nDs24uIEVsIGRpc3Bvc2l0aXZvIHlhIGVzdMOhIGFjdGl2by4gKi9cbiAgY29uZmlybU1pbmUoKTogdm9pZCB7XG4gICAgdGhpcy5fbW9kYWxSZWY/LmRpc21pc3ModW5kZWZpbmVkLCAnbWluZScpO1xuICB9XG5cbiAgLyoqIFwiTm8gZnVpIHlvXCIg4oCUIGVqZWN1dGEgZWwgYmxvcXVlbyB5IHBhc2EgYSBlc3RhZG8gZG9uZS4gKi9cbiAgYXN5bmMgY29uZmlybUJsb2NrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLndvcmtpbmcgfHwgIXRoaXMub25CbG9jaykgcmV0dXJuO1xuICAgIHRoaXMud29ya2luZyA9IHRydWU7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMub25CbG9jaygpO1xuICAgICAgdGhpcy5kb25lLnNldCh0cnVlKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIEVsIHBhcmVudCBtdWVzdHJhIGVsIHRvYXN0IGRlIGVycm9yOyBjZXJyYW1vcyBlbCBtb2RhbC5cbiAgICAgIHRoaXMuX21vZGFsUmVmPy5kaXNtaXNzKHVuZGVmaW5lZCwgJ2Vycm9yJyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX21vZGFsUmVmPy5kaXNtaXNzKHVuZGVmaW5lZCwgdGhpcy5kb25lKCkgPyAnYmxvY2tlZCcgOiAnY2xvc2UnKTtcbiAgfVxuXG4gIGdldCBtaW5lQnRuKCk6IFBhcnRpYWw8QnV0dG9uTWV0YWRhdGE+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dDogdGhpcy5taW5lTGFiZWwsXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgZmlsbDogJ291dGxpbmUnLFxuICAgICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0IGJsb2NrQnRuKCk6IFBhcnRpYWw8QnV0dG9uTWV0YWRhdGE+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dDogdGhpcy5ibG9ja0xhYmVsLFxuICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgZmlsbDogJ3NvbGlkJyxcbiAgICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgc2hhcGU6ICdyb3VuZCcsXG4gICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfTtcbiAgfVxuXG4gIGdldCBjbG9zZUJ0bigpOiBQYXJ0aWFsPEJ1dHRvbk1ldGFkYXRhPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHQ6IHRoaXMuY2xvc2VMYWJlbCxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICBmaWxsOiAnc29saWQnLFxuICAgICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9O1xuICB9XG59XG4iXX0=