@rededor/site-front-end-lib 0.0.30 → 0.0.32

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 (129) hide show
  1. package/README.md +80 -80
  2. package/esm2022/lib/components/algolia/algolia.component.mjs +127 -0
  3. package/esm2022/lib/components/footer/components/footer-disclaimer/footer-disclaimer.component.mjs +3 -3
  4. package/esm2022/lib/components/footer/components/footer-menu/footer-menu.component.mjs +3 -3
  5. package/esm2022/lib/components/footer/components/footer-menu-item/footer-menu-item.component.mjs +3 -3
  6. package/esm2022/lib/components/footer/components/footer-social-medias/footer-social-medias.component.mjs +3 -3
  7. package/esm2022/lib/components/footer/footer.component.mjs +3 -3
  8. package/esm2022/lib/components/footer/helpers/footerTheme.func.mjs +1 -1
  9. package/esm2022/lib/components/footer/models/FooterTheme.model.mjs +1 -1
  10. package/esm2022/lib/components/header/components/header-action-menu/header-action-menu.component.mjs +3 -3
  11. package/esm2022/lib/components/header/components/header-aux-menu/header-aux-menu.component.mjs +3 -3
  12. package/esm2022/lib/components/header/components/header-aux-menu-container/header-aux-menu-container.component.mjs +3 -3
  13. package/esm2022/lib/components/header/components/header-aux-menu-item/header-aux-menu-item.component.mjs +3 -3
  14. package/esm2022/lib/components/header/components/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.mjs +3 -3
  15. package/esm2022/lib/components/header/components/header-logo/header-logo.component.mjs +3 -3
  16. package/esm2022/lib/components/header/components/header-main-menu/header-main-menu.component.mjs +3 -3
  17. package/esm2022/lib/components/header/components/header-main-menu-item/header-main-menu-item.component.mjs +3 -3
  18. package/esm2022/lib/components/header/components/header-main-menu-item-dropdown/header-main-menu-item-dropdown.component.mjs +3 -3
  19. package/esm2022/lib/components/header/components/header-side-menu/header-side-menu.component.mjs +3 -3
  20. package/esm2022/lib/components/header/components/header-side-menu-item/header-side-menu-item.component.mjs +3 -3
  21. package/esm2022/lib/components/header/header.component.mjs +3 -3
  22. package/esm2022/lib/components/header/helpers/headerTheme.func.mjs +1 -1
  23. package/esm2022/lib/components/header/models/HeaderTheme.model.mjs +1 -1
  24. package/esm2022/lib/components/header/services/header.service.mjs +1 -1
  25. package/esm2022/lib/components/index.mjs +2 -1
  26. package/esm2022/lib/components/load-screen/load-screen.component.mjs +3 -3
  27. package/esm2022/lib/components/overlay/overlay.component.mjs +3 -3
  28. package/esm2022/lib/components/search/search.component.mjs +3 -3
  29. package/esm2022/lib/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.mjs +3 -3
  30. package/esm2022/lib/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.mjs +3 -3
  31. package/esm2022/lib/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.mjs +3 -3
  32. package/esm2022/lib/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.mjs +3 -3
  33. package/esm2022/lib/components/side-ctas/models/SideCta.model.mjs +1 -1
  34. package/esm2022/lib/components/side-ctas/side-ctas.component.mjs +3 -3
  35. package/esm2022/lib/components/whatsapp/whatsapp.component.mjs +3 -3
  36. package/esm2022/lib/directives/index.mjs +1 -1
  37. package/esm2022/lib/directives/rdsite-click-outside/rdsite-click-outside.directive.mjs +1 -1
  38. package/esm2022/lib/directives/rdsite-link/rdsite-link.directive.mjs +1 -1
  39. package/esm2022/lib/directives/rdsite-phone-modal/rdsite-phone-modal.directive.mjs +1 -1
  40. package/esm2022/lib/enums/EnumDoencaTaxonomy.enum.mjs +1 -1
  41. package/esm2022/lib/enums/Estados.enum.mjs +1 -1
  42. package/esm2022/lib/enums/IconCuraDefaultType.enum.mjs +1 -1
  43. package/esm2022/lib/enums/RdsiteModalComponentStyle.enum.mjs +1 -1
  44. package/esm2022/lib/enums/RdsiteModalDrawerComponentStyle.enum.mjs +1 -1
  45. package/esm2022/lib/enums/index.mjs +1 -1
  46. package/esm2022/lib/helpers/formatPhone.func.mjs +1 -1
  47. package/esm2022/lib/helpers/getSiteUrl.func.mjs +1 -1
  48. package/esm2022/lib/helpers/index.mjs +1 -1
  49. package/esm2022/lib/helpers/removeDuplicateObjectsFromArray.func.mjs +1 -1
  50. package/esm2022/lib/helpers/removeDuplicateValuesFromArray.func.mjs +1 -1
  51. package/esm2022/lib/helpers/removeHtmlTags.func.mjs +1 -1
  52. package/esm2022/lib/helpers/toQueryParams.func.mjs +1 -1
  53. package/esm2022/lib/json/unidades.json +5190 -14121
  54. package/esm2022/lib/json/unidadesOnco.json +1772 -12733
  55. package/esm2022/lib/models/algolia-search-api.model.mjs +2 -0
  56. package/esm2022/lib/models/algolia.model.mjs +2 -0
  57. package/esm2022/lib/models/breadcrumb/breadcrumb-item.model.mjs +1 -1
  58. package/esm2022/lib/models/breadcrumb/breadcrumb-json-item.model.mjs +1 -1
  59. package/esm2022/lib/models/centro-estudos-backend.model.mjs +1 -1
  60. package/esm2022/lib/models/doenca-backend.model.mjs +1 -1
  61. package/esm2022/lib/models/doenca-taxonomy.model.mjs +1 -1
  62. package/esm2022/lib/models/especialidade-backend.model.mjs +1 -1
  63. package/esm2022/lib/models/exame-backend.model.mjs +1 -1
  64. package/esm2022/lib/models/medico-cv.model.mjs +1 -1
  65. package/esm2022/lib/models/menu-de-unidade.model.mjs +2 -0
  66. package/esm2022/lib/models/menu-item.model.mjs +1 -1
  67. package/esm2022/lib/models/privacy-tools/privacy-tools.model.mjs +1 -1
  68. package/esm2022/lib/models/rdsl-cobertura.model.mjs +1 -1
  69. package/esm2022/lib/models/rdsl-convenio.model.mjs +1 -1
  70. package/esm2022/lib/models/rdsl-especialidade.model.mjs +1 -1
  71. package/esm2022/lib/models/rdsl-planos.model.mjs +1 -1
  72. package/esm2022/lib/models/rdsl-post-category.model.mjs +1 -1
  73. package/esm2022/lib/models/rdsl-unidade.model.mjs +1 -1
  74. package/esm2022/lib/models/seo/seo-data.model.mjs +1 -1
  75. package/esm2022/lib/models/seo/seo-unidade.model.mjs +1 -1
  76. package/esm2022/lib/models/social-meta-properties.model.mjs +1 -1
  77. package/esm2022/lib/models/wordpress/WpResponse.model.mjs +1 -1
  78. package/esm2022/lib/models/wordpress/category/wpCategory.model.mjs +1 -1
  79. package/esm2022/lib/models/wordpress/general/content.model.mjs +1 -1
  80. package/esm2022/lib/models/wordpress/general/excerpt.model.mjs +1 -1
  81. package/esm2022/lib/models/wordpress/general/featuredMedia.model.mjs +1 -1
  82. package/esm2022/lib/models/wordpress/general/guid.model.mjs +1 -1
  83. package/esm2022/lib/models/wordpress/general/index.mjs +1 -1
  84. package/esm2022/lib/models/wordpress/general/links.model.mjs +1 -1
  85. package/esm2022/lib/models/wordpress/general/meta.model.mjs +1 -1
  86. package/esm2022/lib/models/wordpress/general/title.model.mjs +1 -1
  87. package/esm2022/lib/models/wordpress/general/yoastData.model.mjs +1 -1
  88. package/esm2022/lib/models/wordpress/general/yoastHeadJson.model.mjs +1 -1
  89. package/esm2022/lib/models/wordpress/general/yoastMeta.model.mjs +1 -1
  90. package/esm2022/lib/models/wordpress/page/page.model.mjs +1 -1
  91. package/esm2022/lib/models/wordpress/post/post.model.mjs +1 -1
  92. package/esm2022/lib/models/wordpress/unidade/wp-unidade-onco.model.mjs +1 -1
  93. package/esm2022/lib/models/wordpress/unidade/wp-unidade-site-detalhe.model.mjs +1 -1
  94. package/esm2022/lib/models/wordpress/unidade/wp-unidade-site.model.mjs +1 -1
  95. package/esm2022/lib/pipes/index.mjs +1 -1
  96. package/esm2022/lib/pipes/phone/phone.pipe.mjs +1 -1
  97. package/esm2022/lib/services/algolia/algolia.service.mjs +1 -1
  98. package/esm2022/lib/services/algolia-search-api/algolia-search-api.service.mjs +71 -0
  99. package/esm2022/lib/services/cura/cura.service.mjs +1 -1
  100. package/esm2022/lib/services/http-client/http-client.service.mjs +1 -1
  101. package/esm2022/lib/services/index.mjs +1 -1
  102. package/esm2022/lib/services/log/log.service.mjs +1 -1
  103. package/esm2022/lib/services/modal/modal.service.mjs +1 -1
  104. package/esm2022/lib/services/modal-drawer/modal-drawer.service.mjs +1 -1
  105. package/esm2022/lib/services/ngu-carousel/ngu-carousel.service.mjs +1 -1
  106. package/esm2022/lib/services/phone/phone.service.mjs +1 -1
  107. package/esm2022/lib/services/privacy-tools/privacy-tools.service.mjs +1 -1
  108. package/esm2022/lib/services/seo/seo.service.mjs +1 -1
  109. package/esm2022/lib/services/server-response/server-response.service.mjs +1 -1
  110. package/esm2022/lib/services/site-back-end/site-back-end.service.mjs +10 -1
  111. package/esm2022/lib/services/ssr-loading/ssr-loading.service.mjs +1 -1
  112. package/esm2022/lib/services/transfer-state/transfer-state.service.mjs +1 -1
  113. package/esm2022/lib/tokens/CuraApi.mjs +1 -1
  114. package/esm2022/lib/tokens/LibConfig.mjs +1 -1
  115. package/esm2022/lib/tokens/express.tokens.mjs +1 -1
  116. package/esm2022/public-api.mjs +1 -1
  117. package/fesm2022/rededor-site-front-end-lib.mjs +5626 -26872
  118. package/fesm2022/rededor-site-front-end-lib.mjs.map +1 -1
  119. package/lib/components/algolia/algolia.component.d.ts +36 -0
  120. package/lib/components/index.d.ts +1 -0
  121. package/lib/models/algolia-search-api.model.d.ts +167 -0
  122. package/lib/models/algolia.model.d.ts +12 -0
  123. package/lib/models/menu-de-unidade.model.d.ts +14 -0
  124. package/lib/models/wordpress/unidade/wp-unidade-site-detalhe.model.d.ts +4 -0
  125. package/lib/services/algolia-search-api/algolia-search-api.service.d.ts +18 -0
  126. package/lib/services/site-back-end/site-back-end.service.d.ts +8 -0
  127. package/lib/tokens/LibConfig.d.ts +3 -0
  128. package/package.json +4 -3
  129. package/styles/_breakpoints.scss +4 -4
@@ -108,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
108
108
  type: Inject,
109
109
  args: [SSR_CURA_API]
110
110
  }] }] });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VyYS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvc2VydmljZXMvY3VyYS9jdXJhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFnQixTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sd0JBQXdCLENBQUM7OztBQUsvRCxNQUFNLE9BQU8sV0FBVztJQUl0QixZQUNVLEdBQWUsRUFDTSxVQUFrQixFQUNyQixRQUFrQixFQUNoQixTQUFvQixFQUNOLFVBQWU7UUFKakQsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNNLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNoQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ04sZUFBVSxHQUFWLFVBQVUsQ0FBSztRQVJuRCx3QkFBbUIsR0FBd0IsSUFBSSxDQUFDO1FBQ2hELFlBQU8sR0FBbUIsSUFBSSxDQUFDO1FBU3JDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJ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O1FBQ3hDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDbkUsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDOytHQTdGVSxXQUFXLDRDQU1aLFdBQVcsYUFDWCxRQUFRLGFBQ1IsVUFBVSxhQUNFLFlBQVk7bUhBVHZCLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IEN1cmFBUEkgZnJvbSAnQHJlZGVkb3IvY3VyYS9kaXN0L3R5cGVzL2FwaS9jdXJhLWFwaSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50LCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IEljb25DdXJhRGVmYXVsdFR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9JY29uQ3VyYURlZmF1bHRUeXBlLmVudW0nO1xyXG5pbXBvcnQgeyBTU1JfQ1VSQV9BUEkgfSBmcm9tICcuLi8uLi90b2tlbnMvQ3VyYUFwaSc7XHJcbmltcG9ydCB7IExJQl9DT05GSUcsIExpYkNvbmZpZyB9IGZyb20gJy4uLy4uL3Rva2Vucy9MaWJDb25maWcnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1cmFTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIGN1cmFBUElTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgY3VyYUFwaTogQ3VyYUFQSSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbG9nOiBMb2dTZXJ2aWNlLFxyXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3QsXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcclxuICAgIEBJbmplY3QoTElCX0NPTkZJRykgcHJpdmF0ZSBsaWJDb25maWc6IExpYkNvbmZpZyxcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoU1NSX0NVUkFfQVBJKSBwcml2YXRlIHNzckN1cmFBUEk6IGFueSxcclxuICApIHtcclxuICAgIHRoaXMuY3VyYUluaXQoKTtcclxuICB9XHJcblxyXG4gIGN1cmFJbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmN1cmFBUElTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5jdXJhQVBJU3Vic2NyaXB0aW9uSW5pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjdXJhQVBJU3Vic2NyaXB0aW9uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3KSB7XHJcbiAgICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgICB0aGlzLmluamVjdEN1cmFBUEkoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmN1cmFBUElTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQodGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldywgJ0N1cmFBUElSZWFkeScpXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBzdGFydFdpdGgoe1xyXG4gICAgICAgICAgICBkZXRhaWw6IHsgYXBpOiAodGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldyBhcyBhbnkpPy5DdXJhQVBJIH0sXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jdXJhQXBpID0gKGV2ZW50IGFzIEN1c3RvbUV2ZW50KT8uZGV0YWlsPy5hcGkgYXMgQ3VyYUFQSTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubG9nLmxvZ01zZyhKU09OLnN0cmluZ2lmeShlcnJvciksICdFUlJPUicpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5qZWN0Q3VyYUFQSSgpIHtcclxuICAgIGlmICh0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3ICYmICEodGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldyBhcyBhbnkpWydDdXJhQVBJJ10pIHtcclxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcsICdDdXJhQVBJJywge1xyXG4gICAgICAgIHZhbHVlOiB0aGlzLnNzckN1cmFBUEksXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9hZFRoZW1lKHRoZW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY3VyYUFwaT8udGhlbWU/LmxvYWQodGhlbWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29sb3IoY29sb3JXaXRoRGVwdGg6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuY3VyYUFwaT8udGhlbWU/LmNvbG9ycy5nZXRDb2xvcihjb2xvcldpdGhEZXB0aCkgPz8gbnVsbDtcclxuICB9XHJcblxyXG4gIGdldFNwYWNpbmcoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5jdXJhQXBpPy50aGVtZS5zcGFjaW5nLmdldFNwYWNpbmcoKSA/PyBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0Rm9udEZhbWlseSh0eXBlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmN1cmFBcGk/LnRoZW1lLmZvbnRzLmdldEZhbWlseSh0eXBlKSA/PyBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0Rm9udFdlaWdodHMoKTogeyBbYWxpYXM6IHN0cmluZ106IHN0cmluZyB9IHtcclxuICAgIHJldHVybiB0aGlzLmN1cmFBcGk/LnRoZW1lLmZvbnRzLmdldFdlaWdodHMoKSA/PyB7fTtcclxuICB9XHJcblxyXG4gIGdldEZvbnRTaXplKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jdXJhQXBpPy50aGVtZS5mb250cy5nZXRTaXplKCkgPz8gJyc7XHJcbiAgfVxyXG5cclxuICBnZXRGb250Q29sb3IoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmN1cmFBcGk/LnRoZW1lLmZvbnRzLmdldENvbG9yKCkgPz8gJyc7XHJcbiAgfVxyXG5cclxuICBnZXRDdXJhSWNvbk5hbWUoaWNvbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChJY29uQ3VyYURlZmF1bHRUeXBlW2ljb24gYXMga2V5b2YgdHlwZW9mIEljb25DdXJhRGVmYXVsdFR5cGVdKSB7XHJcbiAgICAgIHJldHVybiBJY29uQ3VyYURlZmF1bHRUeXBlW2ljb24gYXMga2V5b2YgdHlwZW9mIEljb25DdXJhRGVmYXVsdFR5cGVdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3VyYVN5c3RlbUljb25OYW1lKGljb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDdXJhU3lzdGVtSWNvbk5hbWUoaWNvbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmxpYkNvbmZpZy5pY29uc2V0RGVmYXVsdExpc3Q/LmluY2x1ZGVzKGljb24pKSByZXR1cm4gaWNvbjtcclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5jdXJhQVBJU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VyYS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvc2VydmljZXMvY3VyYS9jdXJhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFnQixTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sd0JBQXdCLENBQUM7OztBQUsvRCxNQUFNLE9BQU8sV0FBVztJQUl0QixZQUNVLEdBQWUsRUFDTSxVQUFrQixFQUNyQixRQUFrQixFQUNoQixTQUFvQixFQUNOLFVBQWU7UUFKakQsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNNLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNoQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ04sZUFBVSxHQUFWLFVBQVUsQ0FBSztRQVJuRCx3QkFBbUIsR0FBd0IsSUFBSSxDQUFDO1FBQ2hELFlBQU8sR0FBbUIsSUFBSSxDQUFDO1FBU3JDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJ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O1FBQ3hDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDbkUsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDOytHQTdGVSxXQUFXLDRDQU1aLFdBQVcsYUFDWCxRQUFRLGFBQ1IsVUFBVSxhQUNFLFlBQVk7bUhBVHZCLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgQ3VyYUFQSSBmcm9tICdAcmVkZWRvci9jdXJhL2Rpc3QvdHlwZXMvYXBpL2N1cmEtYXBpJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50LCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cvbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvbkN1cmFEZWZhdWx0VHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL0ljb25DdXJhRGVmYXVsdFR5cGUuZW51bSc7XG5pbXBvcnQgeyBTU1JfQ1VSQV9BUEkgfSBmcm9tICcuLi8uLi90b2tlbnMvQ3VyYUFwaSc7XG5pbXBvcnQgeyBMSUJfQ09ORklHLCBMaWJDb25maWcgfSBmcm9tICcuLi8uLi90b2tlbnMvTGliQ29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEN1cmFTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBjdXJhQVBJU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBjdXJhQXBpOiBDdXJhQVBJIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsb2c6IExvZ1NlcnZpY2UsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3QsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwcml2YXRlIGxpYkNvbmZpZzogTGliQ29uZmlnLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoU1NSX0NVUkFfQVBJKSBwcml2YXRlIHNzckN1cmFBUEk6IGFueSxcbiAgKSB7XG4gICAgdGhpcy5jdXJhSW5pdCgpO1xuICB9XG5cbiAgY3VyYUluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmN1cmFBUElTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY3VyYUFQSVN1YnNjcmlwdGlvbkluaXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGN1cmFBUElTdWJzY3JpcHRpb25Jbml0KCkge1xuICAgIGlmICh0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3KSB7XG4gICAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgIHRoaXMuaW5qZWN0Q3VyYUFQSSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5jdXJhQVBJU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcsICdDdXJhQVBJUmVhZHknKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBzdGFydFdpdGgoe1xuICAgICAgICAgICAgZGV0YWlsOiB7IGFwaTogKHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcgYXMgYW55KT8uQ3VyYUFQSSB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jdXJhQXBpID0gKGV2ZW50IGFzIEN1c3RvbUV2ZW50KT8uZGV0YWlsPy5hcGkgYXMgQ3VyYUFQSTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9nLmxvZ01zZyhKU09OLnN0cmluZ2lmeShlcnJvciksICdFUlJPUicpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0Q3VyYUFQSSgpIHtcbiAgICBpZiAodGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldyAmJiAhKHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcgYXMgYW55KVsnQ3VyYUFQSSddKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldywgJ0N1cmFBUEknLCB7XG4gICAgICAgIHZhbHVlOiB0aGlzLnNzckN1cmFBUEksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBsb2FkVGhlbWUodGhlbWU6IHN0cmluZykge1xuICAgIHRoaXMuY3VyYUFwaT8udGhlbWU/LmxvYWQodGhlbWUpO1xuICB9XG5cbiAgZ2V0Q29sb3IoY29sb3JXaXRoRGVwdGg6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmN1cmFBcGk/LnRoZW1lPy5jb2xvcnMuZ2V0Q29sb3IoY29sb3JXaXRoRGVwdGgpID8/IG51bGw7XG4gIH1cblxuICBnZXRTcGFjaW5nKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmN1cmFBcGk/LnRoZW1lLnNwYWNpbmcuZ2V0U3BhY2luZygpID8/IG51bGw7XG4gIH1cblxuICBnZXRGb250RmFtaWx5KHR5cGU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmN1cmFBcGk/LnRoZW1lLmZvbnRzLmdldEZhbWlseSh0eXBlKSA/PyBudWxsO1xuICB9XG5cbiAgZ2V0Rm9udFdlaWdodHMoKTogeyBbYWxpYXM6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4gdGhpcy5jdXJhQXBpPy50aGVtZS5mb250cy5nZXRXZWlnaHRzKCkgPz8ge307XG4gIH1cblxuICBnZXRGb250U2l6ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmN1cmFBcGk/LnRoZW1lLmZvbnRzLmdldFNpemUoKSA/PyAnJztcbiAgfVxuXG4gIGdldEZvbnRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmN1cmFBcGk/LnRoZW1lLmZvbnRzLmdldENvbG9yKCkgPz8gJyc7XG4gIH1cblxuICBnZXRDdXJhSWNvbk5hbWUoaWNvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoSWNvbkN1cmFEZWZhdWx0VHlwZVtpY29uIGFzIGtleW9mIHR5cGVvZiBJY29uQ3VyYURlZmF1bHRUeXBlXSkge1xuICAgICAgcmV0dXJuIEljb25DdXJhRGVmYXVsdFR5cGVbaWNvbiBhcyBrZXlvZiB0eXBlb2YgSWNvbkN1cmFEZWZhdWx0VHlwZV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEN1cmFTeXN0ZW1JY29uTmFtZShpY29uKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEN1cmFTeXN0ZW1JY29uTmFtZShpY29uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmxpYkNvbmZpZy5pY29uc2V0RGVmYXVsdExpc3Q/LmluY2x1ZGVzKGljb24pKSByZXR1cm4gaWNvbjtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmN1cmFBUElTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
52
52
  type: Inject,
53
53
  args: [LIB_CONFIG]
54
54
  }] }, { type: i1.HttpClient }, { type: i2.DeviceDetectorService }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jbGllbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL3NlcnZpY2VzL2h0dHAtY2xpZW50L2h0dHAtY2xpZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFbkQseUVBQXlFO0FBRXpFLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDK0IsVUFBa0IsRUFDbkIsU0FBb0IsRUFDeEMsSUFBZ0IsRUFDaEIsYUFBb0M7UUFIZixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7SUFDM0MsQ0FBQztJQUVKLEdBQUcsQ0FBVSxHQUFXO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUksQ0FBVSxHQUFXLEVBQUUsSUFBVTtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRTthQUNsQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQzthQUM5RCxHQUFHLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDaEQsR0FBRyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBRWxELElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0QsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDdkssQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUMvRCxDQUFDO0lBRU8sZUFBZTtRQUNyQixPQUFPLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN4RCxDQUFDOytHQXJDVSxpQkFBaUIsa0JBRWxCLFdBQVcsYUFDWCxVQUFVO21IQUhULGlCQUFpQixjQURKLE1BQU07OzRGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFHN0IsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnbmd4LWRldmljZS1kZXRlY3Rvcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTElCX0NPTkZJRywgTGliQ29uZmlnIH0gZnJvbSAnLi4vLi4vdG9rZW5zL0xpYkNvbmZpZyc7XHJcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuLyogQWRpY2lvbmEgb3MgSGVhZGVycyBuZWNlc3PDoXJpb3MgcGFyYSBmdW5jaW9uYW1lbnRvIGRvIHNpdGUgYmFjay1lbmQgKi9cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEh0dHBDbGllbnRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0LFxyXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwcml2YXRlIGxpYkNvbmZpZzogTGliQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBkZXZpY2VTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBnZXQ8VCA9IGFueT4odXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHVybCwgeyBoZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgcG9zdDxUID0gYW55Pih1cmw6IHN0cmluZywgZGF0YT86IGFueSk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHVybCwgZGF0YSwgeyBoZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCk6IEh0dHBIZWFkZXJzIHtcclxuICAgIGNvbnN0IGJhc2VIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcclxuICAgICAgLnNldChcIngtb3JpZ2luLWFwcGxpY2F0aW9uXCIsIHRoaXMubGliQ29uZmlnLnhPcmlnaW5BcHBsaWNhdGlvbilcclxuICAgICAgLnNldChcIngtb3JpZ2luLWNoYW5uZWxcIiwgdGhpcy5nZXRPcmlnaW5DaGFubmVsKCkpXHJcbiAgICAgIC5zZXQoXCJ4LW9yaWdpbi1kZXZpY2VcIiwgdGhpcy5nZXRPcmlnaW5EZXZpY2UoKSk7XHJcblxyXG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLmxpYkNvbmZpZy5zZXJ2ZXIpIHtcclxuICAgICAgcmV0dXJuIGJhc2VIZWFkZXJzLmFwcGVuZChcImF1dGhvcml6YXRpb25cIiwgXCJCYXNpYyBcIiArIEJ1ZmZlci5mcm9tKGAke3RoaXMubGliQ29uZmlnLnNpdGVBcGkuYXV0aC51c2VyfToke3RoaXMubGliQ29uZmlnLnNpdGVBcGkuYXV0aC5wYXNzd29yZH1gKS50b1N0cmluZygnYmFzZTY0JykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGJhc2VIZWFkZXJzLmFwcGVuZChcImNsaWVudF9pZFwiLCB0aGlzLmxpYkNvbmZpZy5jbGllbnRfaWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRPcmlnaW5DaGFubmVsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5kZXZpY2VTZXJ2aWNlLmlzRGVza3RvcCgpID8gJ2Rlc2t0b3AnIDogJ21vYmlsZSc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE9yaWdpbkRldmljZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGBhcHAtJHt0aGlzLmRldmljZVNlcnZpY2UuZ2V0RGV2aWNlSW5mbygpLm9zfWA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jbGllbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL3NlcnZpY2VzL2h0dHAtY2xpZW50L2h0dHAtY2xpZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFbkQseUVBQXlFO0FBRXpFLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDK0IsVUFBa0IsRUFDbkIsU0FBb0IsRUFDeEMsSUFBZ0IsRUFDaEIsYUFBb0M7UUFIZixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7SUFDM0MsQ0FBQztJQUVKLEdBQUcsQ0FBVSxHQUFXO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUksQ0FBVSxHQUFXLEVBQUUsSUFBVTtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRTthQUNsQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQzthQUM5RCxHQUFHLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDaEQsR0FBRyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBRWxELElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0QsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDdkssQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUMvRCxDQUFDO0lBRU8sZUFBZTtRQUNyQixPQUFPLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN4RCxDQUFDOytHQXJDVSxpQkFBaUIsa0JBRWxCLFdBQVcsYUFDWCxVQUFVO21IQUhULGlCQUFpQixjQURKLE1BQU07OzRGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFHN0IsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXZpY2VEZXRlY3RvclNlcnZpY2UgfSBmcm9tICduZ3gtZGV2aWNlLWRldGVjdG9yJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExJQl9DT05GSUcsIExpYkNvbmZpZyB9IGZyb20gJy4uLy4uL3Rva2Vucy9MaWJDb25maWcnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qIEFkaWNpb25hIG9zIEhlYWRlcnMgbmVjZXNzw6FyaW9zIHBhcmEgZnVuY2lvbmFtZW50byBkbyBzaXRlIGJhY2stZW5kICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEh0dHBDbGllbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3QsXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwcml2YXRlIGxpYkNvbmZpZzogTGliQ29uZmlnLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGRldmljZVNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZSxcbiAgKSB7fVxuXG4gIGdldDxUID0gYW55Pih1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPih1cmwsIHsgaGVhZGVycyB9KTtcbiAgfVxuXG4gIHBvc3Q8VCA9IGFueT4odXJsOiBzdHJpbmcsIGRhdGE/OiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHVybCwgZGF0YSwgeyBoZWFkZXJzIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCk6IEh0dHBIZWFkZXJzIHtcbiAgICBjb25zdCBiYXNlSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXG4gICAgICAuc2V0KFwieC1vcmlnaW4tYXBwbGljYXRpb25cIiwgdGhpcy5saWJDb25maWcueE9yaWdpbkFwcGxpY2F0aW9uKVxuICAgICAgLnNldChcIngtb3JpZ2luLWNoYW5uZWxcIiwgdGhpcy5nZXRPcmlnaW5DaGFubmVsKCkpXG4gICAgICAuc2V0KFwieC1vcmlnaW4tZGV2aWNlXCIsIHRoaXMuZ2V0T3JpZ2luRGV2aWNlKCkpO1xuXG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLmxpYkNvbmZpZy5zZXJ2ZXIpIHtcbiAgICAgIHJldHVybiBiYXNlSGVhZGVycy5hcHBlbmQoXCJhdXRob3JpemF0aW9uXCIsIFwiQmFzaWMgXCIgKyBCdWZmZXIuZnJvbShgJHt0aGlzLmxpYkNvbmZpZy5zaXRlQXBpLmF1dGgudXNlcn06JHt0aGlzLmxpYkNvbmZpZy5zaXRlQXBpLmF1dGgucGFzc3dvcmR9YCkudG9TdHJpbmcoJ2Jhc2U2NCcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGJhc2VIZWFkZXJzLmFwcGVuZChcImNsaWVudF9pZFwiLCB0aGlzLmxpYkNvbmZpZy5jbGllbnRfaWQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3JpZ2luQ2hhbm5lbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRldmljZVNlcnZpY2UuaXNEZXNrdG9wKCkgPyAnZGVza3RvcCcgOiAnbW9iaWxlJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3JpZ2luRGV2aWNlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBhcHAtJHt0aGlzLmRldmljZVNlcnZpY2UuZ2V0RGV2aWNlSW5mbygpLm9zfWA7XG4gIH1cbn1cbiJdfQ==
@@ -12,4 +12,4 @@ export * from './seo/seo.service';
12
12
  export * from './server-response/server-response.service';
13
13
  export * from './ssr-loading/ssr-loading.service';
14
14
  export * from './transfer-state/transfer-state.service';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMseUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FsZ29saWEvYWxnb2xpYS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jdXJhL2N1cmEuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1jbGllbnQvaHR0cC1jbGllbnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9nL2xvZy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC1kcmF3ZXIvbW9kYWwtZHJhd2VyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL25ndS1jYXJvdXNlbC9uZ3UtY2Fyb3VzZWwuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGhvbmUvcGhvbmUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcHJpdmFjeS10b29scy9wcml2YWN5LXRvb2xzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NpdGUtYmFjay1lbmQvc2l0ZS1iYWNrLWVuZC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZW8vc2VvLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZlci1yZXNwb25zZS9zZXJ2ZXItcmVzcG9uc2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3NyLWxvYWRpbmcvc3NyLWxvYWRpbmcuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNmZXItc3RhdGUvdHJhbnNmZXItc3RhdGUuc2VydmljZSc7XHJcbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMseUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FsZ29saWEvYWxnb2xpYS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY3VyYS9jdXJhLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLWNsaWVudC9odHRwLWNsaWVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9nL2xvZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwvbW9kYWwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsLWRyYXdlci9tb2RhbC1kcmF3ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25ndS1jYXJvdXNlbC9uZ3UtY2Fyb3VzZWwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Bob25lL3Bob25lLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wcml2YWN5LXRvb2xzL3ByaXZhY3ktdG9vbHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NpdGUtYmFjay1lbmQvc2l0ZS1iYWNrLWVuZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VvL3Nlby5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmVyLXJlc3BvbnNlL3NlcnZlci1yZXNwb25zZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3NyLWxvYWRpbmcvc3NyLWxvYWRpbmcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zZmVyLXN0YXRlL3RyYW5zZmVyLXN0YXRlLnNlcnZpY2UnO1xuIl19
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
40
40
  type: Inject,
41
41
  args: [PLATFORM_ID]
42
42
  }] }, { type: i1.Location }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9sb2cvbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLFVBQVU7SUFFckIsWUFDOEIsU0FBb0IsRUFDbkIsVUFBZSxFQUNwQyxRQUFrQjtRQUZFLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3pCLENBQUM7SUFFSixNQUFNLENBQUMsR0FBUSxFQUFFLEtBQWM7UUFDN0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDL0csT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLFNBQWtCO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQWtCO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7SUFDcEcsQ0FBQzsrR0F6QlUsVUFBVSxrQkFHWCxVQUFVLGFBQ1YsV0FBVzttSEFKVixVQUFVLGNBRlQsTUFBTTs7NEZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUlJLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIsIExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTElCX0NPTkZJRywgTGliQ29uZmlnIH0gZnJvbSAnLi4vLi4vdG9rZW5zL0xpYkNvbmZpZyc7XHJcbmltcG9ydCB7IGdldFNpdGVVcmwgfSBmcm9tICcuLi8uLi9oZWxwZXJzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KExJQl9DT05GSUcpIHByaXZhdGUgbGliQ29uZmlnOiBMaWJDb25maWcsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSxcclxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uXHJcbiAgKSB7fVxyXG5cclxuICBsb2dNc2cobXNnOiBhbnksIGxhYmVsPzogc3RyaW5nKSB7XHJcbiAgICBsYWJlbCA9IGxhYmVsID8gYCR7bGFiZWx9IGAgOiAnJztcclxuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSB8fCAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiAhdGhpcy5saWJDb25maWc/LnByb2R1Y3Rpb24pKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGAke2xhYmVsfSR7bXNnfWApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9nTG9hZChjb21wb25lbnQ/OiBzdHJpbmcpIHtcclxuICAgIHRoaXMubG9nTXNnKGAke3RoaXMuZ2V0UGFnZVVSTCgpfSR7Y29tcG9uZW50ID8gJyAtICcgKyBjb21wb25lbnQgOiAnJ31gLCAnTE9BRCcpO1xyXG4gIH1cclxuXHJcbiAgbG9nNDA0KGNvbXBvbmVudD86IHN0cmluZykge1xyXG4gICAgdGhpcy5sb2dNc2coYCR7dGhpcy5nZXRQYWdlVVJMKCl9JHtjb21wb25lbnQgPyAnIC0gJyArIGNvbXBvbmVudCA6ICcnfWAsICc0MDQnKTtcclxuICB9XHJcblxyXG4gIGdldFBhZ2VVUkwoKSB7XHJcbiAgICByZXR1cm4gYCR7Z2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCl9JHt0aGlzLmxvY2F0aW9uLnBhdGgoKX1gO1xyXG4gIH1cclxufVxyXG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9sb2cvbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLFVBQVU7SUFFckIsWUFDOEIsU0FBb0IsRUFDbkIsVUFBZSxFQUNwQyxRQUFrQjtRQUZFLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3pCLENBQUM7SUFFSixNQUFNLENBQUMsR0FBUSxFQUFFLEtBQWM7UUFDN0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDL0csT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLFNBQWtCO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQWtCO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7SUFDcEcsQ0FBQzsrR0F6QlUsVUFBVSxrQkFHWCxVQUFVLGFBQ1YsV0FBVzttSEFKVixVQUFVLGNBRlQsTUFBTTs7NEZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUlJLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyLCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMSUJfQ09ORklHLCBMaWJDb25maWcgfSBmcm9tICcuLi8uLi90b2tlbnMvTGliQ29uZmlnJztcbmltcG9ydCB7IGdldFNpdGVVcmwgfSBmcm9tICcuLi8uLi9oZWxwZXJzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExvZ1NlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTElCX0NPTkZJRykgcHJpdmF0ZSBsaWJDb25maWc6IExpYkNvbmZpZyxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSxcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvblxuICApIHt9XG5cbiAgbG9nTXNnKG1zZzogYW55LCBsYWJlbD86IHN0cmluZykge1xuICAgIGxhYmVsID0gbGFiZWwgPyBgJHtsYWJlbH0gYCA6ICcnO1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSB8fCAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiAhdGhpcy5saWJDb25maWc/LnByb2R1Y3Rpb24pKSB7XG4gICAgICBjb25zb2xlLmxvZyhgJHtsYWJlbH0ke21zZ31gKTtcbiAgICB9XG4gIH1cblxuICBsb2dMb2FkKGNvbXBvbmVudD86IHN0cmluZykge1xuICAgIHRoaXMubG9nTXNnKGAke3RoaXMuZ2V0UGFnZVVSTCgpfSR7Y29tcG9uZW50ID8gJyAtICcgKyBjb21wb25lbnQgOiAnJ31gLCAnTE9BRCcpO1xuICB9XG5cbiAgbG9nNDA0KGNvbXBvbmVudD86IHN0cmluZykge1xuICAgIHRoaXMubG9nTXNnKGAke3RoaXMuZ2V0UGFnZVVSTCgpfSR7Y29tcG9uZW50ID8gJyAtICcgKyBjb21wb25lbnQgOiAnJ31gLCAnNDA0Jyk7XG4gIH1cblxuICBnZXRQYWdlVVJMKCkge1xuICAgIHJldHVybiBgJHtnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KX0ke3RoaXMubG9jYXRpb24ucGF0aCgpfWA7XG4gIH1cbn1cbiJdfQ==
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
53
53
  providedIn: 'root',
54
54
  }]
55
55
  }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL3NlcnZpY2VzL21vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFHeEQsTUFBTSxPQUFnQixzQkFBc0I7Q0FZM0M7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQUh6QjtRQUlFLGNBQVMsR0FBa0MsSUFBSSxDQUFDO0tBNENqRDtJQXpDQyxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQStCO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBd0I7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBeUIsRUFBRSxVQUErQixFQUFFO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0lBQy9DLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBeUI7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFnQztRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN4QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBdUI7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0E1Q1UsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZHNpdGVNb2RhbENvbXBvbmVudFN0eWxlIH0gZnJvbSAnLi4vLi4vZW51bXMvUmRzaXRlTW9kYWxDb21wb25lbnRTdHlsZS5lbnVtJztcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE1vZGFsQ29tcG9uZW50IHtcclxuICBhYnN0cmFjdCBpZDogc3RyaW5nO1xyXG4gIGFic3RyYWN0IG1vZGFsVGl0bGU6IHN0cmluZyB8IG51bGw7XHJcbiAgYWJzdHJhY3QgbW9kYWxIZWFkZXI6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xyXG4gIGFic3RyYWN0IG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XHJcbiAgYWJzdHJhY3QgbW9kYWxDb250ZW50Q29udGV4dDogUmVjb3JkPHN0cmluZywgYW55PiB8IG51bGw7XHJcbiAgYWJzdHJhY3QgbW9kYWxBY3Rpb25zOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcclxuICBhYnN0cmFjdCBjb21wb25lbnRTdHlsZTogYW55O1xyXG4gIGFic3RyYWN0IG1vZGFsOiBIVE1MRGlhbG9nRWxlbWVudDtcclxuICBhYnN0cmFjdCBvcGVuKCk6IHZvaWQ7XHJcbiAgYWJzdHJhY3QgY2xvc2UoKTogdm9pZDtcclxuICBhYnN0cmFjdCByZXNldCgpOiB2b2lkO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9kYWxTZXJ2aWNlIHtcclxuICByZWZlcmVuY2U6IEFic3RyYWN0TW9kYWxDb21wb25lbnQgfCBudWxsID0gbnVsbDtcclxuICBkZWZhdWx0UGhvbmVNb2RhbCE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIG9wZW4oKSB7XHJcbiAgICB0aGlzLnJlZmVyZW5jZT8ub3BlbigpO1xyXG4gIH1cclxuXHJcbiAgc2V0UmVmZXJlbmNlKGVsZW1lbnQ6IEFic3RyYWN0TW9kYWxDb21wb25lbnQpIHtcclxuICAgIHRoaXMucmVmZXJlbmNlID0gZWxlbWVudDtcclxuICB9XHJcblxyXG4gIHNldEhlYWRlcihoZWFkZXI6IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgIGlmICghdGhpcy5yZWZlcmVuY2UpIHJldHVybjtcclxuICAgIHRoaXMucmVmZXJlbmNlLm1vZGFsSGVhZGVyID0gaGVhZGVyO1xyXG4gIH1cclxuXHJcbiAgc2V0VGl0bGUodGl0bGU6IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZSkgcmV0dXJuO1xyXG4gICAgdGhpcy5yZWZlcmVuY2UubW9kYWxUaXRsZSA9IHRpdGxlO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29udGVudChjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+LCBjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30pIHtcclxuICAgIGlmICghdGhpcy5yZWZlcmVuY2UpIHJldHVybjtcclxuICAgIHRoaXMucmVmZXJlbmNlLm1vZGFsQ29udGVudCA9IGNvbnRlbnQ7XHJcbiAgICB0aGlzLnJlZmVyZW5jZS5tb2RhbENvbnRlbnRDb250ZXh0ID0gY29udGV4dDtcclxuICB9XHJcblxyXG4gIHNldEFjdGlvbnMoYWN0aW9uczogVGVtcGxhdGVSZWY8YW55Pikge1xyXG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZSkgcmV0dXJuO1xyXG4gICAgdGhpcy5yZWZlcmVuY2UubW9kYWxBY3Rpb25zID0gYWN0aW9ucztcclxuICB9XHJcblxyXG4gIHNldFN0eWxlKHN0eWxlOiBSZHNpdGVNb2RhbENvbXBvbmVudFN0eWxlKSB7XHJcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlKSByZXR1cm47XHJcbiAgICB0aGlzLnJlZmVyZW5jZS5jb21wb25lbnRTdHlsZSA9IHN0eWxlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGVmYXVsdFBob25lTW9kYWwobW9kYWw6IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgIHRoaXMuZGVmYXVsdFBob25lTW9kYWwgPSBtb2RhbDtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5yZWZlcmVuY2U/LmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL3NlcnZpY2VzL21vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFHeEQsTUFBTSxPQUFnQixzQkFBc0I7Q0FZM0M7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQUh6QjtRQUlFLGNBQVMsR0FBa0MsSUFBSSxDQUFDO0tBNENqRDtJQXpDQyxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQStCO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBd0I7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBeUIsRUFBRSxVQUErQixFQUFFO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0lBQy9DLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBeUI7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFnQztRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN4QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBdUI7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0E1Q1UsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmRzaXRlTW9kYWxDb21wb25lbnRTdHlsZSB9IGZyb20gJy4uLy4uL2VudW1zL1Jkc2l0ZU1vZGFsQ29tcG9uZW50U3R5bGUuZW51bSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE1vZGFsQ29tcG9uZW50IHtcbiAgYWJzdHJhY3QgaWQ6IHN0cmluZztcbiAgYWJzdHJhY3QgbW9kYWxUaXRsZTogc3RyaW5nIHwgbnVsbDtcbiAgYWJzdHJhY3QgbW9kYWxIZWFkZXI6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBhYnN0cmFjdCBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBhYnN0cmFjdCBtb2RhbENvbnRlbnRDb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgbnVsbDtcbiAgYWJzdHJhY3QgbW9kYWxBY3Rpb25zOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcbiAgYWJzdHJhY3QgY29tcG9uZW50U3R5bGU6IGFueTtcbiAgYWJzdHJhY3QgbW9kYWw6IEhUTUxEaWFsb2dFbGVtZW50O1xuICBhYnN0cmFjdCBvcGVuKCk6IHZvaWQ7XG4gIGFic3RyYWN0IGNsb3NlKCk6IHZvaWQ7XG4gIGFic3RyYWN0IHJlc2V0KCk6IHZvaWQ7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbFNlcnZpY2Uge1xuICByZWZlcmVuY2U6IEFic3RyYWN0TW9kYWxDb21wb25lbnQgfCBudWxsID0gbnVsbDtcbiAgZGVmYXVsdFBob25lTW9kYWwhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIG9wZW4oKSB7XG4gICAgdGhpcy5yZWZlcmVuY2U/Lm9wZW4oKTtcbiAgfVxuXG4gIHNldFJlZmVyZW5jZShlbGVtZW50OiBBYnN0cmFjdE1vZGFsQ29tcG9uZW50KSB7XG4gICAgdGhpcy5yZWZlcmVuY2UgPSBlbGVtZW50O1xuICB9XG5cbiAgc2V0SGVhZGVyKGhlYWRlcjogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2UpIHJldHVybjtcbiAgICB0aGlzLnJlZmVyZW5jZS5tb2RhbEhlYWRlciA9IGhlYWRlcjtcbiAgfVxuXG4gIHNldFRpdGxlKHRpdGxlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlKSByZXR1cm47XG4gICAgdGhpcy5yZWZlcmVuY2UubW9kYWxUaXRsZSA9IHRpdGxlO1xuICB9XG5cbiAgc2V0Q29udGVudChjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+LCBjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30pIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlKSByZXR1cm47XG4gICAgdGhpcy5yZWZlcmVuY2UubW9kYWxDb250ZW50ID0gY29udGVudDtcbiAgICB0aGlzLnJlZmVyZW5jZS5tb2RhbENvbnRlbnRDb250ZXh0ID0gY29udGV4dDtcbiAgfVxuXG4gIHNldEFjdGlvbnMoYWN0aW9uczogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2UpIHJldHVybjtcbiAgICB0aGlzLnJlZmVyZW5jZS5tb2RhbEFjdGlvbnMgPSBhY3Rpb25zO1xuICB9XG5cbiAgc2V0U3R5bGUoc3R5bGU6IFJkc2l0ZU1vZGFsQ29tcG9uZW50U3R5bGUpIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlKSByZXR1cm47XG4gICAgdGhpcy5yZWZlcmVuY2UuY29tcG9uZW50U3R5bGUgPSBzdHlsZTtcbiAgfVxuXG4gIHNldERlZmF1bHRQaG9uZU1vZGFsKG1vZGFsOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5kZWZhdWx0UGhvbmVNb2RhbCA9IG1vZGFsO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5yZWZlcmVuY2U/LmNsb3NlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
39
39
  providedIn: 'root',
40
40
  }]
41
41
  }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1kcmF3ZXIvbW9kYWwtZHJhd2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHdkQsTUFBTSxPQUFnQiw0QkFBNEI7Q0FzQmpEO0FBS0QsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlFLGNBQVMsR0FBd0MsSUFBSSxDQUFDO0tBNEJ2RDtJQTFCQyxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQXFDO1FBQ2hELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBbUI7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFzQztRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQy9CLENBQUM7K0dBNUJVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJkc2l0ZU1vZGFsRHJhd2VyQ29tcG9uZW50U3R5bGUgfSBmcm9tICcuLi8uLi9lbnVtcyc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RNb2RhbERyYXdlckNvbXBvbmVudCB7XHJcbiAgYWJzdHJhY3Qgc2hlZXQ6IEhUTUxFbGVtZW50O1xyXG4gIGFic3RyYWN0IHNoZWV0Q29udGVudHM6IEhUTUxFbGVtZW50O1xyXG4gIGFic3RyYWN0IGRyYWdnYWJsZUFyZWE6IEhUTUxFbGVtZW50O1xyXG4gIGFic3RyYWN0IHNoZWV0SGVpZ2h0OiBudW1iZXI7XHJcbiAgYWJzdHJhY3QgZHJhZ1Bvc2l0aW9uOiBudW1iZXI7XHJcbiAgYWJzdHJhY3QgbWF4SGVpZ2h0OiBudW1iZXI7XHJcbiAgYWJzdHJhY3QgY2xvc2VIZWlnaHQ6IG51bWJlcjtcclxuICBhYnN0cmFjdCByZHNpdGVNb2RhbENvbXBvbmVudFN0eWxlOiBhbnk7XHJcbiAgYWJzdHJhY3QgaWQ6IHN0cmluZztcclxuICBhYnN0cmFjdCBtb2RhbENvbnRlbnQ6IEVsZW1lbnRSZWY7XHJcbiAgYWJzdHJhY3QgY29tcG9uZW50U3R5bGU6IGFueTtcclxuICBhYnN0cmFjdCBtb2RhbDogSFRNTERpYWxvZ0VsZW1lbnQ7XHJcbiAgYWJzdHJhY3Qgc2V0U2hlZXRIZWlnaHQodmFsdWU6IG51bWJlcik6IHZvaWQ7XHJcbiAgYWJzdHJhY3Qgc2V0SXNTaGVldFNob3duKGlzU2hvd246IGJvb2xlYW4pOiB2b2lkO1xyXG4gIGFic3RyYWN0IG9wZW5TaGVldCgpOiB2b2lkO1xyXG4gIGFic3RyYWN0IGNsb3NlU2hlZXQoKTogdm9pZDtcclxuICBhYnN0cmFjdCB0b3VjaFBvc2l0aW9uKGV2ZW50OiBhbnkpOiB2b2lkO1xyXG4gIGFic3RyYWN0IG9uRHJhZ1N0YXJ0KGV2ZW50OiBhbnkpOiB2b2lkO1xyXG4gIGFic3RyYWN0IG9uRHJhZ01vdmUoZXZlbnQ6IGFueSk6IHZvaWQ7XHJcbiAgYWJzdHJhY3Qgb25EcmFnRW5kKCk6IHZvaWQ7XHJcbiAgYWJzdHJhY3QgcmVzZXQoKTogdm9pZDtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vZGFsRHJhd2VyU2VydmljZSB7XHJcbiAgcmVmZXJlbmNlOiBBYnN0cmFjdE1vZGFsRHJhd2VyQ29tcG9uZW50IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIG9wZW4oKSB7XHJcbiAgICB0aGlzLnJlZmVyZW5jZT8ub3BlblNoZWV0KCk7XHJcbiAgfVxyXG5cclxuICBzZXRSZWZlcmVuY2UoZWxlbWVudDogQWJzdHJhY3RNb2RhbERyYXdlckNvbXBvbmVudCkge1xyXG4gICAgdGhpcy5yZWZlcmVuY2UgPSBlbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgc2V0Q29udGVudChjb250ZW50OiBFbGVtZW50UmVmKSB7XHJcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlKSByZXR1cm47XHJcbiAgICB0aGlzLnJlZmVyZW5jZS5tb2RhbENvbnRlbnQgPSBjb250ZW50O1xyXG4gIH1cclxuXHJcbiAgc2V0U3R5bGUoc3R5bGU6IFJkc2l0ZU1vZGFsRHJhd2VyQ29tcG9uZW50U3R5bGUpIHtcclxuICAgIGlmICghdGhpcy5yZWZlcmVuY2UpIHJldHVybjtcclxuICAgIHRoaXMucmVmZXJlbmNlLmNvbXBvbmVudFN0eWxlID0gc3R5bGU7XHJcbiAgfVxyXG5cclxuICBzZXRIZWlnaHQodmFsdWU6IG51bWJlcikge1xyXG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZSkgcmV0dXJuO1xyXG4gICAgdGhpcy5yZWZlcmVuY2UubWF4SGVpZ2h0ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMucmVmZXJlbmNlPy5jbG9zZVNoZWV0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1kcmF3ZXIvbW9kYWwtZHJhd2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHdkQsTUFBTSxPQUFnQiw0QkFBNEI7Q0FzQmpEO0FBS0QsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlFLGNBQVMsR0FBd0MsSUFBSSxDQUFDO0tBNEJ2RDtJQTFCQyxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQXFDO1FBQ2hELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBbUI7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFzQztRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQy9CLENBQUM7K0dBNUJVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHNpdGVNb2RhbERyYXdlckNvbXBvbmVudFN0eWxlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RNb2RhbERyYXdlckNvbXBvbmVudCB7XG4gIGFic3RyYWN0IHNoZWV0OiBIVE1MRWxlbWVudDtcbiAgYWJzdHJhY3Qgc2hlZXRDb250ZW50czogSFRNTEVsZW1lbnQ7XG4gIGFic3RyYWN0IGRyYWdnYWJsZUFyZWE6IEhUTUxFbGVtZW50O1xuICBhYnN0cmFjdCBzaGVldEhlaWdodDogbnVtYmVyO1xuICBhYnN0cmFjdCBkcmFnUG9zaXRpb246IG51bWJlcjtcbiAgYWJzdHJhY3QgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGFic3RyYWN0IGNsb3NlSGVpZ2h0OiBudW1iZXI7XG4gIGFic3RyYWN0IHJkc2l0ZU1vZGFsQ29tcG9uZW50U3R5bGU6IGFueTtcbiAgYWJzdHJhY3QgaWQ6IHN0cmluZztcbiAgYWJzdHJhY3QgbW9kYWxDb250ZW50OiBFbGVtZW50UmVmO1xuICBhYnN0cmFjdCBjb21wb25lbnRTdHlsZTogYW55O1xuICBhYnN0cmFjdCBtb2RhbDogSFRNTERpYWxvZ0VsZW1lbnQ7XG4gIGFic3RyYWN0IHNldFNoZWV0SGVpZ2h0KHZhbHVlOiBudW1iZXIpOiB2b2lkO1xuICBhYnN0cmFjdCBzZXRJc1NoZWV0U2hvd24oaXNTaG93bjogYm9vbGVhbik6IHZvaWQ7XG4gIGFic3RyYWN0IG9wZW5TaGVldCgpOiB2b2lkO1xuICBhYnN0cmFjdCBjbG9zZVNoZWV0KCk6IHZvaWQ7XG4gIGFic3RyYWN0IHRvdWNoUG9zaXRpb24oZXZlbnQ6IGFueSk6IHZvaWQ7XG4gIGFic3RyYWN0IG9uRHJhZ1N0YXJ0KGV2ZW50OiBhbnkpOiB2b2lkO1xuICBhYnN0cmFjdCBvbkRyYWdNb3ZlKGV2ZW50OiBhbnkpOiB2b2lkO1xuICBhYnN0cmFjdCBvbkRyYWdFbmQoKTogdm9pZDtcbiAgYWJzdHJhY3QgcmVzZXQoKTogdm9pZDtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsRHJhd2VyU2VydmljZSB7XG4gIHJlZmVyZW5jZTogQWJzdHJhY3RNb2RhbERyYXdlckNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xuXG4gIG9wZW4oKSB7XG4gICAgdGhpcy5yZWZlcmVuY2U/Lm9wZW5TaGVldCgpO1xuICB9XG5cbiAgc2V0UmVmZXJlbmNlKGVsZW1lbnQ6IEFic3RyYWN0TW9kYWxEcmF3ZXJDb21wb25lbnQpIHtcbiAgICB0aGlzLnJlZmVyZW5jZSA9IGVsZW1lbnQ7XG4gIH1cblxuICBzZXRDb250ZW50KGNvbnRlbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlKSByZXR1cm47XG4gICAgdGhpcy5yZWZlcmVuY2UubW9kYWxDb250ZW50ID0gY29udGVudDtcbiAgfVxuXG4gIHNldFN0eWxlKHN0eWxlOiBSZHNpdGVNb2RhbERyYXdlckNvbXBvbmVudFN0eWxlKSB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZSkgcmV0dXJuO1xuICAgIHRoaXMucmVmZXJlbmNlLmNvbXBvbmVudFN0eWxlID0gc3R5bGU7XG4gIH1cblxuICBzZXRIZWlnaHQodmFsdWU6IG51bWJlcikge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2UpIHJldHVybjtcbiAgICB0aGlzLnJlZmVyZW5jZS5tYXhIZWlnaHQgPSB2YWx1ZTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMucmVmZXJlbmNlPy5jbG9zZVNoZWV0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
78
78
  providedIn: 'root',
79
79
  }]
80
80
  }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd1LWNhcm91c2VsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9uZ3UtY2Fyb3VzZWwvbmd1LWNhcm91c2VsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlVLDJCQUFzQixHQUFzQjtZQUNsRCxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtZQUM3RCxlQUFlLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFO1lBQ3pELEtBQUssRUFBRSxDQUFDO1lBQ1IsS0FBSyxFQUFFLEdBQUc7WUFDVixRQUFRLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLElBQUk7Z0JBQ1osWUFBWSxFQUFFLElBQUk7YUFDbkI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNELFFBQVEsRUFBRSxHQUFHO1lBQ2IsSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJO1lBQ1gsTUFBTSxFQUFFLGFBQWE7U0FDdEIsQ0FBQztLQXVESDtJQXREQyxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFrQztRQUNyRCxPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUMscUJBQXFCO1lBQzdCLEdBQUcsTUFBTTtTQUNWLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQStCLEVBQUUsS0FBYTtRQUNuRCxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBK0IsRUFBRSxJQUFJLEdBQUcsSUFBSTtRQUNyRCxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNULFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNFLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUErQixFQUFFLElBQUksR0FBRyxJQUFJO1FBQ3RELElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9FLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUF5QixFQUFFLEtBQWEsRUFBRSxjQUFzQixDQUFDO1FBQ2hGLE1BQU0sRUFDSixJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQzVCLGVBQWUsR0FDaEIsR0FBRyxNQUFNLENBQUM7UUFDWCxJQUFJLEtBQUssR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxPQUFPLFdBQVcsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLEtBQUssR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxPQUFPLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksS0FBSyxHQUFHLENBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7K0dBeEVVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5ndUNhcm91c2VsLCBOZ3VDYXJvdXNlbENvbmZpZyB9IGZyb20gJ0BuZ3UvY2Fyb3VzZWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5ndUNhcm91c2VsU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBfZGVmYXVsdENhcm91c2VsQ29uZmlnOiBOZ3VDYXJvdXNlbENvbmZpZyA9IHtcclxuICAgIGdyaWQ6IHsgeHM6IDEuMiwgc206IDEuMiwgbWQ6IDMuMiwgbGc6IDQuMiwgeGw6IDUuMiwgYWxsOiAwIH0sXHJcbiAgICBncmlkQnJlYWtwb2ludHM6IHsgc206IDM2MCwgbWQ6IDc2OCwgbGc6IDEzNjYsIHhsOiAxOTIwIH0sXHJcbiAgICBzbGlkZTogMSxcclxuICAgIHNwZWVkOiA1MDAsXHJcbiAgICBpbnRlcnZhbDoge1xyXG4gICAgICB0aW1pbmc6IDcwMDAsXHJcbiAgICAgIGluaXRpYWxEZWxheTogMTAwMCxcclxuICAgIH0sXHJcbiAgICBwb2ludDoge1xyXG4gICAgICB2aXNpYmxlOiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB2ZWxvY2l0eTogMC41LFxyXG4gICAgbG9hZDogMSxcclxuICAgIGxvb3A6IHRydWUsXHJcbiAgICB0b3VjaDogdHJ1ZSxcclxuICAgIGVhc2luZzogJ2Vhc2UtaW4tb3V0JyxcclxuICB9O1xyXG4gIGdldCBkZWZhdWx0Q2Fyb3VzZWxDb25maWcoKSB7XHJcbiAgICByZXR1cm4geyAuLi5KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuX2RlZmF1bHRDYXJvdXNlbENvbmZpZykpIH07XHJcbiAgfVxyXG5cclxuICBjdXN0b21DYXJvdXNlbENvbmZpZyhjb25maWc6IFBhcnRpYWw8Tmd1Q2Fyb3VzZWxDb25maWc+KSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi50aGlzLmRlZmF1bHRDYXJvdXNlbENvbmZpZyxcclxuICAgICAgLi4uY29uZmlnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG1vdmVUbyhjYXJvdXNlbDogTmd1Q2Fyb3VzZWw8YW55LCBhbnk+LCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICBjYXJvdXNlbC5tb3ZlVG8oaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsTGVmdChjYXJvdXNlbDogTmd1Q2Fyb3VzZWw8YW55LCBhbnk+LCBsb29wID0gdHJ1ZSkge1xyXG4gICAgaWYgKGNhcm91c2VsLmlzRmlyc3QgfHwgY2Fyb3VzZWwuYWN0aXZlUG9pbnQgPCAxKSB7XHJcbiAgICAgIGlmIChsb29wKSB7XHJcbiAgICAgICAgY2Fyb3VzZWwubW92ZVRvKGNhcm91c2VsLnBvaW50TnVtYmVyc1tjYXJvdXNlbC5wb2ludE51bWJlcnMubGVuZ3RoIC0gMV0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjYXJvdXNlbC5tb3ZlVG8oY2Fyb3VzZWwuYWN0aXZlUG9pbnQgLSAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNjcm9sbFJpZ2h0KGNhcm91c2VsOiBOZ3VDYXJvdXNlbDxhbnksIGFueT4sIGxvb3AgPSB0cnVlKSB7XHJcbiAgICBpZiAoY2Fyb3VzZWwuaXNMYXN0IHx8IGNhcm91c2VsLmFjdGl2ZVBvaW50ID4gY2Fyb3VzZWwucG9pbnROdW1iZXJzLmxlbmd0aCAtIDEpIHtcclxuICAgICAgaWYgKGxvb3ApIHtcclxuICAgICAgICBjYXJvdXNlbC5tb3ZlVG8oMCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNhcm91c2VsLm1vdmVUbyhjYXJvdXNlbC5hY3RpdmVQb2ludCArIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmVlZFNob3dDb250cm9scyhjb25maWc6IE5ndUNhcm91c2VsQ29uZmlnLCB3aWR0aDogbnVtYmVyLCBpdGVtc0xlbmd0aDogbnVtYmVyID0gMCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBncmlkOiB7IHhzLCBzbSwgbWQsIGxnLCB4bCB9LFxyXG4gICAgICBncmlkQnJlYWtwb2ludHMsXHJcbiAgICB9ID0gY29uZmlnO1xyXG4gICAgaWYgKHdpZHRoID4gKGdyaWRCcmVha3BvaW50cz8ueGwgPz8gMCkpIHtcclxuICAgICAgcmV0dXJuIGl0ZW1zTGVuZ3RoID4gKHhsID8/IDApO1xyXG4gICAgfVxyXG4gICAgaWYgKHdpZHRoID4gKGdyaWRCcmVha3BvaW50cz8ubGcgPz8gMCkpIHtcclxuICAgICAgcmV0dXJuIGl0ZW1zTGVuZ3RoID4gbGc7XHJcbiAgICB9XHJcbiAgICBpZiAod2lkdGggPiAoZ3JpZEJyZWFrcG9pbnRzPy5tZCA/PyAwKSkge1xyXG4gICAgICByZXR1cm4gaXRlbXNMZW5ndGggPiBtZDtcclxuICAgIH1cclxuICAgIGlmICh3aWR0aCA+IChncmlkQnJlYWtwb2ludHM/LnNtID8/IDApKSB7XHJcbiAgICAgIHJldHVybiBpdGVtc0xlbmd0aCA+IHNtO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGl0ZW1zTGVuZ3RoID4geHM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd1LWNhcm91c2VsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9uZ3UtY2Fyb3VzZWwvbmd1LWNhcm91c2VsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlVLDJCQUFzQixHQUFzQjtZQUNsRCxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtZQUM3RCxlQUFlLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFO1lBQ3pELEtBQUssRUFBRSxDQUFDO1lBQ1IsS0FBSyxFQUFFLEdBQUc7WUFDVixRQUFRLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLElBQUk7Z0JBQ1osWUFBWSxFQUFFLElBQUk7YUFDbkI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNELFFBQVEsRUFBRSxHQUFHO1lBQ2IsSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJO1lBQ1gsTUFBTSxFQUFFLGFBQWE7U0FDdEIsQ0FBQztLQXVESDtJQXREQyxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFrQztRQUNyRCxPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUMscUJBQXFCO1lBQzdCLEdBQUcsTUFBTTtTQUNWLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQStCLEVBQUUsS0FBYTtRQUNuRCxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBK0IsRUFBRSxJQUFJLEdBQUcsSUFBSTtRQUNyRCxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNULFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNFLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUErQixFQUFFLElBQUksR0FBRyxJQUFJO1FBQ3RELElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9FLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUF5QixFQUFFLEtBQWEsRUFBRSxjQUFzQixDQUFDO1FBQ2hGLE1BQU0sRUFDSixJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQzVCLGVBQWUsR0FDaEIsR0FBRyxNQUFNLENBQUM7UUFDWCxJQUFJLEtBQUssR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxPQUFPLFdBQVcsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLEtBQUssR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxPQUFPLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksS0FBSyxHQUFHLENBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7K0dBeEVVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3VDYXJvdXNlbCwgTmd1Q2Fyb3VzZWxDb25maWcgfSBmcm9tICdAbmd1L2Nhcm91c2VsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5ndUNhcm91c2VsU2VydmljZSB7XG4gIHByaXZhdGUgX2RlZmF1bHRDYXJvdXNlbENvbmZpZzogTmd1Q2Fyb3VzZWxDb25maWcgPSB7XG4gICAgZ3JpZDogeyB4czogMS4yLCBzbTogMS4yLCBtZDogMy4yLCBsZzogNC4yLCB4bDogNS4yLCBhbGw6IDAgfSxcbiAgICBncmlkQnJlYWtwb2ludHM6IHsgc206IDM2MCwgbWQ6IDc2OCwgbGc6IDEzNjYsIHhsOiAxOTIwIH0sXG4gICAgc2xpZGU6IDEsXG4gICAgc3BlZWQ6IDUwMCxcbiAgICBpbnRlcnZhbDoge1xuICAgICAgdGltaW5nOiA3MDAwLFxuICAgICAgaW5pdGlhbERlbGF5OiAxMDAwLFxuICAgIH0sXG4gICAgcG9pbnQ6IHtcbiAgICAgIHZpc2libGU6IGZhbHNlLFxuICAgIH0sXG4gICAgdmVsb2NpdHk6IDAuNSxcbiAgICBsb2FkOiAxLFxuICAgIGxvb3A6IHRydWUsXG4gICAgdG91Y2g6IHRydWUsXG4gICAgZWFzaW5nOiAnZWFzZS1pbi1vdXQnLFxuICB9O1xuICBnZXQgZGVmYXVsdENhcm91c2VsQ29uZmlnKCkge1xuICAgIHJldHVybiB7IC4uLkpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZGVmYXVsdENhcm91c2VsQ29uZmlnKSkgfTtcbiAgfVxuXG4gIGN1c3RvbUNhcm91c2VsQ29uZmlnKGNvbmZpZzogUGFydGlhbDxOZ3VDYXJvdXNlbENvbmZpZz4pIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5kZWZhdWx0Q2Fyb3VzZWxDb25maWcsXG4gICAgICAuLi5jb25maWcsXG4gICAgfTtcbiAgfVxuXG4gIG1vdmVUbyhjYXJvdXNlbDogTmd1Q2Fyb3VzZWw8YW55LCBhbnk+LCBpbmRleDogbnVtYmVyKSB7XG4gICAgY2Fyb3VzZWwubW92ZVRvKGluZGV4KTtcbiAgfVxuXG4gIHNjcm9sbExlZnQoY2Fyb3VzZWw6IE5ndUNhcm91c2VsPGFueSwgYW55PiwgbG9vcCA9IHRydWUpIHtcbiAgICBpZiAoY2Fyb3VzZWwuaXNGaXJzdCB8fCBjYXJvdXNlbC5hY3RpdmVQb2ludCA8IDEpIHtcbiAgICAgIGlmIChsb29wKSB7XG4gICAgICAgIGNhcm91c2VsLm1vdmVUbyhjYXJvdXNlbC5wb2ludE51bWJlcnNbY2Fyb3VzZWwucG9pbnROdW1iZXJzLmxlbmd0aCAtIDFdKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY2Fyb3VzZWwubW92ZVRvKGNhcm91c2VsLmFjdGl2ZVBvaW50IC0gMSk7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsUmlnaHQoY2Fyb3VzZWw6IE5ndUNhcm91c2VsPGFueSwgYW55PiwgbG9vcCA9IHRydWUpIHtcbiAgICBpZiAoY2Fyb3VzZWwuaXNMYXN0IHx8IGNhcm91c2VsLmFjdGl2ZVBvaW50ID4gY2Fyb3VzZWwucG9pbnROdW1iZXJzLmxlbmd0aCAtIDEpIHtcbiAgICAgIGlmIChsb29wKSB7XG4gICAgICAgIGNhcm91c2VsLm1vdmVUbygwKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY2Fyb3VzZWwubW92ZVRvKGNhcm91c2VsLmFjdGl2ZVBvaW50ICsgMSk7XG4gICAgfVxuICB9XG5cbiAgbmVlZFNob3dDb250cm9scyhjb25maWc6IE5ndUNhcm91c2VsQ29uZmlnLCB3aWR0aDogbnVtYmVyLCBpdGVtc0xlbmd0aDogbnVtYmVyID0gMCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGdyaWQ6IHsgeHMsIHNtLCBtZCwgbGcsIHhsIH0sXG4gICAgICBncmlkQnJlYWtwb2ludHMsXG4gICAgfSA9IGNvbmZpZztcbiAgICBpZiAod2lkdGggPiAoZ3JpZEJyZWFrcG9pbnRzPy54bCA/PyAwKSkge1xuICAgICAgcmV0dXJuIGl0ZW1zTGVuZ3RoID4gKHhsID8/IDApO1xuICAgIH1cbiAgICBpZiAod2lkdGggPiAoZ3JpZEJyZWFrcG9pbnRzPy5sZyA/PyAwKSkge1xuICAgICAgcmV0dXJuIGl0ZW1zTGVuZ3RoID4gbGc7XG4gICAgfVxuICAgIGlmICh3aWR0aCA+IChncmlkQnJlYWtwb2ludHM/Lm1kID8/IDApKSB7XG4gICAgICByZXR1cm4gaXRlbXNMZW5ndGggPiBtZDtcbiAgICB9XG4gICAgaWYgKHdpZHRoID4gKGdyaWRCcmVha3BvaW50cz8uc20gPz8gMCkpIHtcbiAgICAgIHJldHVybiBpdGVtc0xlbmd0aCA+IHNtO1xuICAgIH1cbiAgICByZXR1cm4gaXRlbXNMZW5ndGggPiB4cztcbiAgfVxufVxuIl19
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
25
25
  type: Inject,
26
26
  args: [DOCUMENT]
27
27
  }] }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL3NlcnZpY2VzL3Bob25lL3Bob25lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtuRCxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFzQyxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSmhELGFBQVEsR0FBRyxNQUFNLENBQUM7UUFFbkIsd0JBQW1CLEdBQVksSUFBSSxDQUFDLENBQUMsZ0VBQWdFO0lBRWpELENBQUM7SUFFNUQsK0VBQStFO0lBQ3hFLFlBQVksQ0FBQyxJQUFZO1FBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFVBQVUsSUFBSSxDQUFDLENBQUM7UUFDekQsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7SUFDOUQsQ0FBQzsrR0FaVSxZQUFZLGtCQUtILFFBQVE7bUhBTGpCLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTWMsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG9uZVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgdGVsUmVnZXggPSAvdGVsOi87XHJcblxyXG4gIHB1YmxpYyBwaG9uZU1vZGFsSXNBbGxvd2VkOiBib29sZWFuID0gdHJ1ZTsgLy8gdmFyaWF2ZWwgdXRpbGl6YWRhIHBhcmEgcGVybWl0aXIvYmxvcXVlYXIgbyBtb2RhbCBkZSB0ZWxlZm9uZVxyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCkge31cclxuXHJcbiAgLyoqIFZlcmlmaWNhIHNlIG8gJ2hyZWYnIMOpIGRlIHRlbGVmb25lIGUgc2UgYSBqYW5lbGEgZXN0w6EgZW0gdGFtYW5obyBkZXNrdG9wICovXHJcbiAgcHVibGljIGlzUGhvbmVNb2RhbChocmVmOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8uaW5uZXJXaWR0aCA/PyAwO1xyXG4gICAgY29uc3QgU01BTExfQlJFQUtQT0lOVCA9IDcxODtcclxuICAgIHJldHVybiB0aGlzLnRlbFJlZ2V4LnRlc3QoaHJlZikgJiYgd2lkdGggPiBTTUFMTF9CUkVBS1BPSU5UO1xyXG4gIH1cclxufVxyXG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL3NlcnZpY2VzL3Bob25lL3Bob25lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtuRCxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFzQyxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSmhELGFBQVEsR0FBRyxNQUFNLENBQUM7UUFFbkIsd0JBQW1CLEdBQVksSUFBSSxDQUFDLENBQUMsZ0VBQWdFO0lBRWpELENBQUM7SUFFNUQsK0VBQStFO0lBQ3hFLFlBQVksQ0FBQyxJQUFZO1FBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFVBQVUsSUFBSSxDQUFDLENBQUM7UUFDekQsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7SUFDOUQsQ0FBQzsrR0FaVSxZQUFZLGtCQUtILFFBQVE7bUhBTGpCLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTWMsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQaG9uZVNlcnZpY2Uge1xuICBwcml2YXRlIHRlbFJlZ2V4ID0gL3RlbDovO1xuXG4gIHB1YmxpYyBwaG9uZU1vZGFsSXNBbGxvd2VkOiBib29sZWFuID0gdHJ1ZTsgLy8gdmFyaWF2ZWwgdXRpbGl6YWRhIHBhcmEgcGVybWl0aXIvYmxvcXVlYXIgbyBtb2RhbCBkZSB0ZWxlZm9uZVxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50KSB7fVxuXG4gIC8qKiBWZXJpZmljYSBzZSBvICdocmVmJyDDqSBkZSB0ZWxlZm9uZSBlIHNlIGEgamFuZWxhIGVzdMOhIGVtIHRhbWFuaG8gZGVza3RvcCAqL1xuICBwdWJsaWMgaXNQaG9uZU1vZGFsKGhyZWY6IHN0cmluZykge1xuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8uaW5uZXJXaWR0aCA/PyAwO1xuICAgIGNvbnN0IFNNQUxMX0JSRUFLUE9JTlQgPSA3MTg7XG4gICAgcmV0dXJuIHRoaXMudGVsUmVnZXgudGVzdChocmVmKSAmJiB3aWR0aCA+IFNNQUxMX0JSRUFLUE9JTlQ7XG4gIH1cbn1cbiJdfQ==
@@ -89,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
89
89
  type: Inject,
90
90
  args: [PLATFORM_ID]
91
91
  }] }] });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmFjeS10b29scy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvc2VydmljZXMvcHJpdmFjeS10b29scy9wcml2YWN5LXRvb2xzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLG1CQUFtQjtJQU85QixZQUMyQixRQUFrQixFQUNmLFVBQWtCO1FBRHJCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBUmhELHlCQUFvQixHQUFHLG9CQUFvQixDQUFDO1FBQzVDLHdCQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQzFDLDhCQUF5QixHQUE2QixJQUFJLENBQUM7UUFDM0Qsa0JBQWEsR0FBOEIsRUFBRSxDQUFDO1FBQzlDLGtCQUFhLEdBQVEsSUFBSSxDQUFDO0lBS3ZCLENBQUM7SUFFSixZQUFZO0lBQ0wsTUFBTSxDQUFDLE9BQWtDO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCx5QkFBeUI7SUFDbEIsaUJBQWlCLENBQUMsZUFBdUI7UUFDOUMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFFOUcsSUFB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RUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7K0dBekZVLG1CQUFtQixrQkFRcEIsUUFBUSxhQUNSLFdBQVc7bUhBVFYsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQcml2YWN5VG9vbHNDb25maWdPcHRpb25zLCBQcml2YWN5VG9vbHNDb29raWVCYW5uZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvcHJpdmFjeS10b29scy9wcml2YWN5LXRvb2xzLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcml2YWN5VG9vbHNTZXJ2aWNlIHtcclxuICBjb29raWVCYW5uZXJTY3JpcHRJZCA9ICdQcml2YWN5VG9vbHNTY3JpcHQnO1xyXG4gIGNvb2tpZUJhbm5lclN0eWxlSWQgPSAnUHJpdmFjeVRvb2xzU3R5bGUnO1xyXG4gIGNvb2tpZUJhbm5lclNjcmlwdEVsZW1lbnQ6IEhUTUxTY3JpcHRFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgY29uZmlnT3B0aW9uczogUHJpdmFjeVRvb2xzQ29uZmlnT3B0aW9ucyA9IHt9O1xyXG4gIGNvb2tpZUNvbnNlbnQ6IGFueSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHVibGljIGRvY3VtZW50OiBEb2N1bWVudCxcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHB1YmxpYyBwbGF0Zm9ybUlkOiBvYmplY3QsXHJcbiAgKSB7fVxyXG5cclxuICAvKiBDb25maWcgKi9cclxuICBwdWJsaWMgY29uZmlnKG9wdGlvbnM6IFByaXZhY3lUb29sc0NvbmZpZ09wdGlvbnMpIHtcclxuICAgIHRoaXMuY29uZmlnT3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICAvKiBTZXR1cCBjb29raWUgQmFubmVyICovXHJcbiAgcHVibGljIHNldHVwQ29va2llQmFubmVyKHVuaWRhZGVCYXNlUGF0aDogc3RyaW5nKSB7XHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICBjb25zdCBiYW5uZXIgPSB0aGlzLmNvbmZpZ09wdGlvbnM/LmNvb2tpZUJhbm5lcnM/LmZpbmQoKGJhbm5lcikgPT4gYmFubmVyLmJhc2VQYXRoLmluY2x1ZGVzKHVuaWRhZGVCYXNlUGF0aCkpO1xyXG5cclxuICAgICAgaWYgKGJhbm5lcikge1xyXG4gICAgICAgIHRoaXMuYWRkQ29va2llQmFubmVyKGJhbm5lcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuQ29va2llQmFubmVyKCkge1xyXG4gICAgaWYgKHRoaXMuY29va2llQ29uc2VudCAmJiB0aGlzLmNvb2tpZUJhbm5lclNjcmlwdEVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5jb29raWVDb25zZW50LnByaXZhY3lUb29sc1Nob3dDb29raWVOb3RpY2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIEFkZCBjb29raWUgYmFubmVyIHN0eWxlIGFuZCBzY3JpcHQgKi9cclxuICBwcml2YXRlIGFkZENvb2tpZUJhbm5lcihiYW5uZXI6IFByaXZhY3lUb29sc0Nvb2tpZUJhbm5lcikge1xyXG4gICAgdGhpcy5jb29raWVCYW5uZXJTY3JpcHRFbGVtZW50ID0gbnVsbDtcclxuICAgIHRoaXMuYWRkQ29va2llQmFubmVyU3R5bGUoYmFubmVyLnN0eWxlU3JjKTtcclxuICAgIHRoaXMuYWRkQ29va2llQmFubmVyU2NyaXB0KGJhbm5lci5zY3JpcHRTcmMpO1xyXG4gIH1cclxuXHJcbiAgLyogQWRkIGNvb2tpZSBiYW5uZXIgc3R5bGUuICovXHJcbiAgcHVibGljIGFkZENvb2tpZUJhbm5lclN0eWxlKHNyYzogc3RyaW5nKSB7XHJcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnlSZW1vdmVQb3J0YWwnKT8ucmVtb3ZlKCk7XHJcblxyXG4gICAgY29uc3Qgb2xkU3R5bGUgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29va2llQmFubmVyU3R5bGVJZCk7XHJcblxyXG4gICAgaWYgKG9sZFN0eWxlKSB7XHJcbiAgICAgIG9sZFN0eWxlLnJlbW92ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICBzdHlsZS5pZCA9IHRoaXMuY29va2llQmFubmVyU3R5bGVJZDtcclxuICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcclxuICAgIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnO1xyXG4gICAgc3R5bGUuaHJlZiA9IHNyYztcclxuICAgIHN0eWxlLm1lZGlhID0gJ25vbmUnO1xyXG5cclxuICAgIHN0eWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XHJcbiAgICAgIHN0eWxlLm1lZGlhID0gJ2FsbCc7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc3R5bGUpO1xyXG4gIH1cclxuXHJcbiAgLyogQWRkIGNvb2tpZSBiYW5uZXIgc2NyaXB0LiAqL1xyXG4gIHB1YmxpYyBhZGRDb29raWVCYW5uZXJTY3JpcHQoc3JjOiBzdHJpbmcpIHtcclxuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkgfHwgdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybjtcclxuXHJcbiAgICAod2luZG93IGFzIGFueSlbJ2Nvb2tpZWNvbnNlbnQnXSA9IG51bGw7XHJcblxyXG4gICAgY29uc3Qgb2xkU2NyaXB0ID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmNvb2tpZUJhbm5lclNjcmlwdElkKTtcclxuXHJcbiAgICBpZiAob2xkU2NyaXB0KSB7XHJcbiAgICAgIG9sZFNjcmlwdC5yZW1vdmUoKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHNjcmlwdCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICBzY3JpcHQuaWQgPSB0aGlzLmNvb2tpZUJhbm5lclNjcmlwdElkO1xyXG4gICAgc2NyaXB0LnNyYyA9IHNyYztcclxuXHJcbiAgICBzY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcclxuICAgICAgdGhpcy5jb29raWVCYW5uZXJTY3JpcHRFbGVtZW50ID0gc2NyaXB0O1xyXG4gICAgICB0aGlzLmNvb2tpZUNvbnNlbnQgPSAod2luZG93IGFzIGFueSlbJ2Nvb2tpZWNvbnNlbnQnXTtcclxuICAgICAgKHdpbmRvdyBhcyBhbnkpWydwb3J0YWxCYW5uZXInXT8uY2FsbCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmFjeS10b29scy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvc2VydmljZXMvcHJpdmFjeS10b29scy9wcml2YWN5LXRvb2xzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLG1CQUFtQjtJQU85QixZQUMyQixRQUFrQixFQUNmLFVBQWtCO1FBRHJCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBUmhELHlCQUFvQixHQUFHLG9CQUFvQixDQUFDO1FBQzVDLHdCQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQzFDLDhCQUF5QixHQUE2QixJQUFJLENBQUM7UUFDM0Qsa0JBQWEsR0FBOEIsRUFBRSxDQUFDO1FBQzlDLGtCQUFhLEdBQVEsSUFBSSxDQUFDO0lBS3ZCLENBQUM7SUFFSixZQUFZO0lBQ0wsTUFBTSxDQUFDLE9BQWtDO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCx5QkFBeUI7SUFDbEIsaUJBQWlCLENBQUMsZUFBdUI7UUFDOUMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFFOUcsSUFB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RUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7K0dBekZVLG1CQUFtQixrQkFRcEIsUUFBUSxhQUNSLFdBQVc7bUhBVFYsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByaXZhY3lUb29sc0NvbmZpZ09wdGlvbnMsIFByaXZhY3lUb29sc0Nvb2tpZUJhbm5lciB9IGZyb20gJy4uLy4uL21vZGVscy9wcml2YWN5LXRvb2xzL3ByaXZhY3ktdG9vbHMubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUHJpdmFjeVRvb2xzU2VydmljZSB7XG4gIGNvb2tpZUJhbm5lclNjcmlwdElkID0gJ1ByaXZhY3lUb29sc1NjcmlwdCc7XG4gIGNvb2tpZUJhbm5lclN0eWxlSWQgPSAnUHJpdmFjeVRvb2xzU3R5bGUnO1xuICBjb29raWVCYW5uZXJTY3JpcHRFbGVtZW50OiBIVE1MU2NyaXB0RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBjb25maWdPcHRpb25zOiBQcml2YWN5VG9vbHNDb25maWdPcHRpb25zID0ge307XG4gIGNvb2tpZUNvbnNlbnQ6IGFueSA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHVibGljIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwdWJsaWMgcGxhdGZvcm1JZDogb2JqZWN0LFxuICApIHt9XG5cbiAgLyogQ29uZmlnICovXG4gIHB1YmxpYyBjb25maWcob3B0aW9uczogUHJpdmFjeVRvb2xzQ29uZmlnT3B0aW9ucykge1xuICAgIHRoaXMuY29uZmlnT3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICAvKiBTZXR1cCBjb29raWUgQmFubmVyICovXG4gIHB1YmxpYyBzZXR1cENvb2tpZUJhbm5lcih1bmlkYWRlQmFzZVBhdGg6IHN0cmluZykge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBjb25zdCBiYW5uZXIgPSB0aGlzLmNvbmZpZ09wdGlvbnM/LmNvb2tpZUJhbm5lcnM/LmZpbmQoKGJhbm5lcikgPT4gYmFubmVyLmJhc2VQYXRoLmluY2x1ZGVzKHVuaWRhZGVCYXNlUGF0aCkpO1xuXG4gICAgICBpZiAoYmFubmVyKSB7XG4gICAgICAgIHRoaXMuYWRkQ29va2llQmFubmVyKGJhbm5lcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW5Db29raWVCYW5uZXIoKSB7XG4gICAgaWYgKHRoaXMuY29va2llQ29uc2VudCAmJiB0aGlzLmNvb2tpZUJhbm5lclNjcmlwdEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuY29va2llQ29uc2VudC5wcml2YWN5VG9vbHNTaG93Q29va2llTm90aWNlKCk7XG4gICAgfVxuICB9XG5cbiAgLyogQWRkIGNvb2tpZSBiYW5uZXIgc3R5bGUgYW5kIHNjcmlwdCAqL1xuICBwcml2YXRlIGFkZENvb2tpZUJhbm5lcihiYW5uZXI6IFByaXZhY3lUb29sc0Nvb2tpZUJhbm5lcikge1xuICAgIHRoaXMuY29va2llQmFubmVyU2NyaXB0RWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5hZGRDb29raWVCYW5uZXJTdHlsZShiYW5uZXIuc3R5bGVTcmMpO1xuICAgIHRoaXMuYWRkQ29va2llQmFubmVyU2NyaXB0KGJhbm5lci5zY3JpcHRTcmMpO1xuICB9XG5cbiAgLyogQWRkIGNvb2tpZSBiYW5uZXIgc3R5bGUuICovXG4gIHB1YmxpYyBhZGRDb29raWVCYW5uZXJTdHlsZShzcmM6IHN0cmluZykge1xuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcblxuICAgIHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J5UmVtb3ZlUG9ydGFsJyk/LnJlbW92ZSgpO1xuXG4gICAgY29uc3Qgb2xkU3R5bGUgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29va2llQmFubmVyU3R5bGVJZCk7XG5cbiAgICBpZiAob2xkU3R5bGUpIHtcbiAgICAgIG9sZFN0eWxlLnJlbW92ZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgc3R5bGUuaWQgPSB0aGlzLmNvb2tpZUJhbm5lclN0eWxlSWQ7XG4gICAgc3R5bGUucmVsID0gJ3N0eWxlc2hlZXQnO1xuICAgIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnO1xuICAgIHN0eWxlLmhyZWYgPSBzcmM7XG4gICAgc3R5bGUubWVkaWEgPSAnbm9uZSc7XG5cbiAgICBzdHlsZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xuICAgICAgc3R5bGUubWVkaWEgPSAnYWxsJztcbiAgICB9KTtcblxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzdHlsZSk7XG4gIH1cblxuICAvKiBBZGQgY29va2llIGJhbm5lciBzY3JpcHQuICovXG4gIHB1YmxpYyBhZGRDb29raWVCYW5uZXJTY3JpcHQoc3JjOiBzdHJpbmcpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpIHx8IHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG5cbiAgICAod2luZG93IGFzIGFueSlbJ2Nvb2tpZWNvbnNlbnQnXSA9IG51bGw7XG5cbiAgICBjb25zdCBvbGRTY3JpcHQgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29va2llQmFubmVyU2NyaXB0SWQpO1xuXG4gICAgaWYgKG9sZFNjcmlwdCkge1xuICAgICAgb2xkU2NyaXB0LnJlbW92ZSgpO1xuICAgIH1cbiAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIHNjcmlwdC5pZCA9IHRoaXMuY29va2llQmFubmVyU2NyaXB0SWQ7XG4gICAgc2NyaXB0LnNyYyA9IHNyYztcblxuICAgIHNjcmlwdC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xuICAgICAgdGhpcy5jb29raWVCYW5uZXJTY3JpcHRFbGVtZW50ID0gc2NyaXB0O1xuICAgICAgdGhpcy5jb29raWVDb25zZW50ID0gKHdpbmRvdyBhcyBhbnkpWydjb29raWVjb25zZW50J107XG4gICAgICAod2luZG93IGFzIGFueSlbJ3BvcnRhbEJhbm5lciddPy5jYWxsKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgfVxufVxuIl19
@@ -465,4 +465,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
465
465
  type: Inject,
466
466
  args: [DOCUMENT]
467
467
  }] }] });
468
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zZW8vc2VvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLFFBQVEsRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBUXpCLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUsvRCxNQUFNLE9BQU8sVUFBVTtJQXVCckIsWUFDVSxLQUFZLEVBQ1osSUFBVSxFQUNWLFFBQWtCLEVBQ0UsU0FBb0IsRUFDdEIsUUFBa0I7UUFKcEMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLFNBQUksR0FBSixJQUFJLENBQU07UUFDVixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ0UsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBM0J2QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsV0FBVyxDQUFDO1FBRTNCLFdBQU0sR0FBRztZQUNkLG1DQUFtQztZQUNuQyw0Q0FBNEM7WUFDNUMsa0RBQWtEO1lBQ2xELDZCQUE2QjtTQUM5QixDQUFDO1FBQ0ssZ0JBQVcsR0FBRyxVQUFVLENBQUM7UUFJeEIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUV0Qix5QkFBb0IsR0FBRyxpQkFBaUIsQ0FBQztRQUUxQyxZQUFPLEdBQVEsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGdCQUFXLEdBQVcsRUFBRSxDQUFD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QyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxVQUFrQjtRQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4RCxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxFQUFFLE9BQU8sR0FBRyxJQUFJLEVBQUUsV0FBVyxHQUFHLEVBQUUsRUFBRSxXQUFXLEdBQUcsRUFBRSxFQUFFLFdBQVcsR0FBRyxFQUFFLEVBQWM7UUFDcEcsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQzsrR0F2ZVUsVUFBVSxtRkEyQlgsVUFBVSxhQUNWLFFBQVE7bUhBNUJQLFVBQVUsY0FGVCxNQUFNOzs0RkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBNEJJLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXRhLCBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBET0NVTUVOVCwgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0ICogYXMgaGUgZnJvbSAnaGUnO1xyXG5cclxuaW1wb3J0IHsgU29jaWFsTWV0YVByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvc29jaWFsLW1ldGEtcHJvcGVydGllcy5tb2RlbCc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgQnJlYWRjcnVtYkpzb25JdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1qc29uLWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZW9EYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Nlby9zZW8tZGF0YS5tb2RlbCc7XHJcbmltcG9ydCB7IFNlb1VuaWRhZGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VvL3Nlby11bmlkYWRlLm1vZGVsJztcclxuaW1wb3J0IHsgV3BQb3N0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3dvcmRwcmVzcy9wb3N0L3Bvc3QubW9kZWwnO1xyXG5pbXBvcnQgeyBnZXRTaXRlVXJsLCByZW1vdmVIdG1sVGFncyB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBMSUJfQ09ORklHLCBMaWJDb25maWcgfSBmcm9tICcuLi8uLi90b2tlbnMvTGliQ29uZmlnJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZW9TZXJ2aWNlIHtcclxuICBwdWJsaWMgc2VwYXJhdG9yID0gJyAtICc7XHJcbiAgcHVibGljIGRlZmF1bHRUaXRsZSA9ICdSZWRlIETigJlPcic7XHJcbiAgcHVibGljIGFjdGl2ZURlc2NyaXB0aW9uITogc3RyaW5nO1xyXG4gIHB1YmxpYyBzYW1lQXMgPSBbXHJcbiAgICAnaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3JlZGVkb3IvJyxcclxuICAgICdodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL3JlZGVkb3Jfb2ZpY2lhbC8nLFxyXG4gICAgJ2h0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L3JlZGVkb3Itc2FvbHVpeicsXHJcbiAgICAnaHR0cHM6Ly90d2l0dGVyLmNvbS9yZWRlZG9yJyxcclxuICBdO1xyXG4gIHB1YmxpYyB0d2l0dGVyVXNlciA9ICdAcmVkZWRvcic7XHJcblxyXG4gIHByaXZhdGUgY2Fub25pY2FsVGFnITogSFRNTExpbmtFbGVtZW50O1xyXG4gIHByaXZhdGUganNvblRhZyE6IEhUTUxTY3JpcHRFbGVtZW50O1xyXG4gIHByaXZhdGUganNvblRhZ0lkID0gJ3Nlb0pTT04nO1xyXG4gIHByaXZhdGUgYnJlYWRjcnVtYnNKc29uVGFnITogSFRNTFNjcmlwdEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBicmVhZGNydW1ic0pzb25UYWdJZCA9ICdicmVhZGNydW1ic0pTT04nO1xyXG5cclxuICBwdWJsaWMgdW5pZGFkZTogYW55ID0gbnVsbDtcclxuICBwdWJsaWMgdW5pZGFkZU5hbWU6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyB1bmlkYWRlUGF0aDogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIHVuaWRhZGVTbHVnOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRpdGxlOiBUaXRsZSxcclxuICAgIHByaXZhdGUgbWV0YTogTWV0YSxcclxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxyXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwcml2YXRlIGxpYkNvbmZpZzogTGliQ29uZmlnLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXHJcbiAgKSB7fVxyXG5cclxuICBwdWJsaWMgc2V0RnVsbFNlbyhkYXRhOiBTZW9EYXRhKSB7XHJcbiAgICB0aGlzLnNldFRpdGxlKGRhdGEudGl0bGUudGV4dCwgISFkYXRhLnRpdGxlLnN1Yik7XHJcbiAgICB0aGlzLnNldERlc2NyaXB0aW9uKGRhdGEuZGVzY3JpcHRpb24pO1xyXG4gICAgdGhpcy5zZXRDYW5vbmljYWxIcmVmKGRhdGEuY2Fub25pY2FsKTtcclxuICAgIHRoaXMuc2V0UGFnZUpzb24oKTtcclxuICAgIHRoaXMuc2V0U29jaWFsVGFncyhkYXRhLnNvY2lhbFRhZ3MpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lIHRhZyBkZXNjcmlwdGlvbiBkYSBww6FnaW5hXHJcbiAgICogQHBhcmFtIGNvbnRlbnQgY29udGXDumRvIGRhIGRlc2NyacOnw6NvIDxzdHJpbmc+XHJcbiAgICovXHJcbiAgcHVibGljIHNldERlc2NyaXB0aW9uKGNvbnRlbnQ6IHN0cmluZyk6IFNlb1NlcnZpY2Uge1xyXG4gICAgY29uc3QgZGVzY1RhZyA9IHRoaXMubWV0YS5nZXRUYWcoXCJuYW1lPSdkZXNjcmlwdGlvbidcIik7XHJcbiAgICBpZiAoY29udGVudCkge1xyXG4gICAgICBjb250ZW50ID0gaGUuZGVjb2RlKGNvbnRlbnQpO1xyXG4gICAgICBjb250ZW50ID0gcmVtb3ZlSHRtbFRhZ3MoY29udGVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb250ZW50ID0gJyc7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFjdGl2ZURlc2NyaXB0aW9uID0gY29udGVudDtcclxuICAgIGNvbnN0IHRhZ0NvbnRlbnQgPSB7IG5hbWU6ICdkZXNjcmlwdGlvbicsIGNvbnRlbnQgfTtcclxuICAgIGlmIChkZXNjVGFnKSB7XHJcbiAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcodGFnQ29udGVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1ldGEuYWRkVGFnKHRhZ0NvbnRlbnQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgbWV0YSB0YWdzIHBhcmEgYSBww6FnaW5hXHJcbiAgICogQHBhcmFtIHRhZyBub21lIGRhIHRhZyBtZXRhXHJcbiAgICogQHBhcmFtIGNvbnRlbnQgY29udGXDumRvIGRhIHRhZyBtZXRhXHJcbiAgICogQHBhcmFtIHR5cGUgdGlwbyBkZSB0YWcgbWV0YVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRNZXRhVGFnKHRhZzogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcsIHR5cGUgPSAnbmFtZScpIHtcclxuICAgIGNvbnN0IG1ldGF0YWcgPSB0aGlzLm1ldGEuZ2V0VGFnKGAke3R5cGV9PScke3RhZ30nYCk7XHJcbiAgICBjb250ZW50ID0gaGUuZGVjb2RlKGNvbnRlbnQpO1xyXG4gICAgY29udGVudCA9IHJlbW92ZUh0bWxUYWdzKGNvbnRlbnQpO1xyXG4gICAgY29uc3QgdGFnQ29udGVudCA9IHtcclxuICAgICAgW3R5cGVdOiB0YWcsXHJcbiAgICAgIGNvbnRlbnQsXHJcbiAgICB9O1xyXG4gICAgaWYgKCFtZXRhdGFnKSB7XHJcbiAgICAgIHRoaXMubWV0YS5hZGRUYWcodGFnQ29udGVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHRhZ0NvbnRlbnQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgbWV0YSB0YWdzIGRhIHDDoWdpbmFcclxuICAgKiBAcGFyYW0gdGFnIG5vbWUgZGEgdGFnIG1ldGFcclxuICAgKiBAcGFyYW0gY29udGVudCBjb250ZcO6ZG8gZGEgdGFnIG1ldGFcclxuICAgKiBAcGFyYW0gYXR0ciBhdHJpYnV0byBkYSB0YWcgbWV0YVxyXG4gICAqIEBwYXJhbSB0eXBlIHRpcG8gZGUgdGFnIG1ldGFcclxuICAgKi9cclxuICBwdWJsaWMgcmVtb3ZlVGFnKHRhZzogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcsIGF0dHI6IHN0cmluZywgdHlwZSA9ICduYW1lJykge1xyXG4gICAgY29uc3QgbWV0YXRhZyA9IHRoaXMubWV0YS5nZXRUYWcoYCR7dHlwZX09JyR7dGFnfSdgKTtcclxuICAgIGlmIChtZXRhdGFnKSB7XHJcbiAgICAgIHRoaXMubWV0YS5yZW1vdmVUYWcoYCR7YXR0cn09JHtjb250ZW50fWApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgbWV0YSB0YWdzIHBhcmEgRmFjZWJvb2tcclxuICAgKiBAcGFyYW0gdGl0bGUgdMOtdHVsbyBwYXJhIG8gZmFjZWJvb2tcclxuICAgKiBAcGFyYW0gZGVzY3JpcHRpb24gZGVzY3Jpw6fDo28gcGFyYSBvIGZhY2Vib29rXHJcbiAgICogQHBhcmFtIHVybCB1cmwgcGFyYSBkZWZpbmnDp8OjbyBkbyBmYWNlYm9va1xyXG4gICAqIEBwYXJhbSBpbWcgaW1hZ2VtIHBhcmEgZGVmaW5pw6fDo28gbm8gZmFjZWJvb2tcclxuICAgKi9cclxuICBwdWJsaWMgc2V0TWV0YUZhY2Vib29rKHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcsIHVybDogc3RyaW5nLCBpbWc6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XHJcbiAgICB0aGlzLnNldE1ldGFUYWcoJ29nOnVybCcsIHVybCwgJ3Byb3BlcnR5Jyk7XHJcbiAgICB0aGlzLnNldE1ldGFUYWcoJ29nOnRpdGxlJywgdGl0bGUsICdwcm9wZXJ0eScpO1xyXG4gICAgdGhpcy5zZXRNZXRhVGFnKCdvZzpkZXNjcmlwdGlvbicsIGRlc2NyaXB0aW9uLCAncHJvcGVydHknKTtcclxuICAgIHRoaXMuc2V0TWV0YVRhZygnb2c6dHlwZScsICd3ZWJzaXRlJywgJ3Byb3BlcnR5Jyk7XHJcbiAgICB0aGlzLnNldE1ldGFUYWcoJ29nOmltYWdlJywgaW1nID8/ICcnLCAncHJvcGVydHknKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZSBtZXRhIHRhZ3MgcGFyYSBUd2l0dGVyXHJcbiAgICogQHBhcmFtIHRpdGxlIHTDrXR1bG8gcGFyYSBvIHR3aXR0ZXJcclxuICAgKiBAcGFyYW0gZGVzY3JpcHRpb24gZGVzY3Jpw6fDo28gcGFyYSBvIHR3aXR0ZXJcclxuICAgKiBAcGFyYW0gdXJsIHVybCBwYXJhIG8gdHdpdHRlclxyXG4gICAqIEBwYXJhbSBpbWcgaW1hZ2VtIHBhcmEgZGVmaW5pw6fDo28gbm8gdHdpdHRlclxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRNZXRhVHdpdHRlcih0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nLCB1cmw6IHN0cmluZywgaW1nOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xyXG4gICAgdGhpcy5zZXRNZXRhVGFnKCd0d2l0dGVyOnNpdGUnLCB1cmwsICduYW1lJyk7XHJcbiAgICB0aGlzLnNldE1ldGFUYWcoJ3R3aXR0ZXI6dGl0bGUnLCB0aXRsZSwgJ25hbWUnKTtcclxuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjpkZXNjcmlwdGlvbicsIGRlc2NyaXB0aW9uLCAnbmFtZScpO1xyXG4gICAgdGhpcy5zZXRNZXRhVGFnKCd0d2l0dGVyOmltYWdlJywgaW1nID8/ICcnLCAnbmFtZScpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lIHRhZ3MgZGUgcmVkZXMgc29jaWFpcyAoVHdpdHRlciBlIE9wZW4gR3JhcGgpXHJcbiAgICogQHBhcmFtIHByb3BlcnRpZXNcclxuICAgKi9cclxuICBzZXRTb2NpYWxUYWdzKHByb3BlcnRpZXM/OiBTb2NpYWxNZXRhUHJvcGVydGllcykge1xyXG4gICAgY29uc3QgcGFnZVBhdGggPSB0aGlzLmxvY2F0aW9uLnBhdGgoKTtcclxuICAgIGNvbnN0IHNpdGV1cmwgPSBnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KTtcclxuICAgIGxldCBkZWZhdWx0UHJvcGVydGllczogU29jaWFsTWV0YVByb3BlcnRpZXMgPSB7XHJcbiAgICAgIHR3aXR0ZXJDYXJkOiAnc3VtbWFyeScsXHJcbiAgICAgIHR3aXR0ZXJTaXRlOiB0aGlzLnR3aXR0ZXJVc2VyLFxyXG4gICAgICB0eXBlOiAnd2Vic2l0ZScsXHJcbiAgICAgIHRpdGxlOiB0aGlzLmdldFRpdGxlKCksXHJcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmFjdGl2ZURlc2NyaXB0aW9uIHx8ICcnLFxyXG4gICAgICB1cmw6IGAke3NpdGV1cmx9JHtwYWdlUGF0aH1gLFxyXG4gICAgICBpbWFnZTogdGhpcy5saWJDb25maWc/LmxvZ29QYXRoID8gYCR7c2l0ZXVybH0ke3RoaXMubGliQ29uZmlnLmxvZ29QYXRofWAgOiAnaHR0cHM6Ly93d3cucmVkZWRvcnNhb2x1aXouY29tLmJyL2Fzc2V0cy9pbWdzL2xvZ28tcmVkZWRvci1ibHVlLnBuZycsXHJcbiAgICB9O1xyXG4gICAgaWYgKHByb3BlcnRpZXMpIHtcclxuICAgICAgZGVmYXVsdFByb3BlcnRpZXMgPSB7IC4uLmRlZmF1bHRQcm9wZXJ0aWVzLCAuLi5wcm9wZXJ0aWVzIH07XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldE1ldGFUYWcoJ3R3aXR0ZXI6Y2FyZCcsIGRlZmF1bHRQcm9wZXJ0aWVzLnR3aXR0ZXJDYXJkIHx8ICcnLCAnbmFtZScpXHJcbiAgICAgIC5zZXRNZXRhVGFnKCd0d2l0dGVyOnNpdGUnLCBkZWZhdWx0UHJvcGVydGllcy50d2l0dGVyU2l0ZSB8fCAnJywgJ25hbWUnKVxyXG4gICAgICAuc2V0TWV0YVRhZygnb2c6dHlwZScsIGRlZmF1bHRQcm9wZXJ0aWVzLnR5cGUgfHwgJycsICdwcm9wZXJ0eScpXHJcbiAgICAgIC5zZXRNZXRhVGFnKCdvZzp0aXRsZScsIGRlZmF1bHRQcm9wZXJ0aWVzLnRpdGxlIHx8ICcnLCAncHJvcGVydHknKVxyXG4gICAgICAuc2V0TWV0YVRhZygnb2c6ZGVzY3JpcHRpb24nLCBkZWZhdWx0UHJvcGVydGllcy5kZXNjcmlwdGlvbiB8fCAnJywgJ3Byb3BlcnR5JylcclxuICAgICAgLnNldE1ldGFUYWcoJ29nOnVybCcsIGRlZmF1bHRQcm9wZXJ0aWVzLnVybCB8fCAnJywgJ3Byb3BlcnR5JylcclxuICAgICAgLnNldE1ldGFUYWcoJ29nOmltYWdlJywgZGVmYXVsdFByb3BlcnRpZXMuaW1hZ2UgfHwgJycsICdwcm9wZXJ0eScpO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lIHTDrXR1bG8gZGEgcMOhZ2luYVxyXG4gICAqIEBwYXJhbSB0aXRsZSB0w610dWxvIGRhIHDDoWdpbmEgPHN0cmluZz5cclxuICAgKiBAcGFyYW0gc3ViIFNlIMOpIHN1YnNpdGUgYWNyZXNjZW50YSB1bmlkYWRlIDxib29sZWFuPlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRUaXRsZSh0aXRsZTogc3RyaW5nLCBzdWIgPSBmYWxzZSkge1xyXG4gICAgaWYgKHRpdGxlICYmIHRpdGxlICE9PSAnJykge1xyXG4gICAgICB0aXRsZSA9IGhlLmRlY29kZSh0aXRsZSk7XHJcbiAgICAgIHRpdGxlID0gcmVtb3ZlSHRtbFRhZ3ModGl0bGUpO1xyXG4gICAgICBpZiAoc3ViKSB7XHJcbiAgICAgICAgdGl0bGUgPSBoZS5kZWNvZGUoYCR7dGl0bGV9JHt0aGlzLnNlcGFyYXRvcn0ke3RoaXMudW5pZGFkZU5hbWV9YCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50aXRsZS5zZXRUaXRsZSh0aXRsZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKiBPYnRlbSB0w610dWxvIGF0dWFsIGRhIHDDoWdpbmEgKi9cclxuICBwdWJsaWMgZ2V0VGl0bGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnRpdGxlLmdldFRpdGxlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0NDA0VGl0bGUoY29tcG9uZW50OiBzdHJpbmcgPSAnRGVmYXVsdCBDb21wb25lbnQnKSB7XHJcbiAgICBpZiAoY29tcG9uZW50ICYmIGNvbXBvbmVudCAhPT0gJycpIHtcclxuICAgICAgY29tcG9uZW50ID0gaGUuZGVjb2RlKGNvbXBvbmVudCk7XHJcbiAgICAgIGNvbXBvbmVudCA9IHJlbW92ZUh0bWxUYWdzKGNvbXBvbmVudCk7XHJcbiAgICAgIGlmICh0aGlzLnVuaWRhZGVOYW1lKSB7XHJcbiAgICAgICAgY29tcG9uZW50ID0gaGUuZGVjb2RlKGAke2NvbXBvbmVudH0ke3RoaXMuc2VwYXJhdG9yfSR7dGhpcy51bmlkYWRlTmFtZX1gKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgdGl0bGUgPSBgRXJybyA0MDQgLSAke2NvbXBvbmVudH0gLSAke3RoaXMubGliQ29uZmlnPy5zaXRlTmFtZX0gLSAke3RoaXMubG9jYXRpb24ucGF0aCgpfWA7XHJcbiAgICB0aGlzLnRpdGxlLnNldFRpdGxlKHRpdGxlKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqIENyaWEgdGFnIHNjcmlwdCBwYXJhIEpTT04gZGUgYnJlYWRjcnVtYnMgKi9cclxuICBwcml2YXRlIGNyZWF0ZUJyZWFkY3J1bWJzSlNPTlRhZygpOiBIVE1MU2NyaXB0RWxlbWVudCB7XHJcbiAgICBjb25zdCB0YWc6IEhUTUxTY3JpcHRFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgIHRhZy5pZCA9IHRoaXMuYnJlYWRjcnVtYnNKc29uVGFnSWQ7XHJcbiAgICB0YWcudHlwZSA9ICdhcHBsaWNhdGlvbi9sZCtqc29uJztcclxuICAgIHRoaXMuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0YWcpO1xyXG4gICAgdGhpcy5icmVhZGNydW1ic0pzb25UYWcgPSB0YWc7XHJcbiAgICByZXR1cm4gdGFnO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJldG9ybmEgdGFnIHBhcmEgc2NyaXB0IGpzb24gZGUgYnJlYWRjcnVtYnMgb3UgY3JpYSBzZSBuw6NvIGhvdXZlci4gKi9cclxuICBwcml2YXRlIGdldEJyZWFkY3J1bWJzSlNPTlRhZygpOiBIVE1MU2NyaXB0RWxlbWVudCB7XHJcbiAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuZG9jdW1lbnQuaGVhZC5jaGlsZHJlbjtcclxuICAgIGxldCBpOiBudW1iZXI7XHJcbiAgICBmb3IgKGkgPSAwOyBpIDwgZWxlbWVudHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgZWxlbSA9IGVsZW1lbnRzW2ldIGFzIEhUTUxTY3JpcHRFbGVtZW50O1xyXG4gICAgICBpZiAoZWxlbSAmJiBlbGVtLmlkID09PSB0aGlzLmJyZWFkY3J1bWJzSnNvblRhZ0lkKSB7XHJcbiAgICAgICAgcmV0dXJuIGVsZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZUJyZWFkY3J1bWJzSlNPTlRhZygpO1xyXG4gIH1cclxuXHJcbiAgLyoqIERlZmluZSBvIEpTT04gZGUgYnJlYWRjcnVtYnMgZGEgcMOhZ2luYSAqL1xyXG4gIHB1YmxpYyBzZXRCcmVhZGNydW1ic0pzb24oaXRlbXM6IEJyZWFkY3J1bWJJdGVtW10pIHtcclxuICAgIHRoaXMuYnJlYWRjcnVtYnNKc29uVGFnID0gdGhpcy5nZXRCcmVhZGNydW1ic0pTT05UYWcoKTtcclxuICAgIGNvbnN0IGpzb24gPSB7XHJcbiAgICAgICdAY29udGV4dCc6ICdodHRwOi8vc2NoZW1hLm9yZycsXHJcbiAgICAgICdAdHlwZSc6ICdCcmVhZGNydW1iTGlzdCcsXHJcbiAgICAgIGl0ZW1MaXN0RWxlbWVudDogdGhpcy5nZXRKc29uQnJlYWRjcnVtYkl0ZW1zKGl0ZW1zKSxcclxuICAgIH07XHJcbiAgICB0aGlzLmJyZWFkY3J1bWJzSnNvblRhZy5pbm5lckhUTUwgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqIENvbnZlcnRlIGl0ZW5zIGRvIGJyZWFkY3J1bWIgZW0gaXRlbnMgZG8gSlNPTiAqL1xyXG4gIHByaXZhdGUgZ2V0SnNvbkJyZWFkY3J1bWJJdGVtcyhpdGVtczogQnJlYWRjcnVtYkl0ZW1bXSk6IEJyZWFkY3J1bWJKc29uSXRlbVtdIHtcclxuICAgIGNvbnN0IGpzb25JdGVtcyA9IFtcclxuICAgICAge1xyXG4gICAgICAgICdAdHlwZSc6ICdMaXN0SXRlbScsXHJcbiAgICAgICAgcG9zaXRpb246IDEsXHJcbiAgICAgICAgaXRlbTogeyAnQGlkJzogdGhpcy5nZXRCcmVhZGNydW1iSXRlbVVybChbJy8nXSksIG5hbWU6IGhlLmVuY29kZSgnUMOhZ2luYSBJbmljaWFsJykgfSxcclxuICAgICAgfSBhcyBCcmVhZGNydW1iSnNvbkl0ZW0sXHJcbiAgICBdO1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICBjb25zdCBqc29uSXRlbTogQnJlYWRjcnVtYkpzb25JdGVtID0ge1xyXG4gICAgICAgICdAdHlwZSc6ICdMaXN0SXRlbScsXHJcbiAgICAgICAgcG9zaXRpb246IGkgKyAyLFxyXG4gICAgICAgIGl0ZW06IHsgJ0BpZCc6IHRoaXMuZ2V0QnJlYWRjcnVtYkl0ZW1VcmwoaXRlbT8udXJsIHx8IFtdKSwgbmFtZTogaGUuZW5jb2RlKGl0ZW0ubGFiZWwpIH0sXHJcbiAgICAgIH07XHJcbiAgICAgIGpzb25JdGVtcy5wdXNoKGpzb25JdGVtKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGpzb25JdGVtcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vbnRhIGEgdXJsIGRvIGl0ZW0gZGUgYnJlYWRjcnVtYiBwcm92ZW5pZW50ZSBkbyBhcnJheSBkZSB1cmxzXHJcbiAgICogb3UgZG8gY2FtaW5obyBkYSBwcsOzcHJpYSBww6FnaW5hLCBjb25mb3JtZSBjYXNvIGRvIMO6bHRpbW8gaXRlbS5cclxuICAgKi9cclxuICBwcml2YXRlIGdldEJyZWFkY3J1bWJJdGVtVXJsKHVybDogc3RyaW5nW10pOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgc2l0ZXVybCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xyXG4gICAgaWYgKCF1cmwgfHwgdXJsLmxlbmd0aCA8PSAwKSB7XHJcbiAgICAgIGNvbnN0IHBhZ2VQYXRoID0gdGhpcy5sb2NhdGlvbi5wYXRoKCk7XHJcbiAgICAgIHJldHVybiBgJHtzaXRldXJsfSR7cGFnZVBhdGh9YDtcclxuICAgIH1cclxuICAgIHVybCA9IHVybC5maWx0ZXIoKHUpID0+IHUgIT09IHRoaXMudW5pZGFkZVBhdGgpO1xyXG4gICAgY29uc3QgdW5pZGFkZVBhdGggPSB0aGlzLmdldFVuaWRhZGVQYXRoKCk7XHJcbiAgICBjb25zdCBmdWxsUGF0aCA9IGAke3VuaWRhZGVQYXRofS8ke3VybC5qb2luKCcvJykucmVwbGFjZSgvXlxcLz8vLCAnJyl9YDtcclxuICAgIHJldHVybiBgJHtzaXRldXJsfS8ke2Z1bGxQYXRofWAucmVwbGFjZSgvXFwvJC8sICcnKTtcclxuICB9XHJcblxyXG4gIC8qKiBDcmlhIHRhZyBzY3JpcHQgcGFyYSBvIEpTT04gZGUgU0VPICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVKU09OVGFnKCk6IEhUTUxTY3JpcHRFbGVtZW50IHtcclxuICAgIGNvbnN0IHRhZzogSFRNTFNjcmlwdEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG4gICAgdGFnLmlkID0gdGhpcy5qc29uVGFnSWQ7XHJcbiAgICB0YWcudHlwZSA9ICdhcHBsaWNhdGlvbi9sZCtqc29uJztcclxuICAgIHRoaXMuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0YWcpO1xyXG4gICAgdGhpcy5qc29uVGFnID0gdGFnO1xyXG4gICAgcmV0dXJuIHRhZztcclxuICB9XHJcblxyXG4gIC8qKiBSZXRvcm5hIHRhZyBwYXJhIHNjcmlwdCBqc29uIGRlIGJyZWFkY3J1bWJzIG91IGNyaWEgc2UgbsOjbyBob3V2ZXIuICovXHJcbiAgcHJpdmF0ZSBnZXRKU09OVGFnKCk6IEhUTUxTY3JpcHRFbGVtZW50IHtcclxuICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5kb2N1bWVudC5oZWFkLmNoaWxkcmVuO1xyXG4gICAgbGV0IGk6IG51bWJlcjtcclxuICAgIGZvciAoaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBlbGVtID0gZWxlbWVudHNbaV0gYXMgSFRNTFNjcmlwdEVsZW1lbnQ7XHJcbiAgICAgIGlmIChlbGVtICYmIGVsZW0uaWQgPT09IHRoaXMuanNvblRhZ0lkKSB7XHJcbiAgICAgICAgcmV0dXJuIGVsZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZUpTT05UYWcoKTtcclxuICB9XHJcblxyXG4gIC8qKiBEZWZpbmUgSlNPTiBwYXJhIFNFTyBzb21lbnRlIHF1YW5kbyBubyBzZXJ2aWRvciAqL1xyXG4gIHB1YmxpYyBzZXRQYWdlSnNvbigpIHtcclxuICAgIHRoaXMuanNvblRhZyA9IHRoaXMuZ2V0SlNPTlRhZygpO1xyXG4gICAgY29uc3QgZ3JhcGggPSBbdGhpcy5nZXRPcmdKc29uKCksIHRoaXMuZ2V0V2Vic2l0ZUpzb24oKSwgdGhpcy5nZXRXZWJwYWdlSnNvbigpXTtcclxuICAgIGNvbnN0IGpzb24gPSB7ICdAY29udGV4dCc6ICdodHRwOi8vc2NoZW1hLm9yZycsICdAZ3JhcGgnOiBncmFwaCB9O1xyXG4gICAgdGhpcy5qc29uVGFnLmlubmVySFRNTCA9IEpTT04uc3RyaW5naWZ5KGpzb24pO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogT2J0ZW0gSlNPTiBkYSBPcmdhbml6YcOnw6NvICovXHJcbiAgcHJpdmF0ZSBnZXRPcmdKc29uKCkge1xyXG4gICAgY29uc3Qgc2l0ZXVybCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJ0B0eXBlJzogJ09yZ2FuaXphdGlvbicsXHJcbiAgICAgICdAaWQnOiBgJHtzaXRldXJsfSNvcmdhbml6YXRpb25gLFxyXG4gICAgICBuYW1lOiB0aGlzLmRlZmF1bHRUaXRsZSxcclxuICAgICAga2V5d29yZHM6IHRoaXMubGliQ29uZmlnPy5rZXl3b3JkcyxcclxuICAgICAgdXJsOiBgJHtzaXRldXJsfWAsXHJcbiAgICAgIHNhbWVBczogdGhpcy5zYW1lQXMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqIE9idGVtIEpTT04gZG8gV2Vic2l0ZSAocG9ydGFsLCB1bmlkYWRlcywgZXRjKSAqL1xyXG4gIHByaXZhdGUgZ2V0V2Vic2l0ZUpzb24oKSB7XHJcbiAgICBjb25zdCB1bmlkYWRlUGF0aCA9IHRoaXMuZ2V0VW5pZGFkZVBhdGgoKTtcclxuICAgIGNvbnN0IHNpdGV1cmwgPSBnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICdAdHlwZSc6ICdXZWJTaXRlJyxcclxuICAgICAgJ0BpZCc6IGAke3NpdGV1cmx9JHt1bmlkYWRlUGF0aH0jd2Vic2l0ZWAsXHJcbiAgICAgIHVybDogYCR7c2l0ZXVybH0ke3VuaWRhZGVQYXRofWAsXHJcbiAgICAgIG5hbWU6IHRoaXMudW5pZGFkZU5hbWUsXHJcbiAgICAgIGtleXdvcmRzOiB0aGlzLmxpYkNvbmZpZz8ua2V5d29yZHMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqIE9idGVtIEpzb24gZGEgcMOhZ2luYSAqL1xyXG4gIHByaXZhdGUgZ2V0V2VicGFnZUpzb24oKSB7XHJcbiAgICBjb25zdCB1bmlkYWRlUGF0aCA9IHRoaXMuZ2V0VW5pZGFkZVBhdGgoKTtcclxuICAgIGNvbnN0IHNpdGVVUkwgPSBnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KTtcclxuICAgIGNvbnN0IHBhZ2VQYXRoID0gYCR7c2l0ZVVSTH0ke3RoaXMubG9jYXRpb24ucGF0aCgpfWA7XHJcbiAgICBjb25zdCBkZXNjID0gdGhpcy5hY3RpdmVEZXNjcmlwdGlvbiA/IHRoaXMuYWN0aXZlRGVzY3JpcHRpb24gOiAnJztcclxuICAgIHJldHVybiB7XHJcbiAgICAgICdAdHlwZSc6ICdXZWJQYWdlJyxcclxuICAgICAgJ0BpZCc6IGAke3BhZ2VQYXRofSN3ZWJwYWdlYCxcclxuICAgICAgdXJsOiBwYWdlUGF0aCxcclxuICAgICAgaW5MYW5ndWFnZTogJ3B0LUJSJyxcclxuICAgICAgbmFtZTogdGhpcy5nZXRUaXRsZSgpLFxyXG4gICAgICBpc1BhcnRPZjogeyAnQGlkJzogYCR7c2l0ZVVSTH0ke3VuaWRhZGVQYXRofSN3ZWJzaXRlYCB9LFxyXG4gICAgICBhYm91dDogeyAnQGlkJzogYCR7c2l0ZVVSTH0jb3JnYW5pemF0aW9uYCB9LFxyXG4gICAgICBkZXNjcmlwdGlvbjogZGVzYyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFVuaWRhZGVQYXRoKCkge1xyXG4gICAgbGV0IHVuaWRhZGVQYXRoID0gJyc7XHJcbiAgICBpZiAodGhpcy51bmlkYWRlICYmIHRoaXMudW5pZGFkZVBhdGgpIHtcclxuICAgICAgdW5pZGFkZVBhdGggPSB0aGlzLnVuaWRhZGU/LnBhdGggPT09ICcvJyA/ICcnIDogdGhpcy51bmlkYWRlUGF0aD8uc3Vic3RyaW5nKDAsIHRoaXMudW5pZGFkZVBhdGg/Lmxlbmd0aCAtIDEpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVuaWRhZGVQYXRoO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT2J0w6ltIGEgVVJMIGNhbsO0bmljYSBkYSBww6FnaW5hLlxyXG4gICAqIEByZXR1cm5zIEEgVVJMIGNhbsO0bmljYSBkYSBww6FnaW5hLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRDYW5vbmljYWxIcmVmKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuY2Fub25pY2FsVGFnKSB7XHJcbiAgICAgIHRoaXMuY2Fub25pY2FsVGFnID0gdGhpcy5nZXRDYW5vbmljYWxUYWcoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmNhbm9uaWNhbFRhZy5ocmVmO1xyXG4gIH1cclxuXHJcbiAgLyoqIENyaWEgdGFnIHBhcmEgbGlua3MgY2Fub25pY2FscyBubyBoZWFkICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVDYW5vbmljYWxUYWcoKTogSFRNTExpbmtFbGVtZW50IHtcclxuICAgIGNvbnN0IHRhZyA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xyXG4gICAgdGFnLnNldEF0dHJpYnV0ZSgncmVsJywgJ2Nhbm9uaWNhbCcpO1xyXG4gICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRhZyk7XHJcbiAgICB0YWcuc2V0QXR0cmlidXRlKCdocmVmJywgdGhpcy5kb2N1bWVudC5VUkwpO1xyXG4gICAgdGhpcy5jYW5vbmljYWxUYWcgPSB0YWc7XHJcbiAgICByZXR1cm4gdGFnO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJldG9ybmEgdGFnIHBhcmEgbGluayBjYW5vbmljYWwgZXhpc3RlIG91IGNyaWEgc2UgbsOjbyBob3V2ZXIuICovXHJcbiAgcHJpdmF0ZSBnZXRDYW5vbmljYWxUYWcoKTogSFRNTExpbmtFbGVtZW50IHtcclxuICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5kb2N1bWVudC5oZWFkLmNoaWxkcmVuO1xyXG4gICAgbGV0IGk6IG51bWJlcjtcclxuICAgIGZvciAoaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBlbGVtID0gZWxlbWVudHNbaV0gYXMgSFRNTExpbmtFbGVtZW50O1xyXG4gICAgICBpZiAoZWxlbSAmJiBlbGVtLnRhZ05hbWUgPT09ICdMSU5LJyAmJiBlbGVtLnJlbCA9PT0gJ2Nhbm9uaWNhbCcpIHtcclxuICAgICAgICByZXR1cm4gZWxlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQ2Fub25pY2FsVGFnKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgbGluayBjYW5vbmljYWwgZGEgcMOhZ2luYVxyXG4gICAqIEBwYXJhbSB1cmwgdXJsIGNhbm9uaWNhbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRDYW5vbmljYWxIcmVmKHVybD86IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLmNhbm9uaWNhbFRhZykge1xyXG4gICAgICB0aGlzLmNhbm9uaWNhbFRhZyA9IHRoaXMuZ2V0Q2Fub25pY2FsVGFnKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHBhdGggPSB0aGlzLmxvY2F0aW9uLnBhdGgoKTtcclxuICAgIGlmICghcGF0aC5zdGFydHNXaXRoKCcvJykpIHtcclxuICAgICAgcGF0aCA9IGAvJHtwYXRofWA7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2Fub25pY2FsVXJsID0gdXJsICYmIHRoaXMuaXNDdXN0b21DYW5vbmljYWwodXJsKSA/IHVybCA6IGAke2dldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpfSR7cGF0aH1gO1xyXG5cclxuICAgIHRoaXMuY2Fub25pY2FsVGFnLnNldEF0dHJpYnV0ZSgnaHJlZicsIGNhbm9uaWNhbFVybCk7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZlcmlmaWNhIHNlIGEgVVJMIGZvcm5lY2lkYSDDqSB1bSBsaW5rIGNhbm9uaWNhbCBwZXJzb25hbGl6YWRvXHJcbiAgICogQHBhcmFtIHVybCBVUkwgZm9ybmVjaWRhXHJcbiAgICovXHJcbiAgcHVibGljIGlzQ3VzdG9tQ2Fub25pY2FsKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBzaXRldXJsID0gZ2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCk7XHJcbiAgICByZXR1cm4gdXJsLnN0YXJ0c1dpdGgoc2l0ZXVybCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnTDqW0gdW1hIHVybCB2w6FsaWRhIG5hIGFwbGljYcOnw6NvIHByb3ZlbmllbnRlIGRlIHVtYSBVUkwgZ2VyYWRhXHJcbiAgICogcGVsbyBwbHVnaW4gWW9hc3QgcGFyYSBjYW5vbmljYWwgYXV0b23DoXRpY28uXHJcbiAgICogRXguOiBodHRwczovL3dwLnJlZGVkb3JzYW9sdWl6LmNvbS5ici9icmFzaWwvZXNwZWNpYWxpZGFkZXMvY2FyZGlvbG9naWEvXHJcbiAgICogQHBhcmFtIHVybEZyb21XcEFwaSBVUkwgY2Fub25pY2EgZ2VyYWRhIHBlbG8gWW9hc3QgUGx1Z2luLlxyXG4gICAqL1xyXG4gIHRvTG9jYWxDYW5vbmljYWwodXJsRnJvbVdwQXBpOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgYXBpVXJsID0gdGhpcy5saWJDb25maWc/LndwVXJsID8/ICcnO1xyXG4gICAgY29uc3Qgc2l0ZXVybCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xyXG4gICAgY29uc3QgdW5pZGFkZVNsdWcgPSB0aGlzLnVuaWRhZGVTbHVnO1xyXG4gICAgbGV0IGNvbnZlcnRlZCA9IHVybEZyb21XcEFwaS5yZXBsYWNlKGFwaVVybCwgc2l0ZXVybCk7XHJcbiAgICBpZiAodW5pZGFkZVNsdWcgIT09ICcvJyAmJiBjb252ZXJ0ZWQuaW5jbHVkZXMoYC8ke3VuaWRhZGVTbHVnfS9gKSkge1xyXG4gICAgICBjb252ZXJ0ZWQgPSBjb252ZXJ0ZWQucmVwbGFjZShgLyR7dW5pZGFkZVNsdWd9L2AsIGAke3RoaXMudW5pZGFkZVBhdGh9YCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29udmVydGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0UG9zdENvbnRlbnQocG9zdDogV3BQb3N0KTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGNvbnRlbnQgPSBwb3N0LmFjZlsncmRzbF9wb3N0X2NvbnRlbnQnXSA/IHBvc3QuYWNmLnJkc2xfcG9zdF9jb250ZW50LmZpbmQoKGNvbnRlbnQ6IGFueSkgPT4gY29udGVudC5hY2ZfZmNfbGF5b3V0ID09PSAndGV4dF9odG1sJykgOiBudWxsO1xyXG4gICAgcmV0dXJuIGNvbnRlbnQ/LmNvbnRlbnQgfHwgcG9zdC5jb250ZW50LnJlbmRlcmVkIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgYWRkQXJ0aWNsZVNjcmlwdChwb3N0OiBXcFBvc3QsIHNjcmlwdE5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgcG9zdENvbnRlbnQgPSB0aGlzLmdldFBvc3RDb250ZW50KHBvc3QpO1xyXG4gICAgY29uc3QgcG9zdEhlYWRlckltYWdlID0gcG9zdC5hY2ZbJ3Jkc2xfcG9zdF9oZWFkZXJfaW1nJ11cclxuICAgICAgPyB7XHJcbiAgICAgICAgICB1cmw6IHBvc3QuYWNmWydyZHNsX3Bvc3RfaGVhZGVyX2ltZyddLnVybCxcclxuICAgICAgICAgIHdpZHRoOiBwb3N0LmFjZlsncmRzbF9wb3N0X2hlYWRlcl9pbWcnXS53aWR0aCxcclxuICAgICAgICAgIGhlaWdodDogcG9zdC5hY2ZbJ3Jkc2xfcG9zdF9oZWFkZXJfaW1nJ10uaGVpZ2h0LFxyXG4gICAgICAgIH1cclxuICAgICAgOiBudWxsO1xyXG5cclxuICAgIGNvbnN0IHN0cnVjdHVyZWREYXRhID0ge1xyXG4gICAgICAnQGNvbnRleHQnOiAnaHR0cHM6Ly9zY2hlbWEub3JnJyxcclxuICAgICAgJ0B0eXBlJzogJ0FydGljbGUnLFxyXG4gICAgICBtYWluRW50aXR5T2ZQYWdlOiBgJHtnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KX0ke3RoaXMubG9jYXRpb24ucGF0aCgpfWAsXHJcbiAgICAgIGhlYWRsaW5lOiBwb3N0LnRpdGxlPy5yZW5kZXJlZCxcclxuICAgICAgZGF0ZVB1Ymxpc2hlZDogcG9zdC5kYXRlX2dtdCxcclxuICAgICAgcHVibGlzaGVyOiB7XHJcbiAgICAgICAgJ0B0eXBlJzogJ09yZ2FuaXphdGlvbicsXHJcbiAgICAgICAgbmFtZTogJ1JlZGUgROKAmU9yJyxcclxuICAgICAgfSxcclxuICAgICAgZGVzY3JpcHRpb246IHBvc3QudGl0bGU/LnJlbmRlcmVkLFxyXG4gICAgICBhcnRpY2xlQm9keTogcmVtb3ZlSHRtbFRhZ3MoaGUuZGVjb2RlKHBvc3RDb250ZW50KSksXHJcbiAgICAgIGRhdGVNb2RpZmllZDogcG9zdC5tb2RpZmllZF9nbXQsXHJcbiAgICAgIGltYWdlOiB7XHJcbiAgICAgICAgJ0B0eXBlJzogJ0ltYWdlT2JqZWN0JyxcclxuICAgICAgICB1cmw6IHBvc3RIZWFkZXJJbWFnZT8udXJsIHx8IHBvc3QuZmVhdHVyZWRfbWVkaWFfcGF0aCB8fCAnJyxcclxuICAgICAgICBoZWlnaHQ6IHBvc3RIZWFkZXJJbWFnZT8uaGVpZ2h0IHx8ICcnLFxyXG4gICAgICAgIHdpZHRoOiBwb3N0SGVhZGVySW1hZ2U/LndpZHRoIHx8ICcnLFxyXG4gICAgICB9LFxyXG4gICAgICBhdXRob3I6IHtcclxuICAgICAgICAnQHR5cGUnOiAnT3JnYW5pemF0aW9uJyxcclxuICAgICAgICBuYW1lOiAnUmVkZSBE4oCZT3InLFxyXG4gICAgICB9LFxyXG4gICAgICB3b3JkY291bnQ6IHBvc3RDb250ZW50LnNwbGl0KCcgJykubGVuZ3RoLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG5cclxuICAgIHNjcmlwdC50eXBlID0gJ2FwcGxpY2F0aW9uL2xkK2pzb24nO1xyXG4gICAgc2NyaXB0LmlkID0gc2NyaXB0TmFtZTtcclxuICAgIHNjcmlwdC5pbm5lckhUTUwgPSBKU09OLnN0cmluZ2lmeShzdHJ1Y3R1cmVkRGF0YSk7XHJcblxyXG4gICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVBcnRpY2xlU2NyaXB0KHNjcmlwdE5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2NyaXB0ID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChzY3JpcHROYW1lKTtcclxuICAgIHNjcmlwdD8ucmVtb3ZlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VW5pZGFkZSh7IHVuaWRhZGUgPSBudWxsLCB1bmlkYWRlTmFtZSA9ICcnLCB1bmlkYWRlUGF0aCA9ICcnLCB1bmlkYWRlU2x1ZyA9ICcnIH06IFNlb1VuaWRhZGUpIHtcclxuICAgIHRoaXMudW5pZGFkZSA9IHVuaWRhZGU7XHJcbiAgICB0aGlzLnVuaWRhZGVOYW1lID0gdW5pZGFkZU5hbWU7XHJcbiAgICB0aGlzLnVuaWRhZGVQYXRoID0gdW5pZGFkZVBhdGg7XHJcbiAgICB0aGlzLnVuaWRhZGVTbHVnID0gdW5pZGFkZVNsdWc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
468
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zZW8vc2VvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLFFBQVEsRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBUXpCLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUsvRCxNQUFNLE9BQU8sVUFBVTtJQXVCckIsWUFDVSxLQUFZLEVBQ1osSUFBVSxFQUNWLFFBQWtCLEVBQ0UsU0FBb0IsRUFDdEIsUUFBa0I7UUFKcEMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLFNBQUksR0FBSixJQUFJLENBQU07UUFDVixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ0UsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBM0J2QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsV0FBVyxDQUFDO1FBRTNCLFdBQU0sR0FBRztZQUNkLG1DQUFtQztZQUNuQyw0Q0FBNEM7WUFDNUMsa0RBQWtEO1lBQ2xELDZCQUE2QjtTQUM5QixDQUFDO1FBQ0ssZ0JBQVcsR0FBRyxVQUFVLENBQUM7UUFJeEIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUV0Qix5QkFBb0IsR0FBRyxpQkFBaUIsQ0FBQztRQUUxQyxZQUFPLEdBQVEsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGdCQUFXLEdBQVcsRUFBRSxDQUFD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QyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxVQUFrQjtRQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4RCxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxFQUFFLE9BQU8sR0FBRyxJQUFJLEVBQUUsV0FBVyxHQUFHLEVBQUUsRUFBRSxXQUFXLEdBQUcsRUFBRSxFQUFFLFdBQVcsR0FBRyxFQUFFLEVBQWM7UUFDcEcsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQzsrR0F2ZVUsVUFBVSxtRkEyQlgsVUFBVSxhQUNWLFFBQVE7bUhBNUJQLFVBQVUsY0FGVCxNQUFNOzs0RkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBNEJJLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0YSwgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IERPQ1VNRU5ULCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCAqIGFzIGhlIGZyb20gJ2hlJztcblxuaW1wb3J0IHsgU29jaWFsTWV0YVByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvc29jaWFsLW1ldGEtcHJvcGVydGllcy5tb2RlbCc7XG5pbXBvcnQgeyBCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9icmVhZGNydW1iL2JyZWFkY3J1bWItaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBCcmVhZGNydW1iSnNvbkl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLWpzb24taXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBTZW9EYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Nlby9zZW8tZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBTZW9VbmlkYWRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Nlby9zZW8tdW5pZGFkZS5tb2RlbCc7XG5pbXBvcnQgeyBXcFBvc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMvd29yZHByZXNzL3Bvc3QvcG9zdC5tb2RlbCc7XG5pbXBvcnQgeyBnZXRTaXRlVXJsLCByZW1vdmVIdG1sVGFncyB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgTElCX0NPTkZJRywgTGliQ29uZmlnIH0gZnJvbSAnLi4vLi4vdG9rZW5zL0xpYkNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTZW9TZXJ2aWNlIHtcbiAgcHVibGljIHNlcGFyYXRvciA9ICcgLSAnO1xuICBwdWJsaWMgZGVmYXVsdFRpdGxlID0gJ1JlZGUgROKAmU9yJztcbiAgcHVibGljIGFjdGl2ZURlc2NyaXB0aW9uITogc3RyaW5nO1xuICBwdWJsaWMgc2FtZUFzID0gW1xuICAgICdodHRwczovL3d3dy5mYWNlYm9vay5jb20vcmVkZWRvci8nLFxuICAgICdodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL3JlZGVkb3Jfb2ZpY2lhbC8nLFxuICAgICdodHRwczovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS9yZWRlZG9yLXNhb2x1aXonLFxuICAgICdodHRwczovL3R3aXR0ZXIuY29tL3JlZGVkb3InLFxuICBdO1xuICBwdWJsaWMgdHdpdHRlclVzZXIgPSAnQHJlZGVkb3InO1xuXG4gIHByaXZhdGUgY2Fub25pY2FsVGFnITogSFRNTExpbmtFbGVtZW50O1xuICBwcml2YXRlIGpzb25UYWchOiBIVE1MU2NyaXB0RWxlbWVudDtcbiAgcHJpdmF0ZSBqc29uVGFnSWQgPSAnc2VvSlNPTic7XG4gIHByaXZhdGUgYnJlYWRjcnVtYnNKc29uVGFnITogSFRNTFNjcmlwdEVsZW1lbnQ7XG4gIHByaXZhdGUgYnJlYWRjcnVtYnNKc29uVGFnSWQgPSAnYnJlYWRjcnVtYnNKU09OJztcblxuICBwdWJsaWMgdW5pZGFkZTogYW55ID0gbnVsbDtcbiAgcHVibGljIHVuaWRhZGVOYW1lOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIHVuaWRhZGVQYXRoOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIHVuaWRhZGVTbHVnOiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRpdGxlOiBUaXRsZSxcbiAgICBwcml2YXRlIG1ldGE6IE1ldGEsXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwcml2YXRlIGxpYkNvbmZpZzogTGliQ29uZmlnLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICApIHt9XG5cbiAgcHVibGljIHNldEZ1bGxTZW8oZGF0YTogU2VvRGF0YSkge1xuICAgIHRoaXMuc2V0VGl0bGUoZGF0YS50aXRsZS50ZXh0LCAhIWRhdGEudGl0bGUuc3ViKTtcbiAgICB0aGlzLnNldERlc2NyaXB0aW9uKGRhdGEuZGVzY3JpcHRpb24pO1xuICAgIHRoaXMuc2V0Q2Fub25pY2FsSHJlZihkYXRhLmNhbm9uaWNhbCk7XG4gICAgdGhpcy5zZXRQYWdlSnNvbigpO1xuICAgIHRoaXMuc2V0U29jaWFsVGFncyhkYXRhLnNvY2lhbFRhZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSB0YWcgZGVzY3JpcHRpb24gZGEgcMOhZ2luYVxuICAgKiBAcGFyYW0gY29udGVudCBjb250ZcO6ZG8gZGEgZGVzY3Jpw6fDo28gPHN0cmluZz5cbiAgICovXG4gIHB1YmxpYyBzZXREZXNjcmlwdGlvbihjb250ZW50OiBzdHJpbmcpOiBTZW9TZXJ2aWNlIHtcbiAgICBjb25zdCBkZXNjVGFnID0gdGhpcy5tZXRhLmdldFRhZyhcIm5hbWU9J2Rlc2NyaXB0aW9uJ1wiKTtcbiAgICBpZiAoY29udGVudCkge1xuICAgICAgY29udGVudCA9IGhlLmRlY29kZShjb250ZW50KTtcbiAgICAgIGNvbnRlbnQgPSByZW1vdmVIdG1sVGFncyhjb250ZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udGVudCA9ICcnO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZURlc2NyaXB0aW9uID0gY29udGVudDtcbiAgICBjb25zdCB0YWdDb250ZW50ID0geyBuYW1lOiAnZGVzY3JpcHRpb24nLCBjb250ZW50IH07XG4gICAgaWYgKGRlc2NUYWcpIHtcbiAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcodGFnQ29udGVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWV0YS5hZGRUYWcodGFnQ29udGVudCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBtZXRhIHRhZ3MgcGFyYSBhIHDDoWdpbmFcbiAgICogQHBhcmFtIHRhZyBub21lIGRhIHRhZyBtZXRhXG4gICAqIEBwYXJhbSBjb250ZW50IGNvbnRlw7pkbyBkYSB0YWcgbWV0YVxuICAgKiBAcGFyYW0gdHlwZSB0aXBvIGRlIHRhZyBtZXRhXG4gICAqL1xuICBwdWJsaWMgc2V0TWV0YVRhZyh0YWc6IHN0cmluZywgY29udGVudDogc3RyaW5nLCB0eXBlID0gJ25hbWUnKSB7XG4gICAgY29uc3QgbWV0YXRhZyA9IHRoaXMubWV0YS5nZXRUYWcoYCR7dHlwZX09JyR7dGFnfSdgKTtcbiAgICBjb250ZW50ID0gaGUuZGVjb2RlKGNvbnRlbnQpO1xuICAgIGNvbnRlbnQgPSByZW1vdmVIdG1sVGFncyhjb250ZW50KTtcbiAgICBjb25zdCB0YWdDb250ZW50ID0ge1xuICAgICAgW3R5cGVdOiB0YWcsXG4gICAgICBjb250ZW50LFxuICAgIH07XG4gICAgaWYgKCFtZXRhdGFnKSB7XG4gICAgICB0aGlzLm1ldGEuYWRkVGFnKHRhZ0NvbnRlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHRhZ0NvbnRlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgbWV0YSB0YWdzIGRhIHDDoWdpbmFcbiAgICogQHBhcmFtIHRhZyBub21lIGRhIHRhZyBtZXRhXG4gICAqIEBwYXJhbSBjb250ZW50IGNvbnRlw7pkbyBkYSB0YWcgbWV0YVxuICAgKiBAcGFyYW0gYXR0ciBhdHJpYnV0byBkYSB0YWcgbWV0YVxuICAgKiBAcGFyYW0gdHlwZSB0aXBvIGRlIHRhZyBtZXRhXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlVGFnKHRhZzogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcsIGF0dHI6IHN0cmluZywgdHlwZSA9ICduYW1lJykge1xuICAgIGNvbnN0IG1ldGF0YWcgPSB0aGlzLm1ldGEuZ2V0VGFnKGAke3R5cGV9PScke3RhZ30nYCk7XG4gICAgaWYgKG1ldGF0YWcpIHtcbiAgICAgIHRoaXMubWV0YS5yZW1vdmVUYWcoYCR7YXR0cn09JHtjb250ZW50fWApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgbWV0YSB0YWdzIHBhcmEgRmFjZWJvb2tcbiAgICogQHBhcmFtIHRpdGxlIHTDrXR1bG8gcGFyYSBvIGZhY2Vib29rXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiBkZXNjcmnDp8OjbyBwYXJhIG8gZmFjZWJvb2tcbiAgICogQHBhcmFtIHVybCB1cmwgcGFyYSBkZWZpbmnDp8OjbyBkbyBmYWNlYm9va1xuICAgKiBAcGFyYW0gaW1nIGltYWdlbSBwYXJhIGRlZmluacOnw6NvIG5vIGZhY2Vib29rXG4gICAqL1xuICBwdWJsaWMgc2V0TWV0YUZhY2Vib29rKHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcsIHVybDogc3RyaW5nLCBpbWc6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgdGhpcy5zZXRNZXRhVGFnKCdvZzp1cmwnLCB1cmwsICdwcm9wZXJ0eScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygnb2c6dGl0bGUnLCB0aXRsZSwgJ3Byb3BlcnR5Jyk7XG4gICAgdGhpcy5zZXRNZXRhVGFnKCdvZzpkZXNjcmlwdGlvbicsIGRlc2NyaXB0aW9uLCAncHJvcGVydHknKTtcbiAgICB0aGlzLnNldE1ldGFUYWcoJ29nOnR5cGUnLCAnd2Vic2l0ZScsICdwcm9wZXJ0eScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygnb2c6aW1hZ2UnLCBpbWcgPz8gJycsICdwcm9wZXJ0eScpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBtZXRhIHRhZ3MgcGFyYSBUd2l0dGVyXG4gICAqIEBwYXJhbSB0aXRsZSB0w610dWxvIHBhcmEgbyB0d2l0dGVyXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiBkZXNjcmnDp8OjbyBwYXJhIG8gdHdpdHRlclxuICAgKiBAcGFyYW0gdXJsIHVybCBwYXJhIG8gdHdpdHRlclxuICAgKiBAcGFyYW0gaW1nIGltYWdlbSBwYXJhIGRlZmluacOnw6NvIG5vIHR3aXR0ZXJcbiAgICovXG4gIHB1YmxpYyBzZXRNZXRhVHdpdHRlcih0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nLCB1cmw6IHN0cmluZywgaW1nOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjpzaXRlJywgdXJsLCAnbmFtZScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjp0aXRsZScsIHRpdGxlLCAnbmFtZScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjpkZXNjcmlwdGlvbicsIGRlc2NyaXB0aW9uLCAnbmFtZScpO1xuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjppbWFnZScsIGltZyA/PyAnJywgJ25hbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGFncyBkZSByZWRlcyBzb2NpYWlzIChUd2l0dGVyIGUgT3BlbiBHcmFwaClcbiAgICogQHBhcmFtIHByb3BlcnRpZXNcbiAgICovXG4gIHNldFNvY2lhbFRhZ3MocHJvcGVydGllcz86IFNvY2lhbE1ldGFQcm9wZXJ0aWVzKSB7XG4gICAgY29uc3QgcGFnZVBhdGggPSB0aGlzLmxvY2F0aW9uLnBhdGgoKTtcbiAgICBjb25zdCBzaXRldXJsID0gZ2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCk7XG4gICAgbGV0IGRlZmF1bHRQcm9wZXJ0aWVzOiBTb2NpYWxNZXRhUHJvcGVydGllcyA9IHtcbiAgICAgIHR3aXR0ZXJDYXJkOiAnc3VtbWFyeScsXG4gICAgICB0d2l0dGVyU2l0ZTogdGhpcy50d2l0dGVyVXNlcixcbiAgICAgIHR5cGU6ICd3ZWJzaXRlJyxcbiAgICAgIHRpdGxlOiB0aGlzLmdldFRpdGxlKCksXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5hY3RpdmVEZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHVybDogYCR7c2l0ZXVybH0ke3BhZ2VQYXRofWAsXG4gICAgICBpbWFnZTogdGhpcy5saWJDb25maWc/LmxvZ29QYXRoID8gYCR7c2l0ZXVybH0ke3RoaXMubGliQ29uZmlnLmxvZ29QYXRofWAgOiAnaHR0cHM6Ly93d3cucmVkZWRvcnNhb2x1aXouY29tLmJyL2Fzc2V0cy9pbWdzL2xvZ28tcmVkZWRvci1ibHVlLnBuZycsXG4gICAgfTtcbiAgICBpZiAocHJvcGVydGllcykge1xuICAgICAgZGVmYXVsdFByb3BlcnRpZXMgPSB7IC4uLmRlZmF1bHRQcm9wZXJ0aWVzLCAuLi5wcm9wZXJ0aWVzIH07XG4gICAgfVxuICAgIHRoaXMuc2V0TWV0YVRhZygndHdpdHRlcjpjYXJkJywgZGVmYXVsdFByb3BlcnRpZXMudHdpdHRlckNhcmQgfHwgJycsICduYW1lJylcbiAgICAgIC5zZXRNZXRhVGFnKCd0d2l0dGVyOnNpdGUnLCBkZWZhdWx0UHJvcGVydGllcy50d2l0dGVyU2l0ZSB8fCAnJywgJ25hbWUnKVxuICAgICAgLnNldE1ldGFUYWcoJ29nOnR5cGUnLCBkZWZhdWx0UHJvcGVydGllcy50eXBlIHx8ICcnLCAncHJvcGVydHknKVxuICAgICAgLnNldE1ldGFUYWcoJ29nOnRpdGxlJywgZGVmYXVsdFByb3BlcnRpZXMudGl0bGUgfHwgJycsICdwcm9wZXJ0eScpXG4gICAgICAuc2V0TWV0YVRhZygnb2c6ZGVzY3JpcHRpb24nLCBkZWZhdWx0UHJvcGVydGllcy5kZXNjcmlwdGlvbiB8fCAnJywgJ3Byb3BlcnR5JylcbiAgICAgIC5zZXRNZXRhVGFnKCdvZzp1cmwnLCBkZWZhdWx0UHJvcGVydGllcy51cmwgfHwgJycsICdwcm9wZXJ0eScpXG4gICAgICAuc2V0TWV0YVRhZygnb2c6aW1hZ2UnLCBkZWZhdWx0UHJvcGVydGllcy5pbWFnZSB8fCAnJywgJ3Byb3BlcnR5Jyk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgdMOtdHVsbyBkYSBww6FnaW5hXG4gICAqIEBwYXJhbSB0aXRsZSB0w610dWxvIGRhIHDDoWdpbmEgPHN0cmluZz5cbiAgICogQHBhcmFtIHN1YiBTZSDDqSBzdWJzaXRlIGFjcmVzY2VudGEgdW5pZGFkZSA8Ym9vbGVhbj5cbiAgICovXG4gIHB1YmxpYyBzZXRUaXRsZSh0aXRsZTogc3RyaW5nLCBzdWIgPSBmYWxzZSkge1xuICAgIGlmICh0aXRsZSAmJiB0aXRsZSAhPT0gJycpIHtcbiAgICAgIHRpdGxlID0gaGUuZGVjb2RlKHRpdGxlKTtcbiAgICAgIHRpdGxlID0gcmVtb3ZlSHRtbFRhZ3ModGl0bGUpO1xuICAgICAgaWYgKHN1Yikge1xuICAgICAgICB0aXRsZSA9IGhlLmRlY29kZShgJHt0aXRsZX0ke3RoaXMuc2VwYXJhdG9yfSR7dGhpcy51bmlkYWRlTmFtZX1gKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudGl0bGUuc2V0VGl0bGUodGl0bGUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBPYnRlbSB0w610dWxvIGF0dWFsIGRhIHDDoWdpbmEgKi9cbiAgcHVibGljIGdldFRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGUuZ2V0VGl0bGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQ0MDRUaXRsZShjb21wb25lbnQ6IHN0cmluZyA9ICdEZWZhdWx0IENvbXBvbmVudCcpIHtcbiAgICBpZiAoY29tcG9uZW50ICYmIGNvbXBvbmVudCAhPT0gJycpIHtcbiAgICAgIGNvbXBvbmVudCA9IGhlLmRlY29kZShjb21wb25lbnQpO1xuICAgICAgY29tcG9uZW50ID0gcmVtb3ZlSHRtbFRhZ3MoY29tcG9uZW50KTtcbiAgICAgIGlmICh0aGlzLnVuaWRhZGVOYW1lKSB7XG4gICAgICAgIGNvbXBvbmVudCA9IGhlLmRlY29kZShgJHtjb21wb25lbnR9JHt0aGlzLnNlcGFyYXRvcn0ke3RoaXMudW5pZGFkZU5hbWV9YCk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHRpdGxlID0gYEVycm8gNDA0IC0gJHtjb21wb25lbnR9IC0gJHt0aGlzLmxpYkNvbmZpZz8uc2l0ZU5hbWV9IC0gJHt0aGlzLmxvY2F0aW9uLnBhdGgoKX1gO1xuICAgIHRoaXMudGl0bGUuc2V0VGl0bGUodGl0bGUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIENyaWEgdGFnIHNjcmlwdCBwYXJhIEpTT04gZGUgYnJlYWRjcnVtYnMgKi9cbiAgcHJpdmF0ZSBjcmVhdGVCcmVhZGNydW1ic0pTT05UYWcoKTogSFRNTFNjcmlwdEVsZW1lbnQge1xuICAgIGNvbnN0IHRhZzogSFRNTFNjcmlwdEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIHRhZy5pZCA9IHRoaXMuYnJlYWRjcnVtYnNKc29uVGFnSWQ7XG4gICAgdGFnLnR5cGUgPSAnYXBwbGljYXRpb24vbGQranNvbic7XG4gICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRhZyk7XG4gICAgdGhpcy5icmVhZGNydW1ic0pzb25UYWcgPSB0YWc7XG4gICAgcmV0dXJuIHRhZztcbiAgfVxuXG4gIC8qKiBSZXRvcm5hIHRhZyBwYXJhIHNjcmlwdCBqc29uIGRlIGJyZWFkY3J1bWJzIG91IGNyaWEgc2UgbsOjbyBob3V2ZXIuICovXG4gIHByaXZhdGUgZ2V0QnJlYWRjcnVtYnNKU09OVGFnKCk6IEhUTUxTY3JpcHRFbGVtZW50IHtcbiAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuZG9jdW1lbnQuaGVhZC5jaGlsZHJlbjtcbiAgICBsZXQgaTogbnVtYmVyO1xuICAgIGZvciAoaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZWxlbSA9IGVsZW1lbnRzW2ldIGFzIEhUTUxTY3JpcHRFbGVtZW50O1xuICAgICAgaWYgKGVsZW0gJiYgZWxlbS5pZCA9PT0gdGhpcy5icmVhZGNydW1ic0pzb25UYWdJZCkge1xuICAgICAgICByZXR1cm4gZWxlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQnJlYWRjcnVtYnNKU09OVGFnKCk7XG4gIH1cblxuICAvKiogRGVmaW5lIG8gSlNPTiBkZSBicmVhZGNydW1icyBkYSBww6FnaW5hICovXG4gIHB1YmxpYyBzZXRCcmVhZGNydW1ic0pzb24oaXRlbXM6IEJyZWFkY3J1bWJJdGVtW10pIHtcbiAgICB0aGlzLmJyZWFkY3J1bWJzSnNvblRhZyA9IHRoaXMuZ2V0QnJlYWRjcnVtYnNKU09OVGFnKCk7XG4gICAgY29uc3QganNvbiA9IHtcbiAgICAgICdAY29udGV4dCc6ICdodHRwOi8vc2NoZW1hLm9yZycsXG4gICAgICAnQHR5cGUnOiAnQnJlYWRjcnVtYkxpc3QnLFxuICAgICAgaXRlbUxpc3RFbGVtZW50OiB0aGlzLmdldEpzb25CcmVhZGNydW1iSXRlbXMoaXRlbXMpLFxuICAgIH07XG4gICAgdGhpcy5icmVhZGNydW1ic0pzb25UYWcuaW5uZXJIVE1MID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQ29udmVydGUgaXRlbnMgZG8gYnJlYWRjcnVtYiBlbSBpdGVucyBkbyBKU09OICovXG4gIHByaXZhdGUgZ2V0SnNvbkJyZWFkY3J1bWJJdGVtcyhpdGVtczogQnJlYWRjcnVtYkl0ZW1bXSk6IEJyZWFkY3J1bWJKc29uSXRlbVtdIHtcbiAgICBjb25zdCBqc29uSXRlbXMgPSBbXG4gICAgICB7XG4gICAgICAgICdAdHlwZSc6ICdMaXN0SXRlbScsXG4gICAgICAgIHBvc2l0aW9uOiAxLFxuICAgICAgICBpdGVtOiB7ICdAaWQnOiB0aGlzLmdldEJyZWFkY3J1bWJJdGVtVXJsKFsnLyddKSwgbmFtZTogaGUuZW5jb2RlKCdQw6FnaW5hIEluaWNpYWwnKSB9LFxuICAgICAgfSBhcyBCcmVhZGNydW1iSnNvbkl0ZW0sXG4gICAgXTtcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpKSA9PiB7XG4gICAgICBjb25zdCBqc29uSXRlbTogQnJlYWRjcnVtYkpzb25JdGVtID0ge1xuICAgICAgICAnQHR5cGUnOiAnTGlzdEl0ZW0nLFxuICAgICAgICBwb3NpdGlvbjogaSArIDIsXG4gICAgICAgIGl0ZW06IHsgJ0BpZCc6IHRoaXMuZ2V0QnJlYWRjcnVtYkl0ZW1VcmwoaXRlbT8udXJsIHx8IFtdKSwgbmFtZTogaGUuZW5jb2RlKGl0ZW0ubGFiZWwpIH0sXG4gICAgICB9O1xuICAgICAganNvbkl0ZW1zLnB1c2goanNvbkl0ZW0pO1xuICAgIH0pO1xuICAgIHJldHVybiBqc29uSXRlbXM7XG4gIH1cblxuICAvKipcbiAgICogTW9udGEgYSB1cmwgZG8gaXRlbSBkZSBicmVhZGNydW1iIHByb3ZlbmllbnRlIGRvIGFycmF5IGRlIHVybHNcbiAgICogb3UgZG8gY2FtaW5obyBkYSBwcsOzcHJpYSBww6FnaW5hLCBjb25mb3JtZSBjYXNvIGRvIMO6bHRpbW8gaXRlbS5cbiAgICovXG4gIHByaXZhdGUgZ2V0QnJlYWRjcnVtYkl0ZW1VcmwodXJsOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2l0ZXVybCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xuICAgIGlmICghdXJsIHx8IHVybC5sZW5ndGggPD0gMCkge1xuICAgICAgY29uc3QgcGFnZVBhdGggPSB0aGlzLmxvY2F0aW9uLnBhdGgoKTtcbiAgICAgIHJldHVybiBgJHtzaXRldXJsfSR7cGFnZVBhdGh9YDtcbiAgICB9XG4gICAgdXJsID0gdXJsLmZpbHRlcigodSkgPT4gdSAhPT0gdGhpcy51bmlkYWRlUGF0aCk7XG4gICAgY29uc3QgdW5pZGFkZVBhdGggPSB0aGlzLmdldFVuaWRhZGVQYXRoKCk7XG4gICAgY29uc3QgZnVsbFBhdGggPSBgJHt1bmlkYWRlUGF0aH0vJHt1cmwuam9pbignLycpLnJlcGxhY2UoL15cXC8/LywgJycpfWA7XG4gICAgcmV0dXJuIGAke3NpdGV1cmx9LyR7ZnVsbFBhdGh9YC5yZXBsYWNlKC9cXC8kLywgJycpO1xuICB9XG5cbiAgLyoqIENyaWEgdGFnIHNjcmlwdCBwYXJhIG8gSlNPTiBkZSBTRU8gKi9cbiAgcHJpdmF0ZSBjcmVhdGVKU09OVGFnKCk6IEhUTUxTY3JpcHRFbGVtZW50IHtcbiAgICBjb25zdCB0YWc6IEhUTUxTY3JpcHRFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICB0YWcuaWQgPSB0aGlzLmpzb25UYWdJZDtcbiAgICB0YWcudHlwZSA9ICdhcHBsaWNhdGlvbi9sZCtqc29uJztcbiAgICB0aGlzLmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodGFnKTtcbiAgICB0aGlzLmpzb25UYWcgPSB0YWc7XG4gICAgcmV0dXJuIHRhZztcbiAgfVxuXG4gIC8qKiBSZXRvcm5hIHRhZyBwYXJhIHNjcmlwdCBqc29uIGRlIGJyZWFkY3J1bWJzIG91IGNyaWEgc2UgbsOjbyBob3V2ZXIuICovXG4gIHByaXZhdGUgZ2V0SlNPTlRhZygpOiBIVE1MU2NyaXB0RWxlbWVudCB7XG4gICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLmRvY3VtZW50LmhlYWQuY2hpbGRyZW47XG4gICAgbGV0IGk6IG51bWJlcjtcbiAgICBmb3IgKGkgPSAwOyBpIDwgZWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGVsZW0gPSBlbGVtZW50c1tpXSBhcyBIVE1MU2NyaXB0RWxlbWVudDtcbiAgICAgIGlmIChlbGVtICYmIGVsZW0uaWQgPT09IHRoaXMuanNvblRhZ0lkKSB7XG4gICAgICAgIHJldHVybiBlbGVtO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVKU09OVGFnKCk7XG4gIH1cblxuICAvKiogRGVmaW5lIEpTT04gcGFyYSBTRU8gc29tZW50ZSBxdWFuZG8gbm8gc2Vydmlkb3IgKi9cbiAgcHVibGljIHNldFBhZ2VKc29uKCkge1xuICAgIHRoaXMuanNvblRhZyA9IHRoaXMuZ2V0SlNPTlRhZygpO1xuICAgIGNvbnN0IGdyYXBoID0gW3RoaXMuZ2V0T3JnSnNvbigpLCB0aGlzLmdldFdlYnNpdGVKc29uKCksIHRoaXMuZ2V0V2VicGFnZUpzb24oKV07XG4gICAgY29uc3QganNvbiA9IHsgJ0Bjb250ZXh0JzogJ2h0dHA6Ly9zY2hlbWEub3JnJywgJ0BncmFwaCc6IGdyYXBoIH07XG4gICAgdGhpcy5qc29uVGFnLmlubmVySFRNTCA9IEpTT04uc3RyaW5naWZ5KGpzb24pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIE9idGVtIEpTT04gZGEgT3JnYW5pemHDp8OjbyAqL1xuICBwcml2YXRlIGdldE9yZ0pzb24oKSB7XG4gICAgY29uc3Qgc2l0ZXVybCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xuICAgIHJldHVybiB7XG4gICAgICAnQHR5cGUnOiAnT3JnYW5pemF0aW9uJyxcbiAgICAgICdAaWQnOiBgJHtzaXRldXJsfSNvcmdhbml6YXRpb25gLFxuICAgICAgbmFtZTogdGhpcy5kZWZhdWx0VGl0bGUsXG4gICAgICBrZXl3b3JkczogdGhpcy5saWJDb25maWc/LmtleXdvcmRzLFxuICAgICAgdXJsOiBgJHtzaXRldXJsfWAsXG4gICAgICBzYW1lQXM6IHRoaXMuc2FtZUFzLFxuICAgIH07XG4gIH1cblxuICAvKiogT2J0ZW0gSlNPTiBkbyBXZWJzaXRlIChwb3J0YWwsIHVuaWRhZGVzLCBldGMpICovXG4gIHByaXZhdGUgZ2V0V2Vic2l0ZUpzb24oKSB7XG4gICAgY29uc3QgdW5pZGFkZVBhdGggPSB0aGlzLmdldFVuaWRhZGVQYXRoKCk7XG4gICAgY29uc3Qgc2l0ZXVybCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xuICAgIHJldHVybiB7XG4gICAgICAnQHR5cGUnOiAnV2ViU2l0ZScsXG4gICAgICAnQGlkJzogYCR7c2l0ZXVybH0ke3VuaWRhZGVQYXRofSN3ZWJzaXRlYCxcbiAgICAgIHVybDogYCR7c2l0ZXVybH0ke3VuaWRhZGVQYXRofWAsXG4gICAgICBuYW1lOiB0aGlzLnVuaWRhZGVOYW1lLFxuICAgICAga2V5d29yZHM6IHRoaXMubGliQ29uZmlnPy5rZXl3b3JkcyxcbiAgICB9O1xuICB9XG5cbiAgLyoqIE9idGVtIEpzb24gZGEgcMOhZ2luYSAqL1xuICBwcml2YXRlIGdldFdlYnBhZ2VKc29uKCkge1xuICAgIGNvbnN0IHVuaWRhZGVQYXRoID0gdGhpcy5nZXRVbmlkYWRlUGF0aCgpO1xuICAgIGNvbnN0IHNpdGVVUkwgPSBnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KTtcbiAgICBjb25zdCBwYWdlUGF0aCA9IGAke3NpdGVVUkx9JHt0aGlzLmxvY2F0aW9uLnBhdGgoKX1gO1xuICAgIGNvbnN0IGRlc2MgPSB0aGlzLmFjdGl2ZURlc2NyaXB0aW9uID8gdGhpcy5hY3RpdmVEZXNjcmlwdGlvbiA6ICcnO1xuICAgIHJldHVybiB7XG4gICAgICAnQHR5cGUnOiAnV2ViUGFnZScsXG4gICAgICAnQGlkJzogYCR7cGFnZVBhdGh9I3dlYnBhZ2VgLFxuICAgICAgdXJsOiBwYWdlUGF0aCxcbiAgICAgIGluTGFuZ3VhZ2U6ICdwdC1CUicsXG4gICAgICBuYW1lOiB0aGlzLmdldFRpdGxlKCksXG4gICAgICBpc1BhcnRPZjogeyAnQGlkJzogYCR7c2l0ZVVSTH0ke3VuaWRhZGVQYXRofSN3ZWJzaXRlYCB9LFxuICAgICAgYWJvdXQ6IHsgJ0BpZCc6IGAke3NpdGVVUkx9I29yZ2FuaXphdGlvbmAgfSxcbiAgICAgIGRlc2NyaXB0aW9uOiBkZXNjLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFVuaWRhZGVQYXRoKCkge1xuICAgIGxldCB1bmlkYWRlUGF0aCA9ICcnO1xuICAgIGlmICh0aGlzLnVuaWRhZGUgJiYgdGhpcy51bmlkYWRlUGF0aCkge1xuICAgICAgdW5pZGFkZVBhdGggPSB0aGlzLnVuaWRhZGU/LnBhdGggPT09ICcvJyA/ICcnIDogdGhpcy51bmlkYWRlUGF0aD8uc3Vic3RyaW5nKDAsIHRoaXMudW5pZGFkZVBhdGg/Lmxlbmd0aCAtIDEpO1xuICAgIH1cbiAgICByZXR1cm4gdW5pZGFkZVBhdGg7XG4gIH1cblxuICAvKipcbiAgICogT2J0w6ltIGEgVVJMIGNhbsO0bmljYSBkYSBww6FnaW5hLlxuICAgKiBAcmV0dXJucyBBIFVSTCBjYW7DtG5pY2EgZGEgcMOhZ2luYS5cbiAgICovXG4gIHB1YmxpYyBnZXRDYW5vbmljYWxIcmVmKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmNhbm9uaWNhbFRhZykge1xuICAgICAgdGhpcy5jYW5vbmljYWxUYWcgPSB0aGlzLmdldENhbm9uaWNhbFRhZygpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jYW5vbmljYWxUYWcuaHJlZjtcbiAgfVxuXG4gIC8qKiBDcmlhIHRhZyBwYXJhIGxpbmtzIGNhbm9uaWNhbHMgbm8gaGVhZCAqL1xuICBwcml2YXRlIGNyZWF0ZUNhbm9uaWNhbFRhZygpOiBIVE1MTGlua0VsZW1lbnQge1xuICAgIGNvbnN0IHRhZyA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgIHRhZy5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdjYW5vbmljYWwnKTtcbiAgICB0aGlzLmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodGFnKTtcbiAgICB0YWcuc2V0QXR0cmlidXRlKCdocmVmJywgdGhpcy5kb2N1bWVudC5VUkwpO1xuICAgIHRoaXMuY2Fub25pY2FsVGFnID0gdGFnO1xuICAgIHJldHVybiB0YWc7XG4gIH1cblxuICAvKiogUmV0b3JuYSB0YWcgcGFyYSBsaW5rIGNhbm9uaWNhbCBleGlzdGUgb3UgY3JpYSBzZSBuw6NvIGhvdXZlci4gKi9cbiAgcHJpdmF0ZSBnZXRDYW5vbmljYWxUYWcoKTogSFRNTExpbmtFbGVtZW50IHtcbiAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuZG9jdW1lbnQuaGVhZC5jaGlsZHJlbjtcbiAgICBsZXQgaTogbnVtYmVyO1xuICAgIGZvciAoaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZWxlbSA9IGVsZW1lbnRzW2ldIGFzIEhUTUxMaW5rRWxlbWVudDtcbiAgICAgIGlmIChlbGVtICYmIGVsZW0udGFnTmFtZSA9PT0gJ0xJTksnICYmIGVsZW0ucmVsID09PSAnY2Fub25pY2FsJykge1xuICAgICAgICByZXR1cm4gZWxlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQ2Fub25pY2FsVGFnKCk7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGxpbmsgY2Fub25pY2FsIGRhIHDDoWdpbmFcbiAgICogQHBhcmFtIHVybCB1cmwgY2Fub25pY2FsXG4gICAqL1xuICBwdWJsaWMgc2V0Q2Fub25pY2FsSHJlZih1cmw/OiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuY2Fub25pY2FsVGFnKSB7XG4gICAgICB0aGlzLmNhbm9uaWNhbFRhZyA9IHRoaXMuZ2V0Q2Fub25pY2FsVGFnKCk7XG4gICAgfVxuXG4gICAgbGV0IHBhdGggPSB0aGlzLmxvY2F0aW9uLnBhdGgoKTtcbiAgICBpZiAoIXBhdGguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICBwYXRoID0gYC8ke3BhdGh9YDtcbiAgICB9XG5cbiAgICBjb25zdCBjYW5vbmljYWxVcmwgPSB1cmwgJiYgdGhpcy5pc0N1c3RvbUNhbm9uaWNhbCh1cmwpID8gdXJsIDogYCR7Z2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCl9JHtwYXRofWA7XG5cbiAgICB0aGlzLmNhbm9uaWNhbFRhZy5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCBjYW5vbmljYWxVcmwpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWNhIHNlIGEgVVJMIGZvcm5lY2lkYSDDqSB1bSBsaW5rIGNhbm9uaWNhbCBwZXJzb25hbGl6YWRvXG4gICAqIEBwYXJhbSB1cmwgVVJMIGZvcm5lY2lkYVxuICAgKi9cbiAgcHVibGljIGlzQ3VzdG9tQ2Fub25pY2FsKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2l0ZXVybCA9IGdldFNpdGVVcmwodGhpcy5saWJDb25maWc/LnNpdGVVcmwsIHRoaXMubGliQ29uZmlnPy5zaXRlU3VmaXgpO1xuICAgIHJldHVybiB1cmwuc3RhcnRzV2l0aChzaXRldXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnTDqW0gdW1hIHVybCB2w6FsaWRhIG5hIGFwbGljYcOnw6NvIHByb3ZlbmllbnRlIGRlIHVtYSBVUkwgZ2VyYWRhXG4gICAqIHBlbG8gcGx1Z2luIFlvYXN0IHBhcmEgY2Fub25pY2FsIGF1dG9tw6F0aWNvLlxuICAgKiBFeC46IGh0dHBzOi8vd3AucmVkZWRvcnNhb2x1aXouY29tLmJyL2JyYXNpbC9lc3BlY2lhbGlkYWRlcy9jYXJkaW9sb2dpYS9cbiAgICogQHBhcmFtIHVybEZyb21XcEFwaSBVUkwgY2Fub25pY2EgZ2VyYWRhIHBlbG8gWW9hc3QgUGx1Z2luLlxuICAgKi9cbiAgdG9Mb2NhbENhbm9uaWNhbCh1cmxGcm9tV3BBcGk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgYXBpVXJsID0gdGhpcy5saWJDb25maWc/LndwVXJsID8/ICcnO1xuICAgIGNvbnN0IHNpdGV1cmwgPSBnZXRTaXRlVXJsKHRoaXMubGliQ29uZmlnPy5zaXRlVXJsLCB0aGlzLmxpYkNvbmZpZz8uc2l0ZVN1Zml4KTtcbiAgICBjb25zdCB1bmlkYWRlU2x1ZyA9IHRoaXMudW5pZGFkZVNsdWc7XG4gICAgbGV0IGNvbnZlcnRlZCA9IHVybEZyb21XcEFwaS5yZXBsYWNlKGFwaVVybCwgc2l0ZXVybCk7XG4gICAgaWYgKHVuaWRhZGVTbHVnICE9PSAnLycgJiYgY29udmVydGVkLmluY2x1ZGVzKGAvJHt1bmlkYWRlU2x1Z30vYCkpIHtcbiAgICAgIGNvbnZlcnRlZCA9IGNvbnZlcnRlZC5yZXBsYWNlKGAvJHt1bmlkYWRlU2x1Z30vYCwgYCR7dGhpcy51bmlkYWRlUGF0aH1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnZlcnRlZDtcbiAgfVxuXG4gIGdldFBvc3RDb250ZW50KHBvc3Q6IFdwUG9zdCk6IHN0cmluZyB7XG4gICAgY29uc3QgY29udGVudCA9IHBvc3QuYWNmWydyZHNsX3Bvc3RfY29udGVudCddID8gcG9zdC5hY2YucmRzbF9wb3N0X2NvbnRlbnQuZmluZCgoY29udGVudDogYW55KSA9PiBjb250ZW50LmFjZl9mY19sYXlvdXQgPT09ICd0ZXh0X2h0bWwnKSA6IG51bGw7XG4gICAgcmV0dXJuIGNvbnRlbnQ/LmNvbnRlbnQgfHwgcG9zdC5jb250ZW50LnJlbmRlcmVkIHx8ICcnO1xuICB9XG5cbiAgYWRkQXJ0aWNsZVNjcmlwdChwb3N0OiBXcFBvc3QsIHNjcmlwdE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHBvc3RDb250ZW50ID0gdGhpcy5nZXRQb3N0Q29udGVudChwb3N0KTtcbiAgICBjb25zdCBwb3N0SGVhZGVySW1hZ2UgPSBwb3N0LmFjZlsncmRzbF9wb3N0X2hlYWRlcl9pbWcnXVxuICAgICAgPyB7XG4gICAgICAgICAgdXJsOiBwb3N0LmFjZlsncmRzbF9wb3N0X2hlYWRlcl9pbWcnXS51cmwsXG4gICAgICAgICAgd2lkdGg6IHBvc3QuYWNmWydyZHNsX3Bvc3RfaGVhZGVyX2ltZyddLndpZHRoLFxuICAgICAgICAgIGhlaWdodDogcG9zdC5hY2ZbJ3Jkc2xfcG9zdF9oZWFkZXJfaW1nJ10uaGVpZ2h0LFxuICAgICAgICB9XG4gICAgICA6IG51bGw7XG5cbiAgICBjb25zdCBzdHJ1Y3R1cmVkRGF0YSA9IHtcbiAgICAgICdAY29udGV4dCc6ICdodHRwczovL3NjaGVtYS5vcmcnLFxuICAgICAgJ0B0eXBlJzogJ0FydGljbGUnLFxuICAgICAgbWFpbkVudGl0eU9mUGFnZTogYCR7Z2V0U2l0ZVVybCh0aGlzLmxpYkNvbmZpZz8uc2l0ZVVybCwgdGhpcy5saWJDb25maWc/LnNpdGVTdWZpeCl9JHt0aGlzLmxvY2F0aW9uLnBhdGgoKX1gLFxuICAgICAgaGVhZGxpbmU6IHBvc3QudGl0bGU/LnJlbmRlcmVkLFxuICAgICAgZGF0ZVB1Ymxpc2hlZDogcG9zdC5kYXRlX2dtdCxcbiAgICAgIHB1Ymxpc2hlcjoge1xuICAgICAgICAnQHR5cGUnOiAnT3JnYW5pemF0aW9uJyxcbiAgICAgICAgbmFtZTogJ1JlZGUgROKAmU9yJyxcbiAgICAgIH0sXG4gICAgICBkZXNjcmlwdGlvbjogcG9zdC50aXRsZT8ucmVuZGVyZWQsXG4gICAgICBhcnRpY2xlQm9keTogcmVtb3ZlSHRtbFRhZ3MoaGUuZGVjb2RlKHBvc3RDb250ZW50KSksXG4gICAgICBkYXRlTW9kaWZpZWQ6IHBvc3QubW9kaWZpZWRfZ210LFxuICAgICAgaW1hZ2U6IHtcbiAgICAgICAgJ0B0eXBlJzogJ0ltYWdlT2JqZWN0JyxcbiAgICAgICAgdXJsOiBwb3N0SGVhZGVySW1hZ2U/LnVybCB8fCBwb3N0LmZlYXR1cmVkX21lZGlhX3BhdGggfHwgJycsXG4gICAgICAgIGhlaWdodDogcG9zdEhlYWRlckltYWdlPy5oZWlnaHQgfHwgJycsXG4gICAgICAgIHdpZHRoOiBwb3N0SGVhZGVySW1hZ2U/LndpZHRoIHx8ICcnLFxuICAgICAgfSxcbiAgICAgIGF1dGhvcjoge1xuICAgICAgICAnQHR5cGUnOiAnT3JnYW5pemF0aW9uJyxcbiAgICAgICAgbmFtZTogJ1JlZGUgROKAmU9yJyxcbiAgICAgIH0sXG4gICAgICB3b3JkY291bnQ6IHBvc3RDb250ZW50LnNwbGl0KCcgJykubGVuZ3RoLFxuICAgIH07XG5cbiAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuXG4gICAgc2NyaXB0LnR5cGUgPSAnYXBwbGljYXRpb24vbGQranNvbic7XG4gICAgc2NyaXB0LmlkID0gc2NyaXB0TmFtZTtcbiAgICBzY3JpcHQuaW5uZXJIVE1MID0gSlNPTi5zdHJpbmdpZnkoc3RydWN0dXJlZERhdGEpO1xuXG4gICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gIH1cblxuICByZW1vdmVBcnRpY2xlU2NyaXB0KHNjcmlwdE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNjcmlwdCA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2NyaXB0TmFtZSk7XG4gICAgc2NyaXB0Py5yZW1vdmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRVbmlkYWRlKHsgdW5pZGFkZSA9IG51bGwsIHVuaWRhZGVOYW1lID0gJycsIHVuaWRhZGVQYXRoID0gJycsIHVuaWRhZGVTbHVnID0gJycgfTogU2VvVW5pZGFkZSkge1xuICAgIHRoaXMudW5pZGFkZSA9IHVuaWRhZGU7XG4gICAgdGhpcy51bmlkYWRlTmFtZSA9IHVuaWRhZGVOYW1lO1xuICAgIHRoaXMudW5pZGFkZVBhdGggPSB1bmlkYWRlUGF0aDtcbiAgICB0aGlzLnVuaWRhZGVTbHVnID0gdW5pZGFkZVNsdWc7XG4gIH1cbn1cbiJdfQ==
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
82
82
  type: Inject,
83
83
  args: [RESPONSE]
84
84
  }] }] });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLXJlc3BvbnNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zZXJ2ZXItcmVzcG9uc2Uvc2VydmVyLXJlc3BvbnNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFnQnZELE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFBMEMsUUFBYTtRQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVc7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQVcsQ0FBQztJQUNoRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQ2xDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVcsRUFBRSxLQUFhLEVBQUUsU0FBUyxHQUFHLEdBQUc7UUFDdEQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQ0Qs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Z3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlc3BvbnNlIH0gZnJvbSAnZXhwcmVzcyc7XHJcbmltcG9ydCB7IFJFU1BPTlNFIH0gZnJvbSAnLi4vLi4vdG9rZW5zL2V4cHJlc3MudG9rZW5zJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVNlcnZlclJlc3BvbnNlU2VydmljZSB7XHJcbiAgZ2V0SGVhZGVyKGtleTogc3RyaW5nKTogc3RyaW5nO1xyXG4gIHNldEhlYWRlcihrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHRoaXM7XHJcbiAgc2V0SGVhZGVycyhkaWN0aW9uYXJ5OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogdGhpcztcclxuICBhcHBlbmRIZWFkZXIoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGRlbGltaXRlcj86IHN0cmluZyk6IHRoaXM7XHJcbiAgc2V0U3RhdHVzKGNvZGU6IG51bWJlciwgbWVzc2FnZT86IHN0cmluZyk6IHRoaXM7XHJcbiAgc2V0Tm90Rm91bmQobWVzc2FnZT86IHN0cmluZyk6IHRoaXM7XHJcbiAgc2V0RXJyb3IobWVzc2FnZT86IHN0cmluZyk6IHRoaXM7XHJcbiAgc2V0UmVkaXJlY3QobWVzc2FnZT86IHN0cmluZyk6IHRoaXM7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXJ2ZXJSZXNwb25zZVNlcnZpY2UgaW1wbGVtZW50cyBJU2VydmVyUmVzcG9uc2VTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlc3BvbnNlOiBSZXNwb25zZTtcclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChSRVNQT05TRSkgcmVzcG9uc2U6IGFueSkge1xyXG4gICAgdGhpcy5yZXNwb25zZSA9IHJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0SGVhZGVyKGtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlLmdldEhlYWRlcihrZXkpIGFzIHN0cmluZztcclxuICB9XHJcblxyXG4gIHNldEhlYWRlcihrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHRoaXMge1xyXG4gICAgaWYgKHRoaXMucmVzcG9uc2UpIHtcclxuICAgICAgdGhpcy5yZXNwb25zZS5oZWFkZXIoa2V5LCB2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIGFwcGVuZEhlYWRlcihrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZGVsaW1pdGVyID0gJywnKTogdGhpcyB7XHJcbiAgICBpZiAodGhpcy5yZXNwb25zZSkge1xyXG4gICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5nZXRIZWFkZXIoa2V5KTtcclxuICAgICAgaWYgKCFjdXJyZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0SGVhZGVyKGtleSwgdmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gWy4uLmN1cnJlbnQuc3BsaXQoZGVsaW1pdGVyKSwgdmFsdWVdLmZpbHRlcigoZWwsIGksIGEpID0+IGkgPT09IGEuaW5kZXhPZihlbCkpLmpvaW4oZGVsaW1pdGVyKTtcclxuICAgICAgdGhpcy5yZXNwb25zZS5oZWFkZXIoa2V5LCBuZXdWYWx1ZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIHNldEhlYWRlcnMoZGljdGlvbmFyeTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IHRoaXMge1xyXG4gICAgaWYgKHRoaXMucmVzcG9uc2UpIHtcclxuICAgICAgT2JqZWN0LmtleXMoZGljdGlvbmFyeSkuZm9yRWFjaCgoa2V5KSA9PiB0aGlzLnNldEhlYWRlcihrZXksIGRpY3Rpb25hcnlba2V5XSkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBzZXRTdGF0dXMoY29kZTogbnVtYmVyLCBtZXNzYWdlPzogc3RyaW5nKTogdGhpcyB7XHJcbiAgICBpZiAodGhpcy5yZXNwb25zZSkge1xyXG4gICAgICB0aGlzLnJlc3BvbnNlLnN0YXR1c0NvZGUgPSBjb2RlO1xyXG4gICAgICBpZiAobWVzc2FnZSkge1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2Uuc3RhdHVzTWVzc2FnZSA9IG1lc3NhZ2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgc2V0Tm90Rm91bmQobWVzc2FnZSA9ICdOw6NvIGVuY29udHJhZG8nKTogdGhpcyB7XHJcbiAgICBpZiAodGhpcy5yZXNwb25zZSkge1xyXG4gICAgICB0aGlzLnJlc3BvbnNlLnN0YXR1c0NvZGUgPSA0MDQ7XHJcbiAgICAgIHRoaXMucmVzcG9uc2Uuc3RhdHVzTWVzc2FnZSA9IG1lc3NhZ2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIHNldFVuYXV0aG9yaXplZChtZXNzYWdlID0gJ07Do28gYXV0b3JpemFkbycpOiB0aGlzIHtcclxuICAgIGlmICh0aGlzLnJlc3BvbnNlKSB7XHJcbiAgICAgIHRoaXMucmVzcG9uc2Uuc3RhdHVzQ29kZSA9IDQwMTtcclxuICAgICAgdGhpcy5yZXNwb25zZS5zdGF0dXNNZXNzYWdlID0gbWVzc2FnZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgc2V0RXJyb3IobWVzc2FnZSA9ICdFcnJvIGludGVybm8gZGUgc2Vydmlkb3InKTogdGhpcyB7XHJcbiAgICBpZiAodGhpcy5yZXNwb25zZSkge1xyXG4gICAgICB0aGlzLnJlc3BvbnNlLnN0YXR1c0NvZGUgPSA1MDA7XHJcbiAgICAgIHRoaXMucmVzcG9uc2Uuc3RhdHVzTWVzc2FnZSA9IG1lc3NhZ2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIHNldFJlZGlyZWN0KG1lc3NhZ2UgPSAnUmVkaXJlY2lvbmFkbyBwZXJtYW5lbnRlbWVudGUnKTogdGhpcyB7XHJcbiAgICBpZiAodGhpcy5yZXNwb25zZSkge1xyXG4gICAgICB0aGlzLnJlc3BvbnNlLnN0YXR1c0NvZGUgPSAzMDE7XHJcbiAgICAgIHRoaXMucmVzcG9uc2Uuc3RhdHVzTWVzc2FnZSA9IG1lc3NhZ2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEh0dHBDYWNoZURpcmVjdGl2ZSA9XHJcbiAgfCAncHVibGljJ1xyXG4gIHwgJ3ByaXZhdGUnXHJcbiAgfCAnbm8tc3RvcmUnXHJcbiAgfCAnbm8tY2FjaGUnXHJcbiAgfCAnbXVzdC1yZXZhbGlkYXRlJ1xyXG4gIHwgJ25vLXRyYW5zZm9ybSdcclxuICB8ICdwcm94eS1yZXZhbGlkYXRlJztcclxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLXJlc3BvbnNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zZXJ2ZXItcmVzcG9uc2Uvc2VydmVyLXJlc3BvbnNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFnQnZELE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFBMEMsUUFBYTtRQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVc7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQVcsQ0FBQztJQUNoRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQ2xDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVcsRUFBRSxLQUFhLEVBQUUsU0FBUyxHQUFHLEdBQUc7UUFDdEQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQ0Qs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Z3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXNwb25zZSB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHsgUkVTUE9OU0UgfSBmcm9tICcuLi8uLi90b2tlbnMvZXhwcmVzcy50b2tlbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZXJ2ZXJSZXNwb25zZVNlcnZpY2Uge1xuICBnZXRIZWFkZXIoa2V5OiBzdHJpbmcpOiBzdHJpbmc7XG4gIHNldEhlYWRlcihrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHRoaXM7XG4gIHNldEhlYWRlcnMoZGljdGlvbmFyeTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IHRoaXM7XG4gIGFwcGVuZEhlYWRlcihrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZGVsaW1pdGVyPzogc3RyaW5nKTogdGhpcztcbiAgc2V0U3RhdHVzKGNvZGU6IG51bWJlciwgbWVzc2FnZT86IHN0cmluZyk6IHRoaXM7XG4gIHNldE5vdEZvdW5kKG1lc3NhZ2U/OiBzdHJpbmcpOiB0aGlzO1xuICBzZXRFcnJvcihtZXNzYWdlPzogc3RyaW5nKTogdGhpcztcbiAgc2V0UmVkaXJlY3QobWVzc2FnZT86IHN0cmluZyk6IHRoaXM7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTZXJ2ZXJSZXNwb25zZVNlcnZpY2UgaW1wbGVtZW50cyBJU2VydmVyUmVzcG9uc2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZXNwb25zZTogUmVzcG9uc2U7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChSRVNQT05TRSkgcmVzcG9uc2U6IGFueSkge1xuICAgIHRoaXMucmVzcG9uc2UgPSByZXNwb25zZTtcbiAgfVxuXG4gIGdldEhlYWRlcihrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2UuZ2V0SGVhZGVyKGtleSkgYXMgc3RyaW5nO1xuICB9XG5cbiAgc2V0SGVhZGVyKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKHRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRoaXMucmVzcG9uc2UuaGVhZGVyKGtleSwgdmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFwcGVuZEhlYWRlcihrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZGVsaW1pdGVyID0gJywnKTogdGhpcyB7XG4gICAgaWYgKHRoaXMucmVzcG9uc2UpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmdldEhlYWRlcihrZXkpO1xuICAgICAgaWYgKCFjdXJyZW50KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldEhlYWRlcihrZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gWy4uLmN1cnJlbnQuc3BsaXQoZGVsaW1pdGVyKSwgdmFsdWVdLmZpbHRlcigoZWwsIGksIGEpID0+IGkgPT09IGEuaW5kZXhPZihlbCkpLmpvaW4oZGVsaW1pdGVyKTtcbiAgICAgIHRoaXMucmVzcG9uc2UuaGVhZGVyKGtleSwgbmV3VmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldEhlYWRlcnMoZGljdGlvbmFyeTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IHRoaXMge1xuICAgIGlmICh0aGlzLnJlc3BvbnNlKSB7XG4gICAgICBPYmplY3Qua2V5cyhkaWN0aW9uYXJ5KS5mb3JFYWNoKChrZXkpID0+IHRoaXMuc2V0SGVhZGVyKGtleSwgZGljdGlvbmFyeVtrZXldKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0U3RhdHVzKGNvZGU6IG51bWJlciwgbWVzc2FnZT86IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICh0aGlzLnJlc3BvbnNlKSB7XG4gICAgICB0aGlzLnJlc3BvbnNlLnN0YXR1c0NvZGUgPSBjb2RlO1xuICAgICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgICAgdGhpcy5yZXNwb25zZS5zdGF0dXNNZXNzYWdlID0gbWVzc2FnZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZXROb3RGb3VuZChtZXNzYWdlID0gJ07Do28gZW5jb250cmFkbycpOiB0aGlzIHtcbiAgICBpZiAodGhpcy5yZXNwb25zZSkge1xuICAgICAgdGhpcy5yZXNwb25zZS5zdGF0dXNDb2RlID0gNDA0O1xuICAgICAgdGhpcy5yZXNwb25zZS5zdGF0dXNNZXNzYWdlID0gbWVzc2FnZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZXRVbmF1dGhvcml6ZWQobWVzc2FnZSA9ICdOw6NvIGF1dG9yaXphZG8nKTogdGhpcyB7XG4gICAgaWYgKHRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRoaXMucmVzcG9uc2Uuc3RhdHVzQ29kZSA9IDQwMTtcbiAgICAgIHRoaXMucmVzcG9uc2Uuc3RhdHVzTWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0RXJyb3IobWVzc2FnZSA9ICdFcnJvIGludGVybm8gZGUgc2Vydmlkb3InKTogdGhpcyB7XG4gICAgaWYgKHRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRoaXMucmVzcG9uc2Uuc3RhdHVzQ29kZSA9IDUwMDtcbiAgICAgIHRoaXMucmVzcG9uc2Uuc3RhdHVzTWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0UmVkaXJlY3QobWVzc2FnZSA9ICdSZWRpcmVjaW9uYWRvIHBlcm1hbmVudGVtZW50ZScpOiB0aGlzIHtcbiAgICBpZiAodGhpcy5yZXNwb25zZSkge1xuICAgICAgdGhpcy5yZXNwb25zZS5zdGF0dXNDb2RlID0gMzAxO1xuICAgICAgdGhpcy5yZXNwb25zZS5zdGF0dXNNZXNzYWdlID0gbWVzc2FnZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgSHR0cENhY2hlRGlyZWN0aXZlID1cbiAgfCAncHVibGljJ1xuICB8ICdwcml2YXRlJ1xuICB8ICduby1zdG9yZSdcbiAgfCAnbm8tY2FjaGUnXG4gIHwgJ211c3QtcmV2YWxpZGF0ZSdcbiAgfCAnbm8tdHJhbnNmb3JtJ1xuICB8ICdwcm94eS1yZXZhbGlkYXRlJztcbiJdfQ==