@porsche-design-system/components-angular 3.13.0 → 3.14.0-rc.0
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/CHANGELOG.md +26 -0
- package/esm/lib/components/accordion.wrapper.d.ts +1 -1
- package/esm/lib/components/banner.wrapper.d.ts +1 -1
- package/esm/lib/components/button-group.wrapper.d.ts +1 -1
- package/esm/lib/components/button-pure.wrapper.d.ts +1 -1
- package/esm/lib/components/button-tile.wrapper.d.ts +1 -1
- package/esm/lib/components/button.wrapper.d.ts +1 -1
- package/esm/lib/components/carousel.wrapper.d.ts +1 -1
- package/esm/lib/components/checkbox-wrapper.wrapper.d.ts +1 -1
- package/esm/lib/components/content-wrapper.wrapper.d.ts +1 -1
- package/esm/lib/components/crest.wrapper.d.ts +1 -1
- package/esm/lib/components/display.wrapper.d.ts +1 -1
- package/esm/lib/components/divider.wrapper.d.ts +1 -1
- package/esm/lib/components/fieldset-wrapper.wrapper.d.ts +1 -1
- package/esm/lib/components/fieldset.wrapper.d.ts +1 -1
- package/esm/lib/components/flex-item.wrapper.d.ts +1 -1
- package/esm/lib/components/flex.wrapper.d.ts +1 -1
- package/esm/lib/components/flyout-navigation-item.wrapper.d.ts +1 -1
- package/esm/lib/components/flyout-navigation.wrapper.d.ts +1 -1
- package/esm/lib/components/flyout.wrapper.d.ts +1 -1
- package/esm/lib/components/grid-item.wrapper.d.ts +1 -1
- package/esm/lib/components/grid.wrapper.d.ts +1 -1
- package/esm/lib/components/heading.wrapper.d.ts +1 -1
- package/esm/lib/components/headline.wrapper.d.ts +1 -1
- package/esm/lib/components/icon.wrapper.d.ts +1 -1
- package/esm/lib/components/inline-notification.wrapper.d.ts +1 -1
- package/esm/lib/components/link-pure.wrapper.d.ts +1 -1
- package/esm/lib/components/link-social.wrapper.d.ts +1 -1
- package/esm/lib/components/link-tile-model-signature.wrapper.d.ts +1 -1
- package/esm/lib/components/link-tile-product.wrapper.d.ts +1 -1
- package/esm/lib/components/link-tile.wrapper.d.ts +1 -1
- package/esm/lib/components/link.wrapper.d.ts +1 -1
- package/esm/lib/components/marque.wrapper.d.ts +1 -1
- package/esm/lib/components/modal.wrapper.d.ts +1 -1
- package/esm/lib/components/model-signature.wrapper.d.ts +1 -1
- package/esm/lib/components/multi-select-option.wrapper.d.ts +1 -1
- package/esm/lib/components/multi-select.wrapper.d.ts +1 -1
- package/esm/lib/components/pagination.wrapper.d.ts +1 -1
- package/esm/lib/components/pin-code.wrapper.d.ts +1 -1
- package/esm/lib/components/popover.wrapper.d.ts +1 -1
- package/esm/lib/components/radio-button-wrapper.wrapper.d.ts +1 -1
- package/esm/lib/components/scroller.wrapper.d.ts +1 -1
- package/esm/lib/components/segmented-control-item.wrapper.d.ts +1 -1
- package/esm/lib/components/segmented-control.wrapper.d.ts +1 -1
- package/esm/lib/components/select-option.wrapper.d.ts +1 -1
- package/esm/lib/components/select-wrapper.wrapper.d.ts +1 -1
- package/esm/lib/components/select.wrapper.d.ts +1 -1
- package/esm/lib/components/spinner.wrapper.d.ts +1 -1
- package/esm/lib/components/stepper-horizontal-item.wrapper.d.ts +1 -1
- package/esm/lib/components/stepper-horizontal.wrapper.d.ts +1 -1
- package/esm/lib/components/switch.wrapper.d.ts +1 -1
- package/esm/lib/components/table-cell.wrapper.d.ts +1 -1
- package/esm/lib/components/table-head-cell.wrapper.d.ts +1 -1
- package/esm/lib/components/table.wrapper.d.ts +1 -1
- package/esm/lib/components/tabs-bar.wrapper.d.ts +1 -1
- package/esm/lib/components/tabs-item.wrapper.d.ts +1 -1
- package/esm/lib/components/tabs.wrapper.d.ts +1 -1
- package/esm/lib/components/tag-dismissible.wrapper.d.ts +1 -1
- package/esm/lib/components/tag.wrapper.d.ts +1 -1
- package/esm/lib/components/text-field-wrapper.wrapper.d.ts +1 -1
- package/esm/lib/components/text-list.wrapper.d.ts +1 -1
- package/esm/lib/components/text.wrapper.d.ts +1 -1
- package/esm/lib/components/textarea-wrapper.wrapper.d.ts +1 -1
- package/esm/lib/components/toast.wrapper.d.ts +1 -1
- package/esm/lib/components/wordmark.wrapper.d.ts +1 -1
- package/esm/lib/types.d.ts +1 -0
- package/esm/utils.d.ts +1 -4
- package/esm2022/lib/components/accordion.wrapper.mjs +26 -0
- package/esm2022/lib/components/banner.wrapper.mjs +28 -0
- package/esm2022/lib/components/button-group.wrapper.mjs +17 -0
- package/esm2022/lib/components/button-pure.wrapper.mjs +32 -0
- package/esm2022/lib/components/button-tile.wrapper.mjs +31 -0
- package/esm2022/lib/components/button.wrapper.mjs +27 -0
- package/esm2022/lib/components/carousel.wrapper.mjs +37 -0
- package/{esm2020 → esm2022}/lib/components/checkbox-wrapper.wrapper.mjs +10 -4
- package/esm2022/lib/components/content-wrapper.wrapper.mjs +22 -0
- package/esm2022/lib/components/crest.wrapper.mjs +19 -0
- package/esm2022/lib/components/display.wrapper.mjs +22 -0
- package/esm2022/lib/components/divider.wrapper.mjs +21 -0
- package/{esm2020 → esm2022}/lib/components/fieldset-wrapper.wrapper.mjs +10 -4
- package/esm2022/lib/components/fieldset.wrapper.mjs +22 -0
- package/esm2022/lib/components/flex-item.wrapper.mjs +23 -0
- package/esm2022/lib/components/flex.wrapper.mjs +23 -0
- package/esm2022/lib/components/flyout-navigation-item.wrapper.mjs +18 -0
- package/esm2022/lib/components/flyout-navigation.wrapper.mjs +23 -0
- package/esm2022/lib/components/flyout.wrapper.mjs +22 -0
- package/esm2022/lib/components/grid-item.wrapper.mjs +19 -0
- package/esm2022/lib/components/grid.wrapper.mjs +21 -0
- package/esm2022/lib/components/heading.wrapper.mjs +22 -0
- package/esm2022/lib/components/headline.wrapper.mjs +23 -0
- package/esm2022/lib/components/icon.wrapper.mjs +24 -0
- package/esm2022/lib/components/inline-notification.wrapper.mjs +29 -0
- package/esm2022/lib/components/link-pure.wrapper.mjs +32 -0
- package/esm2022/lib/components/link-social.wrapper.mjs +24 -0
- package/esm2022/lib/components/link-tile-model-signature.wrapper.mjs +23 -0
- package/esm2022/lib/components/link-tile-product.wrapper.mjs +29 -0
- package/esm2022/lib/components/link-tile.wrapper.mjs +30 -0
- package/esm2022/lib/components/link.wrapper.mjs +26 -0
- package/esm2022/lib/components/marque.wrapper.mjs +23 -0
- package/esm2022/lib/components/modal.wrapper.mjs +30 -0
- package/esm2022/lib/components/model-signature.wrapper.mjs +20 -0
- package/esm2022/lib/components/multi-select-option.wrapper.mjs +18 -0
- package/esm2022/lib/components/multi-select.wrapper.mjs +29 -0
- package/esm2022/lib/components/pagination.wrapper.mjs +36 -0
- package/esm2022/lib/components/pin-code.wrapper.mjs +31 -0
- package/esm2022/lib/components/popover.wrapper.mjs +20 -0
- package/{esm2020 → esm2022}/lib/components/radio-button-wrapper.wrapper.mjs +10 -4
- package/esm2022/lib/components/scroller.wrapper.mjs +26 -0
- package/esm2022/lib/components/segmented-control-item.wrapper.mjs +21 -0
- package/esm2022/lib/components/segmented-control.wrapper.mjs +25 -0
- package/esm2022/lib/components/select-option.wrapper.mjs +18 -0
- package/esm2022/lib/components/select-wrapper.wrapper.mjs +25 -0
- package/esm2022/lib/components/select.wrapper.mjs +29 -0
- package/esm2022/lib/components/spinner.wrapper.mjs +19 -0
- package/esm2022/lib/components/stepper-horizontal-item.wrapper.mjs +18 -0
- package/esm2022/lib/components/stepper-horizontal.wrapper.mjs +22 -0
- package/esm2022/lib/components/switch.wrapper.mjs +27 -0
- package/{esm2020 → esm2022}/lib/components/table-body.wrapper.mjs +4 -4
- package/esm2022/lib/components/table-cell.wrapper.mjs +17 -0
- package/{esm2020 → esm2022}/lib/components/table-head-cell.wrapper.mjs +7 -4
- package/{esm2020 → esm2022}/lib/components/table-head-row.wrapper.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/table-head.wrapper.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/table-row.wrapper.mjs +4 -4
- package/esm2022/lib/components/table.wrapper.mjs +22 -0
- package/esm2022/lib/components/tabs-bar.wrapper.mjs +27 -0
- package/{esm2020 → esm2022}/lib/components/tabs-item.wrapper.mjs +5 -4
- package/esm2022/lib/components/tabs.wrapper.mjs +27 -0
- package/esm2022/lib/components/tag-dismissible.wrapper.mjs +20 -0
- package/esm2022/lib/components/tag.wrapper.mjs +20 -0
- package/esm2022/lib/components/text-field-wrapper.wrapper.mjs +33 -0
- package/{esm2020 → esm2022}/lib/components/text-list-item.wrapper.mjs +4 -4
- package/esm2022/lib/components/text-list.wrapper.mjs +22 -0
- package/esm2022/lib/components/text.wrapper.mjs +23 -0
- package/esm2022/lib/components/textarea-wrapper.wrapper.mjs +25 -0
- package/esm2022/lib/components/toast.wrapper.mjs +17 -0
- package/esm2022/lib/components/wordmark.wrapper.mjs +21 -0
- package/esm2022/lib/types.mjs +2 -0
- package/esm2022/porsche-design-system.module.mjs +124 -0
- package/{esm2020 → esm2022}/toast-manager.mjs +4 -4
- package/esm2022/utils.mjs +44 -0
- package/fesm2022/porsche-design-system-components-angular.mjs +1587 -0
- package/fesm2022/porsche-design-system-components-angular.mjs.map +1 -0
- package/jsdom-polyfill/index.d.ts +1 -0
- package/package.json +8 -14
- package/esm2020/lib/components/accordion.wrapper.mjs +0 -23
- package/esm2020/lib/components/banner.wrapper.mjs +0 -21
- package/esm2020/lib/components/button-group.wrapper.mjs +0 -16
- package/esm2020/lib/components/button-pure.wrapper.mjs +0 -16
- package/esm2020/lib/components/button-tile.wrapper.mjs +0 -16
- package/esm2020/lib/components/button.wrapper.mjs +0 -16
- package/esm2020/lib/components/carousel.wrapper.mjs +0 -23
- package/esm2020/lib/components/content-wrapper.wrapper.mjs +0 -17
- package/esm2020/lib/components/crest.wrapper.mjs +0 -16
- package/esm2020/lib/components/display.wrapper.mjs +0 -16
- package/esm2020/lib/components/divider.wrapper.mjs +0 -16
- package/esm2020/lib/components/fieldset.wrapper.mjs +0 -16
- package/esm2020/lib/components/flex-item.wrapper.mjs +0 -17
- package/esm2020/lib/components/flex.wrapper.mjs +0 -17
- package/esm2020/lib/components/flyout-navigation-item.wrapper.mjs +0 -16
- package/esm2020/lib/components/flyout-navigation.wrapper.mjs +0 -22
- package/esm2020/lib/components/flyout.wrapper.mjs +0 -21
- package/esm2020/lib/components/grid-item.wrapper.mjs +0 -17
- package/esm2020/lib/components/grid.wrapper.mjs +0 -17
- package/esm2020/lib/components/heading.wrapper.mjs +0 -16
- package/esm2020/lib/components/headline.wrapper.mjs +0 -17
- package/esm2020/lib/components/icon.wrapper.mjs +0 -16
- package/esm2020/lib/components/inline-notification.wrapper.mjs +0 -22
- package/esm2020/lib/components/link-pure.wrapper.mjs +0 -16
- package/esm2020/lib/components/link-social.wrapper.mjs +0 -17
- package/esm2020/lib/components/link-tile-model-signature.wrapper.mjs +0 -16
- package/esm2020/lib/components/link-tile-product.wrapper.mjs +0 -21
- package/esm2020/lib/components/link-tile.wrapper.mjs +0 -16
- package/esm2020/lib/components/link.wrapper.mjs +0 -16
- package/esm2020/lib/components/marque.wrapper.mjs +0 -17
- package/esm2020/lib/components/modal.wrapper.mjs +0 -23
- package/esm2020/lib/components/model-signature.wrapper.mjs +0 -16
- package/esm2020/lib/components/multi-select-option.wrapper.mjs +0 -16
- package/esm2020/lib/components/multi-select.wrapper.mjs +0 -21
- package/esm2020/lib/components/pagination.wrapper.mjs +0 -23
- package/esm2020/lib/components/pin-code.wrapper.mjs +0 -21
- package/esm2020/lib/components/popover.wrapper.mjs +0 -16
- package/esm2020/lib/components/scroller.wrapper.mjs +0 -16
- package/esm2020/lib/components/segmented-control-item.wrapper.mjs +0 -16
- package/esm2020/lib/components/segmented-control.wrapper.mjs +0 -23
- package/esm2020/lib/components/select-option.wrapper.mjs +0 -16
- package/esm2020/lib/components/select-wrapper.wrapper.mjs +0 -16
- package/esm2020/lib/components/select.wrapper.mjs +0 -21
- package/esm2020/lib/components/spinner.wrapper.mjs +0 -16
- package/esm2020/lib/components/stepper-horizontal-item.wrapper.mjs +0 -16
- package/esm2020/lib/components/stepper-horizontal.wrapper.mjs +0 -23
- package/esm2020/lib/components/switch.wrapper.mjs +0 -23
- package/esm2020/lib/components/table-cell.wrapper.mjs +0 -16
- package/esm2020/lib/components/table.wrapper.mjs +0 -23
- package/esm2020/lib/components/tabs-bar.wrapper.mjs +0 -23
- package/esm2020/lib/components/tabs.wrapper.mjs +0 -23
- package/esm2020/lib/components/tag-dismissible.wrapper.mjs +0 -16
- package/esm2020/lib/components/tag.wrapper.mjs +0 -16
- package/esm2020/lib/components/text-field-wrapper.wrapper.mjs +0 -21
- package/esm2020/lib/components/text-list.wrapper.mjs +0 -16
- package/esm2020/lib/components/text.wrapper.mjs +0 -16
- package/esm2020/lib/components/textarea-wrapper.wrapper.mjs +0 -16
- package/esm2020/lib/components/toast.wrapper.mjs +0 -16
- package/esm2020/lib/components/wordmark.wrapper.mjs +0 -16
- package/esm2020/lib/types.mjs +0 -2
- package/esm2020/porsche-design-system.module.mjs +0 -127
- package/esm2020/utils.mjs +0 -45
- package/fesm2015/porsche-design-system-components-angular.mjs +0 -1214
- package/fesm2015/porsche-design-system-components-angular.mjs.map +0 -1
- package/fesm2020/porsche-design-system-components-angular.mjs +0 -1212
- package/fesm2020/porsche-design-system-components-angular.mjs.map +0 -1
- package/jsdom-polyfill/package.json +0 -5
- package/partials/package.json +0 -6
- package/styles/package.json +0 -6
- package/testing/package.json +0 -5
- /package/{esm2020 → esm2022}/lib/components/barrel.mjs +0 -0
- /package/{esm2020 → esm2022}/porsche-design-system-components-angular.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { BaseComponentWithTheme } from '../../utils';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class PWordmark extends BaseComponentWithTheme {
|
|
5
|
-
}
|
|
6
|
-
PWordmark.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PWordmark, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
-
PWordmark.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PWordmark, selector: "p-wordmark,[p-wordmark]", inputs: { aria: "aria", href: "href", size: "size", target: "target", theme: "theme" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true });
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PWordmark, decorators: [{
|
|
9
|
-
type: Component,
|
|
10
|
-
args: [{
|
|
11
|
-
selector: 'p-wordmark,[p-wordmark]',
|
|
12
|
-
template: '<ng-content />',
|
|
13
|
-
inputs: ['aria', 'href', 'size', 'target', 'theme']
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yZG1hcmsud3JhcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItd3JhcHBlci9zcmMvbGliL2NvbXBvbmVudHMvd29yZG1hcmsud3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFRckQsTUFBTSxPQUFPLFNBQVUsU0FBUSxzQkFBc0I7O3VHQUF4QyxTQUFTOzJGQUFULFNBQVMsOEtBSFYsZ0JBQWdCOzRGQUdmLFNBQVM7a0JBTHJCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQztpQkFDcEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnRXaXRoVGhlbWUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdGVkQXJpYUF0dHJpYnV0ZXMsIFdvcmRtYXJrQXJpYUF0dHJpYnV0ZSwgV29yZG1hcmtTaXplLCBXb3JkbWFya1RhcmdldCwgVGhlbWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Atd29yZG1hcmssW3Atd29yZG1hcmtdJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudCAvPicsXG4gIGlucHV0czogWydhcmlhJywgJ2hyZWYnLCAnc2l6ZScsICd0YXJnZXQnLCAndGhlbWUnXVxufSlcbmV4cG9ydCBjbGFzcyBQV29yZG1hcmsgZXh0ZW5kcyBCYXNlQ29tcG9uZW50V2l0aFRoZW1lIHtcbiAgYXJpYT86IFNlbGVjdGVkQXJpYUF0dHJpYnV0ZXM8V29yZG1hcmtBcmlhQXR0cmlidXRlPjtcbiAgaHJlZj86IHN0cmluZztcbiAgc2l6ZT86IFdvcmRtYXJrU2l6ZTtcbiAgdGFyZ2V0PzogV29yZG1hcmtUYXJnZXQ7XG4gIGRlY2xhcmUgdGhlbWU/OiBUaGVtZTtcbn0iXX0=
|
package/esm2020/lib/types.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXdyYXBwZXIvc3JjL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbi8qIEF1dG8gR2VuZXJhdGVkIEJlbG93ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvcXVvdGVzICovXG5leHBvcnQgdHlwZSBCb29sZWFuaXNoID0gYm9vbGVhbiB8IFwidHJ1ZVwiIHwgXCJmYWxzZVwiO1xuZXhwb3J0IHR5cGUgQXJpYUF0dHJpYnV0ZXMgPSB7XG5cdC8qKiBJZGVudGlmaWVzIHRoZSBjdXJyZW50bHkgYWN0aXZlIGVsZW1lbnQgd2hlbiBET00gZm9jdXMgaXMgb24gYSBjb21wb3NpdGUgd2lkZ2V0LCB0ZXh0Ym94LCBncm91cCwgb3IgYXBwbGljYXRpb24uICovXG5cdFwiYXJpYS1hY3RpdmVkZXNjZW5kYW50XCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgd2hldGhlciBhc3Npc3RpdmUgdGVjaG5vbG9naWVzIHdpbGwgcHJlc2VudCBhbGwsIG9yIG9ubHkgcGFydHMgb2YsIHRoZSBjaGFuZ2VkIHJlZ2lvbiBiYXNlZCBvbiB0aGUgY2hhbmdlIG5vdGlmaWNhdGlvbnMgZGVmaW5lZCBieSB0aGUgYXJpYS1yZWxldmFudCBhdHRyaWJ1dGUuICovXG5cdFwiYXJpYS1hdG9taWNcIj86IEJvb2xlYW5pc2ggfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJbmRpY2F0ZXMgd2hldGhlciBpbnB1dHRpbmcgdGV4dCBjb3VsZCB0cmlnZ2VyIGRpc3BsYXkgb2Ygb25lIG9yIG1vcmUgcHJlZGljdGlvbnMgb2YgdGhlIHVzZXIncyBpbnRlbmRlZCB2YWx1ZSBmb3IgYW4gaW5wdXQgYW5kIHNwZWNpZmllcyBob3cgcHJlZGljdGlvbnMgd291bGQgYmVcblx0ICogcHJlc2VudGVkIGlmIHRoZXkgYXJlIG1hZGUuXG5cdCAqL1xuXHRcImFyaWEtYXV0b2NvbXBsZXRlXCI/OiBcIm5vbmVcIiB8IFwiaW5saW5lXCIgfCBcImxpc3RcIiB8IFwiYm90aFwiIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIGFuIGVsZW1lbnQgaXMgYmVpbmcgbW9kaWZpZWQgYW5kIHRoYXQgYXNzaXN0aXZlIHRlY2hub2xvZ2llcyBNQVkgd2FudCB0byB3YWl0IHVudGlsIHRoZSBtb2RpZmljYXRpb25zIGFyZSBjb21wbGV0ZSBiZWZvcmUgZXhwb3NpbmcgdGhlbSB0byB0aGUgdXNlci4gKi9cblx0LyoqXG5cdCAqIERlZmluZXMgYSBzdHJpbmcgdmFsdWUgdGhhdCBsYWJlbHMgdGhlIGN1cnJlbnQgZWxlbWVudCwgd2hpY2ggaXMgaW50ZW5kZWQgdG8gYmUgY29udmVydGVkIGludG8gQnJhaWxsZS5cblx0ICogQHNlZSBhcmlhLWxhYmVsLlxuXHQgKi9cblx0XCJhcmlhLWJyYWlsbGVsYWJlbFwiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogRGVmaW5lcyBhIGh1bWFuLXJlYWRhYmxlLCBhdXRob3ItbG9jYWxpemVkIGFiYnJldmlhdGVkIGRlc2NyaXB0aW9uIGZvciB0aGUgcm9sZSBvZiBhbiBlbGVtZW50LCB3aGljaCBpcyBpbnRlbmRlZCB0byBiZSBjb252ZXJ0ZWQgaW50byBCcmFpbGxlLlxuXHQgKiBAc2VlIGFyaWEtcm9sZWRlc2NyaXB0aW9uLlxuXHQgKi9cblx0XCJhcmlhLWJyYWlsbGVyb2xlZGVzY3JpcHRpb25cIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0XCJhcmlhLWJ1c3lcIj86IEJvb2xlYW5pc2ggfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgXCJjaGVja2VkXCIgc3RhdGUgb2YgY2hlY2tib3hlcywgcmFkaW8gYnV0dG9ucywgYW5kIG90aGVyIHdpZGdldHMuXG5cdCAqIEBzZWUgYXJpYS1wcmVzc2VkIEBzZWUgYXJpYS1zZWxlY3RlZC5cblx0ICovXG5cdFwiYXJpYS1jaGVja2VkXCI/OiBib29sZWFuIHwgXCJmYWxzZVwiIHwgXCJtaXhlZFwiIHwgXCJ0cnVlXCIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiBhIHRhYmxlLCBncmlkLCBvciB0cmVlZ3JpZC5cblx0ICogQHNlZSBhcmlhLWNvbGluZGV4LlxuXHQgKi9cblx0XCJhcmlhLWNvbGNvdW50XCI/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIGFuIGVsZW1lbnQncyBjb2x1bW4gaW5kZXggb3IgcG9zaXRpb24gd2l0aCByZXNwZWN0IHRvIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyB3aXRoaW4gYSB0YWJsZSwgZ3JpZCwgb3IgdHJlZWdyaWQuXG5cdCAqIEBzZWUgYXJpYS1jb2xjb3VudCBAc2VlIGFyaWEtY29sc3Bhbi5cblx0ICovXG5cdFwiYXJpYS1jb2xpbmRleFwiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogRGVmaW5lcyBhIGh1bWFuIHJlYWRhYmxlIHRleHQgYWx0ZXJuYXRpdmUgb2YgYXJpYS1jb2xpbmRleC5cblx0ICogQHNlZSBhcmlhLXJvd2luZGV4dGV4dC5cblx0ICovXG5cdFwiYXJpYS1jb2xpbmRleHRleHRcIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIG51bWJlciBvZiBjb2x1bW5zIHNwYW5uZWQgYnkgYSBjZWxsIG9yIGdyaWRjZWxsIHdpdGhpbiBhIHRhYmxlLCBncmlkLCBvciB0cmVlZ3JpZC5cblx0ICogQHNlZSBhcmlhLWNvbGluZGV4IEBzZWUgYXJpYS1yb3dzcGFuLlxuXHQgKi9cblx0XCJhcmlhLWNvbHNwYW5cIj86IG51bWJlciB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIElkZW50aWZpZXMgdGhlIGVsZW1lbnQgKG9yIGVsZW1lbnRzKSB3aG9zZSBjb250ZW50cyBvciBwcmVzZW5jZSBhcmUgY29udHJvbGxlZCBieSB0aGUgY3VycmVudCBlbGVtZW50LlxuXHQgKiBAc2VlIGFyaWEtb3ducy5cblx0ICovXG5cdFwiYXJpYS1jb250cm9sc1wiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIHRoZSBlbGVtZW50IHRoYXQgcmVwcmVzZW50cyB0aGUgY3VycmVudCBpdGVtIHdpdGhpbiBhIGNvbnRhaW5lciBvciBzZXQgb2YgcmVsYXRlZCBlbGVtZW50cy4gKi9cblx0XCJhcmlhLWN1cnJlbnRcIj86IGJvb2xlYW4gfCBcImZhbHNlXCIgfCBcInRydWVcIiB8IFwicGFnZVwiIHwgXCJzdGVwXCIgfCBcImxvY2F0aW9uXCIgfCBcImRhdGVcIiB8IFwidGltZVwiIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSWRlbnRpZmllcyB0aGUgZWxlbWVudCAob3IgZWxlbWVudHMpIHRoYXQgZGVzY3JpYmVzIHRoZSBvYmplY3QuXG5cdCAqIEBzZWUgYXJpYS1sYWJlbGxlZGJ5XG5cdCAqL1xuXHRcImFyaWEtZGVzY3JpYmVkYnlcIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIERlZmluZXMgYSBzdHJpbmcgdmFsdWUgdGhhdCBkZXNjcmliZXMgb3IgYW5ub3RhdGVzIHRoZSBjdXJyZW50IGVsZW1lbnQuXG5cdCAqIEBzZWUgcmVsYXRlZCBhcmlhLWRlc2NyaWJlZGJ5LlxuXHQgKi9cblx0XCJhcmlhLWRlc2NyaXB0aW9uXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJZGVudGlmaWVzIHRoZSBlbGVtZW50IHRoYXQgcHJvdmlkZXMgYSBkZXRhaWxlZCwgZXh0ZW5kZWQgZGVzY3JpcHRpb24gZm9yIHRoZSBvYmplY3QuXG5cdCAqIEBzZWUgYXJpYS1kZXNjcmliZWRieS5cblx0ICovXG5cdFwiYXJpYS1kZXRhaWxzXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgZWxlbWVudCBpcyBwZXJjZWl2YWJsZSBidXQgZGlzYWJsZWQsIHNvIGl0IGlzIG5vdCBlZGl0YWJsZSBvciBvdGhlcndpc2Ugb3BlcmFibGUuXG5cdCAqIEBzZWUgYXJpYS1oaWRkZW4gQHNlZSBhcmlhLXJlYWRvbmx5LlxuXHQgKi9cblx0XCJhcmlhLWRpc2FibGVkXCI/OiBCb29sZWFuaXNoIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHdoYXQgZnVuY3Rpb25zIGNhbiBiZSBwZXJmb3JtZWQgd2hlbiBhIGRyYWdnZWQgb2JqZWN0IGlzIHJlbGVhc2VkIG9uIHRoZSBkcm9wIHRhcmdldC5cblx0ICogQGRlcHJlY2F0ZWQgaW4gQVJJQSAxLjFcblx0ICovXG5cdFwiYXJpYS1kcm9wZWZmZWN0XCI/OiBcIm5vbmVcIiB8IFwiY29weVwiIHwgXCJleGVjdXRlXCIgfCBcImxpbmtcIiB8IFwibW92ZVwiIHwgXCJwb3B1cFwiIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSWRlbnRpZmllcyB0aGUgZWxlbWVudCB0aGF0IHByb3ZpZGVzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoZSBvYmplY3QuXG5cdCAqIEBzZWUgYXJpYS1pbnZhbGlkIEBzZWUgYXJpYS1kZXNjcmliZWRieS5cblx0ICovXG5cdFwiYXJpYS1lcnJvcm1lc3NhZ2VcIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBlbGVtZW50LCBvciBhbm90aGVyIGdyb3VwaW5nIGVsZW1lbnQgaXQgY29udHJvbHMsIGlzIGN1cnJlbnRseSBleHBhbmRlZCBvciBjb2xsYXBzZWQuICovXG5cdFwiYXJpYS1leHBhbmRlZFwiPzogQm9vbGVhbmlzaCB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIElkZW50aWZpZXMgdGhlIG5leHQgZWxlbWVudCAob3IgZWxlbWVudHMpIGluIGFuIGFsdGVybmF0ZSByZWFkaW5nIG9yZGVyIG9mIGNvbnRlbnQgd2hpY2gsIGF0IHRoZSB1c2VyJ3MgZGlzY3JldGlvbixcblx0ICogYWxsb3dzIGFzc2lzdGl2ZSB0ZWNobm9sb2d5IHRvIG92ZXJyaWRlIHRoZSBnZW5lcmFsIGRlZmF1bHQgb2YgcmVhZGluZyBpbiBkb2N1bWVudCBzb3VyY2Ugb3JkZXIuXG5cdCAqL1xuXHRcImFyaWEtZmxvd3RvXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJbmRpY2F0ZXMgYW4gZWxlbWVudCdzIFwiZ3JhYmJlZFwiIHN0YXRlIGluIGEgZHJhZy1hbmQtZHJvcCBvcGVyYXRpb24uXG5cdCAqIEBkZXByZWNhdGVkIGluIEFSSUEgMS4xXG5cdCAqL1xuXHRcImFyaWEtZ3JhYmJlZFwiPzogQm9vbGVhbmlzaCB8IHVuZGVmaW5lZDtcblx0LyoqIEluZGljYXRlcyB0aGUgYXZhaWxhYmlsaXR5IGFuZCB0eXBlIG9mIGludGVyYWN0aXZlIHBvcHVwIGVsZW1lbnQsIHN1Y2ggYXMgbWVudSBvciBkaWFsb2csIHRoYXQgY2FuIGJlIHRyaWdnZXJlZCBieSBhbiBlbGVtZW50LiAqL1xuXHRcImFyaWEtaGFzcG9wdXBcIj86IGJvb2xlYW4gfCBcImZhbHNlXCIgfCBcInRydWVcIiB8IFwibWVudVwiIHwgXCJsaXN0Ym94XCIgfCBcInRyZWVcIiB8IFwiZ3JpZFwiIHwgXCJkaWFsb2dcIiB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBlbGVtZW50IGlzIGV4cG9zZWQgdG8gYW4gYWNjZXNzaWJpbGl0eSBBUEkuXG5cdCAqIEBzZWUgYXJpYS1kaXNhYmxlZC5cblx0ICovXG5cdFwiYXJpYS1oaWRkZW5cIj86IEJvb2xlYW5pc2ggfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJbmRpY2F0ZXMgdGhlIGVudGVyZWQgdmFsdWUgZG9lcyBub3QgY29uZm9ybSB0byB0aGUgZm9ybWF0IGV4cGVjdGVkIGJ5IHRoZSBhcHBsaWNhdGlvbi5cblx0ICogQHNlZSBhcmlhLWVycm9ybWVzc2FnZS5cblx0ICovXG5cdFwiYXJpYS1pbnZhbGlkXCI/OiBib29sZWFuIHwgXCJmYWxzZVwiIHwgXCJ0cnVlXCIgfCBcImdyYW1tYXJcIiB8IFwic3BlbGxpbmdcIiB8IHVuZGVmaW5lZDtcblx0LyoqIEluZGljYXRlcyBrZXlib2FyZCBzaG9ydGN1dHMgdGhhdCBhbiBhdXRob3IgaGFzIGltcGxlbWVudGVkIHRvIGFjdGl2YXRlIG9yIGdpdmUgZm9jdXMgdG8gYW4gZWxlbWVudC4gKi9cblx0XCJhcmlhLWtleXNob3J0Y3V0c1wiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogRGVmaW5lcyBhIHN0cmluZyB2YWx1ZSB0aGF0IGxhYmVscyB0aGUgY3VycmVudCBlbGVtZW50LlxuXHQgKiBAc2VlIGFyaWEtbGFiZWxsZWRieS5cblx0ICovXG5cdFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSWRlbnRpZmllcyB0aGUgZWxlbWVudCAob3IgZWxlbWVudHMpIHRoYXQgbGFiZWxzIHRoZSBjdXJyZW50IGVsZW1lbnQuXG5cdCAqIEBzZWUgYXJpYS1kZXNjcmliZWRieS5cblx0ICovXG5cdFwiYXJpYS1sYWJlbGxlZGJ5XCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKiBEZWZpbmVzIHRoZSBoaWVyYXJjaGljYWwgbGV2ZWwgb2YgYW4gZWxlbWVudCB3aXRoaW4gYSBzdHJ1Y3R1cmUuICovXG5cdFwiYXJpYS1sZXZlbFwiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIHRoYXQgYW4gZWxlbWVudCB3aWxsIGJlIHVwZGF0ZWQsIGFuZCBkZXNjcmliZXMgdGhlIHR5cGVzIG9mIHVwZGF0ZXMgdGhlIHVzZXIgYWdlbnRzLCBhc3Npc3RpdmUgdGVjaG5vbG9naWVzLCBhbmQgdXNlciBjYW4gZXhwZWN0IGZyb20gdGhlIGxpdmUgcmVnaW9uLiAqL1xuXHRcImFyaWEtbGl2ZVwiPzogXCJvZmZcIiB8IFwiYXNzZXJ0aXZlXCIgfCBcInBvbGl0ZVwiIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIHdoZXRoZXIgYW4gZWxlbWVudCBpcyBtb2RhbCB3aGVuIGRpc3BsYXllZC4gKi9cblx0XCJhcmlhLW1vZGFsXCI/OiBCb29sZWFuaXNoIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIHdoZXRoZXIgYSB0ZXh0IGJveCBhY2NlcHRzIG11bHRpcGxlIGxpbmVzIG9mIGlucHV0IG9yIG9ubHkgYSBzaW5nbGUgbGluZS4gKi9cblx0XCJhcmlhLW11bHRpbGluZVwiPzogQm9vbGVhbmlzaCB8IHVuZGVmaW5lZDtcblx0LyoqIEluZGljYXRlcyB0aGF0IHRoZSB1c2VyIG1heSBzZWxlY3QgbW9yZSB0aGFuIG9uZSBpdGVtIGZyb20gdGhlIGN1cnJlbnQgc2VsZWN0YWJsZSBkZXNjZW5kYW50cy4gKi9cblx0XCJhcmlhLW11bHRpc2VsZWN0YWJsZVwiPzogQm9vbGVhbmlzaCB8IHVuZGVmaW5lZDtcblx0LyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBlbGVtZW50J3Mgb3JpZW50YXRpb24gaXMgaG9yaXpvbnRhbCwgdmVydGljYWwsIG9yIHVua25vd24vYW1iaWd1b3VzLiAqL1xuXHRcImFyaWEtb3JpZW50YXRpb25cIj86IFwiaG9yaXpvbnRhbFwiIHwgXCJ2ZXJ0aWNhbFwiIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSWRlbnRpZmllcyBhbiBlbGVtZW50IChvciBlbGVtZW50cykgaW4gb3JkZXIgdG8gZGVmaW5lIGEgdmlzdWFsLCBmdW5jdGlvbmFsLCBvciBjb250ZXh0dWFsIHBhcmVudC9jaGlsZCByZWxhdGlvbnNoaXBcblx0ICogYmV0d2VlbiBET00gZWxlbWVudHMgd2hlcmUgdGhlIERPTSBoaWVyYXJjaHkgY2Fubm90IGJlIHVzZWQgdG8gcmVwcmVzZW50IHRoZSByZWxhdGlvbnNoaXAuXG5cdCAqIEBzZWUgYXJpYS1jb250cm9scy5cblx0ICovXG5cdFwiYXJpYS1vd25zXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIGEgc2hvcnQgaGludCAoYSB3b3JkIG9yIHNob3J0IHBocmFzZSkgaW50ZW5kZWQgdG8gYWlkIHRoZSB1c2VyIHdpdGggZGF0YSBlbnRyeSB3aGVuIHRoZSBjb250cm9sIGhhcyBubyB2YWx1ZS5cblx0ICogQSBoaW50IGNvdWxkIGJlIGEgc2FtcGxlIHZhbHVlIG9yIGEgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdFwiYXJpYS1wbGFjZWhvbGRlclwiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogRGVmaW5lcyBhbiBlbGVtZW50J3MgbnVtYmVyIG9yIHBvc2l0aW9uIGluIHRoZSBjdXJyZW50IHNldCBvZiBsaXN0aXRlbXMgb3IgdHJlZWl0ZW1zLiBOb3QgcmVxdWlyZWQgaWYgYWxsIGVsZW1lbnRzIGluIHRoZSBzZXQgYXJlIHByZXNlbnQgaW4gdGhlIERPTS5cblx0ICogQHNlZSBhcmlhLXNldHNpemUuXG5cdCAqL1xuXHRcImFyaWEtcG9zaW5zZXRcIj86IG51bWJlciB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB0aGUgY3VycmVudCBcInByZXNzZWRcIiBzdGF0ZSBvZiB0b2dnbGUgYnV0dG9ucy5cblx0ICogQHNlZSBhcmlhLWNoZWNrZWQgQHNlZSBhcmlhLXNlbGVjdGVkLlxuXHQgKi9cblx0XCJhcmlhLXByZXNzZWRcIj86IGJvb2xlYW4gfCBcImZhbHNlXCIgfCBcIm1peGVkXCIgfCBcInRydWVcIiB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB0aGF0IHRoZSBlbGVtZW50IGlzIG5vdCBlZGl0YWJsZSwgYnV0IGlzIG90aGVyd2lzZSBvcGVyYWJsZS5cblx0ICogQHNlZSBhcmlhLWRpc2FibGVkLlxuXHQgKi9cblx0XCJhcmlhLXJlYWRvbmx5XCI/OiBCb29sZWFuaXNoIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHdoYXQgbm90aWZpY2F0aW9ucyB0aGUgdXNlciBhZ2VudCB3aWxsIHRyaWdnZXIgd2hlbiB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlIHdpdGhpbiBhIGxpdmUgcmVnaW9uIGlzIG1vZGlmaWVkLlxuXHQgKiBAc2VlIGFyaWEtYXRvbWljLlxuXHQgKi9cblx0XCJhcmlhLXJlbGV2YW50XCI/OiBcImFkZGl0aW9uc1wiIHwgXCJhZGRpdGlvbnMgcmVtb3ZhbHNcIiB8IFwiYWRkaXRpb25zIHRleHRcIiB8IFwiYWxsXCIgfCBcInJlbW92YWxzXCIgfCBcInJlbW92YWxzIGFkZGl0aW9uc1wiIHwgXCJyZW1vdmFscyB0ZXh0XCIgfCBcInRleHRcIiB8IFwidGV4dCBhZGRpdGlvbnNcIiB8IFwidGV4dCByZW1vdmFsc1wiIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIHRoYXQgdXNlciBpbnB1dCBpcyByZXF1aXJlZCBvbiB0aGUgZWxlbWVudCBiZWZvcmUgYSBmb3JtIG1heSBiZSBzdWJtaXR0ZWQuICovXG5cdFwiYXJpYS1yZXF1aXJlZFwiPzogQm9vbGVhbmlzaCB8IHVuZGVmaW5lZDtcblx0LyoqIERlZmluZXMgYSBodW1hbi1yZWFkYWJsZSwgYXV0aG9yLWxvY2FsaXplZCBkZXNjcmlwdGlvbiBmb3IgdGhlIHJvbGUgb2YgYW4gZWxlbWVudC4gKi9cblx0XCJhcmlhLXJvbGVkZXNjcmlwdGlvblwiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogRGVmaW5lcyB0aGUgdG90YWwgbnVtYmVyIG9mIHJvd3MgaW4gYSB0YWJsZSwgZ3JpZCwgb3IgdHJlZWdyaWQuXG5cdCAqIEBzZWUgYXJpYS1yb3dpbmRleC5cblx0ICovXG5cdFwiYXJpYS1yb3djb3VudFwiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogRGVmaW5lcyBhbiBlbGVtZW50J3Mgcm93IGluZGV4IG9yIHBvc2l0aW9uIHdpdGggcmVzcGVjdCB0byB0aGUgdG90YWwgbnVtYmVyIG9mIHJvd3Mgd2l0aGluIGEgdGFibGUsIGdyaWQsIG9yIHRyZWVncmlkLlxuXHQgKiBAc2VlIGFyaWEtcm93Y291bnQgQHNlZSBhcmlhLXJvd3NwYW4uXG5cdCAqL1xuXHRcImFyaWEtcm93aW5kZXhcIj86IG51bWJlciB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIERlZmluZXMgYSBodW1hbiByZWFkYWJsZSB0ZXh0IGFsdGVybmF0aXZlIG9mIGFyaWEtcm93aW5kZXguXG5cdCAqIEBzZWUgYXJpYS1jb2xpbmRleHRleHQuXG5cdCAqL1xuXHRcImFyaWEtcm93aW5kZXh0ZXh0XCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBudW1iZXIgb2Ygcm93cyBzcGFubmVkIGJ5IGEgY2VsbCBvciBncmlkY2VsbCB3aXRoaW4gYSB0YWJsZSwgZ3JpZCwgb3IgdHJlZWdyaWQuXG5cdCAqIEBzZWUgYXJpYS1yb3dpbmRleCBAc2VlIGFyaWEtY29sc3Bhbi5cblx0ICovXG5cdFwiYXJpYS1yb3dzcGFuXCI/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgXCJzZWxlY3RlZFwiIHN0YXRlIG9mIHZhcmlvdXMgd2lkZ2V0cy5cblx0ICogQHNlZSBhcmlhLWNoZWNrZWQgQHNlZSBhcmlhLXByZXNzZWQuXG5cdCAqL1xuXHRcImFyaWEtc2VsZWN0ZWRcIj86IEJvb2xlYW5pc2ggfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBudW1iZXIgb2YgaXRlbXMgaW4gdGhlIGN1cnJlbnQgc2V0IG9mIGxpc3RpdGVtcyBvciB0cmVlaXRlbXMuIE5vdCByZXF1aXJlZCBpZiBhbGwgZWxlbWVudHMgaW4gdGhlIHNldCBhcmUgcHJlc2VudCBpbiB0aGUgRE9NLlxuXHQgKiBAc2VlIGFyaWEtcG9zaW5zZXQuXG5cdCAqL1xuXHRcImFyaWEtc2V0c2l6ZVwiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIGlmIGl0ZW1zIGluIGEgdGFibGUgb3IgZ3JpZCBhcmUgc29ydGVkIGluIGFzY2VuZGluZyBvciBkZXNjZW5kaW5nIG9yZGVyLiAqL1xuXHRcImFyaWEtc29ydFwiPzogXCJub25lXCIgfCBcImFzY2VuZGluZ1wiIHwgXCJkZXNjZW5kaW5nXCIgfCBcIm90aGVyXCIgfCB1bmRlZmluZWQ7XG5cdC8qKiBEZWZpbmVzIHRoZSBtYXhpbXVtIGFsbG93ZWQgdmFsdWUgZm9yIGEgcmFuZ2Ugd2lkZ2V0LiAqL1xuXHRcImFyaWEtdmFsdWVtYXhcIj86IG51bWJlciB8IHVuZGVmaW5lZDtcblx0LyoqIERlZmluZXMgdGhlIG1pbmltdW0gYWxsb3dlZCB2YWx1ZSBmb3IgYSByYW5nZSB3aWRnZXQuICovXG5cdFwiYXJpYS12YWx1ZW1pblwiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogRGVmaW5lcyB0aGUgY3VycmVudCB2YWx1ZSBmb3IgYSByYW5nZSB3aWRnZXQuXG5cdCAqIEBzZWUgYXJpYS12YWx1ZXRleHQuXG5cdCAqL1xuXHRcImFyaWEtdmFsdWVub3dcIj86IG51bWJlciB8IHVuZGVmaW5lZDtcblx0LyoqIERlZmluZXMgdGhlIGh1bWFuIHJlYWRhYmxlIHRleHQgYWx0ZXJuYXRpdmUgb2YgYXJpYS12YWx1ZW5vdyBmb3IgYSByYW5nZSB3aWRnZXQuICovXG5cdFwiYXJpYS12YWx1ZXRleHRcIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqIEFsbCB0aGUgV0FJLUFSSUEgMS4xIHJvbGUgYXR0cmlidXRlIHZhbHVlcyBmcm9tIGh0dHBzOi8vdzMub3JnL1RSL3dhaS1hcmlhLTEuMS8jcm9sZV9kZWZpbml0aW9ucyAqL1xuXHRyb2xlPzogQXJpYVJvbGU7XG59O1xuZXhwb3J0IHR5cGUgQXJpYVJvbGUgPSBcImFsZXJ0XCIgfCBcImFsZXJ0ZGlhbG9nXCIgfCBcImFwcGxpY2F0aW9uXCIgfCBcImFydGljbGVcIiB8IFwiYmFubmVyXCIgfCBcImJ1dHRvblwiIHwgXCJjZWxsXCIgfCBcImNoZWNrYm94XCIgfCBcImNvbHVtbmhlYWRlclwiIHwgXCJjb21ib2JveFwiIHwgXCJjb21wbGVtZW50YXJ5XCIgfCBcImNvbnRlbnRpbmZvXCIgfCBcImRlZmluaXRpb25cIiB8IFwiZGlhbG9nXCIgfCBcImRpcmVjdG9yeVwiIHwgXCJkb2N1bWVudFwiIHwgXCJmZWVkXCIgfCBcImZpZ3VyZVwiIHwgXCJmb3JtXCIgfCBcImdyaWRcIiB8IFwiZ3JpZGNlbGxcIiB8IFwiZ3JvdXBcIiB8IFwiaGVhZGluZ1wiIHwgXCJpbWdcIiB8IFwibGlua1wiIHwgXCJsaXN0XCIgfCBcImxpc3Rib3hcIiB8IFwibGlzdGl0ZW1cIiB8IFwibG9nXCIgfCBcIm1haW5cIiB8IFwibWFycXVlZVwiIHwgXCJtYXRoXCIgfCBcIm1lbnVcIiB8IFwibWVudWJhclwiIHwgXCJtZW51aXRlbVwiIHwgXCJtZW51aXRlbWNoZWNrYm94XCIgfCBcIm1lbnVpdGVtcmFkaW9cIiB8IFwibmF2aWdhdGlvblwiIHwgXCJub25lXCIgfCBcIm5vdGVcIiB8IFwib3B0aW9uXCIgfCBcInByZXNlbnRhdGlvblwiIHwgXCJwcm9ncmVzc2JhclwiIHwgXCJyYWRpb1wiIHwgXCJyYWRpb2dyb3VwXCIgfCBcInJlZ2lvblwiIHwgXCJyb3dcIiB8IFwicm93Z3JvdXBcIiB8IFwicm93aGVhZGVyXCIgfCBcInNjcm9sbGJhclwiIHwgXCJzZWFyY2hcIiB8IFwic2VhcmNoYm94XCIgfCBcInNlcGFyYXRvclwiIHwgXCJzbGlkZXJcIiB8IFwic3BpbmJ1dHRvblwiIHwgXCJzdGF0dXNcIiB8IFwic3dpdGNoXCIgfCBcInRhYlwiIHwgXCJ0YWJsZVwiIHwgXCJ0YWJsaXN0XCIgfCBcInRhYnBhbmVsXCIgfCBcInRlcm1cIiB8IFwidGV4dGJveFwiIHwgXCJ0aW1lclwiIHwgXCJ0b29sYmFyXCIgfCBcInRvb2x0aXBcIiB8IFwidHJlZVwiIHwgXCJ0cmVlZ3JpZFwiIHwgXCJ0cmVlaXRlbVwiO1xuZGVjbGFyZSBjb25zdCBJQ09OX05BTUVTOiByZWFkb25seSBbXG5cdFwiMzYwXCIsXG5cdFwiYWNjZXNzaWJpbGl0eVwiLFxuXHRcImFjdGl2ZS1jYWJpbi12ZW50aWxhdGlvblwiLFxuXHRcImFkZFwiLFxuXHRcImFkanVzdFwiLFxuXHRcImFycm93LWRvdWJsZS1kb3duXCIsXG5cdFwiYXJyb3ctZG91YmxlLWxlZnRcIixcblx0XCJhcnJvdy1kb3VibGUtcmlnaHRcIixcblx0XCJhcnJvdy1kb3VibGUtdXBcIixcblx0XCJhcnJvdy1kb3duXCIsXG5cdFwiYXJyb3ctZmlyc3RcIixcblx0XCJhcnJvdy1oZWFkLWRvd25cIixcblx0XCJhcnJvdy1oZWFkLWxlZnRcIixcblx0XCJhcnJvdy1oZWFkLXJpZ2h0XCIsXG5cdFwiYXJyb3ctaGVhZC11cFwiLFxuXHRcImFycm93LWxhc3RcIixcblx0XCJhcnJvdy1sZWZ0XCIsXG5cdFwiYXJyb3ctcmlnaHRcIixcblx0XCJhcnJvdy11cFwiLFxuXHRcImF1Z21lbnRlZC1yZWFsaXR5XCIsXG5cdFwiYmF0dGVyeS1lbXB0eVwiLFxuXHRcImJhdHRlcnktZW1wdHktY28yXCIsXG5cdFwiYmF0dGVyeS1mdWxsXCIsXG5cdFwiYmVsbFwiLFxuXHRcImJvb2ttYXJrXCIsXG5cdFwiYm9va21hcmstZmlsbGVkXCIsXG5cdFwiYnJvYWRjYXN0XCIsXG5cdFwiY2FsY3VsYXRvclwiLFxuXHRcImNhbGVuZGFyXCIsXG5cdFwiY2FtZXJhXCIsXG5cdFwiY2FyXCIsXG5cdFwiY2FyLWJhdHRlcnlcIixcblx0XCJjYXJkXCIsXG5cdFwiY2hhcmdpbmctYWN0aXZlXCIsXG5cdFwiY2hhcmdpbmctc3RhdGVcIixcblx0XCJjaGFyZ2luZy1zdGF0aW9uXCIsXG5cdFwiY2hhcnRcIixcblx0XCJjaGF0XCIsXG5cdFwiY2hlY2tcIixcblx0XCJjaXR5XCIsXG5cdFwiY2xpbWF0ZVwiLFxuXHRcImNsaW1hdGUtY29udHJvbFwiLFxuXHRcImNsb2NrXCIsXG5cdFwiY2xvc2VcIixcblx0XCJjbG9zZWQtY2FwdGlvblwiLFxuXHRcImNvMi1jbGFzc1wiLFxuXHRcImNvMi1lbWlzc2lvblwiLFxuXHRcImNvbXBhcmVcIixcblx0XCJjb25maWd1cmF0ZVwiLFxuXHRcImNvcHlcIixcblx0XCJjb3VudHJ5LXJvYWRcIixcblx0XCJjdWJpYy1jYXBhY2l0eVwiLFxuXHRcImRlbGV0ZVwiLFxuXHRcImRpc2FibGVcIixcblx0XCJkb2N1bWVudFwiLFxuXHRcImRvd25sb2FkXCIsXG5cdFwiZHVyYXRpb25cIixcblx0XCJlZGl0XCIsXG5cdFwiZW1haWxcIixcblx0XCJlcnJvci1maWxsZWRcIixcblx0XCJleGNsYW1hdGlvblwiLFxuXHRcImV4dGVybmFsXCIsXG5cdFwiZmlsdGVyXCIsXG5cdFwiZmluZ2VycHJpbnRcIixcblx0XCJmbGFzaFwiLFxuXHRcImZ1ZWwtc3RhdGlvblwiLFxuXHRcImdhcmFnZVwiLFxuXHRcImdpZnRcIixcblx0XCJnbG9iZVwiLFxuXHRcImdyaWRcIixcblx0XCJoZWFydFwiLFxuXHRcImhlYXJ0LWZpbGxlZFwiLFxuXHRcImhpZ2h3YXlcIixcblx0XCJob21lXCIsXG5cdFwiaG9yblwiLFxuXHRcImltYWdlXCIsXG5cdFwiaW5jcmVhc2VcIixcblx0XCJpbmZvcm1hdGlvblwiLFxuXHRcImluZm9ybWF0aW9uLWZpbGxlZFwiLFxuXHRcImtleVwiLFxuXHRcImxlYWZcIixcblx0XCJsZWF0aGVyXCIsXG5cdFwibGlnaHRcIixcblx0XCJsaXN0XCIsXG5cdFwibG9jYXRlXCIsXG5cdFwibG9ja1wiLFxuXHRcImxvY2stb3BlblwiLFxuXHRcImxvZ28tYXBwbGUtcG9kY2FzdFwiLFxuXHRcImxvZ28tYmFpZHVcIixcblx0XCJsb2dvLWRlbGljaW91c1wiLFxuXHRcImxvZ28tZGlnZ1wiLFxuXHRcImxvZ28tZmFjZWJvb2tcIixcblx0XCJsb2dvLWZvdXJzcXVhcmVcIixcblx0XCJsb2dvLWdtYWlsXCIsXG5cdFwibG9nby1nb29nbGVcIixcblx0XCJsb2dvLWhhdGVuYVwiLFxuXHRcImxvZ28taW5zdGFncmFtXCIsXG5cdFwibG9nby1rYWl4aW5cIixcblx0XCJsb2dvLWtha2FvdGFsa1wiLFxuXHRcImxvZ28tbGlua2VkaW5cIixcblx0XCJsb2dvLW5hdmVyXCIsXG5cdFwibG9nby1waW50ZXJlc3RcIixcblx0XCJsb2dvLXFxXCIsXG5cdFwibG9nby1xcS1zaGFyZVwiLFxuXHRcImxvZ28tcmVkZGl0XCIsXG5cdFwibG9nby1za3lyb2NrXCIsXG5cdFwibG9nby1zb2h1XCIsXG5cdFwibG9nby1zcG90aWZ5XCIsXG5cdFwibG9nby10ZWNlbnRcIixcblx0XCJsb2dvLXRlbGVncmFtXCIsXG5cdFwibG9nby10aWt0b2tcIixcblx0XCJsb2dvLXR1bWJsclwiLFxuXHRcImxvZ28tdHdpdHRlclwiLFxuXHRcImxvZ28tdmliZXJcIixcblx0XCJsb2dvLXZrXCIsXG5cdFwibG9nby13ZWNoYXRcIixcblx0XCJsb2dvLXdlaWJvXCIsXG5cdFwibG9nby13aGF0c2FwcFwiLFxuXHRcImxvZ28teFwiLFxuXHRcImxvZ28teGluZ1wiLFxuXHRcImxvZ28teWFob29cIixcblx0XCJsb2dvLXlvdWt1XCIsXG5cdFwibG9nby15b3V0dWJlXCIsXG5cdFwibG9nb3V0XCIsXG5cdFwibWFwXCIsXG5cdFwibWVudS1kb3RzLWhvcml6b250YWxcIixcblx0XCJtZW51LWRvdHMtdmVydGljYWxcIixcblx0XCJtZW51LWxpbmVzXCIsXG5cdFwibWludXNcIixcblx0XCJtb2JpbGVcIixcblx0XCJtb29uXCIsXG5cdFwib2lsLWNhblwiLFxuXHRcInBhcmtpbmctYnJha2VcIixcblx0XCJwYXJraW5nLWxpZ2h0XCIsXG5cdFwicGF1c2VcIixcblx0XCJwaG9uZVwiLFxuXHRcInBpblwiLFxuXHRcInBpbi1maWxsZWRcIixcblx0XCJwbGF5XCIsXG5cdFwicGx1Z1wiLFxuXHRcInBsdXNcIixcblx0XCJwcmVoZWF0aW5nXCIsXG5cdFwicHJpbnRlclwiLFxuXHRcInB1cmNoYXNlXCIsXG5cdFwicHVzaC1waW5cIixcblx0XCJwdXNoLXBpbi1vZmZcIixcblx0XCJxclwiLFxuXHRcInF1ZXN0aW9uXCIsXG5cdFwicmFjaW5nLWZsYWdcIixcblx0XCJyZWZyZXNoXCIsXG5cdFwicmVwbGF5XCIsXG5cdFwicmVzZXRcIixcblx0XCJyb29mLWNsb3NlZFwiLFxuXHRcInJvb2Ytb3BlblwiLFxuXHRcInJvdXRlXCIsXG5cdFwicnNzXCIsXG5cdFwic2F2ZVwiLFxuXHRcInNjcmVlblwiLFxuXHRcInNlYXJjaFwiLFxuXHRcInNlbmRcIixcblx0XCJzaGFyZVwiLFxuXHRcInNob3BwaW5nLWJhZ1wiLFxuXHRcInNob3BwaW5nLWJhZy1maWxsZWRcIixcblx0XCJzaG9wcGluZy1jYXJ0XCIsXG5cdFwic2hvcHBpbmctY2FydC1maWxsZWRcIixcblx0XCJzaWRlbGlnaHRzXCIsXG5cdFwic25vd2ZsYWtlXCIsXG5cdFwic29ydFwiLFxuXHRcInN0YWNrXCIsXG5cdFwic3RhclwiLFxuXHRcInN0YXItZmlsbGVkXCIsXG5cdFwic3RlZXJpbmctd2hlZWxcIixcblx0XCJzdG9wd2F0Y2hcIixcblx0XCJzdWJ0cmFjdFwiLFxuXHRcInN1Y2Nlc3NcIixcblx0XCJzdWNjZXNzLWZpbGxlZFwiLFxuXHRcInN1blwiLFxuXHRcInN3aXRjaFwiLFxuXHRcInRhYmxldFwiLFxuXHRcInRhY2hvbWV0ZXJcIixcblx0XCJ0aXJlXCIsXG5cdFwidHJ1Y2tcIixcblx0XCJ1cGxvYWRcIixcblx0XCJ1c2VyXCIsXG5cdFwidXNlci1maWxsZWRcIixcblx0XCJ1c2VyLWdyb3VwXCIsXG5cdFwidXNlci1tYW51YWxcIixcblx0XCJ2aWRlb1wiLFxuXHRcInZpZXdcIixcblx0XCJ2aWV3LW9mZlwiLFxuXHRcInZvbHVtZS1vZmZcIixcblx0XCJ2b2x1bWUtdXBcIixcblx0XCJ3YXJuaW5nXCIsXG5cdFwid2FybmluZy1maWxsZWRcIixcblx0XCJ3ZWlnaHRcIixcblx0XCJ3aWZpXCIsXG5cdFwid29ya1wiLFxuXHRcIndyZW5jaFwiLFxuXHRcIndyZW5jaGVzXCIsXG5cdFwiem9vbS1pblwiLFxuXHRcInpvb20tb3V0XCJcbl07XG5leHBvcnQgdHlwZSBJY29uTmFtZSA9IHR5cGVvZiBJQ09OX05BTUVTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEZPUk1fU1RBVEVTOiByZWFkb25seSBbXG5cdFwibm9uZVwiLFxuXHRcImVycm9yXCIsXG5cdFwic3VjY2Vzc1wiXG5dO1xuZXhwb3J0IHR5cGUgRm9ybVN0YXRlID0gdHlwZW9mIEZPUk1fU1RBVEVTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEJVVFRPTl9BUklBX0FUVFJJQlVURVM6IHJlYWRvbmx5IFtcblx0XCJhcmlhLWxhYmVsXCIsXG5cdFwiYXJpYS1leHBhbmRlZFwiLFxuXHRcImFyaWEtcHJlc3NlZFwiLFxuXHRcImFyaWEtaGFzcG9wdXBcIlxuXTtcbmV4cG9ydCB0eXBlIEJ1dHRvbkFyaWFBdHRyaWJ1dGUgPSB0eXBlb2YgQlVUVE9OX0FSSUFfQVRUUklCVVRFU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBMSU5LX0FSSUFfQVRUUklCVVRFUzogcmVhZG9ubHkgW1xuXHRcImFyaWEtbGFiZWxcIixcblx0XCJhcmlhLWN1cnJlbnRcIlxuXTtcbmV4cG9ydCB0eXBlIExpbmtBcmlhQXR0cmlidXRlID0gKHR5cGVvZiBMSU5LX0FSSUFfQVRUUklCVVRFUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgYnJlYWtwb2ludHM6IHJlYWRvbmx5IFtcblx0XCJiYXNlXCIsXG5cdFwieHNcIixcblx0XCJzXCIsXG5cdFwibVwiLFxuXHRcImxcIixcblx0XCJ4bFwiLFxuXHRcInh4bFwiXG5dO1xuZXhwb3J0IHR5cGUgQnJlYWtwb2ludCA9ICh0eXBlb2YgYnJlYWtwb2ludHMpW251bWJlcl07XG5leHBvcnQgdHlwZSBCcmVha3BvaW50VmFsdWVzPFQ+ID0ge1xuXHRba2V5IGluIEJyZWFrcG9pbnRdPzogVDtcbn0gJiB7XG5cdGJhc2U6IFQ7XG59O1xuZXhwb3J0IHR5cGUgQnJlYWtwb2ludEN1c3RvbWl6YWJsZTxUPiA9IFQgfCBCcmVha3BvaW50VmFsdWVzPFQ+IHwgc3RyaW5nO1xuZGVjbGFyZSBjb25zdCBMSU5LX1RBUkdFVFM6IHJlYWRvbmx5IFtcblx0XCJfc2VsZlwiLFxuXHRcIl9ibGFua1wiLFxuXHRcIl9wYXJlbnRcIixcblx0XCJfdG9wXCJcbl07XG5leHBvcnQgdHlwZSBMaW5rVGFyZ2V0ID0gKHR5cGVvZiBMSU5LX1RBUkdFVFMpW251bWJlcl0gfCBzdHJpbmc7XG5kZWNsYXJlIGNvbnN0IFRIRU1FUzogcmVhZG9ubHkgW1xuXHRcImxpZ2h0XCIsXG5cdFwiZGFya1wiLFxuXHRcImF1dG9cIlxuXTtcbmV4cG9ydCB0eXBlIFRoZW1lID0gKHR5cGVvZiBUSEVNRVMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IFRJTEVfQVNQRUNUX1JBVElPUzogcmVhZG9ubHkgW1xuXHRcIjE6MVwiLFxuXHRcIjQ6M1wiLFxuXHRcIjM6NFwiLFxuXHRcIjE2OjlcIixcblx0XCI5OjE2XCJcbl07XG5leHBvcnQgdHlwZSBUaWxlQXNwZWN0UmF0aW8gPSAodHlwZW9mIFRJTEVfQVNQRUNUX1JBVElPUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgVElMRV9TSVpFUzogcmVhZG9ubHkgW1xuXHRcImRlZmF1bHRcIixcblx0XCJpbmhlcml0XCJcbl07XG5leHBvcnQgdHlwZSBUaWxlU2l6ZSA9ICh0eXBlb2YgVElMRV9TSVpFUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgVElMRV9XRUlHSFRTOiByZWFkb25seSBbXG5cdFwicmVndWxhclwiLFxuXHRcInNlbWktYm9sZFwiXG5dO1xuZXhwb3J0IHR5cGUgVGlsZVdlaWdodCA9ICh0eXBlb2YgVElMRV9XRUlHSFRTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgVGlsZUJhY2tncm91bmQgPSAodHlwZW9mIFRIRU1FUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgVElMRV9BTElHTlM6IHJlYWRvbmx5IFtcblx0XCJ0b3BcIixcblx0XCJib3R0b21cIlxuXTtcbmV4cG9ydCB0eXBlIFRpbGVBbGlnbiA9ICh0eXBlb2YgVElMRV9BTElHTlMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IFNDUk9MTEVSX0FSSUFfQVRUUklCVVRFUzogcmVhZG9ubHkgW1xuXHRcInJvbGVcIlxuXTtcbmV4cG9ydCB0eXBlIFNjcm9sbGVyQXJpYUF0dHJpYnV0ZSA9ICh0eXBlb2YgU0NST0xMRVJfQVJJQV9BVFRSSUJVVEVTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBHUkFESUVOVF9DT0xPUl9TQ0hFTUVTOiByZWFkb25seSBbXG5cdFwiZGVmYXVsdFwiLFxuXHRcInN1cmZhY2VcIlxuXTtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgU2Nyb2xsZXJHcmFkaWVudENvbG9yU2NoZW1lID0gKHR5cGVvZiBHUkFESUVOVF9DT0xPUl9TQ0hFTUVTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBHUkFESUVOVF9DT0xPUlM6IHJlYWRvbmx5IFtcblx0XCJiYWNrZ3JvdW5kLWJhc2VcIixcblx0XCJiYWNrZ3JvdW5kLXN1cmZhY2VcIlxuXTtcbmV4cG9ydCB0eXBlIFNjcm9sbGVyR3JhZGllbnRDb2xvciA9ICh0eXBlb2YgR1JBRElFTlRfQ09MT1JTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgU2Nyb2xsZXJTY3JvbGxUb1Bvc2l0aW9uID0ge1xuXHRzY3JvbGxQb3NpdGlvbjogbnVtYmVyO1xuXHRpc1Ntb290aD86IGJvb2xlYW47XG59IHwgc3RyaW5nO1xuZGVjbGFyZSBjb25zdCBTQ1JPTExfSU5ESUNBVE9SX1BPU0lUSU9OUzogcmVhZG9ubHkgW1xuXHRcInRvcFwiLFxuXHRcImNlbnRlclwiXG5dO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBTY3JvbGxlclNjcm9sbEluZGljYXRvclBvc2l0aW9uID0gKHR5cGVvZiBTQ1JPTExfSU5ESUNBVE9SX1BPU0lUSU9OUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFNjcm9sbGVyQWxpZ25TY3JvbGxJbmRpY2F0b3IgPSBTY3JvbGxlclNjcm9sbEluZGljYXRvclBvc2l0aW9uO1xuZGVjbGFyZSBjb25zdCBTRUxFQ1RfRFJPUERPV05fRElSRUNUSU9OUzogcmVhZG9ubHkgW1xuXHRcImRvd25cIixcblx0XCJ1cFwiLFxuXHRcImF1dG9cIlxuXTtcbmV4cG9ydCB0eXBlIFNlbGVjdENvbXBvbmVudHNEcm9wZG93bkRpcmVjdGlvbiA9ICh0eXBlb2YgU0VMRUNUX0RST1BET1dOX0RJUkVDVElPTlMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEhFQURJTkdfU0laRVM6IHJlYWRvbmx5IFtcblx0XCJzbWFsbFwiLFxuXHRcIm1lZGl1bVwiLFxuXHRcImxhcmdlXCIsXG5cdFwieC1sYXJnZVwiLFxuXHRcInh4LWxhcmdlXCIsXG5cdFwiaW5oZXJpdFwiXG5dO1xuZXhwb3J0IHR5cGUgSGVhZGluZ1NpemUgPSAodHlwZW9mIEhFQURJTkdfU0laRVMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IFRFWFRfU0laRVM6IHJlYWRvbmx5IFtcblx0XCJ4eC1zbWFsbFwiLFxuXHRcIngtc21hbGxcIixcblx0XCJzbWFsbFwiLFxuXHRcIm1lZGl1bVwiLFxuXHRcImxhcmdlXCIsXG5cdFwieC1sYXJnZVwiLFxuXHRcImluaGVyaXRcIlxuXTtcbmV4cG9ydCB0eXBlIFRleHRTaXplID0gKHR5cGVvZiBURVhUX1NJWkVTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBUWVBPR1JBUEhZX0FMSUdOUzogcmVhZG9ubHkgW1xuXHRcInN0YXJ0XCIsXG5cdFwiY2VudGVyXCIsXG5cdFwiZW5kXCIsXG5cdFwibGVmdFwiLFxuXHRcInJpZ2h0XCJcbl07XG5leHBvcnQgdHlwZSBUeXBvZ3JhcGh5QWxpZ24gPSAodHlwZW9mIFRZUE9HUkFQSFlfQUxJR05TKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBUWVBPR1JBUEhZX1RFWFRfQ09MT1JTOiByZWFkb25seSBbXG5cdFwicHJpbWFyeVwiLFxuXHRcImNvbnRyYXN0LWxvd1wiLFxuXHRcImNvbnRyYXN0LW1lZGl1bVwiLFxuXHRcImNvbnRyYXN0LWhpZ2hcIixcblx0XCJub3RpZmljYXRpb24tc3VjY2Vzc1wiLFxuXHRcIm5vdGlmaWNhdGlvbi13YXJuaW5nXCIsXG5cdFwibm90aWZpY2F0aW9uLWVycm9yXCIsXG5cdFwibm90aWZpY2F0aW9uLWluZm9cIixcblx0XCJpbmhlcml0XCIsXG5cdFwiYnJhbmRcIixcblx0XCJkZWZhdWx0XCIsXG5cdFwibmV1dHJhbC1jb250cmFzdC1sb3dcIixcblx0XCJuZXV0cmFsLWNvbnRyYXN0LW1lZGl1bVwiLFxuXHRcIm5ldXRyYWwtY29udHJhc3QtaGlnaFwiLFxuXHRcIm5vdGlmaWNhdGlvbi1uZXV0cmFsXCJcbl07XG5leHBvcnQgdHlwZSBUeXBvZ3JhcGh5VGV4dENvbG9yID0gKHR5cGVvZiBUWVBPR1JBUEhZX1RFWFRfQ09MT1JTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBUWVBPR1JBUEhZX1RFWFRfV0VJR0hUUzogcmVhZG9ubHkgW1xuXHRcInJlZ3VsYXJcIixcblx0XCJzZW1pLWJvbGRcIixcblx0XCJib2xkXCIsXG5cdFwidGhpblwiLFxuXHRcInNlbWlib2xkXCJcbl07XG5leHBvcnQgdHlwZSBUeXBvZ3JhcGh5VGV4dFdlaWdodCA9ICh0eXBlb2YgVFlQT0dSQVBIWV9URVhUX1dFSUdIVFMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEFMSUdOX0xBQkVMUzogcmVhZG9ubHkgW1xuXHRcInN0YXJ0XCIsXG5cdFwiZW5kXCIsXG5cdFwibGVmdFwiLFxuXHRcInJpZ2h0XCJcbl07XG5leHBvcnQgdHlwZSBBbGlnbkxhYmVsID0gKHR5cGVvZiBBTElHTl9MQUJFTFMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEJVVFRPTl9UWVBFUzogcmVhZG9ubHkgW1xuXHRcImJ1dHRvblwiLFxuXHRcInN1Ym1pdFwiLFxuXHRcInJlc2V0XCJcbl07XG5leHBvcnQgdHlwZSBCdXR0b25UeXBlID0gdHlwZW9mIEJVVFRPTl9UWVBFU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBIRUFESU5HX1RBR1M6IHJlYWRvbmx5IFtcblx0XCJoMVwiLFxuXHRcImgyXCIsXG5cdFwiaDNcIixcblx0XCJoNFwiLFxuXHRcImg1XCIsXG5cdFwiaDZcIlxuXTtcbmV4cG9ydCB0eXBlIEhlYWRpbmdUYWcgPSB0eXBlb2YgSEVBRElOR19UQUdTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IExJTktfQlVUVE9OX1ZBUklBTlRTOiByZWFkb25seSBbXG5cdFwicHJpbWFyeVwiLFxuXHRcInNlY29uZGFyeVwiLFxuXHRcInRlcnRpYXJ5XCJcbl07XG5leHBvcnQgdHlwZSBMaW5rQnV0dG9uVmFyaWFudCA9IHR5cGVvZiBMSU5LX0JVVFRPTl9WQVJJQU5UU1tudW1iZXJdO1xuZXhwb3J0IHR5cGUgTGlua0J1dHRvbkljb25OYW1lID0gSWNvbk5hbWUgfCBcIm5vbmVcIjtcbmV4cG9ydCB0eXBlIEJ1dHRvblZhcmlhbnQgPSBMaW5rQnV0dG9uVmFyaWFudDtcbmV4cG9ydCB0eXBlIExpbmtWYXJpYW50ID0gTGlua0J1dHRvblZhcmlhbnQ7XG4vLyBUT0RPOiBTaGFyZSB0eXBlIGFjcm9zcyByZXBvXG5leHBvcnQgdHlwZSBQb3JzY2hlRGVzaWduU3lzdGVtID0ge1xuXHRba2V5OiBgJHtudW1iZXJ9LiR7bnVtYmVyfS4ke251bWJlcn0ke2AtcmMuJHtudW1iZXJ9YCB8IFwiXCJ9YF06IHtcblx0XHRwcmVmaXhlczogc3RyaW5nW107XG5cdFx0aXNSZWFkeTogKCkgPT4gUHJvbWlzZTx2b2lkPjtcblx0XHRyZWFkeVJlc29sdmU6ICgpID0+IHZvaWQ7XG5cdH07XG5cdGNkbjoge1xuXHRcdHVybDogc3RyaW5nO1xuXHRcdHByZWZpeGVzOiBzdHJpbmdbXTsgLy8gdG8gbm90IGJyZWFrIG9sZGVyIHZlcnNpb25zXG5cdH07XG59O1xuZXhwb3J0IHR5cGUgU2VsZWN0ZWRBcmlhQXR0cmlidXRlczxUIGV4dGVuZHMga2V5b2YgQXJpYUF0dHJpYnV0ZXM+ID0gUGljazxBcmlhQXR0cmlidXRlcywgVD4gfCBzdHJpbmc7XG5kZWNsYXJlIGNvbnN0IEFDQ09SRElPTl9TSVpFUzogcmVhZG9ubHkgW1xuXHRcInNtYWxsXCIsXG5cdFwibWVkaXVtXCJcbl07XG5leHBvcnQgdHlwZSBBY2NvcmRpb25TaXplID0gKHR5cGVvZiBBQ0NPUkRJT05fU0laRVMpW251bWJlcl07XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIEFjY29yZGlvblVwZGF0ZUV2ZW50ID0ge1xuXHRvcGVuOiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIEFjY29yZGlvblVwZGF0ZUV2ZW50RGV0YWlsID0gQWNjb3JkaW9uVXBkYXRlRXZlbnQ7XG5leHBvcnQgdHlwZSBBY2NvcmRpb25UYWcgPSBIZWFkaW5nVGFnO1xuZGVjbGFyZSBjb25zdCBCQU5ORVJfU1RBVEVTOiByZWFkb25seSBbXG5cdFwiaW5mb1wiLFxuXHRcIndhcm5pbmdcIixcblx0XCJlcnJvclwiLFxuXHRcIm5ldXRyYWxcIlxuXTtcbmV4cG9ydCB0eXBlIEJhbm5lclN0YXRlID0gdHlwZW9mIEJBTk5FUl9TVEFURVNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgQkFOTkVSX1dJRFRIUzogcmVhZG9ubHkgW1xuXHRcImV4dGVuZGVkXCIsXG5cdFwiYmFzaWNcIixcblx0XCJmbHVpZFwiXG5dO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBCYW5uZXJXaWR0aCA9IHR5cGVvZiBCQU5ORVJfV0lEVEhTW251bWJlcl07XG5leHBvcnQgdHlwZSBCdXR0b25JY29uID0gTGlua0J1dHRvbkljb25OYW1lO1xuZGVjbGFyZSBjb25zdCBHUk9VUF9ESVJFQ1RJT05TOiByZWFkb25seSBbXG5cdFwicm93XCIsXG5cdFwiY29sdW1uXCJcbl07XG5leHBvcnQgdHlwZSBHcm91cERpcmVjdGlvbiA9ICh0eXBlb2YgR1JPVVBfRElSRUNUSU9OUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIEJ1dHRvbkdyb3VwRGlyZWN0aW9uID0gR3JvdXBEaXJlY3Rpb247XG5leHBvcnQgdHlwZSBCdXR0b25QdXJlVHlwZSA9IEJ1dHRvblR5cGU7XG5leHBvcnQgdHlwZSBCdXR0b25QdXJlSWNvbiA9IExpbmtCdXR0b25JY29uTmFtZTtcbmV4cG9ydCB0eXBlIEJ1dHRvblB1cmVBcmlhQXR0cmlidXRlID0gQnV0dG9uQXJpYUF0dHJpYnV0ZTtcbmV4cG9ydCB0eXBlIEJ1dHRvblB1cmVBbGlnbkxhYmVsID0gQWxpZ25MYWJlbDtcbmV4cG9ydCB0eXBlIEJ1dHRvblB1cmVXZWlnaHQgPSBUeXBvZ3JhcGh5VGV4dFdlaWdodDtcbmV4cG9ydCB0eXBlIEJ1dHRvblB1cmVTaXplID0gVGV4dFNpemU7XG5leHBvcnQgdHlwZSBCdXR0b25UaWxlQXJpYUF0dHJpYnV0ZSA9IEJ1dHRvbkFyaWFBdHRyaWJ1dGU7XG5leHBvcnQgdHlwZSBCdXR0b25UaWxlSWNvbiA9IExpbmtCdXR0b25JY29uTmFtZTtcbmV4cG9ydCB0eXBlIEJ1dHRvblRpbGVUeXBlID0gQnV0dG9uVHlwZTtcbmV4cG9ydCB0eXBlIEJ1dHRvblRpbGVBc3BlY3RSYXRpbyA9IFRpbGVBc3BlY3RSYXRpbztcbmV4cG9ydCB0eXBlIEJ1dHRvblRpbGVTaXplID0gVGlsZVNpemU7XG5leHBvcnQgdHlwZSBCdXR0b25UaWxlQmFja2dyb3VuZCA9IFRpbGVCYWNrZ3JvdW5kO1xuZXhwb3J0IHR5cGUgQnV0dG9uVGlsZVdlaWdodCA9IFRpbGVXZWlnaHQ7XG5leHBvcnQgdHlwZSBCdXR0b25UaWxlQWxpZ24gPSBUaWxlQWxpZ247XG5kZWNsYXJlIGNvbnN0IENBUk9VU0VMX1dJRFRIUzogcmVhZG9ubHkgW1xuXHRcImJhc2ljXCIsXG5cdFwiZXh0ZW5kZWRcIlxuXTtcbmV4cG9ydCB0eXBlIENhcm91c2VsV2lkdGggPSAodHlwZW9mIENBUk9VU0VMX1dJRFRIUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgQ0FST1VTRUxfQUxJR05fSEVBREVSUzogcmVhZG9ubHkgW1xuXHRcInN0YXJ0XCIsXG5cdFwiY2VudGVyXCIsXG5cdFwibGVmdFwiXG5dO1xuZXhwb3J0IHR5cGUgQ2Fyb3VzZWxBbGlnbkhlYWRlciA9ICh0eXBlb2YgQ0FST1VTRUxfQUxJR05fSEVBREVSUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIENhcm91c2VsSGVhZGluZ1NpemUgPSBFeHRyYWN0PEhlYWRpbmdTaXplLCBcIngtbGFyZ2VcIiB8IFwieHgtbGFyZ2VcIj47XG5kZWNsYXJlIGNvbnN0IENBUk9VU0VMX0FSSUFfQVRUUklCVVRFUzogcmVhZG9ubHkgW1xuXHRcImFyaWEtbGFiZWxcIlxuXTtcbmV4cG9ydCB0eXBlIENhcm91c2VsQXJpYUF0dHJpYnV0ZSA9ICh0eXBlb2YgQ0FST1VTRUxfQVJJQV9BVFRSSUJVVEVTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgQ2Fyb3VzZWxJbnRlcm5hdGlvbmFsaXphdGlvbiA9IFBhcnRpYWw8UmVjb3JkPFwicHJldlwiIHwgXCJuZXh0XCIgfCBcImZpcnN0XCIgfCBcImxhc3RcIiB8IFwic2xpZGVMYWJlbFwiIHwgXCJzbGlkZVwiLCBzdHJpbmc+PiB8IHN0cmluZztcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgQ2Fyb3VzZWxVcGRhdGVFdmVudCA9IHtcblx0YWN0aXZlSW5kZXg6IG51bWJlcjtcblx0cHJldmlvdXNJbmRleDogbnVtYmVyO1xufTtcbmV4cG9ydCB0eXBlIENhcm91c2VsVXBkYXRlRXZlbnREZXRhaWwgPSBDYXJvdXNlbFVwZGF0ZUV2ZW50O1xuZXhwb3J0IHR5cGUgQ2hlY2tib3hXcmFwcGVyU3RhdGUgPSBGb3JtU3RhdGU7XG5kZWNsYXJlIGNvbnN0IENPTlRFTlRfV1JBUFBFUl9CQUNLR1JPVU5EX0NPTE9SUzogcmVhZG9ubHkgW1xuXHRcInRyYW5zcGFyZW50XCIsXG5cdFwiZGVmYXVsdFwiXG5dO1xuZXhwb3J0IHR5cGUgQ29udGVudFdyYXBwZXJCYWNrZ3JvdW5kQ29sb3IgPSB0eXBlb2YgQ09OVEVOVF9XUkFQUEVSX0JBQ0tHUk9VTkRfQ09MT1JTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IENPTlRFTlRfV1JBUFBFUl9XSURUSFM6IHJlYWRvbmx5IFtcblx0XCJuYXJyb3dcIixcblx0XCJiYXNpY1wiLFxuXHRcImV4dGVuZGVkXCIsXG5cdFwiZmx1aWRcIixcblx0XCJmdWxsXCJcbl07XG5leHBvcnQgdHlwZSBDb250ZW50V3JhcHBlcldpZHRoID0gdHlwZW9mIENPTlRFTlRfV1JBUFBFUl9XSURUSFNbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIENyZXN0VGFyZ2V0ID0gTGlua1RhcmdldDtcbmV4cG9ydCB0eXBlIENyZXN0QXJpYUF0dHJpYnV0ZSA9IExpbmtBcmlhQXR0cmlidXRlO1xuZGVjbGFyZSBjb25zdCBESVNQTEFZX1RBR1M6IHJlYWRvbmx5IFtcblx0XCJoMVwiLFxuXHRcImgyXCIsXG5cdFwiaDNcIixcblx0XCJoNFwiLFxuXHRcImg1XCIsXG5cdFwiaDZcIlxuXTtcbmV4cG9ydCB0eXBlIERpc3BsYXlUYWcgPSAodHlwZW9mIERJU1BMQVlfVEFHUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRElTUExBWV9TSVpFUzogcmVhZG9ubHkgW1xuXHRcInNtYWxsXCIsXG5cdFwibWVkaXVtXCIsXG5cdFwibGFyZ2VcIixcblx0XCJpbmhlcml0XCJcbl07XG5leHBvcnQgdHlwZSBEaXNwbGF5U2l6ZSA9ICh0eXBlb2YgRElTUExBWV9TSVpFUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRElTUExBWV9DT0xPUlM6IHJlYWRvbmx5IFtcblx0XCJwcmltYXJ5XCIsXG5cdFwiaW5oZXJpdFwiXG5dO1xuZXhwb3J0IHR5cGUgRGlzcGxheUNvbG9yID0gKHR5cGVvZiBESVNQTEFZX0NPTE9SUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIERpc3BsYXlBbGlnbiA9IFR5cG9ncmFwaHlBbGlnbjtcbmRlY2xhcmUgY29uc3QgRElWSURFUl9DT0xPUlM6IHJlYWRvbmx5IFtcblx0XCJjb250cmFzdC1sb3dcIixcblx0XCJjb250cmFzdC1tZWRpdW1cIixcblx0XCJjb250cmFzdC1oaWdoXCIsXG5cdFwibmV1dHJhbC1jb250cmFzdC1oaWdoXCIsXG5cdFwibmV1dHJhbC1jb250cmFzdC1tZWRpdW1cIixcblx0XCJuZXV0cmFsLWNvbnRyYXN0LWxvd1wiXG5dO1xuZXhwb3J0IHR5cGUgRGl2aWRlckNvbG9yID0gdHlwZW9mIERJVklERVJfQ09MT1JTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IERJVklERVJfRElSRUNUSU9OUzogcmVhZG9ubHkgW1xuXHRcInZlcnRpY2FsXCIsXG5cdFwiaG9yaXpvbnRhbFwiXG5dO1xuZXhwb3J0IHR5cGUgRGl2aWRlckRpcmVjdGlvbiA9IHR5cGVvZiBESVZJREVSX0RJUkVDVElPTlNbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIERpdmlkZXJPcmllbnRhdGlvbiA9IERpdmlkZXJEaXJlY3Rpb247XG5kZWNsYXJlIGNvbnN0IEZJRUxEU0VUX0xBQkVMX1NJWkVTOiByZWFkb25seSBbXG5cdFwic21hbGxcIixcblx0XCJtZWRpdW1cIlxuXTtcbmV4cG9ydCB0eXBlIEZpZWxkc2V0TGFiZWxTaXplID0gKHR5cGVvZiBGSUVMRFNFVF9MQUJFTF9TSVpFUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIEZpZWxkc2V0U3RhdGUgPSBGb3JtU3RhdGU7XG5leHBvcnQgdHlwZSBGaWVsZHNldFdyYXBwZXJMYWJlbFNpemUgPSBGaWVsZHNldExhYmVsU2l6ZTtcbmV4cG9ydCB0eXBlIEZpZWxkc2V0V3JhcHBlclN0YXRlID0gRmllbGRzZXRTdGF0ZTtcbmV4cG9ydCB0eXBlIEZsZXhJbmxpbmUgPSBib29sZWFuO1xuZGVjbGFyZSBjb25zdCBGTEVYX1dSQVBTOiByZWFkb25seSBbXG5cdFwibm93cmFwXCIsXG5cdFwid3JhcFwiLFxuXHRcIndyYXAtcmV2ZXJzZVwiXG5dO1xuZXhwb3J0IHR5cGUgRmxleFdyYXAgPSB0eXBlb2YgRkxFWF9XUkFQU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBGTEVYX0RJUkVDVElPTlM6IHJlYWRvbmx5IFtcblx0XCJyb3dcIixcblx0XCJyb3ctcmV2ZXJzZVwiLFxuXHRcImNvbHVtblwiLFxuXHRcImNvbHVtbi1yZXZlcnNlXCJcbl07XG5leHBvcnQgdHlwZSBGbGV4RGlyZWN0aW9uID0gdHlwZW9mIEZMRVhfRElSRUNUSU9OU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBGTEVYX0pVU1RJRllfQ09OVEVOVFM6IHJlYWRvbmx5IFtcblx0XCJmbGV4LXN0YXJ0XCIsXG5cdFwiZmxleC1lbmRcIixcblx0XCJjZW50ZXJcIixcblx0XCJzcGFjZS1iZXR3ZWVuXCIsXG5cdFwic3BhY2UtYXJvdW5kXCIsXG5cdFwic3BhY2UtZXZlbmx5XCJcbl07XG5leHBvcnQgdHlwZSBGbGV4SnVzdGlmeUNvbnRlbnQgPSB0eXBlb2YgRkxFWF9KVVNUSUZZX0NPTlRFTlRTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEZMRVhfQUxJR05fSVRFTVM6IHJlYWRvbmx5IFtcblx0XCJzdHJldGNoXCIsXG5cdFwiZmxleC1zdGFydFwiLFxuXHRcImZsZXgtZW5kXCIsXG5cdFwiY2VudGVyXCIsXG5cdFwiYmFzZWxpbmVcIlxuXTtcbmV4cG9ydCB0eXBlIEZsZXhBbGlnbkl0ZW1zID0gdHlwZW9mIEZMRVhfQUxJR05fSVRFTVNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxFWF9BTElHTl9DT05URU5UUzogcmVhZG9ubHkgW1xuXHRcInN0cmV0Y2hcIixcblx0XCJmbGV4LXN0YXJ0XCIsXG5cdFwiZmxleC1lbmRcIixcblx0XCJjZW50ZXJcIixcblx0XCJzcGFjZS1iZXR3ZWVuXCIsXG5cdFwic3BhY2UtYXJvdW5kXCIsXG5cdFwic3BhY2UtZXZlbmx5XCJcbl07XG5leHBvcnQgdHlwZSBGbGV4QWxpZ25Db250ZW50ID0gdHlwZW9mIEZMRVhfQUxJR05fQ09OVEVOVFNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxFWF9JVEVNX1dJRFRIUzogcmVhZG9ubHkgW1xuXHRcImF1dG9cIixcblx0XCJvbmUtcXVhcnRlclwiLFxuXHRcIm9uZS10aGlyZFwiLFxuXHRcImhhbGZcIixcblx0XCJ0d28tdGhpcmRzXCIsXG5cdFwidGhyZWUtcXVhcnRlcnNcIixcblx0XCJmdWxsXCJcbl07XG5leHBvcnQgdHlwZSBGbGV4SXRlbVdpZHRoID0gdHlwZW9mIEZMRVhfSVRFTV9XSURUSFNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxFWF9JVEVNX09GRlNFVFM6IHJlYWRvbmx5IFtcblx0XCJub25lXCIsXG5cdFwib25lLXF1YXJ0ZXJcIixcblx0XCJvbmUtdGhpcmRcIixcblx0XCJoYWxmXCIsXG5cdFwidHdvLXRoaXJkc1wiLFxuXHRcInRocmVlLXF1YXJ0ZXJzXCJcbl07XG5leHBvcnQgdHlwZSBGbGV4SXRlbU9mZnNldCA9IHR5cGVvZiBGTEVYX0lURU1fT0ZGU0VUU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBGTEVYX0lURU1fQUxJR05fU0VMRlM6IHJlYWRvbmx5IFtcblx0XCJhdXRvXCIsXG5cdFwiZmxleC1zdGFydFwiLFxuXHRcImZsZXgtZW5kXCIsXG5cdFwiY2VudGVyXCIsXG5cdFwiYmFzZWxpbmVcIixcblx0XCJzdHJldGNoXCJcbl07XG5leHBvcnQgdHlwZSBGbGV4SXRlbUFsaWduU2VsZiA9IHR5cGVvZiBGTEVYX0lURU1fQUxJR05fU0VMRlNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxFWF9JVEVNX0dST1dTOiByZWFkb25seSBbXG5cdDAsXG5cdDFcbl07XG5leHBvcnQgdHlwZSBGbGV4SXRlbUdyb3cgPSB0eXBlb2YgRkxFWF9JVEVNX0dST1dTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEZMRVhfSVRFTV9TSFJJTktTOiByZWFkb25seSBbXG5cdDAsXG5cdDFcbl07XG5leHBvcnQgdHlwZSBGbGV4SXRlbVNocmluayA9IHR5cGVvZiBGTEVYX0lURU1fU0hSSU5LU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBGTEVYX0lURU1fRkxFWFM6IHJlYWRvbmx5IFtcblx0XCJpbml0aWFsXCIsXG5cdFwiYXV0b1wiLFxuXHRcIm5vbmVcIixcblx0XCJlcXVhbFwiXG5dO1xuZXhwb3J0IHR5cGUgRmxleEl0ZW1GbGV4ID0gdHlwZW9mIEZMRVhfSVRFTV9GTEVYU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBGTFlPVVRfUE9TSVRJT05TOiByZWFkb25seSBbXG5cdFwic3RhcnRcIixcblx0XCJlbmRcIixcblx0XCJsZWZ0XCIsXG5cdFwicmlnaHRcIlxuXTtcbmV4cG9ydCB0eXBlIEZseW91dFBvc2l0aW9uID0gKHR5cGVvZiBGTFlPVVRfUE9TSVRJT05TKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBGTFlPVVRfQVJJQV9BVFRSSUJVVEVTOiByZWFkb25seSBbXG5cdFwiYXJpYS1sYWJlbFwiXG5dO1xuZXhwb3J0IHR5cGUgRmx5b3V0QXJpYUF0dHJpYnV0ZSA9ICh0eXBlb2YgRkxZT1VUX0FSSUFfQVRUUklCVVRFUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxZT1VUX05BVklHQVRJT05fQVJJQV9BVFRSSUJVVEVTOiByZWFkb25seSBbXG5cdFwiYXJpYS1sYWJlbFwiXG5dO1xuZXhwb3J0IHR5cGUgRmx5b3V0TmF2aWdhdGlvbkFyaWFBdHRyaWJ1dGUgPSAodHlwZW9mIEZMWU9VVF9OQVZJR0FUSU9OX0FSSUFfQVRUUklCVVRFUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIEZseW91dE5hdmlnYXRpb25VcGRhdGUgPSB7XG5cdGFjdGl2ZUlkZW50aWZpZXI6IHN0cmluZztcbn07XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIEZseW91dE5hdmlnYXRpb25VcGRhdGVFdmVudCA9IEZseW91dE5hdmlnYXRpb25VcGRhdGU7XG5leHBvcnQgdHlwZSBGbHlvdXROYXZpZ2F0aW9uVXBkYXRlRXZlbnREZXRhaWwgPSBGbHlvdXROYXZpZ2F0aW9uVXBkYXRlRXZlbnQ7XG5kZWNsYXJlIGNvbnN0IEdSSURfRElSRUNUSU9OUzogcmVhZG9ubHkgW1xuXHRcInJvd1wiLFxuXHRcInJvdy1yZXZlcnNlXCIsXG5cdFwiY29sdW1uXCIsXG5cdFwiY29sdW1uLXJldmVyc2VcIlxuXTtcbmV4cG9ydCB0eXBlIEdyaWREaXJlY3Rpb24gPSB0eXBlb2YgR1JJRF9ESVJFQ1RJT05TW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEdSSURfV1JBUFM6IHJlYWRvbmx5IFtcblx0XCJub3dyYXBcIixcblx0XCJ3cmFwXCJcbl07XG5leHBvcnQgdHlwZSBHcmlkV3JhcCA9IHR5cGVvZiBHUklEX1dSQVBTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEdSSURfR1VUVEVSUzogcmVhZG9ubHkgW1xuXHQxNixcblx0MjQsXG5cdDM2XG5dO1xuZXhwb3J0IHR5cGUgR3JpZEd1dHRlciA9IHR5cGVvZiBHUklEX0dVVFRFUlNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgR1JJRF9JVEVNX1NJWkVTOiByZWFkb25seSBbXG5cdDEsXG5cdDIsXG5cdDMsXG5cdDQsXG5cdDUsXG5cdDYsXG5cdDcsXG5cdDgsXG5cdDksXG5cdDEwLFxuXHQxMSxcblx0MTJcbl07XG5leHBvcnQgdHlwZSBHcmlkSXRlbVNpemUgPSB0eXBlb2YgR1JJRF9JVEVNX1NJWkVTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEdSSURfSVRFTV9PRkZTRVRTOiByZWFkb25seSBbXG5cdDAsXG5cdDEsXG5cdDIsXG5cdDMsXG5cdDQsXG5cdDUsXG5cdDYsXG5cdDcsXG5cdDgsXG5cdDksXG5cdDEwLFxuXHQxMVxuXTtcbmV4cG9ydCB0eXBlIEdyaWRJdGVtT2Zmc2V0ID0gdHlwZW9mIEdSSURfSVRFTV9PRkZTRVRTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEhFQURJTkdfQ09MT1JTOiByZWFkb25seSBbXG5cdFwicHJpbWFyeVwiLFxuXHRcImluaGVyaXRcIlxuXTtcbmV4cG9ydCB0eXBlIEhlYWRpbmdDb2xvciA9ICh0eXBlb2YgSEVBRElOR19DT0xPUlMpW251bWJlcl07XG5leHBvcnQgdHlwZSBIZWFkaW5nQWxpZ24gPSBUeXBvZ3JhcGh5QWxpZ247XG5kZWNsYXJlIGNvbnN0IEhFQURMSU5FX1ZBUklBTlRTOiByZWFkb25seSBbXG5cdFwibGFyZ2UtdGl0bGVcIixcblx0XCJoZWFkbGluZS0xXCIsXG5cdFwiaGVhZGxpbmUtMlwiLFxuXHRcImhlYWRsaW5lLTNcIixcblx0XCJoZWFkbGluZS00XCIsXG5cdFwiaGVhZGxpbmUtNVwiXG5dO1xuZXhwb3J0IHR5cGUgSGVhZGxpbmVWYXJpYW50VHlwZSA9ICh0eXBlb2YgSEVBRExJTkVfVkFSSUFOVFMpW251bWJlcl07XG5leHBvcnQgdHlwZSBIZWFkbGluZVZhcmlhbnRDdXN0b20gPSBFeGNsdWRlPEJyZWFrcG9pbnRDdXN0b21pemFibGU8VGV4dFNpemU+LCBUZXh0U2l6ZT47XG5leHBvcnQgdHlwZSBIZWFkbGluZVZhcmlhbnQgPSBIZWFkbGluZVZhcmlhbnRUeXBlIHwgSGVhZGxpbmVWYXJpYW50Q3VzdG9tIHwgRXh0cmFjdDxUZXh0U2l6ZSwgXCJpbmhlcml0XCI+O1xuZGVjbGFyZSBjb25zdCBIRUFETElORV9UQUdTOiByZWFkb25seSBbXG5cdFwiaDFcIixcblx0XCJoMlwiLFxuXHRcImgzXCIsXG5cdFwiaDRcIixcblx0XCJoNVwiLFxuXHRcImg2XCJcbl07XG5leHBvcnQgdHlwZSBIZWFkbGluZVRhZyA9ICh0eXBlb2YgSEVBRExJTkVfVEFHUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgSEVBRExJTkVfQ09MT1JTOiByZWFkb25seSBbXG5cdFwicHJpbWFyeVwiLFxuXHRcImRlZmF1bHRcIixcblx0XCJpbmhlcml0XCJcbl07XG5leHBvcnQgdHlwZSBIZWFkbGluZUNvbG9yID0gKHR5cGVvZiBIRUFETElORV9DT0xPUlMpW251bWJlcl07XG5leHBvcnQgdHlwZSBIZWFkbGluZUFsaWduID0gVHlwb2dyYXBoeUFsaWduO1xuZGVjbGFyZSBjb25zdCBJQ09OX0FSSUFfQVRUUklCVVRFUzogcmVhZG9ubHkgW1xuXHRcImFyaWEtbGFiZWxcIlxuXTtcbmV4cG9ydCB0eXBlIEljb25BcmlhQXR0cmlidXRlID0gKHR5cGVvZiBJQ09OX0FSSUFfQVRUUklCVVRFUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIEljb25TaXplID0gVGV4dFNpemU7XG5kZWNsYXJlIGNvbnN0IElDT05fQ09MT1JTOiByZWFkb25seSBbXG5cdFwicHJpbWFyeVwiLFxuXHRcImNvbnRyYXN0LWxvd1wiLFxuXHRcImNvbnRyYXN0LW1lZGl1bVwiLFxuXHRcImNvbnRyYXN0LWhpZ2hcIixcblx0XCJub3RpZmljYXRpb24tc3VjY2Vzc1wiLFxuXHRcIm5vdGlmaWNhdGlvbi13YXJuaW5nXCIsXG5cdFwibm90aWZpY2F0aW9uLWVycm9yXCIsXG5cdFwibm90aWZpY2F0aW9uLWluZm9cIixcblx0XCJpbmhlcml0XCIsXG5cdFwiYnJhbmRcIixcblx0XCJkZWZhdWx0XCIsXG5cdFwibmV1dHJhbC1jb250cmFzdC1sb3dcIixcblx0XCJuZXV0cmFsLWNvbnRyYXN0LW1lZGl1bVwiLFxuXHRcIm5ldXRyYWwtY29udHJhc3QtaGlnaFwiLFxuXHRcIm5vdGlmaWNhdGlvbi1uZXV0cmFsXCIsXG5cdFwic3RhdGUtZGlzYWJsZWRcIlxuXTtcbmV4cG9ydCB0eXBlIEljb25Db2xvciA9ICh0eXBlb2YgSUNPTl9DT0xPUlMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IElOTElORV9OT1RJRklDQVRJT05fU1RBVEVTOiByZWFkb25seSBbXG5cdFwic3VjY2Vzc1wiLFxuXHRcImluZm9cIixcblx0XCJ3YXJuaW5nXCIsXG5cdFwiZXJyb3JcIixcblx0XCJuZXV0cmFsXCJcbl07XG5leHBvcnQgdHlwZSBJbmxpbmVOb3RpZmljYXRpb25TdGF0ZSA9IHR5cGVvZiBJTkxJTkVfTk9USUZJQ0FUSU9OX1NUQVRFU1tudW1iZXJdO1xuZXhwb3J0IHR5cGUgSW5saW5lTm90aWZpY2F0aW9uQWN0aW9uSWNvbiA9IEljb25OYW1lO1xuZXhwb3J0IHR5cGUgTGlua0ljb24gPSBMaW5rQnV0dG9uSWNvbk5hbWU7XG5leHBvcnQgdHlwZSBMaW5rUHVyZUljb24gPSBMaW5rQnV0dG9uSWNvbk5hbWU7XG5leHBvcnQgdHlwZSBMaW5rUHVyZUFyaWFBdHRyaWJ1dGUgPSBMaW5rQXJpYUF0dHJpYnV0ZTtcbmV4cG9ydCB0eXBlIExpbmtQdXJlQWxpZ25MYWJlbCA9IEFsaWduTGFiZWw7XG5leHBvcnQgdHlwZSBMaW5rUHVyZVdlaWdodCA9IFR5cG9ncmFwaHlUZXh0V2VpZ2h0O1xuZXhwb3J0IHR5cGUgTGlua1B1cmVTaXplID0gVGV4dFNpemU7XG5leHBvcnQgdHlwZSBMaW5rUHVyZVRhcmdldCA9IExpbmtUYXJnZXQ7XG5leHBvcnQgdHlwZSBMaW5rU29jaWFsSWNvbiA9IEV4dHJhY3Q8SWNvbk5hbWUsIFwibG9nby1mYWNlYm9va1wiIHwgXCJsb2dvLWdvb2dsZVwiIHwgXCJsb2dvLWluc3RhZ3JhbVwiIHwgXCJsb2dvLWxpbmtlZGluXCIgfCBcImxvZ28tcGludGVyZXN0XCIgfCBcImxvZ28tdHdpdHRlclwiIHwgXCJsb2dvLXdlY2hhdFwiIHwgXCJsb2dvLXdoYXRzYXBwXCIgfCBcImxvZ28teGluZ1wiIHwgXCJsb2dvLXlvdXR1YmVcIiB8IFwibG9nby1iYWlkdVwiIHwgXCJsb2dvLWRlbGljaW91c1wiIHwgXCJsb2dvLWRpZ2dcIiB8IFwibG9nby1mb3Vyc3F1YXJlXCIgfCBcImxvZ28tZ21haWxcIiB8IFwibG9nby1oYXRlbmFcIiB8IFwibG9nby1rYWl4aW5cIiB8IFwibG9nby1rYWthb3RhbGtcIiB8IFwibG9nby1uYXZlclwiIHwgXCJsb2dvLXFxLXNoYXJlXCIgfCBcImxvZ28tcXFcIiB8IFwibG9nby1yZWRkaXRcIiB8IFwibG9nby1za3lyb2NrXCIgfCBcImxvZ28tc29odVwiIHwgXCJsb2dvLXRlY2VudFwiIHwgXCJsb2dvLXRlbGVncmFtXCIgfCBcImxvZ28tdGlrdG9rXCIgfCBcImxvZ28tdHVtYmxyXCIgfCBcImxvZ28tdmliZXJcIiB8IFwibG9nby12a1wiIHwgXCJsb2dvLXdlaWJvXCIgfCBcImxvZ28teWFob29cIiB8IFwibG9nby15b3VrdVwiPjtcbmV4cG9ydCB0eXBlIExpbmtTb2NpYWxUYXJnZXQgPSBMaW5rVGFyZ2V0O1xuZXhwb3J0IHR5cGUgTGlua1RpbGVUYXJnZXQgPSBMaW5rVGFyZ2V0O1xuZXhwb3J0IHR5cGUgTGlua1RpbGVBcmlhQXR0cmlidXRlID0gTGlua0FyaWFBdHRyaWJ1dGU7XG5leHBvcnQgdHlwZSBMaW5rVGlsZUFzcGVjdFJhdGlvID0gVGlsZUFzcGVjdFJhdGlvO1xuZXhwb3J0IHR5cGUgTGlua1RpbGVTaXplID0gVGlsZVNpemU7XG5leHBvcnQgdHlwZSBMaW5rVGlsZUJhY2tncm91bmQgPSBUaWxlQmFja2dyb3VuZDtcbmV4cG9ydCB0eXBlIExpbmtUaWxlQWxpZ24gPSBUaWxlQWxpZ247XG5kZWNsYXJlIGNvbnN0IExJTktfVElMRV9XRUlHSFRTOiByZWFkb25seSBbXG5cdFwicmVndWxhclwiLFxuXHRcInNlbWktYm9sZFwiLFxuXHRcInNlbWlib2xkXCJcbl07XG5leHBvcnQgdHlwZSBMaW5rVGlsZVdlaWdodCA9ICh0eXBlb2YgTElOS19USUxFX1dFSUdIVFMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IExJTktfVElMRV9NT0RFTF9TSUdOQVRVUkVfTU9ERUxTOiByZWFkb25seSBbXG5cdFwiNzE4XCIsXG5cdFwiOTExXCIsXG5cdFwiYm94c3RlclwiLFxuXHRcImNheWVubmVcIixcblx0XCJjYXltYW5cIixcblx0XCJtYWNhblwiLFxuXHRcInBhbmFtZXJhXCIsXG5cdFwidGF5Y2FuXCIsXG5cdFwidHVyYm8tc1wiLFxuXHRcInR1cmJvXCJcbl07XG5leHBvcnQgdHlwZSBMaW5rVGlsZU1vZGVsU2lnbmF0dXJlTW9kZWwgPSAodHlwZW9mIExJTktfVElMRV9NT0RFTF9TSUdOQVRVUkVfTU9ERUxTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBMSU5LX1RJTEVfTU9ERUxfU0lHTkFUVVJFX0hFQURJTkdfVEFHUzogcmVhZG9ubHkgW1xuXHRcImgyXCIsXG5cdFwiaDNcIixcblx0XCJoNFwiLFxuXHRcImg1XCIsXG5cdFwiaDZcIlxuXTtcbmV4cG9ydCB0eXBlIExpbmtUaWxlTW9kZWxTaWduYXR1cmVIZWFkaW5nVGFnID0gKHR5cGVvZiBMSU5LX1RJTEVfTU9ERUxfU0lHTkFUVVJFX0hFQURJTkdfVEFHUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIExpbmtUaWxlTW9kZWxTaWduYXR1cmVXZWlnaHQgPSBUaWxlV2VpZ2h0O1xuZXhwb3J0IHR5cGUgTGlua1RpbGVNb2RlbFNpZ25hdHVyZUFzcGVjdFJhdGlvID0gVGlsZUFzcGVjdFJhdGlvO1xuZXhwb3J0IHR5cGUgTGlua1RpbGVNb2RlbFNpZ25hdHVyZUxpbmtEaXJlY3Rpb24gPSBHcm91cERpcmVjdGlvbjtcbmV4cG9ydCB0eXBlIExpbmtUaWxlUHJvZHVjdFRhcmdldCA9IExpbmtUYXJnZXQ7XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIExpbmtUaWxlUHJvZHVjdExpa2VFdmVudCA9IHtcblx0bGlrZWQ6IGJvb2xlYW47XG59O1xuZXhwb3J0IHR5cGUgTGlua1RpbGVQcm9kdWN0TGlrZUV2ZW50RGV0YWlsID0gTGlua1RpbGVQcm9kdWN0TGlrZUV2ZW50O1xuZGVjbGFyZSBjb25zdCBUSUxFX1BST0RVQ1RfQVNQRUNUX1JBVElPUzogcmVhZG9ubHkgW1xuXHRcIjM6NFwiLFxuXHRcIjk6MTZcIlxuXTtcbmV4cG9ydCB0eXBlIExpbmtUaWxlUHJvZHVjdEFzcGVjdFJhdGlvID0gRXh0cmFjdDxUaWxlQXNwZWN0UmF0aW8sICh0eXBlb2YgVElMRV9QUk9EVUNUX0FTUEVDVF9SQVRJT1MpW251bWJlcl0+O1xuZGVjbGFyZSBjb25zdCBNT0RFTF9TSUdOQVRVUkVTX01BTklGRVNUOiB7XG5cdFwiNzE4XCI6IHN0cmluZztcblx0XCI5MTFcIjogc3RyaW5nO1xuXHRib3hzdGVyOiBzdHJpbmc7XG5cdGNheWVubmU6IHN0cmluZztcblx0Y2F5bWFuOiBzdHJpbmc7XG5cdG1hY2FuOiBzdHJpbmc7XG5cdHBhbmFtZXJhOiBzdHJpbmc7XG5cdHRheWNhbjogc3RyaW5nO1xuXHRcInR1cmJvLXNcIjogc3RyaW5nO1xuXHR0dXJibzogc3RyaW5nO1xufTtcbmRlY2xhcmUgY29uc3QgTUFSUVVFX1ZBUklBTlRTOiByZWFkb25seSBbXG5cdFwiNzUteWVhcnNcIixcblx0XCJkZWZhdWx0XCJcbl07XG5leHBvcnQgdHlwZSBNYXJxdWVWYXJpYW50ID0gKHR5cGVvZiBNQVJRVUVfVkFSSUFOVFMpW251bWJlcl07XG5leHBvcnQgdHlwZSBNYXJxdWVUYXJnZXQgPSBMaW5rVGFyZ2V0O1xuZXhwb3J0IHR5cGUgTWFycXVlQXJpYUF0dHJpYnV0ZSA9IExpbmtBcmlhQXR0cmlidXRlO1xuZGVjbGFyZSBjb25zdCBNQVJRVUVfU0laRVM6IHJlYWRvbmx5IFtcblx0XCJyZXNwb25zaXZlXCIsXG5cdFwic21hbGxcIixcblx0XCJtZWRpdW1cIlxuXTtcbmV4cG9ydCB0eXBlIE1hcnF1ZVNpemUgPSB0eXBlb2YgTUFSUVVFX1NJWkVTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEJBQ0tEUk9QUzogcmVhZG9ubHkgW1xuXHRcImJsdXJcIixcblx0XCJzaGFkaW5nXCJcbl07XG5leHBvcnQgdHlwZSBCYWNrZHJvcCA9ICh0eXBlb2YgQkFDS0RST1BTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBNT0RBTF9BUklBX0FUVFJJQlVURVM6IHJlYWRvbmx5IFtcblx0XCJhcmlhLWxhYmVsXCJcbl07XG5leHBvcnQgdHlwZSBNb2RhbEFyaWFBdHRyaWJ1dGUgPSAodHlwZW9mIE1PREFMX0FSSUFfQVRUUklCVVRFUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIE1vZGFsQmFja2Ryb3AgPSBCYWNrZHJvcDtcbmRlY2xhcmUgY29uc3QgTU9ERUxfU0lHTkFUVVJFX1NJWkVTOiByZWFkb25seSBbXG5cdFwic21hbGxcIixcblx0XCJpbmhlcml0XCJcbl07XG5leHBvcnQgdHlwZSBNb2RlbFNpZ25hdHVyZVNpemUgPSAodHlwZW9mIE1PREVMX1NJR05BVFVSRV9TSVpFUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIE1vZGVsU2lnbmF0dXJlTW9kZWwgPSBrZXlvZiB0eXBlb2YgTU9ERUxfU0lHTkFUVVJFU19NQU5JRkVTVDtcbmRlY2xhcmUgY29uc3QgTU9ERUxfU0lHTkFUVVJFX0NPTE9SUzogcmVhZG9ubHkgW1xuXHRcInByaW1hcnlcIixcblx0XCJjb250cmFzdC1sb3dcIixcblx0XCJjb250cmFzdC1tZWRpdW1cIixcblx0XCJjb250cmFzdC1oaWdoXCIsXG5cdFwiaW5oZXJpdFwiXG5dO1xuZXhwb3J0IHR5cGUgTW9kZWxTaWduYXR1cmVDb2xvciA9ICh0eXBlb2YgTU9ERUxfU0lHTkFUVVJFX0NPTE9SUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIE11bHRpU2VsZWN0U3RhdGUgPSBGb3JtU3RhdGU7XG5leHBvcnQgdHlwZSBNdWx0aVNlbGVjdERyb3Bkb3duRGlyZWN0aW9uID0gU2VsZWN0Q29tcG9uZW50c0Ryb3Bkb3duRGlyZWN0aW9uO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBNdWx0aVNlbGVjdFVwZGF0ZUV2ZW50ID0ge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHZhbHVlOiBzdHJpbmdbXTtcbn07XG5leHBvcnQgdHlwZSBNdWx0aVNlbGVjdFVwZGF0ZUV2ZW50RGV0YWlsID0gTXVsdGlTZWxlY3RVcGRhdGVFdmVudDtcbmRlY2xhcmUgY29uc3QgUEFHSU5BVElPTl9OVU1CRVJfT0ZfUEFHRV9MSU5LUzogcmVhZG9ubHkgW1xuXHQ1LFxuXHQ3XG5dO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBQYWdpbmF0aW9uTWF4TnVtYmVyT2ZQYWdlTGlua3MgPSAodHlwZW9mIFBBR0lOQVRJT05fTlVNQkVSX09GX1BBR0VfTElOS1MpW251bWJlcl07XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFBhZ2luYXRpb25VcGRhdGVFdmVudCA9IHtcblx0cGFnZTogbnVtYmVyO1xuXHRwcmV2aW91c1BhZ2U6IG51bWJlcjtcbn07XG5leHBvcnQgdHlwZSBQYWdpbmF0aW9uVXBkYXRlRXZlbnREZXRhaWwgPSBQYWdpbmF0aW9uVXBkYXRlRXZlbnQ7XG5leHBvcnQgdHlwZSBQYWdpbmF0aW9uSW50ZXJuYXRpb25hbGl6YXRpb24gPSBQYXJ0aWFsPFJlY29yZDxcInJvb3RcIiB8IFwicHJldlwiIHwgXCJuZXh0XCIgfCBcInBhZ2VcIiwgc3RyaW5nPj4gfCBzdHJpbmc7XG5kZWNsYXJlIGNvbnN0IFBJTl9DT0RFX1RZUEVTOiByZWFkb25seSBbXG5cdFwibnVtYmVyXCIsXG5cdFwicGFzc3dvcmRcIlxuXTtcbmV4cG9ydCB0eXBlIFBpbkNvZGVUeXBlID0gKHR5cGVvZiBQSU5fQ09ERV9UWVBFUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgUElOX0NPREVfTEVOR1RIUzogcmVhZG9ubHkgW1xuXHQxLFxuXHQyLFxuXHQzLFxuXHQ0LFxuXHQ1LFxuXHQ2XG5dO1xuZXhwb3J0IHR5cGUgUGluQ29kZUxlbmd0aCA9ICh0eXBlb2YgUElOX0NPREVfTEVOR1RIUylbbnVtYmVyXTtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgUGluQ29kZVVwZGF0ZUV2ZW50ID0ge1xuXHR2YWx1ZTogc3RyaW5nO1xuXHRpc0NvbXBsZXRlOiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIFBpbkNvZGVVcGRhdGVFdmVudERldGFpbCA9IFBpbkNvZGVVcGRhdGVFdmVudDtcbmV4cG9ydCB0eXBlIFBpbkNvZGVTdGF0ZSA9IEZvcm1TdGF0ZTtcbmRlY2xhcmUgY29uc3QgUE9QT1ZFUl9ESVJFQ1RJT05TOiByZWFkb25seSBbXG5cdFwidG9wXCIsXG5cdFwicmlnaHRcIixcblx0XCJib3R0b21cIixcblx0XCJsZWZ0XCJcbl07XG5leHBvcnQgdHlwZSBQb3BvdmVyRGlyZWN0aW9uID0gKHR5cGVvZiBQT1BPVkVSX0RJUkVDVElPTlMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IFBPUE9WRVJfQVJJQV9BVFRSSUJVVEVTOiByZWFkb25seSBbXG5cdFwiYXJpYS1sYWJlbFwiXG5dO1xuZXhwb3J0IHR5cGUgUG9wb3ZlckFyaWFBdHRyaWJ1dGUgPSAodHlwZW9mIFBPUE9WRVJfQVJJQV9BVFRSSUJVVEVTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgUmFkaW9CdXR0b25XcmFwcGVyU3RhdGUgPSBGb3JtU3RhdGU7XG5kZWNsYXJlIGNvbnN0IFNFR01FTlRFRF9DT05UUk9MX0JBQ0tHUk9VTkRfQ09MT1JTOiByZWFkb25seSBbXG5cdFwiYmFja2dyb3VuZC1zdXJmYWNlXCIsXG5cdFwiYmFja2dyb3VuZC1kZWZhdWx0XCJcbl07XG5leHBvcnQgdHlwZSBTZWdtZW50ZWRDb250cm9sQmFja2dyb3VuZENvbG9yID0gKHR5cGVvZiBTRUdNRU5URURfQ09OVFJPTF9CQUNLR1JPVU5EX0NPTE9SUylbbnVtYmVyXTtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgU2VnbWVudGVkQ29udHJvbFVwZGF0ZUV2ZW50ID0ge1xuXHR2YWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xufTtcbmV4cG9ydCB0eXBlIFNlZ21lbnRlZENvbnRyb2xVcGRhdGVFdmVudERldGFpbCA9IFNlZ21lbnRlZENvbnRyb2xVcGRhdGVFdmVudDtcbmRlY2xhcmUgY29uc3QgU0VHTUVOVEVEX0NPTlRST0xfQ09MVU1OUzogKHN0cmluZyB8IG51bWJlcilbXTtcbmV4cG9ydCB0eXBlIFNlZ21lbnRlZENvbnRyb2xDb2x1bW5zID0gKHR5cGVvZiBTRUdNRU5URURfQ09OVFJPTF9DT0xVTU5TKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgU2VnbWVudGVkQ29udHJvbEl0ZW1JY29uID0gTGlua0J1dHRvbkljb25OYW1lO1xuZXhwb3J0IHR5cGUgU2VsZWN0U3RhdGUgPSBGb3JtU3RhdGU7XG5leHBvcnQgdHlwZSBTZWxlY3REcm9wZG93bkRpcmVjdGlvbiA9IFNlbGVjdENvbXBvbmVudHNEcm9wZG93bkRpcmVjdGlvbjtcbmV4cG9ydCB0eXBlIFNlbGVjdFVwZGF0ZUV2ZW50RGV0YWlsID0ge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHZhbHVlOiBzdHJpbmc7XG59O1xuZGVjbGFyZSBjb25zdCBEUk9QRE9XTl9ESVJFQ1RJT05TOiByZWFkb25seSBbXG5cdFwiZG93blwiLFxuXHRcInVwXCIsXG5cdFwiYXV0b1wiXG5dO1xuZXhwb3J0IHR5cGUgU2VsZWN0V3JhcHBlckRyb3Bkb3duRGlyZWN0aW9uID0gKHR5cGVvZiBEUk9QRE9XTl9ESVJFQ1RJT05TKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgU2VsZWN0V3JhcHBlclN0YXRlID0gRm9ybVN0YXRlO1xuZGVjbGFyZSBjb25zdCBTUElOTkVSX1NJWkVTOiByZWFkb25seSBbXG5cdFwic21hbGxcIixcblx0XCJtZWRpdW1cIixcblx0XCJsYXJnZVwiLFxuXHRcImluaGVyaXRcIlxuXTtcbmV4cG9ydCB0eXBlIFNwaW5uZXJTaXplID0gdHlwZW9mIFNQSU5ORVJfU0laRVNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgU1BJTk5FUl9BUklBX0FUVFJJQlVURVM6IHJlYWRvbmx5IFtcblx0XCJhcmlhLWxhYmVsXCJcbl07XG5leHBvcnQgdHlwZSBTcGlubmVyQXJpYUF0dHJpYnV0ZSA9IHR5cGVvZiBTUElOTkVSX0FSSUFfQVRUUklCVVRFU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBTVEVQUEVSX0hPUklaT05UQUxfU0laRVM6IHJlYWRvbmx5IFtcblx0XCJzbWFsbFwiLFxuXHRcIm1lZGl1bVwiXG5dO1xuZXhwb3J0IHR5cGUgU3RlcHBlckhvcml6b250YWxTaXplID0gKHR5cGVvZiBTVEVQUEVSX0hPUklaT05UQUxfU0laRVMpW251bWJlcl07XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFN0ZXBwZXJIb3Jpem9udGFsVXBkYXRlRXZlbnQgPSB7XG5cdGFjdGl2ZVN0ZXBJbmRleDogbnVtYmVyO1xufTtcbmV4cG9ydCB0eXBlIFN0ZXBwZXJIb3Jpem9udGFsVXBkYXRlRXZlbnREZXRhaWwgPSBTdGVwcGVySG9yaXpvbnRhbFVwZGF0ZUV2ZW50O1xuZGVjbGFyZSBjb25zdCBTVEVQUEVSX0lURU1fU1RBVEVTOiByZWFkb25seSBbXG5cdFwiY3VycmVudFwiLFxuXHRcImNvbXBsZXRlXCIsXG5cdFwid2FybmluZ1wiXG5dO1xuZXhwb3J0IHR5cGUgU3RlcHBlckhvcml6b250YWxJdGVtU3RhdGUgPSAodHlwZW9mIFNURVBQRVJfSVRFTV9TVEFURVMpW251bWJlcl07XG5leHBvcnQgdHlwZSBTd2l0Y2hBbGlnbkxhYmVsID0gQWxpZ25MYWJlbDtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgU3dpdGNoVXBkYXRlRXZlbnQgPSB7XG5cdGNoZWNrZWQ6IGJvb2xlYW47XG59O1xuZXhwb3J0IHR5cGUgU3dpdGNoVXBkYXRlRXZlbnREZXRhaWwgPSBTd2l0Y2hVcGRhdGVFdmVudDtcbmV4cG9ydCB0eXBlIERpcmVjdGlvbiA9IFwiYXNjXCIgfCBcImRlc2NcIjtcbmV4cG9ydCB0eXBlIFRhYmxlSGVhZENlbGxTb3J0ID0ge1xuXHRpZDogc3RyaW5nO1xuXHRhY3RpdmU/OiBib29sZWFuO1xuXHRkaXJlY3Rpb24/OiBEaXJlY3Rpb247XG59O1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBUYWJsZVVwZGF0ZUV2ZW50ID0gVGFibGVIZWFkQ2VsbFNvcnQ7XG5leHBvcnQgdHlwZSBUYWJsZVVwZGF0ZUV2ZW50RGV0YWlsID0gVGFibGVVcGRhdGVFdmVudDtcbmRlY2xhcmUgY29uc3QgVEFCU19CQVJfU0laRVM6IHJlYWRvbmx5IFtcblx0XCJzbWFsbFwiLFxuXHRcIm1lZGl1bVwiXG5dO1xuZXhwb3J0IHR5cGUgVGFic0JhclNpemUgPSAodHlwZW9mIFRBQlNfQkFSX1NJWkVTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBUQUJTX0JBUl9XRUlHSFRTOiByZWFkb25seSBbXG5cdFwicmVndWxhclwiLFxuXHRcInNlbWktYm9sZFwiLFxuXHRcInNlbWlib2xkXCJcbl07XG5leHBvcnQgdHlwZSBUYWJzQmFyV2VpZ2h0ID0gKHR5cGVvZiBUQUJTX0JBUl9XRUlHSFRTKVtudW1iZXJdO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBUYWJzQmFyVXBkYXRlRXZlbnQgPSB7XG5cdGFjdGl2ZVRhYkluZGV4OiBudW1iZXI7XG59O1xuZXhwb3J0IHR5cGUgVGFic0JhclVwZGF0ZUV2ZW50RGV0YWlsID0gVGFic0JhclVwZGF0ZUV2ZW50O1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBUYWJzQmFyR3JhZGllbnRDb2xvclNjaGVtZSA9IFNjcm9sbGVyR3JhZGllbnRDb2xvclNjaGVtZTtcbmV4cG9ydCB0eXBlIFRhYnNCYXJHcmFkaWVudENvbG9yID0gU2Nyb2xsZXJHcmFkaWVudENvbG9yO1xuZXhwb3J0IHR5cGUgVGFic1NpemUgPSBUYWJzQmFyU2l6ZTtcbmV4cG9ydCB0eXBlIFRhYnNXZWlnaHQgPSBUYWJzQmFyV2VpZ2h0O1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBUYWJzR3JhZGllbnRDb2xvclNjaGVtZSA9IFRhYnNCYXJHcmFkaWVudENvbG9yU2NoZW1lO1xuZXhwb3J0IHR5cGUgVGFic0dyYWRpZW50Q29sb3IgPSBUYWJzQmFyR3JhZGllbnRDb2xvcjtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgVGFic1VwZGF0ZUV2ZW50ID0gVGFic0JhclVwZGF0ZUV2ZW50O1xuZXhwb3J0IHR5cGUgVGFic1VwZGF0ZUV2ZW50RGV0YWlsID0gVGFic1VwZGF0ZUV2ZW50O1xuZGVjbGFyZSBjb25zdCBUQUdfRElTTUlTU0lCTEVfQ09MT1JTOiByZWFkb25seSBbXG5cdFwiYmFja2dyb3VuZC1iYXNlXCIsXG5cdFwiYmFja2dyb3VuZC1zdXJmYWNlXCIsXG5cdFwiYmFja2dyb3VuZC1kZWZhdWx0XCJcbl07XG5leHBvcnQgdHlwZSBUYWdEaXNtaXNzaWJsZUNvbG9yID0gdHlwZW9mIFRBR19ESVNNSVNTSUJMRV9DT0xPUlNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgVEFHX0RJU01JU1NJQkxFX0FSSUFfQVRUUklCVVRFUzogcmVhZG9ubHkgW1xuXHRcImFyaWEtbGFiZWxcIlxuXTtcbmV4cG9ydCB0eXBlIFRhZ0Rpc21pc3NpYmxlQXJpYUF0dHJpYnV0ZSA9IHR5cGVvZiBUQUdfRElTTUlTU0lCTEVfQVJJQV9BVFRSSUJVVEVTW251bWJlcl07XG5leHBvcnQgdHlwZSBUYWdJY29uID0gSWNvbk5hbWU7XG5kZWNsYXJlIGNvbnN0IFRBR19DT0xPUlM6IHJlYWRvbmx5IFtcblx0XCJiYWNrZ3JvdW5kLWJhc2VcIixcblx0XCJiYWNrZ3JvdW5kLXN1cmZhY2VcIixcblx0XCJiYWNrZ3JvdW5kLWRlZmF1bHRcIixcblx0XCJwcmltYXJ5XCIsXG5cdFwibm90aWZpY2F0aW9uLWluZm8tc29mdFwiLFxuXHRcIm5vdGlmaWNhdGlvbi13YXJuaW5nLXNvZnRcIixcblx0XCJub3RpZmljYXRpb24tc3VjY2Vzcy1zb2Z0XCIsXG5cdFwibm90aWZpY2F0aW9uLWVycm9yLXNvZnRcIixcblx0XCJuZXV0cmFsLWNvbnRyYXN0LWhpZ2hcIixcblx0XCJub3RpZmljYXRpb24tbmV1dHJhbFwiLFxuXHRcIm5vdGlmaWNhdGlvbi13YXJuaW5nXCIsXG5cdFwibm90aWZpY2F0aW9uLXN1Y2Nlc3NcIixcblx0XCJub3RpZmljYXRpb24tZXJyb3JcIlxuXTtcbmV4cG9ydCB0eXBlIFRhZ0NvbG9yID0gKHR5cGVvZiBUQUdfQ09MT1JTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBURVhUX1RBR1M6IHJlYWRvbmx5IFtcblx0XCJwXCIsXG5cdFwic3BhblwiLFxuXHRcImRpdlwiLFxuXHRcImFkZHJlc3NcIixcblx0XCJibG9ja3F1b3RlXCIsXG5cdFwiZmlnY2FwdGlvblwiLFxuXHRcImNpdGVcIixcblx0XCJ0aW1lXCIsXG5cdFwibGVnZW5kXCJcbl07XG5leHBvcnQgdHlwZSBUZXh0VGFnID0gKHR5cGVvZiBURVhUX1RBR1MpW251bWJlcl07XG5leHBvcnQgdHlwZSBUZXh0QWxpZ24gPSBUeXBvZ3JhcGh5QWxpZ247XG5leHBvcnQgdHlwZSBUZXh0Q29sb3IgPSBUeXBvZ3JhcGh5VGV4dENvbG9yO1xuZXhwb3J0IHR5cGUgVGV4dFdlaWdodCA9IFR5cG9ncmFwaHlUZXh0V2VpZ2h0O1xuZGVjbGFyZSBjb25zdCBVTklUX1BPU0lUSU9OUzogcmVhZG9ubHkgW1xuXHRcInByZWZpeFwiLFxuXHRcInN1ZmZpeFwiXG5dO1xuZXhwb3J0IHR5cGUgVGV4dEZpZWxkV3JhcHBlclVuaXRQb3NpdGlvbiA9ICh0eXBlb2YgVU5JVF9QT1NJVElPTlMpW251bWJlcl07XG5leHBvcnQgdHlwZSBUZXh0RmllbGRXcmFwcGVyQWN0aW9uSWNvbiA9IEV4dHJhY3Q8SWNvbk5hbWUsIFwibG9jYXRlXCI+O1xuZXhwb3J0IHR5cGUgVGV4dEZpZWxkV3JhcHBlclN0YXRlID0gRm9ybVN0YXRlO1xuZGVjbGFyZSBjb25zdCBMSVNUX1RZUEVTOiByZWFkb25seSBbXG5cdFwidW5vcmRlcmVkXCIsXG5cdFwib3JkZXJlZFwiXG5dO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBUZXh0TGlzdExpc3RUeXBlID0gdHlwZW9mIExJU1RfVFlQRVNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgT1JERVJfVFlQRVM6IHJlYWRvbmx5IFtcblx0XCJudW1iZXJlZFwiLFxuXHRcImFscGhhYmV0aWNhbGx5XCJcbl07XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFRleHRMaXN0T3JkZXJUeXBlID0gdHlwZW9mIE9SREVSX1RZUEVTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IFRFWFRfTElTVF9UWVBFUzogcmVhZG9ubHkgW1xuXHRcInVub3JkZXJlZFwiLFxuXHRcIm51bWJlcmVkXCIsXG5cdFwiYWxwaGFiZXRpY2FsbHlcIlxuXTtcbmV4cG9ydCB0eXBlIFRleHRMaXN0VHlwZSA9IHR5cGVvZiBURVhUX0xJU1RfVFlQRVNbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFRleHRhcmVhV3JhcHBlclN0YXRlID0gRm9ybVN0YXRlO1xuZGVjbGFyZSBjb25zdCBUT0FTVF9TVEFURVM6IHJlYWRvbmx5IFtcblx0XCJpbmZvXCIsXG5cdFwic3VjY2Vzc1wiLFxuXHRcIm5ldXRyYWxcIlxuXTtcbmV4cG9ydCB0eXBlIFRvYXN0U3RhdGUgPSB0eXBlb2YgVE9BU1RfU1RBVEVTW251bWJlcl07XG5leHBvcnQgdHlwZSBUb2FzdE1lc3NhZ2UgPSB7XG5cdHRleHQ6IHN0cmluZztcblx0c3RhdGU/OiBUb2FzdFN0YXRlO1xufTtcbmRlY2xhcmUgY29uc3QgV09SRE1BUktfU0laRVM6IHJlYWRvbmx5IFtcblx0XCJzbWFsbFwiLFxuXHRcImluaGVyaXRcIlxuXTtcbmV4cG9ydCB0eXBlIFdvcmRtYXJrU2l6ZSA9ICh0eXBlb2YgV09SRE1BUktfU0laRVMpW251bWJlcl07XG5leHBvcnQgdHlwZSBXb3JkbWFya1RhcmdldCA9IExpbmtUYXJnZXQ7XG5leHBvcnQgdHlwZSBXb3JkbWFya0FyaWFBdHRyaWJ1dGUgPSBMaW5rQXJpYUF0dHJpYnV0ZTtcbiJdfQ==
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { inject, NgModule, Optional } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { load } from '@porsche-design-system/components-js';
|
|
4
|
-
import { DECLARATIONS } from './lib/components/barrel';
|
|
5
|
-
import { THEME_TOKEN } from './utils';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "./lib/components/accordion.wrapper";
|
|
8
|
-
import * as i2 from "./lib/components/banner.wrapper";
|
|
9
|
-
import * as i3 from "./lib/components/button.wrapper";
|
|
10
|
-
import * as i4 from "./lib/components/button-group.wrapper";
|
|
11
|
-
import * as i5 from "./lib/components/button-pure.wrapper";
|
|
12
|
-
import * as i6 from "./lib/components/button-tile.wrapper";
|
|
13
|
-
import * as i7 from "./lib/components/carousel.wrapper";
|
|
14
|
-
import * as i8 from "./lib/components/checkbox-wrapper.wrapper";
|
|
15
|
-
import * as i9 from "./lib/components/content-wrapper.wrapper";
|
|
16
|
-
import * as i10 from "./lib/components/crest.wrapper";
|
|
17
|
-
import * as i11 from "./lib/components/display.wrapper";
|
|
18
|
-
import * as i12 from "./lib/components/divider.wrapper";
|
|
19
|
-
import * as i13 from "./lib/components/fieldset.wrapper";
|
|
20
|
-
import * as i14 from "./lib/components/fieldset-wrapper.wrapper";
|
|
21
|
-
import * as i15 from "./lib/components/flex.wrapper";
|
|
22
|
-
import * as i16 from "./lib/components/flex-item.wrapper";
|
|
23
|
-
import * as i17 from "./lib/components/flyout.wrapper";
|
|
24
|
-
import * as i18 from "./lib/components/flyout-navigation.wrapper";
|
|
25
|
-
import * as i19 from "./lib/components/flyout-navigation-item.wrapper";
|
|
26
|
-
import * as i20 from "./lib/components/grid.wrapper";
|
|
27
|
-
import * as i21 from "./lib/components/grid-item.wrapper";
|
|
28
|
-
import * as i22 from "./lib/components/heading.wrapper";
|
|
29
|
-
import * as i23 from "./lib/components/headline.wrapper";
|
|
30
|
-
import * as i24 from "./lib/components/icon.wrapper";
|
|
31
|
-
import * as i25 from "./lib/components/inline-notification.wrapper";
|
|
32
|
-
import * as i26 from "./lib/components/link.wrapper";
|
|
33
|
-
import * as i27 from "./lib/components/link-pure.wrapper";
|
|
34
|
-
import * as i28 from "./lib/components/link-social.wrapper";
|
|
35
|
-
import * as i29 from "./lib/components/link-tile.wrapper";
|
|
36
|
-
import * as i30 from "./lib/components/link-tile-model-signature.wrapper";
|
|
37
|
-
import * as i31 from "./lib/components/link-tile-product.wrapper";
|
|
38
|
-
import * as i32 from "./lib/components/marque.wrapper";
|
|
39
|
-
import * as i33 from "./lib/components/modal.wrapper";
|
|
40
|
-
import * as i34 from "./lib/components/model-signature.wrapper";
|
|
41
|
-
import * as i35 from "./lib/components/multi-select.wrapper";
|
|
42
|
-
import * as i36 from "./lib/components/multi-select-option.wrapper";
|
|
43
|
-
import * as i37 from "./lib/components/pagination.wrapper";
|
|
44
|
-
import * as i38 from "./lib/components/pin-code.wrapper";
|
|
45
|
-
import * as i39 from "./lib/components/popover.wrapper";
|
|
46
|
-
import * as i40 from "./lib/components/radio-button-wrapper.wrapper";
|
|
47
|
-
import * as i41 from "./lib/components/scroller.wrapper";
|
|
48
|
-
import * as i42 from "./lib/components/segmented-control.wrapper";
|
|
49
|
-
import * as i43 from "./lib/components/segmented-control-item.wrapper";
|
|
50
|
-
import * as i44 from "./lib/components/select.wrapper";
|
|
51
|
-
import * as i45 from "./lib/components/select-option.wrapper";
|
|
52
|
-
import * as i46 from "./lib/components/select-wrapper.wrapper";
|
|
53
|
-
import * as i47 from "./lib/components/spinner.wrapper";
|
|
54
|
-
import * as i48 from "./lib/components/stepper-horizontal.wrapper";
|
|
55
|
-
import * as i49 from "./lib/components/stepper-horizontal-item.wrapper";
|
|
56
|
-
import * as i50 from "./lib/components/switch.wrapper";
|
|
57
|
-
import * as i51 from "./lib/components/table.wrapper";
|
|
58
|
-
import * as i52 from "./lib/components/table-body.wrapper";
|
|
59
|
-
import * as i53 from "./lib/components/table-cell.wrapper";
|
|
60
|
-
import * as i54 from "./lib/components/table-head.wrapper";
|
|
61
|
-
import * as i55 from "./lib/components/table-head-cell.wrapper";
|
|
62
|
-
import * as i56 from "./lib/components/table-head-row.wrapper";
|
|
63
|
-
import * as i57 from "./lib/components/table-row.wrapper";
|
|
64
|
-
import * as i58 from "./lib/components/tabs.wrapper";
|
|
65
|
-
import * as i59 from "./lib/components/tabs-bar.wrapper";
|
|
66
|
-
import * as i60 from "./lib/components/tabs-item.wrapper";
|
|
67
|
-
import * as i61 from "./lib/components/tag.wrapper";
|
|
68
|
-
import * as i62 from "./lib/components/tag-dismissible.wrapper";
|
|
69
|
-
import * as i63 from "./lib/components/text.wrapper";
|
|
70
|
-
import * as i64 from "./lib/components/text-field-wrapper.wrapper";
|
|
71
|
-
import * as i65 from "./lib/components/text-list.wrapper";
|
|
72
|
-
import * as i66 from "./lib/components/text-list-item.wrapper";
|
|
73
|
-
import * as i67 from "./lib/components/textarea-wrapper.wrapper";
|
|
74
|
-
import * as i68 from "./lib/components/toast.wrapper";
|
|
75
|
-
import * as i69 from "./lib/components/wordmark.wrapper";
|
|
76
|
-
export class DefaultConfig {
|
|
77
|
-
constructor() {
|
|
78
|
-
this.prefix = '';
|
|
79
|
-
// other component configurations should probably go into a separate `components`, `componentProps` or `componentDefaults`
|
|
80
|
-
// property similar to https://mui.com/material-ui/customization/theme-components/
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
// TODO: unit tests are missing
|
|
84
|
-
export class PorscheDesignSystemModule {
|
|
85
|
-
constructor(configParam) {
|
|
86
|
-
this.theme$ = inject(THEME_TOKEN);
|
|
87
|
-
const configs = configParam || [new DefaultConfig()];
|
|
88
|
-
this.theme$.next(configs[0].theme || 'light'); // first config sets the theme
|
|
89
|
-
configs.forEach(load);
|
|
90
|
-
}
|
|
91
|
-
static load(config) {
|
|
92
|
-
return {
|
|
93
|
-
ngModule: PorscheDesignSystemModule,
|
|
94
|
-
providers: [
|
|
95
|
-
{
|
|
96
|
-
provide: DefaultConfig,
|
|
97
|
-
multi: true,
|
|
98
|
-
useValue: config,
|
|
99
|
-
},
|
|
100
|
-
],
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
PorscheDesignSystemModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PorscheDesignSystemModule, deps: [{ token: DefaultConfig, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
105
|
-
PorscheDesignSystemModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: PorscheDesignSystemModule, declarations: [i1.PAccordion, i2.PBanner, i3.PButton, i4.PButtonGroup, i5.PButtonPure, i6.PButtonTile, i7.PCarousel, i8.PCheckboxWrapper, i9.PContentWrapper, i10.PCrest, i11.PDisplay, i12.PDivider, i13.PFieldset, i14.PFieldsetWrapper, i15.PFlex, i16.PFlexItem, i17.PFlyout, i18.PFlyoutNavigation, i19.PFlyoutNavigationItem, i20.PGrid, i21.PGridItem, i22.PHeading, i23.PHeadline, i24.PIcon, i25.PInlineNotification, i26.PLink, i27.PLinkPure, i28.PLinkSocial, i29.PLinkTile, i30.PLinkTileModelSignature, i31.PLinkTileProduct, i32.PMarque, i33.PModal, i34.PModelSignature, i35.PMultiSelect, i36.PMultiSelectOption, i37.PPagination, i38.PPinCode, i39.PPopover, i40.PRadioButtonWrapper, i41.PScroller, i42.PSegmentedControl, i43.PSegmentedControlItem, i44.PSelect, i45.PSelectOption, i46.PSelectWrapper, i47.PSpinner, i48.PStepperHorizontal, i49.PStepperHorizontalItem, i50.PSwitch, i51.PTable, i52.PTableBody, i53.PTableCell, i54.PTableHead, i55.PTableHeadCell, i56.PTableHeadRow, i57.PTableRow, i58.PTabs, i59.PTabsBar, i60.PTabsItem, i61.PTag, i62.PTagDismissible, i63.PText, i64.PTextFieldWrapper, i65.PTextList, i66.PTextListItem, i67.PTextareaWrapper, i68.PToast, i69.PWordmark], exports: [i1.PAccordion, i2.PBanner, i3.PButton, i4.PButtonGroup, i5.PButtonPure, i6.PButtonTile, i7.PCarousel, i8.PCheckboxWrapper, i9.PContentWrapper, i10.PCrest, i11.PDisplay, i12.PDivider, i13.PFieldset, i14.PFieldsetWrapper, i15.PFlex, i16.PFlexItem, i17.PFlyout, i18.PFlyoutNavigation, i19.PFlyoutNavigationItem, i20.PGrid, i21.PGridItem, i22.PHeading, i23.PHeadline, i24.PIcon, i25.PInlineNotification, i26.PLink, i27.PLinkPure, i28.PLinkSocial, i29.PLinkTile, i30.PLinkTileModelSignature, i31.PLinkTileProduct, i32.PMarque, i33.PModal, i34.PModelSignature, i35.PMultiSelect, i36.PMultiSelectOption, i37.PPagination, i38.PPinCode, i39.PPopover, i40.PRadioButtonWrapper, i41.PScroller, i42.PSegmentedControl, i43.PSegmentedControlItem, i44.PSelect, i45.PSelectOption, i46.PSelectWrapper, i47.PSpinner, i48.PStepperHorizontal, i49.PStepperHorizontalItem, i50.PSwitch, i51.PTable, i52.PTableBody, i53.PTableCell, i54.PTableHead, i55.PTableHeadCell, i56.PTableHeadRow, i57.PTableRow, i58.PTabs, i59.PTabsBar, i60.PTabsItem, i61.PTag, i62.PTagDismissible, i63.PText, i64.PTextFieldWrapper, i65.PTextList, i66.PTextListItem, i67.PTextareaWrapper, i68.PToast, i69.PWordmark] });
|
|
106
|
-
PorscheDesignSystemModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PorscheDesignSystemModule, providers: [
|
|
107
|
-
{
|
|
108
|
-
provide: THEME_TOKEN,
|
|
109
|
-
useValue: new BehaviorSubject('light'),
|
|
110
|
-
},
|
|
111
|
-
] });
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PorscheDesignSystemModule, decorators: [{
|
|
113
|
-
type: NgModule,
|
|
114
|
-
args: [{
|
|
115
|
-
declarations: DECLARATIONS,
|
|
116
|
-
exports: DECLARATIONS,
|
|
117
|
-
providers: [
|
|
118
|
-
{
|
|
119
|
-
provide: THEME_TOKEN,
|
|
120
|
-
useValue: new BehaviorSubject('light'),
|
|
121
|
-
},
|
|
122
|
-
],
|
|
123
|
-
}]
|
|
124
|
-
}], ctorParameters: function () { return [{ type: DefaultConfig, decorators: [{
|
|
125
|
-
type: Optional
|
|
126
|
-
}] }]; } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9yc2NoZS1kZXNpZ24tc3lzdGVtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItd3JhcHBlci9zcmMvcG9yc2NoZS1kZXNpZ24tc3lzdGVtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUE0QixRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVF0QyxNQUFNLE9BQU8sYUFBYTtJQUExQjtRQUNFLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFFWiwwSEFBMEg7UUFDMUgsa0ZBQWtGO0lBQ3BGLENBQUM7Q0FBQTtBQUVELCtCQUErQjtBQVcvQixNQUFNLE9BQU8seUJBQXlCO0lBR3BDLFlBQXdCLFdBQTBCO1FBRjFDLFdBQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFHbkMsTUFBTSxPQUFPLEdBQUksV0FBMEMsSUFBSSxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsOEJBQThCO1FBQzdFLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBdUM7UUFDakQsT0FBTztZQUNMLFFBQVEsRUFBRSx5QkFBeUI7WUFDbkMsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxhQUFhO29CQUN0QixLQUFLLEVBQUUsSUFBSTtvQkFDWCxRQUFRLEVBQUUsTUFBTTtpQkFDakI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOzt1SEFwQlUseUJBQXlCO3dIQUF6Qix5QkFBeUI7d0hBQXpCLHlCQUF5QixhQVB6QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLFdBQVc7WUFDcEIsUUFBUSxFQUFFLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQztTQUN2QztLQUNGOzRGQUVVLHlCQUF5QjtrQkFWckMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsWUFBWTtvQkFDMUIsT0FBTyxFQUFFLFlBQVk7b0JBQ3JCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsV0FBVzs0QkFDcEIsUUFBUSxFQUFFLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQzt5QkFDdkM7cUJBQ0Y7aUJBQ0Y7OzBCQUljLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIHR5cGUgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGxvYWQgfSBmcm9tICdAcG9yc2NoZS1kZXNpZ24tc3lzdGVtL2NvbXBvbmVudHMtanMnO1xuaW1wb3J0IHsgREVDTEFSQVRJT05TIH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9iYXJyZWwnO1xuaW1wb3J0IHR5cGUgeyBUaGVtZSB9IGZyb20gJy4vbGliL3R5cGVzJztcbmltcG9ydCB7IFRIRU1FX1RPS0VOIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB0eXBlIFBvcnNjaGVEZXNpZ25TeXN0ZW1Nb2R1bGVDb25maWcgPSB7XG4gIHByZWZpeD86IHN0cmluZztcbiAgY2RuPzogJ2F1dG8nIHwgJ2NuJztcbiAgdGhlbWU/OiBUaGVtZTtcbn07XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0Q29uZmlnIGltcGxlbWVudHMgUG9yc2NoZURlc2lnblN5c3RlbU1vZHVsZUNvbmZpZyB7XG4gIHByZWZpeCA9ICcnO1xuICB0aGVtZTogJ2xpZ2h0JzsgLy8gc2luY2UgdGhlbWUgZXhpc3RzIG9uIGFsbW9zdCBldmVyeSBjb21wb25lbnQsIGl0IGlzIGRlZmluZWQgaGVyZSBraW5kIG9mIGxpa2UgYSBnbG9iYWwgcHJvcFxuICAvLyBvdGhlciBjb21wb25lbnQgY29uZmlndXJhdGlvbnMgc2hvdWxkIHByb2JhYmx5IGdvIGludG8gYSBzZXBhcmF0ZSBgY29tcG9uZW50c2AsIGBjb21wb25lbnRQcm9wc2Agb3IgYGNvbXBvbmVudERlZmF1bHRzYFxuICAvLyBwcm9wZXJ0eSBzaW1pbGFyIHRvIGh0dHBzOi8vbXVpLmNvbS9tYXRlcmlhbC11aS9jdXN0b21pemF0aW9uL3RoZW1lLWNvbXBvbmVudHMvXG59XG5cbi8vIFRPRE86IHVuaXQgdGVzdHMgYXJlIG1pc3NpbmdcbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogREVDTEFSQVRJT05TLFxuICBleHBvcnRzOiBERUNMQVJBVElPTlMsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRIRU1FX1RPS0VOLFxuICAgICAgdXNlVmFsdWU6IG5ldyBCZWhhdmlvclN1YmplY3QoJ2xpZ2h0JyksXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9yc2NoZURlc2lnblN5c3RlbU1vZHVsZSB7XG4gIHByaXZhdGUgdGhlbWUkID0gaW5qZWN0KFRIRU1FX1RPS0VOKTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBjb25maWdQYXJhbTogRGVmYXVsdENvbmZpZykge1xuICAgIGNvbnN0IGNvbmZpZ3MgPSAoY29uZmlnUGFyYW0gYXMgdW5rbm93biBhcyBEZWZhdWx0Q29uZmlnW10pIHx8IFtuZXcgRGVmYXVsdENvbmZpZygpXTtcbiAgICB0aGlzLnRoZW1lJC5uZXh0KGNvbmZpZ3NbMF0udGhlbWUgfHwgJ2xpZ2h0Jyk7IC8vIGZpcnN0IGNvbmZpZyBzZXRzIHRoZSB0aGVtZVxuICAgIGNvbmZpZ3MuZm9yRWFjaChsb2FkKTtcbiAgfVxuXG4gIHN0YXRpYyBsb2FkKGNvbmZpZzogUG9yc2NoZURlc2lnblN5c3RlbU1vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8UG9yc2NoZURlc2lnblN5c3RlbU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUG9yc2NoZURlc2lnblN5c3RlbU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogRGVmYXVsdENvbmZpZyxcbiAgICAgICAgICBtdWx0aTogdHJ1ZSwgLy8gdG8gc3VwcG9ydCBtdWx0aXBsZSBwcmVmaXhlcyBpbiBzYW1lIG1vZHVsZVxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
package/esm2020/utils.mjs
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, inject, InjectionToken, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export const THEME_TOKEN = new InjectionToken('pdsTheme');
|
|
4
|
-
export class BaseComponent {
|
|
5
|
-
constructor(cdr, elementRef) {
|
|
6
|
-
cdr.detach();
|
|
7
|
-
this.el = elementRef.nativeElement;
|
|
8
|
-
}
|
|
9
|
-
ngOnChanges(props) {
|
|
10
|
-
for (const prop in props) {
|
|
11
|
-
this.el[prop] = props[prop].currentValue;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
-
BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BaseComponent, selector: "ng-component", usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseComponent, decorators: [{
|
|
18
|
-
type: Component,
|
|
19
|
-
args: [{
|
|
20
|
-
template: '',
|
|
21
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
22
|
-
}]
|
|
23
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; } });
|
|
24
|
-
export class BaseComponentWithTheme extends BaseComponent {
|
|
25
|
-
constructor() {
|
|
26
|
-
super(...arguments);
|
|
27
|
-
this.themeSubscription = inject(THEME_TOKEN).subscribe((theme) => {
|
|
28
|
-
this.el.theme = this.theme || theme;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
ngOnDestroy() {
|
|
32
|
-
// need to manually unsubscribe or otherwise subscription is still active even after unmount
|
|
33
|
-
// https://rafaelneto.dev/en/blog/unsubscribing-behaviorsubject-observable-angular/
|
|
34
|
-
this.themeSubscription.unsubscribe();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
BaseComponentWithTheme.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseComponentWithTheme, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
BaseComponentWithTheme.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BaseComponentWithTheme, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseComponentWithTheme, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{
|
|
42
|
-
template: '',
|
|
43
|
-
}]
|
|
44
|
-
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXdyYXBwZXIvc3JjL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULE1BQU0sRUFDTixjQUFjLEdBR2YsTUFBTSxlQUFlLENBQUM7O0FBSXZCLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsVUFBVSxDQUFDLENBQUM7QUFNbEYsTUFBTSxPQUFnQixhQUFhO0lBR2pDLFlBQVksR0FBc0IsRUFBRSxVQUFzQjtRQUN4RCxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFzRjtRQUNoRyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtZQUN4QixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUM7U0FDMUM7SUFDSCxDQUFDOzsyR0FabUIsYUFBYTsrRkFBYixhQUFhLHlFQUh2QixFQUFFOzRGQUdRLGFBQWE7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOztBQW1CRCxNQUFNLE9BQWdCLHNCQUF1QixTQUFRLGFBQWE7SUFIbEU7O1FBS1Usc0JBQWlCLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0tBUUo7SUFMQyxXQUFXO1FBQ1QsNEZBQTRGO1FBQzVGLG1GQUFtRjtRQUNuRixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkMsQ0FBQzs7b0hBWG1CLHNCQUFzQjt3R0FBdEIsc0JBQXNCLDJFQUZoQyxFQUFFOzRGQUVRLHNCQUFzQjtrQkFIM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICB0eXBlIE9uQ2hhbmdlcyxcbiAgdHlwZSBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSAnLi9saWIvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgVEhFTUVfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QmVoYXZpb3JTdWJqZWN0PFRoZW1lPj4oJ3Bkc1RoZW1lJyk7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgY2RyLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhwcm9wczogUmVjb3JkPHN0cmluZywgeyBwcmV2aW91c1ZhbHVlOiBhbnk7IGN1cnJlbnRWYWx1ZTogYW55OyBmaXJzdENoYW5nZTogYm9vbGVhbiB9Pik6IHZvaWQge1xuICAgIGZvciAoY29uc3QgcHJvcCBpbiBwcm9wcykge1xuICAgICAgdGhpcy5lbFtwcm9wXSA9IHByb3BzW3Byb3BdLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbXBvbmVudFdpdGhUaGVtZSBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcm90ZWN0ZWQgZGVjbGFyZSBlbDogSFRNTEVsZW1lbnQgJiB7IHRoZW1lOiBUaGVtZSB9O1xuICBwcml2YXRlIHRoZW1lU3Vic2NyaXB0aW9uID0gaW5qZWN0KFRIRU1FX1RPS0VOKS5zdWJzY3JpYmUoKHRoZW1lKSA9PiB7XG4gICAgdGhpcy5lbC50aGVtZSA9IHRoaXMudGhlbWUgfHwgdGhlbWU7XG4gIH0pO1xuICB0aGVtZT86IFRoZW1lO1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIG5lZWQgdG8gbWFudWFsbHkgdW5zdWJzY3JpYmUgb3Igb3RoZXJ3aXNlIHN1YnNjcmlwdGlvbiBpcyBzdGlsbCBhY3RpdmUgZXZlbiBhZnRlciB1bm1vdW50XG4gICAgLy8gaHR0cHM6Ly9yYWZhZWxuZXRvLmRldi9lbi9ibG9nL3Vuc3Vic2NyaWJpbmctYmVoYXZpb3JzdWJqZWN0LW9ic2VydmFibGUtYW5ndWxhci9cbiAgICB0aGlzLnRoZW1lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|