@fundamental-ngx/core 0.47.2-rc.0 → 0.47.2
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/action-bar/action-bar.component.mjs +2 -2
- package/esm2022/action-sheet/action-sheet.component.mjs +3 -3
- package/esm2022/avatar/avatar.component.mjs +3 -3
- package/esm2022/avatar-group/avatar-group.component.mjs +3 -3
- package/esm2022/bar/bar.component.mjs +2 -2
- package/esm2022/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/busy-indicator/busy-indicator.component.mjs +3 -3
- package/esm2022/button/button.component.mjs +3 -3
- package/esm2022/calendar/calendar.component.mjs +3 -3
- package/esm2022/card/card.component.mjs +3 -3
- package/esm2022/carousel/carousel.component.mjs +3 -3
- package/esm2022/checkbox/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/dialog/dialog.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page.component.mjs +3 -3
- package/esm2022/dynamic-side-content/dynamic-side-content.component.mjs +3 -3
- package/esm2022/facets/facet/facet.component.mjs +3 -3
- package/esm2022/feed-input/feed-input.component.mjs +2 -2
- package/esm2022/feed-list-item/components/list/feed-list.component.mjs +2 -2
- package/esm2022/file-uploader/file-uploader.component.mjs +3 -3
- package/esm2022/fixed-card-layout/fixed-card-layout.component.mjs +3 -3
- package/esm2022/flexible-column-layout/flexible-column-layout.component.mjs +3 -3
- package/esm2022/form/fieldset/fieldset.component.mjs +2 -2
- package/esm2022/form/form-control/form-control.component.mjs +3 -3
- package/esm2022/form/form-group/form-group.component.mjs +2 -2
- package/esm2022/form/form-header/form-header.component.mjs +2 -2
- package/esm2022/form/form-item/form-item.component.mjs +2 -2
- package/esm2022/form/form-label/form-label.component.mjs +3 -3
- package/esm2022/form/form-message/form-message.component.mjs +2 -2
- package/esm2022/generic-tag/generic-tag.component.mjs +3 -3
- package/esm2022/grid-list/components/grid-list/grid-list.component.mjs +2 -2
- package/esm2022/icon/icon.component.mjs +2 -2
- package/esm2022/illustrated-message/illustrated-message.component.mjs +3 -3
- package/esm2022/info-label/info-label.component.mjs +3 -3
- package/esm2022/input-group/input-group.component.mjs +3 -3
- package/esm2022/layout-grid/layout-grid.component.mjs +3 -3
- package/esm2022/layout-panel/layout-panel.component.mjs +2 -2
- package/esm2022/link/link.component.mjs +3 -3
- package/esm2022/list/list-item/list-item.component.mjs +1 -4
- package/esm2022/list/list-navigation-item/list-navigation-item.component.mjs +3 -3
- package/esm2022/list/list.component.mjs +2 -2
- package/esm2022/menu/menu.component.mjs +2 -2
- package/esm2022/message-box/message-box.component.mjs +2 -2
- package/esm2022/message-page/message-page.component.mjs +3 -3
- package/esm2022/message-strip/message-strip.component.mjs +3 -3
- package/esm2022/message-toast/message-toast.component.mjs +3 -3
- package/esm2022/micro-process-flow/components/micro-process-flow/micro-process-flow.component.mjs +3 -3
- package/esm2022/multi-combobox/multi-combobox.component.mjs +3 -3
- package/esm2022/notification/notification/notification.component.mjs +2 -2
- package/esm2022/object-attribute/object-attribute.component.mjs +3 -3
- package/esm2022/object-identifier/object-identifier.component.mjs +3 -3
- package/esm2022/object-marker/object-marker.component.mjs +3 -3
- package/esm2022/object-number/object-number.component.mjs +3 -3
- package/esm2022/object-status/object-status.component.mjs +3 -3
- package/esm2022/pagination/pagination.component.mjs +3 -3
- package/esm2022/panel/panel.component.mjs +3 -3
- package/esm2022/popover/popover-body/popover-body.component.mjs +3 -3
- package/esm2022/product-switch/product-switch-body/product-switch-body.component.mjs +3 -3
- package/esm2022/progress-indicator/progress-indicator.component.mjs +3 -3
- package/esm2022/quick-view/quick-view/quick-view.component.mjs +2 -2
- package/esm2022/radio/radio-button/radio-button.component.mjs +3 -3
- package/esm2022/rating-indicator/components/rating-indicator.component.mjs +3 -3
- package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +3 -3
- package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +2 -2
- package/esm2022/segmented-button/segmented-button.component.mjs +2 -2
- package/esm2022/select/select.component.mjs +3 -3
- package/esm2022/shellbar/shellbar.component.mjs +3 -3
- package/esm2022/side-navigation/side-navigation.component.mjs +3 -3
- package/esm2022/skeleton/components/skeleton.component.mjs +3 -3
- package/esm2022/slider/slider.component.mjs +3 -3
- package/esm2022/split-button/split-button.component.mjs +3 -3
- package/esm2022/splitter/splitter.component.mjs +2 -2
- package/esm2022/status-indicator/status-indicator.component.mjs +3 -3
- package/esm2022/step-input/step-input.component.mjs +3 -3
- package/esm2022/switch/switch.component.mjs +3 -3
- package/esm2022/table/table-wrapper.component.mjs +2 -2
- package/esm2022/table/table.component.mjs +2 -2
- package/esm2022/tabs/tab-list.component.mjs +3 -3
- package/esm2022/tabs/tab-nav/tab-nav.component.mjs +2 -2
- package/esm2022/text/text.component.mjs +3 -3
- package/esm2022/tile/tile.component.mjs +3 -3
- package/esm2022/time/time.component.mjs +3 -3
- package/esm2022/title/title.component.mjs +2 -2
- package/esm2022/token/token.component.mjs +3 -3
- package/esm2022/token/tokenizer.component.mjs +3 -3
- package/esm2022/toolbar/toolbar.component.mjs +3 -3
- package/esm2022/tree/tree.component.mjs +3 -3
- package/esm2022/upload-collection/upload-collection.component.mjs +3 -3
- package/esm2022/vertical-navigation/vertical-navigation-main-navigation.component.mjs +3 -3
- package/esm2022/vertical-navigation/vertical-navigation.component.mjs +3 -3
- package/esm2022/wizard/wizard.component.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-action-bar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-action-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-bar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-button.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-calendar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-card.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-carousel.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-checkbox.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-facets.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-input.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs +14 -14
- package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-generic-tag.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-generic-tag.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-grid-list.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-icon.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-info-label.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-input-group.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-grid.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-link.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs +4 -7
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-box.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-page.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-message-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-toast.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-message-toast.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-attribute.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-object-attribute.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-identifier.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-object-identifier.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-marker.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-object-marker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-number.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-pagination.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-panel.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-product-switch.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-quick-view.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-radio.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-side-navigation.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-side-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-skeleton.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-slider.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-split-button.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-splitter.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-splitter.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-step-input.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-switch.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-text.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tile.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-title.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/fundamental-ngx-core-v0.47.2.tgz +0 -0
- package/package.json +5 -5
- package/schematics/add-dependencies/index.js +8 -8
- package/fundamental-ngx-core-v0.47.2-rc.0.tgz +0 -0
|
@@ -230,7 +230,7 @@ export class StatusIndicatorComponent {
|
|
|
230
230
|
return points;
|
|
231
231
|
}
|
|
232
232
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: StatusIndicatorComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
233
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: StatusIndicatorComponent, isStandalone: true, selector: "fd-status-indicator", inputs: { id: "id", size: "size", status: "status", statusLabel: "statusLabel", viewBox: "viewBox", clickable: "clickable", labelSize: "labelSize", ariaLabel: "ariaLabel", ariaRoleDescription: "ariaRoleDescription", focusable: "focusable", role: "role", ariaValueText: "ariaValueText", title: "title", labelPosition: "labelPosition", path: "path", fillPercentage: "fillPercentage", fillDirection: "fillDirection", fillingType: "fillingType", angle: "angle" }, host: { properties: { "attr.aria-label": "ariaLabel", "attr.aria-roledescription": "ariaRoleDescription", "attr.focusable": "focusable", "attr.title": "title", "attr.role": "role", "attr.aria-valuetext": "ariaValueText", "attr.aria-valuenow": "fillPercentage ? fillPercentage : 0", "attr.aria-valuemin": "0", "attr.aria-valuemax": "100", "attr.tabindex": "focusable ? 0 : -1" } }, usesOnChanges: true, ngImport: i0, template: "<span\n *ngIf=\"labelPosition === 'left' || labelPosition === 'top'\"\n [class.fd-status-indicator__label--sm]=\"labelSize === 'sm'\"\n [class.fd-status-indicator__label--md]=\"labelSize === 'md'\"\n [class.fd-status-indicator__label--lg]=\"labelSize === 'lg'\"\n [class.fd-status-indicator__label--xl]=\"labelSize === 'xl'\"\n [class.fd-status-indicator__label--top]=\"labelPosition === 'top'\"\n [class.fd-status-indicator__label--left]=\"labelPosition === 'left'\"\n class=\"fd-status-indicator__label\"\n >{{ statusLabel }}\n</span>\n<svg\n [attr.id]=\"id\"\n data-sap-ui=\"__shape0-__box21-24\"\n version=\"1.1\"\n [attr.viewBox]=\"viewBox\"\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n class=\"fd-status-indicator__svg\"\n>\n <ng-container [ngTemplateOutlet]=\"svgTemplate\"></ng-container>\n</svg>\n<span\n *ngIf=\"labelPosition === 'right' || labelPosition === 'bottom'\"\n [class.fd-status-indicator__label--sm]=\"labelSize === 'sm'\"\n [class.fd-status-indicator__label--md]=\"labelSize === 'md'\"\n [class.fd-status-indicator__label--lg]=\"labelSize === 'lg'\"\n [class.fd-status-indicator__label--xl]=\"labelSize === 'xl'\"\n [class.fd-status-indicator__label--right]=\"labelPosition === 'right'\"\n [class.fd-status-indicator__label--bottom]=\"labelPosition === 'bottom'\"\n class=\"fd-status-indicator__label\"\n >{{ statusLabel }}\n</span>\n\n<ng-template #svgTemplate>\n <svg\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n overflow=\"visible\"\n [attr.id]=\"id + i\"\n data-sap-ui=\"id\"\n *ngFor=\"let path of path; let i = index\"\n >\n <defs>\n <linearGradient\n *ngIf=\"!(fillCalculator - i > 0 && fillCalculator - i < 1) || fillingType !== 'radial'\"\n id=\"{{ id + i }}-gradient\"\n [attr.x1]=\"x1\"\n [attr.y1]=\"y1\"\n [attr.x2]=\"x2\"\n [attr.y2]=\"y2\"\n >\n <stop [attr.offset]=\"fillCalculator - i\" stop-color=\"white\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n <stop [attr.offset]=\"fillCalculator - i\" stop-color=\"transparent\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n </linearGradient>\n <mask #maskTemplate id=\"{{ id + i }}-mask\">\n <path\n *ngIf=\"!(fillCalculator - i > 0 && fillCalculator - i < 1) || fillingType !== 'radial'\"\n id=\"{{ id + i }}-mask-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"white\"\n attr.fill=\"url(#{{ id + i }}-gradient)\"\n ></path>\n <polygon\n *ngIf=\"fillingType === 'radial' && fillCalculator - i > 0 && fillCalculator - i < 1\"\n id=\"{{ id + i }}-mask-shape\"\n fill=\"white\"\n [attr.points]=\"pointsArray[i]\"\n ></polygon>\n </mask>\n </defs>\n <path\n id=\"{{ id + i }}-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"#89919A\"\n attr.mask=\"url(#{{ id + i }}-mask)\"\n ></path>\n <path\n id=\"{{ id + i }}-shape-border\"\n [attr.d]=\"path\"\n stroke-width=\"0.25\"\n stroke=\"#89919A\"\n fill=\"transparent\"\n ></path>\n </svg>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0-rc.7\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-status-indicator{stroke:var(--sapNeutralElementColor);stroke-width:.25;fill:transparent;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapContent_LabelColor);color:var(--sapTextColor);display:inline-flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-status-indicator.is-focus,.fd-status-indicator:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--sapContent_FocusWidth);z-index:5}.fd-status-indicator:after,.fd-status-indicator:before{box-sizing:inherit;font-size:inherit}.fd-status-indicator--horizontal-label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-status-indicator--horizontal-label:after,.fd-status-indicator--horizontal-label:before{box-sizing:inherit;font-size:inherit}.fd-status-indicator--link{cursor:pointer}.fd-status-indicator__label,.fd-status-indicator__label--sm{font-size:var(--sapFontSmallSize, .75rem)}.fd-status-indicator__label--sm.fd-status-indicator__label--top{margin-bottom:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--right{margin-left:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--sm.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:.375rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--sm.fd-status-indicator__label--left{margin-right:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--sm.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:.375rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--sm.fd-status-indicator__label--bottom{margin-top:.375rem}.fd-status-indicator__label--md{font-size:var(--sapFontSize, .875rem)}.fd-status-indicator__label--md.fd-status-indicator__label--top{margin-bottom:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--right{margin-left:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--md.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:.5rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--md.fd-status-indicator__label--left{margin-right:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--md.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:.5rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--md.fd-status-indicator__label--bottom{margin-top:.5rem}.fd-status-indicator__label--lg{font-size:1.125rem}.fd-status-indicator__label--lg.fd-status-indicator__label--top{margin-bottom:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--right{margin-left:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--lg.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:.75rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--lg.fd-status-indicator__label--left{margin-right:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--lg.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:.75rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--lg.fd-status-indicator__label--bottom{margin-top:.75rem}.fd-status-indicator__label--xl{font-size:1.875rem}.fd-status-indicator__label--xl.fd-status-indicator__label--top{margin-bottom:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--right{margin-left:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--xl.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:1rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--xl.fd-status-indicator__label--left{margin-right:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--xl.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:1rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--xl.fd-status-indicator__label--bottom{margin-top:1rem}.fd-status-indicator--positive{fill:var(--sapPositiveElementColor);color:var(--sapPositiveElementColor)}.fd-status-indicator--critical{fill:var(--sapCriticalElementColor);color:var(--sapCriticalElementColor)}.fd-status-indicator--negative{fill:var(--sapNegativeElementColor);color:var(--sapNegativeElementColor)}.fd-status-indicator--sm .fd-status-indicator__svg{height:1.375rem;width:1.875rem}.fd-status-indicator--md .fd-status-indicator__svg{height:1.875rem;width:2.8125rem}.fd-status-indicator--lg .fd-status-indicator__svg{height:3.4375rem;width:5rem}.fd-status-indicator--xl .fd-status-indicator__svg{height:6.25rem;width:9.0625rem}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
233
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: StatusIndicatorComponent, isStandalone: true, selector: "fd-status-indicator", inputs: { id: "id", size: "size", status: "status", statusLabel: "statusLabel", viewBox: "viewBox", clickable: "clickable", labelSize: "labelSize", ariaLabel: "ariaLabel", ariaRoleDescription: "ariaRoleDescription", focusable: "focusable", role: "role", ariaValueText: "ariaValueText", title: "title", labelPosition: "labelPosition", path: "path", fillPercentage: "fillPercentage", fillDirection: "fillDirection", fillingType: "fillingType", angle: "angle" }, host: { properties: { "attr.aria-label": "ariaLabel", "attr.aria-roledescription": "ariaRoleDescription", "attr.focusable": "focusable", "attr.title": "title", "attr.role": "role", "attr.aria-valuetext": "ariaValueText", "attr.aria-valuenow": "fillPercentage ? fillPercentage : 0", "attr.aria-valuemin": "0", "attr.aria-valuemax": "100", "attr.tabindex": "focusable ? 0 : -1" } }, usesOnChanges: true, ngImport: i0, template: "<span\n *ngIf=\"labelPosition === 'left' || labelPosition === 'top'\"\n [class.fd-status-indicator__label--sm]=\"labelSize === 'sm'\"\n [class.fd-status-indicator__label--md]=\"labelSize === 'md'\"\n [class.fd-status-indicator__label--lg]=\"labelSize === 'lg'\"\n [class.fd-status-indicator__label--xl]=\"labelSize === 'xl'\"\n [class.fd-status-indicator__label--top]=\"labelPosition === 'top'\"\n [class.fd-status-indicator__label--left]=\"labelPosition === 'left'\"\n class=\"fd-status-indicator__label\"\n >{{ statusLabel }}\n</span>\n<svg\n [attr.id]=\"id\"\n data-sap-ui=\"__shape0-__box21-24\"\n version=\"1.1\"\n [attr.viewBox]=\"viewBox\"\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n class=\"fd-status-indicator__svg\"\n>\n <ng-container [ngTemplateOutlet]=\"svgTemplate\"></ng-container>\n</svg>\n<span\n *ngIf=\"labelPosition === 'right' || labelPosition === 'bottom'\"\n [class.fd-status-indicator__label--sm]=\"labelSize === 'sm'\"\n [class.fd-status-indicator__label--md]=\"labelSize === 'md'\"\n [class.fd-status-indicator__label--lg]=\"labelSize === 'lg'\"\n [class.fd-status-indicator__label--xl]=\"labelSize === 'xl'\"\n [class.fd-status-indicator__label--right]=\"labelPosition === 'right'\"\n [class.fd-status-indicator__label--bottom]=\"labelPosition === 'bottom'\"\n class=\"fd-status-indicator__label\"\n >{{ statusLabel }}\n</span>\n\n<ng-template #svgTemplate>\n <svg\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n overflow=\"visible\"\n [attr.id]=\"id + i\"\n data-sap-ui=\"id\"\n *ngFor=\"let path of path; let i = index\"\n >\n <defs>\n <linearGradient\n *ngIf=\"!(fillCalculator - i > 0 && fillCalculator - i < 1) || fillingType !== 'radial'\"\n id=\"{{ id + i }}-gradient\"\n [attr.x1]=\"x1\"\n [attr.y1]=\"y1\"\n [attr.x2]=\"x2\"\n [attr.y2]=\"y2\"\n >\n <stop [attr.offset]=\"fillCalculator - i\" stop-color=\"white\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n <stop [attr.offset]=\"fillCalculator - i\" stop-color=\"transparent\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n </linearGradient>\n <mask #maskTemplate id=\"{{ id + i }}-mask\">\n <path\n *ngIf=\"!(fillCalculator - i > 0 && fillCalculator - i < 1) || fillingType !== 'radial'\"\n id=\"{{ id + i }}-mask-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"white\"\n attr.fill=\"url(#{{ id + i }}-gradient)\"\n ></path>\n <polygon\n *ngIf=\"fillingType === 'radial' && fillCalculator - i > 0 && fillCalculator - i < 1\"\n id=\"{{ id + i }}-mask-shape\"\n fill=\"white\"\n [attr.points]=\"pointsArray[i]\"\n ></polygon>\n </mask>\n </defs>\n <path\n id=\"{{ id + i }}-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"#89919A\"\n attr.mask=\"url(#{{ id + i }}-mask)\"\n ></path>\n <path\n id=\"{{ id + i }}-shape-border\"\n [attr.d]=\"path\"\n stroke-width=\"0.25\"\n stroke=\"#89919A\"\n fill=\"transparent\"\n ></path>\n </svg>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-status-indicator{stroke:var(--sapNeutralElementColor);stroke-width:.25;fill:transparent;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapContent_LabelColor);color:var(--sapTextColor);display:inline-flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-status-indicator.is-focus,.fd-status-indicator:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--sapContent_FocusWidth);z-index:5}.fd-status-indicator:after,.fd-status-indicator:before{box-sizing:inherit;font-size:inherit}.fd-status-indicator--horizontal-label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-status-indicator--horizontal-label:after,.fd-status-indicator--horizontal-label:before{box-sizing:inherit;font-size:inherit}.fd-status-indicator--link{cursor:pointer}.fd-status-indicator__label,.fd-status-indicator__label--sm{font-size:var(--sapFontSmallSize, .75rem)}.fd-status-indicator__label--sm.fd-status-indicator__label--top{margin-bottom:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--right{margin-left:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--sm.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:.375rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--sm.fd-status-indicator__label--left{margin-right:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--sm.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:.375rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--sm.fd-status-indicator__label--bottom{margin-top:.375rem}.fd-status-indicator__label--md{font-size:var(--sapFontSize, .875rem)}.fd-status-indicator__label--md.fd-status-indicator__label--top{margin-bottom:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--right{margin-left:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--md.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:.5rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--md.fd-status-indicator__label--left{margin-right:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--md.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:.5rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--md.fd-status-indicator__label--bottom{margin-top:.5rem}.fd-status-indicator__label--lg{font-size:1.125rem}.fd-status-indicator__label--lg.fd-status-indicator__label--top{margin-bottom:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--right{margin-left:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--lg.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:.75rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--lg.fd-status-indicator__label--left{margin-right:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--lg.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:.75rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--lg.fd-status-indicator__label--bottom{margin-top:.75rem}.fd-status-indicator__label--xl{font-size:1.875rem}.fd-status-indicator__label--xl.fd-status-indicator__label--top{margin-bottom:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--right{margin-left:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--xl.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:1rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--xl.fd-status-indicator__label--left{margin-right:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--xl.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:1rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--xl.fd-status-indicator__label--bottom{margin-top:1rem}.fd-status-indicator--positive{fill:var(--sapPositiveElementColor);color:var(--sapPositiveElementColor)}.fd-status-indicator--critical{fill:var(--sapCriticalElementColor);color:var(--sapCriticalElementColor)}.fd-status-indicator--negative{fill:var(--sapNegativeElementColor);color:var(--sapNegativeElementColor)}.fd-status-indicator--sm .fd-status-indicator__svg{height:1.375rem;width:1.875rem}.fd-status-indicator--md .fd-status-indicator__svg{height:1.875rem;width:2.8125rem}.fd-status-indicator--lg .fd-status-indicator__svg{height:3.4375rem;width:5rem}.fd-status-indicator--xl .fd-status-indicator__svg{height:6.25rem;width:9.0625rem}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
234
234
|
}
|
|
235
235
|
__decorate([
|
|
236
236
|
applyCssClass,
|
|
@@ -251,7 +251,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
251
251
|
'[attr.aria-valuemin]': '0',
|
|
252
252
|
'[attr.aria-valuemax]': '100',
|
|
253
253
|
'[attr.tabindex]': 'focusable ? 0 : -1'
|
|
254
|
-
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgTemplateOutlet, NgFor], template: "<span\n *ngIf=\"labelPosition === 'left' || labelPosition === 'top'\"\n [class.fd-status-indicator__label--sm]=\"labelSize === 'sm'\"\n [class.fd-status-indicator__label--md]=\"labelSize === 'md'\"\n [class.fd-status-indicator__label--lg]=\"labelSize === 'lg'\"\n [class.fd-status-indicator__label--xl]=\"labelSize === 'xl'\"\n [class.fd-status-indicator__label--top]=\"labelPosition === 'top'\"\n [class.fd-status-indicator__label--left]=\"labelPosition === 'left'\"\n class=\"fd-status-indicator__label\"\n >{{ statusLabel }}\n</span>\n<svg\n [attr.id]=\"id\"\n data-sap-ui=\"__shape0-__box21-24\"\n version=\"1.1\"\n [attr.viewBox]=\"viewBox\"\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n class=\"fd-status-indicator__svg\"\n>\n <ng-container [ngTemplateOutlet]=\"svgTemplate\"></ng-container>\n</svg>\n<span\n *ngIf=\"labelPosition === 'right' || labelPosition === 'bottom'\"\n [class.fd-status-indicator__label--sm]=\"labelSize === 'sm'\"\n [class.fd-status-indicator__label--md]=\"labelSize === 'md'\"\n [class.fd-status-indicator__label--lg]=\"labelSize === 'lg'\"\n [class.fd-status-indicator__label--xl]=\"labelSize === 'xl'\"\n [class.fd-status-indicator__label--right]=\"labelPosition === 'right'\"\n [class.fd-status-indicator__label--bottom]=\"labelPosition === 'bottom'\"\n class=\"fd-status-indicator__label\"\n >{{ statusLabel }}\n</span>\n\n<ng-template #svgTemplate>\n <svg\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n overflow=\"visible\"\n [attr.id]=\"id + i\"\n data-sap-ui=\"id\"\n *ngFor=\"let path of path; let i = index\"\n >\n <defs>\n <linearGradient\n *ngIf=\"!(fillCalculator - i > 0 && fillCalculator - i < 1) || fillingType !== 'radial'\"\n id=\"{{ id + i }}-gradient\"\n [attr.x1]=\"x1\"\n [attr.y1]=\"y1\"\n [attr.x2]=\"x2\"\n [attr.y2]=\"y2\"\n >\n <stop [attr.offset]=\"fillCalculator - i\" stop-color=\"white\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n <stop [attr.offset]=\"fillCalculator - i\" stop-color=\"transparent\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n </linearGradient>\n <mask #maskTemplate id=\"{{ id + i }}-mask\">\n <path\n *ngIf=\"!(fillCalculator - i > 0 && fillCalculator - i < 1) || fillingType !== 'radial'\"\n id=\"{{ id + i }}-mask-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"white\"\n attr.fill=\"url(#{{ id + i }}-gradient)\"\n ></path>\n <polygon\n *ngIf=\"fillingType === 'radial' && fillCalculator - i > 0 && fillCalculator - i < 1\"\n id=\"{{ id + i }}-mask-shape\"\n fill=\"white\"\n [attr.points]=\"pointsArray[i]\"\n ></polygon>\n </mask>\n </defs>\n <path\n id=\"{{ id + i }}-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"#89919A\"\n attr.mask=\"url(#{{ id + i }}-mask)\"\n ></path>\n <path\n id=\"{{ id + i }}-shape-border\"\n [attr.d]=\"path\"\n stroke-width=\"0.25\"\n stroke=\"#89919A\"\n fill=\"transparent\"\n ></path>\n </svg>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0-rc.7\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-status-indicator{stroke:var(--sapNeutralElementColor);stroke-width:.25;fill:transparent;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapContent_LabelColor);color:var(--sapTextColor);display:inline-flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-status-indicator.is-focus,.fd-status-indicator:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--sapContent_FocusWidth);z-index:5}.fd-status-indicator:after,.fd-status-indicator:before{box-sizing:inherit;font-size:inherit}.fd-status-indicator--horizontal-label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-status-indicator--horizontal-label:after,.fd-status-indicator--horizontal-label:before{box-sizing:inherit;font-size:inherit}.fd-status-indicator--link{cursor:pointer}.fd-status-indicator__label,.fd-status-indicator__label--sm{font-size:var(--sapFontSmallSize, .75rem)}.fd-status-indicator__label--sm.fd-status-indicator__label--top{margin-bottom:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--right{margin-left:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--sm.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:.375rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--sm.fd-status-indicator__label--left{margin-right:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--sm.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:.375rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--sm.fd-status-indicator__label--bottom{margin-top:.375rem}.fd-status-indicator__label--md{font-size:var(--sapFontSize, .875rem)}.fd-status-indicator__label--md.fd-status-indicator__label--top{margin-bottom:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--right{margin-left:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--md.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:.5rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--md.fd-status-indicator__label--left{margin-right:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--md.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:.5rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--md.fd-status-indicator__label--bottom{margin-top:.5rem}.fd-status-indicator__label--lg{font-size:1.125rem}.fd-status-indicator__label--lg.fd-status-indicator__label--top{margin-bottom:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--right{margin-left:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--lg.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:.75rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--lg.fd-status-indicator__label--left{margin-right:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--lg.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:.75rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--lg.fd-status-indicator__label--bottom{margin-top:.75rem}.fd-status-indicator__label--xl{font-size:1.875rem}.fd-status-indicator__label--xl.fd-status-indicator__label--top{margin-bottom:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--right{margin-left:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--xl.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:1rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--xl.fd-status-indicator__label--left{margin-right:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--xl.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:1rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--xl.fd-status-indicator__label--bottom{margin-top:1rem}.fd-status-indicator--positive{fill:var(--sapPositiveElementColor);color:var(--sapPositiveElementColor)}.fd-status-indicator--critical{fill:var(--sapCriticalElementColor);color:var(--sapCriticalElementColor)}.fd-status-indicator--negative{fill:var(--sapNegativeElementColor);color:var(--sapNegativeElementColor)}.fd-status-indicator--sm .fd-status-indicator__svg{height:1.375rem;width:1.875rem}.fd-status-indicator--md .fd-status-indicator__svg{height:1.875rem;width:2.8125rem}.fd-status-indicator--lg .fd-status-indicator__svg{height:3.4375rem;width:5rem}.fd-status-indicator--xl .fd-status-indicator__svg{height:6.25rem;width:9.0625rem}\n"] }]
|
|
254
|
+
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgTemplateOutlet, NgFor], template: "<span\n *ngIf=\"labelPosition === 'left' || labelPosition === 'top'\"\n [class.fd-status-indicator__label--sm]=\"labelSize === 'sm'\"\n [class.fd-status-indicator__label--md]=\"labelSize === 'md'\"\n [class.fd-status-indicator__label--lg]=\"labelSize === 'lg'\"\n [class.fd-status-indicator__label--xl]=\"labelSize === 'xl'\"\n [class.fd-status-indicator__label--top]=\"labelPosition === 'top'\"\n [class.fd-status-indicator__label--left]=\"labelPosition === 'left'\"\n class=\"fd-status-indicator__label\"\n >{{ statusLabel }}\n</span>\n<svg\n [attr.id]=\"id\"\n data-sap-ui=\"__shape0-__box21-24\"\n version=\"1.1\"\n [attr.viewBox]=\"viewBox\"\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n class=\"fd-status-indicator__svg\"\n>\n <ng-container [ngTemplateOutlet]=\"svgTemplate\"></ng-container>\n</svg>\n<span\n *ngIf=\"labelPosition === 'right' || labelPosition === 'bottom'\"\n [class.fd-status-indicator__label--sm]=\"labelSize === 'sm'\"\n [class.fd-status-indicator__label--md]=\"labelSize === 'md'\"\n [class.fd-status-indicator__label--lg]=\"labelSize === 'lg'\"\n [class.fd-status-indicator__label--xl]=\"labelSize === 'xl'\"\n [class.fd-status-indicator__label--right]=\"labelPosition === 'right'\"\n [class.fd-status-indicator__label--bottom]=\"labelPosition === 'bottom'\"\n class=\"fd-status-indicator__label\"\n >{{ statusLabel }}\n</span>\n\n<ng-template #svgTemplate>\n <svg\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n overflow=\"visible\"\n [attr.id]=\"id + i\"\n data-sap-ui=\"id\"\n *ngFor=\"let path of path; let i = index\"\n >\n <defs>\n <linearGradient\n *ngIf=\"!(fillCalculator - i > 0 && fillCalculator - i < 1) || fillingType !== 'radial'\"\n id=\"{{ id + i }}-gradient\"\n [attr.x1]=\"x1\"\n [attr.y1]=\"y1\"\n [attr.x2]=\"x2\"\n [attr.y2]=\"y2\"\n >\n <stop [attr.offset]=\"fillCalculator - i\" stop-color=\"white\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n <stop [attr.offset]=\"fillCalculator - i\" stop-color=\"transparent\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n </linearGradient>\n <mask #maskTemplate id=\"{{ id + i }}-mask\">\n <path\n *ngIf=\"!(fillCalculator - i > 0 && fillCalculator - i < 1) || fillingType !== 'radial'\"\n id=\"{{ id + i }}-mask-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"white\"\n attr.fill=\"url(#{{ id + i }}-gradient)\"\n ></path>\n <polygon\n *ngIf=\"fillingType === 'radial' && fillCalculator - i > 0 && fillCalculator - i < 1\"\n id=\"{{ id + i }}-mask-shape\"\n fill=\"white\"\n [attr.points]=\"pointsArray[i]\"\n ></polygon>\n </mask>\n </defs>\n <path\n id=\"{{ id + i }}-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"#89919A\"\n attr.mask=\"url(#{{ id + i }}-mask)\"\n ></path>\n <path\n id=\"{{ id + i }}-shape-border\"\n [attr.d]=\"path\"\n stroke-width=\"0.25\"\n stroke=\"#89919A\"\n fill=\"transparent\"\n ></path>\n </svg>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-status-indicator{stroke:var(--sapNeutralElementColor);stroke-width:.25;fill:transparent;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapContent_LabelColor);color:var(--sapTextColor);display:inline-flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-status-indicator.is-focus,.fd-status-indicator:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--sapContent_FocusWidth);z-index:5}.fd-status-indicator:after,.fd-status-indicator:before{box-sizing:inherit;font-size:inherit}.fd-status-indicator--horizontal-label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-status-indicator--horizontal-label:after,.fd-status-indicator--horizontal-label:before{box-sizing:inherit;font-size:inherit}.fd-status-indicator--link{cursor:pointer}.fd-status-indicator__label,.fd-status-indicator__label--sm{font-size:var(--sapFontSmallSize, .75rem)}.fd-status-indicator__label--sm.fd-status-indicator__label--top{margin-bottom:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--right{margin-left:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--sm.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:.375rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--sm.fd-status-indicator__label--left{margin-right:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--sm.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:.375rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--sm.fd-status-indicator__label--bottom{margin-top:.375rem}.fd-status-indicator__label--md{font-size:var(--sapFontSize, .875rem)}.fd-status-indicator__label--md.fd-status-indicator__label--top{margin-bottom:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--right{margin-left:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--md.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:.5rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--md.fd-status-indicator__label--left{margin-right:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--md.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:.5rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--md.fd-status-indicator__label--bottom{margin-top:.5rem}.fd-status-indicator__label--lg{font-size:1.125rem}.fd-status-indicator__label--lg.fd-status-indicator__label--top{margin-bottom:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--right{margin-left:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--lg.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:.75rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--lg.fd-status-indicator__label--left{margin-right:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--lg.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:.75rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--lg.fd-status-indicator__label--bottom{margin-top:.75rem}.fd-status-indicator__label--xl{font-size:1.875rem}.fd-status-indicator__label--xl.fd-status-indicator__label--top{margin-bottom:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--right{margin-left:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--xl.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);margin-left:0;margin-right:1rem;transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--xl.fd-status-indicator__label--left{margin-right:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--xl.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);margin-left:1rem;margin-right:0;transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--xl.fd-status-indicator__label--bottom{margin-top:1rem}.fd-status-indicator--positive{fill:var(--sapPositiveElementColor);color:var(--sapPositiveElementColor)}.fd-status-indicator--critical{fill:var(--sapCriticalElementColor);color:var(--sapCriticalElementColor)}.fd-status-indicator--negative{fill:var(--sapNegativeElementColor);color:var(--sapNegativeElementColor)}.fd-status-indicator--sm .fd-status-indicator__svg{height:1.375rem;width:1.875rem}.fd-status-indicator--md .fd-status-indicator__svg{height:1.875rem;width:2.8125rem}.fd-status-indicator--lg .fd-status-indicator__svg{height:3.4375rem;width:5rem}.fd-status-indicator--xl .fd-status-indicator__svg{height:6.25rem;width:9.0625rem}\n"] }]
|
|
255
255
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
|
|
256
256
|
type: Input
|
|
257
257
|
}], size: [{
|
|
@@ -291,4 +291,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
291
291
|
}], angle: [{
|
|
292
292
|
type: Input
|
|
293
293
|
}], buildComponentCssClass: [] } });
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zdGF0dXMtaW5kaWNhdG9yL3N0YXR1cy1pbmRpY2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3RhdHVzLWluZGljYXRvci9zdGF0dXMtaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTZCLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVF0RixNQUFNLE9BQU8sS0FBSztJQUNkLGNBQWM7SUFDZCxZQUFtQixDQUFTLEVBQVMsQ0FBUztRQUEzQixNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQVMsTUFBQyxHQUFELENBQUMsQ0FBUTtJQUFHLENBQUM7Q0FDckQ7QUF1QkQsTUFBTSxPQUFPLHdCQUF3QjtJQTBGakMsY0FBYztJQUNkLElBQUksY0FBYyxDQUFDLFNBQTJCO1FBQzFDLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQTJCRCxjQUFjO0lBQ2QsWUFBNEIsVUFBbUMsRUFBVSxHQUFzQjtRQUFuRSxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBckgvRjs7OztXQUlHO1FBRUgsU0FBSSxHQUF3QixJQUFJLENBQUM7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QXFCO3dCQUNwRCxrQkFBa0IsRUFBRSxXQUFXO3dCQUMvQixjQUFjLEVBQUUsT0FBTzt3QkFDdkIsYUFBYSxFQUFFLE1BQU07d0JBQ3JCLHVCQUF1QixFQUFFLGVBQWU7d0JBQ3hDLHNCQUFzQixFQUFFLHFDQUFxQzt3QkFDN0Qsc0JBQXNCLEVBQUUsR0FBRzt3QkFDM0Isc0JBQXNCLEVBQUUsS0FBSzt3QkFDN0IsaUJBQWlCLEVBQUUsb0JBQW9CO3FCQUMxQyxpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUM7aUlBT3hDLEVBQUU7c0JBREQsS0FBSztnQkFTTixJQUFJO3NCQURILEtBQUs7Z0JBU04sTUFBTTtzQkFETCxLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFPTixPQUFPO3NCQUROLEtBQUs7Z0JBT04sU0FBUztzQkFEUixLQUFLO2dCQVFOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sbUJBQW1CO3NCQURsQixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixJQUFJO3NCQURILEtBQUs7Z0JBS04sYUFBYTtzQkFEWixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixhQUFhO3NCQURaLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQU9OLGNBQWM7c0JBRGIsS0FBSztnQkFPTixhQUFhO3NCQURaLEtBQUs7Z0JBZU4sV0FBVztzQkFEVixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkErQ04sc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDc3NDbGFzc0J1aWxkZXIsIE51bGxhYmxlLCBhcHBseUNzc0NsYXNzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBTdGF0dXNJbmRpY2F0b3JTaXplID0gJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJztcbmV4cG9ydCB0eXBlIFN0YXR1c0luZGljYXRvckNvbG9yID0gJ25lZ2F0aXZlJyB8ICdjcml0aWNhbCcgfCAncG9zaXRpdmUnO1xuZXhwb3J0IHR5cGUgTGFibGVQb3NpdGlvbiA9ICdsZWZ0JyB8ICdyaWdodCcgfCAndG9wJyB8ICdib3R0b20nO1xuZXhwb3J0IHR5cGUgRmlsbGluZ1R5cGUgPSAncmFkaWFsJyB8ICdhbmdsZWQnIHwgJ2xpbmVhcnVwJyB8ICdsaW5lYXJkb3duJyB8ICdsaW5lYXJsZWZ0JztcbmV4cG9ydCB0eXBlIEZpbGxpbmdEaXJlY3Rpb24gPSAnY2xvY2t3aXNlJyB8ICdjb3VudGVyY2xvY2t3aXNlJztcblxuZXhwb3J0IGNsYXNzIFBvaW50IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB4OiBudW1iZXIsIHB1YmxpYyB5OiBudW1iZXIpIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtc3RhdHVzLWluZGljYXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0YXR1cy1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0YXR1cy1pbmRpY2F0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdhcmlhTGFiZWwnLFxuICAgICAgICAnW2F0dHIuYXJpYS1yb2xlZGVzY3JpcHRpb25dJzogJ2FyaWFSb2xlRGVzY3JpcHRpb24nLFxuICAgICAgICAnW2F0dHIuZm9jdXNhYmxlXSc6ICdmb2N1c2FibGUnLFxuICAgICAgICAnW2F0dHIudGl0bGVdJzogJ3RpdGxlJyxcbiAgICAgICAgJ1thdHRyLnJvbGVdJzogJ3JvbGUnLFxuICAgICAgICAnW2F0dHIuYXJpYS12YWx1ZXRleHRdJzogJ2FyaWFWYWx1ZVRleHQnLFxuICAgICAgICAnW2F0dHIuYXJpYS12YWx1ZW5vd10nOiAnZmlsbFBlcmNlbnRhZ2UgPyBmaWxsUGVyY2VudGFnZSA6IDAnLFxuICAgICAgICAnW2F0dHIuYXJpYS12YWx1ZW1pbl0nOiAnMCcsXG4gICAgICAgICdbYXR0ci5hcmlhLXZhbHVlbWF4XSc6ICcxMDAnLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ2ZvY3VzYWJsZSA/IDAgOiAtMSdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgTmdGb3JdXG59KVxuZXhwb3J0IGNsYXNzIFN0YXR1c0luZGljYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgQ3NzQ2xhc3NCdWlsZGVyLCBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIHZhbHVlIGlkIGRlZmluZXMgdGhlIGlkIG9mIHRoZSBvYmplY3QuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogZGVmaW5lcyB0aGUgc2l6ZSBvZiB0aGUgc3RhdHVzIGluZGljYXRvci5cbiAgICAgKiBDYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCdcbiAgICAgKiBEZWZhdWx0IHNpemUgaXMgTWVkaXVtKG1kKS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNpemU6IFN0YXR1c0luZGljYXRvclNpemUgPSAnbWQnO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHN0YXR1cyByZXByZXNlbnRlZCBieSB0aGUgU3RhdHVzIEluZGljYXRvci5cbiAgICAgKiBDYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6ICduZWdhdGl2ZScgfCAnY3JpdGljYWwnIHwgJ2luZm9ybWF0aXZlJ1xuICAgICAqIEZvciBkZWZhdWx0IE9iamVjdCBTdGF0dXMgb21pdCB0aGlzIHByb3BlcnR5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGF0dXM6IFN0YXR1c0luZGljYXRvckNvbG9yO1xuXG4gICAgLyoqIERlZmluZSB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSBTdGF0dXMgaW5kaWNhdG9yKi9cbiAgICBASW5wdXQoKVxuICAgIHN0YXR1c0xhYmVsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBwb3NpdGlvbmluZyBvZiB0aGUgc3RhdHVzIGluZGljYXRvciBpbWFnZSB3aXRoaW5nIHRoZSBkZWZpbmVkIGhlaWdodCBhbmQgd2lkdGggLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmlld0JveDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogYm9vbGVhbiB2YWx1ZSB0byBiZSBtYXJrZWQgYXMgYSBjbGlja2FibGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsaWNrYWJsZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIGRlZmluZXMgdGhlIHNpemUgb2YgdGhlIHN0YXR1cyBpbmRpY2F0b3IuXG4gICAgICogQ2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nOiAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBsYWJlbFNpemU6IFN0YXR1c0luZGljYXRvclNpemUgPSAnc20nO1xuXG4gICAgLyoqIEFyaWEgbGFiZWwgZm9yIHRoZSBTdGF0dXMgSW5kaWNhdG9yLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEFyaWEgZGVmaW5lcyByb2xlIGRlc2NyaXB0aW9uIGZvciB0aGUgU3RhdHVzIEluZGljYXRvci4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFSb2xlRGVzY3JpcHRpb246IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogQXJpYSBGb2N1c2FibGUgZm9yIHRoZSBTdGF0dXMgSW5kaWNhdG9yLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZm9jdXNhYmxlOiBib29sZWFuO1xuXG4gICAgLyoqIEFyaWEgUm9sZSBmb3IgdGhlIFN0YXR1cyBJbmRpY2F0b3IuICovXG4gICAgQElucHV0KClcbiAgICByb2xlOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEFyaWEgVmFsdWUgVGV4dCBmb3IgdGhlIFN0YXR1cyBJbmRpY2F0b3IuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhVmFsdWVUZXh0OiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEFyaWEgdGl0bGUgZm9yIHRoZSBzdGF0dXMgaW5kaWNhdG9yLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogZGVmaW5lcyB0aGUgbGFiZWwgcG9zaXRpb24gdGhlIHZhbHVlIGNhbiBiZSAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJyAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGFiZWxQb3NpdGlvbjogTGFibGVQb3NpdGlvbjtcblxuICAgIC8qKiBQYXRoIGZvciB0aGUgc3RhdHVzIGluZGljYXRvciAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGF0aDogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBPZmZzZXQgdmFsdWUgdG8gYmUgZmlsbGVkIHVuZGVyIHRoZSBnaXZlIHBlcmNlbnRhdGdlIHZhbHVlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsbFBlcmNlbnRhZ2U6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIHZhbHVlIHRvIGRlZmluZSBmaWxsIGRpcmVjdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsbERpcmVjdGlvbjogRmlsbGluZ0RpcmVjdGlvbiA9ICdjbG9ja3dpc2UnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXQgX2ZpbGxEaXJlY3Rpb24oZGlyZWN0aW9uOiBGaWxsaW5nRGlyZWN0aW9uKSB7XG4gICAgICAgIHRoaXMuZmlsbERpcmVjdGlvbiA9IGRpcmVjdGlvbjtcbiAgICB9XG4gICAgZ2V0IF9maWxsRGlyZWN0aW9uKCk6IEZpbGxpbmdEaXJlY3Rpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxsRGlyZWN0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZpbGxpbmdUeXBlIHRvIHJlcHJlc2VudCB0aGUgZmlsbCBwYXR0ZXJuIG9mIHRoZSBjb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbGxpbmdUeXBlOiBGaWxsaW5nVHlwZSA9ICdsaW5lYXJkb3duJztcblxuICAgIC8qKiByZXByZXNlbnQgdGhlIGRlZ3JlZSBvZiBhbmdsZSB0byBwcm9qZWN0IHRoZSBmaWxsaW5nIG9mIHRoZSBjb21wb25lbnQgKi9cbiAgICBASW5wdXQoKVxuICAgIGFuZ2xlOiBudW1iZXI7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGZpbGxDYWxjdWxhdG9yOiBudW1iZXI7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBiaW5hcnlTdHJpbmc6IHN0cmluZztcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHgxOiBzdHJpbmc7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB5MTogc3RyaW5nO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgeDI6IHN0cmluZztcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHkyOiBzdHJpbmc7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwb2ludHNBcnJheTogc3RyaW5nW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYW5nbGVDYWxjdWxhdGlvbigpO1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2FsY3VsYXRlRmlsbGluZygpO1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBDc3NDbGFzc0J1aWxkZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG4gICAgICogZnVuY3Rpb24gbXVzdCByZXR1cm4gc2luZ2xlIHN0cmluZ1xuICAgICAqIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBvcmRlciB3aGljaCBjc3MgY2xhc3NlcyBhcmUgYXBwbGllZFxuICAgICAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZmQtc3RhdHVzLWluZGljYXRvcicsXG4gICAgICAgICAgICB0aGlzLnNpemUgPyBgZmQtc3RhdHVzLWluZGljYXRvci0tJHt0aGlzLnNpemV9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5zdGF0dXMgPyBgZmQtc3RhdHVzLWluZGljYXRvci0tJHt0aGlzLnN0YXR1c31gIDogJycsXG4gICAgICAgICAgICB0aGlzLmNsaWNrYWJsZSA/IGBmZC1zdGF0dXMtaW5kaWNhdG9yLS1saW5rYCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5sYWJlbFBvc2l0aW9uID09PSAncmlnaHQnIHx8IHRoaXMubGFiZWxQb3NpdGlvbiA9PT0gJ2xlZnQnXG4gICAgICAgICAgICAgICAgPyBgZmQtc3RhdHVzLWluZGljYXRvci0taG9yaXpvbnRhbC1sYWJlbGBcbiAgICAgICAgICAgICAgICA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jbGFzc1xuICAgICAgICBdO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2FsY3VsYXRlRmlsbGluZygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsbFBlcmNlbnRhZ2UgPCAwIHx8IHRoaXMuZmlsbFBlcmNlbnRhZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5maWxsQ2FsY3VsYXRvciA9IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpbGxDYWxjdWxhdG9yID0gKHRoaXMuZmlsbFBlcmNlbnRhZ2UgKiB0aGlzLnBhdGgubGVuZ3RoKSAvIDEwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYW5nbGVDYWxjdWxhdGlvbigpOiB2b2lkIHtcbiAgICAgICAgbGV0IHNQb2ludHNBdHRyaWJ1dGVWYWx1ZTogQXJyYXk8UG9pbnQ+O1xuICAgICAgICBsZXQgcG9seWdvblBvaW50czogc3RyaW5nO1xuICAgICAgICBzd2l0Y2ggKHRoaXMuZmlsbGluZ1R5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2FuZ2xlZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5iaW5hcnlTdHJpbmcgPSB0aGlzLl9jb252ZXJ0QW5nbGVUb0JpbmFyeSh0aGlzLmFuZ2xlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9hc3NpZ25CaW5hcnlWYWx1ZSh0aGlzLmJpbmFyeVN0cmluZyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdyYWRpYWwnOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGVtcFBlcmNlbnQgPSB0aGlzLmZpbGxDYWxjdWxhdG9yICUgMTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxsTnVtYmVyID0gTnVtYmVyKHRlbXBQZXJjZW50LnRvRml4ZWQoMikpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzdmcnKTtcblxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgZWxlbWVudC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBzUG9pbnRzQXR0cmlidXRlVmFsdWUgPSB0aGlzLl9nZXRQb2x5Z29uUG9pbnRzRm9yQ2lyY3VsYXJGaWxsaW5nKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbE51bWJlciAqIDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRbaV0uZ2V0QkJveCgpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHBvbHlnb25Qb2ludHMgPSBzUG9pbnRzQXR0cmlidXRlVmFsdWUucmVkdWNlKChhY2MsIGl0ZW0pID0+IGFjYyArIGl0ZW0ueCArICcsJyArIGl0ZW0ueSArICcgJywgJycpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvaW50c0FycmF5LnB1c2gocG9seWdvblBvaW50cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnbGluZWFydXAnOlxuICAgICAgICAgICAgICAgIHRoaXMuYmluYXJ5U3RyaW5nID0gdGhpcy5fY29udmVydEFuZ2xlVG9CaW5hcnkoOTApO1xuICAgICAgICAgICAgICAgIHRoaXMuX2Fzc2lnbkJpbmFyeVZhbHVlKHRoaXMuYmluYXJ5U3RyaW5nKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2xpbmVhcmRvd24nOlxuICAgICAgICAgICAgICAgIHRoaXMuYmluYXJ5U3RyaW5nID0gdGhpcy5fY29udmVydEFuZ2xlVG9CaW5hcnkoMjcwKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9hc3NpZ25CaW5hcnlWYWx1ZSh0aGlzLmJpbmFyeVN0cmluZyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdsaW5lYXJsZWZ0JzpcbiAgICAgICAgICAgICAgICB0aGlzLmJpbmFyeVN0cmluZyA9IHRoaXMuX2NvbnZlcnRBbmdsZVRvQmluYXJ5KDE4MCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fYXNzaWduQmluYXJ5VmFsdWUodGhpcy5iaW5hcnlTdHJpbmcpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGZkU3RhdHVzSW5kaWNhdG9yOiBObyBmaWxsVHlwZSBmb3VuZCBmb3IgJHt0aGlzLmZpbGxpbmdUeXBlfS5gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29udmVydEFuZ2xlVG9CaW5hcnkoYW5nbGU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGlmIChhbmdsZSA+IDAgJiYgYW5nbGUgPD0gNDUpIHtcbiAgICAgICAgICAgIHJldHVybiAnMSwwLDAsMSc7XG4gICAgICAgIH0gZWxzZSBpZiAoYW5nbGUgPj0gNDUgJiYgYW5nbGUgPCA5MCkge1xuICAgICAgICAgICAgcmV0dXJuICcwLDAsMCwxJztcbiAgICAgICAgfSBlbHNlIGlmIChhbmdsZSA+PSA5MCAmJiBhbmdsZSA8IDEzNSkge1xuICAgICAgICAgICAgcmV0dXJuICcwLDAsMCwxJztcbiAgICAgICAgfSBlbHNlIGlmIChhbmdsZSA+PSAxMzUgJiYgYW5nbGUgPCAxODApIHtcbiAgICAgICAgICAgIHJldHVybiAnMCwwLDEsMSc7XG4gICAgICAgIH0gZWxzZSBpZiAoYW5nbGUgPj0gMTgwICYmIGFuZ2xlIDwgMjI1KSB7XG4gICAgICAgICAgICByZXR1cm4gJzAsMCwxLDAnO1xuICAgICAgICB9IGVsc2UgaWYgKGFuZ2xlID49IDIyNSAmJiBhbmdsZSA8IDI3MCkge1xuICAgICAgICAgICAgcmV0dXJuICcwLDEsMSwwJztcbiAgICAgICAgfSBlbHNlIGlmIChhbmdsZSA+PSAyNzAgJiYgYW5nbGUgPCAzMTUpIHtcbiAgICAgICAgICAgIHJldHVybiAnMCwxLDAsMCc7XG4gICAgICAgIH0gZWxzZSBpZiAoYW5nbGUgPj0gMzE1ICYmIGFuZ2xlIDwgMzYwKSB7XG4gICAgICAgICAgICByZXR1cm4gJzEsMSwwLDAnO1xuICAgICAgICB9IGVsc2UgaWYgKGFuZ2xlID09PSAwIHx8IGFuZ2xlID09PSAzNjApIHtcbiAgICAgICAgICAgIHJldHVybiAnMSwwLDAsMCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJ2ludmFsaWQnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hc3NpZ25CaW5hcnlWYWx1ZShiaW5hcnlTdHJpbmc6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBiaW5hcnlWYWx1ZSA9IGJpbmFyeVN0cmluZy5zcGxpdCgnLCcpO1xuICAgICAgICB0aGlzLngxID0gYmluYXJ5VmFsdWVbMF07XG4gICAgICAgIHRoaXMueTEgPSBiaW5hcnlWYWx1ZVsxXTtcbiAgICAgICAgdGhpcy54MiA9IGJpbmFyeVZhbHVlWzJdO1xuICAgICAgICB0aGlzLnkyID0gYmluYXJ5VmFsdWVbM107XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRQb2x5Z29uUG9pbnRzRm9yQ2lyY3VsYXJGaWxsaW5nKHZhbHVlOiBudW1iZXIsIGJvdW5kaW5nQm94U3ZnOiBET01SZWN0KTogQXJyYXk8UG9pbnQ+IHtcbiAgICAgICAgY29uc3QgYW5nbGUgPSAzLjYgKiB2YWx1ZTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBQb2ludFtdID0gW107XG4gICAgICAgIGxldCB4RGlmZmVyZW5jZUZyb21Cb3VuZGFyeUNlbnRyZTogbnVtYmVyO1xuICAgICAgICBsZXQgeURpZmZlcmVuY2VGcm9tQm91bmRhcnlDZW50cmU6IG51bWJlcjtcbiAgICAgICAgbGV0IHBvbHlnb25Qb2ludDogUG9pbnQ7XG5cbiAgICAgICAgLy8gc3RhcnRzIGF0IDEyLCB0aGUgYWxnb3JpdGhtIGNvbXB1dGVzIHRoZSBjb29yZGluYXRpb24gZm9yIGNsb2Nrd2lzZSBkaXJlY3Rpb24gb25seVxuICAgICAgICAvLyBjb3VudGVyIGNsb2Nrd2lzZSBkaXJlY3Rpb24gaXMgbWFuYWdlZCBieSBzeW1tZXRyeVxuICAgICAgICBjb25zdCBvU3RhcnRQb2ludCA9IG5ldyBQb2ludChib3VuZGluZ0JveFN2Zy54ICsgYm91bmRpbmdCb3hTdmcud2lkdGggLyAyLCBib3VuZGluZ0JveFN2Zy55KTtcbiAgICAgICAgY29uc3Qgb0NlbnRyZVBvaW50ID0gbmV3IFBvaW50KFxuICAgICAgICAgICAgYm91bmRpbmdCb3hTdmcueCArIGJvdW5kaW5nQm94U3ZnLndpZHRoIC8gMixcbiAgICAgICAgICAgIGJvdW5kaW5nQm94U3ZnLnkgKyBib3VuZGluZ0JveFN2Zy5oZWlnaHQgLyAyXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVmbGVjdHMgeCBjb29yZGluYXRlIGJ5IGNlbnRyZSBwb2ludCBmb3IgQ291bnRlciBDbG9ja3dpc2UgdHlwZVxuICAgICAgICBjb25zdCBfYWRqdXN0SWZDb3VudGVyQ2xvY2t3aXNlID0gKG9Qb2ludDogUG9pbnQpOiBQb2ludCA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXMgPSBPYmplY3QuYXNzaWduKHt9LCBvUG9pbnQpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5fZmlsbERpcmVjdGlvbiA9PT0gJ2NvdW50ZXJjbG9ja3dpc2UnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaVhEaXN0YW5jZUZyb21DZW50cmUgPSBvUG9pbnQueCAtIG9DZW50cmVQb2ludC54O1xuICAgICAgICAgICAgICAgIHJlcy54ID0gb0NlbnRyZVBvaW50LnggLSBpWERpc3RhbmNlRnJvbUNlbnRyZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBCb3VuZGFyeSBjZW50cmUgaXMgZ2l2ZW4gYnkgYW5nbGUgZGlzdGFuY2UgZnJvbSB0aGUgYmVnaW5uaW5nICgwwrApLiBUaGUgcmV0dXJuZWQgZGlmZmVyZW5jZSBpcyByZWxhdGVkXG4gICAgICAgIC8vIHRvIHggb3IgeSBjb29yZGluYXRlIGRlcGVuZGluZyBvbiBib3VuZGFyeSBjZW50cmUgYW5nbGUgKGUuZy4gMMKwIC0+IHgsIDkwwrAgLT4geSwgMTgwwrAgLT4geCAgMjcwwrAgLT4geSkuXG4gICAgICAgIC8vIEJvdW5kYXJ5IGxlbmd0aCBpcyBsZW5ndGggb2YgdGhlIGNvcnJlc3BvbmRpbmcgc2lkZSBvZiBib3VuZGluZyBib3ggKHdpZHRoIGZvciB4LCBoZWlnaHQgZm9yIHkpLlxuICAgICAgICBjb25zdCBjb21wdXRlRGlmZmVyZW5jZUZyb21Cb3VuZGFyeUNlbnRyZSA9IChcbiAgICAgICAgICAgIGluQW5nbGU6IG51bWJlcixcbiAgICAgICAgICAgIGlCb3VuZGFyeUNlbnRyZUFuZ2xlOiBudW1iZXIsXG4gICAgICAgICAgICBpQm91bmRhcnlMZW5ndGg6IG51bWJlclxuICAgICAgICApOiBudW1iZXIgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFuID0gTWF0aC50YW4oKChpQm91bmRhcnlDZW50cmVBbmdsZSAtIGluQW5nbGUpICogTWF0aC5QSSkgLyAxODApO1xuXG4gICAgICAgICAgICByZXR1cm4gKHRhbiAqIGlCb3VuZGFyeUxlbmd0aCkgLyAyO1xuICAgICAgICB9O1xuXG4gICAgICAgIHBvaW50cy5wdXNoKG9TdGFydFBvaW50KTtcblxuICAgICAgICBpZiAoMCA8IGFuZ2xlICYmIGFuZ2xlIDwgNDUpIHtcbiAgICAgICAgICAgIHhEaWZmZXJlbmNlRnJvbUJvdW5kYXJ5Q2VudHJlID0gY29tcHV0ZURpZmZlcmVuY2VGcm9tQm91bmRhcnlDZW50cmUoYW5nbGUsIDAsIGJvdW5kaW5nQm94U3ZnLmhlaWdodCk7XG4gICAgICAgICAgICBwb2x5Z29uUG9pbnQgPSBuZXcgUG9pbnQob1N0YXJ0UG9pbnQueCAtIHhEaWZmZXJlbmNlRnJvbUJvdW5kYXJ5Q2VudHJlLCBvU3RhcnRQb2ludC55KTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKF9hZGp1c3RJZkNvdW50ZXJDbG9ja3dpc2UocG9seWdvblBvaW50KSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoNDUgPD0gYW5nbGUpIHtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKFxuICAgICAgICAgICAgICAgIF9hZGp1c3RJZkNvdW50ZXJDbG9ja3dpc2UobmV3IFBvaW50KGJvdW5kaW5nQm94U3ZnLnggKyBib3VuZGluZ0JveFN2Zy53aWR0aCwgYm91bmRpbmdCb3hTdmcueSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKDQ1IDwgYW5nbGUgJiYgYW5nbGUgPCAxMzUpIHtcbiAgICAgICAgICAgIHlEaWZmZXJlbmNlRnJvbUJvdW5kYXJ5Q2VudHJlID0gY29tcHV0ZURpZmZlcmVuY2VGcm9tQm91bmRhcnlDZW50cmUoYW5nbGUsIDkwLCBib3VuZGluZ0JveFN2Zy53aWR0aCk7XG4gICAgICAgICAgICBwb2x5Z29uUG9pbnQgPSBuZXcgUG9pbnQoXG4gICAgICAgICAgICAgICAgYm91bmRpbmdCb3hTdmcueCArIGJvdW5kaW5nQm94U3ZnLndpZHRoLFxuICAgICAgICAgICAgICAgIGJvdW5kaW5nQm94U3ZnLnkgKyBib3VuZGluZ0JveFN2Zy5oZWlnaHQgLyAyIC0geURpZmZlcmVuY2VGcm9tQm91bmRhcnlDZW50cmVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChfYWRqdXN0SWZDb3VudGVyQ2xvY2t3aXNlKHBvbHlnb25Qb2ludCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKDEzNSA8PSBhbmdsZSkge1xuICAgICAgICAgICAgcG9pbnRzLnB1c2goXG4gICAgICAgICAgICAgICAgX2FkanVzdElmQ291bnRlckNsb2Nrd2lzZShcbiAgICAgICAgICAgICAgICAgICAgbmV3IFBvaW50KGJvdW5kaW5nQm94U3ZnLnggKyBib3VuZGluZ0JveFN2Zy53aWR0aCwgYm91bmRpbmdCb3hTdmcueSArIGJvdW5kaW5nQm94U3ZnLmhlaWdodClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKDEzNSA8IGFuZ2xlICYmIGFuZ2xlIDwgMjI1KSB7XG4gICAgICAgICAgICB4RGlmZmVyZW5jZUZyb21Cb3VuZGFyeUNlbnRyZSA9IGNvbXB1dGVEaWZmZXJlbmNlRnJvbUJvdW5kYXJ5Q2VudHJlKGFuZ2xlLCAxODAsIGJvdW5kaW5nQm94U3ZnLmhlaWdodCk7XG4gICAgICAgICAgICBwb2x5Z29uUG9pbnQgPSBuZXcgUG9pbnQoXG4gICAgICAgICAgICAgICAgYm91bmRpbmdCb3hTdmcueCArIGJvdW5kaW5nQm94U3ZnLndpZHRoIC8gMiArIHhEaWZmZXJlbmNlRnJvbUJvdW5kYXJ5Q2VudHJlLFxuICAgICAgICAgICAgICAgIGJvdW5kaW5nQm94U3ZnLnkgKyBib3VuZGluZ0JveFN2Zy5oZWlnaHRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChfYWRqdXN0SWZDb3VudGVyQ2xvY2t3aXNlKHBvbHlnb25Qb2ludCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKDIyNSA8PSBhbmdsZSkge1xuICAgICAgICAgICAgcG9pbnRzLnB1c2goXG4gICAgICAgICAgICAgICAgX2FkanVzdElmQ291bnRlckNsb2Nrd2lzZShuZXcgUG9pbnQoYm91bmRpbmdCb3hTdmcueCwgYm91bmRpbmdCb3hTdmcueSArIGJvdW5kaW5nQm94U3ZnLmhlaWdodCkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKDIyNSA8IGFuZ2xlICYmIGFuZ2xlIDwgMzE1KSB7XG4gICAgICAgICAgICB5RGlmZmVyZW5jZUZyb21Cb3VuZGFyeUNlbnRyZSA9IGNvbXB1dGVEaWZmZXJlbmNlRnJvbUJvdW5kYXJ5Q2VudHJlKGFuZ2xlLCAyNzAsIGJvdW5kaW5nQm94U3ZnLndpZHRoKTtcbiAgICAgICAgICAgIHBvbHlnb25Qb2ludCA9IG5ldyBQb2ludChcbiAgICAgICAgICAgICAgICBib3VuZGluZ0JveFN2Zy54LFxuICAgICAgICAgICAgICAgIGJvdW5kaW5nQm94U3ZnLnkgKyBib3VuZGluZ0JveFN2Zy5oZWlnaHQgLyAyICsgeURpZmZlcmVuY2VGcm9tQm91bmRhcnlDZW50cmVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChfYWRqdXN0SWZDb3VudGVyQ2xvY2t3aXNlKHBvbHlnb25Qb2ludCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKDMxNSA8PSBhbmdsZSkge1xuICAgICAgICAgICAgcG9pbnRzLnB1c2goX2FkanVzdElmQ291bnRlckNsb2Nrd2lzZShuZXcgUG9pbnQoYm91bmRpbmdCb3hTdmcueCwgYm91bmRpbmdCb3hTdmcueSkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgzMTUgPCBhbmdsZSAmJiBhbmdsZSA8PSAzNjApIHtcbiAgICAgICAgICAgIHhEaWZmZXJlbmNlRnJvbUJvdW5kYXJ5Q2VudHJlID0gY29tcHV0ZURpZmZlcmVuY2VGcm9tQm91bmRhcnlDZW50cmUoYW5nbGUsIDM2MCwgYm91bmRpbmdCb3hTdmcuaGVpZ2h0KTtcbiAgICAgICAgICAgIHBvbHlnb25Qb2ludCA9IG5ldyBQb2ludChcbiAgICAgICAgICAgICAgICBib3VuZGluZ0JveFN2Zy54ICsgYm91bmRpbmdCb3hTdmcud2lkdGggLyAyIC0geERpZmZlcmVuY2VGcm9tQm91bmRhcnlDZW50cmUsXG4gICAgICAgICAgICAgICAgYm91bmRpbmdCb3hTdmcueVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKF9hZGp1c3RJZkNvdW50ZXJDbG9ja3dpc2UocG9seWdvblBvaW50KSk7XG4gICAgICAgIH1cblxuICAgICAgICBwb2ludHMucHVzaChvQ2VudHJlUG9pbnQpO1xuXG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxufVxuIiwiPHNwYW5cbiAgICAqbmdJZj1cImxhYmVsUG9zaXRpb24gPT09ICdsZWZ0JyB8fCBsYWJlbFBvc2l0aW9uID09PSAndG9wJ1wiXG4gICAgW2NsYXNzLmZkLXN0YXR1cy1pbmRpY2F0b3JfX2xhYmVsLS1zbV09XCJsYWJlbFNpemUgPT09ICdzbSdcIlxuICAgIFtjbGFzcy5mZC1zdGF0dXMtaW5kaWNhdG9yX19sYWJlbC0tbWRdPVwibGFiZWxTaXplID09PSAnbWQnXCJcbiAgICBbY2xhc3MuZmQtc3RhdHVzLWluZGljYXRvcl9fbGFiZWwtLWxnXT1cImxhYmVsU2l6ZSA9PT0gJ2xnJ1wiXG4gICAgW2NsYXNzLmZkLXN0YXR1cy1pbmRpY2F0b3JfX2xhYmVsLS14bF09XCJsYWJlbFNpemUgPT09ICd4bCdcIlxuICAgIFtjbGFzcy5mZC1zdGF0dXMtaW5kaWNhdG9yX19sYWJlbC0tdG9wXT1cImxhYmVsUG9zaXRpb24gPT09ICd0b3AnXCJcbiAgICBbY2xhc3MuZmQtc3RhdHVzLWluZGljYXRvcl9fbGFiZWwtLWxlZnRdPVwibGFiZWxQb3NpdGlvbiA9PT0gJ2xlZnQnXCJcbiAgICBjbGFzcz1cImZkLXN0YXR1cy1pbmRpY2F0b3JfX2xhYmVsXCJcbiAgICA+e3sgc3RhdHVzTGFiZWwgfX1cbjwvc3Bhbj5cbjxzdmdcbiAgICBbYXR0ci5pZF09XCJpZFwiXG4gICAgZGF0YS1zYXAtdWk9XCJfX3NoYXBlMC1fX2JveDIxLTI0XCJcbiAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICBbYXR0ci52aWV3Qm94XT1cInZpZXdCb3hcIlxuICAgIHhsbW5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICBjbGFzcz1cImZkLXN0YXR1cy1pbmRpY2F0b3JfX3N2Z1wiXG4+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdmdUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9zdmc+XG48c3BhblxuICAgICpuZ0lmPVwibGFiZWxQb3NpdGlvbiA9PT0gJ3JpZ2h0JyB8fCBsYWJlbFBvc2l0aW9uID09PSAnYm90dG9tJ1wiXG4gICAgW2NsYXNzLmZkLXN0YXR1cy1pbmRpY2F0b3JfX2xhYmVsLS1zbV09XCJsYWJlbFNpemUgPT09ICdzbSdcIlxuICAgIFtjbGFzcy5mZC1zdGF0dXMtaW5kaWNhdG9yX19sYWJlbC0tbWRdPVwibGFiZWxTaXplID09PSAnbWQnXCJcbiAgICBbY2xhc3MuZmQtc3RhdHVzLWluZGljYXRvcl9fbGFiZWwtLWxnXT1cImxhYmVsU2l6ZSA9PT0gJ2xnJ1wiXG4gICAgW2NsYXNzLmZkLXN0YXR1cy1pbmRpY2F0b3JfX2xhYmVsLS14bF09XCJsYWJlbFNpemUgPT09ICd4bCdcIlxuICAgIFtjbGFzcy5mZC1zdGF0dXMtaW5kaWNhdG9yX19sYWJlbC0tcmlnaHRdPVwibGFiZWxQb3NpdGlvbiA9PT0gJ3JpZ2h0J1wiXG4gICAgW2NsYXNzLmZkLXN0YXR1cy1pbmRpY2F0b3JfX2xhYmVsLS1ib3R0b21dPVwibGFiZWxQb3NpdGlvbiA9PT0gJ2JvdHRvbSdcIlxuICAgIGNsYXNzPVwiZmQtc3RhdHVzLWluZGljYXRvcl9fbGFiZWxcIlxuICAgID57eyBzdGF0dXNMYWJlbCB9fVxuPC9zcGFuPlxuXG48bmctdGVtcGxhdGUgI3N2Z1RlbXBsYXRlPlxuICAgIDxzdmdcbiAgICAgICAgeGxtbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICAgICAgb3ZlcmZsb3c9XCJ2aXNpYmxlXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiaWQgKyBpXCJcbiAgICAgICAgZGF0YS1zYXAtdWk9XCJpZFwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBwYXRoIG9mIHBhdGg7IGxldCBpID0gaW5kZXhcIlxuICAgID5cbiAgICAgICAgPGRlZnM+XG4gICAgICAgICAgICA8bGluZWFyR3JhZGllbnRcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiEoZmlsbENhbGN1bGF0b3IgLSBpID4gMCAmJiBmaWxsQ2FsY3VsYXRvciAtIGkgPCAxKSB8fCBmaWxsaW5nVHlwZSAhPT0gJ3JhZGlhbCdcIlxuICAgICAgICAgICAgICAgIGlkPVwie3sgaWQgKyBpIH19LWdyYWRpZW50XCJcbiAgICAgICAgICAgICAgICBbYXR0ci54MV09XCJ4MVwiXG4gICAgICAgICAgICAgICAgW2F0dHIueTFdPVwieTFcIlxuICAgICAgICAgICAgICAgIFthdHRyLngyXT1cIngyXCJcbiAgICAgICAgICAgICAgICBbYXR0ci55Ml09XCJ5MlwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN0b3AgW2F0dHIub2Zmc2V0XT1cImZpbGxDYWxjdWxhdG9yIC0gaVwiIHN0b3AtY29sb3I9XCJ3aGl0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8YW5pbWF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlTmFtZT1cIm9mZnNldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyLnZhbHVlcz1cIjAsIHt7IGZpbGxDYWxjdWxhdG9yIC0gaSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBlYXRDb3VudD1cIjFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZHVyPVwiMXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW49XCIwc1wiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9zdG9wPlxuICAgICAgICAgICAgICAgIDxzdG9wIFthdHRyLm9mZnNldF09XCJmaWxsQ2FsY3VsYXRvciAtIGlcIiBzdG9wLWNvbG9yPVwidHJhbnNwYXJlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFuaW1hdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZU5hbWU9XCJvZmZzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci52YWx1ZXM9XCIwLCB7eyBmaWxsQ2FsY3VsYXRvciAtIGkgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGR1cj1cIjFzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luPVwiMHNcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvc3RvcD5cbiAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICAgICAgICA8bWFzayAjbWFza1RlbXBsYXRlIGlkPVwie3sgaWQgKyBpIH19LW1hc2tcIj5cbiAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiEoZmlsbENhbGN1bGF0b3IgLSBpID4gMCAmJiBmaWxsQ2FsY3VsYXRvciAtIGkgPCAxKSB8fCBmaWxsaW5nVHlwZSAhPT0gJ3JhZGlhbCdcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cInt7IGlkICsgaSB9fS1tYXNrLXNoYXBlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZF09XCJwYXRoXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIndoaXRlXCJcbiAgICAgICAgICAgICAgICAgICAgYXR0ci5maWxsPVwidXJsKCN7eyBpZCArIGkgfX0tZ3JhZGllbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICAgICAgICAgIDxwb2x5Z29uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmlsbGluZ1R5cGUgPT09ICdyYWRpYWwnICYmIGZpbGxDYWxjdWxhdG9yIC0gaSA+IDAgJiYgZmlsbENhbGN1bGF0b3IgLSBpIDwgMVwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwie3sgaWQgKyBpIH19LW1hc2stc2hhcGVcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5wb2ludHNdPVwicG9pbnRzQXJyYXlbaV1cIlxuICAgICAgICAgICAgICAgID48L3BvbHlnb24+XG4gICAgICAgICAgICA8L21hc2s+XG4gICAgICAgIDwvZGVmcz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGlkPVwie3sgaWQgKyBpIH19LXNoYXBlXCJcbiAgICAgICAgICAgIFthdHRyLmRdPVwicGF0aFwiXG4gICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwXCJcbiAgICAgICAgICAgIHN0cm9rZT1cIiM4OTkxOUFcIlxuICAgICAgICAgICAgYXR0ci5tYXNrPVwidXJsKCN7eyBpZCArIGkgfX0tbWFzaylcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJ7eyBpZCArIGkgfX0tc2hhcGUtYm9yZGVyXCJcbiAgICAgICAgICAgIFthdHRyLmRdPVwicGF0aFwiXG4gICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwLjI1XCJcbiAgICAgICAgICAgIHN0cm9rZT1cIiM4OTkxOUFcIlxuICAgICAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
294
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zdGF0dXMtaW5kaWNhdG9yL3N0YXR1cy1pbmRpY2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3RhdHVzLWluZGljYXRvci9zdGF0dXMtaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTZCLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVF0RixNQUFNLE9BQU8sS0FBSztJQUNkLGNBQWM7SUFDZCxZQUFtQixDQUFTLEVBQVMsQ0FBUztRQUEzQixNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQVMsTUFBQyxHQUFELENBQUMsQ0FBUTtJQUFHLENBQUM7Q0FDckQ7QUF1QkQsTUFBTSxPQUFPLHdCQUF3QjtJQTBGakMsY0FBYztJQUNkLElBQUksY0FBYyxDQUFDLFNBQTJCO1FBQzFDLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQTJCRCxjQUFjO0lBQ2QsWUFBNEIsVUFBbUMsRUFBVSxHQUFzQjtRQUFuRSxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBckgvRjs7OztXQUlHO1FBRUgsU0FBSSxHQUF3QixJQUFJLENBQUM7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QXFCO3dCQUNwRCxrQkFBa0IsRUFBRSxXQUFXO3dCQUMvQixjQUFjLEVBQUUsT0FBTzt3QkFDdkIsYUFBYSxFQUFFLE1BQU07d0JBQ3JCLHVCQUF1QixFQUFFLGVBQWU7d0JBQ3hDLHNCQUFzQixFQUFFLHFDQUFxQzt3QkFDN0Qsc0JBQXNCLEVBQUUsR0FBRzt3QkFDM0Isc0JBQXNCLEVBQUUsS0FBSzt3QkFDN0IsaUJBQWlCLEVBQUUsb0JBQW9CO3FCQUMxQyxpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUM7aUlBT3hDLEVBQUU7c0JBREQsS0FBSztnQkFTTixJQUFJO3NCQURILEtBQUs7Z0JBU04sTUFBTTtzQkFETCxLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFPTixPQUFPO3NCQUROLEtBQUs7Z0JBT04sU0FBUztzQkFEUixLQUFLO2dCQVFOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sbUJBQW1CO3NCQURsQixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixJQUFJO3NCQURILEtBQUs7Z0JBS04sYUFBYTtzQkFEWixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixhQUFhO3NCQURaLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQU9OLGNBQWM7c0JBRGIsS0FBSztnQkFPTixhQUFhO3NCQURaLEtBQUs7Z0JBZU4sV0FBVztzQkFEVixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkErQ04sc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDc3NDbGFzc0J1aWxkZXIsIE51bGxhYmxlLCBhcHBseUNzc0NsYXNzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBTdGF0dXNJbmRpY2F0b3JTaXplID0gJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJztcbmV4cG9ydCB0eXBlIFN0YXR1c0luZGljYXRvckNvbG9yID0gJ25lZ2F0aXZlJyB8ICdjcml0aWNhbCcgfCAncG9zaXRpdmUnO1xuZXhwb3J0IHR5cGUgTGFibGVQb3NpdGlvbiA9ICdsZWZ0JyB8ICdyaWdodCcgfCAndG9wJyB8ICdib3R0b20nO1xuZXhwb3J0IHR5cGUgRmlsbGluZ1R5cGUgPSAncmFkaWFsJyB8ICdhbmdsZWQnIHwgJ2xpbmVhcnVwJyB8ICdsaW5lYXJkb3duJyB8ICdsaW5lYXJsZWZ0JztcbmV4cG9ydCB0eXBlIEZpbGxpbmdEaXJlY3Rpb24gPSAnY2xvY2t3aXNlJyB8ICdjb3VudGVyY2xvY2t3aXNlJztcblxuZXhwb3J0IGNsYXNzIFBvaW50IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB4OiBudW1iZXIsIHB1YmxpYyB5OiBudW1iZXIpIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtc3RhdHVzLWluZGljYXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0YXR1cy1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0YXR1cy1pbmRpY2F0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdhcmlhTGFiZWwnLFxuICAgICAgICAnW2F0dHIuYXJpYS1yb2xlZGVzY3JpcHRpb25dJzogJ2FyaWFSb2xlRGVzY3JpcHRpb24nLFxuICAgICAgICAnW2F0dHIuZm9jdXNhYmxlXSc6ICdmb2N1c2FibGUnLFxuICAgICAgICAnW2F0dHIudGl0bGVdJzogJ3RpdGxlJyxcbiAgICAgICAgJ1thdHRyLnJvbGVdJzogJ3JvbGUnLFxuICAgICAgICAnW2F0dHIuYXJpYS12YWx1ZXRleHRdJzogJ2FyaWFWYWx1ZVRleHQnLFxuICAgICAgICAnW2F0dHIuYXJpYS12YWx1ZW5vd10nOiAnZmlsbFBlcmNlbnRhZ2UgPyBmaWxsUGVyY2VudGFnZSA6IDAnLFxuICAgICAgICAnW2F0dHIuYXJpYS12YWx1ZW1pbl0nOiAnMCcsXG4gICAgICAgICdbYXR0ci5hcmlhLXZhbHVlbWF4XSc6ICcxMDAnLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ2ZvY3VzYWJsZSA/IDAgOiAtMSdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgTmdGb3JdXG59KVxuZXhwb3J0IGNsYXNzIFN0YXR1c0luZGljYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgQ3NzQ2xhc3NCdWlsZGVyLCBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIHZhbHVlIGlkIGRlZmluZXMgdGhlIGlkIG9mIHRoZSBvYmplY3QuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogZGVmaW5lcyB0aGUgc2l6ZSBvZiB0aGUgc3RhdHVzIGluZGljYXRvci5cbiAgICAgKiBDYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCdcbiAgICAgKiBEZWZhdWx0IHNpemUgaXMgTWVkaXVtKG1kKS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNpemU6IFN0YXR1c0luZGljYXRvclNpemUgPSAnbWQnO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHN0YXR1cyByZXByZXNlbnRlZCBieSB0aGUgU3RhdHVzIEluZGljYXRvci5cbiAgICAgKiBDYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6ICduZWdhdGl2ZScgfCAnY3JpdGljYWwnIHwgJ2luZm9ybWF0aXZlJ1xuICAgICAqIEZvciBkZWZhdWx0IE9iamVjdCBTdGF0dXMgb21pdCB0aGlzIHByb3BlcnR5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGF0dXM6IFN0YXR1c0luZGljYXRvckNvbG9yO1xuXG4gICAgLyoqIERlZmluZSB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSBTdGF0dXMgaW5kaWNhdG9yKi9cbiAgICBASW5wdXQoKVxuICAgIHN0YXR1c0xhYmVsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBwb3NpdGlvbmluZyBvZiB0aGUgc3RhdHVzIGluZGljYXRvciBpbWFnZSB3aXRoaW5nIHRoZSBkZWZpbmVkIGhlaWdodCBhbmQgd2lkdGggLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmlld0JveDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogYm9vbGVhbiB2YWx1ZSB0byBiZSBtYXJrZWQgYXMgYSBjbGlja2FibGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsaWNrYWJsZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIGRlZmluZXMgdGhlIHNpemUgb2YgdGhlIHN0YXR1cyBpbmRpY2F0b3IuXG4gICAgICogQ2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nOiAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBsYWJlbFNpemU6IFN0YXR1c0luZGljYXRvclNpemUgPSAnc20nO1xuXG4gICAgLyoqIEFyaWEgbGFiZWwgZm9yIHRoZSBTdGF0dXMgSW5kaWNhdG9yLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEFyaWEgZGVmaW5lcyByb2xlIGRlc2NyaXB0aW9uIGZvciB0aGUgU3RhdHVzIEluZGljYXRvci4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFSb2xlRGVzY3JpcHRpb246IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogQXJpYSBGb2N1c2FibGUgZm9yIHRoZSBTdGF0dXMgSW5kaWNhdG9yLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZm9jdXNhYmxlOiBib29sZWFuO1xuXG4gICAgLyoqIEFyaWEgUm9sZSBmb3IgdGhlIFN0YXR1cyBJbmRpY2F0b3IuICovXG4gICAgQElucHV0KClcbiAgICByb2xlOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEFyaWEgVmFsdWUgVGV4dCBmb3IgdGhlIFN0YXR1cyBJbmRpY2F0b3IuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhVmFsdWVUZXh0OiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEFyaWEgdGl0bGUgZm9yIHRoZSBzdGF0dXMgaW5kaWNhdG9yLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogZGVmaW5lcyB0aGUgbGFiZWwgcG9zaXRpb24gdGhlIHZhbHVlIGNhbiBiZSAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJyAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGFiZWxQb3NpdGlvbjogTGFibGVQb3NpdGlvbjtcblxuICAgIC8qKiBQYXRoIGZvciB0aGUgc3RhdHVzIGluZGljYXRvciAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGF0aDogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBPZmZzZXQgdmFsdWUgdG8gYmUgZmlsbGVkIHVuZGVyIHRoZSBnaXZlIHBlcmNlbnRhdGdlIHZhbHVlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsbFBlcmNlbnRhZ2U6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIHZhbHVlIHRvIGRlZmluZSBmaWxsIGRpcmVjdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsbERpcmVjdGlvbjogRmlsbGluZ0RpcmVjdGlvbiA9ICdjbG9ja3dpc2UnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXQgX2ZpbGxEaXJlY3Rpb24oZGlyZWN0aW9uOiBGaWxsaW5nRGlyZWN0aW9uKSB7XG4gICAgICAgIHRoaXMuZmlsbERpcmVjdGlvbiA9IGRpcmVjdGlvbjtcbiAgICB9XG4gICAgZ2V0IF9maWxsRGlyZWN0aW9uKCk6IEZpbGxpbmdEaXJlY3Rpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxsRGlyZWN0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZpbGxpbmdUeXBlIHRvIHJlcHJlc2VudCB0aGUgZmlsbCBwYXR0ZXJuIG9mIHRoZSBjb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbGxpbmdUeXBlOiBGaWxsaW5nVHlwZSA9ICdsaW5lYXJkb3duJztcblxuICAgIC8qKiByZXByZXNlbnQgdGhlIGRlZ3JlZSBvZiBhbmdsZSB0byBwcm9qZWN0IHRoZSBmaWxsaW5nIG9mIHRoZSBjb21wb25lbnQgKi9cbiAgICBASW5wdXQoKVxuICAgIGFuZ2xlOiBudW1iZXI7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGZpbGxDYWxjdWxhdG9yOiBudW1iZXI7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBiaW5hcnlTdHJpbmc6IHN0cmluZztcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHgxOiBzdHJpbmc7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB5MTogc3RyaW5nO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgeDI6IHN0cmluZztcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHkyOiBzdHJpbmc7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwb2ludHNBcnJheTogc3RyaW5nW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYW5nbGVDYWxjdWxhdGlvbigpO1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2FsY3VsYXRlRmlsbGluZygpO1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBDc3NDbGFzc0J1aWxkZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG4gICAgICogZnVuY3Rpb24gbXVzdCByZXR1cm4gc2luZ2xlIHN0cmluZ1xuICAgICAqIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBvcmRlciB3aGljaCBjc3MgY2xhc3NlcyBhcmUgYXBwbGllZFxuICAgICAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZmQtc3RhdHVzLWluZGljYXRvcicsXG4gICAgICAgICAgICB0aGlzLnNpemUgPyBgZmQtc3RhdHVzLWluZGljYXRvci0tJHt0aGlzLnNpemV9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5zdGF0dXMgPyBgZmQtc3RhdHVzLWluZGljYXRvci0tJHt0aGlzLnN0YXR1c31gIDogJycsXG4gICAgICAgICAgICB0aGlzLmNsaWNrYWJsZSA/IGBmZC1zdGF0dXMtaW5kaWNhdG9yLS1saW5rYCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5sYWJlbFBvc2l0aW9uID09PSAncmlnaHQnIHx8IHRoaXMubGFiZWxQb3NpdGlvbiA9PT0gJ2xlZnQnXG4gICAgICAgICAgICAgICAgPyBgZmQtc3RhdHVzLWluZGljYXRvci0taG9yaXpvbnRhbC1sYWJlbGBcbiAgICAgICAgICAgICAgICA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jbGFzc1xuICAgICAgICBdO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2FsY3VsYXRlRmlsbGluZygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsbFBlcmNlbnRhZ2UgPCAwIHx8IHRoaXMuZmlsbFBlcmNlbnRhZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5maWxsQ2FsY3VsYXRvciA9IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpbGxDYWxjdWxhdG9yID0gKHRoaXMuZmlsbFBlcmNlbnRhZ2UgKiB0aGlzLnBhdGgubGVuZ3RoKSAvIDEwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYW5nbGVDYWxjdWxhdGlvbigpOiB2b2lkIHtcbiAgICAgICAgbGV0IHNQb2ludHNBdHRyaWJ1dGVWYWx1ZTogQXJyYXk8UG9pbnQ+O1xuICAgICAgICBsZXQgcG9seWdvblBvaW50czogc3RyaW5nO1xuICAgICAgICBzd2l0Y2ggKHRoaXMuZmlsbGluZ1R5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2FuZ2xlZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5iaW5hcnlTdHJpbmcgPSB0aGlzLl9jb252ZXJ0QW5nbGVUb0JpbmFyeSh0aGlzLmFuZ2xlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9hc3NpZ25CaW5hcnlWYWx1ZSh0aGlzLmJpbmFyeVN0cmluZyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdyYWRpYWwnOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGVtcFBlcmNlbnQgPSB0aGlzLmZpbGxDYWxjdWxhdG9yICUgMTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxsTnVtYmVyID0gTnVtYmVyKHRlbXBQZXJjZW50LnRvRml4ZWQoMikpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzdmcnKTtcblxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgZWxlbWVudC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBzUG9pbnRzQXR0cmlidXRlVmFsdWUgPSB0aGlzLl9nZXRQb2x5Z29uUG9pbnRzRm9yQ2lyY3VsYXJGaWxsaW5nKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbE51bWJlciAqIDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRbaV0uZ2V0QkJveCgpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHBvbHlnb25Qb2ludHMgPSBzUG9pbnRzQXR0cmlidXRlVmFsdWUucmVkdWNlKChhY2MsIGl0ZW0pID0+IGFjYyArIGl0ZW0ueCArICcsJyArIGl0ZW0ueSArICcgJywgJycpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvaW50c0FycmF5LnB1c2gocG9seWdvblBvaW50cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnbGluZWFydXAnOlxuICAgICAgICAgICAgICAgIHRoaXMuYmluYXJ5U3RyaW5nID0gdGhpcy5fY29udmVydEFuZ2xlVG9CaW5hcnkoOTApO1xuICAgICAgICAgICAgICAgIHRoaXMuX2Fzc2lnbkJpbmFyeVZhbHVlKHRoaXMuYmluYXJ5U3RyaW5nKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2xpbmVhcmRvd24nOlxuICAgICAgICAgICAgICAgIHRoaXMuYmluYXJ5U3RyaW5nID0gdGhpcy5fY29udmVydEFuZ2xlVG9CaW5hcnkoMjcwKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9hc3NpZ25CaW5hcnlWYWx1ZSh0aGlzLmJpbmFyeVN0cmluZyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdsaW5lYXJsZWZ0JzpcbiAgICAgICAgICAgICAgICB0aGlzLmJpbmFyeVN0cmluZyA9IHRoaXMuX2NvbnZlcnRBbmdsZVRvQmluYXJ5KDE4MCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fYXNzaWduQmluYXJ5VmFsdWUodGhpcy5iaW5hcnlTdHJpbmcpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGZkU3RhdHVzSW5kaWNhdG9yOiBObyBmaWxsVHlwZSBmb3VuZCBmb3IgJHt0aGlzLmZpbGxpbmdUeXBlfS5gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29udmVydEFuZ2xlVG9CaW5hcnkoYW5nbGU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGlmIChhbmdsZSA+IDAgJiYgYW5nbGUgPD0gNDUpIHtcbiAgICAgICAgICAgIHJldHVybiAnMSwwLDAsMSc7XG4gICAgICAgIH0gZWxzZSBpZiAoYW5nbGUgPj0gNDUgJiYgYW5nbGUgPCA5MCkge1xuICAgICAgICAgICAgcmV0dXJuICcwLDAsMCwxJztcbiAgICAgICAgfSBlbHNlIGlmIChhbmdsZSA+PSA5MCAmJiBhbmdsZSA8IDEzNSkge1xuICAgICAgICAgICAgcmV0dXJuICcwLDAsMCwxJztcbiAgICAgICAgfSBlbHNlIGlmIChhbmdsZSA+PSAxMzUgJiYgYW5nbGUgPCAxODApIHtcbiAgICAgICAgICAgIHJldHVybiAnMCwwLDEsMSc7XG4gICAgICAgIH0gZWxzZSBpZiAoYW5nbGUgPj0gMTgwICYmIGFuZ2xlIDwgMjI1KSB7XG4gICAgICAgICAgICByZXR1cm4gJzAsMCwxLDAnO1xuICAgICAgICB9IGVsc2UgaWYgKGFuZ2xlID49IDIyNSAmJiBhbmdsZSA8IDI3MCkge1xuICAgICAgICAgICAgcmV0dXJuICcwLDEsMSwwJztcbiAgICAgICAgfSBlbHNlIGlmIChhbmdsZSA+PSAyNzAgJiYgYW5nbGUgPCAzMTUpIHtcbiAgICAgICAgICAgIHJldHVybiAnMCwxLDAsMCc7XG4gICAgICAgIH0gZWxzZSBpZiAoYW5nbGUgPj0gMzE1ICYmIGFuZ2xlIDwgMzYwKSB7XG4gICAgICAgICAgICByZXR1cm4gJzEsMSwwLDAnO1xuICAgICAgICB9IGVsc2UgaWYgKGFuZ2xlID09PSAwIHx8IGFuZ2xlID09PSAzNjApIHtcbiAgICAgICAgICAgIHJldHVybiAnMSwwLDAsMCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJ2ludmFsaWQnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hc3NpZ25CaW5hcnlWYWx1ZShiaW5hcnlTdHJpbmc6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBiaW5hcnlWYWx1ZSA9IGJpbmFyeVN0cmluZy5zcGxpdCgnLCcpO1xuICAgICAgICB0aGlzLngxID0gYmluYXJ5VmFsdWVbMF07XG4gICAgICAgIHRoaXMueTEgPSBiaW5hcnlWYWx1ZVsxXTtcbiAgICAgICAgdGhpcy54MiA9IGJpbmFyeVZhbHVlWzJdO1xuICAgICAgICB0aGlzLnkyID0gYmluYXJ5VmFsdWVbM107XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRQb2x5Z29uUG9pbnRzRm9yQ2lyY3VsYXJGaWxsaW5nKHZhbHVlOiBudW1iZXIsIGJvdW5kaW5nQm94U3ZnOiBET01SZWN0KTogQXJyYXk8UG9pbnQ+IHtcbiAgICAgICAgY29uc3QgYW5nbGUgPSAzLjYgKiB2YWx1ZTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBQb2ludFtdID0gW107XG4gICAgICAgIGxldCB4RGlmZmVyZW5jZUZyb21Cb3VuZGFyeUNlbnRyZTogbnVtYmVyO1xuICAgICAgICBsZXQgeURpZmZlcmVuY2VGcm9tQm91bmRhcnlDZW50cmU6IG51bWJlcjtcbiAgICAgICAgbGV0IHBvbHlnb25Qb2ludDogUG9pbnQ7XG5cbiAgICAgICAgLy8gc3RhcnRzIGF0IDEyLCB0aGUgYWxnb3JpdGhtIGNvbXB1dGVzIHRoZSBjb29yZGluYXRpb24gZm9yIGNsb2Nrd2lzZSBkaXJlY3Rpb24gb25seVxuICAgICAgICAvLyBjb3VudGVyIGNsb2Nrd2lzZSBkaXJlY3Rpb24gaXMgbWFuYWdlZCBieSBzeW1tZXRyeVxuICAgICAgICBjb25zdCBvU3RhcnRQb2ludCA9IG5ldyBQb2ludChib3VuZGluZ0JveFN2Zy54ICsgYm91bmRpbmdCb3hTdmcud2lkdGggLyAyLCBib3VuZGluZ0JveFN2Zy55KTtcbiAgICAgICAgY29uc3Qgb0NlbnRyZVBvaW50ID0gbmV3IFBvaW50KFxuICAgICAgICAgICAgYm91bmRpbmdCb3hTdmcueCArIGJvdW5kaW5nQm94U3ZnLndpZHRoIC8gMixcbiAgICAgICAgICAgIGJvdW5kaW5nQm94U3ZnLnkgKyBib3VuZGluZ0JveFN2Zy5oZWlnaHQgLyAyXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVmbGVjdHMgeCBjb29yZGluYXRlIGJ5IGNlbnRyZSBwb2ludCBmb3IgQ291bnRlciBDbG9ja3dpc2UgdHlwZVxuICAgICAgICBjb25zdCBfYWRqdXN0SWZDb3VudGVyQ2xvY2t3aXNlID0gKG9Qb2ludDogUG9pbnQpOiBQb2ludCA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXMgPSBPYmplY3QuYXNzaWduKHt9LCBvUG9pbnQpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5fZmlsbERpcmVjdGlvbiA9PT0gJ2NvdW50ZXJjbG9ja3dpc2UnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaVhEaXN0YW5jZUZyb21DZW50cmUgPSBvUG9pbnQueCAtIG9DZW50cmVQb2ludC54O1xuICAgICAgICAgICAgICAgIHJlcy54ID0gb0NlbnRyZVBvaW50LnggLSBpWERpc3RhbmNlRnJvbUNlbnRyZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBCb3VuZGFyeSBjZW50cmUgaXMgZ2l2ZW4gYnkgYW5nbGUgZGlzdGFuY2UgZnJvbSB0aGUgYmVnaW5uaW5nICgwwrApLiBUaGUgcmV0dXJuZWQgZGlmZmVyZW5jZSBpcyByZWxhdGVkXG4gICAgICAgIC8vIHRvIHggb3IgeSBjb29yZGluYXRlIGRlcGVuZGluZyBvbiBib3VuZGFyeSBjZW50cmUgYW5nbGUgKGUuZy4gMMKwIC0+IHgsIDkwwrAgLT4geSwgMTgwwrAgLT4geCAgMjcwwrAgLT4geSkuXG4gICAgICAgIC8vIEJvdW5kYXJ5IGxlbmd0aCBpcyBsZW5ndGggb2YgdGhlIGNvcnJlc3BvbmRpbmcgc2lkZSBvZiBib3VuZGluZyBib3ggKHdpZHRoIGZvciB4LCBoZWlnaHQgZm9yIHkpLlxuICAgICAgICBjb25zdCBjb21wdXRlRGlmZmVyZW5jZUZyb21Cb3VuZGFyeUNlbnRyZSA9IChcbiAgICAgICAgICAgIGluQW5nbGU6IG51bWJlcixcbiAgICAgICAgICAgIGlCb3VuZGFyeUNlbnRyZUFuZ2xlOiBudW1iZXIsXG4gICAgICAgICAgICBpQm91bmRhcnlMZW5ndGg6IG51bWJlclxuICAgICAgICApOiBudW1iZXIgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFuID0gTWF0aC50YW4oKChpQm91bmRhcnlDZW50cmVBbmdsZSAtIGluQW5nbGUpICogTWF0aC5QSSkgLyAxODApO1xuXG4gICAgICAgICAgICByZXR1cm4gKHRhbiAqIGlCb3VuZGFyeUxlbmd0aCkgLyAyO1xuICAgICAgICB9O1xuXG4gICAgICAgIHBvaW50cy5wdXNoKG9TdGFydFBvaW50KTtcblxuICAgICAgICBpZiAoMCA8IGFuZ2xlICYmIGFuZ2xlIDwgNDUpIHtcbiAgICAgICAgICAgIHhEaWZmZXJlbmNlRnJvbUJvdW5kYXJ5Q2VudHJlID0gY29tcHV0ZURpZmZlcmVuY2VGcm9tQm91bmRhcnlDZW50cmUoYW5nbGUsIDAsIGJvdW5kaW5nQm94U3ZnLmhlaWdodCk7XG4gICAgICAgICAgICBwb2x5Z29uUG9pbnQgPSBuZXcgUG9pbnQob1N0YXJ0UG9pbnQueCAtIHhEaWZmZXJlbmNlRnJvbUJvdW5kYXJ5Q2VudHJlLCBvU3RhcnRQb2ludC55KTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKF9hZGp1c3RJZkNvdW50ZXJDbG9ja3dpc2UocG9seWdvblBvaW50KSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoNDUgPD0gYW5nbGUpIHtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKFxuICAgICAgICAgICAgICAgIF9hZGp1c3RJZkNvdW50ZXJDbG9ja3dpc2UobmV3IFBvaW50KGJvdW5kaW5nQm94U3ZnLnggKyBib3VuZGluZ0JveFN2Zy53aWR0aCwgYm91bmRpbmdCb3hTdmcueSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKDQ1IDwgYW5nbGUgJiYgYW5nbGUgPCAxMzUpIHtcbiAgICAgICAgICAgIHlEaWZmZXJlbmNlRnJvbUJvdW5kYXJ5Q2VudHJlID0gY29tcHV0ZURpZmZlcmVuY2VGcm9tQm91bmRhcnlDZW50cmUoYW5nbGUsIDkwLCBib3VuZGluZ0JveFN2Zy53aWR0aCk7XG4gICAgICAgICAgICBwb2x5Z29uUG9pbnQgPSBuZXcgUG9pbnQoXG4gICAgICAgICAgICAgICAgYm91bmRpbmdCb3hTdmcueCArIGJvdW5kaW5nQm94U3ZnLndpZHRoLFxuICAgICAgICAgICAgICAgIGJvdW5kaW5nQm94U3ZnLnkgKyBib3VuZGluZ0JveFN2Zy5oZWlnaHQgLyAyIC0geURpZmZlcmVuY2VGcm9tQm91bmRhcnlDZW50cmVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChfYWRqdXN0SWZDb3VudGVyQ2xvY2t3aXNlKHBvbHlnb25Qb2ludCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKDEzNSA8PSBhbmdsZSkge1xuICAgICAgICAgICAgcG9pbnRzLnB1c2goXG4gICAgICAgICAgICAgICAgX2FkanVzdElmQ291bnRlckNsb2Nrd2lzZShcbiAgICAgICAgICAgICAgICAgICAgbmV3IFBvaW50KGJvdW5kaW5nQm94U3ZnLnggKyBib3VuZGluZ0JveFN2Zy53aWR0aCwgYm91bmRpbmdCb3hTdmcueSArIGJvdW5kaW5nQm94U3ZnLmhlaWdodClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKDEzNSA8IGFuZ2xlICYmIGFuZ2xlIDwgMjI1KSB7XG4gICAgICAgICAgICB4RGlmZmVyZW5jZUZyb21Cb3VuZGFyeUNlbnRyZSA9IGNvbXB1dGVEaWZmZXJlbmNlRnJvbUJvdW5kYXJ5Q2VudHJlKGFuZ2xlLCAxODAsIGJvdW5kaW5nQm94U3ZnLmhlaWdodCk7XG4gICAgICAgICAgICBwb2x5Z29uUG9pbnQgPSBuZXcgUG9pbnQoXG4gICAgICAgICAgICAgICAgYm91bmRpbmdCb3hTdmcueCArIGJvdW5kaW5nQm94U3ZnLndpZHRoIC8gMiArIHhEaWZmZXJlbmNlRnJvbUJvdW5kYXJ5Q2VudHJlLFxuICAgICAgICAgICAgICAgIGJvdW5kaW5nQm94U3ZnLnkgKyBib3VuZGluZ0JveFN2Zy5oZWlnaHRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChfYWRqdXN0SWZDb3VudGVyQ2xvY2t3aXNlKHBvbHlnb25Qb2ludCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKDIyNSA8PSBhbmdsZSkge1xuICAgICAgICAgICAgcG9pbnRzLnB1c2goXG4gICAgICAgICAgICAgICAgX2FkanVzdElmQ291bnRlckNsb2Nrd2lzZShuZXcgUG9pbnQoYm91bmRpbmdCb3hTdmcueCwgYm91bmRpbmdCb3hTdmcueSArIGJvdW5kaW5nQm94U3ZnLmhlaWdodCkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKDIyNSA8IGFuZ2xlICYmIGFuZ2xlIDwgMzE1KSB7XG4gICAgICAgICAgICB5RGlmZmVyZW5jZUZyb21Cb3VuZGFyeUNlbnRyZSA9IGNvbXB1dGVEaWZmZXJlbmNlRnJvbUJvdW5kYXJ5Q2VudHJlKGFuZ2xlLCAyNzAsIGJvdW5kaW5nQm94U3ZnLndpZHRoKTtcbiAgICAgICAgICAgIHBvbHlnb25Qb2ludCA9IG5ldyBQb2ludChcbiAgICAgICAgICAgICAgICBib3VuZGluZ0JveFN2Zy54LFxuICAgICAgICAgICAgICAgIGJvdW5kaW5nQm94U3ZnLnkgKyBib3VuZGluZ0JveFN2Zy5oZWlnaHQgLyAyICsgeURpZmZlcmVuY2VGcm9tQm91bmRhcnlDZW50cmVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChfYWRqdXN0SWZDb3VudGVyQ2xvY2t3aXNlKHBvbHlnb25Qb2ludCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKDMxNSA8PSBhbmdsZSkge1xuICAgICAgICAgICAgcG9pbnRzLnB1c2goX2FkanVzdElmQ291bnRlckNsb2Nrd2lzZShuZXcgUG9pbnQoYm91bmRpbmdCb3hTdmcueCwgYm91bmRpbmdCb3hTdmcueSkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgzMTUgPCBhbmdsZSAmJiBhbmdsZSA8PSAzNjApIHtcbiAgICAgICAgICAgIHhEaWZmZXJlbmNlRnJvbUJvdW5kYXJ5Q2VudHJlID0gY29tcHV0ZURpZmZlcmVuY2VGcm9tQm91bmRhcnlDZW50cmUoYW5nbGUsIDM2MCwgYm91bmRpbmdCb3hTdmcuaGVpZ2h0KTtcbiAgICAgICAgICAgIHBvbHlnb25Qb2ludCA9IG5ldyBQb2ludChcbiAgICAgICAgICAgICAgICBib3VuZGluZ0JveFN2Zy54ICsgYm91bmRpbmdCb3hTdmcud2lkdGggLyAyIC0geERpZmZlcmVuY2VGcm9tQm91bmRhcnlDZW50cmUsXG4gICAgICAgICAgICAgICAgYm91bmRpbmdCb3hTdmcueVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKF9hZGp1c3RJZkNvdW50ZXJDbG9ja3dpc2UocG9seWdvblBvaW50KSk7XG4gICAgICAgIH1cblxuICAgICAgICBwb2ludHMucHVzaChvQ2VudHJlUG9pbnQpO1xuXG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxufVxuIiwiPHNwYW5cbiAgICAqbmdJZj1cImxhYmVsUG9zaXRpb24gPT09ICdsZWZ0JyB8fCBsYWJlbFBvc2l0aW9uID09PSAndG9wJ1wiXG4gICAgW2NsYXNzLmZkLXN0YXR1cy1pbmRpY2F0b3JfX2xhYmVsLS1zbV09XCJsYWJlbFNpemUgPT09ICdzbSdcIlxuICAgIFtjbGFzcy5mZC1zdGF0dXMtaW5kaWNhdG9yX19sYWJlbC0tbWRdPVwibGFiZWxTaXplID09PSAnbWQnXCJcbiAgICBbY2xhc3MuZmQtc3RhdHVzLWluZGljYXRvcl9fbGFiZWwtLWxnXT1cImxhYmVsU2l6ZSA9PT0gJ2xnJ1wiXG4gICAgW2NsYXNzLmZkLXN0YXR1cy1pbmRpY2F0b3JfX2xhYmVsLS14bF09XCJsYWJlbFNpemUgPT09ICd4bCdcIlxuICAgIFtjbGFzcy5mZC1zdGF0dXMtaW5kaWNhdG9yX19sYWJlbC0tdG9wXT1cImxhYmVsUG9zaXRpb24gPT09ICd0b3AnXCJcbiAgICBbY2xhc3MuZmQtc3RhdHVzLWluZGljYXRvcl9fbGFiZWwtLWxlZnRdPVwibGFiZWxQb3NpdGlvbiA9PT0gJ2xlZnQnXCJcbiAgICBjbGFzcz1cImZkLXN0YXR1cy1pbmRpY2F0b3JfX2xhYmVsXCJcbiAgICA+e3sgc3RhdHVzTGFiZWwgfX1cbjwvc3Bhbj5cbjxzdmdcbiAgICBbYXR0ci5pZF09XCJpZFwiXG4gICAgZGF0YS1zYXAtdWk9XCJfX3NoYXBlMC1fX2JveDIxLTI0XCJcbiAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICBbYXR0ci52aWV3Qm94XT1cInZpZXdCb3hcIlxuICAgIHhsbW5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICBjbGFzcz1cImZkLXN0YXR1cy1pbmRpY2F0b3JfX3N2Z1wiXG4+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdmdUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9zdmc+XG48c3BhblxuICAgICpuZ0lmPVwibGFiZWxQb3NpdGlvbiA9PT0gJ3JpZ2h0JyB8fCBsYWJlbFBvc2l0aW9uID09PSAnYm90dG9tJ1wiXG4gICAgW2NsYXNzLmZkLXN0YXR1cy1pbmRpY2F0b3JfX2xhYmVsLS1zbV09XCJsYWJlbFNpemUgPT09ICdzbSdcIlxuICAgIFtjbGFzcy5mZC1zdGF0dXMtaW5kaWNhdG9yX19sYWJlbC0tbWRdPVwibGFiZWxTaXplID09PSAnbWQnXCJcbiAgICBbY2xhc3MuZmQtc3RhdHVzLWluZGljYXRvcl9fbGFiZWwtLWxnXT1cImxhYmVsU2l6ZSA9PT0gJ2xnJ1wiXG4gICAgW2NsYXNzLmZkLXN0YXR1cy1pbmRpY2F0b3JfX2xhYmVsLS14bF09XCJsYWJlbFNpemUgPT09ICd4bCdcIlxuICAgIFtjbGFzcy5mZC1zdGF0dXMtaW5kaWNhdG9yX19sYWJlbC0tcmlnaHRdPVwibGFiZWxQb3NpdGlvbiA9PT0gJ3JpZ2h0J1wiXG4gICAgW2NsYXNzLmZkLXN0YXR1cy1pbmRpY2F0b3JfX2xhYmVsLS1ib3R0b21dPVwibGFiZWxQb3NpdGlvbiA9PT0gJ2JvdHRvbSdcIlxuICAgIGNsYXNzPVwiZmQtc3RhdHVzLWluZGljYXRvcl9fbGFiZWxcIlxuICAgID57eyBzdGF0dXNMYWJlbCB9fVxuPC9zcGFuPlxuXG48bmctdGVtcGxhdGUgI3N2Z1RlbXBsYXRlPlxuICAgIDxzdmdcbiAgICAgICAgeGxtbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICAgICAgb3ZlcmZsb3c9XCJ2aXNpYmxlXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiaWQgKyBpXCJcbiAgICAgICAgZGF0YS1zYXAtdWk9XCJpZFwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBwYXRoIG9mIHBhdGg7IGxldCBpID0gaW5kZXhcIlxuICAgID5cbiAgICAgICAgPGRlZnM+XG4gICAgICAgICAgICA8bGluZWFyR3JhZGllbnRcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiEoZmlsbENhbGN1bGF0b3IgLSBpID4gMCAmJiBmaWxsQ2FsY3VsYXRvciAtIGkgPCAxKSB8fCBmaWxsaW5nVHlwZSAhPT0gJ3JhZGlhbCdcIlxuICAgICAgICAgICAgICAgIGlkPVwie3sgaWQgKyBpIH19LWdyYWRpZW50XCJcbiAgICAgICAgICAgICAgICBbYXR0ci54MV09XCJ4MVwiXG4gICAgICAgICAgICAgICAgW2F0dHIueTFdPVwieTFcIlxuICAgICAgICAgICAgICAgIFthdHRyLngyXT1cIngyXCJcbiAgICAgICAgICAgICAgICBbYXR0ci55Ml09XCJ5MlwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN0b3AgW2F0dHIub2Zmc2V0XT1cImZpbGxDYWxjdWxhdG9yIC0gaVwiIHN0b3AtY29sb3I9XCJ3aGl0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8YW5pbWF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlTmFtZT1cIm9mZnNldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyLnZhbHVlcz1cIjAsIHt7IGZpbGxDYWxjdWxhdG9yIC0gaSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBlYXRDb3VudD1cIjFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZHVyPVwiMXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW49XCIwc1wiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9zdG9wPlxuICAgICAgICAgICAgICAgIDxzdG9wIFthdHRyLm9mZnNldF09XCJmaWxsQ2FsY3VsYXRvciAtIGlcIiBzdG9wLWNvbG9yPVwidHJhbnNwYXJlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFuaW1hdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZU5hbWU9XCJvZmZzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci52YWx1ZXM9XCIwLCB7eyBmaWxsQ2FsY3VsYXRvciAtIGkgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGR1cj1cIjFzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luPVwiMHNcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvc3RvcD5cbiAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICAgICAgICA8bWFzayAjbWFza1RlbXBsYXRlIGlkPVwie3sgaWQgKyBpIH19LW1hc2tcIj5cbiAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiEoZmlsbENhbGN1bGF0b3IgLSBpID4gMCAmJiBmaWxsQ2FsY3VsYXRvciAtIGkgPCAxKSB8fCBmaWxsaW5nVHlwZSAhPT0gJ3JhZGlhbCdcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cInt7IGlkICsgaSB9fS1tYXNrLXNoYXBlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZF09XCJwYXRoXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIndoaXRlXCJcbiAgICAgICAgICAgICAgICAgICAgYXR0ci5maWxsPVwidXJsKCN7eyBpZCArIGkgfX0tZ3JhZGllbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICAgICAgICAgIDxwb2x5Z29uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmlsbGluZ1R5cGUgPT09ICdyYWRpYWwnICYmIGZpbGxDYWxjdWxhdG9yIC0gaSA+IDAgJiYgZmlsbENhbGN1bGF0b3IgLSBpIDwgMVwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwie3sgaWQgKyBpIH19LW1hc2stc2hhcGVcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5wb2ludHNdPVwicG9pbnRzQXJyYXlbaV1cIlxuICAgICAgICAgICAgICAgID48L3BvbHlnb24+XG4gICAgICAgICAgICA8L21hc2s+XG4gICAgICAgIDwvZGVmcz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGlkPVwie3sgaWQgKyBpIH19LXNoYXBlXCJcbiAgICAgICAgICAgIFthdHRyLmRdPVwicGF0aFwiXG4gICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwXCJcbiAgICAgICAgICAgIHN0cm9rZT1cIiM4OTkxOUFcIlxuICAgICAgICAgICAgYXR0ci5tYXNrPVwidXJsKCN7eyBpZCArIGkgfX0tbWFzaylcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJ7eyBpZCArIGkgfX0tc2hhcGUtYm9yZGVyXCJcbiAgICAgICAgICAgIFthdHRyLmRdPVwicGF0aFwiXG4gICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwLjI1XCJcbiAgICAgICAgICAgIHN0cm9rZT1cIiM4OTkxOUFcIlxuICAgICAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|