@porscheinformatik/clr-addons 18.0.4 → 18.1.1
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/action-panel/action-panel-container-content.d.ts +5 -0
- package/action-panel/action-panel-container-footer.d.ts +5 -0
- package/action-panel/action-panel-container.d.ts +5 -0
- package/action-panel/action-panel.d.ts +14 -0
- package/action-panel/action-panel.module.d.ts +13 -0
- package/action-panel/index.d.ts +5 -0
- package/clr-addons.module.d.ts +2 -1
- package/datagrid/date-filter/date-filter.component.d.ts +8 -1
- package/datagrid/date-filter/date-filter.module.d.ts +3 -1
- package/daterangepicker/daterangepicker.module.d.ts +5 -4
- package/daterangepicker/directives/datepicker/datepicker.component.d.ts +2 -1
- package/daterangepicker/directives/daterangepicker/daterangepicker.directive.d.ts +6 -0
- package/daterangepicker/directives/daterangepicker-container/daterangepicker-container.component.d.ts +15 -2
- package/daterangepicker/directives/timepicker/timepicker.component.d.ts +33 -0
- package/daterangepicker/index.d.ts +3 -0
- package/daterangepicker/interfaces/timerange-preset.interface.d.ts +8 -0
- package/daterangepicker/interfaces/timerange.interface.d.ts +13 -0
- package/daterangepicker/models/time.model.d.ts +65 -0
- package/daterangepicker/providers/daterange-parsing.service.d.ts +3 -0
- package/daterangepicker/providers/daterange.service.d.ts +10 -1
- package/daterangepicker/validators/daterange-order.validator.d.ts +2 -1
- package/esm2022/action-panel/action-panel-container-content.mjs +22 -0
- package/esm2022/action-panel/action-panel-container-footer.mjs +22 -0
- package/esm2022/action-panel/action-panel-container.mjs +35 -0
- package/esm2022/action-panel/action-panel.mjs +80 -0
- package/esm2022/action-panel/action-panel.module.mjs +36 -0
- package/esm2022/action-panel/index.mjs +6 -0
- package/esm2022/clr-addons.module.mjs +7 -3
- package/esm2022/datagrid/date-filter/date-filter.component.mjs +45 -4
- package/esm2022/datagrid/date-filter/date-filter.module.mjs +6 -4
- package/esm2022/daterangepicker/daterangepicker.module.mjs +5 -2
- package/esm2022/daterangepicker/directives/datepicker/datepicker.component.mjs +5 -2
- package/esm2022/daterangepicker/directives/daterangepicker/daterangepicker.directive.mjs +76 -2
- package/esm2022/daterangepicker/directives/daterangepicker-container/daterangepicker-container.component.mjs +84 -14
- package/esm2022/daterangepicker/directives/timepicker/timepicker.component.mjs +54 -0
- package/esm2022/daterangepicker/index.mjs +4 -1
- package/esm2022/daterangepicker/interfaces/timerange-preset.interface.mjs +2 -0
- package/esm2022/daterangepicker/interfaces/timerange.interface.mjs +2 -0
- package/esm2022/daterangepicker/models/time.model.mjs +82 -0
- package/esm2022/daterangepicker/providers/daterange-parsing.service.mjs +21 -1
- package/esm2022/daterangepicker/providers/daterange.service.mjs +17 -5
- package/esm2022/daterangepicker/validators/daterange-order.validator.mjs +9 -2
- package/esm2022/history/history.mjs +3 -3
- package/esm2022/index.mjs +2 -1
- package/esm2022/main-nav-group/main-nav-group.mjs +2 -3
- package/fesm2022/clr-addons.mjs +564 -33
- package/fesm2022/clr-addons.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/package.json +4 -4
- package/styles/clr-addons-phs.css +74 -0
- package/styles/clr-addons-phs.css.map +1 -1
- package/styles/clr-addons-phs.min.css +1 -1
- package/styles/clr-addons-phs.min.css.map +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.
|
|
3
3
|
* This software is released under MIT license.
|
|
4
4
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
5
|
*/
|
|
@@ -60,7 +60,6 @@ export class ClrMainNavGroup {
|
|
|
60
60
|
closeMenus(selector) {
|
|
61
61
|
selector = '.main-container:not(.open-hamburger-menu) ' + selector;
|
|
62
62
|
const hiddenInputs = document.querySelectorAll(selector);
|
|
63
|
-
// tslint:disable-next-line:prefer-for-of
|
|
64
63
|
for (let i = 0; i < hiddenInputs.length; i++) {
|
|
65
64
|
hiddenInputs[i].checked = false;
|
|
66
65
|
}
|
|
@@ -152,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
152
151
|
type: ContentChildren,
|
|
153
152
|
args: [ClrMainNavGroupItem]
|
|
154
153
|
}] } });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXYtZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9tYWluLW5hdi1ncm91cC9tYWluLW5hdi1ncm91cC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL21haW4tbmF2LWdyb3VwL21haW4tbmF2LWdyb3VwLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFDTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixRQUFRLEVBQ1IsS0FBSyxFQUdMLFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRXpELElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztBQUVsQixJQUFLLGlCQUdKO0FBSEQsV0FBSyxpQkFBaUI7SUFDcEIscURBQUUsQ0FBQTtJQUNGLHlEQUFJLENBQUE7QUFDTixDQUFDLEVBSEksaUJBQWlCLEtBQWpCLGlCQUFpQixRQUdyQjtBQUVELFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7QUFPakMsTUFBTSxPQUFPLGVBQWU7SUFhMUIsWUFBWSxRQUFrQjtRQVY5QixXQUFNLEdBQUcsY0FBYyxDQUFDO1FBSWhCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUluQyxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFHM0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFB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Z0JBQWdCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDMUcsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxQyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUMxQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7OEdBdktVLGVBQWU7a0dBQWYsZUFBZSxvTEFVVCxtQkFBbUIsNkJDM0N0Qyw2aEJBaUJBOzsyRkRnQmEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxvQkFBb0IsUUFFeEIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLEVBQUU7NkVBR3ZCLEtBQUs7c0JBQXZCLEtBQUs7dUJBQUMsVUFBVTtnQkFTcUIsS0FBSztzQkFBMUMsZUFBZTt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjMgUG9yc2NoZSBJbmZvcm1hdGlrLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsck1haW5OYXZHcm91cEl0ZW0gfSBmcm9tICcuL21haW4tbmF2LWdyb3VwLWl0ZW0nO1xuaW1wb3J0IHsgYW5nbGVJY29uLCBDbGFyaXR5SWNvbnMgfSBmcm9tICdAY2RzL2NvcmUvaWNvbic7XG5cbmxldCBpbnN0YW5jZXMgPSAwO1xuXG5lbnVtIEFycm93S2V5RGlyZWN0aW9uIHtcbiAgVVAsXG4gIERPV04sXG59XG5cbkNsYXJpdHlJY29ucy5hZGRJY29ucyhhbmdsZUljb24pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItbWFpbi1uYXYtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1uYXYtZ3JvdXAuaHRtbCcsXG4gIGhvc3Q6IHsgJ1tjbGFzcy5tYWluLW5hdi1ncm91cF0nOiAndHJ1ZScgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyTWFpbk5hdkdyb3VwIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ2NsclRpdGxlJykgdGl0bGU6IHN0cmluZztcblxuICBwcmVmaXggPSAnbWFpbk5hdkdyb3VwJztcbiAgaWQ6IG51bWJlcjtcbiAgcHJvdGVjdGVkIGVsOiBFbGVtZW50UmVmO1xuICBwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgcHJpdmF0ZSB1bmxpc3RlbkZ1bmNzOiB7ICgpOiB2b2lkIH1bXSA9IFtdO1xuICBwcml2YXRlIGlnbm9yZTogYW55O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQ2xyTWFpbk5hdkdyb3VwSXRlbSkgaXRlbXM6IFF1ZXJ5TGlzdDxDbHJNYWluTmF2R3JvdXBJdGVtPjtcbiAgcHJpdmF0ZSBjdXJyZW50Rm9jdXNlZElkID0gMDtcblxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmVsID0gaW5qZWN0b3IuZ2V0KEVsZW1lbnRSZWYpO1xuICAgIHRoaXMucmVuZGVyZXIgPSBpbmplY3Rvci5nZXQoUmVuZGVyZXIyKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaWQgPSArK2luc3RhbmNlcztcbiAgICB0aGlzLmxpc3RlbkZvckNsb3NlRXZlbnRzKCk7XG4gICAgdGhpcy5hdHRhY2hSZXNpemVMaXN0ZW5lcigpO1xuICAgIHRoaXMubGlzdGVuVG9BcnJvd0tleXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGV0YWNoTGlzdGVuZXIoKTtcbiAgfVxuXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMucHJlZml4ICsgdGhpcy5pZCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBpZiAoKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xhc3NMaXN0LmNvbnRhaW5zKCdjb2xsYXBzaWJsZScpKSB7XG4gICAgICAvLyB0b2dnbGUgaGlkZGVuIGNoZWNrYm94IHdoZW4gY2xpY2tpbmcgbmF2IGdyb3VwIGRpdlxuICAgICAgaW5wdXQuY2hlY2tlZCA9ICFpbnB1dC5jaGVja2VkO1xuICAgICAgaWYgKGlucHV0LmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5mb2N1c0ZpcnN0SXRlbU9uT3BlbigpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoXG4gICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi10cmlnZ2VyJykgfHxcbiAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCduYXYtdHJpZ2dlcicpXG4gICAgKSB7XG4gICAgICAvLyAnIWNoZWNrZWQnIGFzIHRoZSBuYXYtdHJpZ2dlciBjbGljayBjb21lcyBiZWZvcmUgdGhlIHVwZGF0ZSBvZiB0aGUgY2hlY2tib3hcbiAgICAgIGlmICghaW5wdXQuY2hlY2tlZCkge1xuICAgICAgICB0aGlzLmZvY3VzRmlyc3RJdGVtT25PcGVuKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgLyogaXMgYWN0aXZlIG91dHNpZGUgaGFtYnVyZ2VyIG1lbnUgKi9cbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnYWN0aXZlJykgJiYgIXRoaXMuZWwubmF0aXZlRWxlbWVudC5jbG9zZXN0KCcub3Blbi1oYW1idXJnZXItbWVudScpO1xuICB9XG5cbiAgaXNDaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgIC8qIGV4cGFuZCB0byBjdXJyZW50bHkgYWN0aXZlIG1lbnUgaW5zaWRlIGhhbWJ1cmdlciBtZW51ICovXG4gICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2FjdGl2ZScpICYmIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbG9zZXN0KCcub3Blbi1oYW1idXJnZXItbWVudScpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZU1lbnVzKHNlbGVjdG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBzZWxlY3RvciA9ICcubWFpbi1jb250YWluZXI6bm90KC5vcGVuLWhhbWJ1cmdlci1tZW51KSAnICsgc2VsZWN0b3I7XG4gICAgY29uc3QgaGlkZGVuSW5wdXRzOiBOb2RlTGlzdE9mPEhUTUxJbnB1dEVsZW1lbnQ+ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnByZWZlci1mb3Itb2ZcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhpZGRlbklucHV0cy5sZW5ndGg7IGkrKykge1xuICAgICAgaGlkZGVuSW5wdXRzW2ldLmNoZWNrZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkZvckNsb3NlRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMudW5saXN0ZW5GdW5jcy5wdXNoKFxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCBldmVudCA9PiB7XG4gICAgICAgIC8qIGNsb3NlIG90aGVyIG1lbnVzIHdoZW4gb3BlbmluZyB0aGlzIG9uZSAqL1xuICAgICAgICB0aGlzLmNsb3NlTWVudXMoJ1tpZF49JyArIHRoaXMucHJlZml4ICsgJ106bm90KCMnICsgdGhpcy5wcmVmaXggKyB0aGlzLmlkICsgJyknKTtcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCduYXYtbGluaycpIHx8IGV2ZW50LnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2NvbGxhcHNpYmxlJykpIHtcbiAgICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5vcGVuLWhhbWJ1cmdlci1tZW51JykpIHtcbiAgICAgICAgICAgIC8vIHN0b3AgY2xpY2sgaGFuZGxlciBmb3IgZ3JvdXBpbmcgaXRlbXMsIG90aGVyd2lzZSBoYW1idXJnZXIgbWVudSBnZXRzIGNsb3NlZFxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGlnbm9yZSBldmVuIG9uIGRvY3VtZW50IGxldmVsIGZvciBncm91cGluZyBpdGVtcywgb3RoZXJ3aXNlIG1lbnUgZ2V0cyBjbG9zZWQgcmlnaHQgYWZ0ZXIgaXQgd2FzIG9wZW5lZFxuICAgICAgICAgICAgdGhpcy5pZ25vcmUgPSBldmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMudW5saXN0ZW5GdW5jcy5wdXNoKFxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgZXZlbnQgPT4ge1xuICAgICAgICAvKiBjbG9zZSBtZW51IHdoZW4gY2xpY2tpbmcgYW55d2hlcmUgaW4gdGhlIGRvY3VtZW50ICovXG4gICAgICAgIGlmICh0aGlzLmlnbm9yZSA9PT0gZXZlbnQpIHtcbiAgICAgICAgICBkZWxldGUgdGhpcy5pZ25vcmU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jbG9zZU1lbnVzKCcjJyArIHRoaXMucHJlZml4ICsgdGhpcy5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMudW5saXN0ZW5GdW5jcy5wdXNoKFxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbC5uYXRpdmVFbGVtZW50LCAna2V5ZG93bi50YWInLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VNZW51cygnIycgKyB0aGlzLnByZWZpeCArIHRoaXMuaWQpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy51bmxpc3RlbkZ1bmNzLnB1c2goXG4gICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdrZXlkb3duLnNoaWZ0LnRhYicsICgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZU1lbnVzKCcjJyArIHRoaXMucHJlZml4ICsgdGhpcy5pZCk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLnVubGlzdGVuRnVuY3MucHVzaChcbiAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2tleWRvd24uZXNjJywgKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlTWVudXMoJyMnICsgdGhpcy5wcmVmaXggKyB0aGlzLmlkKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoUmVzaXplTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy51bmxpc3RlbkZ1bmNzLnB1c2goXG4gICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ3Jlc2l6ZScsICgpID0+IHtcbiAgICAgICAgLyogd2hlbiByZXNpemluZyB3aW5kb3cgYWJvdmUgNzY4LCByZW1vdmUgb3Blbi1oYW1idXJnZXItbWVudSB3aGVuIHByZXNlbnQgKi9cbiAgICAgICAgaWYgKCF3aW5kb3cubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogOTkycHgpJykubWF0Y2hlcykge1xuICAgICAgICAgIGNvbnN0IGhhbWJ1cmdlck1lbnUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xvc2VzdCgnLm9wZW4taGFtYnVyZ2VyLW1lbnUnKSBhcyBFbGVtZW50O1xuICAgICAgICAgIGlmIChoYW1idXJnZXJNZW51KSB7XG4gICAgICAgICAgICBoYW1idXJnZXJNZW51LmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4taGFtYnVyZ2VyLW1lbnUnKTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VNZW51cygnW2lkXj0nICsgdGhpcy5wcmVmaXggKyAnXScpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRhY2hMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLnVubGlzdGVuRnVuY3MuZm9yRWFjaCgodW5saXN0ZW46ICgpID0+IHZvaWQpID0+IHVubGlzdGVuKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0Fycm93S2V5cygpOiB2b2lkIHtcbiAgICB0aGlzLnVubGlzdGVuRnVuY3MucHVzaChcbiAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2tleWRvd24uYXJyb3d1cCcsICgpID0+IHRoaXMubW92ZShBcnJvd0tleURpcmVjdGlvbi5VUCkpXG4gICAgKTtcbiAgICB0aGlzLnVubGlzdGVuRnVuY3MucHVzaChcbiAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2tleWRvd24uYXJyb3dkb3duJywgKCkgPT4gdGhpcy5tb3ZlKEFycm93S2V5RGlyZWN0aW9uLkRPV04pKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG1vdmUoZGlyZWN0aW9uOiBBcnJvd0tleURpcmVjdGlvbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5pdGVtcyB8fCB0aGlzLml0ZW1zLmxlbmd0aCA8PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pdGVtcy50b0FycmF5KClbdGhpcy5jdXJyZW50Rm9jdXNlZElkXS5ibHVyKCk7XG5cbiAgICBpZiAoZGlyZWN0aW9uID09PSBBcnJvd0tleURpcmVjdGlvbi5ET1dOKSB7XG4gICAgICB0aGlzLmN1cnJlbnRGb2N1c2VkSWQgPSB0aGlzLmN1cnJlbnRGb2N1c2VkSWQgPj0gdGhpcy5pdGVtcy5sZW5ndGggLSAxID8gMCA6IHRoaXMuY3VycmVudEZvY3VzZWRJZCArIDE7XG4gICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09IEFycm93S2V5RGlyZWN0aW9uLlVQKSB7XG4gICAgICB0aGlzLmN1cnJlbnRGb2N1c2VkSWQgPSB0aGlzLmN1cnJlbnRGb2N1c2VkSWQgPT09IDAgPyB0aGlzLml0ZW1zLmxlbmd0aCAtIDEgOiB0aGlzLmN1cnJlbnRGb2N1c2VkSWQgLSAxO1xuICAgIH1cblxuICAgIHRoaXMuaXRlbXMudG9BcnJheSgpW3RoaXMuY3VycmVudEZvY3VzZWRJZF0uZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNGaXJzdEl0ZW1Pbk9wZW4oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLml0ZW1zIHx8IHRoaXMuaXRlbXMubGVuZ3RoIDw9IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5ibHVyKCkpO1xuXG4gICAgdGhpcy5jdXJyZW50Rm9jdXNlZElkID0gMDtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaXRlbXMudG9BcnJheSgpW3RoaXMuY3VycmVudEZvY3VzZWRJZF0uZm9jdXMoKSk7XG4gIH1cbn1cbiIsIjxzZWN0aW9uXG4gIGNsYXNzPVwibmF2LWxpbmsgY29sbGFwc2libGVcIlxuICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgKGtleWRvd24uZW50ZXIpPVwib25DbGljaygkZXZlbnQpXCJcbiAgKGtleWRvd24uc3BhY2UpPVwib25DbGljaygkZXZlbnQpXCJcbiAgW2NsYXNzLmFjdGl2ZV09XCJpc0FjdGl2ZSgpXCJcbiAgdGFiaW5kZXg9XCIwXCJcbj5cbiAgPGlucHV0IGlkPVwie3twcmVmaXh9fXt7aWR9fVwiIHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImlzQ2hlY2tlZCgpXCIgLz5cbiAgPGxhYmVsIGNsYXNzPVwibmF2LXRleHQgbmF2LXRyaWdnZXJcIiBmb3I9XCJ7e3ByZWZpeH19e3tpZH19XCJcbiAgICA+e3t0aXRsZX19XG4gICAgPGNkcy1pY29uIHNoYXBlPVwiYW5nbGVcIiBkaXJlY3Rpb249XCJkb3duXCI+PC9jZHMtaWNvbj5cbiAgPC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cIm5hdi1saXN0IGRyb3Bkb3duLW1lbnVcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXYtZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9tYWluLW5hdi1ncm91cC9tYWluLW5hdi1ncm91cC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL21haW4tbmF2LWdyb3VwL21haW4tbmF2LWdyb3VwLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFDTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixRQUFRLEVBQ1IsS0FBSyxFQUdMLFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRXpELElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztBQUVsQixJQUFLLGlCQUdKO0FBSEQsV0FBSyxpQkFBaUI7SUFDcEIscURBQUUsQ0FBQTtJQUNGLHlEQUFJLENBQUE7QUFDTixDQUFDLEVBSEksaUJBQWlCLEtBQWpCLGlCQUFpQixRQUdyQjtBQUVELFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7QUFPakMsTUFBTSxPQUFPLGVBQWU7SUFhMUIsWUFBWSxRQUFrQjtRQVY5QixXQUFNLEdBQUcsY0FBYyxDQUFDO1FBSWhCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUluQyxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFHM0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUM7UUFDdEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBcUIsQ0FBQztRQUNqRixJQUFLLEtBQUssQ0FBQyxNQUFzQixDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNwRSxxREFBcUQ7WUFDckQsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDL0IsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFDRyxLQUFLLENBQUMsTUFBc0IsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUM5RCxLQUFLLENBQUMsTUFBc0IsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFDN0UsQ0FBQztZQUNELDhFQUE4RTtZQUM5RSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sc0NBQXNDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3RILENBQUM7SUFFRCxTQUFTO1FBQ1AsMkRBQTJEO1FBQzNELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRU8sVUFBVSxDQUFDLFFBQWdCO1FBQ2pDLFFBQVEsR0FBRyw0Q0FBNEMsR0FBRyxRQUFRLENBQUM7UUFDbkUsTUFBTSxZQUFZLEdBQWlDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzdDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDM0QsNkNBQTZDO1lBQzdDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUNuRyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztvQkFDakQsOEVBQThFO29CQUM5RSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQzFCLENBQUM7cUJBQU0sQ0FBQztvQkFDTix5R0FBeUc7b0JBQ3pHLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUN0QixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNoRCx1REFBdUQ7WUFDdkQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUMxQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDckIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUU7WUFDOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7WUFDcEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFO1lBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtZQUM1Qyw2RUFBNkU7WUFDN0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDckQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFZLENBQUM7Z0JBQ3ZGLElBQUksYUFBYSxFQUFFLENBQUM7b0JBQ2xCLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7b0JBQ3RELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQy9DLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBb0IsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ3RHLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMxRyxDQUFDO0lBQ0osQ0FBQztJQUVPLElBQUksQ0FBQyxTQUE0QjtRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFbkQsSUFBSSxTQUFTLEtBQUssaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUN6RyxDQUFDO2FBQU0sSUFBSSxTQUFTLEtBQUssaUJBQWlCLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUMxRyxDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzFDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQzs4R0F0S1UsZUFBZTtrR0FBZixlQUFlLG9MQVVULG1CQUFtQiw2QkMzQ3RDLDZoQkFpQkE7OzJGRGdCYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLG9CQUFvQixRQUV4QixFQUFFLHdCQUF3QixFQUFFLE1BQU0sRUFBRTs2RUFHdkIsS0FBSztzQkFBdkIsS0FBSzt1QkFBQyxVQUFVO2dCQVNxQixLQUFLO3NCQUExQyxlQUFlO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyNCBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUXVlcnlMaXN0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xyTWFpbk5hdkdyb3VwSXRlbSB9IGZyb20gJy4vbWFpbi1uYXYtZ3JvdXAtaXRlbSc7XG5pbXBvcnQgeyBhbmdsZUljb24sIENsYXJpdHlJY29ucyB9IGZyb20gJ0BjZHMvY29yZS9pY29uJztcblxubGV0IGluc3RhbmNlcyA9IDA7XG5cbmVudW0gQXJyb3dLZXlEaXJlY3Rpb24ge1xuICBVUCxcbiAgRE9XTixcbn1cblxuQ2xhcml0eUljb25zLmFkZEljb25zKGFuZ2xlSWNvbik7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1tYWluLW5hdi1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYWluLW5hdi1ncm91cC5odG1sJyxcbiAgaG9zdDogeyAnW2NsYXNzLm1haW4tbmF2LWdyb3VwXSc6ICd0cnVlJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBDbHJNYWluTmF2R3JvdXAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgnY2xyVGl0bGUnKSB0aXRsZTogc3RyaW5nO1xuXG4gIHByZWZpeCA9ICdtYWluTmF2R3JvdXAnO1xuICBpZDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgZWw6IEVsZW1lbnRSZWY7XG4gIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyO1xuICBwcml2YXRlIHVubGlzdGVuRnVuY3M6IHsgKCk6IHZvaWQgfVtdID0gW107XG4gIHByaXZhdGUgaWdub3JlOiBhbnk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihDbHJNYWluTmF2R3JvdXBJdGVtKSBpdGVtczogUXVlcnlMaXN0PENsck1haW5OYXZHcm91cEl0ZW0+O1xuICBwcml2YXRlIGN1cnJlbnRGb2N1c2VkSWQgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuZWwgPSBpbmplY3Rvci5nZXQoRWxlbWVudFJlZik7XG4gICAgdGhpcy5yZW5kZXJlciA9IGluamVjdG9yLmdldChSZW5kZXJlcjIpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pZCA9ICsraW5zdGFuY2VzO1xuICAgIHRoaXMubGlzdGVuRm9yQ2xvc2VFdmVudHMoKTtcbiAgICB0aGlzLmF0dGFjaFJlc2l6ZUxpc3RlbmVyKCk7XG4gICAgdGhpcy5saXN0ZW5Ub0Fycm93S2V5cygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXRhY2hMaXN0ZW5lcigpO1xuICB9XG5cbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5wcmVmaXggKyB0aGlzLmlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGlmICgoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbGFzc0xpc3QuY29udGFpbnMoJ2NvbGxhcHNpYmxlJykpIHtcbiAgICAgIC8vIHRvZ2dsZSBoaWRkZW4gY2hlY2tib3ggd2hlbiBjbGlja2luZyBuYXYgZ3JvdXAgZGl2XG4gICAgICBpbnB1dC5jaGVja2VkID0gIWlucHV0LmNoZWNrZWQ7XG4gICAgICBpZiAoaW5wdXQuY2hlY2tlZCkge1xuICAgICAgICB0aGlzLmZvY3VzRmlyc3RJdGVtT25PcGVuKCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChcbiAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC5jb250YWlucygnbmF2LXRyaWdnZXInKSB8fFxuICAgICAgKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ25hdi10cmlnZ2VyJylcbiAgICApIHtcbiAgICAgIC8vICchY2hlY2tlZCcgYXMgdGhlIG5hdi10cmlnZ2VyIGNsaWNrIGNvbWVzIGJlZm9yZSB0aGUgdXBkYXRlIG9mIHRoZSBjaGVja2JveFxuICAgICAgaWYgKCFpbnB1dC5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMuZm9jdXNGaXJzdEl0ZW1Pbk9wZW4oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAvKiBpcyBhY3RpdmUgb3V0c2lkZSBoYW1idXJnZXIgbWVudSAqL1xuICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdhY3RpdmUnKSAmJiAhdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy5vcGVuLWhhbWJ1cmdlci1tZW51Jyk7XG4gIH1cblxuICBpc0NoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgLyogZXhwYW5kIHRvIGN1cnJlbnRseSBhY3RpdmUgbWVudSBpbnNpZGUgaGFtYnVyZ2VyIG1lbnUgKi9cbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnYWN0aXZlJykgJiYgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy5vcGVuLWhhbWJ1cmdlci1tZW51Jyk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlTWVudXMoc2VsZWN0b3I6IHN0cmluZyk6IHZvaWQge1xuICAgIHNlbGVjdG9yID0gJy5tYWluLWNvbnRhaW5lcjpub3QoLm9wZW4taGFtYnVyZ2VyLW1lbnUpICcgKyBzZWxlY3RvcjtcbiAgICBjb25zdCBoaWRkZW5JbnB1dHM6IE5vZGVMaXN0T2Y8SFRNTElucHV0RWxlbWVudD4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhpZGRlbklucHV0cy5sZW5ndGg7IGkrKykge1xuICAgICAgaGlkZGVuSW5wdXRzW2ldLmNoZWNrZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkZvckNsb3NlRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMudW5saXN0ZW5GdW5jcy5wdXNoKFxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCBldmVudCA9PiB7XG4gICAgICAgIC8qIGNsb3NlIG90aGVyIG1lbnVzIHdoZW4gb3BlbmluZyB0aGlzIG9uZSAqL1xuICAgICAgICB0aGlzLmNsb3NlTWVudXMoJ1tpZF49JyArIHRoaXMucHJlZml4ICsgJ106bm90KCMnICsgdGhpcy5wcmVmaXggKyB0aGlzLmlkICsgJyknKTtcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCduYXYtbGluaycpIHx8IGV2ZW50LnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2NvbGxhcHNpYmxlJykpIHtcbiAgICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5vcGVuLWhhbWJ1cmdlci1tZW51JykpIHtcbiAgICAgICAgICAgIC8vIHN0b3AgY2xpY2sgaGFuZGxlciBmb3IgZ3JvdXBpbmcgaXRlbXMsIG90aGVyd2lzZSBoYW1idXJnZXIgbWVudSBnZXRzIGNsb3NlZFxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGlnbm9yZSBldmVuIG9uIGRvY3VtZW50IGxldmVsIGZvciBncm91cGluZyBpdGVtcywgb3RoZXJ3aXNlIG1lbnUgZ2V0cyBjbG9zZWQgcmlnaHQgYWZ0ZXIgaXQgd2FzIG9wZW5lZFxuICAgICAgICAgICAgdGhpcy5pZ25vcmUgPSBldmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMudW5saXN0ZW5GdW5jcy5wdXNoKFxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgZXZlbnQgPT4ge1xuICAgICAgICAvKiBjbG9zZSBtZW51IHdoZW4gY2xpY2tpbmcgYW55d2hlcmUgaW4gdGhlIGRvY3VtZW50ICovXG4gICAgICAgIGlmICh0aGlzLmlnbm9yZSA9PT0gZXZlbnQpIHtcbiAgICAgICAgICBkZWxldGUgdGhpcy5pZ25vcmU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jbG9zZU1lbnVzKCcjJyArIHRoaXMucHJlZml4ICsgdGhpcy5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMudW5saXN0ZW5GdW5jcy5wdXNoKFxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbC5uYXRpdmVFbGVtZW50LCAna2V5ZG93bi50YWInLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VNZW51cygnIycgKyB0aGlzLnByZWZpeCArIHRoaXMuaWQpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy51bmxpc3RlbkZ1bmNzLnB1c2goXG4gICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdrZXlkb3duLnNoaWZ0LnRhYicsICgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZU1lbnVzKCcjJyArIHRoaXMucHJlZml4ICsgdGhpcy5pZCk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLnVubGlzdGVuRnVuY3MucHVzaChcbiAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2tleWRvd24uZXNjJywgKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlTWVudXMoJyMnICsgdGhpcy5wcmVmaXggKyB0aGlzLmlkKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoUmVzaXplTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy51bmxpc3RlbkZ1bmNzLnB1c2goXG4gICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ3Jlc2l6ZScsICgpID0+IHtcbiAgICAgICAgLyogd2hlbiByZXNpemluZyB3aW5kb3cgYWJvdmUgNzY4LCByZW1vdmUgb3Blbi1oYW1idXJnZXItbWVudSB3aGVuIHByZXNlbnQgKi9cbiAgICAgICAgaWYgKCF3aW5kb3cubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogOTkycHgpJykubWF0Y2hlcykge1xuICAgICAgICAgIGNvbnN0IGhhbWJ1cmdlck1lbnUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xvc2VzdCgnLm9wZW4taGFtYnVyZ2VyLW1lbnUnKSBhcyBFbGVtZW50O1xuICAgICAgICAgIGlmIChoYW1idXJnZXJNZW51KSB7XG4gICAgICAgICAgICBoYW1idXJnZXJNZW51LmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4taGFtYnVyZ2VyLW1lbnUnKTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VNZW51cygnW2lkXj0nICsgdGhpcy5wcmVmaXggKyAnXScpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRhY2hMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLnVubGlzdGVuRnVuY3MuZm9yRWFjaCgodW5saXN0ZW46ICgpID0+IHZvaWQpID0+IHVubGlzdGVuKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0Fycm93S2V5cygpOiB2b2lkIHtcbiAgICB0aGlzLnVubGlzdGVuRnVuY3MucHVzaChcbiAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2tleWRvd24uYXJyb3d1cCcsICgpID0+IHRoaXMubW92ZShBcnJvd0tleURpcmVjdGlvbi5VUCkpXG4gICAgKTtcbiAgICB0aGlzLnVubGlzdGVuRnVuY3MucHVzaChcbiAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2tleWRvd24uYXJyb3dkb3duJywgKCkgPT4gdGhpcy5tb3ZlKEFycm93S2V5RGlyZWN0aW9uLkRPV04pKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG1vdmUoZGlyZWN0aW9uOiBBcnJvd0tleURpcmVjdGlvbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5pdGVtcyB8fCB0aGlzLml0ZW1zLmxlbmd0aCA8PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pdGVtcy50b0FycmF5KClbdGhpcy5jdXJyZW50Rm9jdXNlZElkXS5ibHVyKCk7XG5cbiAgICBpZiAoZGlyZWN0aW9uID09PSBBcnJvd0tleURpcmVjdGlvbi5ET1dOKSB7XG4gICAgICB0aGlzLmN1cnJlbnRGb2N1c2VkSWQgPSB0aGlzLmN1cnJlbnRGb2N1c2VkSWQgPj0gdGhpcy5pdGVtcy5sZW5ndGggLSAxID8gMCA6IHRoaXMuY3VycmVudEZvY3VzZWRJZCArIDE7XG4gICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09IEFycm93S2V5RGlyZWN0aW9uLlVQKSB7XG4gICAgICB0aGlzLmN1cnJlbnRGb2N1c2VkSWQgPSB0aGlzLmN1cnJlbnRGb2N1c2VkSWQgPT09IDAgPyB0aGlzLml0ZW1zLmxlbmd0aCAtIDEgOiB0aGlzLmN1cnJlbnRGb2N1c2VkSWQgLSAxO1xuICAgIH1cblxuICAgIHRoaXMuaXRlbXMudG9BcnJheSgpW3RoaXMuY3VycmVudEZvY3VzZWRJZF0uZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNGaXJzdEl0ZW1Pbk9wZW4oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLml0ZW1zIHx8IHRoaXMuaXRlbXMubGVuZ3RoIDw9IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5ibHVyKCkpO1xuXG4gICAgdGhpcy5jdXJyZW50Rm9jdXNlZElkID0gMDtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaXRlbXMudG9BcnJheSgpW3RoaXMuY3VycmVudEZvY3VzZWRJZF0uZm9jdXMoKSk7XG4gIH1cbn1cbiIsIjxzZWN0aW9uXG4gIGNsYXNzPVwibmF2LWxpbmsgY29sbGFwc2libGVcIlxuICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgKGtleWRvd24uZW50ZXIpPVwib25DbGljaygkZXZlbnQpXCJcbiAgKGtleWRvd24uc3BhY2UpPVwib25DbGljaygkZXZlbnQpXCJcbiAgW2NsYXNzLmFjdGl2ZV09XCJpc0FjdGl2ZSgpXCJcbiAgdGFiaW5kZXg9XCIwXCJcbj5cbiAgPGlucHV0IGlkPVwie3twcmVmaXh9fXt7aWR9fVwiIHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImlzQ2hlY2tlZCgpXCIgLz5cbiAgPGxhYmVsIGNsYXNzPVwibmF2LXRleHQgbmF2LXRyaWdnZXJcIiBmb3I9XCJ7e3ByZWZpeH19e3tpZH19XCJcbiAgICA+e3t0aXRsZX19XG4gICAgPGNkcy1pY29uIHNoYXBlPVwiYW5nbGVcIiBkaXJlY3Rpb249XCJkb3duXCI+PC9jZHMtaWNvbj5cbiAgPC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cIm5hdi1saXN0IGRyb3Bkb3duLW1lbnVcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
|