@clr/angular 16.5.4 → 16.6.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/clarity.api.md +37 -12
- package/esm2020/layout/tabs/index.mjs +3 -1
- package/esm2020/layout/tabs/tab-action.directive.mjs +22 -0
- package/esm2020/layout/tabs/tabs-actions.mjs +39 -0
- package/esm2020/layout/tabs/tabs.mjs +26 -7
- package/esm2020/layout/tabs/tabs.module.mjs +9 -1
- package/fesm2015/clr-angular.mjs +88 -7
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +88 -7
- package/fesm2020/clr-angular.mjs.map +1 -1
- package/layout/tabs/index.d.ts +2 -0
- package/layout/tabs/tab-action.directive.d.ts +5 -0
- package/layout/tabs/tabs-actions.d.ts +7 -0
- package/layout/tabs/tabs.d.ts +5 -2
- package/layout/tabs/tabs.module.d.ts +10 -8
- package/package.json +2 -2
package/clarity.api.md
CHANGED
|
@@ -96,9 +96,9 @@ export class ClarityModule {
|
|
|
96
96
|
// Warning: (ae-forgotten-export) The symbol "i8_6" needs to be exported by the entry point index.d.ts
|
|
97
97
|
// Warning: (ae-forgotten-export) The symbol "i9_2" needs to be exported by the entry point index.d.ts
|
|
98
98
|
// Warning: (ae-forgotten-export) The symbol "i10_4" needs to be exported by the entry point index.d.ts
|
|
99
|
-
// Warning: (ae-forgotten-export) The symbol "
|
|
99
|
+
// Warning: (ae-forgotten-export) The symbol "i11_3" needs to be exported by the entry point index.d.ts
|
|
100
100
|
// Warning: (ae-forgotten-export) The symbol "i12_3" needs to be exported by the entry point index.d.ts
|
|
101
|
-
// Warning: (ae-forgotten-export) The symbol "
|
|
101
|
+
// Warning: (ae-forgotten-export) The symbol "i13_4" needs to be exported by the entry point index.d.ts
|
|
102
102
|
// Warning: (ae-forgotten-export) The symbol "i14_2" needs to be exported by the entry point index.d.ts
|
|
103
103
|
// Warning: (ae-forgotten-export) The symbol "i15_2" needs to be exported by the entry point index.d.ts
|
|
104
104
|
// Warning: (ae-forgotten-export) The symbol "i16_2" needs to be exported by the entry point index.d.ts
|
|
@@ -106,7 +106,7 @@ export class ClarityModule {
|
|
|
106
106
|
// Warning: (ae-forgotten-export) The symbol "i18_2" needs to be exported by the entry point index.d.ts
|
|
107
107
|
//
|
|
108
108
|
// (undocumented)
|
|
109
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ClarityModule, never, never, [typeof i1.ClrEmphasisModule, typeof i2_4.ClrDataModule, typeof i3_2.ClrIconModule, typeof i4_12.ClrModalModule, typeof i5_7.ClrLoadingModule, typeof i6_2.ClrConditionalModule, typeof i7_6.ClrFocusOnViewInitModule, typeof i8_6.ClrButtonModule, typeof i9_2.ClrFormsModule, typeof i10_4.ClrLayoutModule, typeof
|
|
109
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ClarityModule, never, never, [typeof i1.ClrEmphasisModule, typeof i2_4.ClrDataModule, typeof i3_2.ClrIconModule, typeof i4_12.ClrModalModule, typeof i5_7.ClrLoadingModule, typeof i6_2.ClrConditionalModule, typeof i7_6.ClrFocusOnViewInitModule, typeof i8_6.ClrButtonModule, typeof i9_2.ClrFormsModule, typeof i10_4.ClrLayoutModule, typeof i11_3.ClrPopoverModule, typeof i12_3.ClrWizardModule, typeof i13_4.ClrSidePanelModule, typeof i14_2.ClrStepperModule, typeof i15_2.ClrSpinnerModule, typeof i16_2.ClrProgressBarModule, typeof i17_2.ClrPopoverModuleNext, typeof i18_2.ClrTimelineModule]>;
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
// @public (undocumented)
|
|
@@ -3886,10 +3886,10 @@ export class ClrStepperModule {
|
|
|
3886
3886
|
// Warning: (ae-forgotten-export) The symbol "i3_27" needs to be exported by the entry point index.d.ts
|
|
3887
3887
|
// Warning: (ae-forgotten-export) The symbol "i4_18" needs to be exported by the entry point index.d.ts
|
|
3888
3888
|
// Warning: (ae-forgotten-export) The symbol "i5_14" needs to be exported by the entry point index.d.ts
|
|
3889
|
-
// Warning: (ae-forgotten-export) The symbol "
|
|
3889
|
+
// Warning: (ae-forgotten-export) The symbol "i8_9" needs to be exported by the entry point index.d.ts
|
|
3890
3890
|
//
|
|
3891
3891
|
// (undocumented)
|
|
3892
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ClrStepperModule, [typeof i1_48.ClrStepper, typeof i2_35.ClrStepButton, typeof i3_27.ClrStepperPanel, typeof i4_18.StepperOompaLoompa, typeof i5_14.StepperWillyWonka], [typeof i6.CommonModule, typeof i3_2.ClrIconModule, typeof
|
|
3892
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ClrStepperModule, [typeof i1_48.ClrStepper, typeof i2_35.ClrStepButton, typeof i3_27.ClrStepperPanel, typeof i4_18.StepperOompaLoompa, typeof i5_14.StepperWillyWonka], [typeof i6.CommonModule, typeof i3_2.ClrIconModule, typeof i8_9.ClrAccordionModule], [typeof i1_48.ClrStepper, typeof i2_35.ClrStepButton, typeof i3_27.ClrStepperPanel, typeof i4_18.StepperOompaLoompa, typeof i5_14.StepperWillyWonka, typeof i8_9.ClrAccordionModule]>;
|
|
3893
3893
|
}
|
|
3894
3894
|
|
|
3895
3895
|
// @public (undocumented)
|
|
@@ -3953,6 +3953,14 @@ export class ClrTab {
|
|
|
3953
3953
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClrTab, never>;
|
|
3954
3954
|
}
|
|
3955
3955
|
|
|
3956
|
+
// @public (undocumented)
|
|
3957
|
+
export class ClrTabAction {
|
|
3958
|
+
// (undocumented)
|
|
3959
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ClrTabAction, "[clrTabAction]", never, {}, {}, never, never, false, never>;
|
|
3960
|
+
// (undocumented)
|
|
3961
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClrTabAction, never>;
|
|
3962
|
+
}
|
|
3963
|
+
|
|
3956
3964
|
// @public (undocumented)
|
|
3957
3965
|
export class ClrTabContent implements OnDestroy {
|
|
3958
3966
|
constructor(ifActiveService: IfActiveService, id: number, tabsService: TabsService);
|
|
@@ -4065,6 +4073,8 @@ export class ClrTabs implements AfterContentInit, OnDestroy {
|
|
|
4065
4073
|
// (undocumented)
|
|
4066
4074
|
set tabOverflowEl(value: ElementRef);
|
|
4067
4075
|
// (undocumented)
|
|
4076
|
+
tabsActions: QueryList<ElementRef>;
|
|
4077
|
+
// (undocumented)
|
|
4068
4078
|
tabsId: number;
|
|
4069
4079
|
// (undocumented)
|
|
4070
4080
|
tabsService: TabsService;
|
|
@@ -4075,11 +4085,24 @@ export class ClrTabs implements AfterContentInit, OnDestroy {
|
|
|
4075
4085
|
// (undocumented)
|
|
4076
4086
|
toggleService: ClrPopoverToggleService;
|
|
4077
4087
|
// (undocumented)
|
|
4078
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ClrTabs, "clr-tabs", never, { "layout": "clrLayout"; }, {}, ["tabs"],
|
|
4088
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ClrTabs, "clr-tabs", never, { "layout": "clrLayout"; }, {}, ["tabsActions", "tabs"], ["clr-tabs-actions"], false, [{ directive: typeof i1_6.ClrPopoverHostDirective; inputs: {}; outputs: {}; }]>;
|
|
4079
4089
|
// (undocumented)
|
|
4080
4090
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClrTabs, never>;
|
|
4081
4091
|
}
|
|
4082
4092
|
|
|
4093
|
+
// @public (undocumented)
|
|
4094
|
+
export class ClrTabsActions {
|
|
4095
|
+
// (undocumented)
|
|
4096
|
+
position: ClrTabsActionsPosition;
|
|
4097
|
+
// (undocumented)
|
|
4098
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ClrTabsActions, "clr-tabs-actions", never, { "position": "position"; }, {}, never, ["*"], false, never>;
|
|
4099
|
+
// (undocumented)
|
|
4100
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClrTabsActions, never>;
|
|
4101
|
+
}
|
|
4102
|
+
|
|
4103
|
+
// @public (undocumented)
|
|
4104
|
+
export type ClrTabsActionsPosition = 'left' | 'right';
|
|
4105
|
+
|
|
4083
4106
|
// @public (undocumented)
|
|
4084
4107
|
export class ClrTabsModule {
|
|
4085
4108
|
constructor();
|
|
@@ -4094,10 +4117,12 @@ export class ClrTabsModule {
|
|
|
4094
4117
|
// Warning: (ae-forgotten-export) The symbol "i5_11" needs to be exported by the entry point index.d.ts
|
|
4095
4118
|
// Warning: (ae-forgotten-export) The symbol "i6_8" needs to be exported by the entry point index.d.ts
|
|
4096
4119
|
// Warning: (ae-forgotten-export) The symbol "i7_7" needs to be exported by the entry point index.d.ts
|
|
4097
|
-
// Warning: (ae-forgotten-export) The symbol "
|
|
4120
|
+
// Warning: (ae-forgotten-export) The symbol "i8_7" needs to be exported by the entry point index.d.ts
|
|
4121
|
+
// Warning: (ae-forgotten-export) The symbol "i9_6" needs to be exported by the entry point index.d.ts
|
|
4122
|
+
// Warning: (ae-forgotten-export) The symbol "i13_3" needs to be exported by the entry point index.d.ts
|
|
4098
4123
|
//
|
|
4099
4124
|
// (undocumented)
|
|
4100
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ClrTabsModule, [typeof i1_41.ClrTabContent, typeof i2_29.ClrTab, typeof i3_21.ClrTabs, typeof i4_14.ClrTabOverflowContent, typeof i5_11.ClrTabLink, typeof i6_8.
|
|
4125
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ClrTabsModule, [typeof i1_41.ClrTabContent, typeof i2_29.ClrTab, typeof i3_21.ClrTabs, typeof i4_14.ClrTabOverflowContent, typeof i5_11.ClrTabLink, typeof i6_8.ClrTabAction, typeof i7_7.ClrTabsActions, typeof i8_7.TabsWillyWonka, typeof i9_6.ActiveOompaLoompa], [typeof i6.CommonModule, typeof i6_2.ClrConditionalModule, typeof i3_2.ClrIconModule, typeof i13_3.ClrTemplateRefModule, typeof i50.ClrKeyFocusModule], [typeof i1_41.ClrTabContent, typeof i2_29.ClrTab, typeof i3_21.ClrTabs, typeof i4_14.ClrTabOverflowContent, typeof i5_11.ClrTabLink, typeof i6_8.ClrTabAction, typeof i7_7.ClrTabsActions, typeof i8_7.TabsWillyWonka, typeof i9_6.ActiveOompaLoompa, typeof i6_2.ClrConditionalModule]>;
|
|
4101
4126
|
}
|
|
4102
4127
|
|
|
4103
4128
|
// @public (undocumented)
|
|
@@ -4683,13 +4708,13 @@ export class ClrWizardModule {
|
|
|
4683
4708
|
// Warning: (ae-forgotten-export) The symbol "i5_13" needs to be exported by the entry point index.d.ts
|
|
4684
4709
|
// Warning: (ae-forgotten-export) The symbol "i6_9" needs to be exported by the entry point index.d.ts
|
|
4685
4710
|
// Warning: (ae-forgotten-export) The symbol "i7_8" needs to be exported by the entry point index.d.ts
|
|
4686
|
-
// Warning: (ae-forgotten-export) The symbol "
|
|
4687
|
-
// Warning: (ae-forgotten-export) The symbol "
|
|
4711
|
+
// Warning: (ae-forgotten-export) The symbol "i8_8" needs to be exported by the entry point index.d.ts
|
|
4712
|
+
// Warning: (ae-forgotten-export) The symbol "i9_7" needs to be exported by the entry point index.d.ts
|
|
4688
4713
|
// Warning: (ae-forgotten-export) The symbol "i10_5" needs to be exported by the entry point index.d.ts
|
|
4689
|
-
// Warning: (ae-forgotten-export) The symbol "
|
|
4714
|
+
// Warning: (ae-forgotten-export) The symbol "i11_4" needs to be exported by the entry point index.d.ts
|
|
4690
4715
|
//
|
|
4691
4716
|
// (undocumented)
|
|
4692
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ClrWizardModule, [typeof i1_46.ClrWizard, typeof i2_34.ClrWizardPage, typeof i3_26.ClrWizardStepnav, typeof i4_17.ClrWizardStepnavItem, typeof i5_13.ClrWizardButton, typeof i6_9.ClrWizardHeaderAction, typeof i7_8.ClrWizardTitle, typeof
|
|
4717
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ClrWizardModule, [typeof i1_46.ClrWizard, typeof i2_34.ClrWizardPage, typeof i3_26.ClrWizardStepnav, typeof i4_17.ClrWizardStepnavItem, typeof i5_13.ClrWizardButton, typeof i6_9.ClrWizardHeaderAction, typeof i7_8.ClrWizardTitle, typeof i8_8.ClrWizardPageTitle, typeof i9_7.ClrWizardPageNavTitle, typeof i10_5.ClrWizardPageButtons, typeof i11_4.ClrWizardPageHeaderActions], [typeof i6.CommonModule, typeof i4_12.ClrModalModule, typeof i1_2.ClrAlertModule], [typeof i1_46.ClrWizard, typeof i2_34.ClrWizardPage, typeof i3_26.ClrWizardStepnav, typeof i4_17.ClrWizardStepnavItem, typeof i5_13.ClrWizardButton, typeof i6_9.ClrWizardHeaderAction, typeof i7_8.ClrWizardTitle, typeof i8_8.ClrWizardPageTitle, typeof i9_7.ClrWizardPageNavTitle, typeof i10_5.ClrWizardPageButtons, typeof i11_4.ClrWizardPageHeaderActions]>;
|
|
4693
4718
|
}
|
|
4694
4719
|
|
|
4695
4720
|
// @public
|
|
@@ -5,11 +5,13 @@
|
|
|
5
5
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6
6
|
*/
|
|
7
7
|
export * from './tabs';
|
|
8
|
+
export * from './tabs-actions';
|
|
8
9
|
export * from './tab';
|
|
9
10
|
export * from './tab-content';
|
|
10
11
|
export * from './tab-overflow-content';
|
|
11
12
|
export * from './tab-link.directive';
|
|
13
|
+
export * from './tab-action.directive';
|
|
12
14
|
export * from './tabs.module';
|
|
13
15
|
export { TabsWillyWonka as ÇlrTabsWillyWonka } from './chocolate/tabs-willy-wonka';
|
|
14
16
|
export { ActiveOompaLoompa as ÇlrActiveOompaLoompa } from './chocolate/active-oompa-loompa';
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9sYXlvdXQvdGFicy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxlQUFlLENBQUM7QUFFOUIsT0FBTyxFQUFFLGNBQWMsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3RhYnMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJzLWFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWInO1xuZXhwb3J0ICogZnJvbSAnLi90YWItY29udGVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYi1vdmVyZmxvdy1jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFiLWxpbmsuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFiLWFjdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJzLm1vZHVsZSc7XG5cbmV4cG9ydCB7IFRhYnNXaWxseVdvbmthIGFzIMOHbHJUYWJzV2lsbHlXb25rYSB9IGZyb20gJy4vY2hvY29sYXRlL3RhYnMtd2lsbHktd29ua2EnO1xuZXhwb3J0IHsgQWN0aXZlT29tcGFMb29tcGEgYXMgw4dsckFjdGl2ZU9vbXBhTG9vbXBhIH0gZnJvbSAnLi9jaG9jb2xhdGUvYWN0aXZlLW9vbXBhLWxvb21wYSc7XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
3
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
4
|
+
* This software is released under MIT license.
|
|
5
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6
|
+
*/
|
|
7
|
+
import { Directive } from '@angular/core';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class ClrTabAction {
|
|
10
|
+
}
|
|
11
|
+
ClrTabAction.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrTabAction, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
12
|
+
ClrTabAction.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrTabAction, selector: "[clrTabAction]", host: { attributes: { "tabindex": "0" } }, ngImport: i0 });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrTabAction, decorators: [{
|
|
14
|
+
type: Directive,
|
|
15
|
+
args: [{
|
|
16
|
+
selector: '[clrTabAction]',
|
|
17
|
+
host: {
|
|
18
|
+
tabindex: '0',
|
|
19
|
+
},
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWFjdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9sYXlvdXQvdGFicy90YWItYWN0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyxZQUFZOzt5R0FBWixZQUFZOzZGQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFOeEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixJQUFJLEVBQUU7d0JBQ0osUUFBUSxFQUFFLEdBQUc7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2xyVGFiQWN0aW9uXScsXG4gIGhvc3Q6IHtcbiAgICB0YWJpbmRleDogJzAnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDbHJUYWJBY3Rpb24ge31cbiJdfQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
3
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
4
|
+
* This software is released under MIT license.
|
|
5
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6
|
+
*/
|
|
7
|
+
import { Component, HostBinding, Input } from '@angular/core';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class ClrTabsActions {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.position = 'right';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
ClrTabsActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrTabsActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
+
ClrTabsActions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrTabsActions, selector: "clr-tabs-actions", inputs: { position: "position" }, host: { properties: { "class.tabs-actions": "true", "attr.position": "this.position" } }, ngImport: i0, template: `
|
|
16
|
+
<div class="tabs-actions-wrapper">
|
|
17
|
+
<ng-content></ng-content>
|
|
18
|
+
</div>
|
|
19
|
+
`, isInline: true });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrTabsActions, decorators: [{
|
|
21
|
+
type: Component,
|
|
22
|
+
args: [{
|
|
23
|
+
selector: 'clr-tabs-actions',
|
|
24
|
+
template: `
|
|
25
|
+
<div class="tabs-actions-wrapper">
|
|
26
|
+
<ng-content></ng-content>
|
|
27
|
+
</div>
|
|
28
|
+
`,
|
|
29
|
+
host: {
|
|
30
|
+
'[class.tabs-actions]': 'true',
|
|
31
|
+
},
|
|
32
|
+
}]
|
|
33
|
+
}], propDecorators: { position: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}, {
|
|
36
|
+
type: HostBinding,
|
|
37
|
+
args: ['attr.position']
|
|
38
|
+
}] } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGF5b3V0L3RhYnMvdGFicy1hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWU5RCxNQUFNLE9BQU8sY0FBYztJQVgzQjtRQWNFLGFBQVEsR0FBMkIsT0FBTyxDQUFDO0tBQzVDOzsyR0FKWSxjQUFjOytGQUFkLGNBQWMsb0xBVGY7Ozs7R0FJVDsyRkFLVSxjQUFjO2tCQVgxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELElBQUksRUFBRTt3QkFDSixzQkFBc0IsRUFBRSxNQUFNO3FCQUMvQjtpQkFDRjs4QkFJQyxRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNCBCcm9hZGNvbS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoZSB0ZXJtIFwiQnJvYWRjb21cIiByZWZlcnMgdG8gQnJvYWRjb20gSW5jLiBhbmQvb3IgaXRzIHN1YnNpZGlhcmllcy5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgQ2xyVGFic0FjdGlvbnNQb3NpdGlvbiA9ICdsZWZ0JyB8ICdyaWdodCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci10YWJzLWFjdGlvbnMnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJ0YWJzLWFjdGlvbnMtd3JhcHBlclwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICBgLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy50YWJzLWFjdGlvbnNdJzogJ3RydWUnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDbHJUYWJzQWN0aW9ucyB7XG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnYXR0ci5wb3NpdGlvbicpXG4gIHBvc2l0aW9uOiBDbHJUYWJzQWN0aW9uc1Bvc2l0aW9uID0gJ3JpZ2h0Jztcbn1cbiJdfQ==
|
|
@@ -12,6 +12,7 @@ import { ClrPopoverHostDirective } from '../../utils/popover/popover-host.direct
|
|
|
12
12
|
import { TabsLayout } from './enums/tabs-layout.enum';
|
|
13
13
|
import { TabsService } from './providers/tabs.service';
|
|
14
14
|
import { ClrTab } from './tab';
|
|
15
|
+
import { ClrTabAction } from './tab-action.directive';
|
|
15
16
|
import { ClrTabOverflowContent } from './tab-overflow-content';
|
|
16
17
|
import { TABS_ID, TABS_ID_PROVIDER } from './tabs-id.provider';
|
|
17
18
|
import * as i0 from "@angular/core";
|
|
@@ -81,6 +82,7 @@ export class ClrTabs {
|
|
|
81
82
|
}
|
|
82
83
|
ngAfterContentInit() {
|
|
83
84
|
this.subscriptions.push(this.listenForTabLinkChanges());
|
|
85
|
+
this.subscriptions.push(this.listedForTabsActionsChanges());
|
|
84
86
|
if (typeof this.ifActiveService.current === 'undefined' && this.tabLinkDirectives[0]) {
|
|
85
87
|
this.tabLinkDirectives[0].activate();
|
|
86
88
|
}
|
|
@@ -142,7 +144,10 @@ export class ClrTabs {
|
|
|
142
144
|
// This is because we have another handler on the tabOverflowTrigger element itself.
|
|
143
145
|
// As this handler method is on the document level so the event bubbles up to it and conflicts
|
|
144
146
|
// with the tabOverflowTrigger handler resulting in opening the tab overflow and closing it right away consecutively.
|
|
145
|
-
|
|
147
|
+
const isTabsAction = this.tabsActions.some(action => action.nativeElement.contains(event.target));
|
|
148
|
+
if (event.target === tabOverflowTrigger ||
|
|
149
|
+
tabOverflowTrigger.contains(event.target) ||
|
|
150
|
+
isTabsAction) {
|
|
146
151
|
return;
|
|
147
152
|
}
|
|
148
153
|
// Move current to the last visible focusable item
|
|
@@ -150,15 +155,24 @@ export class ClrTabs {
|
|
|
150
155
|
this.keyFocus.moveTo(this.overflowPosition - 1);
|
|
151
156
|
}
|
|
152
157
|
}
|
|
158
|
+
setTabLinkElements() {
|
|
159
|
+
this._tabLinkDirectives = this.tabs.map(tab => tab.tabLink);
|
|
160
|
+
this.tabLinkElements = this._tabLinkDirectives.map(tab => tab.el.nativeElement);
|
|
161
|
+
if (this.tabsActions && this.tabsActions) {
|
|
162
|
+
this.tabLinkElements.push(...this.tabsActions.map(action => action.nativeElement));
|
|
163
|
+
}
|
|
164
|
+
}
|
|
153
165
|
listenForTabLinkChanges() {
|
|
154
|
-
return this.tabs.changes
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
166
|
+
return this.tabs.changes
|
|
167
|
+
.pipe(startWith(this.tabs.map(tab => tab.tabLink)))
|
|
168
|
+
.subscribe(() => this.setTabLinkElements());
|
|
169
|
+
}
|
|
170
|
+
listedForTabsActionsChanges() {
|
|
171
|
+
return this.tabsActions.changes.subscribe(() => this.setTabLinkElements());
|
|
158
172
|
}
|
|
159
173
|
}
|
|
160
174
|
ClrTabs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrTabs, deps: [{ token: i1.IfActiveService }, { token: i2.ClrPopoverToggleService }, { token: i3.TabsService }, { token: TABS_ID }, { token: i4.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
161
|
-
ClrTabs.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrTabs, selector: "clr-tabs", inputs: { layout: ["clrLayout", "layout"] }, host: { properties: { "class.tabs-vertical": "this.isVertical" } }, providers: [IfActiveService, TabsService, TABS_ID_PROVIDER], queries: [{ propertyName: "tabs", predicate: ClrTab }], viewQueries: [{ propertyName: "keyFocus", first: true, predicate: ClrKeyFocus, descendants: true, static: true }, { propertyName: "tabOverflowEl", first: true, predicate: ClrTabOverflowContent, descendants: true, read: ElementRef }, { propertyName: "tabContentViewContainer", first: true, predicate: ["tabContentViewContainer"], descendants: true, read: ViewContainerRef, static: true }], hostDirectives: [{ directive: i5.ClrPopoverHostDirective }], ngImport: i0, template: `
|
|
175
|
+
ClrTabs.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrTabs, selector: "clr-tabs", inputs: { layout: ["clrLayout", "layout"] }, host: { properties: { "class.tabs-vertical": "this.isVertical" } }, providers: [IfActiveService, TabsService, TABS_ID_PROVIDER], queries: [{ propertyName: "tabsActions", predicate: ClrTabAction, descendants: true, read: ElementRef }, { propertyName: "tabs", predicate: ClrTab }], viewQueries: [{ propertyName: "keyFocus", first: true, predicate: ClrKeyFocus, descendants: true, static: true }, { propertyName: "tabOverflowEl", first: true, predicate: ClrTabOverflowContent, descendants: true, read: ElementRef }, { propertyName: "tabContentViewContainer", first: true, predicate: ["tabContentViewContainer"], descendants: true, read: ViewContainerRef, static: true }], hostDirectives: [{ directive: i5.ClrPopoverHostDirective }], ngImport: i0, template: `
|
|
162
176
|
<ul
|
|
163
177
|
class="nav"
|
|
164
178
|
role="tablist"
|
|
@@ -214,6 +228,7 @@ ClrTabs.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2
|
|
|
214
228
|
</clr-tab-overflow-content>
|
|
215
229
|
</div>
|
|
216
230
|
</ng-container>
|
|
231
|
+
<ng-content select="clr-tabs-actions"></ng-content>
|
|
217
232
|
</ul>
|
|
218
233
|
<ng-container #tabContentViewContainer></ng-container>
|
|
219
234
|
`, isInline: true, dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i8.ClrKeyFocus, selector: "[clrKeyFocus]", inputs: ["clrDirection", "clrFocusOnLoad", "clrKeyFocus"], outputs: ["clrFocusChange"] }, { kind: "component", type: i9.ClrTabOverflowContent, selector: "clr-tab-overflow-content" }] });
|
|
@@ -277,6 +292,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
277
292
|
</clr-tab-overflow-content>
|
|
278
293
|
</div>
|
|
279
294
|
</ng-container>
|
|
295
|
+
<ng-content select="clr-tabs-actions"></ng-content>
|
|
280
296
|
</ul>
|
|
281
297
|
<ng-container #tabContentViewContainer></ng-container>
|
|
282
298
|
`,
|
|
@@ -289,6 +305,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
289
305
|
}] }, { type: i4.ClrCommonStringsService }]; }, propDecorators: { keyFocus: [{
|
|
290
306
|
type: ViewChild,
|
|
291
307
|
args: [ClrKeyFocus, { static: true }]
|
|
308
|
+
}], tabsActions: [{
|
|
309
|
+
type: ContentChildren,
|
|
310
|
+
args: [ClrTabAction, { read: ElementRef, descendants: true }]
|
|
292
311
|
}], tabs: [{
|
|
293
312
|
type: ContentChildren,
|
|
294
313
|
args: [ClrTab]
|
|
@@ -305,4 +324,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
305
324
|
type: ViewChild,
|
|
306
325
|
args: ['tabContentViewContainer', { static: true, read: ViewContainerRef }]
|
|
307
326
|
}] } });
|
|
308
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xheW91dC90YWJzL3RhYnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBRUwsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBR0wsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFL0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7OztBQWtFL0QsTUFBTSxPQUFPLE9BQU87SUFlbEIsWUFDUyxlQUFnQyxFQUNoQyxhQUFzQyxFQUN0QyxXQUF3QixFQUNQLE1BQWMsRUFDL0IsYUFBc0M7UUFKdEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtRQUN0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNQLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQXlCO1FB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QUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVQLElBQUk7c0JBQXBDLGVBQWU7dUJBQUMsTUFBTTtnQkFlbkIsTUFBTTtzQkFEVCxLQUFLO3VCQUFDLFdBQVc7Z0JBaUNkLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBTTlCLGFBQWE7c0JBRGhCLFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQWUxQyx1QkFBdUI7c0JBRGxDLFNBQVM7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNCBCcm9hZGNvbS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoZSB0ZXJtIFwiQnJvYWRjb21cIiByZWZlcnMgdG8gQnJvYWRjb20gSW5jLiBhbmQvb3IgaXRzIHN1YnNpZGlhcmllcy5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJZkFjdGl2ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9jb25kaXRpb25hbC9pZi1hY3RpdmUuc2VydmljZSc7XG5pbXBvcnQgeyBDbHJLZXlGb2N1cyB9IGZyb20gJy4uLy4uL3V0aWxzL2ZvY3VzL2tleS1mb2N1cy9rZXktZm9jdXMnO1xuaW1wb3J0IHsgQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9pMThuL2NvbW1vbi1zdHJpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xyUG9wb3Zlckhvc3REaXJlY3RpdmUgfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyL3BvcG92ZXItaG9zdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2xyUG9wb3ZlclRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyL3Byb3ZpZGVycy9wb3BvdmVyLXRvZ2dsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYnNMYXlvdXQgfSBmcm9tICcuL2VudW1zL3RhYnMtbGF5b3V0LmVudW0nO1xuaW1wb3J0IHsgVGFic1NlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy90YWJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xyVGFiIH0gZnJvbSAnLi90YWInO1xuaW1wb3J0IHsgQ2xyVGFiTGluayB9IGZyb20gJy4vdGFiLWxpbmsuZGlyZWN0aXZlJztcbmltcG9ydCB7IENsclRhYk92ZXJmbG93Q29udGVudCB9IGZyb20gJy4vdGFiLW92ZXJmbG93LWNvbnRlbnQnO1xuaW1wb3J0IHsgVEFCU19JRCwgVEFCU19JRF9QUk9WSURFUiB9IGZyb20gJy4vdGFicy1pZC5wcm92aWRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci10YWJzJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dWxcbiAgICAgIGNsYXNzPVwibmF2XCJcbiAgICAgIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICAgIFtjbHJLZXlGb2N1c109XCJ0YWJMaW5rRWxlbWVudHNcIlxuICAgICAgY2xyRGlyZWN0aW9uPVwiYm90aFwiXG4gICAgICAoY2xyRm9jdXNDaGFuZ2UpPVwidG9nZ2xlT3ZlcmZsb3dPblBvc2l0aW9uKCRldmVudClcIlxuICAgICAgKGZvY3Vzb3V0KT1cInJlc2V0S2V5Rm9jdXNDdXJyZW50VG9BY3RpdmUoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPCEtLXRhYiBsaW5rcy0tPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiB0YWJMaW5rRGlyZWN0aXZlc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGluay50YWJzSWQgPT09IHRhYnNJZCAmJiAhbGluay5pbk92ZXJmbG93XCI+XG4gICAgICAgICAgPGxpIHJvbGU9XCJwcmVzZW50YXRpb25cIiBjbGFzcz1cIm5hdi1pdGVtXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmsudGVtcGxhdGVSZWZDb250YWluZXIudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYnNTZXJ2aWNlLm92ZXJmbG93VGFicy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJzLW92ZXJmbG93IGJvdHRvbS1yaWdodFwiIHJvbGU9XCJwcmVzZW50YXRpb25cIiBbY2xhc3Mub3Blbl09XCJ0b2dnbGVTZXJ2aWNlLm9wZW5cIj5cbiAgICAgICAgICA8bGkgcm9sZT1cImFwcGxpY2F0aW9uXCIgY2xhc3M9XCJuYXYtaXRlbVwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAjdGFiT3ZlcmZsb3dUcmlnZ2VyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIG5hdi1saW5rIGRyb3Bkb3duLXRvZ2dsZVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJhY3RpdmVUYWJJbk92ZXJmbG93ICYmICF0b2dnbGVTZXJ2aWNlLm9wZW4gPyAwIDogLTFcIlxuICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYkluT3ZlcmZsb3dcIlxuICAgICAgICAgICAgICBbY2xhc3Mub3Blbl09XCJ0b2dnbGVTZXJ2aWNlLm9wZW5cIlxuICAgICAgICAgICAgICAobW91c2Vkb3duKT1cIl9tb3VzZWRvd24gPSB0cnVlXCJcbiAgICAgICAgICAgICAgKGZvY3VzKT1cIm9wZW5PdmVyZmxvd09uRm9jdXMoKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVPdmVyZmxvd09uQ2xpY2soKVwiXG4gICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cImNvbW1vblN0cmluZ3Mua2V5cy5tb3JlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGNkcy1pY29uXG4gICAgICAgICAgICAgICAgc2hhcGU9XCJlbGxpcHNpcy1ob3Jpem9udGFsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5zdGF0dXNdPVwidG9nZ2xlU2VydmljZS5vcGVuID8gJ2luZm8nIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiY29tbW9uU3RyaW5ncy5rZXlzLm1vcmVcIlxuICAgICAgICAgICAgICA+PC9jZHMtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPCEtLXRhYiBsaW5rcyBpbiBvdmVyZmxvdyBtZW51LS0+XG4gICAgICAgICAgPGNsci10YWItb3ZlcmZsb3ctY29udGVudFxuICAgICAgICAgICAgKm5nSWY9XCJ0b2dnbGVTZXJ2aWNlLm9wZW5cIlxuICAgICAgICAgICAgKGRvY3VtZW50OmtleWRvd24uZXNjYXBlKT1cImNsb3NlT25Fc2NhcGVLZXkoKVwiXG4gICAgICAgICAgICAoZG9jdW1lbnQ6Y2xpY2spPVwiY2xvc2VPbk91dHNpZGVDbGljaygkZXZlbnQsIHRhYk92ZXJmbG93VHJpZ2dlcilcIlxuICAgICAgICAgICAgKGZvY3Vzb3V0KT1cImNsb3NlT25Gb2N1c091dCgkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaW5rIG9mIHRhYkxpbmtEaXJlY3RpdmVzXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImxpbmsudGFic0lkID09PSB0YWJzSWQgJiYgbGluay5pbk92ZXJmbG93XCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsaW5rLnRlbXBsYXRlUmVmQ29udGFpbmVyLnRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9jbHItdGFiLW92ZXJmbG93LWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC91bD5cbiAgICA8bmctY29udGFpbmVyICN0YWJDb250ZW50Vmlld0NvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbSWZBY3RpdmVTZXJ2aWNlLCBUYWJzU2VydmljZSwgVEFCU19JRF9QUk9WSURFUl0sXG4gIGhvc3REaXJlY3RpdmVzOiBbQ2xyUG9wb3Zlckhvc3REaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJUYWJzIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgdGFiTGlua0VsZW1lbnRzOiBIVE1MRWxlbWVudFtdID0gW107XG5cbiAgLy8gaW4gb3JkZXIgdG8gY2hlY2sgZm9jdXMgaXMgdHJpZ2dlcmVkIGJ5IGNsaWNrXG4gIC8vIHdlIGFyZSB1c2luZyB0aGlzIF9tb3VzZWRvd24gZmxhZ1xuICBfbW91c2Vkb3duID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZChDbHJLZXlGb2N1cywgeyBzdGF0aWM6IHRydWUgfSkga2V5Rm9jdXM6IENscktleUZvY3VzO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQ2xyVGFiKSBwcml2YXRlIHRhYnM6IFF1ZXJ5TGlzdDxDbHJUYWI+O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBfdGFiT3ZlcmZsb3dFbDogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RhYkxpbmtEaXJlY3RpdmVzOiBDbHJUYWJMaW5rW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaWZBY3RpdmVTZXJ2aWNlOiBJZkFjdGl2ZVNlcnZpY2UsXG4gICAgcHVibGljIHRvZ2dsZVNlcnZpY2U6IENsclBvcG92ZXJUb2dnbGVTZXJ2aWNlLFxuICAgIHB1YmxpYyB0YWJzU2VydmljZTogVGFic1NlcnZpY2UsXG4gICAgQEluamVjdChUQUJTX0lEKSBwdWJsaWMgdGFic0lkOiBudW1iZXIsXG4gICAgcHVibGljIGNvbW1vblN0cmluZ3M6IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlXG4gICkge31cblxuICBASW5wdXQoJ2NsckxheW91dCcpXG4gIGdldCBsYXlvdXQoKTogVGFic0xheW91dCB8IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGFic1NlcnZpY2UubGF5b3V0O1xuICB9XG4gIHNldCBsYXlvdXQobGF5b3V0OiBUYWJzTGF5b3V0IHwgc3RyaW5nKSB7XG4gICAgaWYgKFxuICAgICAgT2JqZWN0LmtleXMoVGFic0xheW91dClcbiAgICAgICAgLm1hcChrZXkgPT4ge1xuICAgICAgICAgIHJldHVybiAoVGFic0xheW91dCBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KVtrZXldO1xuICAgICAgICB9KVxuICAgICAgICAuaW5kZXhPZihsYXlvdXQpID49IDBcbiAgICApIHtcbiAgICAgIHRoaXMudGFic1NlcnZpY2UubGF5b3V0ID0gbGF5b3V0O1xuICAgIH1cbiAgfVxuXG4gIGdldCB0YWJMaW5rRGlyZWN0aXZlcygpOiBDbHJUYWJMaW5rW10ge1xuICAgIHJldHVybiB0aGlzLl90YWJMaW5rRGlyZWN0aXZlcztcbiAgfVxuXG4gIGdldCBhY3RpdmVUYWJJbk92ZXJmbG93KCkge1xuICAgIHJldHVybiB0aGlzLnRhYnNTZXJ2aWNlLm92ZXJmbG93VGFicy5pbmRleE9mKHRoaXMudGFic1NlcnZpY2UuYWN0aXZlVGFiKSA+IC0xO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVRhYlBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl90YWJMaW5rRGlyZWN0aXZlcy5maW5kSW5kZXgobGluayA9PiBsaW5rLmFjdGl2ZSk7XG4gIH1cblxuICBnZXQgaXNDdXJyZW50SW5PdmVyZmxvdygpIHtcbiAgICByZXR1cm4gdGhpcy5rZXlGb2N1cy5jdXJyZW50ID49IHRoaXMub3ZlcmZsb3dQb3NpdGlvbjtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGFicy12ZXJ0aWNhbCcpXG4gIGdldCBpc1ZlcnRpY2FsKCkge1xuICAgIHJldHVybiB0aGlzLmxheW91dCA9PT0gVGFic0xheW91dC5WRVJUSUNBTDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoQ2xyVGFiT3ZlcmZsb3dDb250ZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgc2V0IHRhYk92ZXJmbG93RWwodmFsdWU6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLl90YWJPdmVyZmxvd0VsID0gdmFsdWUgJiYgdmFsdWUubmF0aXZlRWxlbWVudDtcbiAgICBpZiAodGhpcy50b2dnbGVTZXJ2aWNlLm9wZW4gJiYgdmFsdWUpIHtcbiAgICAgIC8vIG9ubHkgd2hlbiB0YWIgb3ZlcmZsb3cgdmlldyBlbGVtZW50IGlzIHJlZ2lzdGVyZWQsXG4gICAgICAvLyB3ZSBuZWVkIHRvIG1vdmUgdGhlIGZvY3VzIHRvIHRoZSBmaXJzdCBpdGVtXG4gICAgICB0aGlzLmtleUZvY3VzLmZvY3VzQ3VycmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0IG92ZXJmbG93UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RhYkxpbmtEaXJlY3RpdmVzLmZpbHRlcihsaW5rID0+ICFsaW5rLmluT3ZlcmZsb3cpLmxlbmd0aDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RhYkNvbnRlbnRWaWV3Q29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcbiAgcHJpdmF0ZSBzZXQgdGFiQ29udGVudFZpZXdDb250YWluZXIodmFsdWU6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICB0aGlzLnRhYnNTZXJ2aWNlLnRhYkNvbnRlbnRWaWV3Q29udGFpbmVyID0gdmFsdWU7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5saXN0ZW5Gb3JUYWJMaW5rQ2hhbmdlcygpKTtcblxuICAgIGlmICh0eXBlb2YgdGhpcy5pZkFjdGl2ZVNlcnZpY2UuY3VycmVudCA9PT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50YWJMaW5rRGlyZWN0aXZlc1swXSkge1xuICAgICAgdGhpcy50YWJMaW5rRGlyZWN0aXZlc1swXS5hY3RpdmF0ZSgpO1xuICAgIH1cblxuICAgIC8vIHNldCBpbml0aWFsIGN1cnJlbnQgcG9zaXRpb25cbiAgICB0aGlzLmtleUZvY3VzLmN1cnJlbnQgPSB0aGlzLmFjdGl2ZVRhYlBvc2l0aW9uO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3ViID0+IHtcbiAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlT3ZlcmZsb3dPblBvc2l0aW9uKHBvc2l0aW9uOiBudW1iZXIpIHtcbiAgICAvLyB3ZSBuZWVkIHRvIGNoZWNrIGN1cnJlbnQgcG9zaXRpb24gdG8gZGV0ZXJtaW5lXG4gICAgLy8gd2hldGhlciB3ZSBuZWVkIHRvIG9wZW4gdGhlIHRhYiBvdmVyZmxvdyBvciBub3RcbiAgICB0aGlzLnRvZ2dsZVNlcnZpY2Uub3BlbiA9IHBvc2l0aW9uID49IHRoaXMub3ZlcmZsb3dQb3NpdGlvbjtcbiAgfVxuXG4gIHJlc2V0S2V5Rm9jdXNDdXJyZW50VG9BY3RpdmUoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICBjb25zdCBrZXlGb2N1c0NvbnRhaW5zRm9jdXMgPSB0aGlzLmtleUZvY3VzLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG4gICAgaWYgKCFrZXlGb2N1c0NvbnRhaW5zRm9jdXMgJiYgdGhpcy5rZXlGb2N1cy5jdXJyZW50ICE9PSB0aGlzLmFjdGl2ZVRhYlBvc2l0aW9uKSB7XG4gICAgICB0aGlzLmtleUZvY3VzLmN1cnJlbnQgPSB0aGlzLmFjdGl2ZVRhYlBvc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZU92ZXJmbG93T25DbGljaygpIHtcbiAgICBpZiAodGhpcy5pc0N1cnJlbnRJbk92ZXJmbG93ICYmIHRoaXMudG9nZ2xlU2VydmljZS5vcGVuKSB7XG4gICAgICB0aGlzLmtleUZvY3VzLm1vdmVUbyh0aGlzLm92ZXJmbG93UG9zaXRpb24gLSAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5rZXlGb2N1cy5tb3ZlVG8odGhpcy5vdmVyZmxvd1Bvc2l0aW9uKTtcbiAgICB9XG5cbiAgICAvLyBvbmNlIGNsaWNrIGhhbmRsZXIgY29tcGxldGVzIHJ1bm5pbmcsXG4gICAgLy8gcmVzZXQgdGhlIF9tb3VzZWRvd24gZmxhZ1xuICAgIHRoaXMuX21vdXNlZG93biA9IGZhbHNlO1xuICB9XG5cbiAgb3Blbk92ZXJmbG93T25Gb2N1cygpIHtcbiAgICAvLyBUaGlzIG1ldGhvZCBzaG91bGQgYmUgY2FsbGVkIG9ubHkgb24ga2V5Ym9hcmQgZ2VuZXJhdGVkIGZvY3VzXG4gICAgLy8gd2hlbiB0aGUgYWN0aXZlIHRhYiBpcyBpbiB0aGUgb3ZlcmZsb3dcbiAgICBpZiAoIXRoaXMuX21vdXNlZG93biAmJiAhdGhpcy50b2dnbGVTZXJ2aWNlLm9wZW4pIHtcbiAgICAgIHRoaXMua2V5Rm9jdXMubW92ZVRvKHRoaXMuYWN0aXZlVGFiUG9zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlT25Gb2N1c091dChldmVudDogRm9jdXNFdmVudCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl90YWJPdmVyZmxvd0VsLmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgSFRNTEVsZW1lbnQpICYmXG4gICAgICB0aGlzLnRvZ2dsZVNlcnZpY2Uub3BlbiAmJlxuICAgICAgIXRoaXMuX21vdXNlZG93blxuICAgICkge1xuICAgICAgdGhpcy50b2dnbGVTZXJ2aWNlLm9wZW4gPSBmYWxzZTtcblxuICAgICAgLy8gaWYgdGhlIGZvY3VzIGlzIG91dCBvZiBvdmVyZmxvdyBhbmQgbGFuZHMgb24gdGhlIGFjdGl2ZSB0YWIgbGlua1xuICAgICAgLy8gd2hpY2ggaXMgY3VycmVudGx5IHZpc2libGUsIHNldCB0aGUga2V5IGZvY3VzIGN1cnJlbnQgdG8gYWN0aXZlVGFiUG9zaXRpb25cbiAgICAgIGlmICh0aGlzLnRhYkxpbmtFbGVtZW50c1t0aGlzLmFjdGl2ZVRhYlBvc2l0aW9uXSA9PT0gZXZlbnQucmVsYXRlZFRhcmdldCkge1xuICAgICAgICB0aGlzLmtleUZvY3VzLmN1cnJlbnQgPSB0aGlzLmFjdGl2ZVRhYlBvc2l0aW9uO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNsb3NlT25Fc2NhcGVLZXkoKSB7XG4gICAgLy8gTW92ZSBjdXJyZW50IHRvIHRoZSBsYXN0IHZpc2libGUgZm9jdXNhYmxlIGl0ZW1cbiAgICB0aGlzLmtleUZvY3VzLm1vdmVUbyh0aGlzLm92ZXJmbG93UG9zaXRpb24gLSAxKTtcbiAgfVxuXG4gIGNsb3NlT25PdXRzaWRlQ2xpY2soZXZlbnQ6IEV2ZW50LCB0YWJPdmVyZmxvd1RyaWdnZXI6IEhUTUxFbGVtZW50KSB7XG4gICAgLy8gRXhpdCBlYXJseSBpZiB0aGUgZXZlbnQgdGFyZ2V0IGlzIHRoZSB0cmlnZ2VyIGVsZW1lbnQgaXRzZWxmIG9yIGVsZW1lbnQgdGhhdCdzIGluc2lkZSB0aGUgdHJpZ2dlciBlbGVtZW50LlxuICAgIC8vIFRoaXMgaXMgYmVjYXVzZSB3ZSBoYXZlIGFub3RoZXIgaGFuZGxlciBvbiB0aGUgdGFiT3ZlcmZsb3dUcmlnZ2VyIGVsZW1lbnQgaXRzZWxmLlxuICAgIC8vIEFzIHRoaXMgaGFuZGxlciBtZXRob2QgaXMgb24gdGhlIGRvY3VtZW50IGxldmVsIHNvIHRoZSBldmVudCBidWJibGVzIHVwIHRvIGl0IGFuZCBjb25mbGljdHNcbiAgICAvLyB3aXRoIHRoZSB0YWJPdmVyZmxvd1RyaWdnZXIgaGFuZGxlciByZXN1bHRpbmcgaW4gb3BlbmluZyB0aGUgdGFiIG92ZXJmbG93IGFuZCBjbG9zaW5nIGl0IHJpZ2h0IGF3YXkgY29uc2VjdXRpdmVseS5cbiAgICBpZiAoZXZlbnQudGFyZ2V0ID09PSB0YWJPdmVyZmxvd1RyaWdnZXIgfHwgdGFiT3ZlcmZsb3dUcmlnZ2VyLmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBNb3ZlIGN1cnJlbnQgdG8gdGhlIGxhc3QgdmlzaWJsZSBmb2N1c2FibGUgaXRlbVxuICAgIGlmICghdGhpcy5fdGFiT3ZlcmZsb3dFbC5jb250YWlucyhldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpICYmIHRoaXMuaXNDdXJyZW50SW5PdmVyZmxvdykge1xuICAgICAgdGhpcy5rZXlGb2N1cy5tb3ZlVG8odGhpcy5vdmVyZmxvd1Bvc2l0aW9uIC0gMSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Gb3JUYWJMaW5rQ2hhbmdlcygpIHtcbiAgICByZXR1cm4gdGhpcy50YWJzLmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy50YWJzLm1hcCh0YWIgPT4gdGFiLnRhYkxpbmspKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX3RhYkxpbmtEaXJlY3RpdmVzID0gdGhpcy50YWJzLm1hcCh0YWIgPT4gdGFiLnRhYkxpbmspO1xuICAgICAgdGhpcy50YWJMaW5rRWxlbWVudHMgPSB0aGlzLl90YWJMaW5rRGlyZWN0aXZlcy5tYXAodGFiID0+IHRhYi5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
327
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xheW91dC90YWJzL3RhYnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBRUwsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBR0wsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXRELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFtRS9ELE1BQU0sT0FBTyxPQUFPO0lBZ0JsQixZQUNTLGVBQWdDLEVBQ2hDLGFBQXNDLEVBQ3RDLFdBQXdCLEVBQ1AsTUFBYyxFQUMvQixhQUFzQztRQUp0QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ3RDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ1AsV0FBTSxH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QWUxQyx1QkFBdUI7c0JBRGxDLFNBQVM7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNCBCcm9hZGNvbS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoZSB0ZXJtIFwiQnJvYWRjb21cIiByZWZlcnMgdG8gQnJvYWRjb20gSW5jLiBhbmQvb3IgaXRzIHN1YnNpZGlhcmllcy5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJZkFjdGl2ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9jb25kaXRpb25hbC9pZi1hY3RpdmUuc2VydmljZSc7XG5pbXBvcnQgeyBDbHJLZXlGb2N1cyB9IGZyb20gJy4uLy4uL3V0aWxzL2ZvY3VzL2tleS1mb2N1cy9rZXktZm9jdXMnO1xuaW1wb3J0IHsgQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9pMThuL2NvbW1vbi1zdHJpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xyUG9wb3Zlckhvc3REaXJlY3RpdmUgfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyL3BvcG92ZXItaG9zdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2xyUG9wb3ZlclRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyL3Byb3ZpZGVycy9wb3BvdmVyLXRvZ2dsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYnNMYXlvdXQgfSBmcm9tICcuL2VudW1zL3RhYnMtbGF5b3V0LmVudW0nO1xuaW1wb3J0IHsgVGFic1NlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy90YWJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xyVGFiIH0gZnJvbSAnLi90YWInO1xuaW1wb3J0IHsgQ2xyVGFiQWN0aW9uIH0gZnJvbSAnLi90YWItYWN0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDbHJUYWJMaW5rIH0gZnJvbSAnLi90YWItbGluay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2xyVGFiT3ZlcmZsb3dDb250ZW50IH0gZnJvbSAnLi90YWItb3ZlcmZsb3ctY29udGVudCc7XG5pbXBvcnQgeyBUQUJTX0lELCBUQUJTX0lEX1BST1ZJREVSIH0gZnJvbSAnLi90YWJzLWlkLnByb3ZpZGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2xyLXRhYnMnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx1bFxuICAgICAgY2xhc3M9XCJuYXZcIlxuICAgICAgcm9sZT1cInRhYmxpc3RcIlxuICAgICAgW2NscktleUZvY3VzXT1cInRhYkxpbmtFbGVtZW50c1wiXG4gICAgICBjbHJEaXJlY3Rpb249XCJib3RoXCJcbiAgICAgIChjbHJGb2N1c0NoYW5nZSk9XCJ0b2dnbGVPdmVyZmxvd09uUG9zaXRpb24oJGV2ZW50KVwiXG4gICAgICAoZm9jdXNvdXQpPVwicmVzZXRLZXlGb2N1c0N1cnJlbnRUb0FjdGl2ZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8IS0tdGFiIGxpbmtzLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaW5rIG9mIHRhYkxpbmtEaXJlY3RpdmVzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaW5rLnRhYnNJZCA9PT0gdGFic0lkICYmICFsaW5rLmluT3ZlcmZsb3dcIj5cbiAgICAgICAgICA8bGkgcm9sZT1cInByZXNlbnRhdGlvblwiIGNsYXNzPVwibmF2LWl0ZW1cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGluay50ZW1wbGF0ZVJlZkNvbnRhaW5lci50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFic1NlcnZpY2Uub3ZlcmZsb3dUYWJzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYnMtb3ZlcmZsb3cgYm90dG9tLXJpZ2h0XCIgcm9sZT1cInByZXNlbnRhdGlvblwiIFtjbGFzcy5vcGVuXT1cInRvZ2dsZVNlcnZpY2Uub3BlblwiPlxuICAgICAgICAgIDxsaSByb2xlPVwiYXBwbGljYXRpb25cIiBjbGFzcz1cIm5hdi1pdGVtXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICN0YWJPdmVyZmxvd1RyaWdnZXJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgbmF2LWxpbmsgZHJvcGRvd24tdG9nZ2xlXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImFjdGl2ZVRhYkluT3ZlcmZsb3cgJiYgIXRvZ2dsZVNlcnZpY2Uub3BlbiA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiSW5PdmVyZmxvd1wiXG4gICAgICAgICAgICAgIFtjbGFzcy5vcGVuXT1cInRvZ2dsZVNlcnZpY2Uub3BlblwiXG4gICAgICAgICAgICAgIChtb3VzZWRvd24pPVwiX21vdXNlZG93biA9IHRydWVcIlxuICAgICAgICAgICAgICAoZm9jdXMpPVwib3Blbk92ZXJmbG93T25Gb2N1cygpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZU92ZXJmbG93T25DbGljaygpXCJcbiAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiY29tbW9uU3RyaW5ncy5rZXlzLm1vcmVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Y2RzLWljb25cbiAgICAgICAgICAgICAgICBzaGFwZT1cImVsbGlwc2lzLWhvcml6b250YWxcIlxuICAgICAgICAgICAgICAgIFthdHRyLnN0YXR1c109XCJ0b2dnbGVTZXJ2aWNlLm9wZW4gPyAnaW5mbycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJjb21tb25TdHJpbmdzLmtleXMubW9yZVwiXG4gICAgICAgICAgICAgID48L2Nkcy1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8IS0tdGFiIGxpbmtzIGluIG92ZXJmbG93IG1lbnUtLT5cbiAgICAgICAgICA8Y2xyLXRhYi1vdmVyZmxvdy1jb250ZW50XG4gICAgICAgICAgICAqbmdJZj1cInRvZ2dsZVNlcnZpY2Uub3BlblwiXG4gICAgICAgICAgICAoZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUpPVwiY2xvc2VPbkVzY2FwZUtleSgpXCJcbiAgICAgICAgICAgIChkb2N1bWVudDpjbGljayk9XCJjbG9zZU9uT3V0c2lkZUNsaWNrKCRldmVudCwgdGFiT3ZlcmZsb3dUcmlnZ2VyKVwiXG4gICAgICAgICAgICAoZm9jdXNvdXQpPVwiY2xvc2VPbkZvY3VzT3V0KCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxpbmsgb2YgdGFiTGlua0RpcmVjdGl2ZXNcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwibGluay50YWJzSWQgPT09IHRhYnNJZCAmJiBsaW5rLmluT3ZlcmZsb3dcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmsudGVtcGxhdGVSZWZDb250YWluZXIudGVtcGxhdGVcIlxuICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Nsci10YWItb3ZlcmZsb3ctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImNsci10YWJzLWFjdGlvbnNcIj48L25nLWNvbnRlbnQ+XG4gICAgPC91bD5cbiAgICA8bmctY29udGFpbmVyICN0YWJDb250ZW50Vmlld0NvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbSWZBY3RpdmVTZXJ2aWNlLCBUYWJzU2VydmljZSwgVEFCU19JRF9QUk9WSURFUl0sXG4gIGhvc3REaXJlY3RpdmVzOiBbQ2xyUG9wb3Zlckhvc3REaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJUYWJzIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgdGFiTGlua0VsZW1lbnRzOiBIVE1MRWxlbWVudFtdID0gW107XG5cbiAgLy8gaW4gb3JkZXIgdG8gY2hlY2sgZm9jdXMgaXMgdHJpZ2dlcmVkIGJ5IGNsaWNrXG4gIC8vIHdlIGFyZSB1c2luZyB0aGlzIF9tb3VzZWRvd24gZmxhZ1xuICBfbW91c2Vkb3duID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZChDbHJLZXlGb2N1cywgeyBzdGF0aWM6IHRydWUgfSkga2V5Rm9jdXM6IENscktleUZvY3VzO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQ2xyVGFiQWN0aW9uLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIGRlc2NlbmRhbnRzOiB0cnVlIH0pIHRhYnNBY3Rpb25zOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG4gIEBDb250ZW50Q2hpbGRyZW4oQ2xyVGFiKSBwcml2YXRlIHRhYnM6IFF1ZXJ5TGlzdDxDbHJUYWI+O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBfdGFiT3ZlcmZsb3dFbDogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RhYkxpbmtEaXJlY3RpdmVzOiBDbHJUYWJMaW5rW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaWZBY3RpdmVTZXJ2aWNlOiBJZkFjdGl2ZVNlcnZpY2UsXG4gICAgcHVibGljIHRvZ2dsZVNlcnZpY2U6IENsclBvcG92ZXJUb2dnbGVTZXJ2aWNlLFxuICAgIHB1YmxpYyB0YWJzU2VydmljZTogVGFic1NlcnZpY2UsXG4gICAgQEluamVjdChUQUJTX0lEKSBwdWJsaWMgdGFic0lkOiBudW1iZXIsXG4gICAgcHVibGljIGNvbW1vblN0cmluZ3M6IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlXG4gICkge31cblxuICBASW5wdXQoJ2NsckxheW91dCcpXG4gIGdldCBsYXlvdXQoKTogVGFic0xheW91dCB8IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGFic1NlcnZpY2UubGF5b3V0O1xuICB9XG4gIHNldCBsYXlvdXQobGF5b3V0OiBUYWJzTGF5b3V0IHwgc3RyaW5nKSB7XG4gICAgaWYgKFxuICAgICAgT2JqZWN0LmtleXMoVGFic0xheW91dClcbiAgICAgICAgLm1hcChrZXkgPT4ge1xuICAgICAgICAgIHJldHVybiAoVGFic0xheW91dCBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KVtrZXldO1xuICAgICAgICB9KVxuICAgICAgICAuaW5kZXhPZihsYXlvdXQpID49IDBcbiAgICApIHtcbiAgICAgIHRoaXMudGFic1NlcnZpY2UubGF5b3V0ID0gbGF5b3V0O1xuICAgIH1cbiAgfVxuXG4gIGdldCB0YWJMaW5rRGlyZWN0aXZlcygpOiBDbHJUYWJMaW5rW10ge1xuICAgIHJldHVybiB0aGlzLl90YWJMaW5rRGlyZWN0aXZlcztcbiAgfVxuXG4gIGdldCBhY3RpdmVUYWJJbk92ZXJmbG93KCkge1xuICAgIHJldHVybiB0aGlzLnRhYnNTZXJ2aWNlLm92ZXJmbG93VGFicy5pbmRleE9mKHRoaXMudGFic1NlcnZpY2UuYWN0aXZlVGFiKSA+IC0xO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVRhYlBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl90YWJMaW5rRGlyZWN0aXZlcy5maW5kSW5kZXgobGluayA9PiBsaW5rLmFjdGl2ZSk7XG4gIH1cblxuICBnZXQgaXNDdXJyZW50SW5PdmVyZmxvdygpIHtcbiAgICByZXR1cm4gdGhpcy5rZXlGb2N1cy5jdXJyZW50ID49IHRoaXMub3ZlcmZsb3dQb3NpdGlvbjtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGFicy12ZXJ0aWNhbCcpXG4gIGdldCBpc1ZlcnRpY2FsKCkge1xuICAgIHJldHVybiB0aGlzLmxheW91dCA9PT0gVGFic0xheW91dC5WRVJUSUNBTDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoQ2xyVGFiT3ZlcmZsb3dDb250ZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgc2V0IHRhYk92ZXJmbG93RWwodmFsdWU6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLl90YWJPdmVyZmxvd0VsID0gdmFsdWUgJiYgdmFsdWUubmF0aXZlRWxlbWVudDtcbiAgICBpZiAodGhpcy50b2dnbGVTZXJ2aWNlLm9wZW4gJiYgdmFsdWUpIHtcbiAgICAgIC8vIG9ubHkgd2hlbiB0YWIgb3ZlcmZsb3cgdmlldyBlbGVtZW50IGlzIHJlZ2lzdGVyZWQsXG4gICAgICAvLyB3ZSBuZWVkIHRvIG1vdmUgdGhlIGZvY3VzIHRvIHRoZSBmaXJzdCBpdGVtXG4gICAgICB0aGlzLmtleUZvY3VzLmZvY3VzQ3VycmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0IG92ZXJmbG93UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RhYkxpbmtEaXJlY3RpdmVzLmZpbHRlcihsaW5rID0+ICFsaW5rLmluT3ZlcmZsb3cpLmxlbmd0aDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RhYkNvbnRlbnRWaWV3Q29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcbiAgcHJpdmF0ZSBzZXQgdGFiQ29udGVudFZpZXdDb250YWluZXIodmFsdWU6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICB0aGlzLnRhYnNTZXJ2aWNlLnRhYkNvbnRlbnRWaWV3Q29udGFpbmVyID0gdmFsdWU7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5saXN0ZW5Gb3JUYWJMaW5rQ2hhbmdlcygpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmxpc3RlZEZvclRhYnNBY3Rpb25zQ2hhbmdlcygpKTtcblxuICAgIGlmICh0eXBlb2YgdGhpcy5pZkFjdGl2ZVNlcnZpY2UuY3VycmVudCA9PT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50YWJMaW5rRGlyZWN0aXZlc1swXSkge1xuICAgICAgdGhpcy50YWJMaW5rRGlyZWN0aXZlc1swXS5hY3RpdmF0ZSgpO1xuICAgIH1cblxuICAgIC8vIHNldCBpbml0aWFsIGN1cnJlbnQgcG9zaXRpb25cbiAgICB0aGlzLmtleUZvY3VzLmN1cnJlbnQgPSB0aGlzLmFjdGl2ZVRhYlBvc2l0aW9uO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3ViID0+IHtcbiAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlT3ZlcmZsb3dPblBvc2l0aW9uKHBvc2l0aW9uOiBudW1iZXIpIHtcbiAgICAvLyB3ZSBuZWVkIHRvIGNoZWNrIGN1cnJlbnQgcG9zaXRpb24gdG8gZGV0ZXJtaW5lXG4gICAgLy8gd2hldGhlciB3ZSBuZWVkIHRvIG9wZW4gdGhlIHRhYiBvdmVyZmxvdyBvciBub3RcbiAgICB0aGlzLnRvZ2dsZVNlcnZpY2Uub3BlbiA9IHBvc2l0aW9uID49IHRoaXMub3ZlcmZsb3dQb3NpdGlvbjtcbiAgfVxuXG4gIHJlc2V0S2V5Rm9jdXNDdXJyZW50VG9BY3RpdmUoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICBjb25zdCBrZXlGb2N1c0NvbnRhaW5zRm9jdXMgPSB0aGlzLmtleUZvY3VzLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG4gICAgaWYgKCFrZXlGb2N1c0NvbnRhaW5zRm9jdXMgJiYgdGhpcy5rZXlGb2N1cy5jdXJyZW50ICE9PSB0aGlzLmFjdGl2ZVRhYlBvc2l0aW9uKSB7XG4gICAgICB0aGlzLmtleUZvY3VzLmN1cnJlbnQgPSB0aGlzLmFjdGl2ZVRhYlBvc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZU92ZXJmbG93T25DbGljaygpIHtcbiAgICBpZiAodGhpcy5pc0N1cnJlbnRJbk92ZXJmbG93ICYmIHRoaXMudG9nZ2xlU2VydmljZS5vcGVuKSB7XG4gICAgICB0aGlzLmtleUZvY3VzLm1vdmVUbyh0aGlzLm92ZXJmbG93UG9zaXRpb24gLSAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5rZXlGb2N1cy5tb3ZlVG8odGhpcy5vdmVyZmxvd1Bvc2l0aW9uKTtcbiAgICB9XG5cbiAgICAvLyBvbmNlIGNsaWNrIGhhbmRsZXIgY29tcGxldGVzIHJ1bm5pbmcsXG4gICAgLy8gcmVzZXQgdGhlIF9tb3VzZWRvd24gZmxhZ1xuICAgIHRoaXMuX21vdXNlZG93biA9IGZhbHNlO1xuICB9XG5cbiAgb3Blbk92ZXJmbG93T25Gb2N1cygpIHtcbiAgICAvLyBUaGlzIG1ldGhvZCBzaG91bGQgYmUgY2FsbGVkIG9ubHkgb24ga2V5Ym9hcmQgZ2VuZXJhdGVkIGZvY3VzXG4gICAgLy8gd2hlbiB0aGUgYWN0aXZlIHRhYiBpcyBpbiB0aGUgb3ZlcmZsb3dcbiAgICBpZiAoIXRoaXMuX21vdXNlZG93biAmJiAhdGhpcy50b2dnbGVTZXJ2aWNlLm9wZW4pIHtcbiAgICAgIHRoaXMua2V5Rm9jdXMubW92ZVRvKHRoaXMuYWN0aXZlVGFiUG9zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlT25Gb2N1c091dChldmVudDogRm9jdXNFdmVudCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl90YWJPdmVyZmxvd0VsLmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgSFRNTEVsZW1lbnQpICYmXG4gICAgICB0aGlzLnRvZ2dsZVNlcnZpY2Uub3BlbiAmJlxuICAgICAgIXRoaXMuX21vdXNlZG93blxuICAgICkge1xuICAgICAgdGhpcy50b2dnbGVTZXJ2aWNlLm9wZW4gPSBmYWxzZTtcblxuICAgICAgLy8gaWYgdGhlIGZvY3VzIGlzIG91dCBvZiBvdmVyZmxvdyBhbmQgbGFuZHMgb24gdGhlIGFjdGl2ZSB0YWIgbGlua1xuICAgICAgLy8gd2hpY2ggaXMgY3VycmVudGx5IHZpc2libGUsIHNldCB0aGUga2V5IGZvY3VzIGN1cnJlbnQgdG8gYWN0aXZlVGFiUG9zaXRpb25cbiAgICAgIGlmICh0aGlzLnRhYkxpbmtFbGVtZW50c1t0aGlzLmFjdGl2ZVRhYlBvc2l0aW9uXSA9PT0gZXZlbnQucmVsYXRlZFRhcmdldCkge1xuICAgICAgICB0aGlzLmtleUZvY3VzLmN1cnJlbnQgPSB0aGlzLmFjdGl2ZVRhYlBvc2l0aW9uO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNsb3NlT25Fc2NhcGVLZXkoKSB7XG4gICAgLy8gTW92ZSBjdXJyZW50IHRvIHRoZSBsYXN0IHZpc2libGUgZm9jdXNhYmxlIGl0ZW1cbiAgICB0aGlzLmtleUZvY3VzLm1vdmVUbyh0aGlzLm92ZXJmbG93UG9zaXRpb24gLSAxKTtcbiAgfVxuXG4gIGNsb3NlT25PdXRzaWRlQ2xpY2soZXZlbnQ6IEV2ZW50LCB0YWJPdmVyZmxvd1RyaWdnZXI6IEhUTUxFbGVtZW50KSB7XG4gICAgLy8gRXhpdCBlYXJseSBpZiB0aGUgZXZlbnQgdGFyZ2V0IGlzIHRoZSB0cmlnZ2VyIGVsZW1lbnQgaXRzZWxmIG9yIGVsZW1lbnQgdGhhdCdzIGluc2lkZSB0aGUgdHJpZ2dlciBlbGVtZW50LlxuICAgIC8vIFRoaXMgaXMgYmVjYXVzZSB3ZSBoYXZlIGFub3RoZXIgaGFuZGxlciBvbiB0aGUgdGFiT3ZlcmZsb3dUcmlnZ2VyIGVsZW1lbnQgaXRzZWxmLlxuICAgIC8vIEFzIHRoaXMgaGFuZGxlciBtZXRob2QgaXMgb24gdGhlIGRvY3VtZW50IGxldmVsIHNvIHRoZSBldmVudCBidWJibGVzIHVwIHRvIGl0IGFuZCBjb25mbGljdHNcbiAgICAvLyB3aXRoIHRoZSB0YWJPdmVyZmxvd1RyaWdnZXIgaGFuZGxlciByZXN1bHRpbmcgaW4gb3BlbmluZyB0aGUgdGFiIG92ZXJmbG93IGFuZCBjbG9zaW5nIGl0IHJpZ2h0IGF3YXkgY29uc2VjdXRpdmVseS5cbiAgICBjb25zdCBpc1RhYnNBY3Rpb24gPSB0aGlzLnRhYnNBY3Rpb25zLnNvbWUoYWN0aW9uID0+XG4gICAgICAoYWN0aW9uLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudClcbiAgICApO1xuICAgIGlmIChcbiAgICAgIGV2ZW50LnRhcmdldCA9PT0gdGFiT3ZlcmZsb3dUcmlnZ2VyIHx8XG4gICAgICB0YWJPdmVyZmxvd1RyaWdnZXIuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSB8fFxuICAgICAgaXNUYWJzQWN0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gTW92ZSBjdXJyZW50IHRvIHRoZSBsYXN0IHZpc2libGUgZm9jdXNhYmxlIGl0ZW1cbiAgICBpZiAoIXRoaXMuX3RhYk92ZXJmbG93RWwuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJiB0aGlzLmlzQ3VycmVudEluT3ZlcmZsb3cpIHtcbiAgICAgIHRoaXMua2V5Rm9jdXMubW92ZVRvKHRoaXMub3ZlcmZsb3dQb3NpdGlvbiAtIDEpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0VGFiTGlua0VsZW1lbnRzKCkge1xuICAgIHRoaXMuX3RhYkxpbmtEaXJlY3RpdmVzID0gdGhpcy50YWJzLm1hcCh0YWIgPT4gdGFiLnRhYkxpbmspO1xuICAgIHRoaXMudGFiTGlua0VsZW1lbnRzID0gdGhpcy5fdGFiTGlua0RpcmVjdGl2ZXMubWFwKHRhYiA9PiB0YWIuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgaWYgKHRoaXMudGFic0FjdGlvbnMgJiYgdGhpcy50YWJzQWN0aW9ucykge1xuICAgICAgdGhpcy50YWJMaW5rRWxlbWVudHMucHVzaCguLi50aGlzLnRhYnNBY3Rpb25zLm1hcChhY3Rpb24gPT4gYWN0aW9uLm5hdGl2ZUVsZW1lbnQpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkZvclRhYkxpbmtDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnRhYnMuY2hhbmdlc1xuICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMudGFicy5tYXAodGFiID0+IHRhYi50YWJMaW5rKSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0VGFiTGlua0VsZW1lbnRzKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZWRGb3JUYWJzQWN0aW9uc0NoYW5nZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudGFic0FjdGlvbnMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZXRUYWJMaW5rRWxlbWVudHMoKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -14,10 +14,12 @@ import { ClrTemplateRefModule } from '../../utils/template-ref/template-ref.modu
|
|
|
14
14
|
import { ActiveOompaLoompa } from './chocolate/active-oompa-loompa';
|
|
15
15
|
import { TabsWillyWonka } from './chocolate/tabs-willy-wonka';
|
|
16
16
|
import { ClrTab } from './tab';
|
|
17
|
+
import { ClrTabAction } from './tab-action.directive';
|
|
17
18
|
import { ClrTabContent } from './tab-content';
|
|
18
19
|
import { ClrTabLink } from './tab-link.directive';
|
|
19
20
|
import { ClrTabOverflowContent } from './tab-overflow-content';
|
|
20
21
|
import { ClrTabs } from './tabs';
|
|
22
|
+
import { ClrTabsActions } from './tabs-actions';
|
|
21
23
|
import * as i0 from "@angular/core";
|
|
22
24
|
export const CLR_TABS_DIRECTIVES = [
|
|
23
25
|
ClrTabContent,
|
|
@@ -25,6 +27,8 @@ export const CLR_TABS_DIRECTIVES = [
|
|
|
25
27
|
ClrTabs,
|
|
26
28
|
ClrTabOverflowContent,
|
|
27
29
|
ClrTabLink,
|
|
30
|
+
ClrTabAction,
|
|
31
|
+
ClrTabsActions,
|
|
28
32
|
TabsWillyWonka,
|
|
29
33
|
ActiveOompaLoompa,
|
|
30
34
|
];
|
|
@@ -39,12 +43,16 @@ ClrTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
39
43
|
ClrTabs,
|
|
40
44
|
ClrTabOverflowContent,
|
|
41
45
|
ClrTabLink,
|
|
46
|
+
ClrTabAction,
|
|
47
|
+
ClrTabsActions,
|
|
42
48
|
TabsWillyWonka,
|
|
43
49
|
ActiveOompaLoompa], imports: [CommonModule, ClrConditionalModule, ClrIconModule, ClrTemplateRefModule, ClrKeyFocusModule], exports: [ClrTabContent,
|
|
44
50
|
ClrTab,
|
|
45
51
|
ClrTabs,
|
|
46
52
|
ClrTabOverflowContent,
|
|
47
53
|
ClrTabLink,
|
|
54
|
+
ClrTabAction,
|
|
55
|
+
ClrTabsActions,
|
|
48
56
|
TabsWillyWonka,
|
|
49
57
|
ActiveOompaLoompa, ClrConditionalModule] });
|
|
50
58
|
ClrTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrTabsModule, imports: [CommonModule, ClrConditionalModule, ClrIconModule, ClrTemplateRefModule, ClrKeyFocusModule, ClrConditionalModule] });
|
|
@@ -56,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
56
64
|
exports: [CLR_TABS_DIRECTIVES, ClrConditionalModule],
|
|
57
65
|
}]
|
|
58
66
|
}], ctorParameters: function () { return []; } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9sYXlvdXQvdGFicy90YWJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUVoRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBZ0I7SUFDOUMsYUFBYTtJQUNiLE1BQU07SUFDTixPQUFPO0lBQ1AscUJBQXFCO0lBQ3JCLFVBQVU7SUFDVixZQUFZO0lBQ1osY0FBYztJQUNkLGNBQWM7SUFDZCxpQkFBaUI7Q0FDbEIsQ0FBQztBQU9GLE1BQU0sT0FBTyxhQUFhO0lBQ3hCO1FBQ0UsWUFBWSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7OzBHQUhVLGFBQWE7MkdBQWIsYUFBYSxpQkFoQnhCLGFBQWE7UUFDYixNQUFNO1FBQ04sT0FBTztRQUNQLHFCQUFxQjtRQUNyQixVQUFVO1FBQ1YsWUFBWTtRQUNaLGNBQWM7UUFDZCxjQUFjO1FBQ2QsaUJBQWlCLGFBSVAsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsYUFacEcsYUFBYTtRQUNiLE1BQU07UUFDTixPQUFPO1FBQ1AscUJBQXFCO1FBQ3JCLFVBQVU7UUFDVixZQUFZO1FBQ1osY0FBYztRQUNkLGNBQWM7UUFDZCxpQkFBaUIsRUFNYyxvQkFBb0I7MkdBRXhDLGFBQWEsWUFKZCxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUVyRSxvQkFBb0I7MkZBRXhDLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQztvQkFDckcsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLG9CQUFvQixDQUFDO2lCQUNyRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNCBCcm9hZGNvbS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoZSB0ZXJtIFwiQnJvYWRjb21cIiByZWZlcnMgdG8gQnJvYWRjb20gSW5jLiBhbmQvb3IgaXRzIHN1YnNpZGlhcmllcy5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGFyaXR5SWNvbnMsIGVsbGlwc2lzSG9yaXpvbnRhbEljb24gfSBmcm9tICdAY2RzL2NvcmUvaWNvbic7XG5cbmltcG9ydCB7IENsckljb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7IENsckNvbmRpdGlvbmFsTW9kdWxlIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29uZGl0aW9uYWwvY29uZGl0aW9uYWwubW9kdWxlJztcbmltcG9ydCB7IENscktleUZvY3VzTW9kdWxlIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9jdXMva2V5LWZvY3VzL2tleS1mb2N1cy5tb2R1bGUnO1xuaW1wb3J0IHsgQ2xyVGVtcGxhdGVSZWZNb2R1bGUgfSBmcm9tICcuLi8uLi91dGlscy90ZW1wbGF0ZS1yZWYvdGVtcGxhdGUtcmVmLm1vZHVsZSc7XG5pbXBvcnQgeyBBY3RpdmVPb21wYUxvb21wYSB9IGZyb20gJy4vY2hvY29sYXRlL2FjdGl2ZS1vb21wYS1sb29tcGEnO1xuaW1wb3J0IHsgVGFic1dpbGx5V29ua2EgfSBmcm9tICcuL2Nob2NvbGF0ZS90YWJzLXdpbGx5LXdvbmthJztcbmltcG9ydCB7IENsclRhYiB9IGZyb20gJy4vdGFiJztcbmltcG9ydCB7IENsclRhYkFjdGlvbiB9IGZyb20gJy4vdGFiLWFjdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2xyVGFiQ29udGVudCB9IGZyb20gJy4vdGFiLWNvbnRlbnQnO1xuaW1wb3J0IHsgQ2xyVGFiTGluayB9IGZyb20gJy4vdGFiLWxpbmsuZGlyZWN0aXZlJztcbmltcG9ydCB7IENsclRhYk92ZXJmbG93Q29udGVudCB9IGZyb20gJy4vdGFiLW92ZXJmbG93LWNvbnRlbnQnO1xuaW1wb3J0IHsgQ2xyVGFicyB9IGZyb20gJy4vdGFicyc7XG5pbXBvcnQgeyBDbHJUYWJzQWN0aW9ucyB9IGZyb20gJy4vdGFicy1hY3Rpb25zJztcblxuZXhwb3J0IGNvbnN0IENMUl9UQUJTX0RJUkVDVElWRVM6IFR5cGU8YW55PltdID0gW1xuICBDbHJUYWJDb250ZW50LFxuICBDbHJUYWIsXG4gIENsclRhYnMsXG4gIENsclRhYk92ZXJmbG93Q29udGVudCxcbiAgQ2xyVGFiTGluayxcbiAgQ2xyVGFiQWN0aW9uLFxuICBDbHJUYWJzQWN0aW9ucyxcbiAgVGFic1dpbGx5V29ua2EsXG4gIEFjdGl2ZU9vbXBhTG9vbXBhLFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ2xyQ29uZGl0aW9uYWxNb2R1bGUsIENsckljb25Nb2R1bGUsIENsclRlbXBsYXRlUmVmTW9kdWxlLCBDbHJLZXlGb2N1c01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW0NMUl9UQUJTX0RJUkVDVElWRVNdLFxuICBleHBvcnRzOiBbQ0xSX1RBQlNfRElSRUNUSVZFUywgQ2xyQ29uZGl0aW9uYWxNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJUYWJzTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgQ2xhcml0eUljb25zLmFkZEljb25zKGVsbGlwc2lzSG9yaXpvbnRhbEljb24pO1xuICB9XG59XG4iXX0=
|