aril 1.2.13 → 1.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/keycloak/src/auth.interceptor.mjs +1 -1
- package/esm2022/theme/layout/app/site-map/site-map-sidebar.component.mjs +3 -3
- package/esm2022/ui-business/assetPicker/src/asset-picker.component.mjs +14 -5
- package/esm2022/ui-business/pdf-preview-modal/aril-ui-business-pdf-preview-modal.mjs +5 -0
- package/esm2022/ui-business/pdf-preview-modal/index.mjs +3 -0
- package/esm2022/ui-business/pdf-preview-modal/src/open-pdf-preview.mjs +23 -0
- package/esm2022/ui-business/pdf-preview-modal/src/pdf-preview-modal.component.mjs +90 -0
- package/esm2022/util/sync-active-tab-route/src/sync-active-tab-route.directive.mjs +1 -1
- package/fesm2022/aril-keycloak.mjs.map +1 -1
- package/fesm2022/aril-theme-layout.mjs +2 -2
- package/fesm2022/aril-theme-layout.mjs.map +1 -1
- package/fesm2022/aril-ui-business-assetPicker.mjs +13 -4
- package/fesm2022/aril-ui-business-assetPicker.mjs.map +1 -1
- package/fesm2022/aril-ui-business-pdf-preview-modal.mjs +119 -0
- package/fesm2022/aril-ui-business-pdf-preview-modal.mjs.map +1 -0
- package/fesm2022/aril-util-sync-active-tab-route.mjs.map +1 -1
- package/package.json +210 -204
- package/theme/layout/app/site-map/site-map-sidebar.component.html +121 -121
- package/ui-business/assetPicker/src/asset-picker.component.d.ts +1 -0
- package/ui-business/pdf-preview-modal/index.d.ts +2 -0
- package/ui-business/pdf-preview-modal/src/open-pdf-preview.d.ts +10 -0
- package/ui-business/pdf-preview-modal/src/pdf-preview-modal.component.d.ts +23 -0
|
@@ -25,4 +25,4 @@ export const authInterceptor = (req, next) => {
|
|
|
25
25
|
return next(authReq);
|
|
26
26
|
};
|
|
27
27
|
export const keycloakAuthInterceptor = (req, next) => inject(KeycloakBearerInterceptor).intercept(req, { handle: next });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2F1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTdDLE1BQU0sZ0JBQWdCLEdBQXNEO0lBQzNFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTtJQUM3RixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUU7SUFDN0YsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFO0NBQzdGLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQWdDLEVBQW9CLEVBQUUsQ0FDeEUsS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUM7QUFFbkUsTUFBTSxZQUFZLEdBQUcsR0FBdUIsRUFBRSxDQUM3QyxRQUFRLENBQUMsTUFBTTtLQUNiLEtBQUssQ0FBQyxJQUFJLENBQUM7S0FDWCxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0MsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFbEIsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFzQixDQUFDLEdBQXlCLEVBQUUsSUFBbUIsRUFBRSxFQUFFO0lBQ3BHLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN2QyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDMUUsTUFBTSxTQUFTLEdBQUcsWUFBWSxFQUFFLENBQUM7SUFFakMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUN6QixVQUFVLEVBQUU7WUFDWCxVQUFVLEVBQUUsU0FBUyxJQUFJLEVBQUU7WUFDM0IsR0FBRyxPQUFPO1NBQ1Y7S0FDRCxDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBc0IsQ0FBQyxHQUF5QixFQUFFLElBQW1CLEVBQUUsRUFBRSxDQUM1RyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGFuZGxlckZuLCBIdHRwSW50ZXJjZXB0b3JGbiwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgS2V5Y2xvYWtCZWFyZXJJbnRlcmNlcHRvciB9IGZyb20gJ2tleWNsb2FrLWFuZ3VsYXInO1xyXG5cclxuaW1wb3J0IHsgYnJpZGdlIH0gZnJvbSAnYXJpbC9ib290L2JyaWRnZSc7XHJcbmltcG9ydCB7IEFwcHMgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xyXG5cclxudHlwZSBIb3N0QXBwID0gQXBwcy5USE9SIHwgQXBwcy5ZRUFQIHwgQXBwcy5MRU5BO1xyXG5cclxuY29uc3QgSE9TVF9BUFBfSEVBREVSUzogUmVjb3JkPEhvc3RBcHAsIFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHN0cmluZz4+PiA9IHtcclxuXHRbQXBwcy5USE9SXTogeyAneC15ZWFwLWFwcGxpY2F0aW9uJzogJ3Rob3InLCAneC1hcHBsaWNhdGlvbic6ICd0aG9yJywgJ3gtbW9kdWxlJzogJ3Rob3ItZmUnIH0sXHJcblx0W0FwcHMuTEVOQV06IHsgJ3gteWVhcC1hcHBsaWNhdGlvbic6ICdsZW5hJywgJ3gtYXBwbGljYXRpb24nOiAnbGVuYScsICd4LW1vZHVsZSc6ICdsZW5hLWZlJyB9LFxyXG5cdFtBcHBzLllFQVBdOiB7ICd4LXllYXAtYXBwbGljYXRpb24nOiAneWVhcCcsICd4LWFwcGxpY2F0aW9uJzogJ3llYXAnLCAneC1tb2R1bGUnOiAneWVhcC1mZScgfVxyXG59O1xyXG5cclxuY29uc3QgaXNIb3N0QXBwID0gKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogdmFsdWUgaXMgSG9zdEFwcCA9PlxyXG5cdHZhbHVlID09PSBBcHBzLlRIT1IgfHwgdmFsdWUgPT09IEFwcHMuTEVOQSB8fCB2YWx1ZSA9PT0gQXBwcy5ZRUFQO1xyXG5cclxuY29uc3QgZ2V0Q3NyZlRva2VuID0gKCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxyXG5cdGRvY3VtZW50LmNvb2tpZVxyXG5cdFx0LnNwbGl0KCc7ICcpXHJcblx0XHQuZmluZCgocm93KSA9PiByb3cuc3RhcnRzV2l0aCgnY3NyZl90b2tlbj0nKSlcclxuXHRcdD8uc3BsaXQoJz0nKVsxXTtcclxuXHJcbmV4cG9ydCBjb25zdCBhdXRoSW50ZXJjZXB0b3I6IEh0dHBJbnRlcmNlcHRvckZuID0gKHJlcTogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyRm4pID0+IHtcclxuXHRjb25zdCBhY3RpdmVIb3N0ID0gYnJpZGdlLmFjdGl2ZUhvc3QoKTtcclxuXHRjb25zdCBoZWFkZXJzID0gaXNIb3N0QXBwKGFjdGl2ZUhvc3QpID8gSE9TVF9BUFBfSEVBREVSU1thY3RpdmVIb3N0XSA6IHt9O1xyXG5cdGNvbnN0IGNzcmZUb2tlbiA9IGdldENzcmZUb2tlbigpO1xyXG5cclxuXHRjb25zdCBhdXRoUmVxID0gcmVxLmNsb25lKHtcclxuXHRcdHNldEhlYWRlcnM6IHtcclxuXHRcdFx0Y3NyZl90b2tlbjogY3NyZlRva2VuID8/ICcnLFxyXG5cdFx0XHQuLi5oZWFkZXJzXHJcblx0XHR9XHJcblx0fSk7XHJcblxyXG5cdHJldHVybiBuZXh0KGF1dGhSZXEpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGtleWNsb2FrQXV0aEludGVyY2VwdG9yOiBIdHRwSW50ZXJjZXB0b3JGbiA9IChyZXE6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlckZuKSA9PlxyXG5cdGluamVjdChLZXljbG9ha0JlYXJlckludGVyY2VwdG9yKS5pbnRlcmNlcHQocmVxLCB7IGhhbmRsZTogbmV4dCB9KTtcclxuIl19
|
|
@@ -147,7 +147,7 @@ export class SiteMapSidebarComponent {
|
|
|
147
147
|
return node.key || `${index}`;
|
|
148
148
|
}
|
|
149
149
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SiteMapSidebarComponent, deps: [{ token: i1.LayoutService }, { token: i2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
150
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: SiteMapSidebarComponent, isStandalone: true, selector: "app-site-map-sidebar", ngImport: i0, template: "<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-sitemap-sidebar w-full sm:w-30rem\"\n\t*transloco=\"let t; read: 'siteMap'\">\n\t<ng-template pTemplate=\"header\">\n\t\t<div class=\"flex align-items-center justify-content-between gap-2 w-full\">\n\t\t\t<div class=\"flex align-items-center gap-2\">\n\t\t\t\t<i class=\"pi pi-sitemap text-primary text-xl\"></i>\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('siteMap') }}</span>\n\t\t\t\t<span class=\"total-pages\">{{ totalPages() }} {{ t('pages') }}</span>\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n\n\t<div class=\"sitemap-content\">\n\t\t<div class=\"search-section grid p-fluid m-0\">\n\t\t\t<aril-text\n\t\t\t\t[placeholder]=\"t('searchPages')\"\n\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t(ngModelChange)=\"onSearchChange()\"\n\t\t\t\tclass=\"col-10 m-0\">\n\t\t\t</aril-text>\n\t\t\t@if (filteredNodes().length > 0) {\n\t\t\t<div class=\"col-2 flex align-items-center m-0 p-0\">\n\t\t\t\t\t<fa-icon\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesDown\"\n\t\t\t\t\t\tsize=\"xl\"\n\t\t\t\t\t\tstyle=\"color: var(--primary-color)\"\n\t\t\t\t\t\tclass=\"col-1 cursor-pointer\"\n\t\t\t\t\t\t[pTooltip]=\"t('expandAll')\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t(click)=\"expandAll()\">\n\t\t\t\t\t</fa-icon>\n\t\t\t\t\t<fa-icon\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesUp\"\n\t\t\t\t\t\tsize=\"xl\"\n\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\n\t\t\t\t\t\tclass=\"col-1 ml-3 cursor-pointer\"\n\t\t\t\t\t\t[pTooltip]=\"t('collapseAll')\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t(click)=\"collapseAll()\">\n\t\t\t\t\t</fa-icon>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\n\t\t<!-- Site Map Tree -->\n\t\t@if (filteredNodes().length > 0) {\n\t\t\t<div class=\"sitemap-tree\">\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\n\t\t\t\t\t<div class=\"tree-container\">\n\t\t\t\t\t\t@for (node of filteredNodes(); track trackByKey($index, node)) {\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: node, level: 0 }\"></ng-container>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</p-scrollPanel>\n\t\t\t</div>\n\t\t} @else {\n\t\t\t<div class=\"empty-state\">\n\t\t\t\t<div class=\"empty-content\">\n\t\t\t\t\t<i class=\"pi pi-sitemap empty-icon\"></i>\n\t\t\t\t\t<h3 class=\"empty-title\">\n\t\t\t\t\t\t{{ searchTerm() ? t('noSearchResults') : t('noPages') }}\n\t\t\t\t\t</h3>\n\t\t\t\t\t<p class=\"empty-message\">\n\t\t\t\t\t\t{{ searchTerm() ? t('tryDifferentKeywords') : '' }}\n\t\t\t\t\t</p>\n\t\t\t\t\t@if (searchTerm()) {\n\t\t\t\t\t\t<aril-button\n\t\t\t\t\t\t\t[label]=\"t('clearSearch')\"\n\t\t\t\t\t\t\ticon=\"TIMES\"\n\t\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\t\t[outlined]=\"true\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t(clickEvent)=\"searchTerm.set(''); onSearchChange()\">\n\t\t\t\t\t\t</aril-button>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t}\n\n\t\t<!-- Recursive Tree Node Template -->\n\t\t<ng-template #treeNodeTemplate let-node let-level=\"level\">\n\t\t\t<div class=\"tree-node\" [style.margin-left.px]=\"level * 20\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"node-item\"\n\t\t\t\t\t[class.has-children]=\"node.children && node.children.length > 0\"\n\t\t\t\t\t[class.is-page]=\"node.routerLink\"\n\t\t\t\t\t[routerLink]=\"node.routerLink\"\n\t\t\t\t\t(click)=\"!node.routerLink ? toggleNode(node) : (visible = false)\">\n\t\t\t\t\t<div class=\"node-content\">\n\t\t\t\t\t\t@if (node.children && node.children.length > 0) {\n\t\t\t\t\t\t\t<div class=\"toggle-btn\" (click)=\"$event.stopPropagation(); toggleNode(node)\">\n\t\t\t\t\t\t\t\t<i class=\"pi\" [class.pi-chevron-right]=\"!node.expanded\" [class.pi-chevron-down]=\"node.expanded\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@if (node.icon) {\n\t\t\t\t\t\t\t<i class=\"node-icon\" [class]=\"node.icon\"></i>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t<span class=\"node-label\">{{ node.label | translateJson }}</span>\n\n\t\t\t\t\t\t@if (node.routerLink) {\n\t\t\t\t\t\t\t<i class=\"external-icon pi pi-external-link\"></i>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Recursive Children -->\n\t\t\t\t@if (node.children && node.expanded) {\n\t\t\t\t\t@for (child of node.children; track trackByKey($index, child)) {\n\t\t\t\t\t\t<ng-container\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: child, level: level + 1 }\"></ng-container>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t</ng-template>\n\t</div>\n</p-sidebar>\n", styles: [":host ::ng-deep .layout-sitemap-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem .5rem}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header .total-pages{background:#fff3;color:#ffffffe6;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.sitemap-content{display:flex;flex-direction:column;height:100%;background:var(--surface-ground)}.search-section{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.sitemap-tree{flex:1;overflow:hidden}.tree-container{padding:.5rem 0}.tree-node .node-item{display:flex;align-items:center;padding:.5rem 1rem;border-radius:6px;margin:.1rem .5rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.tree-node .node-item:hover{background:var(--surface-hover);border-color:var(--surface-border)}.tree-node .node-item.is-page:hover{background:var(--primary-50);border-color:var(--primary-200)}.tree-node .node-item.is-page:hover .external-icon{opacity:1}.tree-node .node-item.has-children{font-weight:500}.tree-node .node-content{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.tree-node .toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.tree-node .toggle-btn:hover{background:var(--surface-hover);color:var(--primary-color)}.tree-node .toggle-btn i{font-size:.7rem}.tree-node .node-icon{color:var(--primary-color);font-size:.9rem;flex-shrink:0}.tree-node .node-label{flex:1;font-size:.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node .external-icon{color:var(--text-color-secondary);font-size:.7rem;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}:host ::ng-deep .p-scrollpanel-bar-y{background:var(--primary-200);width:4px;border-radius:2px}:host ::ng-deep .p-scrollpanel-bar-y:hover{background:var(--primary-300)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i6.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ScrollPanelModule }, { kind: "component", type: i8.ScrollPanel, selector: "p-scrollPanel", inputs: ["style", "styleClass", "step"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "component", type: TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "directive", type: i2.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "pipe", type: TranslateJsonPipe, name: "translateJson" }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i10.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
|
|
150
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: SiteMapSidebarComponent, isStandalone: true, selector: "app-site-map-sidebar", ngImport: i0, template: "<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-sitemap-sidebar w-full sm:w-30rem\"\r\n\t*transloco=\"let t; read: 'siteMap'\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<div class=\"flex align-items-center justify-content-between gap-2 w-full\">\r\n\t\t\t<div class=\"flex align-items-center gap-2\">\r\n\t\t\t\t<i class=\"pi pi-sitemap text-primary text-xl\"></i>\r\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('siteMap') }}</span>\r\n\t\t\t\t<span class=\"total-pages\">{{ totalPages() }} {{ t('pages') }}</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-template>\r\n\r\n\t<div class=\"sitemap-content\">\r\n\t\t<div class=\"search-section grid p-fluid m-0\">\r\n\t\t\t<aril-text\r\n\t\t\t\t[placeholder]=\"t('searchPages')\"\r\n\t\t\t\t[(ngModel)]=\"searchTerm\"\r\n\t\t\t\t(ngModelChange)=\"onSearchChange()\"\r\n\t\t\t\tclass=\"col-10 m-0\">\r\n\t\t\t</aril-text>\r\n\t\t\t@if (filteredNodes().length > 0) {\r\n\t\t\t<div class=\"col-2 flex align-items-center m-0 p-0\">\r\n\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesDown\"\r\n\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\tstyle=\"color: var(--primary-color)\"\r\n\t\t\t\t\t\tclass=\"col-1 cursor-pointer\"\r\n\t\t\t\t\t\t[pTooltip]=\"t('expandAll')\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t(click)=\"expandAll()\">\r\n\t\t\t\t\t</fa-icon>\r\n\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesUp\"\r\n\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\r\n\t\t\t\t\t\tclass=\"col-1 ml-3 cursor-pointer\"\r\n\t\t\t\t\t\t[pTooltip]=\"t('collapseAll')\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t(click)=\"collapseAll()\">\r\n\t\t\t\t\t</fa-icon>\r\n\t\t\t\t</div>\r\n\t\t\t}\r\n\t\t</div>\r\n\r\n\t\t<!-- Site Map Tree -->\r\n\t\t@if (filteredNodes().length > 0) {\r\n\t\t\t<div class=\"sitemap-tree\">\r\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\r\n\t\t\t\t\t<div class=\"tree-container\">\r\n\t\t\t\t\t\t@for (node of filteredNodes(); track trackByKey($index, node)) {\r\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: node, level: 0 }\"></ng-container>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-scrollPanel>\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<div class=\"empty-state\">\r\n\t\t\t\t<div class=\"empty-content\">\r\n\t\t\t\t\t<i class=\"pi pi-sitemap empty-icon\"></i>\r\n\t\t\t\t\t<h3 class=\"empty-title\">\r\n\t\t\t\t\t\t{{ searchTerm() ? t('noSearchResults') : t('noPages') }}\r\n\t\t\t\t\t</h3>\r\n\t\t\t\t\t<p class=\"empty-message\">\r\n\t\t\t\t\t\t{{ searchTerm() ? t('tryDifferentKeywords') : '' }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t@if (searchTerm()) {\r\n\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t[label]=\"t('clearSearch')\"\r\n\t\t\t\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t(clickEvent)=\"searchTerm.set(''); onSearchChange()\">\r\n\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t}\r\n\r\n\t\t<!-- Recursive Tree Node Template -->\r\n\t\t<ng-template #treeNodeTemplate let-node let-level=\"level\">\r\n\t\t\t<div class=\"tree-node\" [style.margin-left.px]=\"level * 20\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"node-item\"\r\n\t\t\t\t\t[class.has-children]=\"node.children && node.children.length > 0\"\r\n\t\t\t\t\t[class.is-page]=\"node.routerLink\"\r\n\t\t\t\t\t[routerLink]=\"node.routerLink\"\r\n\t\t\t\t\t(click)=\"!node.routerLink ? toggleNode(node) : (visible = false)\">\r\n\t\t\t\t\t<div class=\"node-content\">\r\n\t\t\t\t\t\t@if (node.children && node.children.length > 0) {\r\n\t\t\t\t\t\t\t<div class=\"toggle-btn\" (click)=\"$event.stopPropagation(); toggleNode(node)\">\r\n\t\t\t\t\t\t\t\t<i class=\"pi\" [class.pi-chevron-right]=\"!node.expanded\" [class.pi-chevron-down]=\"node.expanded\"></i>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t@if (node.icon) {\r\n\t\t\t\t\t\t\t<i class=\"node-icon\" [class]=\"node.icon\"></i>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t<span class=\"node-label\">{{ node.label | translateJson }}</span>\r\n\r\n\t\t\t\t\t\t@if (node.routerLink) {\r\n\t\t\t\t\t\t\t<i class=\"external-icon pi pi-external-link\"></i>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- Recursive Children -->\r\n\t\t\t\t@if (node.children && node.expanded) {\r\n\t\t\t\t\t@for (child of node.children; track trackByKey($index, child)) {\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: child, level: level + 1 }\"></ng-container>\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</div>\r\n</p-sidebar>\r\n", styles: [":host ::ng-deep .layout-sitemap-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem .5rem}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header .total-pages{background:#fff3;color:#ffffffe6;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.sitemap-content{display:flex;flex-direction:column;height:100%;background:var(--surface-ground)}.search-section{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.sitemap-tree{flex:1;overflow:hidden}.tree-container{padding:.5rem 0}.tree-node .node-item{display:flex;align-items:center;padding:.5rem 1rem;border-radius:6px;margin:.1rem .5rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.tree-node .node-item:hover{background:var(--surface-hover);border-color:var(--surface-border)}.tree-node .node-item.is-page:hover{background:var(--primary-50);border-color:var(--primary-200)}.tree-node .node-item.is-page:hover .external-icon{opacity:1}.tree-node .node-item.has-children{font-weight:500}.tree-node .node-content{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.tree-node .toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.tree-node .toggle-btn:hover{background:var(--surface-hover);color:var(--primary-color)}.tree-node .toggle-btn i{font-size:.7rem}.tree-node .node-icon{color:var(--primary-color);font-size:.9rem;flex-shrink:0}.tree-node .node-label{flex:1;font-size:.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node .external-icon{color:var(--text-color-secondary);font-size:.7rem;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}:host ::ng-deep .p-scrollpanel-bar-y{background:var(--primary-200);width:4px;border-radius:2px}:host ::ng-deep .p-scrollpanel-bar-y:hover{background:var(--primary-300)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i6.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ScrollPanelModule }, { kind: "component", type: i8.ScrollPanel, selector: "p-scrollPanel", inputs: ["style", "styleClass", "step"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "component", type: TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "directive", type: i2.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "pipe", type: TranslateJsonPipe, name: "translateJson" }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i10.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
|
|
151
151
|
}
|
|
152
152
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SiteMapSidebarComponent, decorators: [{
|
|
153
153
|
type: Component,
|
|
@@ -163,6 +163,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
163
163
|
TranslocoModule,
|
|
164
164
|
TranslateJsonPipe,
|
|
165
165
|
FontAwesomeModule
|
|
166
|
-
], template: "<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-sitemap-sidebar w-full sm:w-30rem\"\n\t*transloco=\"let t; read: 'siteMap'\">\n\t<ng-template pTemplate=\"header\">\n\t\t<div class=\"flex align-items-center justify-content-between gap-2 w-full\">\n\t\t\t<div class=\"flex align-items-center gap-2\">\n\t\t\t\t<i class=\"pi pi-sitemap text-primary text-xl\"></i>\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('siteMap') }}</span>\n\t\t\t\t<span class=\"total-pages\">{{ totalPages() }} {{ t('pages') }}</span>\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n\n\t<div class=\"sitemap-content\">\n\t\t<div class=\"search-section grid p-fluid m-0\">\n\t\t\t<aril-text\n\t\t\t\t[placeholder]=\"t('searchPages')\"\n\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t(ngModelChange)=\"onSearchChange()\"\n\t\t\t\tclass=\"col-10 m-0\">\n\t\t\t</aril-text>\n\t\t\t@if (filteredNodes().length > 0) {\n\t\t\t<div class=\"col-2 flex align-items-center m-0 p-0\">\n\t\t\t\t\t<fa-icon\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesDown\"\n\t\t\t\t\t\tsize=\"xl\"\n\t\t\t\t\t\tstyle=\"color: var(--primary-color)\"\n\t\t\t\t\t\tclass=\"col-1 cursor-pointer\"\n\t\t\t\t\t\t[pTooltip]=\"t('expandAll')\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t(click)=\"expandAll()\">\n\t\t\t\t\t</fa-icon>\n\t\t\t\t\t<fa-icon\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesUp\"\n\t\t\t\t\t\tsize=\"xl\"\n\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\n\t\t\t\t\t\tclass=\"col-1 ml-3 cursor-pointer\"\n\t\t\t\t\t\t[pTooltip]=\"t('collapseAll')\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t(click)=\"collapseAll()\">\n\t\t\t\t\t</fa-icon>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\n\t\t<!-- Site Map Tree -->\n\t\t@if (filteredNodes().length > 0) {\n\t\t\t<div class=\"sitemap-tree\">\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\n\t\t\t\t\t<div class=\"tree-container\">\n\t\t\t\t\t\t@for (node of filteredNodes(); track trackByKey($index, node)) {\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: node, level: 0 }\"></ng-container>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</p-scrollPanel>\n\t\t\t</div>\n\t\t} @else {\n\t\t\t<div class=\"empty-state\">\n\t\t\t\t<div class=\"empty-content\">\n\t\t\t\t\t<i class=\"pi pi-sitemap empty-icon\"></i>\n\t\t\t\t\t<h3 class=\"empty-title\">\n\t\t\t\t\t\t{{ searchTerm() ? t('noSearchResults') : t('noPages') }}\n\t\t\t\t\t</h3>\n\t\t\t\t\t<p class=\"empty-message\">\n\t\t\t\t\t\t{{ searchTerm() ? t('tryDifferentKeywords') : '' }}\n\t\t\t\t\t</p>\n\t\t\t\t\t@if (searchTerm()) {\n\t\t\t\t\t\t<aril-button\n\t\t\t\t\t\t\t[label]=\"t('clearSearch')\"\n\t\t\t\t\t\t\ticon=\"TIMES\"\n\t\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\t\t[outlined]=\"true\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t(clickEvent)=\"searchTerm.set(''); onSearchChange()\">\n\t\t\t\t\t\t</aril-button>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t}\n\n\t\t<!-- Recursive Tree Node Template -->\n\t\t<ng-template #treeNodeTemplate let-node let-level=\"level\">\n\t\t\t<div class=\"tree-node\" [style.margin-left.px]=\"level * 20\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"node-item\"\n\t\t\t\t\t[class.has-children]=\"node.children && node.children.length > 0\"\n\t\t\t\t\t[class.is-page]=\"node.routerLink\"\n\t\t\t\t\t[routerLink]=\"node.routerLink\"\n\t\t\t\t\t(click)=\"!node.routerLink ? toggleNode(node) : (visible = false)\">\n\t\t\t\t\t<div class=\"node-content\">\n\t\t\t\t\t\t@if (node.children && node.children.length > 0) {\n\t\t\t\t\t\t\t<div class=\"toggle-btn\" (click)=\"$event.stopPropagation(); toggleNode(node)\">\n\t\t\t\t\t\t\t\t<i class=\"pi\" [class.pi-chevron-right]=\"!node.expanded\" [class.pi-chevron-down]=\"node.expanded\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@if (node.icon) {\n\t\t\t\t\t\t\t<i class=\"node-icon\" [class]=\"node.icon\"></i>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t<span class=\"node-label\">{{ node.label | translateJson }}</span>\n\n\t\t\t\t\t\t@if (node.routerLink) {\n\t\t\t\t\t\t\t<i class=\"external-icon pi pi-external-link\"></i>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Recursive Children -->\n\t\t\t\t@if (node.children && node.expanded) {\n\t\t\t\t\t@for (child of node.children; track trackByKey($index, child)) {\n\t\t\t\t\t\t<ng-container\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: child, level: level + 1 }\"></ng-container>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t</ng-template>\n\t</div>\n</p-sidebar>\n", styles: [":host ::ng-deep .layout-sitemap-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem .5rem}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header .total-pages{background:#fff3;color:#ffffffe6;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.sitemap-content{display:flex;flex-direction:column;height:100%;background:var(--surface-ground)}.search-section{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.sitemap-tree{flex:1;overflow:hidden}.tree-container{padding:.5rem 0}.tree-node .node-item{display:flex;align-items:center;padding:.5rem 1rem;border-radius:6px;margin:.1rem .5rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.tree-node .node-item:hover{background:var(--surface-hover);border-color:var(--surface-border)}.tree-node .node-item.is-page:hover{background:var(--primary-50);border-color:var(--primary-200)}.tree-node .node-item.is-page:hover .external-icon{opacity:1}.tree-node .node-item.has-children{font-weight:500}.tree-node .node-content{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.tree-node .toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.tree-node .toggle-btn:hover{background:var(--surface-hover);color:var(--primary-color)}.tree-node .toggle-btn i{font-size:.7rem}.tree-node .node-icon{color:var(--primary-color);font-size:.9rem;flex-shrink:0}.tree-node .node-label{flex:1;font-size:.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node .external-icon{color:var(--text-color-secondary);font-size:.7rem;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}:host ::ng-deep .p-scrollpanel-bar-y{background:var(--primary-200);width:4px;border-radius:2px}:host ::ng-deep .p-scrollpanel-bar-y:hover{background:var(--primary-300)}\n"] }]
|
|
166
|
+
], template: "<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-sitemap-sidebar w-full sm:w-30rem\"\r\n\t*transloco=\"let t; read: 'siteMap'\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<div class=\"flex align-items-center justify-content-between gap-2 w-full\">\r\n\t\t\t<div class=\"flex align-items-center gap-2\">\r\n\t\t\t\t<i class=\"pi pi-sitemap text-primary text-xl\"></i>\r\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('siteMap') }}</span>\r\n\t\t\t\t<span class=\"total-pages\">{{ totalPages() }} {{ t('pages') }}</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-template>\r\n\r\n\t<div class=\"sitemap-content\">\r\n\t\t<div class=\"search-section grid p-fluid m-0\">\r\n\t\t\t<aril-text\r\n\t\t\t\t[placeholder]=\"t('searchPages')\"\r\n\t\t\t\t[(ngModel)]=\"searchTerm\"\r\n\t\t\t\t(ngModelChange)=\"onSearchChange()\"\r\n\t\t\t\tclass=\"col-10 m-0\">\r\n\t\t\t</aril-text>\r\n\t\t\t@if (filteredNodes().length > 0) {\r\n\t\t\t<div class=\"col-2 flex align-items-center m-0 p-0\">\r\n\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesDown\"\r\n\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\tstyle=\"color: var(--primary-color)\"\r\n\t\t\t\t\t\tclass=\"col-1 cursor-pointer\"\r\n\t\t\t\t\t\t[pTooltip]=\"t('expandAll')\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t(click)=\"expandAll()\">\r\n\t\t\t\t\t</fa-icon>\r\n\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesUp\"\r\n\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\r\n\t\t\t\t\t\tclass=\"col-1 ml-3 cursor-pointer\"\r\n\t\t\t\t\t\t[pTooltip]=\"t('collapseAll')\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t(click)=\"collapseAll()\">\r\n\t\t\t\t\t</fa-icon>\r\n\t\t\t\t</div>\r\n\t\t\t}\r\n\t\t</div>\r\n\r\n\t\t<!-- Site Map Tree -->\r\n\t\t@if (filteredNodes().length > 0) {\r\n\t\t\t<div class=\"sitemap-tree\">\r\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\r\n\t\t\t\t\t<div class=\"tree-container\">\r\n\t\t\t\t\t\t@for (node of filteredNodes(); track trackByKey($index, node)) {\r\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: node, level: 0 }\"></ng-container>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-scrollPanel>\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<div class=\"empty-state\">\r\n\t\t\t\t<div class=\"empty-content\">\r\n\t\t\t\t\t<i class=\"pi pi-sitemap empty-icon\"></i>\r\n\t\t\t\t\t<h3 class=\"empty-title\">\r\n\t\t\t\t\t\t{{ searchTerm() ? t('noSearchResults') : t('noPages') }}\r\n\t\t\t\t\t</h3>\r\n\t\t\t\t\t<p class=\"empty-message\">\r\n\t\t\t\t\t\t{{ searchTerm() ? t('tryDifferentKeywords') : '' }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t@if (searchTerm()) {\r\n\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t[label]=\"t('clearSearch')\"\r\n\t\t\t\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t(clickEvent)=\"searchTerm.set(''); onSearchChange()\">\r\n\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t}\r\n\r\n\t\t<!-- Recursive Tree Node Template -->\r\n\t\t<ng-template #treeNodeTemplate let-node let-level=\"level\">\r\n\t\t\t<div class=\"tree-node\" [style.margin-left.px]=\"level * 20\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"node-item\"\r\n\t\t\t\t\t[class.has-children]=\"node.children && node.children.length > 0\"\r\n\t\t\t\t\t[class.is-page]=\"node.routerLink\"\r\n\t\t\t\t\t[routerLink]=\"node.routerLink\"\r\n\t\t\t\t\t(click)=\"!node.routerLink ? toggleNode(node) : (visible = false)\">\r\n\t\t\t\t\t<div class=\"node-content\">\r\n\t\t\t\t\t\t@if (node.children && node.children.length > 0) {\r\n\t\t\t\t\t\t\t<div class=\"toggle-btn\" (click)=\"$event.stopPropagation(); toggleNode(node)\">\r\n\t\t\t\t\t\t\t\t<i class=\"pi\" [class.pi-chevron-right]=\"!node.expanded\" [class.pi-chevron-down]=\"node.expanded\"></i>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t@if (node.icon) {\r\n\t\t\t\t\t\t\t<i class=\"node-icon\" [class]=\"node.icon\"></i>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t<span class=\"node-label\">{{ node.label | translateJson }}</span>\r\n\r\n\t\t\t\t\t\t@if (node.routerLink) {\r\n\t\t\t\t\t\t\t<i class=\"external-icon pi pi-external-link\"></i>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- Recursive Children -->\r\n\t\t\t\t@if (node.children && node.expanded) {\r\n\t\t\t\t\t@for (child of node.children; track trackByKey($index, child)) {\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: child, level: level + 1 }\"></ng-container>\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</div>\r\n</p-sidebar>\r\n", styles: [":host ::ng-deep .layout-sitemap-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem .5rem}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header .total-pages{background:#fff3;color:#ffffffe6;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.sitemap-content{display:flex;flex-direction:column;height:100%;background:var(--surface-ground)}.search-section{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.sitemap-tree{flex:1;overflow:hidden}.tree-container{padding:.5rem 0}.tree-node .node-item{display:flex;align-items:center;padding:.5rem 1rem;border-radius:6px;margin:.1rem .5rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.tree-node .node-item:hover{background:var(--surface-hover);border-color:var(--surface-border)}.tree-node .node-item.is-page:hover{background:var(--primary-50);border-color:var(--primary-200)}.tree-node .node-item.is-page:hover .external-icon{opacity:1}.tree-node .node-item.has-children{font-weight:500}.tree-node .node-content{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.tree-node .toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.tree-node .toggle-btn:hover{background:var(--surface-hover);color:var(--primary-color)}.tree-node .toggle-btn i{font-size:.7rem}.tree-node .node-icon{color:var(--primary-color);font-size:.9rem;flex-shrink:0}.tree-node .node-label{flex:1;font-size:.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node .external-icon{color:var(--text-color-secondary);font-size:.7rem;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}:host ::ng-deep .p-scrollpanel-bar-y{background:var(--primary-200);width:4px;border-radius:2px}:host ::ng-deep .p-scrollpanel-bar-y:hover{background:var(--primary-300)}\n"] }]
|
|
167
167
|
}], ctorParameters: () => [{ type: i1.LayoutService }, { type: i2.TranslocoService }] });
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvc2l0ZS1tYXAvc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvc2l0ZS1tYXAvc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFFdEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7OztBQThCM0MsTUFBTSxPQUFPLHVCQUF1QjtJQU9uQyxZQUNRLGFBQTRCLEVBQzNCLGdCQUFrQztRQURuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBUjNDLGlCQUFZLEdBQUcsTUFBTSxDQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLGtCQUFhLEdBQUcsTUFBTSxDQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLGVBQVUsR0FBRyxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLE1BQU0sQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUM5QixlQUFVLEdBQUcsVUFBVSxDQUFDO0lBS3RCLENBQUM7SUFFSixRQUFRO1FBQ1AsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUN4RCxDQUFDO0lBRU8sV0FBVztRQUNsQixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQVksRUFBRSxTQUFTLEdBQUcsRUFBRTtRQUNyRCxPQUFPLEtBQUs7YUFDVixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQiwwREFBMEQ7WUFDMUQsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDckYsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3BCLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFFN0QsSUFBSSxLQUFzQixDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDN0IsS0FBSyxHQUFHLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDeEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNQLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDM0QsQ0FBQztZQUVELE1BQU0sSUFBSSxHQUFhO2dCQUN0QixHQUFHO2dCQUNILEtBQUs7Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDM0IsUUFBUSxFQUFFLEtBQUs7YUFDZixDQUFDO1lBRUYsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3pELENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUFpQjtRQUN4QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQzFCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNyQixLQUFLLEVBQUUsQ0FBQztZQUNULENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLENBQUM7UUFDRixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRUQsY0FBYztRQUNiLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMxRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDN0UsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLENBQUM7YUFBTSxDQUFDO1lBQ1AsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNGLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBaUIsRUFBRSxVQUFrQjtRQUN4RCxNQUFNLFFBQVEsR0FBZSxFQUFFLENBQUM7UUFDaEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTFELEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDMUIsOERBQThEO1lBQzlELE1BQU0sU0FBUyxHQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLEtBQUs7Z0JBQ1gsQ0FBQyxDQUFFLElBQUksQ0FBQyxLQUFhLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSyxJQUFJLENBQUMsS0FBYSxFQUFFLEVBQUUsSUFBSyxJQUFJLENBQUMsS0FBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFFbEcsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM5RSxJQUFJLGdCQUFnQixHQUFlLEVBQUUsQ0FBQztZQUV0QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbkIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7WUFFRCxJQUFJLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzVDLFFBQVEsQ0FBQyxJQUFJLENBQUM7b0JBQ2IsR0FBRyxJQUFJO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVE7b0JBQ3hFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQztpQkFDckMsQ0FBQyxDQUFDO1lBQ0osQ0FBQztRQUNGLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNqQixDQUFDO0lBRUQsU0FBUztRQUNSLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFpQixFQUFFLFFBQWlCO1FBQ3ZELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQixHQUFHLElBQUk7WUFDUCxRQUFRO1lBQ1IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMvRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWEsRUFBRSxJQUFjO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7OEdBakpXLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGdGQ2hEcEMseTlJQXlIQSw0akZEeEZFLFlBQVkscU1BQ1osV0FBVyw4VkFDWCxZQUFZLCtRQUNaLGFBQWEsbWRBQ2IsaUJBQWlCLCtJQUNqQixhQUFhLHNYQUNiLGVBQWUsOE5BQ2YsYUFBYSxrTEFDYixlQUFlLDROQUNmLGlCQUFpQixxREFDakIsaUJBQWlCOzsyRkFLTix1QkFBdUI7a0JBbkJuQyxTQUFTO2lDQUNHLElBQUksWUFDTixzQkFBc0IsV0FDdkI7d0JBQ1IsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixpQkFBaUI7cUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IFNjcm9sbFBhbmVsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zY3JvbGxwYW5lbCc7XHJcbmltcG9ydCB7IFNpZGViYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NpZGViYXInO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbG9jb01vZHVsZSwgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuXHJcbmltcG9ydCB7IGJyaWRnZSB9IGZyb20gJ2FyaWwvYm9vdC9icmlkZ2UnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL3RleHQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVKc29uUGlwZSB9IGZyb20gJ2FyaWwvdXRpbC9waXBlcyc7XHJcblxyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hcHAubGF5b3V0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcclxuaW1wb3J0IHsgc29saWRJY29ucyB9IGZyb20gJ2FyaWwvdXRpbC9saWInO1xyXG5cclxuaW50ZXJmYWNlIE1lbnVOb2RlIHtcclxuXHRrZXk6IHN0cmluZztcclxuXHRsYWJlbDogc3RyaW5nIHwgb2JqZWN0O1xyXG5cdGljb24/OiBzdHJpbmc7XHJcblx0cm91dGVyTGluaz86IHN0cmluZztcclxuXHRjaGlsZHJlbj86IE1lbnVOb2RlW107XHJcblx0ZXhwYW5kZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXBwLXNpdGUtbWFwLXNpZGViYXInLFxyXG5cdGltcG9ydHM6IFtcclxuXHRcdENvbW1vbk1vZHVsZSxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0Um91dGVyTW9kdWxlLFxyXG5cdFx0U2lkZWJhck1vZHVsZSxcclxuXHRcdFNjcm9sbFBhbmVsTW9kdWxlLFxyXG5cdFx0VG9vbHRpcE1vZHVsZSxcclxuXHRcdEJ1dHRvbkNvbXBvbmVudCxcclxuXHRcdFRleHRDb21wb25lbnQsXHJcblx0XHRUcmFuc2xvY29Nb2R1bGUsXHJcblx0XHRUcmFuc2xhdGVKc29uUGlwZSxcclxuXHRcdEZvbnRBd2Vzb21lTW9kdWxlXHJcblx0XSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaXRlTWFwU2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0c2l0ZU1hcE5vZGVzID0gc2lnbmFsPE1lbnVOb2RlW10+KFtdKTtcclxuXHRmaWx0ZXJlZE5vZGVzID0gc2lnbmFsPE1lbnVOb2RlW10+KFtdKTtcclxuXHRzZWFyY2hUZXJtID0gc2lnbmFsPHN0cmluZz4oJycpO1xyXG5cdHRvdGFsUGFnZXMgPSBzaWduYWw8bnVtYmVyPigwKTtcclxuICBzb2xpZEljb25zID0gc29saWRJY29ucztcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcclxuXHRcdHByaXZhdGUgdHJhbnNsb2NvU2VydmljZTogVHJhbnNsb2NvU2VydmljZVxyXG5cdCkge31cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLmxvYWRTaXRlTWFwKCk7XHJcblx0fVxyXG5cclxuXHRnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc2l0ZU1hcFNpZGViYXJWaXNpYmxlO1xyXG5cdH1cclxuXHJcblx0c2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zaXRlTWFwU2lkZWJhclZpc2libGUgPSB2YWx1ZTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgbG9hZFNpdGVNYXAoKTogdm9pZCB7XHJcblx0XHRjb25zdCBtZW51SXRlbXMgPSBicmlkZ2UuaG9zdE1lbnVJdGVtcygpO1xyXG5cdFx0Y29uc3Qgbm9kZXMgPSB0aGlzLmJ1aWxkU2l0ZU1hcE5vZGVzKG1lbnVJdGVtcyk7XHJcblx0XHRjb25zdCB0b3RhbENvdW50ID0gdGhpcy5jb3VudFRvdGFsUGFnZXMobm9kZXMpO1xyXG5cclxuXHRcdHRoaXMuc2l0ZU1hcE5vZGVzLnNldChub2Rlcyk7XHJcblx0XHR0aGlzLmZpbHRlcmVkTm9kZXMuc2V0KG5vZGVzKTtcclxuXHRcdHRoaXMudG90YWxQYWdlcy5zZXQodG90YWxDb3VudCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGJ1aWxkU2l0ZU1hcE5vZGVzKGl0ZW1zOiBhbnlbXSwgcGFyZW50S2V5ID0gJycpOiBNZW51Tm9kZVtdIHtcclxuXHRcdHJldHVybiBpdGVtc1xyXG5cdFx0XHQuZmlsdGVyKChpdGVtKSA9PiB7XHJcblx0XHRcdFx0Ly8gS2VlcCB0aGUgaG9tZSBwYWdlIHJvdXRlIChcIi9cIikgYW5kIGFueSBub24tZW1wdHkgcm91dGVzXHJcblx0XHRcdFx0cmV0dXJuICFpdGVtLnJvdXRlckxpbmsgfHwgaXRlbS5yb3V0ZXJMaW5rID09PSAnLycgfHwgaXRlbS5yb3V0ZXJMaW5rLnRyaW0oKSAhPT0gJyc7XHJcblx0XHRcdH0pXHJcblx0XHRcdC5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcblx0XHRcdFx0Y29uc3Qga2V5ID0gcGFyZW50S2V5ID8gYCR7cGFyZW50S2V5fS0ke2luZGV4fWAgOiBgJHtpbmRleH1gO1xyXG5cclxuXHRcdFx0XHRsZXQgbGFiZWw6IHN0cmluZyB8IG9iamVjdDtcclxuXHRcdFx0XHRpZiAoaXRlbS5yb3V0ZXJMaW5rID09PSAnLycpIHtcclxuXHRcdFx0XHRcdGxhYmVsID0geyB0cjogJ0FuYXNheWZhJywgZW46ICdIb21lJyB9O1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRsYWJlbCA9IGl0ZW0ubGFiZWwgfHwgeyB0cjogJ0JpbGlubWV5ZW4nLCBlbjogJ1Vua25vd24nIH07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRjb25zdCBub2RlOiBNZW51Tm9kZSA9IHtcclxuXHRcdFx0XHRcdGtleSxcclxuXHRcdFx0XHRcdGxhYmVsLFxyXG5cdFx0XHRcdFx0aWNvbjogaXRlbS5pY29uLFxyXG5cdFx0XHRcdFx0cm91dGVyTGluazogaXRlbS5yb3V0ZXJMaW5rLFxyXG5cdFx0XHRcdFx0ZXhwYW5kZWQ6IGZhbHNlXHJcblx0XHRcdFx0fTtcclxuXHJcblx0XHRcdFx0aWYgKGl0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRub2RlLmNoaWxkcmVuID0gdGhpcy5idWlsZFNpdGVNYXBOb2RlcyhpdGVtLml0ZW1zLCBrZXkpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0cmV0dXJuIG5vZGU7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBjb3VudFRvdGFsUGFnZXMobm9kZXM6IE1lbnVOb2RlW10pOiBudW1iZXIge1xyXG5cdFx0bGV0IGNvdW50ID0gMDtcclxuXHRcdGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xyXG5cdFx0XHRpZiAobm9kZS5yb3V0ZXJMaW5rKSB7XHJcblx0XHRcdFx0Y291bnQrKztcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobm9kZS5jaGlsZHJlbikge1xyXG5cdFx0XHRcdGNvdW50ICs9IHRoaXMuY291bnRUb3RhbFBhZ2VzKG5vZGUuY2hpbGRyZW4pO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gY291bnQ7XHJcblx0fVxyXG5cclxuXHRvblNlYXJjaENoYW5nZSgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGN1cnJlbnRMYW5nID0gdGhpcy50cmFuc2xvY29TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKTtcclxuXHRcdGNvbnN0IHNlYXJjaFRlcm0gPSB0aGlzLnNlYXJjaFRlcm0oKT8udG9Mb2NhbGVMb3dlckNhc2UoY3VycmVudExhbmcpPy50cmltKCk7XHJcblx0XHRpZiAoIXNlYXJjaFRlcm0pIHtcclxuXHRcdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldCh0aGlzLnNpdGVNYXBOb2RlcygpKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGNvbnN0IGZpbHRlcmVkID0gdGhpcy5maWx0ZXJOb2Rlcyh0aGlzLnNpdGVNYXBOb2RlcygpLCBzZWFyY2hUZXJtKTtcclxuXHRcdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChmaWx0ZXJlZCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGZpbHRlck5vZGVzKG5vZGVzOiBNZW51Tm9kZVtdLCBzZWFyY2hUZXJtOiBzdHJpbmcpOiBNZW51Tm9kZVtdIHtcclxuXHRcdGNvbnN0IGZpbHRlcmVkOiBNZW51Tm9kZVtdID0gW107XHJcblx0XHRjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMudHJhbnNsb2NvU2VydmljZS5nZXRBY3RpdmVMYW5nKCk7XHJcblxyXG5cdFx0Zm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XHJcblx0XHRcdC8vIENvbnZlcnQgbGFiZWwgdG8gc3RyaW5nIGZvciBzZWFyY2ggYmFzZWQgb24gYWN0aXZlIGxhbmd1YWdlXHJcblx0XHRcdGNvbnN0IGxhYmVsVGV4dCA9XHJcblx0XHRcdFx0dHlwZW9mIG5vZGUubGFiZWwgPT09ICdzdHJpbmcnID9cclxuXHRcdFx0XHRcdG5vZGUubGFiZWxcclxuXHRcdFx0XHQ6XHQobm9kZS5sYWJlbCBhcyBhbnkpPy5bY3VycmVudExhbmddIHx8IChub2RlLmxhYmVsIGFzIGFueSk/LnRyIHx8IChub2RlLmxhYmVsIGFzIGFueSk/LmVuIHx8ICcnO1xyXG5cclxuXHRcdFx0Y29uc3QgbWF0Y2hlcyA9IGxhYmVsVGV4dC50b0xvY2FsZUxvd2VyQ2FzZShjdXJyZW50TGFuZykuaW5jbHVkZXMoc2VhcmNoVGVybSk7XHJcblx0XHRcdGxldCBmaWx0ZXJlZENoaWxkcmVuOiBNZW51Tm9kZVtdID0gW107XHJcblxyXG5cdFx0XHRpZiAobm9kZS5jaGlsZHJlbikge1xyXG5cdFx0XHRcdGZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmZpbHRlck5vZGVzKG5vZGUuY2hpbGRyZW4sIHNlYXJjaFRlcm0pO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAobWF0Y2hlcyB8fCBmaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRmaWx0ZXJlZC5wdXNoKHtcclxuXHRcdFx0XHRcdC4uLm5vZGUsXHJcblx0XHRcdFx0XHRjaGlsZHJlbjogZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwID8gZmlsdGVyZWRDaGlsZHJlbiA6IG5vZGUuY2hpbGRyZW4sXHJcblx0XHRcdFx0XHRleHBhbmRlZDogZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gZmlsdGVyZWQ7XHJcblx0fVxyXG5cclxuXHRleHBhbmRBbGwoKTogdm9pZCB7XHJcblx0XHRjb25zdCBleHBhbmRlZCA9IHRoaXMuZXhwYW5kTm9kZXModGhpcy5maWx0ZXJlZE5vZGVzKCksIHRydWUpO1xyXG5cdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChbLi4uZXhwYW5kZWRdKTtcclxuXHR9XHJcblxyXG5cdGNvbGxhcHNlQWxsKCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgY29sbGFwc2VkID0gdGhpcy5leHBhbmROb2Rlcyh0aGlzLmZpbHRlcmVkTm9kZXMoKSwgZmFsc2UpO1xyXG5cdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChbLi4uY29sbGFwc2VkXSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGV4cGFuZE5vZGVzKG5vZGVzOiBNZW51Tm9kZVtdLCBleHBhbmRlZDogYm9vbGVhbik6IE1lbnVOb2RlW10ge1xyXG5cdFx0cmV0dXJuIG5vZGVzLm1hcCgobm9kZSkgPT4gKHtcclxuXHRcdFx0Li4ubm9kZSxcclxuXHRcdFx0ZXhwYW5kZWQsXHJcblx0XHRcdGNoaWxkcmVuOiBub2RlLmNoaWxkcmVuID8gdGhpcy5leHBhbmROb2Rlcyhub2RlLmNoaWxkcmVuLCBleHBhbmRlZCkgOiB1bmRlZmluZWRcclxuXHRcdH0pKTtcclxuXHR9XHJcblxyXG5cdHRvZ2dsZU5vZGUobm9kZTogTWVudU5vZGUpOiB2b2lkIHtcclxuXHRcdG5vZGUuZXhwYW5kZWQgPSAhbm9kZS5leHBhbmRlZDtcclxuXHRcdHRoaXMuZmlsdGVyZWROb2Rlcy5zZXQoWy4uLnRoaXMuZmlsdGVyZWROb2RlcygpXSk7XHJcblx0fVxyXG5cclxuXHR0cmFja0J5S2V5KGluZGV4OiBudW1iZXIsIG5vZGU6IE1lbnVOb2RlKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBub2RlLmtleSB8fCBgJHtpbmRleH1gO1xyXG5cdH1cclxufVxyXG4iLCI8cC1zaWRlYmFyXG5cdFsodmlzaWJsZSldPVwidmlzaWJsZVwiXG5cdHBvc2l0aW9uPVwicmlnaHRcIlxuXHRbdHJhbnNpdGlvbk9wdGlvbnNdPVwiJy4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSdcIlxuXHRzdHlsZUNsYXNzPVwibGF5b3V0LXNpdGVtYXAtc2lkZWJhciB3LWZ1bGwgc206dy0zMHJlbVwiXG5cdCp0cmFuc2xvY289XCJsZXQgdDsgcmVhZDogJ3NpdGVNYXAnXCI+XG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cblx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gZ2FwLTIgdy1mdWxsXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cblx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1zaXRlbWFwIHRleHQtcHJpbWFyeSB0ZXh0LXhsXCI+PC9pPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWxnXCI+e3sgdCgnc2l0ZU1hcCcpIH19PC9zcGFuPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cInRvdGFsLXBhZ2VzXCI+e3sgdG90YWxQYWdlcygpIH19IHt7IHQoJ3BhZ2VzJykgfX08L3NwYW4+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9uZy10ZW1wbGF0ZT5cblxuXHQ8ZGl2IGNsYXNzPVwic2l0ZW1hcC1jb250ZW50XCI+XG5cdFx0PGRpdiBjbGFzcz1cInNlYXJjaC1zZWN0aW9uIGdyaWQgcC1mbHVpZCBtLTBcIj5cblx0XHRcdDxhcmlsLXRleHRcblx0XHRcdFx0W3BsYWNlaG9sZGVyXT1cInQoJ3NlYXJjaFBhZ2VzJylcIlxuXHRcdFx0XHRbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIlxuXHRcdFx0XHQobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaENoYW5nZSgpXCJcblx0XHRcdFx0Y2xhc3M9XCJjb2wtMTAgbS0wXCI+XG5cdFx0XHQ8L2FyaWwtdGV4dD5cblx0XHRcdEBpZiAoZmlsdGVyZWROb2RlcygpLmxlbmd0aCA+IDApIHtcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtMiBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtLTAgcC0wXCI+XG5cdFx0XHRcdFx0PGZhLWljb25cblx0XHRcdFx0XHRcdFtpY29uXT1cInNvbGlkSWNvbnMuZmFBbmdsZXNEb3duXCJcblx0XHRcdFx0XHRcdHNpemU9XCJ4bFwiXG5cdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKVwiXG5cdFx0XHRcdFx0XHRjbGFzcz1cImNvbC0xIGN1cnNvci1wb2ludGVyXCJcblx0XHRcdFx0XHRcdFtwVG9vbHRpcF09XCJ0KCdleHBhbmRBbGwnKVwiXG5cdFx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImV4cGFuZEFsbCgpXCI+XG5cdFx0XHRcdFx0PC9mYS1pY29uPlxuXHRcdFx0XHRcdDxmYS1pY29uXG5cdFx0XHRcdFx0XHRbaWNvbl09XCJzb2xpZEljb25zLmZhQW5nbGVzVXBcIlxuXHRcdFx0XHRcdFx0c2l6ZT1cInhsXCJcblx0XHRcdFx0XHRcdHN0eWxlPVwiY29sb3I6IHZhcigtLXJlZC01MDApXCJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY29sLTEgbWwtMyBjdXJzb3ItcG9pbnRlclwiXG5cdFx0XHRcdFx0XHRbcFRvb2x0aXBdPVwidCgnY29sbGFwc2VBbGwnKVwiXG5cdFx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImNvbGxhcHNlQWxsKClcIj5cblx0XHRcdFx0XHQ8L2ZhLWljb24+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0fVxuXHRcdDwvZGl2PlxuXG5cdFx0PCEtLSBTaXRlIE1hcCBUcmVlIC0tPlxuXHRcdEBpZiAoZmlsdGVyZWROb2RlcygpLmxlbmd0aCA+IDApIHtcblx0XHRcdDxkaXYgY2xhc3M9XCJzaXRlbWFwLXRyZWVcIj5cblx0XHRcdFx0PHAtc2Nyb2xsUGFuZWwgW3N0eWxlXT1cInsgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnMTAwJScgfVwiPlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0cmVlLWNvbnRhaW5lclwiPlxuXHRcdFx0XHRcdFx0QGZvciAobm9kZSBvZiBmaWx0ZXJlZE5vZGVzKCk7IHRyYWNrIHRyYWNrQnlLZXkoJGluZGV4LCBub2RlKSkge1xuXHRcdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJlZU5vZGVUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG5vZGUsIGxldmVsOiAwIH1cIj48L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9wLXNjcm9sbFBhbmVsPlxuXHRcdFx0PC9kaXY+XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZW1wdHktc3RhdGVcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImVtcHR5LWNvbnRlbnRcIj5cblx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpIHBpLXNpdGVtYXAgZW1wdHktaWNvblwiPjwvaT5cblx0XHRcdFx0XHQ8aDMgY2xhc3M9XCJlbXB0eS10aXRsZVwiPlxuXHRcdFx0XHRcdFx0e3sgc2VhcmNoVGVybSgpID8gdCgnbm9TZWFyY2hSZXN1bHRzJykgOiB0KCdub1BhZ2VzJykgfX1cblx0XHRcdFx0XHQ8L2gzPlxuXHRcdFx0XHRcdDxwIGNsYXNzPVwiZW1wdHktbWVzc2FnZVwiPlxuXHRcdFx0XHRcdFx0e3sgc2VhcmNoVGVybSgpID8gdCgndHJ5RGlmZmVyZW50S2V5d29yZHMnKSA6ICcnIH19XG5cdFx0XHRcdFx0PC9wPlxuXHRcdFx0XHRcdEBpZiAoc2VhcmNoVGVybSgpKSB7XG5cdFx0XHRcdFx0XHQ8YXJpbC1idXR0b25cblx0XHRcdFx0XHRcdFx0W2xhYmVsXT1cInQoJ2NsZWFyU2VhcmNoJylcIlxuXHRcdFx0XHRcdFx0XHRpY29uPVwiVElNRVNcIlxuXHRcdFx0XHRcdFx0XHRjb2xvcj1cInNlY29uZGFyeVwiXG5cdFx0XHRcdFx0XHRcdFtvdXRsaW5lZF09XCJ0cnVlXCJcblx0XHRcdFx0XHRcdFx0c2l6ZT1cInNtXCJcblx0XHRcdFx0XHRcdFx0KGNsaWNrRXZlbnQpPVwic2VhcmNoVGVybS5zZXQoJycpOyBvblNlYXJjaENoYW5nZSgpXCI+XG5cdFx0XHRcdFx0XHQ8L2FyaWwtYnV0dG9uPlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHR9XG5cblx0XHQ8IS0tIFJlY3Vyc2l2ZSBUcmVlIE5vZGUgVGVtcGxhdGUgLS0+XG5cdFx0PG5nLXRlbXBsYXRlICN0cmVlTm9kZVRlbXBsYXRlIGxldC1ub2RlIGxldC1sZXZlbD1cImxldmVsXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwidHJlZS1ub2RlXCIgW3N0eWxlLm1hcmdpbi1sZWZ0LnB4XT1cImxldmVsICogMjBcIj5cblx0XHRcdFx0PGRpdlxuXHRcdFx0XHRcdGNsYXNzPVwibm9kZS1pdGVtXCJcblx0XHRcdFx0XHRbY2xhc3MuaGFzLWNoaWxkcmVuXT1cIm5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwXCJcblx0XHRcdFx0XHRbY2xhc3MuaXMtcGFnZV09XCJub2RlLnJvdXRlckxpbmtcIlxuXHRcdFx0XHRcdFtyb3V0ZXJMaW5rXT1cIm5vZGUucm91dGVyTGlua1wiXG5cdFx0XHRcdFx0KGNsaWNrKT1cIiFub2RlLnJvdXRlckxpbmsgPyB0b2dnbGVOb2RlKG5vZGUpIDogKHZpc2libGUgPSBmYWxzZSlcIj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibm9kZS1jb250ZW50XCI+XG5cdFx0XHRcdFx0XHRAaWYgKG5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0b2dnbGUtYnRuXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgdG9nZ2xlTm9kZShub2RlKVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwicGlcIiBbY2xhc3MucGktY2hldnJvbi1yaWdodF09XCIhbm9kZS5leHBhbmRlZFwiIFtjbGFzcy5waS1jaGV2cm9uLWRvd25dPVwibm9kZS5leHBhbmRlZFwiPjwvaT5cblx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdEBpZiAobm9kZS5pY29uKSB7XG5cdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwibm9kZS1pY29uXCIgW2NsYXNzXT1cIm5vZGUuaWNvblwiPjwvaT5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwibm9kZS1sYWJlbFwiPnt7IG5vZGUubGFiZWwgfCB0cmFuc2xhdGVKc29uIH19PC9zcGFuPlxuXG5cdFx0XHRcdFx0XHRAaWYgKG5vZGUucm91dGVyTGluaykge1xuXHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImV4dGVybmFsLWljb24gcGkgcGktZXh0ZXJuYWwtbGlua1wiPjwvaT5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cblx0XHRcdFx0PCEtLSBSZWN1cnNpdmUgQ2hpbGRyZW4gLS0+XG5cdFx0XHRcdEBpZiAobm9kZS5jaGlsZHJlbiAmJiBub2RlLmV4cGFuZGVkKSB7XG5cdFx0XHRcdFx0QGZvciAoY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbjsgdHJhY2sgdHJhY2tCeUtleSgkaW5kZXgsIGNoaWxkKSkge1xuXHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lclxuXHRcdFx0XHRcdFx0XHQqbmdUZW1wbGF0ZU91dGxldD1cInRyZWVOb2RlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjaGlsZCwgbGV2ZWw6IGxldmVsICsgMSB9XCI+PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHQ8L2Rpdj5cbjwvcC1zaWRlYmFyPlxuIl19
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvc2l0ZS1tYXAvc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvc2l0ZS1tYXAvc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFFdEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7OztBQThCM0MsTUFBTSxPQUFPLHVCQUF1QjtJQU9uQyxZQUNRLGFBQTRCLEVBQzNCLGdCQUFrQztRQURuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBUjNDLGlCQUFZLEdBQUcsTUFBTSxDQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLGtCQUFhLEdBQUcsTUFBTSxDQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLGVBQVUsR0FBRyxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLE1BQU0sQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUM5QixlQUFVLEdBQUcsVUFBVSxDQUFDO0lBS3RCLENBQUM7SUFFSixRQUFRO1FBQ1AsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUN4RCxDQUFDO0lBRU8sV0FBVztRQUNsQixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQVksRUFBRSxTQUFTLEdBQUcsRUFBRTtRQUNyRCxPQUFPLEtBQUs7YUFDVixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQiwwREFBMEQ7WUFDMUQsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDckYsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3BCLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFFN0QsSUFBSSxLQUFzQixDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDN0IsS0FBSyxHQUFHLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDeEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNQLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDM0QsQ0FBQztZQUVELE1BQU0sSUFBSSxHQUFhO2dCQUN0QixHQUFHO2dCQUNILEtBQUs7Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDM0IsUUFBUSxFQUFFLEtBQUs7YUFDZixDQUFDO1lBRUYsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3pELENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUFpQjtRQUN4QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQzFCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNyQixLQUFLLEVBQUUsQ0FBQztZQUNULENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLENBQUM7UUFDRixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRUQsY0FBYztRQUNiLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMxRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDN0UsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLENBQUM7YUFBTSxDQUFDO1lBQ1AsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNGLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBaUIsRUFBRSxVQUFrQjtRQUN4RCxNQUFNLFFBQVEsR0FBZSxFQUFFLENBQUM7UUFDaEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTFELEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDMUIsOERBQThEO1lBQzlELE1BQU0sU0FBUyxHQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLEtBQUs7Z0JBQ1gsQ0FBQyxDQUFFLElBQUksQ0FBQyxLQUFhLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSyxJQUFJLENBQUMsS0FBYSxFQUFFLEVBQUUsSUFBSyxJQUFJLENBQUMsS0FBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFFbEcsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM5RSxJQUFJLGdCQUFnQixHQUFlLEVBQUUsQ0FBQztZQUV0QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbkIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7WUFFRCxJQUFJLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzVDLFFBQVEsQ0FBQyxJQUFJLENBQUM7b0JBQ2IsR0FBRyxJQUFJO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVE7b0JBQ3hFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQztpQkFDckMsQ0FBQyxDQUFDO1lBQ0osQ0FBQztRQUNGLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNqQixDQUFDO0lBRUQsU0FBUztRQUNSLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFpQixFQUFFLFFBQWlCO1FBQ3ZELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQixHQUFHLElBQUk7WUFDUCxRQUFRO1lBQ1IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMvRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWEsRUFBRSxJQUFjO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7OEdBakpXLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGdGQ2hEcEMsMnNKQXlIQSw0akZEeEZFLFlBQVkscU1BQ1osV0FBVyw4VkFDWCxZQUFZLCtRQUNaLGFBQWEsbWRBQ2IsaUJBQWlCLCtJQUNqQixhQUFhLHNYQUNiLGVBQWUsOE5BQ2YsYUFBYSxrTEFDYixlQUFlLDROQUNmLGlCQUFpQixxREFDakIsaUJBQWlCOzsyRkFLTix1QkFBdUI7a0JBbkJuQyxTQUFTO2lDQUNHLElBQUksWUFDTixzQkFBc0IsV0FDdkI7d0JBQ1IsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixpQkFBaUI7cUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IFNjcm9sbFBhbmVsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zY3JvbGxwYW5lbCc7XHJcbmltcG9ydCB7IFNpZGViYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NpZGViYXInO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbG9jb01vZHVsZSwgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuXHJcbmltcG9ydCB7IGJyaWRnZSB9IGZyb20gJ2FyaWwvYm9vdC9icmlkZ2UnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL3RleHQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVKc29uUGlwZSB9IGZyb20gJ2FyaWwvdXRpbC9waXBlcyc7XHJcblxyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hcHAubGF5b3V0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcclxuaW1wb3J0IHsgc29saWRJY29ucyB9IGZyb20gJ2FyaWwvdXRpbC9saWInO1xyXG5cclxuaW50ZXJmYWNlIE1lbnVOb2RlIHtcclxuXHRrZXk6IHN0cmluZztcclxuXHRsYWJlbDogc3RyaW5nIHwgb2JqZWN0O1xyXG5cdGljb24/OiBzdHJpbmc7XHJcblx0cm91dGVyTGluaz86IHN0cmluZztcclxuXHRjaGlsZHJlbj86IE1lbnVOb2RlW107XHJcblx0ZXhwYW5kZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXBwLXNpdGUtbWFwLXNpZGViYXInLFxyXG5cdGltcG9ydHM6IFtcclxuXHRcdENvbW1vbk1vZHVsZSxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0Um91dGVyTW9kdWxlLFxyXG5cdFx0U2lkZWJhck1vZHVsZSxcclxuXHRcdFNjcm9sbFBhbmVsTW9kdWxlLFxyXG5cdFx0VG9vbHRpcE1vZHVsZSxcclxuXHRcdEJ1dHRvbkNvbXBvbmVudCxcclxuXHRcdFRleHRDb21wb25lbnQsXHJcblx0XHRUcmFuc2xvY29Nb2R1bGUsXHJcblx0XHRUcmFuc2xhdGVKc29uUGlwZSxcclxuXHRcdEZvbnRBd2Vzb21lTW9kdWxlXHJcblx0XSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaXRlTWFwU2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0c2l0ZU1hcE5vZGVzID0gc2lnbmFsPE1lbnVOb2RlW10+KFtdKTtcclxuXHRmaWx0ZXJlZE5vZGVzID0gc2lnbmFsPE1lbnVOb2RlW10+KFtdKTtcclxuXHRzZWFyY2hUZXJtID0gc2lnbmFsPHN0cmluZz4oJycpO1xyXG5cdHRvdGFsUGFnZXMgPSBzaWduYWw8bnVtYmVyPigwKTtcclxuICBzb2xpZEljb25zID0gc29saWRJY29ucztcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcclxuXHRcdHByaXZhdGUgdHJhbnNsb2NvU2VydmljZTogVHJhbnNsb2NvU2VydmljZVxyXG5cdCkge31cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLmxvYWRTaXRlTWFwKCk7XHJcblx0fVxyXG5cclxuXHRnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc2l0ZU1hcFNpZGViYXJWaXNpYmxlO1xyXG5cdH1cclxuXHJcblx0c2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zaXRlTWFwU2lkZWJhclZpc2libGUgPSB2YWx1ZTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgbG9hZFNpdGVNYXAoKTogdm9pZCB7XHJcblx0XHRjb25zdCBtZW51SXRlbXMgPSBicmlkZ2UuaG9zdE1lbnVJdGVtcygpO1xyXG5cdFx0Y29uc3Qgbm9kZXMgPSB0aGlzLmJ1aWxkU2l0ZU1hcE5vZGVzKG1lbnVJdGVtcyk7XHJcblx0XHRjb25zdCB0b3RhbENvdW50ID0gdGhpcy5jb3VudFRvdGFsUGFnZXMobm9kZXMpO1xyXG5cclxuXHRcdHRoaXMuc2l0ZU1hcE5vZGVzLnNldChub2Rlcyk7XHJcblx0XHR0aGlzLmZpbHRlcmVkTm9kZXMuc2V0KG5vZGVzKTtcclxuXHRcdHRoaXMudG90YWxQYWdlcy5zZXQodG90YWxDb3VudCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGJ1aWxkU2l0ZU1hcE5vZGVzKGl0ZW1zOiBhbnlbXSwgcGFyZW50S2V5ID0gJycpOiBNZW51Tm9kZVtdIHtcclxuXHRcdHJldHVybiBpdGVtc1xyXG5cdFx0XHQuZmlsdGVyKChpdGVtKSA9PiB7XHJcblx0XHRcdFx0Ly8gS2VlcCB0aGUgaG9tZSBwYWdlIHJvdXRlIChcIi9cIikgYW5kIGFueSBub24tZW1wdHkgcm91dGVzXHJcblx0XHRcdFx0cmV0dXJuICFpdGVtLnJvdXRlckxpbmsgfHwgaXRlbS5yb3V0ZXJMaW5rID09PSAnLycgfHwgaXRlbS5yb3V0ZXJMaW5rLnRyaW0oKSAhPT0gJyc7XHJcblx0XHRcdH0pXHJcblx0XHRcdC5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcblx0XHRcdFx0Y29uc3Qga2V5ID0gcGFyZW50S2V5ID8gYCR7cGFyZW50S2V5fS0ke2luZGV4fWAgOiBgJHtpbmRleH1gO1xyXG5cclxuXHRcdFx0XHRsZXQgbGFiZWw6IHN0cmluZyB8IG9iamVjdDtcclxuXHRcdFx0XHRpZiAoaXRlbS5yb3V0ZXJMaW5rID09PSAnLycpIHtcclxuXHRcdFx0XHRcdGxhYmVsID0geyB0cjogJ0FuYXNheWZhJywgZW46ICdIb21lJyB9O1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRsYWJlbCA9IGl0ZW0ubGFiZWwgfHwgeyB0cjogJ0JpbGlubWV5ZW4nLCBlbjogJ1Vua25vd24nIH07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRjb25zdCBub2RlOiBNZW51Tm9kZSA9IHtcclxuXHRcdFx0XHRcdGtleSxcclxuXHRcdFx0XHRcdGxhYmVsLFxyXG5cdFx0XHRcdFx0aWNvbjogaXRlbS5pY29uLFxyXG5cdFx0XHRcdFx0cm91dGVyTGluazogaXRlbS5yb3V0ZXJMaW5rLFxyXG5cdFx0XHRcdFx0ZXhwYW5kZWQ6IGZhbHNlXHJcblx0XHRcdFx0fTtcclxuXHJcblx0XHRcdFx0aWYgKGl0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRub2RlLmNoaWxkcmVuID0gdGhpcy5idWlsZFNpdGVNYXBOb2RlcyhpdGVtLml0ZW1zLCBrZXkpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0cmV0dXJuIG5vZGU7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBjb3VudFRvdGFsUGFnZXMobm9kZXM6IE1lbnVOb2RlW10pOiBudW1iZXIge1xyXG5cdFx0bGV0IGNvdW50ID0gMDtcclxuXHRcdGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xyXG5cdFx0XHRpZiAobm9kZS5yb3V0ZXJMaW5rKSB7XHJcblx0XHRcdFx0Y291bnQrKztcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobm9kZS5jaGlsZHJlbikge1xyXG5cdFx0XHRcdGNvdW50ICs9IHRoaXMuY291bnRUb3RhbFBhZ2VzKG5vZGUuY2hpbGRyZW4pO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gY291bnQ7XHJcblx0fVxyXG5cclxuXHRvblNlYXJjaENoYW5nZSgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGN1cnJlbnRMYW5nID0gdGhpcy50cmFuc2xvY29TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKTtcclxuXHRcdGNvbnN0IHNlYXJjaFRlcm0gPSB0aGlzLnNlYXJjaFRlcm0oKT8udG9Mb2NhbGVMb3dlckNhc2UoY3VycmVudExhbmcpPy50cmltKCk7XHJcblx0XHRpZiAoIXNlYXJjaFRlcm0pIHtcclxuXHRcdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldCh0aGlzLnNpdGVNYXBOb2RlcygpKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGNvbnN0IGZpbHRlcmVkID0gdGhpcy5maWx0ZXJOb2Rlcyh0aGlzLnNpdGVNYXBOb2RlcygpLCBzZWFyY2hUZXJtKTtcclxuXHRcdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChmaWx0ZXJlZCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGZpbHRlck5vZGVzKG5vZGVzOiBNZW51Tm9kZVtdLCBzZWFyY2hUZXJtOiBzdHJpbmcpOiBNZW51Tm9kZVtdIHtcclxuXHRcdGNvbnN0IGZpbHRlcmVkOiBNZW51Tm9kZVtdID0gW107XHJcblx0XHRjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMudHJhbnNsb2NvU2VydmljZS5nZXRBY3RpdmVMYW5nKCk7XHJcblxyXG5cdFx0Zm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XHJcblx0XHRcdC8vIENvbnZlcnQgbGFiZWwgdG8gc3RyaW5nIGZvciBzZWFyY2ggYmFzZWQgb24gYWN0aXZlIGxhbmd1YWdlXHJcblx0XHRcdGNvbnN0IGxhYmVsVGV4dCA9XHJcblx0XHRcdFx0dHlwZW9mIG5vZGUubGFiZWwgPT09ICdzdHJpbmcnID9cclxuXHRcdFx0XHRcdG5vZGUubGFiZWxcclxuXHRcdFx0XHQ6XHQobm9kZS5sYWJlbCBhcyBhbnkpPy5bY3VycmVudExhbmddIHx8IChub2RlLmxhYmVsIGFzIGFueSk/LnRyIHx8IChub2RlLmxhYmVsIGFzIGFueSk/LmVuIHx8ICcnO1xyXG5cclxuXHRcdFx0Y29uc3QgbWF0Y2hlcyA9IGxhYmVsVGV4dC50b0xvY2FsZUxvd2VyQ2FzZShjdXJyZW50TGFuZykuaW5jbHVkZXMoc2VhcmNoVGVybSk7XHJcblx0XHRcdGxldCBmaWx0ZXJlZENoaWxkcmVuOiBNZW51Tm9kZVtdID0gW107XHJcblxyXG5cdFx0XHRpZiAobm9kZS5jaGlsZHJlbikge1xyXG5cdFx0XHRcdGZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmZpbHRlck5vZGVzKG5vZGUuY2hpbGRyZW4sIHNlYXJjaFRlcm0pO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAobWF0Y2hlcyB8fCBmaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRmaWx0ZXJlZC5wdXNoKHtcclxuXHRcdFx0XHRcdC4uLm5vZGUsXHJcblx0XHRcdFx0XHRjaGlsZHJlbjogZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwID8gZmlsdGVyZWRDaGlsZHJlbiA6IG5vZGUuY2hpbGRyZW4sXHJcblx0XHRcdFx0XHRleHBhbmRlZDogZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gZmlsdGVyZWQ7XHJcblx0fVxyXG5cclxuXHRleHBhbmRBbGwoKTogdm9pZCB7XHJcblx0XHRjb25zdCBleHBhbmRlZCA9IHRoaXMuZXhwYW5kTm9kZXModGhpcy5maWx0ZXJlZE5vZGVzKCksIHRydWUpO1xyXG5cdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChbLi4uZXhwYW5kZWRdKTtcclxuXHR9XHJcblxyXG5cdGNvbGxhcHNlQWxsKCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgY29sbGFwc2VkID0gdGhpcy5leHBhbmROb2Rlcyh0aGlzLmZpbHRlcmVkTm9kZXMoKSwgZmFsc2UpO1xyXG5cdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChbLi4uY29sbGFwc2VkXSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGV4cGFuZE5vZGVzKG5vZGVzOiBNZW51Tm9kZVtdLCBleHBhbmRlZDogYm9vbGVhbik6IE1lbnVOb2RlW10ge1xyXG5cdFx0cmV0dXJuIG5vZGVzLm1hcCgobm9kZSkgPT4gKHtcclxuXHRcdFx0Li4ubm9kZSxcclxuXHRcdFx0ZXhwYW5kZWQsXHJcblx0XHRcdGNoaWxkcmVuOiBub2RlLmNoaWxkcmVuID8gdGhpcy5leHBhbmROb2Rlcyhub2RlLmNoaWxkcmVuLCBleHBhbmRlZCkgOiB1bmRlZmluZWRcclxuXHRcdH0pKTtcclxuXHR9XHJcblxyXG5cdHRvZ2dsZU5vZGUobm9kZTogTWVudU5vZGUpOiB2b2lkIHtcclxuXHRcdG5vZGUuZXhwYW5kZWQgPSAhbm9kZS5leHBhbmRlZDtcclxuXHRcdHRoaXMuZmlsdGVyZWROb2Rlcy5zZXQoWy4uLnRoaXMuZmlsdGVyZWROb2RlcygpXSk7XHJcblx0fVxyXG5cclxuXHR0cmFja0J5S2V5KGluZGV4OiBudW1iZXIsIG5vZGU6IE1lbnVOb2RlKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBub2RlLmtleSB8fCBgJHtpbmRleH1gO1xyXG5cdH1cclxufVxyXG4iLCI8cC1zaWRlYmFyXHJcblx0Wyh2aXNpYmxlKV09XCJ2aXNpYmxlXCJcclxuXHRwb3NpdGlvbj1cInJpZ2h0XCJcclxuXHRbdHJhbnNpdGlvbk9wdGlvbnNdPVwiJy4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSdcIlxyXG5cdHN0eWxlQ2xhc3M9XCJsYXlvdXQtc2l0ZW1hcC1zaWRlYmFyIHctZnVsbCBzbTp3LTMwcmVtXCJcclxuXHQqdHJhbnNsb2NvPVwibGV0IHQ7IHJlYWQ6ICdzaXRlTWFwJ1wiPlxyXG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnYXAtMiB3LWZ1bGxcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcblx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1zaXRlbWFwIHRleHQtcHJpbWFyeSB0ZXh0LXhsXCI+PC9pPlxyXG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtbGdcIj57eyB0KCdzaXRlTWFwJykgfX08L3NwYW4+XHJcblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJ0b3RhbC1wYWdlc1wiPnt7IHRvdGFsUGFnZXMoKSB9fSB7eyB0KCdwYWdlcycpIH19PC9zcGFuPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJzaXRlbWFwLWNvbnRlbnRcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJzZWFyY2gtc2VjdGlvbiBncmlkIHAtZmx1aWQgbS0wXCI+XHJcblx0XHRcdDxhcmlsLXRleHRcclxuXHRcdFx0XHRbcGxhY2Vob2xkZXJdPVwidCgnc2VhcmNoUGFnZXMnKVwiXHJcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcclxuXHRcdFx0XHQobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaENoYW5nZSgpXCJcclxuXHRcdFx0XHRjbGFzcz1cImNvbC0xMCBtLTBcIj5cclxuXHRcdFx0PC9hcmlsLXRleHQ+XHJcblx0XHRcdEBpZiAoZmlsdGVyZWROb2RlcygpLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC0yIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIG0tMCBwLTBcIj5cclxuXHRcdFx0XHRcdDxmYS1pY29uXHJcblx0XHRcdFx0XHRcdFtpY29uXT1cInNvbGlkSWNvbnMuZmFBbmdsZXNEb3duXCJcclxuXHRcdFx0XHRcdFx0c2l6ZT1cInhsXCJcclxuXHRcdFx0XHRcdFx0c3R5bGU9XCJjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcilcIlxyXG5cdFx0XHRcdFx0XHRjbGFzcz1cImNvbC0xIGN1cnNvci1wb2ludGVyXCJcclxuXHRcdFx0XHRcdFx0W3BUb29sdGlwXT1cInQoJ2V4cGFuZEFsbCcpXCJcclxuXHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImV4cGFuZEFsbCgpXCI+XHJcblx0XHRcdFx0XHQ8L2ZhLWljb24+XHJcblx0XHRcdFx0XHQ8ZmEtaWNvblxyXG5cdFx0XHRcdFx0XHRbaWNvbl09XCJzb2xpZEljb25zLmZhQW5nbGVzVXBcIlxyXG5cdFx0XHRcdFx0XHRzaXplPVwieGxcIlxyXG5cdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiB2YXIoLS1yZWQtNTAwKVwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY29sLTEgbWwtMyBjdXJzb3ItcG9pbnRlclwiXHJcblx0XHRcdFx0XHRcdFtwVG9vbHRpcF09XCJ0KCdjb2xsYXBzZUFsbCcpXCJcclxuXHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImNvbGxhcHNlQWxsKClcIj5cclxuXHRcdFx0XHRcdDwvZmEtaWNvbj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0fVxyXG5cdFx0PC9kaXY+XHJcblxyXG5cdFx0PCEtLSBTaXRlIE1hcCBUcmVlIC0tPlxyXG5cdFx0QGlmIChmaWx0ZXJlZE5vZGVzKCkubGVuZ3RoID4gMCkge1xyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwic2l0ZW1hcC10cmVlXCI+XHJcblx0XHRcdFx0PHAtc2Nyb2xsUGFuZWwgW3N0eWxlXT1cInsgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnMTAwJScgfVwiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRyZWUtY29udGFpbmVyXCI+XHJcblx0XHRcdFx0XHRcdEBmb3IgKG5vZGUgb2YgZmlsdGVyZWROb2RlcygpOyB0cmFjayB0cmFja0J5S2V5KCRpbmRleCwgbm9kZSkpIHtcclxuXHRcdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJlZU5vZGVUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG5vZGUsIGxldmVsOiAwIH1cIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9wLXNjcm9sbFBhbmVsPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZW1wdHktc3RhdGVcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZW1wdHktY29udGVudFwiPlxyXG5cdFx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1zaXRlbWFwIGVtcHR5LWljb25cIj48L2k+XHJcblx0XHRcdFx0XHQ8aDMgY2xhc3M9XCJlbXB0eS10aXRsZVwiPlxyXG5cdFx0XHRcdFx0XHR7eyBzZWFyY2hUZXJtKCkgPyB0KCdub1NlYXJjaFJlc3VsdHMnKSA6IHQoJ25vUGFnZXMnKSB9fVxyXG5cdFx0XHRcdFx0PC9oMz5cclxuXHRcdFx0XHRcdDxwIGNsYXNzPVwiZW1wdHktbWVzc2FnZVwiPlxyXG5cdFx0XHRcdFx0XHR7eyBzZWFyY2hUZXJtKCkgPyB0KCd0cnlEaWZmZXJlbnRLZXl3b3JkcycpIDogJycgfX1cclxuXHRcdFx0XHRcdDwvcD5cclxuXHRcdFx0XHRcdEBpZiAoc2VhcmNoVGVybSgpKSB7XHJcblx0XHRcdFx0XHRcdDxhcmlsLWJ1dHRvblxyXG5cdFx0XHRcdFx0XHRcdFtsYWJlbF09XCJ0KCdjbGVhclNlYXJjaCcpXCJcclxuXHRcdFx0XHRcdFx0XHRpY29uPVwiVElNRVNcIlxyXG5cdFx0XHRcdFx0XHRcdGNvbG9yPVwic2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHRbb3V0bGluZWRdPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0c2l6ZT1cInNtXCJcclxuXHRcdFx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJzZWFyY2hUZXJtLnNldCgnJyk7IG9uU2VhcmNoQ2hhbmdlKClcIj5cclxuXHRcdFx0XHRcdFx0PC9hcmlsLWJ1dHRvbj5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHR9XHJcblxyXG5cdFx0PCEtLSBSZWN1cnNpdmUgVHJlZSBOb2RlIFRlbXBsYXRlIC0tPlxyXG5cdFx0PG5nLXRlbXBsYXRlICN0cmVlTm9kZVRlbXBsYXRlIGxldC1ub2RlIGxldC1sZXZlbD1cImxldmVsXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJ0cmVlLW5vZGVcIiBbc3R5bGUubWFyZ2luLWxlZnQucHhdPVwibGV2ZWwgKiAyMFwiPlxyXG5cdFx0XHRcdDxkaXZcclxuXHRcdFx0XHRcdGNsYXNzPVwibm9kZS1pdGVtXCJcclxuXHRcdFx0XHRcdFtjbGFzcy5oYXMtY2hpbGRyZW5dPVwibm9kZS5jaGlsZHJlbiAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCA+IDBcIlxyXG5cdFx0XHRcdFx0W2NsYXNzLmlzLXBhZ2VdPVwibm9kZS5yb3V0ZXJMaW5rXCJcclxuXHRcdFx0XHRcdFtyb3V0ZXJMaW5rXT1cIm5vZGUucm91dGVyTGlua1wiXHJcblx0XHRcdFx0XHQoY2xpY2spPVwiIW5vZGUucm91dGVyTGluayA/IHRvZ2dsZU5vZGUobm9kZSkgOiAodmlzaWJsZSA9IGZhbHNlKVwiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm5vZGUtY29udGVudFwiPlxyXG5cdFx0XHRcdFx0XHRAaWYgKG5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRvZ2dsZS1idG5cIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyB0b2dnbGVOb2RlKG5vZGUpXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpXCIgW2NsYXNzLnBpLWNoZXZyb24tcmlnaHRdPVwiIW5vZGUuZXhwYW5kZWRcIiBbY2xhc3MucGktY2hldnJvbi1kb3duXT1cIm5vZGUuZXhwYW5kZWRcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdEBpZiAobm9kZS5pY29uKSB7XHJcblx0XHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJub2RlLWljb25cIiBbY2xhc3NdPVwibm9kZS5pY29uXCI+PC9pPlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwibm9kZS1sYWJlbFwiPnt7IG5vZGUubGFiZWwgfCB0cmFuc2xhdGVKc29uIH19PC9zcGFuPlxyXG5cclxuXHRcdFx0XHRcdFx0QGlmIChub2RlLnJvdXRlckxpbmspIHtcclxuXHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImV4dGVybmFsLWljb24gcGkgcGktZXh0ZXJuYWwtbGlua1wiPjwvaT5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHRcdDwhLS0gUmVjdXJzaXZlIENoaWxkcmVuIC0tPlxyXG5cdFx0XHRcdEBpZiAobm9kZS5jaGlsZHJlbiAmJiBub2RlLmV4cGFuZGVkKSB7XHJcblx0XHRcdFx0XHRAZm9yIChjaGlsZCBvZiBub2RlLmNoaWxkcmVuOyB0cmFjayB0cmFja0J5S2V5KCRpbmRleCwgY2hpbGQpKSB7XHJcblx0XHRcdFx0XHRcdDxuZy1jb250YWluZXJcclxuXHRcdFx0XHRcdFx0XHQqbmdUZW1wbGF0ZU91dGxldD1cInRyZWVOb2RlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjaGlsZCwgbGV2ZWw6IGxldmVsICsgMSB9XCI+PC9uZy1jb250YWluZXI+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0PC9kaXY+XHJcbjwvcC1zaWRlYmFyPlxyXG4iXX0=
|
|
@@ -35,6 +35,7 @@ export class AssetPickerComponent extends BaseInputComponent {
|
|
|
35
35
|
this.isUpdateMode = signal(false);
|
|
36
36
|
this.cacheSearchRequest$ = new Subject();
|
|
37
37
|
this.destroyRef = inject(DestroyRef);
|
|
38
|
+
this.updateModeQuery = null;
|
|
38
39
|
this.selectedDefinitionEvent = new EventEmitter();
|
|
39
40
|
effect(() => {
|
|
40
41
|
this.selectionGroupService.selectionGroups();
|
|
@@ -56,6 +57,7 @@ export class AssetPickerComponent extends BaseInputComponent {
|
|
|
56
57
|
const searchQuery = typeof currentValue === 'string' ? currentValue : currentValue?.text;
|
|
57
58
|
if (searchQuery) {
|
|
58
59
|
this.isUpdateMode.set(true);
|
|
60
|
+
this.updateModeQuery = searchQuery;
|
|
59
61
|
this.search({ query: searchQuery }, true);
|
|
60
62
|
}
|
|
61
63
|
}
|
|
@@ -68,6 +70,7 @@ export class AssetPickerComponent extends BaseInputComponent {
|
|
|
68
70
|
.subscribe(value => {
|
|
69
71
|
if (!this.isUpdateMode()) {
|
|
70
72
|
this.isUpdateMode.set(true);
|
|
73
|
+
this.updateModeQuery = value.text;
|
|
71
74
|
this.search({ query: value.text }, true);
|
|
72
75
|
}
|
|
73
76
|
});
|
|
@@ -89,10 +92,16 @@ export class AssetPickerComponent extends BaseInputComponent {
|
|
|
89
92
|
}))
|
|
90
93
|
};
|
|
91
94
|
newFilteredGroupSuggestions.push(groupData);
|
|
92
|
-
// If the string value is patched in update mode and there is group data, select the
|
|
93
|
-
if (this.isUpdateMode() && groupData.items.length
|
|
94
|
-
|
|
95
|
-
|
|
95
|
+
// If the string value is patched in update mode and there is group data, select the matching item
|
|
96
|
+
if (this.isUpdateMode() && groupData.items.length > 0 && !this.multiple()) {
|
|
97
|
+
const matchedItem = groupData.items.length === 1
|
|
98
|
+
? groupData.items[0]
|
|
99
|
+
: groupData.items.find((item) => item.assetNumber === this.updateModeQuery);
|
|
100
|
+
if (matchedItem) {
|
|
101
|
+
this.ngControl?.control?.setValue(matchedItem);
|
|
102
|
+
this.isUpdateMode.set(false);
|
|
103
|
+
this.updateModeQuery = null;
|
|
104
|
+
}
|
|
96
105
|
}
|
|
97
106
|
});
|
|
98
107
|
this.filteredSelectionItems = newFilteredGroupSuggestions;
|
|
@@ -199,4 +208,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
199
208
|
}], selectedDefinitionEvent: [{
|
|
200
209
|
type: Output
|
|
201
210
|
}] } });
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWktYnVzaW5lc3MvYXNzZXRQaWNrZXIvc3JjL2Fzc2V0LXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpLWJ1c2luZXNzL2Fzc2V0UGlja2VyL3NyYy9hc3NldC1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUVOLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUVaLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7O0FBdUN6RSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBc0IzRCxZQUNrQixJQUFnQixFQUMxQixnQkFBa0MsRUFDeEIscUJBQTRDO1FBRTdELEtBQUssRUFBRSxDQUFDO1FBSlMsU0FBSSxH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QUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNsRyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBb0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzVHLENBQUMsQ0FBcUIsQ0FBQztRQUV2QixNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdEMsTUFBTSxhQUFhLEdBQUc7WUFDckIsR0FBRyxZQUFZO1lBQ2YsR0FBRyxFQUFFLFlBQVksRUFBRSxFQUFFO1lBQ3JCLElBQUksRUFBRSxZQUFZLEVBQUUsbUJBQW1CO1lBQ3ZDLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVTtZQUNwQyxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsbUJBQW1CO1NBQ3RELENBQUM7UUFFRixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7OEdBMU5XLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDZ2REFDckIsWUFBWSxtSUNsRXhCLDAvQkE0QkEsOFJEa0NXLG1CQUFtQix5VEFBRSxrQkFBa0I7OzJGQUdyQyxvQkFBb0I7a0JBM0JoQyxTQUFTO2lDQUNHLElBQUksWUFDTixnR0FBZ0csV0FzQmpHLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUMsa0JBQ2xDLENBQUMsc0JBQXNCLENBQUM7a0pBR2YsZUFBZTtzQkFBdkMsU0FBUzt1QkFBQyxZQUFZO2dCQW1CYix1QkFBdUI7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge1xyXG5cdEFmdGVyVmlld0luaXQsXHJcblx0Q29tcG9uZW50LFxyXG5cdERlc3Ryb3lSZWYsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdE9uSW5pdCxcclxuXHRPdXRwdXQsXHJcblx0Vmlld0NoaWxkLFxyXG5cdGVmZmVjdCxcclxuXHRpbmplY3QsXHJcblx0aW5wdXQsXHJcblx0c2lnbmFsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEF1dG9Db21wbGV0ZSwgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ3ByaW1lbmcvdXRpbHMnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuaW1wb3J0IHsgU3ViamVjdCwgZmlsdGVyLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEFQSV9DT05GSUdTIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcGknO1xyXG5pbXBvcnQgeyBBcHBzIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcHBzJztcclxuaW1wb3J0IHsgU2VsZWN0aW9uR3JvdXBTZXJ2aWNlIH0gZnJvbSAnYXJpbC90aGVtZS9sYXlvdXQnO1xyXG5pbXBvcnQgeyBCYXNlSW5wdXRDb21wb25lbnQsIFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICdhcmlsL3VpL2xpYic7XHJcblxyXG5pbXBvcnQge1xyXG5cdEFzc2V0QWdncmVnYXRlLFxyXG5cdEF0dHJpYnV0ZUVsZW1lbnQsXHJcblx0Q2FjaGVTZWFyY2hSZXF1ZXN0RFRPLFxyXG5cdERlZmF1bHRTZWFyY2hBZ2dyZWdhdGVBc3NldEFnZ3JlZ2F0ZSxcclxuXHRTdWdnZXN0aW9uc0RUTyxcclxuXHRTdWdnZXN0aW9uc0dyb3VwRFRPXHJcbn0gZnJvbSAnLi9pbnRlcmZhY2UnO1xyXG5cclxudHlwZSBWYWx1ZVR5cGVzID0gJ3RleHQnIHwgJ251bWJlcic7XHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcmlsLWFzc2V0LXBpY2tlcltuZ01vZGVsXSwgYXJpbC1hc3NldC1waWNrZXJbZm9ybUNvbnRyb2xdLCBhcmlsLWFzc2V0LXBpY2tlcltmb3JtQ29udHJvbE5hbWVdJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vYXNzZXQtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZXM6IFtcclxuXHRcdGBcclxuXHRcdFx0OjpuZy1kZWVwIC5wLWF1dG9jb21wbGV0ZS1tdWx0aXBsZS1jb250YWluZXIge1xyXG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiA1MHB4O1xyXG5cdFx0XHRcdG92ZXJmbG93LXk6IGF1dG87XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0OjpuZy1kZWVwIC5wLWF1dG9jb21wbGV0ZS10b2tlbiB7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdGZsZXgtc2hyaW5rOiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQ6Om5nLWRlZXAgLnAtYXV0b2NvbXBsZXRlLWlucHV0LXRva2VuIHtcclxuXHRcdFx0XHRmbGV4OiAxO1xyXG5cdFx0XHRcdG1pbi13aWR0aDogMTUwcHg7XHJcblx0XHRcdH1cclxuXHRcdGBcclxuXHRdLFxyXG5cdGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBBdXRvQ29tcGxldGVNb2R1bGVdLFxyXG5cdGhvc3REaXJlY3RpdmVzOiBbVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFzc2V0UGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IHtcclxuXHRAVmlld0NoaWxkKEF1dG9Db21wbGV0ZSkgYXV0b0NvbXBsZXRlUmVmITogQXV0b0NvbXBsZXRlO1xyXG5cdGFzc2V0Q29kZSA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbD4obnVsbCk7XHJcblx0dHlwZSA9IGlucHV0PFZhbHVlVHlwZXMgfCBudWxsPihudWxsKTtcclxuXHJcblx0cGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCdBcmFtYS4uLicpO1xyXG5cdGZvcmNlU2VsZWN0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdG11bHRpcGxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHNob3dDbGVhciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRvcHRpb25WYWx1ZSA9IGlucHV0PGtleW9mIFN1Z2dlc3Rpb25zRFRPIHwgbnVsbD4obnVsbCk7XHJcblx0YXBwZW5kVG8gPSBpbnB1dDxzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGw+KCdib2R5Jyk7XHJcblx0bXFsID0gaW5wdXQ8c3RyaW5nPigpO1xyXG5cdHNob3dPbmx5QXNzZXROdW1iZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0ZW5hYmxlQXV0b1NlYXJjaE9uSW5pdCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRpc1VwZGF0ZU1vZGUgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHRmaWx0ZXJlZFNlbGVjdGlvbkl0ZW1zITogU3VnZ2VzdGlvbnNHcm91cERUT1tdO1xyXG5cdHNlbGVjdGlvbkRlZmluaXRpb25zITogRGVmYXVsdFNlYXJjaEFnZ3JlZ2F0ZUFzc2V0QWdncmVnYXRlO1xyXG5cdGNhY2hlU2VhcmNoUmVxdWVzdCQgPSBuZXcgU3ViamVjdDxDYWNoZVNlYXJjaFJlcXVlc3REVE8+KCk7XHJcblx0ZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuXHRAT3V0cHV0KCkgc2VsZWN0ZWREZWZpbml0aW9uRXZlbnQ6IEV2ZW50RW1pdHRlcjxBc3NldEFnZ3JlZ2F0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFzc2V0QWdncmVnYXRlPigpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuXHRcdHB1YmxpYyB0cmFuc2xvY29TZXJ2aWNlOiBUcmFuc2xvY29TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBzZWxlY3Rpb25Hcm91cFNlcnZpY2U6IFNlbGVjdGlvbkdyb3VwU2VydmljZVxyXG5cdCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5zZWxlY3Rpb25Hcm91cHMoKTtcclxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0aW9uRGVmaW5pdGlvbnMpIHtcclxuXHRcdFx0XHR0aGlzLnJlZnJlc2hGaWx0ZXJlZFNlbGVjdGlvbkl0ZW1zKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0dGhpcy5jYWNoZVNlYXJjaFJlcXVlc3QkXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdHN3aXRjaE1hcCgocGF5bG9hZCkgPT5cclxuXHRcdFx0XHRcdHRoaXMuaHR0cC5wb3N0PGFueT4oQVBJX0NPTkZJR1MuZ2V0RXh0ZXJuYWxBcHBFbmRwb2ludChBcHBzLk1ORykgKyAnL21hc3Rlci1kYXRhL2NhY2hlLXNlYXJjaCcsIHBheWxvYWQpXHJcblx0XHRcdFx0KSxcclxuXHRcdFx0XHR0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxyXG5cdFx0XHQpXHJcblx0XHRcdC5zdWJzY3JpYmUoKHNlbGVjdGlvbkdyb3VwKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5zZWxlY3Rpb25EZWZpbml0aW9ucyA9IHNlbGVjdGlvbkdyb3VwO1xyXG5cdFx0XHRcdHRoaXMucmVmcmVzaEZpbHRlcmVkU2VsZWN0aW9uSXRlbXMoKTtcclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0Ly8gSWYgdGhlIGZvcm0gY29udHJvbCdzIHZhbHVlIGlzIGEgc3RyaW5nLCBwZXJmb3JtIGEgY2FjaGUgc2VhcmNoIHRvIHJldHJpZXZlIHRoZSBJRC5cclxuXHRcdGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMubmdDb250cm9sPy5jb250cm9sPy52YWx1ZTtcclxuXHRcdGlmICh0aGlzLmVuYWJsZUF1dG9TZWFyY2hPbkluaXQoKSB8fCAoY3VycmVudFZhbHVlICYmIHR5cGVvZiBjdXJyZW50VmFsdWUgPT09ICdzdHJpbmcnKSkge1xyXG5cdFx0XHRcdGNvbnN0IHNlYXJjaFF1ZXJ5ID0gdHlwZW9mIGN1cnJlbnRWYWx1ZSA9PT0gJ3N0cmluZycgPyBjdXJyZW50VmFsdWUgOiBjdXJyZW50VmFsdWU/LnRleHQ7XHJcblx0XHRcdFx0aWYgKHNlYXJjaFF1ZXJ5KSB7XHJcblx0XHRcdFx0XHR0aGlzLmlzVXBkYXRlTW9kZS5zZXQodHJ1ZSk7XHJcblx0XHRcdFx0XHR0aGlzLnNlYXJjaCh7IHF1ZXJ5OiBzZWFyY2hRdWVyeSB9LCB0cnVlKTtcclxuXHRcdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gUmVhY3QgdG8gcHJvZ3JhbW1hdGljIHBhdGNoZXMgKGNyZWF0ZUZvcm1EYXRhT2JqZWN0IC8gcGF0Y2hBc3NldFJlc3BvbnNlVG9Gb3JtKVxyXG5cdFx0dGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRmaWx0ZXIodmFsdWUgPT5cclxuXHRcdFx0XHRcdHZhbHVlICYmXHJcblx0XHRcdFx0XHR0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXHJcblx0XHRcdFx0XHQndGV4dCcgaW4gdmFsdWUgJiZcclxuXHRcdFx0XHRcdCEoJ2F0dHJpYnV0ZXMnIGluIHZhbHVlKVxyXG5cdFx0XHRcdCksXHJcblx0XHRcdFx0dGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcclxuXHRcdFx0KVxyXG5cdFx0XHQuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuXHRcdFx0XHRpZiAoIXRoaXMuaXNVcGRhdGVNb2RlKCkpIHtcclxuXHRcdFx0XHRcdHRoaXMuaXNVcGRhdGVNb2RlLnNldCh0cnVlKTtcclxuXHRcdFx0XHRcdHRoaXMuc2VhcmNoKHsgcXVlcnk6IHZhbHVlLnRleHQgfSwgdHJ1ZSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHJcblx0fVxyXG5cclxuXHRwcml2YXRlIHJlZnJlc2hGaWx0ZXJlZFNlbGVjdGlvbkl0ZW1zKCk6IHZvaWQge1xyXG5cdFx0aWYgKCF0aGlzLnNlbGVjdGlvbkRlZmluaXRpb25zKSByZXR1cm47XHJcblxyXG5cdFx0Y29uc3QgbmV3RmlsdGVyZWRHcm91cFN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uc0dyb3VwRFRPW10gPSBbXTtcclxuXHJcblx0XHRPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGlvbkRlZmluaXRpb25zKS5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xyXG5cdFx0XHRjb25zdCBncm91cERhdGE6IFN1Z2dlc3Rpb25zR3JvdXBEVE8gPSB7XHJcblx0XHRcdFx0dGV4dDogdGhpcy5zZWxlY3Rpb25EZWZpbml0aW9uc1trZXldPy5yZXN1bHRbMF0/LmFzc2V0c1swXT8uYXNzZXREZWZpbml0aW9uTmFtZSxcclxuXHRcdFx0XHRrZXk6IGtleSxcclxuXHRcdFx0XHRpdGVtczogdGhpcy5zZWxlY3Rpb25EZWZpbml0aW9uc1trZXldLnJlc3VsdC5tYXAoXHJcblx0XHRcdFx0XHQoaXRlbTogQXNzZXRBZ2dyZWdhdGUpID0+XHJcblx0XHRcdFx0XHRcdCh7XHJcblx0XHRcdFx0XHRcdFx0a2V5OiBpdGVtLmlkLFxyXG5cdFx0XHRcdFx0XHRcdHRleHQ6IHRoaXMuZ2V0QXR0aXJpYnV0ZXNWYWx1ZURlc2NyKGl0ZW0uYXR0cmlidXRlcyksXHJcblx0XHRcdFx0XHRcdFx0YXNzZXROdW1iZXI6IHRoaXMuZ2V0QXNzZXROdW1iZXJWYWx1ZShpdGVtLmF0dHJpYnV0ZXMpLFxyXG5cdFx0XHRcdFx0XHRcdGF0dHJpYnV0ZXM6IGl0ZW0uYXR0cmlidXRlcyxcclxuXHRcdFx0XHRcdFx0XHRhc3NldERlZmluaXRpb25Db2RlOiBpdGVtLmFzc2V0RGVmaW5pdGlvbkNvZGVcclxuXHRcdFx0XHRcdFx0fSkgYXMgU3VnZ2VzdGlvbnNEVE9cclxuXHRcdFx0XHQpXHJcblx0XHRcdH07XHJcblx0XHRcdG5ld0ZpbHRlcmVkR3JvdXBTdWdnZXN0aW9ucy5wdXNoKGdyb3VwRGF0YSk7XHJcblxyXG5cdFx0XHQvLyBJZiB0aGUgc3RyaW5nIHZhbHVlIGlzIHBhdGNoZWQgaW4gdXBkYXRlIG1vZGUgYW5kIHRoZXJlIGlzIGdyb3VwIGRhdGEsIHNlbGVjdCB0aGUgZmlyc3QgaXRlbVxyXG5cdFx0XHRpZiAodGhpcy5pc1VwZGF0ZU1vZGUoKSAmJiBncm91cERhdGEuaXRlbXMubGVuZ3RoID09PSAxICYmICF0aGlzLm11bHRpcGxlKCkpIHtcclxuXHRcdFx0XHR0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUoZ3JvdXBEYXRhLml0ZW1zWzBdKTtcclxuXHRcdFx0XHR0aGlzLmlzVXBkYXRlTW9kZS5zZXQoZmFsc2UpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLmZpbHRlcmVkU2VsZWN0aW9uSXRlbXMgPSBuZXdGaWx0ZXJlZEdyb3VwU3VnZ2VzdGlvbnM7XHJcblx0fVxyXG5cclxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLmF1dG9Db21wbGV0ZVJlZi5nZXRPcHRpb25WYWx1ZSA9IHRoaXMuZ2V0T3B0aW9uVmFsdWUuYmluZCh0aGlzKTtcclxuXHR9XHJcblxyXG5cdGdldE9wdGlvblZhbHVlKG9wdGlvbjogYW55KSB7XHJcblx0XHRpZiAoIXRoaXMub3B0aW9uVmFsdWUoKSkge1xyXG5cdFx0XHRyZXR1cm4gb3B0aW9uO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0Jykge1xyXG5cdFx0XHRyZXR1cm4gT2JqZWN0VXRpbHMucmVzb2x2ZUZpZWxkRGF0YShvcHRpb24sIHRoaXMub3B0aW9uVmFsdWUoKSk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIG9wdGlvbjtcclxuXHR9XHJcblxyXG5cdG9uTmdNb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XHJcblx0XHRjb25zdCB2YWxpZGF0ZWRWYWx1ZSA9IHRoaXMudmFsaWRhdGVJbnB1dCh2YWx1ZSk7XHJcblx0XHR0aGlzLm5nQ29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSh2YWxpZGF0ZWRWYWx1ZSk7XHJcblx0fVxyXG5cclxuXHR2YWxpZGF0ZUlucHV0KHZhbHVlOiBzdHJpbmcpIHtcclxuXHRcdGlmICh0aGlzLnR5cGUoKSA9PT0gJ251bWJlcicpIHtcclxuXHRcdFx0cmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnJyk7XHJcblx0XHR9IGVsc2UgaWYgKHRoaXMudHlwZSgpID09PSAndGV4dCcpIHtcclxuXHRcdFx0cmV0dXJuIHZhbHVlLnJlcGxhY2UoL1teYS16QS1axJ/DvMWfxLHDtsOnxJ7DnMWexLDDlsOHXFxzXS9nLCAnJyk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdmFsdWU7XHJcblx0fVxyXG5cclxuXHRzZWFyY2goZXZlbnQ6IGFueSwgc2tpcE1xbCA9IGZhbHNlKSB7XHJcblx0XHRpZiAoIWV2ZW50Py5xdWVyeSB8fCB0eXBlb2YgZXZlbnQucXVlcnkgIT09ICdzdHJpbmcnKSByZXR1cm47XHJcblxyXG5cdFx0Y29uc3QgcXVlcnkgPSB0aGlzLnZhbGlkYXRlSW5wdXQoZXZlbnQucXVlcnkpO1xyXG5cdFx0aWYgKCFxdWVyeT8udHJpbSgpKSByZXR1cm47XHJcblxyXG5cdFx0Y29uc3QgcGF5bG9hZDogQ2FjaGVTZWFyY2hSZXF1ZXN0RFRPID0ge1xyXG5cdFx0XHRzZWFyY2hUZXh0OiBxdWVyeT8udHJpbSgpLFxyXG5cdFx0XHRhc3NldERlZmluaXRpb25Db2RlczogQXJyYXkuaXNBcnJheSh0aGlzLmFzc2V0Q29kZSgpKSA/IHRoaXMuYXNzZXRDb2RlKCkgOiAoW3RoaXMuYXNzZXRDb2RlKCldIGFzIGFueSksXHJcblx0XHRcdHBhZ2VyOiB7XHJcblx0XHRcdFx0cGFnZVNpemU6IDUsXHJcblx0XHRcdFx0cGFnZU51bWJlcjogMVxyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cclxuXHRcdGlmICghc2tpcE1xbCAmJiB0aGlzLm1xbCgpKSBwYXlsb2FkLm1xbCA9IHRoaXMubXFsKCk7XHJcblxyXG5cdFx0dGhpcy5jYWNoZVNlYXJjaFJlcXVlc3QkLm5leHQocGF5bG9hZCk7XHJcblx0fVxyXG5cclxuXHRnZXRBdHRpcmlidXRlc1ZhbHVlRGVzY3IoYXR0cmlidXRlczogQXR0cmlidXRlRWxlbWVudFtdKTogc3RyaW5nIHtcclxuXHRcdGNvbnN0IGV4Y2x1ZGVkQXR0cmlidXRlcyA9IFsnQXNzZXRJZCcsICdBc3NldERlZmluaXRpb25OYW1lJ107XHJcblx0XHRyZXR1cm4gYXR0cmlidXRlc1xyXG5cdFx0XHQ/LmZpbHRlcigoYXR0cikgPT4gIWV4Y2x1ZGVkQXR0cmlidXRlcy5pbmNsdWRlcyhhdHRyLmF0dHJpYnV0ZT8uYXR0cmlidXRlQ29kZSkpXHJcblx0XHRcdD8ubWFwKChhdHRyKSA9PiB7XHJcblx0XHRcdFx0Ly8gSGFuZGxlIFNFTEVDVCB0eXBlIGF0dHJpYnV0ZXMgdXNpbmcgU2VsZWN0aW9uR3JvdXBTZXJ2aWNlXHJcblx0XHRcdFx0aWYgKGF0dHIuYXR0cmlidXRlPy5hdHRyaWJ1dGVUeXBlID09PSAnU0VMRUNUJyAmJiBhdHRyLmF0dHJpYnV0ZT8uc2VsZWN0T3B0aW9uKSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5nZXRTZWxlY3Rpb25EaXNwbGF5KGF0dHIuYXR0cmlidXRlLnNlbGVjdE9wdGlvbiwgYXR0ci52YWx1ZSBhcyBzdHJpbmcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zdCB2YWx1ZSA9IGF0dHIudmFsdWVEZXNjID8gYXR0ci52YWx1ZURlc2MgOiBhdHRyLnZhbHVlO1xyXG5cdFx0XHRcdHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkodmFsdWUpIDogU3RyaW5nKHZhbHVlKTtcclxuXHRcdFx0fSlcclxuXHRcdFx0LmpvaW4oJyAtICcpO1xyXG5cdH1cclxuXHRwcml2YXRlIGdldEFzc2V0TnVtYmVyVmFsdWUoYXR0cmlidXRlczogQXR0cmlidXRlRWxlbWVudFtdKTogc3RyaW5nIHtcclxuXHRcdGNvbnN0IGFzc2V0TnVtYmVyQXR0ciA9IGF0dHJpYnV0ZXM/LmZpbmQoKGF0dHIpID0+IGF0dHIuYXR0cmlidXRlPy5hdHRyaWJ1dGVDb2RlID09PSAnQXNzZXROdW1iZXInKTtcclxuXHRcdGlmICghYXNzZXROdW1iZXJBdHRyKSByZXR1cm4gJyc7XHJcblx0XHRyZXR1cm4gU3RyaW5nKGFzc2V0TnVtYmVyQXR0ci52YWx1ZURlc2MgfHwgYXNzZXROdW1iZXJBdHRyLnZhbHVlIHx8ICcnKTtcclxuXHR9XHJcblx0cHJpdmF0ZSBnZXRTZWxlY3Rpb25EaXNwbGF5KGdyb3VwTmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuXHRcdGNvbnN0IGtleSA9IGAke2dyb3VwTmFtZX1+QUxMYDtcclxuXHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwID0gdGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClba2V5XTtcclxuXHJcblx0XHRpZiAoIXNlbGVjdGlvbkdyb3VwKSB7XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLmZldGNoRW51bShncm91cE5hbWUsICdBTEwnKTtcclxuXHRcdFx0cmV0dXJuIHZhbHVlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGN1cnJlbnRMYW5nID0gdGhpcy50cmFuc2xvY29TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKTtcclxuXHRcdGNvbnN0IHNlbGVjdGlvbkl0ZW0gPSBzZWxlY3Rpb25Hcm91cC5zZWxlY3Rpb25JdGVtcz8uZmluZCgodCkgPT4gdC5zZWxlY3Rpb25LZXkgPT09IHZhbHVlKSBhcyB7XHJcblx0XHRcdHNlbGVjdGlvbk11bHRpTGFuZ3VhZ2VEaXNwbGF5cz86IHsgW2xhbmc6IHN0cmluZ106IHN0cmluZyB9O1xyXG5cdFx0XHRzZWxlY3Rpb25EaXNwbGF5Pzogc3RyaW5nO1xyXG5cdFx0fTtcclxuXHJcblx0XHRpZiAoIXNlbGVjdGlvbkl0ZW0pIHJldHVybiB2YWx1ZTtcclxuXHJcblx0XHRyZXR1cm4gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25NdWx0aUxhbmd1YWdlRGlzcGxheXM/LltjdXJyZW50TGFuZ10gPz8gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25EaXNwbGF5ID8/IHZhbHVlO1xyXG5cdH1cclxuXHJcblx0dHJpZ2dlclNlbGVjdGVkRXZlbnRzKGV2ZW50OiBhbnkpIHtcclxuXHRcdGNvbnN0IHNlbGVjdGVkSXRlbXM6IEFzc2V0QWdncmVnYXRlW10gPSBPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGlvbkRlZmluaXRpb25zKS5tYXAoKGtleTogc3RyaW5nKSA9PiB7XHJcblx0XHRcdHJldHVybiB0aGlzLnNlbGVjdGlvbkRlZmluaXRpb25zW2tleV0ucmVzdWx0LmZpbmQoKGl0ZW06IEFzc2V0QWdncmVnYXRlKSA9PiBpdGVtLmlkID09PSBldmVudD8udmFsdWU/LmtleSk7XHJcblx0XHR9KSBhcyBBc3NldEFnZ3JlZ2F0ZVtdO1xyXG5cclxuXHRcdGNvbnN0IHNlbGVjdGVkSXRlbSA9IHNlbGVjdGVkSXRlbXNbMF07XHJcblxyXG5cdFx0Y29uc3Qgc2VsZWN0ZWRFdmVudCA9IHtcclxuXHRcdFx0Li4uc2VsZWN0ZWRJdGVtLFxyXG5cdFx0XHRrZXk6IHNlbGVjdGVkSXRlbT8uaWQsXHJcblx0XHRcdHRleHQ6IHNlbGVjdGVkSXRlbT8uYXNzZXREZWZpbml0aW9uTmFtZSxcclxuXHRcdFx0YXR0cmlidXRlczogc2VsZWN0ZWRJdGVtPy5hdHRyaWJ1dGVzLFxyXG5cdFx0XHRhc3NldERlZmluaXRpb25Db2RlOiBzZWxlY3RlZEl0ZW0/LmFzc2V0RGVmaW5pdGlvbkNvZGVcclxuXHRcdH07XHJcblxyXG5cdFx0dGhpcy5zZWxlY3RlZERlZmluaXRpb25FdmVudC5lbWl0KHNlbGVjdGVkRXZlbnQpO1xyXG5cdH1cclxufVxyXG4iLCI8cC1hdXRvQ29tcGxldGVcclxuXHRvcHRpb25MYWJlbD1cInRleHRcIlxyXG5cdFtvcHRpb25WYWx1ZV09XCJvcHRpb25WYWx1ZSgpIVwiXHJcblx0W3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxyXG5cdFttdWx0aXBsZV09XCJtdWx0aXBsZSgpXCJcclxuXHRbZ3JvdXBdPVwidHJ1ZVwiXHJcblx0W2ZvcmNlU2VsZWN0aW9uXT1cImZvcmNlU2VsZWN0aW9uKClcIlxyXG5cdFtkZWxheV09XCI3MDBcIlxyXG5cdFttaW5MZW5ndGhdPVwiM1wiXHJcblx0W3N1Z2dlc3Rpb25zXT1cImZpbHRlcmVkU2VsZWN0aW9uSXRlbXNcIlxyXG5cdChjb21wbGV0ZU1ldGhvZCk9XCJzZWFyY2goJGV2ZW50KVwiXHJcblx0W2Zvcm1Db250cm9sXT1cIm5nQ29udHJvbC5jb250cm9sXCJcclxuXHRbYXV0b0hpZ2hsaWdodF09XCJ0cnVlXCJcclxuXHRbdHlwZV09XCJ0eXBlKCkhXCJcclxuXHQobmdNb2RlbENoYW5nZSk9XCJvbk5nTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXHJcblx0W3Nob3dDbGVhcl09XCJzaG93Q2xlYXIoKVwiXHJcblx0W2VtcHR5TWVzc2FnZV09XCJ0cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMubm9EYXRhVG9EaXNwbGF5JylcIlxyXG5cdChvblNlbGVjdCk9XCJ0cmlnZ2VyU2VsZWN0ZWRFdmVudHMoJGV2ZW50KVwiXHJcblx0W2FwcGVuZFRvXT1cImFwcGVuZFRvKClcIj5cclxuXHQ8bmctdGVtcGxhdGUgbGV0LWdyb3VwIHBUZW1wbGF0ZT1cImdyb3VwXCI+XHJcblx0XHQ8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPnt7IGdyb3VwLnRleHQgfX08L3NwYW4+XHJcblx0PC9uZy10ZW1wbGF0ZT5cclxuXHRAaWYgKHNob3dPbmx5QXNzZXROdW1iZXIoKSkge1xyXG5cdFx0PG5nLXRlbXBsYXRlIGxldC12YWx1ZSBwVGVtcGxhdGU9XCJzZWxlY3RlZEl0ZW1cIj5cclxuXHRcdFx0PHNwYW4+e3sgdmFsdWU/LmFzc2V0TnVtYmVyIHx8IHZhbHVlPy50ZXh0IH19PC9zcGFuPlxyXG5cdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHR9XHJcbjwvcC1hdXRvQ29tcGxldGU+XHJcbiJdfQ==
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWktYnVzaW5lc3MvYXNzZXRQaWNrZXIvc3JjL2Fzc2V0LXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpLWJ1c2luZXNzL2Fzc2V0UGlja2VyL3NyYy9hc3NldC1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUVOLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUVaLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7O0FBdUN6RSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBdUIzRCxZQUNrQixJQUFnQixFQUMxQixnQkFBa0MsRUFDeEIscUJBQTRDO1FBRTdELEtBQUssRUFBRSxDQUFDO1FBSlMsU0FBSSxH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WUFBWSxtSUNsRXhCLDAvQkE0QkEsOFJEa0NXLG1CQUFtQix5VEFBRSxrQkFBa0I7OzJGQUdyQyxvQkFBb0I7a0JBM0JoQyxTQUFTO2lDQUNHLElBQUksWUFDTixnR0FBZ0csV0FzQmpHLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUMsa0JBQ2xDLENBQUMsc0JBQXNCLENBQUM7a0pBR2YsZUFBZTtzQkFBdkMsU0FBUzt1QkFBQyxZQUFZO2dCQW9CYix1QkFBdUI7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge1xyXG5cdEFmdGVyVmlld0luaXQsXHJcblx0Q29tcG9uZW50LFxyXG5cdERlc3Ryb3lSZWYsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdE9uSW5pdCxcclxuXHRPdXRwdXQsXHJcblx0Vmlld0NoaWxkLFxyXG5cdGVmZmVjdCxcclxuXHRpbmplY3QsXHJcblx0aW5wdXQsXHJcblx0c2lnbmFsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEF1dG9Db21wbGV0ZSwgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ3ByaW1lbmcvdXRpbHMnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuaW1wb3J0IHsgU3ViamVjdCwgZmlsdGVyLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEFQSV9DT05GSUdTIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcGknO1xyXG5pbXBvcnQgeyBBcHBzIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcHBzJztcclxuaW1wb3J0IHsgU2VsZWN0aW9uR3JvdXBTZXJ2aWNlIH0gZnJvbSAnYXJpbC90aGVtZS9sYXlvdXQnO1xyXG5pbXBvcnQgeyBCYXNlSW5wdXRDb21wb25lbnQsIFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICdhcmlsL3VpL2xpYic7XHJcblxyXG5pbXBvcnQge1xyXG5cdEFzc2V0QWdncmVnYXRlLFxyXG5cdEF0dHJpYnV0ZUVsZW1lbnQsXHJcblx0Q2FjaGVTZWFyY2hSZXF1ZXN0RFRPLFxyXG5cdERlZmF1bHRTZWFyY2hBZ2dyZWdhdGVBc3NldEFnZ3JlZ2F0ZSxcclxuXHRTdWdnZXN0aW9uc0RUTyxcclxuXHRTdWdnZXN0aW9uc0dyb3VwRFRPXHJcbn0gZnJvbSAnLi9pbnRlcmZhY2UnO1xyXG5cclxudHlwZSBWYWx1ZVR5cGVzID0gJ3RleHQnIHwgJ251bWJlcic7XHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcmlsLWFzc2V0LXBpY2tlcltuZ01vZGVsXSwgYXJpbC1hc3NldC1waWNrZXJbZm9ybUNvbnRyb2xdLCBhcmlsLWFzc2V0LXBpY2tlcltmb3JtQ29udHJvbE5hbWVdJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vYXNzZXQtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZXM6IFtcclxuXHRcdGBcclxuXHRcdFx0OjpuZy1kZWVwIC5wLWF1dG9jb21wbGV0ZS1tdWx0aXBsZS1jb250YWluZXIge1xyXG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiA1MHB4O1xyXG5cdFx0XHRcdG92ZXJmbG93LXk6IGF1dG87XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0OjpuZy1kZWVwIC5wLWF1dG9jb21wbGV0ZS10b2tlbiB7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdGZsZXgtc2hyaW5rOiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQ6Om5nLWRlZXAgLnAtYXV0b2NvbXBsZXRlLWlucHV0LXRva2VuIHtcclxuXHRcdFx0XHRmbGV4OiAxO1xyXG5cdFx0XHRcdG1pbi13aWR0aDogMTUwcHg7XHJcblx0XHRcdH1cclxuXHRcdGBcclxuXHRdLFxyXG5cdGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBBdXRvQ29tcGxldGVNb2R1bGVdLFxyXG5cdGhvc3REaXJlY3RpdmVzOiBbVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFzc2V0UGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IHtcclxuXHRAVmlld0NoaWxkKEF1dG9Db21wbGV0ZSkgYXV0b0NvbXBsZXRlUmVmITogQXV0b0NvbXBsZXRlO1xyXG5cdGFzc2V0Q29kZSA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbD4obnVsbCk7XHJcblx0dHlwZSA9IGlucHV0PFZhbHVlVHlwZXMgfCBudWxsPihudWxsKTtcclxuXHJcblx0cGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCdBcmFtYS4uLicpO1xyXG5cdGZvcmNlU2VsZWN0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdG11bHRpcGxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHNob3dDbGVhciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRvcHRpb25WYWx1ZSA9IGlucHV0PGtleW9mIFN1Z2dlc3Rpb25zRFRPIHwgbnVsbD4obnVsbCk7XHJcblx0YXBwZW5kVG8gPSBpbnB1dDxzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGw+KCdib2R5Jyk7XHJcblx0bXFsID0gaW5wdXQ8c3RyaW5nPigpO1xyXG5cdHNob3dPbmx5QXNzZXROdW1iZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0ZW5hYmxlQXV0b1NlYXJjaE9uSW5pdCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRpc1VwZGF0ZU1vZGUgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHRmaWx0ZXJlZFNlbGVjdGlvbkl0ZW1zITogU3VnZ2VzdGlvbnNHcm91cERUT1tdO1xyXG5cdHNlbGVjdGlvbkRlZmluaXRpb25zITogRGVmYXVsdFNlYXJjaEFnZ3JlZ2F0ZUFzc2V0QWdncmVnYXRlO1xyXG5cdGNhY2hlU2VhcmNoUmVxdWVzdCQgPSBuZXcgU3ViamVjdDxDYWNoZVNlYXJjaFJlcXVlc3REVE8+KCk7XHJcblx0ZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuXHRwcml2YXRlIHVwZGF0ZU1vZGVRdWVyeTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblx0QE91dHB1dCgpIHNlbGVjdGVkRGVmaW5pdGlvbkV2ZW50OiBFdmVudEVtaXR0ZXI8QXNzZXRBZ2dyZWdhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxBc3NldEFnZ3JlZ2F0ZT4oKTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXHJcblx0XHRwdWJsaWMgdHJhbnNsb2NvU2VydmljZTogVHJhbnNsb2NvU2VydmljZSxcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0aW9uR3JvdXBTZXJ2aWNlOiBTZWxlY3Rpb25Hcm91cFNlcnZpY2VcclxuXHQpIHtcclxuXHRcdHN1cGVyKCk7XHJcblxyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKCk7XHJcblx0XHRcdGlmICh0aGlzLnNlbGVjdGlvbkRlZmluaXRpb25zKSB7XHJcblx0XHRcdFx0dGhpcy5yZWZyZXNoRmlsdGVyZWRTZWxlY3Rpb25JdGVtcygpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMuY2FjaGVTZWFyY2hSZXF1ZXN0JFxyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRzd2l0Y2hNYXAoKHBheWxvYWQpID0+XHJcblx0XHRcdFx0XHR0aGlzLmh0dHAucG9zdDxhbnk+KEFQSV9DT05GSUdTLmdldEV4dGVybmFsQXBwRW5kcG9pbnQoQXBwcy5NTkcpICsgJy9tYXN0ZXItZGF0YS9jYWNoZS1zZWFyY2gnLCBwYXlsb2FkKVxyXG5cdFx0XHRcdCksXHJcblx0XHRcdFx0dGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcclxuXHRcdFx0KVxyXG5cdFx0XHQuc3Vic2NyaWJlKChzZWxlY3Rpb25Hcm91cCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0aW9uRGVmaW5pdGlvbnMgPSBzZWxlY3Rpb25Hcm91cDtcclxuXHRcdFx0XHR0aGlzLnJlZnJlc2hGaWx0ZXJlZFNlbGVjdGlvbkl0ZW1zKCk7XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdC8vIElmIHRoZSBmb3JtIGNvbnRyb2wncyB2YWx1ZSBpcyBhIHN0cmluZywgcGVyZm9ybSBhIGNhY2hlIHNlYXJjaCB0byByZXRyaWV2ZSB0aGUgSUQuXHJcblx0XHRjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udmFsdWU7XHJcblx0XHRpZiAodGhpcy5lbmFibGVBdXRvU2VhcmNoT25Jbml0KCkgfHwgKGN1cnJlbnRWYWx1ZSAmJiB0eXBlb2YgY3VycmVudFZhbHVlID09PSAnc3RyaW5nJykpIHtcclxuXHRcdFx0XHRjb25zdCBzZWFyY2hRdWVyeSA9IHR5cGVvZiBjdXJyZW50VmFsdWUgPT09ICdzdHJpbmcnID8gY3VycmVudFZhbHVlIDogY3VycmVudFZhbHVlPy50ZXh0O1xyXG5cdFx0XHRcdGlmIChzZWFyY2hRdWVyeSkge1xyXG5cdFx0XHRcdFx0dGhpcy5pc1VwZGF0ZU1vZGUuc2V0KHRydWUpO1xyXG5cdFx0XHRcdFx0dGhpcy51cGRhdGVNb2RlUXVlcnkgPSBzZWFyY2hRdWVyeTtcclxuXHRcdFx0XHRcdHRoaXMuc2VhcmNoKHsgcXVlcnk6IHNlYXJjaFF1ZXJ5IH0sIHRydWUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvLyBSZWFjdCB0byBwcm9ncmFtbWF0aWMgcGF0Y2hlcyAoY3JlYXRlRm9ybURhdGFPYmplY3QgLyBwYXRjaEFzc2V0UmVzcG9uc2VUb0Zvcm0pXHJcblx0XHR0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udmFsdWVDaGFuZ2VzXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdGZpbHRlcih2YWx1ZSA9PlxyXG5cdFx0XHRcdFx0dmFsdWUgJiZcclxuXHRcdFx0XHRcdHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcclxuXHRcdFx0XHRcdCd0ZXh0JyBpbiB2YWx1ZSAmJlxyXG5cdFx0XHRcdFx0ISgnYXR0cmlidXRlcycgaW4gdmFsdWUpXHJcblx0XHRcdFx0KSxcclxuXHRcdFx0XHR0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxyXG5cdFx0XHQpXHJcblx0XHRcdC5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG5cdFx0XHRcdGlmICghdGhpcy5pc1VwZGF0ZU1vZGUoKSkge1xyXG5cdFx0XHRcdFx0dGhpcy5pc1VwZGF0ZU1vZGUuc2V0KHRydWUpO1xyXG5cdFx0XHRcdFx0dGhpcy51cGRhdGVNb2RlUXVlcnkgPSB2YWx1ZS50ZXh0O1xyXG5cdFx0XHRcdFx0dGhpcy5zZWFyY2goeyBxdWVyeTogdmFsdWUudGV4dCB9LCB0cnVlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgcmVmcmVzaEZpbHRlcmVkU2VsZWN0aW9uSXRlbXMoKTogdm9pZCB7XHJcblx0XHRpZiAoIXRoaXMuc2VsZWN0aW9uRGVmaW5pdGlvbnMpIHJldHVybjtcclxuXHJcblx0XHRjb25zdCBuZXdGaWx0ZXJlZEdyb3VwU3VnZ2VzdGlvbnM6IFN1Z2dlc3Rpb25zR3JvdXBEVE9bXSA9IFtdO1xyXG5cclxuXHRcdE9iamVjdC5rZXlzKHRoaXMuc2VsZWN0aW9uRGVmaW5pdGlvbnMpLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XHJcblx0XHRcdGNvbnN0IGdyb3VwRGF0YTogU3VnZ2VzdGlvbnNHcm91cERUTyA9IHtcclxuXHRcdFx0XHR0ZXh0OiB0aGlzLnNlbGVjdGlvbkRlZmluaXRpb25zW2tleV0/LnJlc3VsdFswXT8uYXNzZXRzWzBdPy5hc3NldERlZmluaXRpb25OYW1lLFxyXG5cdFx0XHRcdGtleToga2V5LFxyXG5cdFx0XHRcdGl0ZW1zOiB0aGlzLnNlbGVjdGlvbkRlZmluaXRpb25zW2tleV0ucmVzdWx0Lm1hcChcclxuXHRcdFx0XHRcdChpdGVtOiBBc3NldEFnZ3JlZ2F0ZSkgPT5cclxuXHRcdFx0XHRcdFx0KHtcclxuXHRcdFx0XHRcdFx0XHRrZXk6IGl0ZW0uaWQsXHJcblx0XHRcdFx0XHRcdFx0dGV4dDogdGhpcy5nZXRBdHRpcmlidXRlc1ZhbHVlRGVzY3IoaXRlbS5hdHRyaWJ1dGVzKSxcclxuXHRcdFx0XHRcdFx0XHRhc3NldE51bWJlcjogdGhpcy5nZXRBc3NldE51bWJlclZhbHVlKGl0ZW0uYXR0cmlidXRlcyksXHJcblx0XHRcdFx0XHRcdFx0YXR0cmlidXRlczogaXRlbS5hdHRyaWJ1dGVzLFxyXG5cdFx0XHRcdFx0XHRcdGFzc2V0RGVmaW5pdGlvbkNvZGU6IGl0ZW0uYXNzZXREZWZpbml0aW9uQ29kZVxyXG5cdFx0XHRcdFx0XHR9KSBhcyBTdWdnZXN0aW9uc0RUT1xyXG5cdFx0XHRcdClcclxuXHRcdFx0fTtcclxuXHRcdFx0bmV3RmlsdGVyZWRHcm91cFN1Z2dlc3Rpb25zLnB1c2goZ3JvdXBEYXRhKTtcclxuXHJcblx0XHRcdC8vIElmIHRoZSBzdHJpbmcgdmFsdWUgaXMgcGF0Y2hlZCBpbiB1cGRhdGUgbW9kZSBhbmQgdGhlcmUgaXMgZ3JvdXAgZGF0YSwgc2VsZWN0IHRoZSBtYXRjaGluZyBpdGVtXHJcblx0XHRcdGlmICh0aGlzLmlzVXBkYXRlTW9kZSgpICYmIGdyb3VwRGF0YS5pdGVtcy5sZW5ndGggPiAwICYmICF0aGlzLm11bHRpcGxlKCkpIHtcclxuXHRcdFx0XHRjb25zdCBtYXRjaGVkSXRlbSA9XHJcblx0XHRcdFx0XHRncm91cERhdGEuaXRlbXMubGVuZ3RoID09PSAxXHJcblx0XHRcdFx0XHRcdD8gZ3JvdXBEYXRhLml0ZW1zWzBdXHJcblx0XHRcdFx0XHRcdDogZ3JvdXBEYXRhLml0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uYXNzZXROdW1iZXIgPT09IHRoaXMudXBkYXRlTW9kZVF1ZXJ5KTtcclxuXHRcdFx0XHRpZiAobWF0Y2hlZEl0ZW0pIHtcclxuXHRcdFx0XHRcdHRoaXMubmdDb250cm9sPy5jb250cm9sPy5zZXRWYWx1ZShtYXRjaGVkSXRlbSk7XHJcblx0XHRcdFx0XHR0aGlzLmlzVXBkYXRlTW9kZS5zZXQoZmFsc2UpO1xyXG5cdFx0XHRcdFx0dGhpcy51cGRhdGVNb2RlUXVlcnkgPSBudWxsO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5maWx0ZXJlZFNlbGVjdGlvbkl0ZW1zID0gbmV3RmlsdGVyZWRHcm91cFN1Z2dlc3Rpb25zO1xyXG5cdH1cclxuXHJcblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5hdXRvQ29tcGxldGVSZWYuZ2V0T3B0aW9uVmFsdWUgPSB0aGlzLmdldE9wdGlvblZhbHVlLmJpbmQodGhpcyk7XHJcblx0fVxyXG5cclxuXHRnZXRPcHRpb25WYWx1ZShvcHRpb246IGFueSkge1xyXG5cdFx0aWYgKCF0aGlzLm9wdGlvblZhbHVlKCkpIHtcclxuXHRcdFx0cmV0dXJuIG9wdGlvbjtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ29iamVjdCcpIHtcclxuXHRcdFx0cmV0dXJuIE9iamVjdFV0aWxzLnJlc29sdmVGaWVsZERhdGEob3B0aW9uLCB0aGlzLm9wdGlvblZhbHVlKCkpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBvcHRpb247XHJcblx0fVxyXG5cclxuXHRvbk5nTW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZykge1xyXG5cdFx0Y29uc3QgdmFsaWRhdGVkVmFsdWUgPSB0aGlzLnZhbGlkYXRlSW5wdXQodmFsdWUpO1xyXG5cdFx0dGhpcy5uZ0NvbnRyb2wudmlld1RvTW9kZWxVcGRhdGUodmFsaWRhdGVkVmFsdWUpO1xyXG5cdH1cclxuXHJcblx0dmFsaWRhdGVJbnB1dCh2YWx1ZTogc3RyaW5nKSB7XHJcblx0XHRpZiAodGhpcy50eXBlKCkgPT09ICdudW1iZXInKSB7XHJcblx0XHRcdHJldHVybiB2YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpO1xyXG5cdFx0fSBlbHNlIGlmICh0aGlzLnR5cGUoKSA9PT0gJ3RleHQnKSB7XHJcblx0XHRcdHJldHVybiB2YWx1ZS5yZXBsYWNlKC9bXmEtekEtWsSfw7zFn8Sxw7bDp8Sew5zFnsSww5bDh1xcc10vZywgJycpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHZhbHVlO1xyXG5cdH1cclxuXHJcblx0c2VhcmNoKGV2ZW50OiBhbnksIHNraXBNcWwgPSBmYWxzZSkge1xyXG5cdFx0aWYgKCFldmVudD8ucXVlcnkgfHwgdHlwZW9mIGV2ZW50LnF1ZXJ5ICE9PSAnc3RyaW5nJykgcmV0dXJuO1xyXG5cclxuXHRcdGNvbnN0IHF1ZXJ5ID0gdGhpcy52YWxpZGF0ZUlucHV0KGV2ZW50LnF1ZXJ5KTtcclxuXHRcdGlmICghcXVlcnk/LnRyaW0oKSkgcmV0dXJuO1xyXG5cclxuXHRcdGNvbnN0IHBheWxvYWQ6IENhY2hlU2VhcmNoUmVxdWVzdERUTyA9IHtcclxuXHRcdFx0c2VhcmNoVGV4dDogcXVlcnk/LnRyaW0oKSxcclxuXHRcdFx0YXNzZXREZWZpbml0aW9uQ29kZXM6IEFycmF5LmlzQXJyYXkodGhpcy5hc3NldENvZGUoKSkgPyB0aGlzLmFzc2V0Q29kZSgpIDogKFt0aGlzLmFzc2V0Q29kZSgpXSBhcyBhbnkpLFxyXG5cdFx0XHRwYWdlcjoge1xyXG5cdFx0XHRcdHBhZ2VTaXplOiA1LFxyXG5cdFx0XHRcdHBhZ2VOdW1iZXI6IDFcclxuXHRcdFx0fVxyXG5cdFx0fTtcclxuXHJcblx0XHRpZiAoIXNraXBNcWwgJiYgdGhpcy5tcWwoKSkgcGF5bG9hZC5tcWwgPSB0aGlzLm1xbCgpO1xyXG5cclxuXHRcdHRoaXMuY2FjaGVTZWFyY2hSZXF1ZXN0JC5uZXh0KHBheWxvYWQpO1xyXG5cdH1cclxuXHJcblx0Z2V0QXR0aXJpYnV0ZXNWYWx1ZURlc2NyKGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZUVsZW1lbnRbXSk6IHN0cmluZyB7XHJcblx0XHRjb25zdCBleGNsdWRlZEF0dHJpYnV0ZXMgPSBbJ0Fzc2V0SWQnLCAnQXNzZXREZWZpbml0aW9uTmFtZSddO1xyXG5cdFx0cmV0dXJuIGF0dHJpYnV0ZXNcclxuXHRcdFx0Py5maWx0ZXIoKGF0dHIpID0+ICFleGNsdWRlZEF0dHJpYnV0ZXMuaW5jbHVkZXMoYXR0ci5hdHRyaWJ1dGU/LmF0dHJpYnV0ZUNvZGUpKVxyXG5cdFx0XHQ/Lm1hcCgoYXR0cikgPT4ge1xyXG5cdFx0XHRcdC8vIEhhbmRsZSBTRUxFQ1QgdHlwZSBhdHRyaWJ1dGVzIHVzaW5nIFNlbGVjdGlvbkdyb3VwU2VydmljZVxyXG5cdFx0XHRcdGlmIChhdHRyLmF0dHJpYnV0ZT8uYXR0cmlidXRlVHlwZSA9PT0gJ1NFTEVDVCcgJiYgYXR0ci5hdHRyaWJ1dGU/LnNlbGVjdE9wdGlvbikge1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuZ2V0U2VsZWN0aW9uRGlzcGxheShhdHRyLmF0dHJpYnV0ZS5zZWxlY3RPcHRpb24sIGF0dHIudmFsdWUgYXMgc3RyaW5nKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y29uc3QgdmFsdWUgPSBhdHRyLnZhbHVlRGVzYyA/IGF0dHIudmFsdWVEZXNjIDogYXR0ci52YWx1ZTtcclxuXHRcdFx0XHRyZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA6IFN0cmluZyh2YWx1ZSk7XHJcblx0XHRcdH0pXHJcblx0XHRcdC5qb2luKCcgLSAnKTtcclxuXHR9XHJcblx0cHJpdmF0ZSBnZXRBc3NldE51bWJlclZhbHVlKGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZUVsZW1lbnRbXSk6IHN0cmluZyB7XHJcblx0XHRjb25zdCBhc3NldE51bWJlckF0dHIgPSBhdHRyaWJ1dGVzPy5maW5kKChhdHRyKSA9PiBhdHRyLmF0dHJpYnV0ZT8uYXR0cmlidXRlQ29kZSA9PT0gJ0Fzc2V0TnVtYmVyJyk7XHJcblx0XHRpZiAoIWFzc2V0TnVtYmVyQXR0cikgcmV0dXJuICcnO1xyXG5cdFx0cmV0dXJuIFN0cmluZyhhc3NldE51bWJlckF0dHIudmFsdWVEZXNjIHx8IGFzc2V0TnVtYmVyQXR0ci52YWx1ZSB8fCAnJyk7XHJcblx0fVxyXG5cdHByaXZhdGUgZ2V0U2VsZWN0aW9uRGlzcGxheShncm91cE5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcblx0XHRjb25zdCBrZXkgPSBgJHtncm91cE5hbWV9fkFMTGA7XHJcblx0XHRjb25zdCBzZWxlY3Rpb25Hcm91cCA9IHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2tleV07XHJcblxyXG5cdFx0aWYgKCFzZWxlY3Rpb25Hcm91cCkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5mZXRjaEVudW0oZ3JvdXBOYW1lLCAnQUxMJyk7XHJcblx0XHRcdHJldHVybiB2YWx1ZTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMudHJhbnNsb2NvU2VydmljZS5nZXRBY3RpdmVMYW5nKCk7XHJcblx0XHRjb25zdCBzZWxlY3Rpb25JdGVtID0gc2VsZWN0aW9uR3JvdXAuc2VsZWN0aW9uSXRlbXM/LmZpbmQoKHQpID0+IHQuc2VsZWN0aW9uS2V5ID09PSB2YWx1ZSkgYXMge1xyXG5cdFx0XHRzZWxlY3Rpb25NdWx0aUxhbmd1YWdlRGlzcGxheXM/OiB7IFtsYW5nOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuXHRcdFx0c2VsZWN0aW9uRGlzcGxheT86IHN0cmluZztcclxuXHRcdH07XHJcblxyXG5cdFx0aWYgKCFzZWxlY3Rpb25JdGVtKSByZXR1cm4gdmFsdWU7XHJcblxyXG5cdFx0cmV0dXJuIHNlbGVjdGlvbkl0ZW0uc2VsZWN0aW9uTXVsdGlMYW5ndWFnZURpc3BsYXlzPy5bY3VycmVudExhbmddID8/IHNlbGVjdGlvbkl0ZW0uc2VsZWN0aW9uRGlzcGxheSA/PyB2YWx1ZTtcclxuXHR9XHJcblxyXG5cdHRyaWdnZXJTZWxlY3RlZEV2ZW50cyhldmVudDogYW55KSB7XHJcblx0XHRjb25zdCBzZWxlY3RlZEl0ZW1zOiBBc3NldEFnZ3JlZ2F0ZVtdID0gT2JqZWN0LmtleXModGhpcy5zZWxlY3Rpb25EZWZpbml0aW9ucykubWFwKChrZXk6IHN0cmluZykgPT4ge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5zZWxlY3Rpb25EZWZpbml0aW9uc1trZXldLnJlc3VsdC5maW5kKChpdGVtOiBBc3NldEFnZ3JlZ2F0ZSkgPT4gaXRlbS5pZCA9PT0gZXZlbnQ/LnZhbHVlPy5rZXkpO1xyXG5cdFx0fSkgYXMgQXNzZXRBZ2dyZWdhdGVbXTtcclxuXHJcblx0XHRjb25zdCBzZWxlY3RlZEl0ZW0gPSBzZWxlY3RlZEl0ZW1zWzBdO1xyXG5cclxuXHRcdGNvbnN0IHNlbGVjdGVkRXZlbnQgPSB7XHJcblx0XHRcdC4uLnNlbGVjdGVkSXRlbSxcclxuXHRcdFx0a2V5OiBzZWxlY3RlZEl0ZW0/LmlkLFxyXG5cdFx0XHR0ZXh0OiBzZWxlY3RlZEl0ZW0/LmFzc2V0RGVmaW5pdGlvbk5hbWUsXHJcblx0XHRcdGF0dHJpYnV0ZXM6IHNlbGVjdGVkSXRlbT8uYXR0cmlidXRlcyxcclxuXHRcdFx0YXNzZXREZWZpbml0aW9uQ29kZTogc2VsZWN0ZWRJdGVtPy5hc3NldERlZmluaXRpb25Db2RlXHJcblx0XHR9O1xyXG5cclxuXHRcdHRoaXMuc2VsZWN0ZWREZWZpbml0aW9uRXZlbnQuZW1pdChzZWxlY3RlZEV2ZW50KTtcclxuXHR9XHJcbn1cclxuIiwiPHAtYXV0b0NvbXBsZXRlXHJcblx0b3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuXHRbb3B0aW9uVmFsdWVdPVwib3B0aW9uVmFsdWUoKSFcIlxyXG5cdFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCJcclxuXHRbbXVsdGlwbGVdPVwibXVsdGlwbGUoKVwiXHJcblx0W2dyb3VwXT1cInRydWVcIlxyXG5cdFtmb3JjZVNlbGVjdGlvbl09XCJmb3JjZVNlbGVjdGlvbigpXCJcclxuXHRbZGVsYXldPVwiNzAwXCJcclxuXHRbbWluTGVuZ3RoXT1cIjNcIlxyXG5cdFtzdWdnZXN0aW9uc109XCJmaWx0ZXJlZFNlbGVjdGlvbkl0ZW1zXCJcclxuXHQoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudClcIlxyXG5cdFtmb3JtQ29udHJvbF09XCJuZ0NvbnRyb2wuY29udHJvbFwiXHJcblx0W2F1dG9IaWdobGlnaHRdPVwidHJ1ZVwiXHJcblx0W3R5cGVdPVwidHlwZSgpIVwiXHJcblx0KG5nTW9kZWxDaGFuZ2UpPVwib25OZ01vZGVsQ2hhbmdlKCRldmVudClcIlxyXG5cdFtzaG93Q2xlYXJdPVwic2hvd0NsZWFyKClcIlxyXG5cdFtlbXB0eU1lc3NhZ2VdPVwidHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ21lc3NhZ2VzLm5vRGF0YVRvRGlzcGxheScpXCJcclxuXHQob25TZWxlY3QpPVwidHJpZ2dlclNlbGVjdGVkRXZlbnRzKCRldmVudClcIlxyXG5cdFthcHBlbmRUb109XCJhcHBlbmRUbygpXCI+XHJcblx0PG5nLXRlbXBsYXRlIGxldC1ncm91cCBwVGVtcGxhdGU9XCJncm91cFwiPlxyXG5cdFx0PHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj57eyBncm91cC50ZXh0IH19PC9zcGFuPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblx0QGlmIChzaG93T25seUFzc2V0TnVtYmVyKCkpIHtcclxuXHRcdDxuZy10ZW1wbGF0ZSBsZXQtdmFsdWUgcFRlbXBsYXRlPVwic2VsZWN0ZWRJdGVtXCI+XHJcblx0XHRcdDxzcGFuPnt7IHZhbHVlPy5hc3NldE51bWJlciB8fCB2YWx1ZT8udGV4dCB9fTwvc3Bhbj5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0fVxyXG48L3AtYXV0b0NvbXBsZXRlPlxyXG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpbC11aS1idXNpbmVzcy1wZGYtcHJldmlldy1tb2RhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWktYnVzaW5lc3MvcGRmLXByZXZpZXctbW9kYWwvYXJpbC11aS1idXNpbmVzcy1wZGYtcHJldmlldy1tb2RhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './src/pdf-preview-modal.component';
|
|
2
|
+
export * from './src/open-pdf-preview';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpLWJ1c2luZXNzL3BkZi1wcmV2aWV3LW1vZGFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3BkZi1wcmV2aWV3LW1vZGFsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL29wZW4tcGRmLXByZXZpZXcnO1xyXG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PdfPreviewModalComponent } from './pdf-preview-modal.component';
|
|
2
|
+
export const PDF_PREVIEW_DIALOG_DEFAULTS = {
|
|
3
|
+
width: '60%',
|
|
4
|
+
height: '85vh',
|
|
5
|
+
contentStyle: { padding: '0', overflow: 'hidden', height: '100%' },
|
|
6
|
+
focusOnShow: false,
|
|
7
|
+
draggable: true,
|
|
8
|
+
closable: true,
|
|
9
|
+
header: 'PDF'
|
|
10
|
+
};
|
|
11
|
+
export function openPdfPreview(dialogService, options) {
|
|
12
|
+
const { header, width, height, overrideConfig, ...data } = options;
|
|
13
|
+
const config = {
|
|
14
|
+
...PDF_PREVIEW_DIALOG_DEFAULTS,
|
|
15
|
+
header: header ?? PDF_PREVIEW_DIALOG_DEFAULTS.header,
|
|
16
|
+
width: width ?? PDF_PREVIEW_DIALOG_DEFAULTS.width,
|
|
17
|
+
height: height ?? PDF_PREVIEW_DIALOG_DEFAULTS.height,
|
|
18
|
+
...overrideConfig,
|
|
19
|
+
data
|
|
20
|
+
};
|
|
21
|
+
return dialogService.open(PdfPreviewModalComponent, config);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1wZGYtcHJldmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWktYnVzaW5lc3MvcGRmLXByZXZpZXctbW9kYWwvc3JjL29wZW4tcGRmLXByZXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHdCQUF3QixFQUF1QixNQUFNLCtCQUErQixDQUFDO0FBUzlGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFpQztJQUN4RSxLQUFLLEVBQUUsS0FBSztJQUNaLE1BQU0sRUFBRSxNQUFNO0lBQ2QsWUFBWSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7SUFDbEUsV0FBVyxFQUFFLEtBQUs7SUFDbEIsU0FBUyxFQUFFLElBQUk7SUFDZixRQUFRLEVBQUUsSUFBSTtJQUNkLE1BQU0sRUFBRSxLQUFLO0NBQ2IsQ0FBQztBQUVGLE1BQU0sVUFBVSxjQUFjLENBQzdCLGFBQTRCLEVBQzVCLE9BQThCO0lBRTlCLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDbkUsTUFBTSxNQUFNLEdBQXdCO1FBQ25DLEdBQUcsMkJBQTJCO1FBQzlCLE1BQU0sRUFBRSxNQUFNLElBQUksMkJBQTJCLENBQUMsTUFBTTtRQUNwRCxLQUFLLEVBQUUsS0FBSyxJQUFJLDJCQUEyQixDQUFDLEtBQUs7UUFDakQsTUFBTSxFQUFFLE1BQU0sSUFBSSwyQkFBMkIsQ0FBQyxNQUFNO1FBQ3BELEdBQUcsY0FBYztRQUNqQixJQUFJO0tBQ0osQ0FBQztJQUNGLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBQZGZQcmV2aWV3TW9kYWxDb21wb25lbnQsIFBkZlByZXZpZXdNb2RhbERhdGEgfSBmcm9tICcuL3BkZi1wcmV2aWV3LW1vZGFsLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5QZGZQcmV2aWV3T3B0aW9ucyBleHRlbmRzIFBkZlByZXZpZXdNb2RhbERhdGEge1xyXG5cdGhlYWRlcj86IHN0cmluZztcclxuXHR3aWR0aD86IHN0cmluZztcclxuXHRoZWlnaHQ/OiBzdHJpbmc7XHJcblx0b3ZlcnJpZGVDb25maWc/OiBQYXJ0aWFsPER5bmFtaWNEaWFsb2dDb25maWc+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgUERGX1BSRVZJRVdfRElBTE9HX0RFRkFVTFRTOiBQYXJ0aWFsPER5bmFtaWNEaWFsb2dDb25maWc+ID0ge1xyXG5cdHdpZHRoOiAnNjAlJyxcclxuXHRoZWlnaHQ6ICc4NXZoJyxcclxuXHRjb250ZW50U3R5bGU6IHsgcGFkZGluZzogJzAnLCBvdmVyZmxvdzogJ2hpZGRlbicsIGhlaWdodDogJzEwMCUnIH0sXHJcblx0Zm9jdXNPblNob3c6IGZhbHNlLFxyXG5cdGRyYWdnYWJsZTogdHJ1ZSxcclxuXHRjbG9zYWJsZTogdHJ1ZSxcclxuXHRoZWFkZXI6ICdQREYnXHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gb3BlblBkZlByZXZpZXcoXHJcblx0ZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuXHRvcHRpb25zOiBPcGVuUGRmUHJldmlld09wdGlvbnNcclxuKTogRHluYW1pY0RpYWxvZ1JlZiB7XHJcblx0Y29uc3QgeyBoZWFkZXIsIHdpZHRoLCBoZWlnaHQsIG92ZXJyaWRlQ29uZmlnLCAuLi5kYXRhIH0gPSBvcHRpb25zO1xyXG5cdGNvbnN0IGNvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyA9IHtcclxuXHRcdC4uLlBERl9QUkVWSUVXX0RJQUxPR19ERUZBVUxUUyxcclxuXHRcdGhlYWRlcjogaGVhZGVyID8/IFBERl9QUkVWSUVXX0RJQUxPR19ERUZBVUxUUy5oZWFkZXIsXHJcblx0XHR3aWR0aDogd2lkdGggPz8gUERGX1BSRVZJRVdfRElBTE9HX0RFRkFVTFRTLndpZHRoLFxyXG5cdFx0aGVpZ2h0OiBoZWlnaHQgPz8gUERGX1BSRVZJRVdfRElBTE9HX0RFRkFVTFRTLmhlaWdodCxcclxuXHRcdC4uLm92ZXJyaWRlQ29uZmlnLFxyXG5cdFx0ZGF0YVxyXG5cdH07XHJcblx0cmV0dXJuIGRpYWxvZ1NlcnZpY2Uub3BlbihQZGZQcmV2aWV3TW9kYWxDb21wb25lbnQsIGNvbmZpZyk7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { Component, inject, signal } from '@angular/core';
|
|
2
|
+
import { HttpClient } from '@angular/common/http';
|
|
3
|
+
import { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';
|
|
4
|
+
import { MessagesModule } from 'primeng/messages';
|
|
5
|
+
import { LoaderComponent } from 'aril/ui/loader';
|
|
6
|
+
import { PdfViewerComponent } from 'aril/ui/pdf-viewer';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "primeng/messages";
|
|
9
|
+
export class PdfPreviewModalComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.ref = inject(DynamicDialogRef);
|
|
12
|
+
this.dialogConfig = inject(DynamicDialogConfig);
|
|
13
|
+
this.http = inject(HttpClient);
|
|
14
|
+
this.pdfBase64 = signal(undefined);
|
|
15
|
+
this.fileName = signal(undefined);
|
|
16
|
+
this.loading = signal(false);
|
|
17
|
+
this.messages = signal([]);
|
|
18
|
+
const data = this.dialogConfig.data;
|
|
19
|
+
this.fileName.set(data?.fileNameForDownload);
|
|
20
|
+
if (data?.pdfBase64) {
|
|
21
|
+
this.pdfBase64.set(data.pdfBase64);
|
|
22
|
+
}
|
|
23
|
+
else if (data?.url) {
|
|
24
|
+
this.loadFromUrl(data.url, data.errorMessage);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.messages.set([
|
|
28
|
+
{ severity: 'error', detail: data?.errorMessage ?? 'Görüntülenecek PDF verisi bulunamadı' }
|
|
29
|
+
]);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
loadFromUrl(url, errorMessage) {
|
|
33
|
+
this.loading.set(true);
|
|
34
|
+
this.http.get(url, { responseType: 'blob' }).subscribe({
|
|
35
|
+
next: (blob) => {
|
|
36
|
+
const reader = new FileReader();
|
|
37
|
+
reader.onloadend = () => {
|
|
38
|
+
const base64 = reader.result;
|
|
39
|
+
this.pdfBase64.set(base64.split(',')[1] || base64);
|
|
40
|
+
this.loading.set(false);
|
|
41
|
+
};
|
|
42
|
+
reader.onerror = () => this.handleError(errorMessage);
|
|
43
|
+
reader.readAsDataURL(blob);
|
|
44
|
+
},
|
|
45
|
+
error: () => this.handleError(errorMessage)
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
handleError(errorMessage) {
|
|
49
|
+
this.messages.set([{ severity: 'error', detail: errorMessage ?? 'PDF yüklenemedi' }]);
|
|
50
|
+
this.loading.set(false);
|
|
51
|
+
}
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PdfPreviewModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: PdfPreviewModalComponent, isStandalone: true, selector: "aril-pdf-preview-modal", ngImport: i0, template: `
|
|
54
|
+
@if (pdfBase64()) {
|
|
55
|
+
<div style="width: 100%; height: 100%; margin: 0;">
|
|
56
|
+
<aril-pdf-viewer
|
|
57
|
+
[base64Src]="pdfBase64()!"
|
|
58
|
+
[fileNameForDownload]="fileName() ?? ''"
|
|
59
|
+
height="100%" />
|
|
60
|
+
</div>
|
|
61
|
+
} @else if (loading()) {
|
|
62
|
+
<aril-loader />
|
|
63
|
+
} @else if (messages().length > 0) {
|
|
64
|
+
<p-messages [value]="messages()" [enableService]="false" [closable]="false" />
|
|
65
|
+
}
|
|
66
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i1.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "component", type: PdfViewerComponent, selector: "aril-pdf-viewer", inputs: ["showSidebarButton", "showFindButton", "showZoomButtons", "showPresentationModeButton", "height", "page", "src", "base64Src", "allowContextMenu", "handTool", "httpHeaders", "fileNameForDownload"] }, { kind: "component", type: LoaderComponent, selector: "aril-loader" }] }); }
|
|
67
|
+
}
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PdfPreviewModalComponent, decorators: [{
|
|
69
|
+
type: Component,
|
|
70
|
+
args: [{
|
|
71
|
+
standalone: true,
|
|
72
|
+
selector: 'aril-pdf-preview-modal',
|
|
73
|
+
imports: [MessagesModule, PdfViewerComponent, LoaderComponent],
|
|
74
|
+
template: `
|
|
75
|
+
@if (pdfBase64()) {
|
|
76
|
+
<div style="width: 100%; height: 100%; margin: 0;">
|
|
77
|
+
<aril-pdf-viewer
|
|
78
|
+
[base64Src]="pdfBase64()!"
|
|
79
|
+
[fileNameForDownload]="fileName() ?? ''"
|
|
80
|
+
height="100%" />
|
|
81
|
+
</div>
|
|
82
|
+
} @else if (loading()) {
|
|
83
|
+
<aril-loader />
|
|
84
|
+
} @else if (messages().length > 0) {
|
|
85
|
+
<p-messages [value]="messages()" [enableService]="false" [closable]="false" />
|
|
86
|
+
}
|
|
87
|
+
`
|
|
88
|
+
}]
|
|
89
|
+
}], ctorParameters: () => [] });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXByZXZpZXctbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS1idXNpbmVzcy9wZGYtcHJldmlldy1tb2RhbC9zcmMvcGRmLXByZXZpZXctbW9kYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBNEJ4RCxNQUFNLE9BQU8sd0JBQXdCO0lBVXBDO1FBVFMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0MsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUzQyxjQUFTLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUNsRCxhQUFRLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUNqRCxZQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxNQUFNLENBQVksRUFBRSxDQUFDLENBQUM7UUFHaEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUF1QyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBRTdDLElBQUksSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwQyxDQUFDO2FBQU0sSUFBSSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvQyxDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUNqQixFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLElBQUksc0NBQXNDLEVBQUU7YUFDM0YsQ0FBQyxDQUFDO1FBQ0osQ0FBQztJQUNGLENBQUM7SUFFTyxXQUFXLENBQUMsR0FBVyxFQUFFLFlBQXFCO1FBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN0RCxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDZCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRTtvQkFDdkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQWdCLENBQUM7b0JBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUM7b0JBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QixDQUFDLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN0RCxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7U0FDM0MsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVPLFdBQVcsQ0FBQyxZQUFxQjtRQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxJQUFJLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OEdBN0NXLHdCQUF3QjtrR0FBeEIsd0JBQXdCLGtGQWYxQjs7Ozs7Ozs7Ozs7OztFQWFULDJEQWRTLGNBQWMsNFJBQUUsa0JBQWtCLDBRQUFFLGVBQWU7OzJGQWdCakQsd0JBQXdCO2tCQW5CcEMsU0FBUzttQkFBQztvQkFDVixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsQ0FBQztvQkFDOUQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0VBYVQ7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nQ29uZmlnLCBEeW5hbWljRGlhbG9nUmVmIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgTWVzc2FnZXNNb2R1bGUgfSBmcm9tICdwcmltZW5nL21lc3NhZ2VzJztcclxuXHJcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvbG9hZGVyJztcclxuaW1wb3J0IHsgUGRmVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnYXJpbC91aS9wZGYtdmlld2VyJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGRmUHJldmlld01vZGFsRGF0YSB7XHJcblx0cGRmQmFzZTY0Pzogc3RyaW5nO1xyXG5cdHVybD86IHN0cmluZztcclxuXHRmaWxlTmFtZUZvckRvd25sb2FkPzogc3RyaW5nO1xyXG5cdGVycm9yTWVzc2FnZT86IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FyaWwtcGRmLXByZXZpZXctbW9kYWwnLFxyXG5cdGltcG9ydHM6IFtNZXNzYWdlc01vZHVsZSwgUGRmVmlld2VyQ29tcG9uZW50LCBMb2FkZXJDb21wb25lbnRdLFxyXG5cdHRlbXBsYXRlOiBgXHJcblx0XHRAaWYgKHBkZkJhc2U2NCgpKSB7XHJcblx0XHRcdDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBtYXJnaW46IDA7XCI+XHJcblx0XHRcdFx0PGFyaWwtcGRmLXZpZXdlclxyXG5cdFx0XHRcdFx0W2Jhc2U2NFNyY109XCJwZGZCYXNlNjQoKSFcIlxyXG5cdFx0XHRcdFx0W2ZpbGVOYW1lRm9yRG93bmxvYWRdPVwiZmlsZU5hbWUoKSA/PyAnJ1wiXHJcblx0XHRcdFx0XHRoZWlnaHQ9XCIxMDAlXCIgLz5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHR9IEBlbHNlIGlmIChsb2FkaW5nKCkpIHtcclxuXHRcdFx0PGFyaWwtbG9hZGVyIC8+XHJcblx0XHR9IEBlbHNlIGlmIChtZXNzYWdlcygpLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0PHAtbWVzc2FnZXMgW3ZhbHVlXT1cIm1lc3NhZ2VzKClcIiBbZW5hYmxlU2VydmljZV09XCJmYWxzZVwiIFtjbG9zYWJsZV09XCJmYWxzZVwiIC8+XHJcblx0XHR9XHJcblx0YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGRmUHJldmlld01vZGFsQ29tcG9uZW50IHtcclxuXHRyZWFkb25seSByZWYgPSBpbmplY3QoRHluYW1pY0RpYWxvZ1JlZik7XHJcblx0cHJpdmF0ZSByZWFkb25seSBkaWFsb2dDb25maWcgPSBpbmplY3QoRHluYW1pY0RpYWxvZ0NvbmZpZyk7XHJcblx0cHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xyXG5cclxuXHRwZGZCYXNlNjQgPSBzaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG5cdGZpbGVOYW1lID0gc2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuXHRsb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcclxuXHRtZXNzYWdlcyA9IHNpZ25hbDxNZXNzYWdlW10+KFtdKTtcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHRjb25zdCBkYXRhID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YSBhcyBQZGZQcmV2aWV3TW9kYWxEYXRhIHwgdW5kZWZpbmVkO1xyXG5cdFx0dGhpcy5maWxlTmFtZS5zZXQoZGF0YT8uZmlsZU5hbWVGb3JEb3dubG9hZCk7XHJcblxyXG5cdFx0aWYgKGRhdGE/LnBkZkJhc2U2NCkge1xyXG5cdFx0XHR0aGlzLnBkZkJhc2U2NC5zZXQoZGF0YS5wZGZCYXNlNjQpO1xyXG5cdFx0fSBlbHNlIGlmIChkYXRhPy51cmwpIHtcclxuXHRcdFx0dGhpcy5sb2FkRnJvbVVybChkYXRhLnVybCwgZGF0YS5lcnJvck1lc3NhZ2UpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5tZXNzYWdlcy5zZXQoW1xyXG5cdFx0XHRcdHsgc2V2ZXJpdHk6ICdlcnJvcicsIGRldGFpbDogZGF0YT8uZXJyb3JNZXNzYWdlID8/ICdHw7Zyw7xudMO8bGVuZWNlayBQREYgdmVyaXNpIGJ1bHVuYW1hZMSxJyB9XHJcblx0XHRcdF0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBsb2FkRnJvbVVybCh1cmw6IHN0cmluZywgZXJyb3JNZXNzYWdlPzogc3RyaW5nKTogdm9pZCB7XHJcblx0XHR0aGlzLmxvYWRpbmcuc2V0KHRydWUpO1xyXG5cdFx0dGhpcy5odHRwLmdldCh1cmwsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSkuc3Vic2NyaWJlKHtcclxuXHRcdFx0bmV4dDogKGJsb2IpID0+IHtcclxuXHRcdFx0XHRjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG5cdFx0XHRcdHJlYWRlci5vbmxvYWRlbmQgPSAoKSA9PiB7XHJcblx0XHRcdFx0XHRjb25zdCBiYXNlNjQgPSByZWFkZXIucmVzdWx0IGFzIHN0cmluZztcclxuXHRcdFx0XHRcdHRoaXMucGRmQmFzZTY0LnNldChiYXNlNjQuc3BsaXQoJywnKVsxXSB8fCBiYXNlNjQpO1xyXG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nLnNldChmYWxzZSk7XHJcblx0XHRcdFx0fTtcclxuXHRcdFx0XHRyZWFkZXIub25lcnJvciA9ICgpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3JNZXNzYWdlKTtcclxuXHRcdFx0XHRyZWFkZXIucmVhZEFzRGF0YVVSTChibG9iKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0ZXJyb3I6ICgpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3JNZXNzYWdlKVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yTWVzc2FnZT86IHN0cmluZyk6IHZvaWQge1xyXG5cdFx0dGhpcy5tZXNzYWdlcy5zZXQoW3sgc2V2ZXJpdHk6ICdlcnJvcicsIGRldGFpbDogZXJyb3JNZXNzYWdlID8/ICdQREYgecO8a2xlbmVtZWRpJyB9XSk7XHJcblx0XHR0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
42
42
|
type: HostListener,
|
|
43
43
|
args: ['activeIndexChange', ['$event']]
|
|
44
44
|
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1hY3RpdmUtdGFiLXJvdXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdXRpbC9zeW5jLWFjdGl2ZS10YWItcm91dGUvc3JjL3N5bmMtYWN0aXZlLXRhYi1yb3V0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTXBDLE1BQU0sT0FBTywyQkFBMkI7SUFHdkMsWUFDa0IsTUFBYyxFQUNkLE9BQWdCLEVBQ2hCLFFBQWtCO1FBRmxCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFMbkIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBTWhELENBQUM7SUFFSixRQUFRO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDL0QsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDNUQsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUNGLENBQUM7SUFDSCxDQUFDO0lBR0QsV0FBVyxDQUFDLENBQVM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3pCLElBQUksQ0FBQyxNQUFNO2FBQ1QsYUFBYSxDQUFDLEVBQUUsRUFBRTtZQUNsQixXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFO1lBQzdCLG1CQUFtQixFQUFFLE9BQU87U0FDNUIsQ0FBQzthQUNELFFBQVEsRUFBRSxDQUNaLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQzs4R0FqQ1csMkJBQTJCO2tHQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7aUJBQ2hCO3dIQXFCQSxXQUFXO3NCQURWLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgVGFiVmlldyB9IGZyb20gJ3ByaW1lbmcvdGFidmlldyc7XHJcblxyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG5cdHNlbGVjdG9yOiAnW3N5bmNBY3RpdmVUYWJSb3V0ZV0nLFxyXG5cdHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFN5bmNBY3RpdmVUYWJSb3V0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHRwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSB0YWJWaWV3OiBUYWJWaWV3LFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb25cclxuXHQpIHt9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0dGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG5cdFx0XHR0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5yb290LnF1ZXJ5UGFyYW1NYXAuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcclxuXHRcdFx0XHRpZiAocGFyYW1zLmhhcygnYWN0aXZlVGFiJykpIHtcclxuXHRcdFx0XHRcdHRoaXMudGFiVmlldy5hY3RpdmVJbmRleCA9IE51bWJlcihwYXJhbXMuZ2V0KCdhY3RpdmVUYWInKSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ2FjdGl2ZUluZGV4Q2hhbmdlJywgWyckZXZlbnQnXSlcclxuXHRvblRhYkNoYW5nZShlOiBudW1iZXIpIHtcclxuXHRcdHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKFxyXG5cdFx0XHR0aGlzLnJvdXRlclxyXG5cdFx0XHRcdC5jcmVhdGVVcmxUcmVlKFtdLCB7XHJcblx0XHRcdFx0XHRxdWVyeVBhcmFtczogeyBhY3RpdmVUYWI6IGUgfSxcclxuXHRcdFx0XHRcdHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZSdcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdC50b1N0cmluZygpXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHR0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cdH1cclxufVxyXG4iXX0=
|