@tuki-io/tuki-widgets 0.0.205 → 0.0.206
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/contact-center/cc-script-editor/components/node-details-sidebar/node-details-sidebar.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +3 -3
- package/esm2020/user-manage/src/classes/device.mjs +2 -1
- package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +3 -3
- package/esm2020/users-list/src/app.constants.mjs +2 -1
- package/esm2020/users-list/src/services/user.service.mjs +10 -5
- package/esm2020/users-list/src/users-list.component.mjs +185 -10
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +2 -2
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +2 -2
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +10 -9
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +195 -12
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +2 -2
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +2 -2
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +10 -9
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +193 -12
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/package.json +1 -1
- package/user-manage/src/classes/device.d.ts +1 -0
- package/users-list/src/app.constants.d.ts +1 -0
- package/users-list/src/services/user.service.d.ts +2 -1
- package/users-list/src/users-list.component.d.ts +10 -1
|
@@ -79,10 +79,10 @@ export class NodeDetailsSidebarComponent {
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
NodeDetailsSidebarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NodeDetailsSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
-
NodeDetailsSidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NodeDetailsSidebarComponent, selector: "node-details-sidebar", inputs: { isOpen: "isOpen", nodeData: "nodeData" }, outputs: { close: "close", activityTypeChange: "activityTypeChange", descriptionChange: "descriptionChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- <div class=\"sidebar-overlay\" *ngIf=\"isOpen\" (click)=\"onClose()\"></div> -->\r\n\r\n<div class=\"node-details-sidebar\" [class.open]=\"isOpen\">\r\n <div class=\"sidebar-header\">\r\n <h3>Node Details</h3>\r\n <button class=\"close-btn\" (click)=\"onClose()\">\r\n <span>×</span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"sidebar-content\" *ngIf=\"nodeData\">\r\n <!-- Node Preview -->\r\n <div class=\"node-preview\">\r\n <div class=\"node-preview-card\" [ngClass]=\"getNodeColorClass()\">\r\n <div class=\"node-icon\">\r\n <img [src]=\"getNodeIcon()\" alt=\"Node Icon\" />\r\n </div>\r\n <div class=\"node-info\">\r\n <div class=\"node-label\">{{ nodeData?.name?.split(\"\\n\")?.[0] }}</div>\r\n <div class=\"node-type\">{{ transformedActivityName }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Activity Type Selector -->\r\n <div class=\"section\">\r\n <label class=\"section-label\">Activity Type</label>\r\n <div class=\"display-type-selector\">\r\n <select\r\n class=\"form-control\"\r\n title=\"Select activity type\"\r\n [value]=\"selectedActivityType?.value\"\r\n (change)=\"onActivityTypeSelectChange($event)\"\r\n >\r\n <option\r\n *ngFor=\"let type of activityDisplayTypes; trackBy: trackByValue\"\r\n [value]=\"type.value\"\r\n >\r\n {{ type.label }}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"section\">\r\n <label class=\"section-label\">Description</label>\r\n <div class=\"display-type-selector\">\r\n <textarea\r\n class=\"form-control\"\r\n aria-label=\"property-description\"\r\n (input)=\"onDescriptionChange($event)\"\r\n [value]=\"nodeData.suggestedProperties?.uccxDescription\"\r\n rows=\"3\"\r\n ></textarea>\r\n </div>\r\n </div>\r\n\r\n <!-- Node Information -->\r\n <div class=\"section\">\r\n <label class=\"section-label\">Information</label>\r\n <div class=\"info-grid\">\r\n <div class=\"info-item\">\r\n <span class=\"info-label\">UCCX Type:</span>\r\n <span class=\"info-value\" [title]=\"nodeData.uccxTypeName\">{{\r\n nodeData.uccxTypeName\r\n }}</span>\r\n </div>\r\n <div class=\"info-item\">\r\n <span class=\"info-label\">WxCC Activity Name:</span>\r\n <span class=\"info-value\" [title]=\"transformedActivityName\">{{\r\n transformedActivityName\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Review Status -->\r\n <div class=\"section\" *ngIf=\"nodeData.review\">\r\n <label class=\"section-label\">Review Status</label>\r\n <div class=\"review-status\">\r\n <div class=\"review-badge\" [style.background-color]=\"getReviewColor()\">\r\n {{ getReviewLabel() }}\r\n </div>\r\n <div\r\n class=\"review-reasons\"\r\n *ngIf=\"nodeData.review.reasons && nodeData.review.reasons.length > 0\"\r\n >\r\n <div class=\"reason\" *ngFor=\"let reason of nodeData.review.reasons\">\r\n <span class=\"reason-icon\">\u26A0</span>\r\n <span>{{ reason }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Suggested Properties -->\r\n <div class=\"section\" *ngIf=\"nodeData.suggestedProperties\">\r\n <label class=\"section-label\">Migration Information</label>\r\n <div class=\"migration-info\">\r\n <div\r\n class=\"info-card\"\r\n *ngIf=\"nodeData.suggestedProperties.closestWxccActivity\"\r\n >\r\n <div class=\"card-label\">Closest WXCC Activity</div>\r\n <div class=\"card-value\">\r\n {{ nodeData.suggestedProperties.closestWxccActivity }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"info-card\"\r\n *ngIf=\"nodeData.suggestedProperties.mappingNotes\"\r\n >\r\n <div class=\"card-label\">Mapping Notes</div>\r\n <div class=\"card-value\">\r\n {{ nodeData.suggestedProperties.mappingNotes }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"info-card\"\r\n *ngIf=\"nodeData.suggestedProperties.migrationInstructions\"\r\n >\r\n <div class=\"card-label\">Migration Instructions</div>\r\n <div class=\"card-value instructions\">\r\n {{ nodeData.suggestedProperties.migrationInstructions }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.node-details-sidebar{position:fixed;top:0;right:-420px;width:420px;height:100%;background:#ffffff;box-shadow:-2px 0 8px #00000026;z-index:1000;transition:right .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.node-details-sidebar.open{right:0}.node-details-sidebar .sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e1e4e8;background:#f8f9fa}.node-details-sidebar .sidebar-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#24292e}.node-details-sidebar .sidebar-header .close-btn{background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:#586069;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.node-details-sidebar .sidebar-header .close-btn:hover{background:rgba(0,0,0,.05);color:#24292e}.node-details-sidebar .sidebar-content{flex:1;overflow-y:auto;padding:1.5rem}.node-details-sidebar .sidebar-content .node-preview{margin-bottom:1.5rem}.node-details-sidebar .sidebar-content .node-preview .node-preview-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:8px;flex-shrink:0}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-icon img{width:24px;height:24px}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-info{flex:1;min-width:0}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-info .node-label{font-size:1rem;font-weight:600;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-info .node-type{font-size:.875rem;color:#586069}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-start{background-color:#4caf500d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-start .node-icon{background-color:#4caf501a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-start .node-label{color:#4caf50}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-end{background-color:#f443360d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-end .node-icon{background-color:#f443361a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-end .node-label{color:#f44336}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-gateway{background-color:#ff98000d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-gateway .node-icon{background-color:#ff98001a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-gateway .node-label{color:#ff9800}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-action{background-color:#9c27b00d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-action .node-icon{background-color:#9c27b01a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-action .node-label{color:#9c27b0}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-default{background-color:#607d8b0d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-default .node-icon{background-color:#607d8b1a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-default .node-label{color:#607d8b}.node-details-sidebar .sidebar-content .section{margin-bottom:1.5rem}.node-details-sidebar .sidebar-content .section .section-label{display:block;font-size:.65rem;font-weight:600;color:#24292e;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.node-details-sidebar .sidebar-content .section .display-type-selector .form-control{width:100%;padding:.625rem .875rem;font-size:.875rem;border:1px solid #d1d5da;border-radius:6px;background:white;transition:border-color .2s;box-sizing:border-box;resize:vertical}.node-details-sidebar .sidebar-content .section .display-type-selector .form-control:focus{outline:none;border-color:#0366d6;box-shadow:0 0 0 3px #0366d61a}.node-details-sidebar .sidebar-content .section .info-grid{display:flex;flex-direction:column;gap:.75rem}.node-details-sidebar .sidebar-content .section .info-grid .info-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem;background:#f6f8fa;border-radius:6px}.node-details-sidebar .sidebar-content .section .info-grid .info-item .info-label{font-size:.8125rem;color:#586069;font-weight:500}.node-details-sidebar .sidebar-content .section .info-grid .info-item .info-value{font-size:.8125rem;color:#24292e;font-weight:600;text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-details-sidebar .sidebar-content .section .review-status .review-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;color:#fff;font-size:.8125rem;font-weight:600;margin-bottom:.75rem}.node-details-sidebar .sidebar-content .section .review-status .review-reasons .reason{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:#fff3cd;border-radius:4px;margin-bottom:.5rem;font-size:.8125rem;color:#856404}.node-details-sidebar .sidebar-content .section .review-status .review-reasons .reason .reason-icon{flex-shrink:0}.node-details-sidebar .sidebar-content .section .migration-info .info-card{padding:1rem;background:#f6f8fa;border-radius:6px;margin-bottom:.75rem}.node-details-sidebar .sidebar-content .section .migration-info .info-card:last-child{margin-bottom:0}.node-details-sidebar .sidebar-content .section .migration-info .info-card .card-label{font-size:.75rem;font-weight:600;color:#586069;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.node-details-sidebar .sidebar-content .section .migration-info .info-card .card-value{font-size:.875rem;color:#24292e;line-height:1.5}.node-details-sidebar .sidebar-content .section .migration-info .info-card .card-value.instructions{white-space:pre-wrap}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
82
|
+
NodeDetailsSidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NodeDetailsSidebarComponent, selector: "node-details-sidebar", inputs: { isOpen: "isOpen", nodeData: "nodeData" }, outputs: { close: "close", activityTypeChange: "activityTypeChange", descriptionChange: "descriptionChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- <div class=\"sidebar-overlay\" *ngIf=\"isOpen\" (click)=\"onClose()\"></div> -->\r\n\r\n<div class=\"node-details-sidebar\" [class.open]=\"isOpen\">\r\n <div class=\"sidebar-header\">\r\n <h3>Node Details</h3>\r\n <button class=\"close-btn\" (click)=\"onClose()\">\r\n <span>×</span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"sidebar-content\" *ngIf=\"nodeData\">\r\n <!-- Node Preview -->\r\n <div class=\"node-preview\">\r\n <div class=\"node-preview-card\" [ngClass]=\"getNodeColorClass()\">\r\n <div class=\"node-icon\">\r\n <img [src]=\"getNodeIcon()\" alt=\"Node Icon\" />\r\n </div>\r\n <div class=\"node-info\">\r\n <div class=\"node-label\">{{ nodeData.name?.split(\"\\n\")?.[0] }}</div>\r\n <div class=\"node-type\">{{ transformedActivityName }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Activity Type Selector -->\r\n <div class=\"section\">\r\n <label class=\"section-label\">Activity Type</label>\r\n <div class=\"display-type-selector\">\r\n <select\r\n class=\"form-control\"\r\n title=\"Select activity type\"\r\n [value]=\"selectedActivityType?.value\"\r\n (change)=\"onActivityTypeSelectChange($event)\"\r\n >\r\n <option\r\n *ngFor=\"let type of activityDisplayTypes; trackBy: trackByValue\"\r\n [value]=\"type.value\"\r\n >\r\n {{ type.label }}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"section\">\r\n <label class=\"section-label\">Description</label>\r\n <div class=\"display-type-selector\">\r\n <textarea\r\n class=\"form-control\"\r\n aria-label=\"property-description\"\r\n (input)=\"onDescriptionChange($event)\"\r\n [value]=\"nodeData.suggestedProperties?.uccxDescription\"\r\n rows=\"3\"\r\n ></textarea>\r\n </div>\r\n </div>\r\n\r\n <!-- Node Information -->\r\n <div class=\"section\">\r\n <label class=\"section-label\">Information</label>\r\n <div class=\"info-grid\">\r\n <div class=\"info-item\">\r\n <span class=\"info-label\">UCCX Type:</span>\r\n <span class=\"info-value\" [title]=\"nodeData.uccxTypeName\">{{\r\n nodeData.uccxTypeName\r\n }}</span>\r\n </div>\r\n <div class=\"info-item\">\r\n <span class=\"info-label\">WxCC Activity Name:</span>\r\n <span class=\"info-value\" [title]=\"transformedActivityName\">{{\r\n transformedActivityName\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Review Status -->\r\n <div class=\"section\" *ngIf=\"nodeData.review\">\r\n <label class=\"section-label\">Review Status</label>\r\n <div class=\"review-status\">\r\n <div class=\"review-badge\" [style.background-color]=\"getReviewColor()\">\r\n {{ getReviewLabel() }}\r\n </div>\r\n <div\r\n class=\"review-reasons\"\r\n *ngIf=\"nodeData.review.reasons && nodeData.review.reasons.length > 0\"\r\n >\r\n <div class=\"reason\" *ngFor=\"let reason of nodeData.review.reasons\">\r\n <span class=\"reason-icon\">\u26A0</span>\r\n <span>{{ reason }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Suggested Properties -->\r\n <div class=\"section\" *ngIf=\"nodeData.suggestedProperties\">\r\n <label class=\"section-label\">Migration Information</label>\r\n <div class=\"migration-info\">\r\n <div\r\n class=\"info-card\"\r\n *ngIf=\"nodeData.suggestedProperties.closestWxccActivity\"\r\n >\r\n <div class=\"card-label\">Closest WXCC Activity</div>\r\n <div class=\"card-value\">\r\n {{ nodeData.suggestedProperties.closestWxccActivity }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"info-card\"\r\n *ngIf=\"nodeData.suggestedProperties.mappingNotes\"\r\n >\r\n <div class=\"card-label\">Mapping Notes</div>\r\n <div class=\"card-value\">\r\n {{ nodeData.suggestedProperties.mappingNotes }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"info-card\"\r\n *ngIf=\"nodeData.suggestedProperties.migrationInstructions\"\r\n >\r\n <div class=\"card-label\">Migration Instructions</div>\r\n <div class=\"card-value instructions\">\r\n {{ nodeData.suggestedProperties.migrationInstructions }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.node-details-sidebar{position:fixed;top:0;right:-420px;width:420px;height:100%;background:#ffffff;box-shadow:-2px 0 8px #00000026;z-index:1000;transition:right .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.node-details-sidebar.open{right:0}.node-details-sidebar .sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e1e4e8;background:#f8f9fa}.node-details-sidebar .sidebar-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#24292e}.node-details-sidebar .sidebar-header .close-btn{background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:#586069;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.node-details-sidebar .sidebar-header .close-btn:hover{background:rgba(0,0,0,.05);color:#24292e}.node-details-sidebar .sidebar-content{flex:1;overflow-y:auto;padding:1.5rem}.node-details-sidebar .sidebar-content .node-preview{margin-bottom:1.5rem}.node-details-sidebar .sidebar-content .node-preview .node-preview-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:8px;flex-shrink:0}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-icon img{width:24px;height:24px}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-info{flex:1;min-width:0}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-info .node-label{font-size:1rem;font-weight:600;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-info .node-type{font-size:.875rem;color:#586069}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-start{background-color:#4caf500d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-start .node-icon{background-color:#4caf501a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-start .node-label{color:#4caf50}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-end{background-color:#f443360d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-end .node-icon{background-color:#f443361a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-end .node-label{color:#f44336}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-gateway{background-color:#ff98000d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-gateway .node-icon{background-color:#ff98001a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-gateway .node-label{color:#ff9800}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-action{background-color:#9c27b00d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-action .node-icon{background-color:#9c27b01a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-action .node-label{color:#9c27b0}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-default{background-color:#607d8b0d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-default .node-icon{background-color:#607d8b1a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-default .node-label{color:#607d8b}.node-details-sidebar .sidebar-content .section{margin-bottom:1.5rem}.node-details-sidebar .sidebar-content .section .section-label{display:block;font-size:.65rem;font-weight:600;color:#24292e;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.node-details-sidebar .sidebar-content .section .display-type-selector .form-control{width:100%;padding:.625rem .875rem;font-size:.875rem;border:1px solid #d1d5da;border-radius:6px;background:white;transition:border-color .2s;box-sizing:border-box;resize:vertical}.node-details-sidebar .sidebar-content .section .display-type-selector .form-control:focus{outline:none;border-color:#0366d6;box-shadow:0 0 0 3px #0366d61a}.node-details-sidebar .sidebar-content .section .info-grid{display:flex;flex-direction:column;gap:.75rem}.node-details-sidebar .sidebar-content .section .info-grid .info-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem;background:#f6f8fa;border-radius:6px}.node-details-sidebar .sidebar-content .section .info-grid .info-item .info-label{font-size:.8125rem;color:#586069;font-weight:500}.node-details-sidebar .sidebar-content .section .info-grid .info-item .info-value{font-size:.8125rem;color:#24292e;font-weight:600;text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-details-sidebar .sidebar-content .section .review-status .review-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;color:#fff;font-size:.8125rem;font-weight:600;margin-bottom:.75rem}.node-details-sidebar .sidebar-content .section .review-status .review-reasons .reason{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:#fff3cd;border-radius:4px;margin-bottom:.5rem;font-size:.8125rem;color:#856404}.node-details-sidebar .sidebar-content .section .review-status .review-reasons .reason .reason-icon{flex-shrink:0}.node-details-sidebar .sidebar-content .section .migration-info .info-card{padding:1rem;background:#f6f8fa;border-radius:6px;margin-bottom:.75rem}.node-details-sidebar .sidebar-content .section .migration-info .info-card:last-child{margin-bottom:0}.node-details-sidebar .sidebar-content .section .migration-info .info-card .card-label{font-size:.75rem;font-weight:600;color:#586069;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.node-details-sidebar .sidebar-content .section .migration-info .info-card .card-value{font-size:.875rem;color:#24292e;line-height:1.5}.node-details-sidebar .sidebar-content .section .migration-info .info-card .card-value.instructions{white-space:pre-wrap}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
83
83
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NodeDetailsSidebarComponent, decorators: [{
|
|
84
84
|
type: Component,
|
|
85
|
-
args: [{ selector: 'node-details-sidebar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- <div class=\"sidebar-overlay\" *ngIf=\"isOpen\" (click)=\"onClose()\"></div> -->\r\n\r\n<div class=\"node-details-sidebar\" [class.open]=\"isOpen\">\r\n <div class=\"sidebar-header\">\r\n <h3>Node Details</h3>\r\n <button class=\"close-btn\" (click)=\"onClose()\">\r\n <span>×</span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"sidebar-content\" *ngIf=\"nodeData\">\r\n <!-- Node Preview -->\r\n <div class=\"node-preview\">\r\n <div class=\"node-preview-card\" [ngClass]=\"getNodeColorClass()\">\r\n <div class=\"node-icon\">\r\n <img [src]=\"getNodeIcon()\" alt=\"Node Icon\" />\r\n </div>\r\n <div class=\"node-info\">\r\n <div class=\"node-label\">{{ nodeData?.name?.split(\"\\n\")?.[0] }}</div>\r\n <div class=\"node-type\">{{ transformedActivityName }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Activity Type Selector -->\r\n <div class=\"section\">\r\n <label class=\"section-label\">Activity Type</label>\r\n <div class=\"display-type-selector\">\r\n <select\r\n class=\"form-control\"\r\n title=\"Select activity type\"\r\n [value]=\"selectedActivityType?.value\"\r\n (change)=\"onActivityTypeSelectChange($event)\"\r\n >\r\n <option\r\n *ngFor=\"let type of activityDisplayTypes; trackBy: trackByValue\"\r\n [value]=\"type.value\"\r\n >\r\n {{ type.label }}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"section\">\r\n <label class=\"section-label\">Description</label>\r\n <div class=\"display-type-selector\">\r\n <textarea\r\n class=\"form-control\"\r\n aria-label=\"property-description\"\r\n (input)=\"onDescriptionChange($event)\"\r\n [value]=\"nodeData.suggestedProperties?.uccxDescription\"\r\n rows=\"3\"\r\n ></textarea>\r\n </div>\r\n </div>\r\n\r\n <!-- Node Information -->\r\n <div class=\"section\">\r\n <label class=\"section-label\">Information</label>\r\n <div class=\"info-grid\">\r\n <div class=\"info-item\">\r\n <span class=\"info-label\">UCCX Type:</span>\r\n <span class=\"info-value\" [title]=\"nodeData.uccxTypeName\">{{\r\n nodeData.uccxTypeName\r\n }}</span>\r\n </div>\r\n <div class=\"info-item\">\r\n <span class=\"info-label\">WxCC Activity Name:</span>\r\n <span class=\"info-value\" [title]=\"transformedActivityName\">{{\r\n transformedActivityName\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Review Status -->\r\n <div class=\"section\" *ngIf=\"nodeData.review\">\r\n <label class=\"section-label\">Review Status</label>\r\n <div class=\"review-status\">\r\n <div class=\"review-badge\" [style.background-color]=\"getReviewColor()\">\r\n {{ getReviewLabel() }}\r\n </div>\r\n <div\r\n class=\"review-reasons\"\r\n *ngIf=\"nodeData.review.reasons && nodeData.review.reasons.length > 0\"\r\n >\r\n <div class=\"reason\" *ngFor=\"let reason of nodeData.review.reasons\">\r\n <span class=\"reason-icon\">\u26A0</span>\r\n <span>{{ reason }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Suggested Properties -->\r\n <div class=\"section\" *ngIf=\"nodeData.suggestedProperties\">\r\n <label class=\"section-label\">Migration Information</label>\r\n <div class=\"migration-info\">\r\n <div\r\n class=\"info-card\"\r\n *ngIf=\"nodeData.suggestedProperties.closestWxccActivity\"\r\n >\r\n <div class=\"card-label\">Closest WXCC Activity</div>\r\n <div class=\"card-value\">\r\n {{ nodeData.suggestedProperties.closestWxccActivity }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"info-card\"\r\n *ngIf=\"nodeData.suggestedProperties.mappingNotes\"\r\n >\r\n <div class=\"card-label\">Mapping Notes</div>\r\n <div class=\"card-value\">\r\n {{ nodeData.suggestedProperties.mappingNotes }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"info-card\"\r\n *ngIf=\"nodeData.suggestedProperties.migrationInstructions\"\r\n >\r\n <div class=\"card-label\">Migration Instructions</div>\r\n <div class=\"card-value instructions\">\r\n {{ nodeData.suggestedProperties.migrationInstructions }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.node-details-sidebar{position:fixed;top:0;right:-420px;width:420px;height:100%;background:#ffffff;box-shadow:-2px 0 8px #00000026;z-index:1000;transition:right .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.node-details-sidebar.open{right:0}.node-details-sidebar .sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e1e4e8;background:#f8f9fa}.node-details-sidebar .sidebar-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#24292e}.node-details-sidebar .sidebar-header .close-btn{background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:#586069;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.node-details-sidebar .sidebar-header .close-btn:hover{background:rgba(0,0,0,.05);color:#24292e}.node-details-sidebar .sidebar-content{flex:1;overflow-y:auto;padding:1.5rem}.node-details-sidebar .sidebar-content .node-preview{margin-bottom:1.5rem}.node-details-sidebar .sidebar-content .node-preview .node-preview-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:8px;flex-shrink:0}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-icon img{width:24px;height:24px}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-info{flex:1;min-width:0}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-info .node-label{font-size:1rem;font-weight:600;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-info .node-type{font-size:.875rem;color:#586069}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-start{background-color:#4caf500d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-start .node-icon{background-color:#4caf501a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-start .node-label{color:#4caf50}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-end{background-color:#f443360d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-end .node-icon{background-color:#f443361a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-end .node-label{color:#f44336}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-gateway{background-color:#ff98000d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-gateway .node-icon{background-color:#ff98001a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-gateway .node-label{color:#ff9800}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-action{background-color:#9c27b00d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-action .node-icon{background-color:#9c27b01a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-action .node-label{color:#9c27b0}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-default{background-color:#607d8b0d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-default .node-icon{background-color:#607d8b1a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-default .node-label{color:#607d8b}.node-details-sidebar .sidebar-content .section{margin-bottom:1.5rem}.node-details-sidebar .sidebar-content .section .section-label{display:block;font-size:.65rem;font-weight:600;color:#24292e;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.node-details-sidebar .sidebar-content .section .display-type-selector .form-control{width:100%;padding:.625rem .875rem;font-size:.875rem;border:1px solid #d1d5da;border-radius:6px;background:white;transition:border-color .2s;box-sizing:border-box;resize:vertical}.node-details-sidebar .sidebar-content .section .display-type-selector .form-control:focus{outline:none;border-color:#0366d6;box-shadow:0 0 0 3px #0366d61a}.node-details-sidebar .sidebar-content .section .info-grid{display:flex;flex-direction:column;gap:.75rem}.node-details-sidebar .sidebar-content .section .info-grid .info-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem;background:#f6f8fa;border-radius:6px}.node-details-sidebar .sidebar-content .section .info-grid .info-item .info-label{font-size:.8125rem;color:#586069;font-weight:500}.node-details-sidebar .sidebar-content .section .info-grid .info-item .info-value{font-size:.8125rem;color:#24292e;font-weight:600;text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-details-sidebar .sidebar-content .section .review-status .review-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;color:#fff;font-size:.8125rem;font-weight:600;margin-bottom:.75rem}.node-details-sidebar .sidebar-content .section .review-status .review-reasons .reason{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:#fff3cd;border-radius:4px;margin-bottom:.5rem;font-size:.8125rem;color:#856404}.node-details-sidebar .sidebar-content .section .review-status .review-reasons .reason .reason-icon{flex-shrink:0}.node-details-sidebar .sidebar-content .section .migration-info .info-card{padding:1rem;background:#f6f8fa;border-radius:6px;margin-bottom:.75rem}.node-details-sidebar .sidebar-content .section .migration-info .info-card:last-child{margin-bottom:0}.node-details-sidebar .sidebar-content .section .migration-info .info-card .card-label{font-size:.75rem;font-weight:600;color:#586069;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.node-details-sidebar .sidebar-content .section .migration-info .info-card .card-value{font-size:.875rem;color:#24292e;line-height:1.5}.node-details-sidebar .sidebar-content .section .migration-info .info-card .card-value.instructions{white-space:pre-wrap}\n"] }]
|
|
85
|
+
args: [{ selector: 'node-details-sidebar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- <div class=\"sidebar-overlay\" *ngIf=\"isOpen\" (click)=\"onClose()\"></div> -->\r\n\r\n<div class=\"node-details-sidebar\" [class.open]=\"isOpen\">\r\n <div class=\"sidebar-header\">\r\n <h3>Node Details</h3>\r\n <button class=\"close-btn\" (click)=\"onClose()\">\r\n <span>×</span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"sidebar-content\" *ngIf=\"nodeData\">\r\n <!-- Node Preview -->\r\n <div class=\"node-preview\">\r\n <div class=\"node-preview-card\" [ngClass]=\"getNodeColorClass()\">\r\n <div class=\"node-icon\">\r\n <img [src]=\"getNodeIcon()\" alt=\"Node Icon\" />\r\n </div>\r\n <div class=\"node-info\">\r\n <div class=\"node-label\">{{ nodeData.name?.split(\"\\n\")?.[0] }}</div>\r\n <div class=\"node-type\">{{ transformedActivityName }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Activity Type Selector -->\r\n <div class=\"section\">\r\n <label class=\"section-label\">Activity Type</label>\r\n <div class=\"display-type-selector\">\r\n <select\r\n class=\"form-control\"\r\n title=\"Select activity type\"\r\n [value]=\"selectedActivityType?.value\"\r\n (change)=\"onActivityTypeSelectChange($event)\"\r\n >\r\n <option\r\n *ngFor=\"let type of activityDisplayTypes; trackBy: trackByValue\"\r\n [value]=\"type.value\"\r\n >\r\n {{ type.label }}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"section\">\r\n <label class=\"section-label\">Description</label>\r\n <div class=\"display-type-selector\">\r\n <textarea\r\n class=\"form-control\"\r\n aria-label=\"property-description\"\r\n (input)=\"onDescriptionChange($event)\"\r\n [value]=\"nodeData.suggestedProperties?.uccxDescription\"\r\n rows=\"3\"\r\n ></textarea>\r\n </div>\r\n </div>\r\n\r\n <!-- Node Information -->\r\n <div class=\"section\">\r\n <label class=\"section-label\">Information</label>\r\n <div class=\"info-grid\">\r\n <div class=\"info-item\">\r\n <span class=\"info-label\">UCCX Type:</span>\r\n <span class=\"info-value\" [title]=\"nodeData.uccxTypeName\">{{\r\n nodeData.uccxTypeName\r\n }}</span>\r\n </div>\r\n <div class=\"info-item\">\r\n <span class=\"info-label\">WxCC Activity Name:</span>\r\n <span class=\"info-value\" [title]=\"transformedActivityName\">{{\r\n transformedActivityName\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Review Status -->\r\n <div class=\"section\" *ngIf=\"nodeData.review\">\r\n <label class=\"section-label\">Review Status</label>\r\n <div class=\"review-status\">\r\n <div class=\"review-badge\" [style.background-color]=\"getReviewColor()\">\r\n {{ getReviewLabel() }}\r\n </div>\r\n <div\r\n class=\"review-reasons\"\r\n *ngIf=\"nodeData.review.reasons && nodeData.review.reasons.length > 0\"\r\n >\r\n <div class=\"reason\" *ngFor=\"let reason of nodeData.review.reasons\">\r\n <span class=\"reason-icon\">\u26A0</span>\r\n <span>{{ reason }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Suggested Properties -->\r\n <div class=\"section\" *ngIf=\"nodeData.suggestedProperties\">\r\n <label class=\"section-label\">Migration Information</label>\r\n <div class=\"migration-info\">\r\n <div\r\n class=\"info-card\"\r\n *ngIf=\"nodeData.suggestedProperties.closestWxccActivity\"\r\n >\r\n <div class=\"card-label\">Closest WXCC Activity</div>\r\n <div class=\"card-value\">\r\n {{ nodeData.suggestedProperties.closestWxccActivity }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"info-card\"\r\n *ngIf=\"nodeData.suggestedProperties.mappingNotes\"\r\n >\r\n <div class=\"card-label\">Mapping Notes</div>\r\n <div class=\"card-value\">\r\n {{ nodeData.suggestedProperties.mappingNotes }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"info-card\"\r\n *ngIf=\"nodeData.suggestedProperties.migrationInstructions\"\r\n >\r\n <div class=\"card-label\">Migration Instructions</div>\r\n <div class=\"card-value instructions\">\r\n {{ nodeData.suggestedProperties.migrationInstructions }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.node-details-sidebar{position:fixed;top:0;right:-420px;width:420px;height:100%;background:#ffffff;box-shadow:-2px 0 8px #00000026;z-index:1000;transition:right .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.node-details-sidebar.open{right:0}.node-details-sidebar .sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e1e4e8;background:#f8f9fa}.node-details-sidebar .sidebar-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#24292e}.node-details-sidebar .sidebar-header .close-btn{background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:#586069;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.node-details-sidebar .sidebar-header .close-btn:hover{background:rgba(0,0,0,.05);color:#24292e}.node-details-sidebar .sidebar-content{flex:1;overflow-y:auto;padding:1.5rem}.node-details-sidebar .sidebar-content .node-preview{margin-bottom:1.5rem}.node-details-sidebar .sidebar-content .node-preview .node-preview-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:8px;flex-shrink:0}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-icon img{width:24px;height:24px}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-info{flex:1;min-width:0}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-info .node-label{font-size:1rem;font-weight:600;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-details-sidebar .sidebar-content .node-preview .node-preview-card .node-info .node-type{font-size:.875rem;color:#586069}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-start{background-color:#4caf500d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-start .node-icon{background-color:#4caf501a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-start .node-label{color:#4caf50}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-end{background-color:#f443360d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-end .node-icon{background-color:#f443361a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-end .node-label{color:#f44336}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-gateway{background-color:#ff98000d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-gateway .node-icon{background-color:#ff98001a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-gateway .node-label{color:#ff9800}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-action{background-color:#9c27b00d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-action .node-icon{background-color:#9c27b01a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-action .node-label{color:#9c27b0}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-default{background-color:#607d8b0d}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-default .node-icon{background-color:#607d8b1a}.node-details-sidebar .sidebar-content .node-preview .node-preview-card.node-default .node-label{color:#607d8b}.node-details-sidebar .sidebar-content .section{margin-bottom:1.5rem}.node-details-sidebar .sidebar-content .section .section-label{display:block;font-size:.65rem;font-weight:600;color:#24292e;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.node-details-sidebar .sidebar-content .section .display-type-selector .form-control{width:100%;padding:.625rem .875rem;font-size:.875rem;border:1px solid #d1d5da;border-radius:6px;background:white;transition:border-color .2s;box-sizing:border-box;resize:vertical}.node-details-sidebar .sidebar-content .section .display-type-selector .form-control:focus{outline:none;border-color:#0366d6;box-shadow:0 0 0 3px #0366d61a}.node-details-sidebar .sidebar-content .section .info-grid{display:flex;flex-direction:column;gap:.75rem}.node-details-sidebar .sidebar-content .section .info-grid .info-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem;background:#f6f8fa;border-radius:6px}.node-details-sidebar .sidebar-content .section .info-grid .info-item .info-label{font-size:.8125rem;color:#586069;font-weight:500}.node-details-sidebar .sidebar-content .section .info-grid .info-item .info-value{font-size:.8125rem;color:#24292e;font-weight:600;text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-details-sidebar .sidebar-content .section .review-status .review-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;color:#fff;font-size:.8125rem;font-weight:600;margin-bottom:.75rem}.node-details-sidebar .sidebar-content .section .review-status .review-reasons .reason{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:#fff3cd;border-radius:4px;margin-bottom:.5rem;font-size:.8125rem;color:#856404}.node-details-sidebar .sidebar-content .section .review-status .review-reasons .reason .reason-icon{flex-shrink:0}.node-details-sidebar .sidebar-content .section .migration-info .info-card{padding:1rem;background:#f6f8fa;border-radius:6px;margin-bottom:.75rem}.node-details-sidebar .sidebar-content .section .migration-info .info-card:last-child{margin-bottom:0}.node-details-sidebar .sidebar-content .section .migration-info .info-card .card-label{font-size:.75rem;font-weight:600;color:#586069;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.node-details-sidebar .sidebar-content .section .migration-info .info-card .card-value{font-size:.875rem;color:#24292e;line-height:1.5}.node-details-sidebar .sidebar-content .section .migration-info .info-card .card-value.instructions{white-space:pre-wrap}\n"] }]
|
|
86
86
|
}], propDecorators: { isOpen: [{
|
|
87
87
|
type: Input
|
|
88
88
|
}], nodeData: [{
|
|
@@ -94,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
94
94
|
}], descriptionChange: [{
|
|
95
95
|
type: Output
|
|
96
96
|
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kZXRhaWxzLXNpZGViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL2NvbnRhY3QtY2VudGVyL2NjLXNjcmlwdC1lZGl0b3IvY29tcG9uZW50cy9ub2RlLWRldGFpbHMtc2lkZWJhci9ub2RlLWRldGFpbHMtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvY29udGFjdC1jZW50ZXIvY2Mtc2NyaXB0LWVkaXRvci9jb21wb25lbnRzL25vZGUtZGV0YWlscy1zaWRlYmFyL25vZGUtZGV0YWlscy1zaWRlYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsdUJBQXVCLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFDSCxzQkFBc0IsRUFFdEIsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3QixRQUFRLEVBQ1gsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQVMzRSxNQUFNLE9BQU8sMkJBQTJCO0lBTnhDO1FBT2EsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGFBQVEsR0FBb0MsSUFBSSxDQUFDO1FBRWhELFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2pDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQzdELHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFaEQseUJBQW9CLEdBQUcsc0JBQXNCLENBQUM7UUFHdkQseUJBQW9CLEdBQStCLElBQUksQ0FBQztLQW9GM0Q7SUFsRkcsV0FBVyxDQUFDLE9BQXNCO1FBQzlC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QVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDckUsV0FBVyxDQUFDO1FBQ2hCLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQztJQUM1RixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWEsRUFBRSxJQUF5QjtRQUNqRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs7eUhBOUZRLDJCQUEyQjs2R0FBM0IsMkJBQTJCLG9QQ2pCeEMsaXJKQWtJQTs0RkRqSGEsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBPbkNoYW5nZXMsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBBQ1RJVklUWV9ESVNQTEFZX1RZUEVTLFxyXG4gICAgQWN0aXZpdHlEaXNwbGF5VHlwZSxcclxuICAgIGdldE5vZGVDb2xvckNsYXNzLFxyXG4gICAgZ2V0QWN0aXZpdHlEaXNwbGF5VHlwZUJ5VmFsdWUsXHJcbiAgICBJQ09OX01BUFxyXG59IGZyb20gJy4uLy4uL3V0aWxzL25vZGUtbWFwcGluZ3MnO1xyXG5pbXBvcnQgeyBnZXRUcmFuZm9ybWVkQWN0aXZpdHlOYW1lIH0gZnJvbSAnLi4vLi4vdXRpbHMvbm9kZS1odG1sLXRlbXBsYXRlJztcclxuaW1wb3J0IHsgUmVhZG9ubHlFeHRlbmRlZEFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZXh0ZW5kZWQtYWN0aXZpdHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ25vZGUtZGV0YWlscy1zaWRlYmFyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9ub2RlLWRldGFpbHMtc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9ub2RlLWRldGFpbHMtc2lkZWJhci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIE5vZGVEZXRhaWxzU2lkZWJhckNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBpc09wZW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIG5vZGVEYXRhOiBSZWFkb25seUV4dGVuZGVkQWN0aXZpdHkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgICBAT3V0cHV0KCkgYWN0aXZpdHlUeXBlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpdml0eURpc3BsYXlUeXBlPigpO1xyXG4gICAgQE91dHB1dCgpIGRlc2NyaXB0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgcmVhZG9ubHkgYWN0aXZpdHlEaXNwbGF5VHlwZXMgPSBBQ1RJVklUWV9ESVNQTEFZX1RZUEVTO1xyXG5cclxuICAgIHRyYW5zZm9ybWVkQWN0aXZpdHlOYW1lITogc3RyaW5nO1xyXG4gICAgc2VsZWN0ZWRBY3Rpdml0eVR5cGU6IEFjdGl2aXR5RGlzcGxheVR5cGUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ25vZGVEYXRhJ10gJiYgdGhpcy5ub2RlRGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVBY3Rpdml0eVR5cGUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplQWN0aXZpdHlUeXBlKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGFjdGl2aXR5TmFtZSA9IHRoaXMubm9kZURhdGEgJiYgdGhpcy5ub2RlRGF0YS53eGNjQWN0aXZpdHlOYW1lO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBY3Rpdml0eVR5cGUgPSBnZXRBY3Rpdml0eURpc3BsYXlUeXBlQnlWYWx1ZSgoYWN0aXZpdHlOYW1lIHx8ICd1bm1hcHBlZCcpLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgIHRoaXMudHJhbnNmb3JtZWRBY3Rpdml0eU5hbWUgPSBnZXRUcmFuZm9ybWVkQWN0aXZpdHlOYW1lKGFjdGl2aXR5TmFtZSB8fCAndW5tYXBwZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRlc2NyaXB0aW9uQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MVGV4dEFyZWFFbGVtZW50IHwgbnVsbDtcclxuXHJcbiAgICAgICAgaWYgKCF0YXJnZXQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSB0YXJnZXQudmFsdWUudHJpbSgpO1xyXG5cclxuICAgICAgICBpZiAoIWRlc2NyaXB0aW9uKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb25DaGFuZ2UuZW1pdChkZXNjcmlwdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvbkFjdGl2aXR5VHlwZUNoYW5nZSh0eXBlOiBBY3Rpdml0eURpc3BsYXlUeXBlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFjdGl2aXR5VHlwZSA9IHR5cGU7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0eVR5cGVDaGFuZ2UuZW1pdCh0eXBlKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkFjdGl2aXR5VHlwZVNlbGVjdENoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQgfCBudWxsO1xyXG5cclxuICAgICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRhcmdldC52YWx1ZTtcclxuICAgICAgICBjb25zdCB0eXBlID0gZ2V0QWN0aXZpdHlEaXNwbGF5VHlwZUJ5VmFsdWUodmFsdWUpO1xyXG4gICAgICAgIHRoaXMub25BY3Rpdml0eVR5cGVDaGFuZ2UodHlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNsb3NlLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXROb2RlSWNvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5zZWxlY3RlZEFjdGl2aXR5VHlwZSAmJiB0aGlzLnNlbGVjdGVkQWN0aXZpdHlUeXBlLmljb24pIHx8IElDT05fTUFQWyd1bm1hcHBlZCddO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE5vZGVDb2xvckNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgZ3JvdXAgPSAodGhpcy5zZWxlY3RlZEFjdGl2aXR5VHlwZSAmJiB0aGlzLnNlbGVjdGVkQWN0aXZpdHlUeXBlLmdyb3VwKSB8fCAndW5tYXBwZWQnO1xyXG4gICAgICAgIHJldHVybiBnZXROb2RlQ29sb3JDbGFzcyhncm91cCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UmV2aWV3Q29sb3IoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBjb2xvciA9XHJcbiAgICAgICAgICAgICh0aGlzLm5vZGVEYXRhICYmIHRoaXMubm9kZURhdGEucmV2aWV3ICYmIHRoaXMubm9kZURhdGEucmV2aWV3LmNvbG9yKSB8fFxyXG4gICAgICAgICAgICAnZ3JlZW4nO1xyXG4gICAgICAgIGNvbnN0IGNvbG9yczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcclxuICAgICAgICAgICAgJ2dyZWVuJzogJyM0Q0FGNTAnLFxyXG4gICAgICAgICAgICAneWVsbG93JzogJyNGRjk4MDAnLFxyXG4gICAgICAgICAgICAncmVkJzogJyNGNDQzMzYnXHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gY29sb3JzW2NvbG9yXSB8fCBjb2xvcnNbJ2dyZWVuJ107XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UmV2aWV3TGFiZWwoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBjb2xvciA9XHJcbiAgICAgICAgICAgICh0aGlzLm5vZGVEYXRhICYmIHRoaXMubm9kZURhdGEucmV2aWV3ICYmIHRoaXMubm9kZURhdGEucmV2aWV3LmNvbG9yKSB8fFxyXG4gICAgICAgICAgICAnZ3JlZW4nO1xyXG4gICAgICAgIGNvbnN0IGxldmVsID1cclxuICAgICAgICAgICAgKHRoaXMubm9kZURhdGEgJiYgdGhpcy5ub2RlRGF0YS5yZXZpZXcgJiYgdGhpcy5ub2RlRGF0YS5yZXZpZXcubGV2ZWwpIHx8XHJcbiAgICAgICAgICAgICdjb25maWRlbnQnO1xyXG4gICAgICAgIHJldHVybiBgJHtjb2xvci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGNvbG9yLnNsaWNlKDEpfSAoJHtsZXZlbC5yZXBsYWNlKCdfJywgJyAnKX0pYDtcclxuICAgIH1cclxuXHJcbiAgICB0cmFja0J5VmFsdWUoaW5kZXg6IG51bWJlciwgdHlwZTogQWN0aXZpdHlEaXNwbGF5VHlwZSk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGUudmFsdWU7XHJcbiAgICB9XHJcbn0iLCI8IS0tIDxkaXYgY2xhc3M9XCJzaWRlYmFyLW92ZXJsYXlcIiAqbmdJZj1cImlzT3BlblwiIChjbGljayk9XCJvbkNsb3NlKClcIj48L2Rpdj4gLS0+XHJcblxyXG48ZGl2IGNsYXNzPVwibm9kZS1kZXRhaWxzLXNpZGViYXJcIiBbY2xhc3Mub3Blbl09XCJpc09wZW5cIj5cclxuICA8ZGl2IGNsYXNzPVwic2lkZWJhci1oZWFkZXJcIj5cclxuICAgIDxoMz5Ob2RlIERldGFpbHM8L2gzPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ0blwiIChjbGljayk9XCJvbkNsb3NlKClcIj5cclxuICAgICAgPHNwYW4+JnRpbWVzOzwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwic2lkZWJhci1jb250ZW50XCIgKm5nSWY9XCJub2RlRGF0YVwiPlxyXG4gICAgPCEtLSBOb2RlIFByZXZpZXcgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwibm9kZS1wcmV2aWV3XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJub2RlLXByZXZpZXctY2FyZFwiIFtuZ0NsYXNzXT1cImdldE5vZGVDb2xvckNsYXNzKClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibm9kZS1pY29uXCI+XHJcbiAgICAgICAgICA8aW1nIFtzcmNdPVwiZ2V0Tm9kZUljb24oKVwiIGFsdD1cIk5vZGUgSWNvblwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGUtaW5mb1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGUtbGFiZWxcIj57eyBub2RlRGF0YT8ubmFtZT8uc3BsaXQoXCJcXG5cIik/LlswXSB9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGUtdHlwZVwiPnt7IHRyYW5zZm9ybWVkQWN0aXZpdHlOYW1lIH19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBBY3Rpdml0eSBUeXBlIFNlbGVjdG9yIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cInNlY3Rpb25cIj5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwic2VjdGlvbi1sYWJlbFwiPkFjdGl2aXR5IFR5cGU8L2xhYmVsPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheS10eXBlLXNlbGVjdG9yXCI+XHJcbiAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgdGl0bGU9XCJTZWxlY3QgYWN0aXZpdHkgdHlwZVwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwic2VsZWN0ZWRBY3Rpdml0eVR5cGU/LnZhbHVlXCJcclxuICAgICAgICAgIChjaGFuZ2UpPVwib25BY3Rpdml0eVR5cGVTZWxlY3RDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgdHlwZSBvZiBhY3Rpdml0eURpc3BsYXlUeXBlczsgdHJhY2tCeTogdHJhY2tCeVZhbHVlXCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cInR5cGUudmFsdWVcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyB0eXBlLmxhYmVsIH19XHJcbiAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic2VjdGlvblwiPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJzZWN0aW9uLWxhYmVsXCI+RGVzY3JpcHRpb248L2xhYmVsPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheS10eXBlLXNlbGVjdG9yXCI+XHJcbiAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwicHJvcGVydHktZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uRGVzY3JpcHRpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwibm9kZURhdGEuc3VnZ2VzdGVkUHJvcGVydGllcz8udWNjeERlc2NyaXB0aW9uXCJcclxuICAgICAgICAgIHJvd3M9XCIzXCJcclxuICAgICAgICA+PC90ZXh0YXJlYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIE5vZGUgSW5mb3JtYXRpb24gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2VjdGlvblwiPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJzZWN0aW9uLWxhYmVsXCI+SW5mb3JtYXRpb248L2xhYmVsPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mby1ncmlkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8taXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmZvLWxhYmVsXCI+VUNDWCBUeXBlOjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mby12YWx1ZVwiIFt0aXRsZV09XCJub2RlRGF0YS51Y2N4VHlwZU5hbWVcIj57e1xyXG4gICAgICAgICAgICBub2RlRGF0YS51Y2N4VHlwZU5hbWVcclxuICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mby1sYWJlbFwiPld4Q0MgQWN0aXZpdHkgTmFtZTo8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tdmFsdWVcIiBbdGl0bGVdPVwidHJhbnNmb3JtZWRBY3Rpdml0eU5hbWVcIj57e1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm1lZEFjdGl2aXR5TmFtZVxyXG4gICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBSZXZpZXcgU3RhdHVzIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cInNlY3Rpb25cIiAqbmdJZj1cIm5vZGVEYXRhLnJldmlld1wiPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJzZWN0aW9uLWxhYmVsXCI+UmV2aWV3IFN0YXR1czwvbGFiZWw+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXZpZXctc3RhdHVzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJldmlldy1iYWRnZVwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImdldFJldmlld0NvbG9yKClcIj5cclxuICAgICAgICAgIHt7IGdldFJldmlld0xhYmVsKCkgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInJldmlldy1yZWFzb25zXCJcclxuICAgICAgICAgICpuZ0lmPVwibm9kZURhdGEucmV2aWV3LnJlYXNvbnMgJiYgbm9kZURhdGEucmV2aWV3LnJlYXNvbnMubGVuZ3RoID4gMFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJlYXNvblwiICpuZ0Zvcj1cImxldCByZWFzb24gb2Ygbm9kZURhdGEucmV2aWV3LnJlYXNvbnNcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZWFzb24taWNvblwiPuKaoDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgcmVhc29uIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBTdWdnZXN0ZWQgUHJvcGVydGllcyAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uXCIgKm5nSWY9XCJub2RlRGF0YS5zdWdnZXN0ZWRQcm9wZXJ0aWVzXCI+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cInNlY3Rpb24tbGFiZWxcIj5NaWdyYXRpb24gSW5mb3JtYXRpb248L2xhYmVsPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWlncmF0aW9uLWluZm9cIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImluZm8tY2FyZFwiXHJcbiAgICAgICAgICAqbmdJZj1cIm5vZGVEYXRhLnN1Z2dlc3RlZFByb3BlcnRpZXMuY2xvc2VzdFd4Y2NBY3Rpdml0eVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtbGFiZWxcIj5DbG9zZXN0IFdYQ0MgQWN0aXZpdHk8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXZhbHVlXCI+XHJcbiAgICAgICAgICAgIHt7IG5vZGVEYXRhLnN1Z2dlc3RlZFByb3BlcnRpZXMuY2xvc2VzdFd4Y2NBY3Rpdml0eSB9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJpbmZvLWNhcmRcIlxyXG4gICAgICAgICAgKm5nSWY9XCJub2RlRGF0YS5zdWdnZXN0ZWRQcm9wZXJ0aWVzLm1hcHBpbmdOb3Rlc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtbGFiZWxcIj5NYXBwaW5nIE5vdGVzPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC12YWx1ZVwiPlxyXG4gICAgICAgICAgICB7eyBub2RlRGF0YS5zdWdnZXN0ZWRQcm9wZXJ0aWVzLm1hcHBpbmdOb3RlcyB9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJpbmZvLWNhcmRcIlxyXG4gICAgICAgICAgKm5nSWY9XCJub2RlRGF0YS5zdWdnZXN0ZWRQcm9wZXJ0aWVzLm1pZ3JhdGlvbkluc3RydWN0aW9uc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtbGFiZWxcIj5NaWdyYXRpb24gSW5zdHJ1Y3Rpb25zPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC12YWx1ZSBpbnN0cnVjdGlvbnNcIj5cclxuICAgICAgICAgICAge3sgbm9kZURhdGEuc3VnZ2VzdGVkUHJvcGVydGllcy5taWdyYXRpb25JbnN0cnVjdGlvbnMgfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kZXRhaWxzLXNpZGViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL2NvbnRhY3QtY2VudGVyL2NjLXNjcmlwdC1lZGl0b3IvY29tcG9uZW50cy9ub2RlLWRldGFpbHMtc2lkZWJhci9ub2RlLWRldGFpbHMtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvY29udGFjdC1jZW50ZXIvY2Mtc2NyaXB0LWVkaXRvci9jb21wb25lbnRzL25vZGUtZGV0YWlscy1zaWRlYmFyL25vZGUtZGV0YWlscy1zaWRlYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsdUJBQXVCLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFDSCxzQkFBc0IsRUFFdEIsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3QixRQUFRLEVBQ1gsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQVMzRSxNQUFNLE9BQU8sMkJBQTJCO0lBTnhDO1FBT2EsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGFBQVEsR0FBb0MsSUFBSSxDQUFDO1FBRWhELFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2pDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQzdELHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFaEQseUJBQW9CLEdBQUcsc0JBQXNCLENBQUM7UUFHdkQseUJBQW9CLEdBQStCLElBQUksQ0FBQztLQW9GM0Q7SUFsRkcsV0FBVyxDQUFDLE9BQXNCO1FBQzlC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QVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDckUsV0FBVyxDQUFDO1FBQ2hCLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQztJQUM1RixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWEsRUFBRSxJQUF5QjtRQUNqRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs7eUhBOUZRLDJCQUEyQjs2R0FBM0IsMkJBQTJCLG9QQ2pCeEMsZ3JKQWtJQTs0RkRqSGEsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBPbkNoYW5nZXMsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBBQ1RJVklUWV9ESVNQTEFZX1RZUEVTLFxyXG4gICAgQWN0aXZpdHlEaXNwbGF5VHlwZSxcclxuICAgIGdldE5vZGVDb2xvckNsYXNzLFxyXG4gICAgZ2V0QWN0aXZpdHlEaXNwbGF5VHlwZUJ5VmFsdWUsXHJcbiAgICBJQ09OX01BUFxyXG59IGZyb20gJy4uLy4uL3V0aWxzL25vZGUtbWFwcGluZ3MnO1xyXG5pbXBvcnQgeyBnZXRUcmFuZm9ybWVkQWN0aXZpdHlOYW1lIH0gZnJvbSAnLi4vLi4vdXRpbHMvbm9kZS1odG1sLXRlbXBsYXRlJztcclxuaW1wb3J0IHsgUmVhZG9ubHlFeHRlbmRlZEFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZXh0ZW5kZWQtYWN0aXZpdHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ25vZGUtZGV0YWlscy1zaWRlYmFyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9ub2RlLWRldGFpbHMtc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9ub2RlLWRldGFpbHMtc2lkZWJhci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIE5vZGVEZXRhaWxzU2lkZWJhckNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBpc09wZW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIG5vZGVEYXRhOiBSZWFkb25seUV4dGVuZGVkQWN0aXZpdHkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgICBAT3V0cHV0KCkgYWN0aXZpdHlUeXBlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpdml0eURpc3BsYXlUeXBlPigpO1xyXG4gICAgQE91dHB1dCgpIGRlc2NyaXB0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgcmVhZG9ubHkgYWN0aXZpdHlEaXNwbGF5VHlwZXMgPSBBQ1RJVklUWV9ESVNQTEFZX1RZUEVTO1xyXG5cclxuICAgIHRyYW5zZm9ybWVkQWN0aXZpdHlOYW1lITogc3RyaW5nO1xyXG4gICAgc2VsZWN0ZWRBY3Rpdml0eVR5cGU6IEFjdGl2aXR5RGlzcGxheVR5cGUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ25vZGVEYXRhJ10gJiYgdGhpcy5ub2RlRGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVBY3Rpdml0eVR5cGUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplQWN0aXZpdHlUeXBlKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGFjdGl2aXR5TmFtZSA9IHRoaXMubm9kZURhdGEgJiYgdGhpcy5ub2RlRGF0YS53eGNjQWN0aXZpdHlOYW1lO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBY3Rpdml0eVR5cGUgPSBnZXRBY3Rpdml0eURpc3BsYXlUeXBlQnlWYWx1ZSgoYWN0aXZpdHlOYW1lIHx8ICd1bm1hcHBlZCcpLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgIHRoaXMudHJhbnNmb3JtZWRBY3Rpdml0eU5hbWUgPSBnZXRUcmFuZm9ybWVkQWN0aXZpdHlOYW1lKGFjdGl2aXR5TmFtZSB8fCAndW5tYXBwZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRlc2NyaXB0aW9uQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MVGV4dEFyZWFFbGVtZW50IHwgbnVsbDtcclxuXHJcbiAgICAgICAgaWYgKCF0YXJnZXQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSB0YXJnZXQudmFsdWUudHJpbSgpO1xyXG5cclxuICAgICAgICBpZiAoIWRlc2NyaXB0aW9uKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb25DaGFuZ2UuZW1pdChkZXNjcmlwdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvbkFjdGl2aXR5VHlwZUNoYW5nZSh0eXBlOiBBY3Rpdml0eURpc3BsYXlUeXBlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFjdGl2aXR5VHlwZSA9IHR5cGU7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0eVR5cGVDaGFuZ2UuZW1pdCh0eXBlKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkFjdGl2aXR5VHlwZVNlbGVjdENoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQgfCBudWxsO1xyXG5cclxuICAgICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRhcmdldC52YWx1ZTtcclxuICAgICAgICBjb25zdCB0eXBlID0gZ2V0QWN0aXZpdHlEaXNwbGF5VHlwZUJ5VmFsdWUodmFsdWUpO1xyXG4gICAgICAgIHRoaXMub25BY3Rpdml0eVR5cGVDaGFuZ2UodHlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNsb3NlLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXROb2RlSWNvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5zZWxlY3RlZEFjdGl2aXR5VHlwZSAmJiB0aGlzLnNlbGVjdGVkQWN0aXZpdHlUeXBlLmljb24pIHx8IElDT05fTUFQWyd1bm1hcHBlZCddO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE5vZGVDb2xvckNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgZ3JvdXAgPSAodGhpcy5zZWxlY3RlZEFjdGl2aXR5VHlwZSAmJiB0aGlzLnNlbGVjdGVkQWN0aXZpdHlUeXBlLmdyb3VwKSB8fCAndW5tYXBwZWQnO1xyXG4gICAgICAgIHJldHVybiBnZXROb2RlQ29sb3JDbGFzcyhncm91cCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UmV2aWV3Q29sb3IoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBjb2xvciA9XHJcbiAgICAgICAgICAgICh0aGlzLm5vZGVEYXRhICYmIHRoaXMubm9kZURhdGEucmV2aWV3ICYmIHRoaXMubm9kZURhdGEucmV2aWV3LmNvbG9yKSB8fFxyXG4gICAgICAgICAgICAnZ3JlZW4nO1xyXG4gICAgICAgIGNvbnN0IGNvbG9yczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcclxuICAgICAgICAgICAgJ2dyZWVuJzogJyM0Q0FGNTAnLFxyXG4gICAgICAgICAgICAneWVsbG93JzogJyNGRjk4MDAnLFxyXG4gICAgICAgICAgICAncmVkJzogJyNGNDQzMzYnXHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gY29sb3JzW2NvbG9yXSB8fCBjb2xvcnNbJ2dyZWVuJ107XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UmV2aWV3TGFiZWwoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBjb2xvciA9XHJcbiAgICAgICAgICAgICh0aGlzLm5vZGVEYXRhICYmIHRoaXMubm9kZURhdGEucmV2aWV3ICYmIHRoaXMubm9kZURhdGEucmV2aWV3LmNvbG9yKSB8fFxyXG4gICAgICAgICAgICAnZ3JlZW4nO1xyXG4gICAgICAgIGNvbnN0IGxldmVsID1cclxuICAgICAgICAgICAgKHRoaXMubm9kZURhdGEgJiYgdGhpcy5ub2RlRGF0YS5yZXZpZXcgJiYgdGhpcy5ub2RlRGF0YS5yZXZpZXcubGV2ZWwpIHx8XHJcbiAgICAgICAgICAgICdjb25maWRlbnQnO1xyXG4gICAgICAgIHJldHVybiBgJHtjb2xvci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGNvbG9yLnNsaWNlKDEpfSAoJHtsZXZlbC5yZXBsYWNlKCdfJywgJyAnKX0pYDtcclxuICAgIH1cclxuXHJcbiAgICB0cmFja0J5VmFsdWUoaW5kZXg6IG51bWJlciwgdHlwZTogQWN0aXZpdHlEaXNwbGF5VHlwZSk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGUudmFsdWU7XHJcbiAgICB9XHJcbn0iLCI8IS0tIDxkaXYgY2xhc3M9XCJzaWRlYmFyLW92ZXJsYXlcIiAqbmdJZj1cImlzT3BlblwiIChjbGljayk9XCJvbkNsb3NlKClcIj48L2Rpdj4gLS0+XHJcblxyXG48ZGl2IGNsYXNzPVwibm9kZS1kZXRhaWxzLXNpZGViYXJcIiBbY2xhc3Mub3Blbl09XCJpc09wZW5cIj5cclxuICA8ZGl2IGNsYXNzPVwic2lkZWJhci1oZWFkZXJcIj5cclxuICAgIDxoMz5Ob2RlIERldGFpbHM8L2gzPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ0blwiIChjbGljayk9XCJvbkNsb3NlKClcIj5cclxuICAgICAgPHNwYW4+JnRpbWVzOzwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwic2lkZWJhci1jb250ZW50XCIgKm5nSWY9XCJub2RlRGF0YVwiPlxyXG4gICAgPCEtLSBOb2RlIFByZXZpZXcgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwibm9kZS1wcmV2aWV3XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJub2RlLXByZXZpZXctY2FyZFwiIFtuZ0NsYXNzXT1cImdldE5vZGVDb2xvckNsYXNzKClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibm9kZS1pY29uXCI+XHJcbiAgICAgICAgICA8aW1nIFtzcmNdPVwiZ2V0Tm9kZUljb24oKVwiIGFsdD1cIk5vZGUgSWNvblwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGUtaW5mb1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGUtbGFiZWxcIj57eyBub2RlRGF0YS5uYW1lPy5zcGxpdChcIlxcblwiKT8uWzBdIH19PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kZS10eXBlXCI+e3sgdHJhbnNmb3JtZWRBY3Rpdml0eU5hbWUgfX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIEFjdGl2aXR5IFR5cGUgU2VsZWN0b3IgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2VjdGlvblwiPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJzZWN0aW9uLWxhYmVsXCI+QWN0aXZpdHkgVHlwZTwvbGFiZWw+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5LXR5cGUtc2VsZWN0b3JcIj5cclxuICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICB0aXRsZT1cIlNlbGVjdCBhY3Rpdml0eSB0eXBlXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZEFjdGl2aXR5VHlwZT8udmFsdWVcIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbkFjdGl2aXR5VHlwZVNlbGVjdENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0eXBlIG9mIGFjdGl2aXR5RGlzcGxheVR5cGVzOyB0cmFja0J5OiB0cmFja0J5VmFsdWVcIlxyXG4gICAgICAgICAgICBbdmFsdWVdPVwidHlwZS52YWx1ZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IHR5cGUubGFiZWwgfX1cclxuICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uXCI+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cInNlY3Rpb24tbGFiZWxcIj5EZXNjcmlwdGlvbjwvbGFiZWw+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5LXR5cGUtc2VsZWN0b3JcIj5cclxuICAgICAgICA8dGV4dGFyZWFcclxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJwcm9wZXJ0eS1kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAoaW5wdXQpPVwib25EZXNjcmlwdGlvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJub2RlRGF0YS5zdWdnZXN0ZWRQcm9wZXJ0aWVzPy51Y2N4RGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgcm93cz1cIjNcIlxyXG4gICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gTm9kZSBJbmZvcm1hdGlvbiAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uXCI+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cInNlY3Rpb24tbGFiZWxcIj5JbmZvcm1hdGlvbjwvbGFiZWw+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWdyaWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1pdGVtXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tbGFiZWxcIj5VQ0NYIFR5cGU6PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmZvLXZhbHVlXCIgW3RpdGxlXT1cIm5vZGVEYXRhLnVjY3hUeXBlTmFtZVwiPnt7XHJcbiAgICAgICAgICAgIG5vZGVEYXRhLnVjY3hUeXBlTmFtZVxyXG4gICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8taXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmZvLWxhYmVsXCI+V3hDQyBBY3Rpdml0eSBOYW1lOjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mby12YWx1ZVwiIFt0aXRsZV09XCJ0cmFuc2Zvcm1lZEFjdGl2aXR5TmFtZVwiPnt7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybWVkQWN0aXZpdHlOYW1lXHJcbiAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIFJldmlldyBTdGF0dXMgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2VjdGlvblwiICpuZ0lmPVwibm9kZURhdGEucmV2aWV3XCI+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cInNlY3Rpb24tbGFiZWxcIj5SZXZpZXcgU3RhdHVzPC9sYWJlbD5cclxuICAgICAgPGRpdiBjbGFzcz1cInJldmlldy1zdGF0dXNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmV2aWV3LWJhZGdlXCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZ2V0UmV2aWV3Q29sb3IoKVwiPlxyXG4gICAgICAgICAge3sgZ2V0UmV2aWV3TGFiZWwoKSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwicmV2aWV3LXJlYXNvbnNcIlxyXG4gICAgICAgICAgKm5nSWY9XCJub2RlRGF0YS5yZXZpZXcucmVhc29ucyAmJiBub2RlRGF0YS5yZXZpZXcucmVhc29ucy5sZW5ndGggPiAwXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVhc29uXCIgKm5nRm9yPVwibGV0IHJlYXNvbiBvZiBub2RlRGF0YS5yZXZpZXcucmVhc29uc1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlYXNvbi1pY29uXCI+4pqgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyByZWFzb24gfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIFN1Z2dlc3RlZCBQcm9wZXJ0aWVzIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cInNlY3Rpb25cIiAqbmdJZj1cIm5vZGVEYXRhLnN1Z2dlc3RlZFByb3BlcnRpZXNcIj5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwic2VjdGlvbi1sYWJlbFwiPk1pZ3JhdGlvbiBJbmZvcm1hdGlvbjwvbGFiZWw+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtaWdyYXRpb24taW5mb1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiaW5mby1jYXJkXCJcclxuICAgICAgICAgICpuZ0lmPVwibm9kZURhdGEuc3VnZ2VzdGVkUHJvcGVydGllcy5jbG9zZXN0V3hjY0FjdGl2aXR5XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbFwiPkNsb3Nlc3QgV1hDQyBBY3Rpdml0eTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdmFsdWVcIj5cclxuICAgICAgICAgICAge3sgbm9kZURhdGEuc3VnZ2VzdGVkUHJvcGVydGllcy5jbG9zZXN0V3hjY0FjdGl2aXR5IH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImluZm8tY2FyZFwiXHJcbiAgICAgICAgICAqbmdJZj1cIm5vZGVEYXRhLnN1Z2dlc3RlZFByb3BlcnRpZXMubWFwcGluZ05vdGVzXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbFwiPk1hcHBpbmcgTm90ZXM8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXZhbHVlXCI+XHJcbiAgICAgICAgICAgIHt7IG5vZGVEYXRhLnN1Z2dlc3RlZFByb3BlcnRpZXMubWFwcGluZ05vdGVzIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImluZm8tY2FyZFwiXHJcbiAgICAgICAgICAqbmdJZj1cIm5vZGVEYXRhLnN1Z2dlc3RlZFByb3BlcnRpZXMubWlncmF0aW9uSW5zdHJ1Y3Rpb25zXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbFwiPk1pZ3JhdGlvbiBJbnN0cnVjdGlvbnM8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXZhbHVlIGluc3RydWN0aW9uc1wiPlxyXG4gICAgICAgICAgICB7eyBub2RlRGF0YS5zdWdnZXN0ZWRQcm9wZXJ0aWVzLm1pZ3JhdGlvbkluc3RydWN0aW9ucyB9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|