@dynatrace/rum-javascript-sdk 1.329.5 → 1.331.5
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/README.md +8 -8
- package/dist/testing/install.js +4 -1
- package/dist/testing/test.js +105 -15
- package/dist/types/index-typedoc.d.ts +1 -0
- package/dist/types/index-typedoc.js +2 -1
- package/dist/types/internal/beacon-query.d.ts +4 -1
- package/dist/types/internal/beacon-query.js +4 -1
- package/dist/types/rum-events/event-context/event-context.d.ts +3 -0
- package/dist/types/rum-events/event-context/event-context.js +1 -1
- package/dist/types/rum-events/event-updates.d.ts +3 -0
- package/dist/types/rum-events/event-updates.js +1 -1
- package/dist/types/rum-events/index.d.ts +1 -0
- package/dist/types/rum-events/index.js +2 -1
- package/dist/types/rum-events/json-event.d.ts +5 -8
- package/dist/types/rum-events/json-event.js +1 -1
- package/dist/types/rum-events/rum-biz-event.d.ts +8 -4
- package/dist/types/rum-events/rum-biz-event.js +2 -8
- package/dist/types/rum-events/rum-event-keys.d.ts +342 -0
- package/dist/types/rum-events/rum-event-keys.js +469 -0
- package/dist/types/rum-events/rum-event.d.ts +4 -3
- package/dist/types/rum-events/rum-event.js +1 -1
- package/dist/types/rum-events/rum-internal-selfmonitoring-event.d.ts +36 -9
- package/dist/types/rum-events/rum-internal-selfmonitoring-event.js +21 -5
- package/dist/types/rum-events/rum-long-task-event.d.ts +15 -16
- package/dist/types/rum-events/rum-long-task-event.js +2 -10
- package/dist/types/rum-events/rum-page-summary-event.d.ts +109 -166
- package/dist/types/rum-events/rum-page-summary-event.js +2 -88
- package/dist/types/rum-events/rum-selfmonitoring-event.d.ts +13 -11
- package/dist/types/rum-events/rum-selfmonitoring-event.js +1 -7
- package/dist/types/rum-events/rum-session-properties-event.d.ts +4 -3
- package/dist/types/rum-events/rum-session-properties-event.js +1 -1
- package/dist/types/rum-events/rum-standalone-csp-rule-violation-event.d.ts +6 -6
- package/dist/types/rum-events/rum-standalone-csp-rule-violation-event.js +1 -1
- package/dist/types/rum-events/rum-standalone-exception-event.d.ts +6 -6
- package/dist/types/rum-events/rum-standalone-exception-event.js +1 -1
- package/dist/types/rum-events/rum-standalone-navigation-event.d.ts +11 -7
- package/dist/types/rum-events/rum-standalone-navigation-event.js +2 -5
- package/dist/types/rum-events/rum-user-action-event.d.ts +96 -86
- package/dist/types/rum-events/rum-user-action-event.js +22 -37
- package/dist/types/rum-events/rum-user-interaction-event.d.ts +126 -152
- package/dist/types/rum-events/rum-user-interaction-event.js +4 -90
- package/dist/types/rum-events/rum-visibility-change-event.d.ts +12 -9
- package/dist/types/rum-events/rum-visibility-change-event.js +2 -6
- package/dist/types/rum-events/rum-web-request-event.d.ts +84 -105
- package/dist/types/rum-events/rum-web-request-event.js +9 -57
- package/dist/types/rum-events/schema-versions.d.ts +1 -1
- package/dist/types/rum-events/schema-versions.js +2 -2
- package/dist/types/rum-events/shared-namespaces-and-fields/csp-fields.d.ts +18 -30
- package/dist/types/rum-events/shared-namespaces-and-fields/csp-fields.js +3 -22
- package/dist/types/rum-events/shared-namespaces-and-fields/exception-fields.d.ts +12 -18
- package/dist/types/rum-events/shared-namespaces-and-fields/exception-fields.js +2 -19
- package/dist/types/rum-events/shared-namespaces-and-fields/general-rum-error-fields.d.ts +6 -6
- package/dist/types/rum-events/shared-namespaces-and-fields/general-rum-error-fields.js +1 -10
- package/dist/types/rum-events/shared-namespaces-and-fields/general-rum-event-fields.d.ts +50 -94
- package/dist/types/rum-events/shared-namespaces-and-fields/general-rum-event-fields.js +1 -75
- package/dist/types/rum-events/shared-namespaces-and-fields/http-namespace.d.ts +7 -8
- package/dist/types/rum-events/shared-namespaces-and-fields/http-namespace.js +2 -10
- package/dist/types/rum-events/shared-namespaces-and-fields/navigation-fields.d.ts +10 -10
- package/dist/types/rum-events/shared-namespaces-and-fields/navigation-fields.js +5 -15
- package/dist/types/rum-events/shared-namespaces-and-fields/page-source-fields.d.ts +8 -4
- package/dist/types/rum-events/shared-namespaces-and-fields/page-source-fields.js +2 -5
- package/dist/types/rum-events/shared-namespaces-and-fields/request-fields.d.ts +7 -7
- package/dist/types/rum-events/shared-namespaces-and-fields/request-fields.js +2 -9
- package/dist/types/rum-events/shared-namespaces-and-fields/view-source-fields.d.ts +7 -7
- package/dist/types/rum-events/shared-namespaces-and-fields/view-source-fields.js +2 -9
- package/dist/types/user-actions/user-action-end-event.d.ts +2 -2
- package/dist/types/user-actions/user-action-end-event.js +1 -1
- package/docs/testing.md +92 -0
- package/docs/types.md +1 -1
- package/package.json +4 -3
|
@@ -1,69 +1,17 @@
|
|
|
1
|
-
import type { CharacteristicsFieldsKeys, GeneralRumEventFields, GeneralRumEventFieldsKeys } from "./shared-namespaces-and-fields/general-rum-event-fields.js";
|
|
2
1
|
import type { eventContextSymbol, RUMUserInteractionDragEventContext, RUMUserInteractionDropEventContext, RUMUserInteractionSingleEventContext } from "./event-context/event-context.js";
|
|
2
|
+
import type { GeneralRumEventFields } from "./shared-namespaces-and-fields/general-rum-event-fields.js";
|
|
3
|
+
import type { RumEventKeys } from "./rum-event-keys.js";
|
|
3
4
|
import type { SCHEMA_VERSION } from "./schema-versions.js";
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
+
* User interaction element fields.
|
|
7
|
+
*
|
|
8
|
+
* @category User Interactions
|
|
9
|
+
*/
|
|
10
|
+
export type RUMUserInteractionEventKeys = RumEventKeys.INTERACTION$NAME | RumEventKeys.DOM_EVENT$IS_TRUSTED | RumEventKeys.DRAG_ELEMENT$ID | RumEventKeys.DRAG_ELEMENT$DETECTED_NAME | RumEventKeys.DRAG_ELEMENT$NAME_ORIGIN | RumEventKeys.DRAG_ELEMENT$TAG_NAME | RumEventKeys.DRAG_ELEMENT$XPATH | RumEventKeys.DRAG_ELEMENT$XPATH_SHADOW_DOM | RumEventKeys.DRAG_ELEMENT$CUSTOM_NAME | RumEventKeys.DRAG_ELEMENT$FEATURES | RumEventKeys.DRAG_ELEMENT$PROPERTIES | RumEventKeys.DRAG_ELEMENT$COMPONENTS | RumEventKeys.DRAG_ELEMENT$CSS_CLASS | RumEventKeys.DRAG_ELEMENT$SRC$FULL | RumEventKeys.DRAG_ELEMENT$ALT | RumEventKeys.DRAG_ELEMENT$HREF$FULL | RumEventKeys.DRAG_ELEMENT$ANCESTOR$ID | RumEventKeys.DRAG_ELEMENT$ANCESTOR$DETECTED_NAME | RumEventKeys.DRAG_ELEMENT$ANCESTOR$NAME_ORIGIN | RumEventKeys.DRAG_ELEMENT$ANCESTOR$CUSTOM_NAME | RumEventKeys.DRAG_ELEMENT$ANCESTOR$TAG_NAME | RumEventKeys.DRAG_ELEMENT$ANCESTOR$XPATH | RumEventKeys.DRAG_ELEMENT$ANCESTOR$XPATH_SHADOW_DOM | RumEventKeys.DRAG_ELEMENT$ANCESTOR$CSS_CLASS | RumEventKeys.FORM_ELEMENT$ID | RumEventKeys.FORM_ELEMENT$DETECTED_NAME | RumEventKeys.FORM_ELEMENT$NAME_ORIGIN | RumEventKeys.FORM_ELEMENT$XPATH | RumEventKeys.FORM_ELEMENT$XPATH_SHADOW_DOM | RumEventKeys.FORM_ELEMENT$CUSTOM_NAME | RumEventKeys.FORM_ELEMENT$FEATURES | RumEventKeys.FORM_ELEMENT$PROPERTIES | RumEventKeys.FORM_ELEMENT$COMPONENTS | RumEventKeys.FORM_ELEMENT$CSS_CLASS | RumEventKeys.LABEL_ELEMENT$ID | RumEventKeys.LABEL_ELEMENT$DETECTED_NAME | RumEventKeys.LABEL_ELEMENT$NAME_ORIGIN | RumEventKeys.LABEL_ELEMENT$XPATH | RumEventKeys.LABEL_ELEMENT$XPATH_SHADOW_DOM | RumEventKeys.LABEL_ELEMENT$CUSTOM_NAME | RumEventKeys.LABEL_ELEMENT$FEATURES | RumEventKeys.LABEL_ELEMENT$PROPERTIES | RumEventKeys.LABEL_ELEMENT$COMPONENTS | RumEventKeys.LABEL_ELEMENT$CSS_CLASS | RumEventKeys.UI_ELEMENT$ID | RumEventKeys.UI_ELEMENT$DETECTED_NAME | RumEventKeys.UI_ELEMENT$NAME_ORIGIN | RumEventKeys.UI_ELEMENT$TAG_NAME | RumEventKeys.UI_ELEMENT$CUSTOM_NAME | RumEventKeys.UI_ELEMENT$XPATH | RumEventKeys.UI_ELEMENT$XPATH_SHADOW_DOM | RumEventKeys.UI_ELEMENT$FEATURES | RumEventKeys.UI_ELEMENT$PROPERTIES | RumEventKeys.UI_ELEMENT$COMPONENTS | RumEventKeys.UI_ELEMENT$CSS_CLASS | RumEventKeys.UI_ELEMENT$SRC$FULL | RumEventKeys.UI_ELEMENT$ALT | RumEventKeys.UI_ELEMENT$HREF$FULL | RumEventKeys.UI_ELEMENT$ANCESTOR$ID | RumEventKeys.UI_ELEMENT$ANCESTOR$DETECTED_NAME | RumEventKeys.UI_ELEMENT$ANCESTOR$NAME_ORIGIN | RumEventKeys.UI_ELEMENT$ANCESTOR$CUSTOM_NAME | RumEventKeys.UI_ELEMENT$ANCESTOR$TAG_NAME | RumEventKeys.UI_ELEMENT$ANCESTOR$XPATH | RumEventKeys.UI_ELEMENT$ANCESTOR$XPATH_SHADOW_DOM | RumEventKeys.UI_ELEMENT$ANCESTOR$CSS_CLASS | RumEventKeys.UI_ELEMENT$VALUE$CONTENT | RumEventKeys.UI_ELEMENT$VALUE$LENGTH | RumEventKeys.UI_ELEMENT$VALUE$SELECTION_COUNT | RumEventKeys.UI_ELEMENT$VALUE$TYPE | RumEventKeys.UI_ELEMENT$VALUE$VALIDITY | RumEventKeys.SCROLL_TARGET$XPATH | RumEventKeys.ZOOM$LEVEL | RumEventKeys.DURATION;
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
* @ignore
|
|
6
14
|
*/
|
|
7
|
-
export declare const enum RUMUserInteractionEventKeys {
|
|
8
|
-
INTERACTION$NAME = "interaction.name",
|
|
9
|
-
DOM_EVENT$IS_TRUSTED = "dom_event.is_trusted",
|
|
10
|
-
DRAG_ELEMENT$NAME = "drag_element.name",
|
|
11
|
-
DRAG_ELEMENT$NAME_ORIGIN = "drag_element.name_origin",
|
|
12
|
-
DRAG_ELEMENT$TAG_NAME = "drag_element.tag_name",
|
|
13
|
-
DRAG_ELEMENT$XPATH = "drag_element.xpath",
|
|
14
|
-
DRAG_ELEMENT$CUSTOM_NAME = "drag_element.custom_name",
|
|
15
|
-
DRAG_ELEMENT$FEATURES = "drag_element.features",
|
|
16
|
-
DRAG_ELEMENT$PROPERTIES = "drag_element.properties",
|
|
17
|
-
DRAG_ELEMENT$CSS_CLASS = "drag_element.css_class",
|
|
18
|
-
DRAG_ELEMENT$SRC$FULL = "drag_element.src.full",
|
|
19
|
-
DRAG_ELEMENT$ALT = "drag_element.alt",
|
|
20
|
-
DRAG_ELEMENT$HREF$FULL = "drag_element.href.full",
|
|
21
|
-
DRAG_ELEMENT$ANCESTOR$NAME = "drag_element.ancestor.name",
|
|
22
|
-
DRAG_ELEMENT$ANCESTOR$NAME_ORIGIN = "drag_element.ancestor.name_origin",
|
|
23
|
-
DRAG_ELEMENT$ANCESTOR$CUSTOM_NAME = "drag_element.ancestor.custom_name",
|
|
24
|
-
DRAG_ELEMENT$ANCESTOR$TAG_NAME = "drag_element.ancestor.tag_name",
|
|
25
|
-
DRAG_ELEMENT$ANCESTOR$XPATH = "drag_element.ancestor.xpath",
|
|
26
|
-
DRAG_ELEMENT$ANCESTOR$CSS_CLASS = "drag_element.ancestor.css_class",
|
|
27
|
-
FORM_ELEMENT$NAME = "form_element.name",
|
|
28
|
-
FORM_ELEMENT$NAME_ORIGIN = "form_element.name_origin",
|
|
29
|
-
FORM_ELEMENT$XPATH = "form_element.xpath",
|
|
30
|
-
FORM_ELEMENT$CUSTOM_NAME = "form_element.custom_name",
|
|
31
|
-
FORM_ELEMENT$FEATURES = "form_element.features",
|
|
32
|
-
FORM_ELEMENT$PROPERTIES = "form_element.properties",
|
|
33
|
-
FORM_ELEMENT$CSS_CLASS = "form_element.css_class",
|
|
34
|
-
LABEL_ELEMENT$NAME = "label_element.name",
|
|
35
|
-
LABEL_ELEMENT$NAME_ORIGIN = "label_element.name_origin",
|
|
36
|
-
LABEL_ELEMENT$XPATH = "label_element.xpath",
|
|
37
|
-
LABEL_ELEMENT$CUSTOM_NAME = "label_element.custom_name",
|
|
38
|
-
LABEL_ELEMENT$FEATURES = "label_element.features",
|
|
39
|
-
LABEL_ELEMENT$PROPERTIES = "label_element.properties",
|
|
40
|
-
LABEL_ELEMENT$CSS_CLASS = "label_element.css_class",
|
|
41
|
-
UI_ELEMENT$NAME = "ui_element.name",
|
|
42
|
-
UI_ELEMENT$NAME_ORIGIN = "ui_element.name_origin",
|
|
43
|
-
UI_ELEMENT$TAG_NAME = "ui_element.tag_name",
|
|
44
|
-
UI_ELEMENT$CUSTOM_NAME = "ui_element.custom_name",
|
|
45
|
-
UI_ELEMENT$XPATH = "ui_element.xpath",
|
|
46
|
-
UI_ELEMENT$FEATURES = "ui_element.features",
|
|
47
|
-
UI_ELEMENT$PROPERTIES = "ui_element.properties",
|
|
48
|
-
UI_ELEMENT$CSS_CLASS = "ui_element.css_class",
|
|
49
|
-
UI_ELEMENT$SRC$FULL = "ui_element.src.full",
|
|
50
|
-
UI_ELEMENT$ALT = "ui_element.alt",
|
|
51
|
-
UI_ELEMENT$HREF$FULL = "ui_element.href.full",
|
|
52
|
-
UI_ELEMENT$ANCESTOR$NAME = "ui_element.ancestor.name",
|
|
53
|
-
UI_ELEMENT$ANCESTOR$NAME_ORIGIN = "ui_element.ancestor.name_origin",
|
|
54
|
-
UI_ELEMENT$ANCESTOR$CUSTOM_NAME = "ui_element.ancestor.custom_name",
|
|
55
|
-
UI_ELEMENT$ANCESTOR$TAG_NAME = "ui_element.ancestor.tag_name",
|
|
56
|
-
UI_ELEMENT$ANCESTOR$XPATH = "ui_element.ancestor.xpath",
|
|
57
|
-
UI_ELEMENT$ANCESTOR$CSS_CLASS = "ui_element.ancestor.css_class",
|
|
58
|
-
UI_ELEMENT$VALUE$CONTENT = "ui_element.value.content",
|
|
59
|
-
UI_ELEMENT$VALUE$LENGTH = "ui_element.value.length",
|
|
60
|
-
UI_ELEMENT$VALUE$SELECTION_COUNT = "ui_element.value.selection_count",
|
|
61
|
-
UI_ELEMENT$VALUE$TYPE = "ui_element.value.type",
|
|
62
|
-
UI_ELEMENT$VALUE$VALIDITY = "ui_element.value.validity",
|
|
63
|
-
SCROLL_TARGET$XPATH = "scroll_target.xpath",
|
|
64
|
-
ZOOM$LEVEL = "zoom.level",
|
|
65
|
-
DURATION = "duration"
|
|
66
|
-
}
|
|
67
15
|
export declare const enum ElementTypes {
|
|
68
16
|
UI_ELEMENT = "ui_element",
|
|
69
17
|
LABEL_ELEMENT = "label_element",
|
|
@@ -74,69 +22,85 @@ export declare const enum ElementTypes {
|
|
|
74
22
|
* @category User Interactions
|
|
75
23
|
*/
|
|
76
24
|
export interface UIElementEventFields {
|
|
77
|
-
[
|
|
78
|
-
[
|
|
79
|
-
[
|
|
80
|
-
[
|
|
81
|
-
[
|
|
82
|
-
[
|
|
83
|
-
[
|
|
84
|
-
[
|
|
85
|
-
[
|
|
86
|
-
[
|
|
87
|
-
[
|
|
88
|
-
[
|
|
89
|
-
[
|
|
90
|
-
[
|
|
91
|
-
[
|
|
92
|
-
[
|
|
93
|
-
[
|
|
25
|
+
[RumEventKeys.UI_ELEMENT$ID]?: string;
|
|
26
|
+
[RumEventKeys.UI_ELEMENT$DETECTED_NAME]: string | null;
|
|
27
|
+
[RumEventKeys.UI_ELEMENT$NAME_ORIGIN]: string;
|
|
28
|
+
[RumEventKeys.UI_ELEMENT$TAG_NAME]: string;
|
|
29
|
+
[RumEventKeys.UI_ELEMENT$CUSTOM_NAME]?: string;
|
|
30
|
+
[RumEventKeys.UI_ELEMENT$XPATH]?: string[];
|
|
31
|
+
[RumEventKeys.UI_ELEMENT$XPATH_SHADOW_DOM]?: string[];
|
|
32
|
+
[RumEventKeys.UI_ELEMENT$FEATURES]?: string[];
|
|
33
|
+
[RumEventKeys.UI_ELEMENT$PROPERTIES]?: string[];
|
|
34
|
+
[RumEventKeys.UI_ELEMENT$COMPONENTS]?: string[];
|
|
35
|
+
[RumEventKeys.UI_ELEMENT$CSS_CLASS]?: string[];
|
|
36
|
+
[RumEventKeys.UI_ELEMENT$SRC$FULL]?: string;
|
|
37
|
+
[RumEventKeys.UI_ELEMENT$ALT]?: string;
|
|
38
|
+
[RumEventKeys.UI_ELEMENT$HREF$FULL]?: string;
|
|
39
|
+
[RumEventKeys.UI_ELEMENT$ANCESTOR$ID]?: string;
|
|
40
|
+
[RumEventKeys.UI_ELEMENT$ANCESTOR$DETECTED_NAME]?: string;
|
|
41
|
+
[RumEventKeys.UI_ELEMENT$ANCESTOR$NAME_ORIGIN]?: string;
|
|
42
|
+
[RumEventKeys.UI_ELEMENT$ANCESTOR$CUSTOM_NAME]?: string;
|
|
43
|
+
[RumEventKeys.UI_ELEMENT$ANCESTOR$TAG_NAME]?: string;
|
|
44
|
+
[RumEventKeys.UI_ELEMENT$ANCESTOR$XPATH]?: string[];
|
|
45
|
+
[RumEventKeys.UI_ELEMENT$ANCESTOR$XPATH_SHADOW_DOM]?: string[];
|
|
46
|
+
[RumEventKeys.UI_ELEMENT$ANCESTOR$CSS_CLASS]?: string[];
|
|
94
47
|
}
|
|
95
48
|
/**
|
|
96
49
|
* @category User Interactions
|
|
97
50
|
*/
|
|
98
51
|
export interface FormElementEventFields {
|
|
99
|
-
[
|
|
100
|
-
[
|
|
101
|
-
[
|
|
102
|
-
[
|
|
103
|
-
[
|
|
104
|
-
[
|
|
105
|
-
[
|
|
52
|
+
[RumEventKeys.FORM_ELEMENT$ID]?: string;
|
|
53
|
+
[RumEventKeys.FORM_ELEMENT$DETECTED_NAME]: string;
|
|
54
|
+
[RumEventKeys.FORM_ELEMENT$NAME_ORIGIN]: string;
|
|
55
|
+
[RumEventKeys.FORM_ELEMENT$CUSTOM_NAME]?: string;
|
|
56
|
+
[RumEventKeys.FORM_ELEMENT$XPATH]?: string[];
|
|
57
|
+
[RumEventKeys.FORM_ELEMENT$XPATH_SHADOW_DOM]?: string[];
|
|
58
|
+
[RumEventKeys.FORM_ELEMENT$FEATURES]?: string[];
|
|
59
|
+
[RumEventKeys.FORM_ELEMENT$PROPERTIES]?: string[];
|
|
60
|
+
[RumEventKeys.FORM_ELEMENT$COMPONENTS]?: string[];
|
|
61
|
+
[RumEventKeys.FORM_ELEMENT$CSS_CLASS]?: string[];
|
|
106
62
|
}
|
|
107
63
|
/**
|
|
108
64
|
* @category User Interactions
|
|
109
65
|
*/
|
|
110
66
|
export interface LabelElementEventFields {
|
|
111
|
-
[
|
|
112
|
-
[
|
|
113
|
-
[
|
|
114
|
-
[
|
|
115
|
-
[
|
|
116
|
-
[
|
|
117
|
-
[
|
|
67
|
+
[RumEventKeys.LABEL_ELEMENT$ID]?: string;
|
|
68
|
+
[RumEventKeys.LABEL_ELEMENT$DETECTED_NAME]: string;
|
|
69
|
+
[RumEventKeys.LABEL_ELEMENT$NAME_ORIGIN]: string;
|
|
70
|
+
[RumEventKeys.LABEL_ELEMENT$CUSTOM_NAME]?: string;
|
|
71
|
+
[RumEventKeys.LABEL_ELEMENT$XPATH]?: string[];
|
|
72
|
+
[RumEventKeys.LABEL_ELEMENT$XPATH_SHADOW_DOM]?: string[];
|
|
73
|
+
[RumEventKeys.LABEL_ELEMENT$FEATURES]?: string[];
|
|
74
|
+
[RumEventKeys.LABEL_ELEMENT$PROPERTIES]?: string[];
|
|
75
|
+
[RumEventKeys.LABEL_ELEMENT$COMPONENTS]?: string[];
|
|
76
|
+
[RumEventKeys.LABEL_ELEMENT$CSS_CLASS]?: string[];
|
|
118
77
|
}
|
|
119
78
|
/**
|
|
120
79
|
* @category User Interactions
|
|
121
80
|
*/
|
|
122
81
|
export interface DragElementEventFields {
|
|
123
|
-
[
|
|
124
|
-
[
|
|
125
|
-
[
|
|
126
|
-
[
|
|
127
|
-
[
|
|
128
|
-
[
|
|
129
|
-
[
|
|
130
|
-
[
|
|
131
|
-
[
|
|
132
|
-
[
|
|
133
|
-
[
|
|
134
|
-
[
|
|
135
|
-
[
|
|
136
|
-
[
|
|
137
|
-
[
|
|
138
|
-
[
|
|
139
|
-
[
|
|
82
|
+
[RumEventKeys.DRAG_ELEMENT$ID]?: string;
|
|
83
|
+
[RumEventKeys.DRAG_ELEMENT$DETECTED_NAME]: string;
|
|
84
|
+
[RumEventKeys.DRAG_ELEMENT$NAME_ORIGIN]: string;
|
|
85
|
+
[RumEventKeys.DRAG_ELEMENT$TAG_NAME]: string;
|
|
86
|
+
[RumEventKeys.DRAG_ELEMENT$CUSTOM_NAME]?: string;
|
|
87
|
+
[RumEventKeys.DRAG_ELEMENT$XPATH]?: string[];
|
|
88
|
+
[RumEventKeys.DRAG_ELEMENT$XPATH_SHADOW_DOM]?: string[];
|
|
89
|
+
[RumEventKeys.DRAG_ELEMENT$FEATURES]?: string[];
|
|
90
|
+
[RumEventKeys.DRAG_ELEMENT$PROPERTIES]?: string[];
|
|
91
|
+
[RumEventKeys.DRAG_ELEMENT$COMPONENTS]?: string[];
|
|
92
|
+
[RumEventKeys.DRAG_ELEMENT$CSS_CLASS]?: string[];
|
|
93
|
+
[RumEventKeys.DRAG_ELEMENT$SRC$FULL]?: string;
|
|
94
|
+
[RumEventKeys.DRAG_ELEMENT$ALT]?: string;
|
|
95
|
+
[RumEventKeys.DRAG_ELEMENT$HREF$FULL]?: string;
|
|
96
|
+
[RumEventKeys.DRAG_ELEMENT$ANCESTOR$ID]?: string;
|
|
97
|
+
[RumEventKeys.DRAG_ELEMENT$ANCESTOR$DETECTED_NAME]?: string;
|
|
98
|
+
[RumEventKeys.DRAG_ELEMENT$ANCESTOR$NAME_ORIGIN]?: string;
|
|
99
|
+
[RumEventKeys.DRAG_ELEMENT$ANCESTOR$CUSTOM_NAME]?: string;
|
|
100
|
+
[RumEventKeys.DRAG_ELEMENT$ANCESTOR$TAG_NAME]?: string;
|
|
101
|
+
[RumEventKeys.DRAG_ELEMENT$ANCESTOR$XPATH]?: string[];
|
|
102
|
+
[RumEventKeys.DRAG_ELEMENT$ANCESTOR$XPATH_SHADOW_DOM]?: string[];
|
|
103
|
+
[RumEventKeys.DRAG_ELEMENT$ANCESTOR$CSS_CLASS]?: string[];
|
|
140
104
|
}
|
|
141
105
|
/**
|
|
142
106
|
* @category User Interactions
|
|
@@ -154,9 +118,12 @@ export declare const enum UserInteraction {
|
|
|
154
118
|
DROP = "drop",
|
|
155
119
|
ZOOM = "zoom"
|
|
156
120
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
121
|
+
/**
|
|
122
|
+
* Drag action fields.
|
|
123
|
+
*
|
|
124
|
+
* @internal
|
|
125
|
+
*/
|
|
126
|
+
export type DragActionKeys = RumEventKeys.DRAG_RESOLVE;
|
|
160
127
|
/**
|
|
161
128
|
* @category User Interactions
|
|
162
129
|
*/
|
|
@@ -170,17 +137,24 @@ export declare const enum DragResolveResolution {
|
|
|
170
137
|
*/
|
|
171
138
|
INVALID_DROP = "invalid_drop"
|
|
172
139
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
140
|
+
/**
|
|
141
|
+
* Click action fields.
|
|
142
|
+
*
|
|
143
|
+
* @internal
|
|
144
|
+
*/
|
|
145
|
+
export type ClickActionKeys = RumEventKeys.MOUSE_BUTTON;
|
|
146
|
+
/**
|
|
147
|
+
* Keypress action fields.
|
|
148
|
+
*
|
|
149
|
+
* @internal
|
|
150
|
+
*/
|
|
151
|
+
export type KeyPressActionKeys = RumEventKeys.KEYS | RumEventKeys.CODE | RumEventKeys.IS_COMPOSING;
|
|
152
|
+
/**
|
|
153
|
+
* Position information fields.
|
|
154
|
+
*
|
|
155
|
+
* @internal
|
|
156
|
+
*/
|
|
157
|
+
export type PositionInformationKeys = RumEventKeys.POSITIONS;
|
|
184
158
|
/**
|
|
185
159
|
* @ignore
|
|
186
160
|
* @inline
|
|
@@ -194,106 +168,106 @@ export interface PositionInformation {
|
|
|
194
168
|
* @category User Interactions
|
|
195
169
|
*/
|
|
196
170
|
export interface RUMUserInteractionBase extends GeneralRumEventFields {
|
|
197
|
-
[
|
|
198
|
-
[
|
|
199
|
-
[
|
|
171
|
+
[RumEventKeys.DT$RUM$SCHEMA_VERSION]: typeof SCHEMA_VERSION;
|
|
172
|
+
[RumEventKeys.CHARACTERISTICS$HAS_USER_INTERACTION]: true;
|
|
173
|
+
[RumEventKeys.DOM_EVENT$IS_TRUSTED]: boolean;
|
|
200
174
|
[eventContextSymbol]: RUMUserInteractionSingleEventContext;
|
|
201
175
|
}
|
|
202
176
|
/**
|
|
203
177
|
* @category User Interactions
|
|
204
178
|
*/
|
|
205
179
|
export interface PointerPositionInformation {
|
|
206
|
-
[
|
|
180
|
+
[RumEventKeys.POSITIONS]: PositionInformation[];
|
|
207
181
|
}
|
|
208
182
|
/**
|
|
209
183
|
* @category User Interactions
|
|
210
184
|
*/
|
|
211
185
|
export interface RUMClickActionEvent extends RUMUserInteractionBase, PointerPositionInformation, UIElementEventFields {
|
|
212
|
-
[
|
|
213
|
-
[
|
|
186
|
+
[RumEventKeys.INTERACTION$NAME]: UserInteraction.CLICK;
|
|
187
|
+
[RumEventKeys.MOUSE_BUTTON]: number;
|
|
214
188
|
}
|
|
215
189
|
/**
|
|
216
190
|
* @category User Interactions
|
|
217
191
|
*/
|
|
218
192
|
export interface RUMMouseOverActionEvent extends RUMUserInteractionBase, PointerPositionInformation, UIElementEventFields {
|
|
219
|
-
[
|
|
220
|
-
[
|
|
193
|
+
[RumEventKeys.INTERACTION$NAME]: UserInteraction.MOUSE_OVER;
|
|
194
|
+
[RumEventKeys.DURATION]: number;
|
|
221
195
|
}
|
|
222
196
|
/**
|
|
223
197
|
* @category User Interactions
|
|
224
198
|
*/
|
|
225
199
|
export interface RUMBlurActionEvent extends RUMUserInteractionBase, UIElementEventFields {
|
|
226
|
-
[
|
|
200
|
+
[RumEventKeys.INTERACTION$NAME]: UserInteraction.BLUR;
|
|
227
201
|
}
|
|
228
202
|
/**
|
|
229
203
|
* @category User Interactions
|
|
230
204
|
*/
|
|
231
205
|
export interface RUMFocusActionEvent extends RUMUserInteractionBase, UIElementEventFields {
|
|
232
|
-
[
|
|
206
|
+
[RumEventKeys.INTERACTION$NAME]: UserInteraction.FOCUS;
|
|
233
207
|
}
|
|
234
208
|
/**
|
|
235
209
|
* @category User Interactions
|
|
236
210
|
*/
|
|
237
211
|
export interface RUMKeyPressActionEvent extends RUMUserInteractionBase, UIElementEventFields {
|
|
238
|
-
[
|
|
239
|
-
[
|
|
212
|
+
[RumEventKeys.INTERACTION$NAME]: UserInteraction.KEY_PRESS;
|
|
213
|
+
[RumEventKeys.KEYS]: [first: string, ...rest: string[]];
|
|
240
214
|
/**
|
|
241
215
|
* @internal
|
|
242
216
|
*
|
|
243
217
|
* Not part of the spec, just for debugging purposes
|
|
244
218
|
*/
|
|
245
|
-
[
|
|
219
|
+
[RumEventKeys.CODE]: string;
|
|
246
220
|
/**
|
|
247
221
|
* @internal
|
|
248
222
|
*
|
|
249
223
|
* Not part of the spec, just for debugging purposes
|
|
250
224
|
*/
|
|
251
|
-
[
|
|
225
|
+
[RumEventKeys.IS_COMPOSING]: boolean;
|
|
252
226
|
}
|
|
253
227
|
/**
|
|
254
228
|
* @category User Interactions
|
|
255
229
|
*/
|
|
256
230
|
export interface RUMScrollActionEvent extends RUMUserInteractionBase, UIElementEventFields, PointerPositionInformation {
|
|
257
|
-
[
|
|
258
|
-
[
|
|
231
|
+
[RumEventKeys.INTERACTION$NAME]: UserInteraction.SCROLL;
|
|
232
|
+
[RumEventKeys.SCROLL_TARGET$XPATH]?: string[];
|
|
259
233
|
}
|
|
260
234
|
/**
|
|
261
235
|
* @category User Interactions
|
|
262
236
|
*/
|
|
263
237
|
export interface RUMChangeActionEvent extends RUMUserInteractionBase, UIElementEventFields, Partial<LabelElementEventFields>, Partial<FormElementEventFields> {
|
|
264
|
-
[
|
|
265
|
-
[
|
|
266
|
-
[
|
|
267
|
-
[
|
|
268
|
-
[
|
|
269
|
-
[
|
|
238
|
+
[RumEventKeys.INTERACTION$NAME]: UserInteraction.CHANGE;
|
|
239
|
+
[RumEventKeys.UI_ELEMENT$VALUE$CONTENT]?: string;
|
|
240
|
+
[RumEventKeys.UI_ELEMENT$VALUE$TYPE]: string;
|
|
241
|
+
[RumEventKeys.UI_ELEMENT$VALUE$LENGTH]?: number;
|
|
242
|
+
[RumEventKeys.UI_ELEMENT$VALUE$SELECTION_COUNT]?: number;
|
|
243
|
+
[RumEventKeys.UI_ELEMENT$VALUE$VALIDITY]: string[];
|
|
270
244
|
}
|
|
271
245
|
/**
|
|
272
246
|
* @category User Interactions
|
|
273
247
|
*/
|
|
274
248
|
export interface RUMDragActionEvent extends Omit<RUMUserInteractionBase, typeof eventContextSymbol>, UIElementEventFields, PointerPositionInformation {
|
|
275
|
-
[
|
|
276
|
-
[
|
|
249
|
+
[RumEventKeys.INTERACTION$NAME]: UserInteraction.DRAG;
|
|
250
|
+
[RumEventKeys.DRAG_RESOLVE]: DragResolveResolution;
|
|
277
251
|
[eventContextSymbol]: RUMUserInteractionDragEventContext;
|
|
278
252
|
}
|
|
279
253
|
/**
|
|
280
254
|
* @category User Interactions
|
|
281
255
|
*/
|
|
282
256
|
export interface RUMResizeActionEvent extends RUMUserInteractionBase {
|
|
283
|
-
[
|
|
257
|
+
[RumEventKeys.INTERACTION$NAME]: UserInteraction.RESIZE;
|
|
284
258
|
}
|
|
285
259
|
/**
|
|
286
260
|
* @category User Interactions
|
|
287
261
|
*/
|
|
288
262
|
export interface RUMZoomActionEvent extends RUMUserInteractionBase {
|
|
289
|
-
[
|
|
290
|
-
[
|
|
263
|
+
[RumEventKeys.INTERACTION$NAME]: UserInteraction.ZOOM;
|
|
264
|
+
[RumEventKeys.ZOOM$LEVEL]: number;
|
|
291
265
|
}
|
|
292
266
|
/**
|
|
293
267
|
* @category User Interactions
|
|
294
268
|
*/
|
|
295
269
|
export interface RUMDropActionEvent extends Omit<RUMUserInteractionBase, typeof eventContextSymbol>, UIElementEventFields, Partial<DragElementEventFields>, PointerPositionInformation {
|
|
296
|
-
[
|
|
270
|
+
[RumEventKeys.INTERACTION$NAME]: UserInteraction.DROP;
|
|
297
271
|
[eventContextSymbol]: RUMUserInteractionDropEventContext;
|
|
298
272
|
}
|
|
299
273
|
/**
|
|
@@ -1,77 +1,9 @@
|
|
|
1
|
-
/* eslint-disable typescript-sort-keys/string-enum -- keep things grouped */
|
|
1
|
+
/* eslint-disable typescript-sort-keys/string-enum,@dynatrace/dem-eslint-rules/union-type -- keep things grouped */
|
|
2
2
|
// https://dt-rnd.atlassian.net/wiki/spaces/DEX/pages/382304347/RUM+UserInteraction+Event
|
|
3
3
|
/**
|
|
4
|
-
* @
|
|
4
|
+
* @internal
|
|
5
|
+
* @ignore
|
|
5
6
|
*/
|
|
6
|
-
export var RUMUserInteractionEventKeys;
|
|
7
|
-
(function (RUMUserInteractionEventKeys) {
|
|
8
|
-
RUMUserInteractionEventKeys["INTERACTION$NAME"] = "interaction.name";
|
|
9
|
-
RUMUserInteractionEventKeys["DOM_EVENT$IS_TRUSTED"] = "dom_event.is_trusted";
|
|
10
|
-
// Drag Element
|
|
11
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$NAME"] = "drag_element.name";
|
|
12
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$NAME_ORIGIN"] = "drag_element.name_origin";
|
|
13
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$TAG_NAME"] = "drag_element.tag_name";
|
|
14
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$XPATH"] = "drag_element.xpath";
|
|
15
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$CUSTOM_NAME"] = "drag_element.custom_name";
|
|
16
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$FEATURES"] = "drag_element.features";
|
|
17
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$PROPERTIES"] = "drag_element.properties";
|
|
18
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$CSS_CLASS"] = "drag_element.css_class";
|
|
19
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$SRC$FULL"] = "drag_element.src.full";
|
|
20
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$ALT"] = "drag_element.alt";
|
|
21
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$HREF$FULL"] = "drag_element.href.full";
|
|
22
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$ANCESTOR$NAME"] = "drag_element.ancestor.name";
|
|
23
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$ANCESTOR$NAME_ORIGIN"] = "drag_element.ancestor.name_origin";
|
|
24
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$ANCESTOR$CUSTOM_NAME"] = "drag_element.ancestor.custom_name";
|
|
25
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$ANCESTOR$TAG_NAME"] = "drag_element.ancestor.tag_name";
|
|
26
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$ANCESTOR$XPATH"] = "drag_element.ancestor.xpath";
|
|
27
|
-
RUMUserInteractionEventKeys["DRAG_ELEMENT$ANCESTOR$CSS_CLASS"] = "drag_element.ancestor.css_class";
|
|
28
|
-
// Form Element
|
|
29
|
-
RUMUserInteractionEventKeys["FORM_ELEMENT$NAME"] = "form_element.name";
|
|
30
|
-
RUMUserInteractionEventKeys["FORM_ELEMENT$NAME_ORIGIN"] = "form_element.name_origin";
|
|
31
|
-
RUMUserInteractionEventKeys["FORM_ELEMENT$XPATH"] = "form_element.xpath";
|
|
32
|
-
RUMUserInteractionEventKeys["FORM_ELEMENT$CUSTOM_NAME"] = "form_element.custom_name";
|
|
33
|
-
RUMUserInteractionEventKeys["FORM_ELEMENT$FEATURES"] = "form_element.features";
|
|
34
|
-
RUMUserInteractionEventKeys["FORM_ELEMENT$PROPERTIES"] = "form_element.properties";
|
|
35
|
-
RUMUserInteractionEventKeys["FORM_ELEMENT$CSS_CLASS"] = "form_element.css_class";
|
|
36
|
-
// Label Element
|
|
37
|
-
RUMUserInteractionEventKeys["LABEL_ELEMENT$NAME"] = "label_element.name";
|
|
38
|
-
RUMUserInteractionEventKeys["LABEL_ELEMENT$NAME_ORIGIN"] = "label_element.name_origin";
|
|
39
|
-
RUMUserInteractionEventKeys["LABEL_ELEMENT$XPATH"] = "label_element.xpath";
|
|
40
|
-
RUMUserInteractionEventKeys["LABEL_ELEMENT$CUSTOM_NAME"] = "label_element.custom_name";
|
|
41
|
-
RUMUserInteractionEventKeys["LABEL_ELEMENT$FEATURES"] = "label_element.features";
|
|
42
|
-
RUMUserInteractionEventKeys["LABEL_ELEMENT$PROPERTIES"] = "label_element.properties";
|
|
43
|
-
RUMUserInteractionEventKeys["LABEL_ELEMENT$CSS_CLASS"] = "label_element.css_class";
|
|
44
|
-
// UI Element
|
|
45
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$NAME"] = "ui_element.name";
|
|
46
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$NAME_ORIGIN"] = "ui_element.name_origin";
|
|
47
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$TAG_NAME"] = "ui_element.tag_name";
|
|
48
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$CUSTOM_NAME"] = "ui_element.custom_name";
|
|
49
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$XPATH"] = "ui_element.xpath";
|
|
50
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$FEATURES"] = "ui_element.features";
|
|
51
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$PROPERTIES"] = "ui_element.properties";
|
|
52
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$CSS_CLASS"] = "ui_element.css_class";
|
|
53
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$SRC$FULL"] = "ui_element.src.full";
|
|
54
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$ALT"] = "ui_element.alt";
|
|
55
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$HREF$FULL"] = "ui_element.href.full";
|
|
56
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$ANCESTOR$NAME"] = "ui_element.ancestor.name";
|
|
57
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$ANCESTOR$NAME_ORIGIN"] = "ui_element.ancestor.name_origin";
|
|
58
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$ANCESTOR$CUSTOM_NAME"] = "ui_element.ancestor.custom_name";
|
|
59
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$ANCESTOR$TAG_NAME"] = "ui_element.ancestor.tag_name";
|
|
60
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$ANCESTOR$XPATH"] = "ui_element.ancestor.xpath";
|
|
61
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$ANCESTOR$CSS_CLASS"] = "ui_element.ancestor.css_class";
|
|
62
|
-
// Only for change event
|
|
63
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$VALUE$CONTENT"] = "ui_element.value.content";
|
|
64
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$VALUE$LENGTH"] = "ui_element.value.length";
|
|
65
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$VALUE$SELECTION_COUNT"] = "ui_element.value.selection_count";
|
|
66
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$VALUE$TYPE"] = "ui_element.value.type";
|
|
67
|
-
RUMUserInteractionEventKeys["UI_ELEMENT$VALUE$VALIDITY"] = "ui_element.value.validity";
|
|
68
|
-
// Scroll event specific
|
|
69
|
-
RUMUserInteractionEventKeys["SCROLL_TARGET$XPATH"] = "scroll_target.xpath";
|
|
70
|
-
// Zoom event specific
|
|
71
|
-
RUMUserInteractionEventKeys["ZOOM$LEVEL"] = "zoom.level";
|
|
72
|
-
// Mouse over event specific
|
|
73
|
-
RUMUserInteractionEventKeys["DURATION"] = "duration";
|
|
74
|
-
})(RUMUserInteractionEventKeys || (RUMUserInteractionEventKeys = {}));
|
|
75
7
|
export var ElementTypes;
|
|
76
8
|
(function (ElementTypes) {
|
|
77
9
|
ElementTypes["UI_ELEMENT"] = "ui_element";
|
|
@@ -96,10 +28,6 @@ export var UserInteraction;
|
|
|
96
28
|
UserInteraction["DROP"] = "drop";
|
|
97
29
|
UserInteraction["ZOOM"] = "zoom";
|
|
98
30
|
})(UserInteraction || (UserInteraction = {}));
|
|
99
|
-
export var DragActionKeys;
|
|
100
|
-
(function (DragActionKeys) {
|
|
101
|
-
DragActionKeys["DRAG_RESOLVE"] = "drag_resolve";
|
|
102
|
-
})(DragActionKeys || (DragActionKeys = {}));
|
|
103
31
|
/**
|
|
104
32
|
* @category User Interactions
|
|
105
33
|
*/
|
|
@@ -114,18 +42,4 @@ export var DragResolveResolution;
|
|
|
114
42
|
*/
|
|
115
43
|
DragResolveResolution["INVALID_DROP"] = "invalid_drop";
|
|
116
44
|
})(DragResolveResolution || (DragResolveResolution = {}));
|
|
117
|
-
export var ClickActionKeys;
|
|
118
|
-
(function (ClickActionKeys) {
|
|
119
|
-
ClickActionKeys["MOUSE_BUTTON"] = "mouse_button";
|
|
120
|
-
})(ClickActionKeys || (ClickActionKeys = {}));
|
|
121
|
-
export var KeyPressActionKeys;
|
|
122
|
-
(function (KeyPressActionKeys) {
|
|
123
|
-
KeyPressActionKeys["KEYS"] = "keys";
|
|
124
|
-
KeyPressActionKeys["CODE"] = "code";
|
|
125
|
-
KeyPressActionKeys["IS_COMPOSING"] = "is_composing";
|
|
126
|
-
})(KeyPressActionKeys || (KeyPressActionKeys = {}));
|
|
127
|
-
export var PositionInformationKeys;
|
|
128
|
-
(function (PositionInformationKeys) {
|
|
129
|
-
PositionInformationKeys["POSITIONS"] = "positions";
|
|
130
|
-
})(PositionInformationKeys || (PositionInformationKeys = {}));
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLXVzZXItaW50ZXJhY3Rpb24tZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zb3VyY2UvdHlwZXMvcnVtLWV2ZW50cy9ydW0tdXNlci1pbnRlcmFjdGlvbi1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0RUFBNEU7QUFDNUUseUZBQXlGO0FBZXpGOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQWtCLDJCQTBFakI7QUExRUQsV0FBa0IsMkJBQTJCO0lBQ3pDLG9FQUFxQyxDQUFBO0lBQ3JDLDRFQUE2QyxDQUFBO0lBRTdDLGVBQWU7SUFDZixzRUFBdUMsQ0FBQTtJQUN2QyxvRkFBcUQsQ0FBQTtJQUNyRCw4RUFBK0MsQ0FBQTtJQUMvQyx3RUFBeUMsQ0FBQTtJQUN6QyxvRkFBcUQsQ0FBQTtJQUNyRCw4RUFBK0MsQ0FBQTtJQUMvQyxrRkFBbUQsQ0FBQTtJQUNuRCxnRkFBaUQsQ0FBQTtJQUNqRCw4RUFBK0MsQ0FBQTtJQUMvQyxvRUFBcUMsQ0FBQTtJQUNyQyxnRkFBaUQsQ0FBQTtJQUNqRCx3RkFBeUQsQ0FBQTtJQUN6RCxzR0FBdUUsQ0FBQTtJQUN2RSxzR0FBdUUsQ0FBQTtJQUN2RSxnR0FBaUUsQ0FBQTtJQUNqRSwwRkFBMkQsQ0FBQTtJQUMzRCxrR0FBbUUsQ0FBQTtJQUVuRSxlQUFlO0lBQ2Ysc0VBQXVDLENBQUE7SUFDdkMsb0ZBQXFELENBQUE7SUFDckQsd0VBQXlDLENBQUE7SUFDekMsb0ZBQXFELENBQUE7SUFDckQsOEVBQStDLENBQUE7SUFDL0Msa0ZBQW1ELENBQUE7SUFDbkQsZ0ZBQWlELENBQUE7SUFFakQsZ0JBQWdCO0lBQ2hCLHdFQUF5QyxDQUFBO0lBQ3pDLHNGQUF1RCxDQUFBO0lBQ3ZELDBFQUEyQyxDQUFBO0lBQzNDLHNGQUF1RCxDQUFBO0lBQ3ZELGdGQUFpRCxDQUFBO0lBQ2pELG9GQUFxRCxDQUFBO0lBQ3JELGtGQUFtRCxDQUFBO0lBRW5ELGFBQWE7SUFDYixrRUFBbUMsQ0FBQTtJQUNuQyxnRkFBaUQsQ0FBQTtJQUNqRCwwRUFBMkMsQ0FBQTtJQUMzQyxnRkFBaUQsQ0FBQTtJQUNqRCxvRUFBcUMsQ0FBQTtJQUNyQywwRUFBMkMsQ0FBQTtJQUMzQyw4RUFBK0MsQ0FBQTtJQUMvQyw0RUFBNkMsQ0FBQTtJQUM3QywwRUFBMkMsQ0FBQTtJQUMzQyxnRUFBaUMsQ0FBQTtJQUNqQyw0RUFBNkMsQ0FBQTtJQUM3QyxvRkFBcUQsQ0FBQTtJQUNyRCxrR0FBbUUsQ0FBQTtJQUNuRSxrR0FBbUUsQ0FBQTtJQUNuRSw0RkFBNkQsQ0FBQTtJQUM3RCxzRkFBdUQsQ0FBQTtJQUN2RCw4RkFBK0QsQ0FBQTtJQUMvRCx3QkFBd0I7SUFDeEIsb0ZBQXFELENBQUE7SUFDckQsa0ZBQW1ELENBQUE7SUFDbkQsb0dBQXFFLENBQUE7SUFDckUsOEVBQStDLENBQUE7SUFDL0Msc0ZBQXVELENBQUE7SUFFdkQsd0JBQXdCO0lBQ3hCLDBFQUEyQyxDQUFBO0lBRTNDLHNCQUFzQjtJQUN0Qix3REFBeUIsQ0FBQTtJQUV6Qiw0QkFBNEI7SUFDNUIsb0RBQXFCLENBQUE7QUFDekIsQ0FBQyxFQTFFaUIsMkJBQTJCLEtBQTNCLDJCQUEyQixRQTBFNUM7QUFFRCxNQUFNLENBQU4sSUFBa0IsWUFLakI7QUFMRCxXQUFrQixZQUFZO0lBQzFCLHlDQUF5QixDQUFBO0lBQ3pCLCtDQUErQixDQUFBO0lBQy9CLDZDQUE2QixDQUFBO0lBQzdCLDZDQUE2QixDQUFBO0FBQ2pDLENBQUMsRUFMaUIsWUFBWSxLQUFaLFlBQVksUUFLN0I7QUE0RUQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBa0IsZUFZakI7QUFaRCxXQUFrQixlQUFlO0lBQzdCLGdDQUFhLENBQUE7SUFDYixvQ0FBaUIsQ0FBQTtJQUNqQixrQ0FBZSxDQUFBO0lBQ2Ysa0NBQWUsQ0FBQTtJQUNmLDBDQUF1QixDQUFBO0lBQ3ZCLDRDQUF5QixDQUFBO0lBQ3pCLG9DQUFpQixDQUFBO0lBQ2pCLGdDQUFhLENBQUE7SUFDYixvQ0FBaUIsQ0FBQTtJQUNqQixnQ0FBYSxDQUFBO0lBQ2IsZ0NBQWEsQ0FBQTtBQUNqQixDQUFDLEVBWmlCLGVBQWUsS0FBZixlQUFlLFFBWWhDO0FBRUQsTUFBTSxDQUFOLElBQWtCLGNBRWpCO0FBRkQsV0FBa0IsY0FBYztJQUM1QiwrQ0FBNkIsQ0FBQTtBQUNqQyxDQUFDLEVBRmlCLGNBQWMsS0FBZCxjQUFjLFFBRS9CO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBa0IscUJBU2pCO0FBVEQsV0FBa0IscUJBQXFCO0lBQ25DOztPQUVHO0lBQ0gsa0RBQXlCLENBQUE7SUFDekI7O09BRUc7SUFDSCxzREFBNkIsQ0FBQTtBQUNqQyxDQUFDLEVBVGlCLHFCQUFxQixLQUFyQixxQkFBcUIsUUFTdEM7QUFFRCxNQUFNLENBQU4sSUFBa0IsZUFFakI7QUFGRCxXQUFrQixlQUFlO0lBQzdCLGdEQUE2QixDQUFBO0FBQ2pDLENBQUMsRUFGaUIsZUFBZSxLQUFmLGVBQWUsUUFFaEM7QUFFRCxNQUFNLENBQU4sSUFBa0Isa0JBSWpCO0FBSkQsV0FBa0Isa0JBQWtCO0lBQ2hDLG1DQUFhLENBQUE7SUFDYixtQ0FBYSxDQUFBO0lBQ2IsbURBQTZCLENBQUE7QUFDakMsQ0FBQyxFQUppQixrQkFBa0IsS0FBbEIsa0JBQWtCLFFBSW5DO0FBRUQsTUFBTSxDQUFOLElBQWtCLHVCQUVqQjtBQUZELFdBQWtCLHVCQUF1QjtJQUNyQyxrREFBdUIsQ0FBQTtBQUMzQixDQUFDLEVBRmlCLHVCQUF1QixLQUF2Qix1QkFBdUIsUUFFeEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSB0eXBlc2NyaXB0LXNvcnQta2V5cy9zdHJpbmctZW51bSAtLSBrZWVwIHRoaW5ncyBncm91cGVkICovXG4vLyBodHRwczovL2R0LXJuZC5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL0RFWC9wYWdlcy8zODIzMDQzNDcvUlVNK1VzZXJJbnRlcmFjdGlvbitFdmVudFxuXG5pbXBvcnQgdHlwZSB7XG4gICAgQ2hhcmFjdGVyaXN0aWNzRmllbGRzS2V5cyxcbiAgICBHZW5lcmFsUnVtRXZlbnRGaWVsZHMsXG4gICAgR2VuZXJhbFJ1bUV2ZW50RmllbGRzS2V5c1xufSBmcm9tIFwiLi9zaGFyZWQtbmFtZXNwYWNlcy1hbmQtZmllbGRzL2dlbmVyYWwtcnVtLWV2ZW50LWZpZWxkcy5qc1wiO1xuaW1wb3J0IHR5cGUge1xuICAgIGV2ZW50Q29udGV4dFN5bWJvbCxcbiAgICBSVU1Vc2VySW50ZXJhY3Rpb25EcmFnRXZlbnRDb250ZXh0LFxuICAgIFJVTVVzZXJJbnRlcmFjdGlvbkRyb3BFdmVudENvbnRleHQsXG4gICAgUlVNVXNlckludGVyYWN0aW9uU2luZ2xlRXZlbnRDb250ZXh0XG59IGZyb20gXCIuL2V2ZW50LWNvbnRleHQvZXZlbnQtY29udGV4dC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBTQ0hFTUFfVkVSU0lPTiB9IGZyb20gXCIuL3NjaGVtYS12ZXJzaW9ucy5qc1wiO1xuXG4vKipcbiAqIEBjYXRlZ29yeSBTaGFyZWQgTmFtZXNwYWNlcyAmIEZpZWxkc1xuICovXG5leHBvcnQgY29uc3QgZW51bSBSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMge1xuICAgIElOVEVSQUNUSU9OJE5BTUUgPSBcImludGVyYWN0aW9uLm5hbWVcIixcbiAgICBET01fRVZFTlQkSVNfVFJVU1RFRCA9IFwiZG9tX2V2ZW50LmlzX3RydXN0ZWRcIixcblxuICAgIC8vIERyYWcgRWxlbWVudFxuICAgIERSQUdfRUxFTUVOVCROQU1FID0gXCJkcmFnX2VsZW1lbnQubmFtZVwiLFxuICAgIERSQUdfRUxFTUVOVCROQU1FX09SSUdJTiA9IFwiZHJhZ19lbGVtZW50Lm5hbWVfb3JpZ2luXCIsXG4gICAgRFJBR19FTEVNRU5UJFRBR19OQU1FID0gXCJkcmFnX2VsZW1lbnQudGFnX25hbWVcIixcbiAgICBEUkFHX0VMRU1FTlQkWFBBVEggPSBcImRyYWdfZWxlbWVudC54cGF0aFwiLFxuICAgIERSQUdfRUxFTUVOVCRDVVNUT01fTkFNRSA9IFwiZHJhZ19lbGVtZW50LmN1c3RvbV9uYW1lXCIsXG4gICAgRFJBR19FTEVNRU5UJEZFQVRVUkVTID0gXCJkcmFnX2VsZW1lbnQuZmVhdHVyZXNcIixcbiAgICBEUkFHX0VMRU1FTlQkUFJPUEVSVElFUyA9IFwiZHJhZ19lbGVtZW50LnByb3BlcnRpZXNcIixcbiAgICBEUkFHX0VMRU1FTlQkQ1NTX0NMQVNTID0gXCJkcmFnX2VsZW1lbnQuY3NzX2NsYXNzXCIsXG4gICAgRFJBR19FTEVNRU5UJFNSQyRGVUxMID0gXCJkcmFnX2VsZW1lbnQuc3JjLmZ1bGxcIixcbiAgICBEUkFHX0VMRU1FTlQkQUxUID0gXCJkcmFnX2VsZW1lbnQuYWx0XCIsXG4gICAgRFJBR19FTEVNRU5UJEhSRUYkRlVMTCA9IFwiZHJhZ19lbGVtZW50LmhyZWYuZnVsbFwiLFxuICAgIERSQUdfRUxFTUVOVCRBTkNFU1RPUiROQU1FID0gXCJkcmFnX2VsZW1lbnQuYW5jZXN0b3IubmFtZVwiLFxuICAgIERSQUdfRUxFTUVOVCRBTkNFU1RPUiROQU1FX09SSUdJTiA9IFwiZHJhZ19lbGVtZW50LmFuY2VzdG9yLm5hbWVfb3JpZ2luXCIsXG4gICAgRFJBR19FTEVNRU5UJEFOQ0VTVE9SJENVU1RPTV9OQU1FID0gXCJkcmFnX2VsZW1lbnQuYW5jZXN0b3IuY3VzdG9tX25hbWVcIixcbiAgICBEUkFHX0VMRU1FTlQkQU5DRVNUT1IkVEFHX05BTUUgPSBcImRyYWdfZWxlbWVudC5hbmNlc3Rvci50YWdfbmFtZVwiLFxuICAgIERSQUdfRUxFTUVOVCRBTkNFU1RPUiRYUEFUSCA9IFwiZHJhZ19lbGVtZW50LmFuY2VzdG9yLnhwYXRoXCIsXG4gICAgRFJBR19FTEVNRU5UJEFOQ0VTVE9SJENTU19DTEFTUyA9IFwiZHJhZ19lbGVtZW50LmFuY2VzdG9yLmNzc19jbGFzc1wiLFxuXG4gICAgLy8gRm9ybSBFbGVtZW50XG4gICAgRk9STV9FTEVNRU5UJE5BTUUgPSBcImZvcm1fZWxlbWVudC5uYW1lXCIsXG4gICAgRk9STV9FTEVNRU5UJE5BTUVfT1JJR0lOID0gXCJmb3JtX2VsZW1lbnQubmFtZV9vcmlnaW5cIixcbiAgICBGT1JNX0VMRU1FTlQkWFBBVEggPSBcImZvcm1fZWxlbWVudC54cGF0aFwiLFxuICAgIEZPUk1fRUxFTUVOVCRDVVNUT01fTkFNRSA9IFwiZm9ybV9lbGVtZW50LmN1c3RvbV9uYW1lXCIsXG4gICAgRk9STV9FTEVNRU5UJEZFQVRVUkVTID0gXCJmb3JtX2VsZW1lbnQuZmVhdHVyZXNcIixcbiAgICBGT1JNX0VMRU1FTlQkUFJPUEVSVElFUyA9IFwiZm9ybV9lbGVtZW50LnByb3BlcnRpZXNcIixcbiAgICBGT1JNX0VMRU1FTlQkQ1NTX0NMQVNTID0gXCJmb3JtX2VsZW1lbnQuY3NzX2NsYXNzXCIsXG5cbiAgICAvLyBMYWJlbCBFbGVtZW50XG4gICAgTEFCRUxfRUxFTUVOVCROQU1FID0gXCJsYWJlbF9lbGVtZW50Lm5hbWVcIixcbiAgICBMQUJFTF9FTEVNRU5UJE5BTUVfT1JJR0lOID0gXCJsYWJlbF9lbGVtZW50Lm5hbWVfb3JpZ2luXCIsXG4gICAgTEFCRUxfRUxFTUVOVCRYUEFUSCA9IFwibGFiZWxfZWxlbWVudC54cGF0aFwiLFxuICAgIExBQkVMX0VMRU1FTlQkQ1VTVE9NX05BTUUgPSBcImxhYmVsX2VsZW1lbnQuY3VzdG9tX25hbWVcIixcbiAgICBMQUJFTF9FTEVNRU5UJEZFQVRVUkVTID0gXCJsYWJlbF9lbGVtZW50LmZlYXR1cmVzXCIsXG4gICAgTEFCRUxfRUxFTUVOVCRQUk9QRVJUSUVTID0gXCJsYWJlbF9lbGVtZW50LnByb3BlcnRpZXNcIixcbiAgICBMQUJFTF9FTEVNRU5UJENTU19DTEFTUyA9IFwibGFiZWxfZWxlbWVudC5jc3NfY2xhc3NcIixcblxuICAgIC8vIFVJIEVsZW1lbnRcbiAgICBVSV9FTEVNRU5UJE5BTUUgPSBcInVpX2VsZW1lbnQubmFtZVwiLFxuICAgIFVJX0VMRU1FTlQkTkFNRV9PUklHSU4gPSBcInVpX2VsZW1lbnQubmFtZV9vcmlnaW5cIixcbiAgICBVSV9FTEVNRU5UJFRBR19OQU1FID0gXCJ1aV9lbGVtZW50LnRhZ19uYW1lXCIsXG4gICAgVUlfRUxFTUVOVCRDVVNUT01fTkFNRSA9IFwidWlfZWxlbWVudC5jdXN0b21fbmFtZVwiLFxuICAgIFVJX0VMRU1FTlQkWFBBVEggPSBcInVpX2VsZW1lbnQueHBhdGhcIixcbiAgICBVSV9FTEVNRU5UJEZFQVRVUkVTID0gXCJ1aV9lbGVtZW50LmZlYXR1cmVzXCIsXG4gICAgVUlfRUxFTUVOVCRQUk9QRVJUSUVTID0gXCJ1aV9lbGVtZW50LnByb3BlcnRpZXNcIixcbiAgICBVSV9FTEVNRU5UJENTU19DTEFTUyA9IFwidWlfZWxlbWVudC5jc3NfY2xhc3NcIixcbiAgICBVSV9FTEVNRU5UJFNSQyRGVUxMID0gXCJ1aV9lbGVtZW50LnNyYy5mdWxsXCIsXG4gICAgVUlfRUxFTUVOVCRBTFQgPSBcInVpX2VsZW1lbnQuYWx0XCIsXG4gICAgVUlfRUxFTUVOVCRIUkVGJEZVTEwgPSBcInVpX2VsZW1lbnQuaHJlZi5mdWxsXCIsXG4gICAgVUlfRUxFTUVOVCRBTkNFU1RPUiROQU1FID0gXCJ1aV9lbGVtZW50LmFuY2VzdG9yLm5hbWVcIixcbiAgICBVSV9FTEVNRU5UJEFOQ0VTVE9SJE5BTUVfT1JJR0lOID0gXCJ1aV9lbGVtZW50LmFuY2VzdG9yLm5hbWVfb3JpZ2luXCIsXG4gICAgVUlfRUxFTUVOVCRBTkNFU1RPUiRDVVNUT01fTkFNRSA9IFwidWlfZWxlbWVudC5hbmNlc3Rvci5jdXN0b21fbmFtZVwiLFxuICAgIFVJX0VMRU1FTlQkQU5DRVNUT1IkVEFHX05BTUUgPSBcInVpX2VsZW1lbnQuYW5jZXN0b3IudGFnX25hbWVcIixcbiAgICBVSV9FTEVNRU5UJEFOQ0VTVE9SJFhQQVRIID0gXCJ1aV9lbGVtZW50LmFuY2VzdG9yLnhwYXRoXCIsXG4gICAgVUlfRUxFTUVOVCRBTkNFU1RPUiRDU1NfQ0xBU1MgPSBcInVpX2VsZW1lbnQuYW5jZXN0b3IuY3NzX2NsYXNzXCIsXG4gICAgLy8gT25seSBmb3IgY2hhbmdlIGV2ZW50XG4gICAgVUlfRUxFTUVOVCRWQUxVRSRDT05URU5UID0gXCJ1aV9lbGVtZW50LnZhbHVlLmNvbnRlbnRcIixcbiAgICBVSV9FTEVNRU5UJFZBTFVFJExFTkdUSCA9IFwidWlfZWxlbWVudC52YWx1ZS5sZW5ndGhcIixcbiAgICBVSV9FTEVNRU5UJFZBTFVFJFNFTEVDVElPTl9DT1VOVCA9IFwidWlfZWxlbWVudC52YWx1ZS5zZWxlY3Rpb25fY291bnRcIixcbiAgICBVSV9FTEVNRU5UJFZBTFVFJFRZUEUgPSBcInVpX2VsZW1lbnQudmFsdWUudHlwZVwiLFxuICAgIFVJX0VMRU1FTlQkVkFMVUUkVkFMSURJVFkgPSBcInVpX2VsZW1lbnQudmFsdWUudmFsaWRpdHlcIixcblxuICAgIC8vIFNjcm9sbCBldmVudCBzcGVjaWZpY1xuICAgIFNDUk9MTF9UQVJHRVQkWFBBVEggPSBcInNjcm9sbF90YXJnZXQueHBhdGhcIixcblxuICAgIC8vIFpvb20gZXZlbnQgc3BlY2lmaWNcbiAgICBaT09NJExFVkVMID0gXCJ6b29tLmxldmVsXCIsXG5cbiAgICAvLyBNb3VzZSBvdmVyIGV2ZW50IHNwZWNpZmljXG4gICAgRFVSQVRJT04gPSBcImR1cmF0aW9uXCJcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gRWxlbWVudFR5cGVzIHtcbiAgICBVSV9FTEVNRU5UID0gXCJ1aV9lbGVtZW50XCIsXG4gICAgTEFCRUxfRUxFTUVOVCA9IFwibGFiZWxfZWxlbWVudFwiLFxuICAgIEZPUk1fRUxFTUVOVCA9IFwiZm9ybV9lbGVtZW50XCIsXG4gICAgRFJBR19FTEVNRU5UID0gXCJkcmFnX2VsZW1lbnRcIlxufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEludGVyYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFVJRWxlbWVudEV2ZW50RmllbGRzIHtcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLlVJX0VMRU1FTlQkTkFNRV06IHN0cmluZyB8IG51bGw7XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5VSV9FTEVNRU5UJE5BTUVfT1JJR0lOXTogc3RyaW5nO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuVUlfRUxFTUVOVCRUQUdfTkFNRV06IHN0cmluZztcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLlVJX0VMRU1FTlQkQ1VTVE9NX05BTUVdPzogc3RyaW5nO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuVUlfRUxFTUVOVCRYUEFUSF0/OiBzdHJpbmdbXTtcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLlVJX0VMRU1FTlQkRkVBVFVSRVNdPzogc3RyaW5nW107XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5VSV9FTEVNRU5UJFBST1BFUlRJRVNdPzogc3RyaW5nW107XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5VSV9FTEVNRU5UJENTU19DTEFTU10/OiBzdHJpbmdbXTtcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLlVJX0VMRU1FTlQkU1JDJEZVTExdPzogc3RyaW5nO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuVUlfRUxFTUVOVCRBTFRdPzogc3RyaW5nO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuVUlfRUxFTUVOVCRIUkVGJEZVTExdPzogc3RyaW5nO1xuICAgIC8vIEFuY2VzdG9yIGZpZWxkc1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuVUlfRUxFTUVOVCRBTkNFU1RPUiROQU1FXT86IHN0cmluZztcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLlVJX0VMRU1FTlQkQU5DRVNUT1IkTkFNRV9PUklHSU5dPzogc3RyaW5nO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuVUlfRUxFTUVOVCRBTkNFU1RPUiRDVVNUT01fTkFNRV0/OiBzdHJpbmc7XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5VSV9FTEVNRU5UJEFOQ0VTVE9SJFRBR19OQU1FXT86IHN0cmluZztcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLlVJX0VMRU1FTlQkQU5DRVNUT1IkWFBBVEhdPzogc3RyaW5nW107XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5VSV9FTEVNRU5UJEFOQ0VTVE9SJENTU19DTEFTU10/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3JtRWxlbWVudEV2ZW50RmllbGRzIHtcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLkZPUk1fRUxFTUVOVCROQU1FXTogc3RyaW5nO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuRk9STV9FTEVNRU5UJE5BTUVfT1JJR0lOXTogc3RyaW5nO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuRk9STV9FTEVNRU5UJENVU1RPTV9OQU1FXT86IHN0cmluZztcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLkZPUk1fRUxFTUVOVCRYUEFUSF0/OiBzdHJpbmdbXTtcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLkZPUk1fRUxFTUVOVCRGRUFUVVJFU10/OiBzdHJpbmdbXTtcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLkZPUk1fRUxFTUVOVCRQUk9QRVJUSUVTXT86IHN0cmluZ1tdO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuRk9STV9FTEVNRU5UJENTU19DTEFTU10/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYWJlbEVsZW1lbnRFdmVudEZpZWxkcyB7XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5MQUJFTF9FTEVNRU5UJE5BTUVdOiBzdHJpbmc7XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5MQUJFTF9FTEVNRU5UJE5BTUVfT1JJR0lOXTogc3RyaW5nO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuTEFCRUxfRUxFTUVOVCRDVVNUT01fTkFNRV0/OiBzdHJpbmc7XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5MQUJFTF9FTEVNRU5UJFhQQVRIXT86IHN0cmluZ1tdO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuTEFCRUxfRUxFTUVOVCRGRUFUVVJFU10/OiBzdHJpbmdbXTtcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLkxBQkVMX0VMRU1FTlQkUFJPUEVSVElFU10/OiBzdHJpbmdbXTtcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLkxBQkVMX0VMRU1FTlQkQ1NTX0NMQVNTXT86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEludGVyYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERyYWdFbGVtZW50RXZlbnRGaWVsZHMge1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuRFJBR19FTEVNRU5UJE5BTUVdOiBzdHJpbmc7XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkTkFNRV9PUklHSU5dOiBzdHJpbmc7XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkVEFHX05BTUVdOiBzdHJpbmc7XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQ1VTVE9NX05BTUVdPzogc3RyaW5nO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuRFJBR19FTEVNRU5UJFhQQVRIXT86IHN0cmluZ1tdO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuRFJBR19FTEVNRU5UJEZFQVRVUkVTXT86IHN0cmluZ1tdO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuRFJBR19FTEVNRU5UJFBST1BFUlRJRVNdPzogc3RyaW5nW107XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQ1NTX0NMQVNTXT86IHN0cmluZ1tdO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuRFJBR19FTEVNRU5UJFNSQyRGVUxMXT86IHN0cmluZztcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRBTFRdPzogc3RyaW5nO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuRFJBR19FTEVNRU5UJEhSRUYkRlVMTF0/OiBzdHJpbmc7XG4gICAgLy8gQW5jZXN0b3IgZmllbGRzXG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQU5DRVNUT1IkTkFNRV0/OiBzdHJpbmc7XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQU5DRVNUT1IkTkFNRV9PUklHSU5dPzogc3RyaW5nO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuRFJBR19FTEVNRU5UJEFOQ0VTVE9SJENVU1RPTV9OQU1FXT86IHN0cmluZztcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRBTkNFU1RPUiRUQUdfTkFNRV0/OiBzdHJpbmc7XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQU5DRVNUT1IkWFBBVEhdPzogc3RyaW5nW107XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQU5DRVNUT1IkQ1NTX0NMQVNTXT86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEludGVyYWN0aW9uc1xuICovXG5leHBvcnQgY29uc3QgZW51bSBVc2VySW50ZXJhY3Rpb24ge1xuICAgIEJMVVIgPSBcImJsdXJcIixcbiAgICBDSEFOR0UgPSBcImNoYW5nZVwiLFxuICAgIENMSUNLID0gXCJjbGlja1wiLFxuICAgIEZPQ1VTID0gXCJmb2N1c1wiLFxuICAgIEtFWV9QUkVTUyA9IFwia2V5X3ByZXNzXCIsXG4gICAgTU9VU0VfT1ZFUiA9IFwibW91c2Vfb3ZlclwiLFxuICAgIFNDUk9MTCA9IFwic2Nyb2xsXCIsXG4gICAgRFJBRyA9IFwiZHJhZ1wiLFxuICAgIFJFU0laRSA9IFwicmVzaXplXCIsXG4gICAgRFJPUCA9IFwiZHJvcFwiLFxuICAgIFpPT00gPSBcInpvb21cIlxufVxuXG5leHBvcnQgY29uc3QgZW51bSBEcmFnQWN0aW9uS2V5cyB7XG4gICAgRFJBR19SRVNPTFZFID0gXCJkcmFnX3Jlc29sdmVcIlxufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEludGVyYWN0aW9uc1xuICovXG5leHBvcnQgY29uc3QgZW51bSBEcmFnUmVzb2x2ZVJlc29sdXRpb24ge1xuICAgIC8qKlxuICAgICAqIFRoZSBlbGVtZW50IHdhcyBkcm9wcGVkIG9uIGEgdmFsaWQgZHJvcCB6b25lLlxuICAgICAqL1xuICAgIFZBTElEX0RST1AgPSBcInZhbGlkX2Ryb3BcIixcbiAgICAvKipcbiAgICAgKiBUaGUgZWxlbWVudCB3YXMgbm90IGRyb3BwZWQgb24gYSB2YWxpZCBkcm9wIHpvbmUuXG4gICAgICovXG4gICAgSU5WQUxJRF9EUk9QID0gXCJpbnZhbGlkX2Ryb3BcIlxufVxuXG5leHBvcnQgY29uc3QgZW51bSBDbGlja0FjdGlvbktleXMge1xuICAgIE1PVVNFX0JVVFRPTiA9IFwibW91c2VfYnV0dG9uXCJcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gS2V5UHJlc3NBY3Rpb25LZXlzIHtcbiAgICBLRVlTID0gXCJrZXlzXCIsXG4gICAgQ09ERSA9IFwiY29kZVwiLFxuICAgIElTX0NPTVBPU0lORyA9IFwiaXNfY29tcG9zaW5nXCJcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gUG9zaXRpb25JbmZvcm1hdGlvbktleXMge1xuICAgIFBPU0lUSU9OUyA9IFwicG9zaXRpb25zXCJcbn1cblxuLyoqXG4gKiBAaWdub3JlXG4gKiBAaW5saW5lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9zaXRpb25JbmZvcm1hdGlvbiB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgICBzdGFydF90aW1lPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEludGVyYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJVTVVzZXJJbnRlcmFjdGlvbkJhc2UgZXh0ZW5kcyBHZW5lcmFsUnVtRXZlbnRGaWVsZHMge1xuICAgIFtHZW5lcmFsUnVtRXZlbnRGaWVsZHNLZXlzLkRUJFJVTSRTQ0hFTUFfVkVSU0lPTl06IHR5cGVvZiBTQ0hFTUFfVkVSU0lPTjtcbiAgICBbQ2hhcmFjdGVyaXN0aWNzRmllbGRzS2V5cy5DSEFSQUNURVJJU1RJQ1MkSEFTX1VTRVJfSU5URVJBQ1RJT05dOiB0cnVlO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuRE9NX0VWRU5UJElTX1RSVVNURURdOiBib29sZWFuO1xuXG4gICAgW2V2ZW50Q29udGV4dFN5bWJvbF06IFJVTVVzZXJJbnRlcmFjdGlvblNpbmdsZUV2ZW50Q29udGV4dDtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb2ludGVyUG9zaXRpb25JbmZvcm1hdGlvbiB7XG4gICAgW1Bvc2l0aW9uSW5mb3JtYXRpb25LZXlzLlBPU0lUSU9OU106IFBvc2l0aW9uSW5mb3JtYXRpb25bXTtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSVU1DbGlja0FjdGlvbkV2ZW50IGV4dGVuZHMgUlVNVXNlckludGVyYWN0aW9uQmFzZSwgUG9pbnRlclBvc2l0aW9uSW5mb3JtYXRpb24sIFVJRWxlbWVudEV2ZW50RmllbGRzIHtcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLklOVEVSQUNUSU9OJE5BTUVdOiBVc2VySW50ZXJhY3Rpb24uQ0xJQ0s7XG4gICAgW0NsaWNrQWN0aW9uS2V5cy5NT1VTRV9CVVRUT05dOiBudW1iZXI7XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFVzZXIgSW50ZXJhY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUlVNTW91c2VPdmVyQWN0aW9uRXZlbnQgZXh0ZW5kcyBSVU1Vc2VySW50ZXJhY3Rpb25CYXNlLCBQb2ludGVyUG9zaXRpb25JbmZvcm1hdGlvbiwgVUlFbGVtZW50RXZlbnRGaWVsZHMge1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuSU5URVJBQ1RJT04kTkFNRV06IFVzZXJJbnRlcmFjdGlvbi5NT1VTRV9PVkVSO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuRFVSQVRJT05dOiBudW1iZXI7XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFVzZXIgSW50ZXJhY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUlVNQmx1ckFjdGlvbkV2ZW50IGV4dGVuZHMgUlVNVXNlckludGVyYWN0aW9uQmFzZSwgVUlFbGVtZW50RXZlbnRGaWVsZHMge1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuSU5URVJBQ1RJT04kTkFNRV06IFVzZXJJbnRlcmFjdGlvbi5CTFVSO1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEludGVyYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJVTUZvY3VzQWN0aW9uRXZlbnQgZXh0ZW5kcyBSVU1Vc2VySW50ZXJhY3Rpb25CYXNlLCBVSUVsZW1lbnRFdmVudEZpZWxkcyB7XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5JTlRFUkFDVElPTiROQU1FXTogVXNlckludGVyYWN0aW9uLkZPQ1VTO1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEludGVyYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJVTUtleVByZXNzQWN0aW9uRXZlbnQgZXh0ZW5kcyBSVU1Vc2VySW50ZXJhY3Rpb25CYXNlLCBVSUVsZW1lbnRFdmVudEZpZWxkcyB7XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5JTlRFUkFDVElPTiROQU1FXTogVXNlckludGVyYWN0aW9uLktFWV9QUkVTUztcblxuICAgIFtLZXlQcmVzc0FjdGlvbktleXMuS0VZU106IFtmaXJzdDogc3RyaW5nLCAuLi5yZXN0OiBzdHJpbmdbXV07XG4gICAgLyoqXG4gICAgICogIEBpbnRlcm5hbFxuICAgICAqXG4gICAgICogIE5vdCBwYXJ0IG9mIHRoZSBzcGVjLCBqdXN0IGZvciBkZWJ1Z2dpbmcgcHVycG9zZXNcbiAgICAgKi9cbiAgICBbS2V5UHJlc3NBY3Rpb25LZXlzLkNPREVdOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogIEBpbnRlcm5hbFxuICAgICAqXG4gICAgICogIE5vdCBwYXJ0IG9mIHRoZSBzcGVjLCBqdXN0IGZvciBkZWJ1Z2dpbmcgcHVycG9zZXNcbiAgICAgKi9cbiAgICBbS2V5UHJlc3NBY3Rpb25LZXlzLklTX0NPTVBPU0lOR106IGJvb2xlYW47XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFVzZXIgSW50ZXJhY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUlVNU2Nyb2xsQWN0aW9uRXZlbnQgZXh0ZW5kcyBSVU1Vc2VySW50ZXJhY3Rpb25CYXNlLCBVSUVsZW1lbnRFdmVudEZpZWxkcywgUG9pbnRlclBvc2l0aW9uSW5mb3JtYXRpb24ge1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuSU5URVJBQ1RJT04kTkFNRV06IFVzZXJJbnRlcmFjdGlvbi5TQ1JPTEw7XG5cbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLlNDUk9MTF9UQVJHRVQkWFBBVEhdPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFVzZXIgSW50ZXJhY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUlVNQ2hhbmdlQWN0aW9uRXZlbnQgZXh0ZW5kc1xuICAgIFJVTVVzZXJJbnRlcmFjdGlvbkJhc2UsXG4gICAgVUlFbGVtZW50RXZlbnRGaWVsZHMsXG4gICAgUGFydGlhbDxMYWJlbEVsZW1lbnRFdmVudEZpZWxkcz4sXG4gICAgUGFydGlhbDxGb3JtRWxlbWVudEV2ZW50RmllbGRzPiB7XG5cbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLklOVEVSQUNUSU9OJE5BTUVdOiBVc2VySW50ZXJhY3Rpb24uQ0hBTkdFO1xuXG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5VSV9FTEVNRU5UJFZBTFVFJENPTlRFTlRdPzogc3RyaW5nO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuVUlfRUxFTUVOVCRWQUxVRSRUWVBFXTogc3RyaW5nO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuVUlfRUxFTUVOVCRWQUxVRSRMRU5HVEhdPzogbnVtYmVyO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuVUlfRUxFTUVOVCRWQUxVRSRTRUxFQ1RJT05fQ09VTlRdPzogbnVtYmVyO1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuVUlfRUxFTUVOVCRWQUxVRSRWQUxJRElUWV06IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEludGVyYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJVTURyYWdBY3Rpb25FdmVudCBleHRlbmRzIE9taXQ8UlVNVXNlckludGVyYWN0aW9uQmFzZSwgdHlwZW9mIGV2ZW50Q29udGV4dFN5bWJvbD4sIFVJRWxlbWVudEV2ZW50RmllbGRzLCBQb2ludGVyUG9zaXRpb25JbmZvcm1hdGlvbiB7XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5JTlRFUkFDVElPTiROQU1FXTogVXNlckludGVyYWN0aW9uLkRSQUc7XG4gICAgW0RyYWdBY3Rpb25LZXlzLkRSQUdfUkVTT0xWRV06IERyYWdSZXNvbHZlUmVzb2x1dGlvbjtcblxuICAgIFtldmVudENvbnRleHRTeW1ib2xdOiBSVU1Vc2VySW50ZXJhY3Rpb25EcmFnRXZlbnRDb250ZXh0O1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEludGVyYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJVTVJlc2l6ZUFjdGlvbkV2ZW50IGV4dGVuZHMgUlVNVXNlckludGVyYWN0aW9uQmFzZSB7XG4gICAgW1JVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5JTlRFUkFDVElPTiROQU1FXTogVXNlckludGVyYWN0aW9uLlJFU0laRTtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSVU1ab29tQWN0aW9uRXZlbnQgZXh0ZW5kcyBSVU1Vc2VySW50ZXJhY3Rpb25CYXNlIHtcbiAgICBbUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLklOVEVSQUNUSU9OJE5BTUVdOiBVc2VySW50ZXJhY3Rpb24uWk9PTTtcblxuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuWk9PTSRMRVZFTF06IG51bWJlcjtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSVU1Ecm9wQWN0aW9uRXZlbnQgZXh0ZW5kcyBPbWl0PFJVTVVzZXJJbnRlcmFjdGlvbkJhc2UsIHR5cGVvZiBldmVudENvbnRleHRTeW1ib2w+LCBVSUVsZW1lbnRFdmVudEZpZWxkcywgUGFydGlhbDxEcmFnRWxlbWVudEV2ZW50RmllbGRzPiwgUG9pbnRlclBvc2l0aW9uSW5mb3JtYXRpb24ge1xuICAgIFtSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuSU5URVJBQ1RJT04kTkFNRV06IFVzZXJJbnRlcmFjdGlvbi5EUk9QO1xuXG4gICAgW2V2ZW50Q29udGV4dFN5bWJvbF06IFJVTVVzZXJJbnRlcmFjdGlvbkRyb3BFdmVudENvbnRleHQ7XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFVzZXIgSW50ZXJhY3Rpb25zXG4gKi9cbmV4cG9ydCB0eXBlIFJVTVVzZXJJbnRlcmFjdGlvbkV2ZW50ID0gUlVNQmx1ckFjdGlvbkV2ZW50XG4gICAgfCBSVU1DaGFuZ2VBY3Rpb25FdmVudFxuICAgIHwgUlVNQ2xpY2tBY3Rpb25FdmVudFxuICAgIHwgUlVNRHJhZ0FjdGlvbkV2ZW50XG4gICAgfCBSVU1Ecm9wQWN0aW9uRXZlbnRcbiAgICB8IFJVTUZvY3VzQWN0aW9uRXZlbnRcbiAgICB8IFJVTUtleVByZXNzQWN0aW9uRXZlbnRcbiAgICB8IFJVTU1vdXNlT3ZlckFjdGlvbkV2ZW50XG4gICAgfCBSVU1SZXNpemVBY3Rpb25FdmVudFxuICAgIHwgUlVNU2Nyb2xsQWN0aW9uRXZlbnRcbiAgICB8IFJVTVpvb21BY3Rpb25FdmVudDtcbiJdfQ==
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLXVzZXItaW50ZXJhY3Rpb24tZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zb3VyY2UvdHlwZXMvcnVtLWV2ZW50cy9ydW0tdXNlci1pbnRlcmFjdGlvbi1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtSEFBbUg7QUFDbkgseUZBQXlGO0FBNEd6Rjs7O0dBR0c7QUFDSCxNQUFNLENBQU4sSUFBa0IsWUFLakI7QUFMRCxXQUFrQixZQUFZO0lBQzFCLHlDQUF5QixDQUFBO0lBQ3pCLCtDQUErQixDQUFBO0lBQy9CLDZDQUE2QixDQUFBO0lBQzdCLDZDQUE2QixDQUFBO0FBQ2pDLENBQUMsRUFMaUIsWUFBWSxLQUFaLFlBQVksUUFLN0I7QUE0RkQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBa0IsZUFZakI7QUFaRCxXQUFrQixlQUFlO0lBQzdCLGdDQUFhLENBQUE7SUFDYixvQ0FBaUIsQ0FBQTtJQUNqQixrQ0FBZSxDQUFBO0lBQ2Ysa0NBQWUsQ0FBQTtJQUNmLDBDQUF1QixDQUFBO0lBQ3ZCLDRDQUF5QixDQUFBO0lBQ3pCLG9DQUFpQixDQUFBO0lBQ2pCLGdDQUFhLENBQUE7SUFDYixvQ0FBaUIsQ0FBQTtJQUNqQixnQ0FBYSxDQUFBO0lBQ2IsZ0NBQWEsQ0FBQTtBQUNqQixDQUFDLEVBWmlCLGVBQWUsS0FBZixlQUFlLFFBWWhDO0FBVUQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBa0IscUJBU2pCO0FBVEQsV0FBa0IscUJBQXFCO0lBQ25DOztPQUVHO0lBQ0gsa0RBQXlCLENBQUE7SUFDekI7O09BRUc7SUFDSCxzREFBNkIsQ0FBQTtBQUNqQyxDQUFDLEVBVGlCLHFCQUFxQixLQUFyQixxQkFBcUIsUUFTdEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSB0eXBlc2NyaXB0LXNvcnQta2V5cy9zdHJpbmctZW51bSxAZHluYXRyYWNlL2RlbS1lc2xpbnQtcnVsZXMvdW5pb24tdHlwZSAtLSBrZWVwIHRoaW5ncyBncm91cGVkICovXG4vLyBodHRwczovL2R0LXJuZC5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL0RFWC9wYWdlcy8zODIzMDQzNDcvUlVNK1VzZXJJbnRlcmFjdGlvbitFdmVudFxuXG5pbXBvcnQgdHlwZSB7XG4gICAgZXZlbnRDb250ZXh0U3ltYm9sLFxuICAgIFJVTVVzZXJJbnRlcmFjdGlvbkRyYWdFdmVudENvbnRleHQsXG4gICAgUlVNVXNlckludGVyYWN0aW9uRHJvcEV2ZW50Q29udGV4dCxcbiAgICBSVU1Vc2VySW50ZXJhY3Rpb25TaW5nbGVFdmVudENvbnRleHRcbn0gZnJvbSBcIi4vZXZlbnQtY29udGV4dC9ldmVudC1jb250ZXh0LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEdlbmVyYWxSdW1FdmVudEZpZWxkcyB9IGZyb20gXCIuL3NoYXJlZC1uYW1lc3BhY2VzLWFuZC1maWVsZHMvZ2VuZXJhbC1ydW0tZXZlbnQtZmllbGRzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFJ1bUV2ZW50S2V5cyB9IGZyb20gXCIuL3J1bS1ldmVudC1rZXlzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFNDSEVNQV9WRVJTSU9OIH0gZnJvbSBcIi4vc2NoZW1hLXZlcnNpb25zLmpzXCI7XG5cbi8qKlxuICogVXNlciBpbnRlcmFjdGlvbiBlbGVtZW50IGZpZWxkcy5cbiAqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzID1cbiAgICB8IFJ1bUV2ZW50S2V5cy5JTlRFUkFDVElPTiROQU1FXG4gICAgfCBSdW1FdmVudEtleXMuRE9NX0VWRU5UJElTX1RSVVNURURcblxuICAgIC8vIERyYWcgRWxlbWVudFxuICAgIHwgUnVtRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRJRFxuICAgIHwgUnVtRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRERVRFQ1RFRF9OQU1FXG4gICAgfCBSdW1FdmVudEtleXMuRFJBR19FTEVNRU5UJE5BTUVfT1JJR0lOXG4gICAgfCBSdW1FdmVudEtleXMuRFJBR19FTEVNRU5UJFRBR19OQU1FXG4gICAgfCBSdW1FdmVudEtleXMuRFJBR19FTEVNRU5UJFhQQVRIXG4gICAgfCBSdW1FdmVudEtleXMuRFJBR19FTEVNRU5UJFhQQVRIX1NIQURPV19ET01cbiAgICB8IFJ1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQ1VTVE9NX05BTUVcbiAgICB8IFJ1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkRkVBVFVSRVNcbiAgICB8IFJ1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkUFJPUEVSVElFU1xuICAgIHwgUnVtRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRDT01QT05FTlRTXG4gICAgfCBSdW1FdmVudEtleXMuRFJBR19FTEVNRU5UJENTU19DTEFTU1xuICAgIHwgUnVtRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRTUkMkRlVMTFxuICAgIHwgUnVtRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRBTFRcbiAgICB8IFJ1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkSFJFRiRGVUxMXG4gICAgfCBSdW1FdmVudEtleXMuRFJBR19FTEVNRU5UJEFOQ0VTVE9SJElEXG4gICAgfCBSdW1FdmVudEtleXMuRFJBR19FTEVNRU5UJEFOQ0VTVE9SJERFVEVDVEVEX05BTUVcbiAgICB8IFJ1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQU5DRVNUT1IkTkFNRV9PUklHSU5cbiAgICB8IFJ1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQU5DRVNUT1IkQ1VTVE9NX05BTUVcbiAgICB8IFJ1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQU5DRVNUT1IkVEFHX05BTUVcbiAgICB8IFJ1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQU5DRVNUT1IkWFBBVEhcbiAgICB8IFJ1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQU5DRVNUT1IkWFBBVEhfU0hBRE9XX0RPTVxuICAgIHwgUnVtRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRBTkNFU1RPUiRDU1NfQ0xBU1NcblxuICAgIC8vIEZvcm0gRWxlbWVudFxuICAgIHwgUnVtRXZlbnRLZXlzLkZPUk1fRUxFTUVOVCRJRFxuICAgIHwgUnVtRXZlbnRLZXlzLkZPUk1fRUxFTUVOVCRERVRFQ1RFRF9OQU1FXG4gICAgfCBSdW1FdmVudEtleXMuRk9STV9FTEVNRU5UJE5BTUVfT1JJR0lOXG4gICAgfCBSdW1FdmVudEtleXMuRk9STV9FTEVNRU5UJFhQQVRIXG4gICAgfCBSdW1FdmVudEtleXMuRk9STV9FTEVNRU5UJFhQQVRIX1NIQURPV19ET01cbiAgICB8IFJ1bUV2ZW50S2V5cy5GT1JNX0VMRU1FTlQkQ1VTVE9NX05BTUVcbiAgICB8IFJ1bUV2ZW50S2V5cy5GT1JNX0VMRU1FTlQkRkVBVFVSRVNcbiAgICB8IFJ1bUV2ZW50S2V5cy5GT1JNX0VMRU1FTlQkUFJPUEVSVElFU1xuICAgIHwgUnVtRXZlbnRLZXlzLkZPUk1fRUxFTUVOVCRDT01QT05FTlRTXG4gICAgfCBSdW1FdmVudEtleXMuRk9STV9FTEVNRU5UJENTU19DTEFTU1xuXG4gICAgLy8gTGFiZWwgRWxlbWVudFxuICAgIHwgUnVtRXZlbnRLZXlzLkxBQkVMX0VMRU1FTlQkSURcbiAgICB8IFJ1bUV2ZW50S2V5cy5MQUJFTF9FTEVNRU5UJERFVEVDVEVEX05BTUVcbiAgICB8IFJ1bUV2ZW50S2V5cy5MQUJFTF9FTEVNRU5UJE5BTUVfT1JJR0lOXG4gICAgfCBSdW1FdmVudEtleXMuTEFCRUxfRUxFTUVOVCRYUEFUSFxuICAgIHwgUnVtRXZlbnRLZXlzLkxBQkVMX0VMRU1FTlQkWFBBVEhfU0hBRE9XX0RPTVxuICAgIHwgUnVtRXZlbnRLZXlzLkxBQkVMX0VMRU1FTlQkQ1VTVE9NX05BTUVcbiAgICB8IFJ1bUV2ZW50S2V5cy5MQUJFTF9FTEVNRU5UJEZFQVRVUkVTXG4gICAgfCBSdW1FdmVudEtleXMuTEFCRUxfRUxFTUVOVCRQUk9QRVJUSUVTXG4gICAgfCBSdW1FdmVudEtleXMuTEFCRUxfRUxFTUVOVCRDT01QT05FTlRTXG4gICAgfCBSdW1FdmVudEtleXMuTEFCRUxfRUxFTUVOVCRDU1NfQ0xBU1NcblxuICAgIC8vIFVJIEVsZW1lbnRcbiAgICB8IFJ1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJElEXG4gICAgfCBSdW1FdmVudEtleXMuVUlfRUxFTUVOVCRERVRFQ1RFRF9OQU1FXG4gICAgfCBSdW1FdmVudEtleXMuVUlfRUxFTUVOVCROQU1FX09SSUdJTlxuICAgIHwgUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkVEFHX05BTUVcbiAgICB8IFJ1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJENVU1RPTV9OQU1FXG4gICAgfCBSdW1FdmVudEtleXMuVUlfRUxFTUVOVCRYUEFUSFxuICAgIHwgUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkWFBBVEhfU0hBRE9XX0RPTVxuICAgIHwgUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkRkVBVFVSRVNcbiAgICB8IFJ1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJFBST1BFUlRJRVNcbiAgICB8IFJ1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJENPTVBPTkVOVFNcbiAgICB8IFJ1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJENTU19DTEFTU1xuICAgIHwgUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkU1JDJEZVTExcbiAgICB8IFJ1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJEFMVFxuICAgIHwgUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkSFJFRiRGVUxMXG4gICAgfCBSdW1FdmVudEtleXMuVUlfRUxFTUVOVCRBTkNFU1RPUiRJRFxuICAgIHwgUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkQU5DRVNUT1IkREVURUNURURfTkFNRVxuICAgIHwgUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkQU5DRVNUT1IkTkFNRV9PUklHSU5cbiAgICB8IFJ1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJEFOQ0VTVE9SJENVU1RPTV9OQU1FXG4gICAgfCBSdW1FdmVudEtleXMuVUlfRUxFTUVOVCRBTkNFU1RPUiRUQUdfTkFNRVxuICAgIHwgUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkQU5DRVNUT1IkWFBBVEhcbiAgICB8IFJ1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJEFOQ0VTVE9SJFhQQVRIX1NIQURPV19ET01cbiAgICB8IFJ1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJEFOQ0VTVE9SJENTU19DTEFTU1xuICAgIC8vIE9ubHkgZm9yIGNoYW5nZSBldmVudFxuICAgIHwgUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkVkFMVUUkQ09OVEVOVFxuICAgIHwgUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkVkFMVUUkTEVOR1RIXG4gICAgfCBSdW1FdmVudEtleXMuVUlfRUxFTUVOVCRWQUxVRSRTRUxFQ1RJT05fQ09VTlRcbiAgICB8IFJ1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJFZBTFVFJFRZUEVcbiAgICB8IFJ1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJFZBTFVFJFZBTElESVRZXG5cbiAgICAvLyBTY3JvbGwgZXZlbnQgc3BlY2lmaWNcbiAgICB8IFJ1bUV2ZW50S2V5cy5TQ1JPTExfVEFSR0VUJFhQQVRIXG5cbiAgICAvLyBab29tIGV2ZW50IHNwZWNpZmljXG4gICAgfCBSdW1FdmVudEtleXMuWk9PTSRMRVZFTFxuXG4gICAgLy8gTW91c2Ugb3ZlciBldmVudCBzcGVjaWZpY1xuICAgIHwgUnVtRXZlbnRLZXlzLkRVUkFUSU9OO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGlnbm9yZVxuICovXG5leHBvcnQgY29uc3QgZW51bSBFbGVtZW50VHlwZXMge1xuICAgIFVJX0VMRU1FTlQgPSBcInVpX2VsZW1lbnRcIixcbiAgICBMQUJFTF9FTEVNRU5UID0gXCJsYWJlbF9lbGVtZW50XCIsXG4gICAgRk9STV9FTEVNRU5UID0gXCJmb3JtX2VsZW1lbnRcIixcbiAgICBEUkFHX0VMRU1FTlQgPSBcImRyYWdfZWxlbWVudFwiXG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFVzZXIgSW50ZXJhY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVUlFbGVtZW50RXZlbnRGaWVsZHMge1xuICAgIFtSdW1FdmVudEtleXMuVUlfRUxFTUVOVCRJRF0/OiBzdHJpbmc7XG4gICAgW1J1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJERFVEVDVEVEX05BTUVdOiBzdHJpbmcgfCBudWxsO1xuICAgIFtSdW1FdmVudEtleXMuVUlfRUxFTUVOVCROQU1FX09SSUdJTl06IHN0cmluZztcbiAgICBbUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkVEFHX05BTUVdOiBzdHJpbmc7XG4gICAgW1J1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJENVU1RPTV9OQU1FXT86IHN0cmluZztcbiAgICBbUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkWFBBVEhdPzogc3RyaW5nW107XG4gICAgW1J1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJFhQQVRIX1NIQURPV19ET01dPzogc3RyaW5nW107XG4gICAgW1J1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJEZFQVRVUkVTXT86IHN0cmluZ1tdO1xuICAgIFtSdW1FdmVudEtleXMuVUlfRUxFTUVOVCRQUk9QRVJUSUVTXT86IHN0cmluZ1tdO1xuICAgIFtSdW1FdmVudEtleXMuVUlfRUxFTUVOVCRDT01QT05FTlRTXT86IHN0cmluZ1tdO1xuICAgIFtSdW1FdmVudEtleXMuVUlfRUxFTUVOVCRDU1NfQ0xBU1NdPzogc3RyaW5nW107XG4gICAgW1J1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJFNSQyRGVUxMXT86IHN0cmluZztcbiAgICBbUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkQUxUXT86IHN0cmluZztcbiAgICBbUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkSFJFRiRGVUxMXT86IHN0cmluZztcbiAgICAvLyBBbmNlc3RvciBmaWVsZHNcbiAgICBbUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkQU5DRVNUT1IkSURdPzogc3RyaW5nO1xuICAgIFtSdW1FdmVudEtleXMuVUlfRUxFTUVOVCRBTkNFU1RPUiRERVRFQ1RFRF9OQU1FXT86IHN0cmluZztcbiAgICBbUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkQU5DRVNUT1IkTkFNRV9PUklHSU5dPzogc3RyaW5nO1xuICAgIFtSdW1FdmVudEtleXMuVUlfRUxFTUVOVCRBTkNFU1RPUiRDVVNUT01fTkFNRV0/OiBzdHJpbmc7XG4gICAgW1J1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJEFOQ0VTVE9SJFRBR19OQU1FXT86IHN0cmluZztcbiAgICBbUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkQU5DRVNUT1IkWFBBVEhdPzogc3RyaW5nW107XG4gICAgW1J1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJEFOQ0VTVE9SJFhQQVRIX1NIQURPV19ET01dPzogc3RyaW5nW107XG4gICAgW1J1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJEFOQ0VTVE9SJENTU19DTEFTU10/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3JtRWxlbWVudEV2ZW50RmllbGRzIHtcbiAgICBbUnVtRXZlbnRLZXlzLkZPUk1fRUxFTUVOVCRJRF0/OiBzdHJpbmc7XG4gICAgW1J1bUV2ZW50S2V5cy5GT1JNX0VMRU1FTlQkREVURUNURURfTkFNRV06IHN0cmluZztcbiAgICBbUnVtRXZlbnRLZXlzLkZPUk1fRUxFTUVOVCROQU1FX09SSUdJTl06IHN0cmluZztcbiAgICBbUnVtRXZlbnRLZXlzLkZPUk1fRUxFTUVOVCRDVVNUT01fTkFNRV0/OiBzdHJpbmc7XG4gICAgW1J1bUV2ZW50S2V5cy5GT1JNX0VMRU1FTlQkWFBBVEhdPzogc3RyaW5nW107XG4gICAgW1J1bUV2ZW50S2V5cy5GT1JNX0VMRU1FTlQkWFBBVEhfU0hBRE9XX0RPTV0/OiBzdHJpbmdbXTtcbiAgICBbUnVtRXZlbnRLZXlzLkZPUk1fRUxFTUVOVCRGRUFUVVJFU10/OiBzdHJpbmdbXTtcbiAgICBbUnVtRXZlbnRLZXlzLkZPUk1fRUxFTUVOVCRQUk9QRVJUSUVTXT86IHN0cmluZ1tdO1xuICAgIFtSdW1FdmVudEtleXMuRk9STV9FTEVNRU5UJENPTVBPTkVOVFNdPzogc3RyaW5nW107XG4gICAgW1J1bUV2ZW50S2V5cy5GT1JNX0VMRU1FTlQkQ1NTX0NMQVNTXT86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEludGVyYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIExhYmVsRWxlbWVudEV2ZW50RmllbGRzIHtcbiAgICBbUnVtRXZlbnRLZXlzLkxBQkVMX0VMRU1FTlQkSURdPzogc3RyaW5nO1xuICAgIFtSdW1FdmVudEtleXMuTEFCRUxfRUxFTUVOVCRERVRFQ1RFRF9OQU1FXTogc3RyaW5nO1xuICAgIFtSdW1FdmVudEtleXMuTEFCRUxfRUxFTUVOVCROQU1FX09SSUdJTl06IHN0cmluZztcbiAgICBbUnVtRXZlbnRLZXlzLkxBQkVMX0VMRU1FTlQkQ1VTVE9NX05BTUVdPzogc3RyaW5nO1xuICAgIFtSdW1FdmVudEtleXMuTEFCRUxfRUxFTUVOVCRYUEFUSF0/OiBzdHJpbmdbXTtcbiAgICBbUnVtRXZlbnRLZXlzLkxBQkVMX0VMRU1FTlQkWFBBVEhfU0hBRE9XX0RPTV0/OiBzdHJpbmdbXTtcbiAgICBbUnVtRXZlbnRLZXlzLkxBQkVMX0VMRU1FTlQkRkVBVFVSRVNdPzogc3RyaW5nW107XG4gICAgW1J1bUV2ZW50S2V5cy5MQUJFTF9FTEVNRU5UJFBST1BFUlRJRVNdPzogc3RyaW5nW107XG4gICAgW1J1bUV2ZW50S2V5cy5MQUJFTF9FTEVNRU5UJENPTVBPTkVOVFNdPzogc3RyaW5nW107XG4gICAgW1J1bUV2ZW50S2V5cy5MQUJFTF9FTEVNRU5UJENTU19DTEFTU10/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEcmFnRWxlbWVudEV2ZW50RmllbGRzIHtcbiAgICBbUnVtRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRJRF0/OiBzdHJpbmc7XG4gICAgW1J1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkREVURUNURURfTkFNRV06IHN0cmluZztcbiAgICBbUnVtRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCROQU1FX09SSUdJTl06IHN0cmluZztcbiAgICBbUnVtRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRUQUdfTkFNRV06IHN0cmluZztcbiAgICBbUnVtRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRDVVNUT01fTkFNRV0/OiBzdHJpbmc7XG4gICAgW1J1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkWFBBVEhdPzogc3RyaW5nW107XG4gICAgW1J1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkWFBBVEhfU0hBRE9XX0RPTV0/OiBzdHJpbmdbXTtcbiAgICBbUnVtRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRGRUFUVVJFU10/OiBzdHJpbmdbXTtcbiAgICBbUnVtRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRQUk9QRVJUSUVTXT86IHN0cmluZ1tdO1xuICAgIFtSdW1FdmVudEtleXMuRFJBR19FTEVNRU5UJENPTVBPTkVOVFNdPzogc3RyaW5nW107XG4gICAgW1J1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQ1NTX0NMQVNTXT86IHN0cmluZ1tdO1xuICAgIFtSdW1FdmVudEtleXMuRFJBR19FTEVNRU5UJFNSQyRGVUxMXT86IHN0cmluZztcbiAgICBbUnVtRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRBTFRdPzogc3RyaW5nO1xuICAgIFtSdW1FdmVudEtleXMuRFJBR19FTEVNRU5UJEhSRUYkRlVMTF0/OiBzdHJpbmc7XG4gICAgLy8gQW5jZXN0b3IgZmllbGRzXG4gICAgW1J1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQU5DRVNUT1IkSURdPzogc3RyaW5nO1xuICAgIFtSdW1FdmVudEtleXMuRFJBR19FTEVNRU5UJEFOQ0VTVE9SJERFVEVDVEVEX05BTUVdPzogc3RyaW5nO1xuICAgIFtSdW1FdmVudEtleXMuRFJBR19FTEVNRU5UJEFOQ0VTVE9SJE5BTUVfT1JJR0lOXT86IHN0cmluZztcbiAgICBbUnVtRXZlbnRLZXlzLkRSQUdfRUxFTUVOVCRBTkNFU1RPUiRDVVNUT01fTkFNRV0/OiBzdHJpbmc7XG4gICAgW1J1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQU5DRVNUT1IkVEFHX05BTUVdPzogc3RyaW5nO1xuICAgIFtSdW1FdmVudEtleXMuRFJBR19FTEVNRU5UJEFOQ0VTVE9SJFhQQVRIXT86IHN0cmluZ1tdO1xuICAgIFtSdW1FdmVudEtleXMuRFJBR19FTEVNRU5UJEFOQ0VTVE9SJFhQQVRIX1NIQURPV19ET01dPzogc3RyaW5nW107XG4gICAgW1J1bUV2ZW50S2V5cy5EUkFHX0VMRU1FTlQkQU5DRVNUT1IkQ1NTX0NMQVNTXT86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEludGVyYWN0aW9uc1xuICovXG5leHBvcnQgY29uc3QgZW51bSBVc2VySW50ZXJhY3Rpb24ge1xuICAgIEJMVVIgPSBcImJsdXJcIixcbiAgICBDSEFOR0UgPSBcImNoYW5nZVwiLFxuICAgIENMSUNLID0gXCJjbGlja1wiLFxuICAgIEZPQ1VTID0gXCJmb2N1c1wiLFxuICAgIEtFWV9QUkVTUyA9IFwia2V5X3ByZXNzXCIsXG4gICAgTU9VU0VfT1ZFUiA9IFwibW91c2Vfb3ZlclwiLFxuICAgIFNDUk9MTCA9IFwic2Nyb2xsXCIsXG4gICAgRFJBRyA9IFwiZHJhZ1wiLFxuICAgIFJFU0laRSA9IFwicmVzaXplXCIsXG4gICAgRFJPUCA9IFwiZHJvcFwiLFxuICAgIFpPT00gPSBcInpvb21cIlxufVxuXG4vKipcbiAqIERyYWcgYWN0aW9uIGZpZWxkcy5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IHR5cGUgRHJhZ0FjdGlvbktleXMgPVxuICAgIHwgUnVtRXZlbnRLZXlzLkRSQUdfUkVTT0xWRTtcblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IGVudW0gRHJhZ1Jlc29sdmVSZXNvbHV0aW9uIHtcbiAgICAvKipcbiAgICAgKiBUaGUgZWxlbWVudCB3YXMgZHJvcHBlZCBvbiBhIHZhbGlkIGRyb3Agem9uZS5cbiAgICAgKi9cbiAgICBWQUxJRF9EUk9QID0gXCJ2YWxpZF9kcm9wXCIsXG4gICAgLyoqXG4gICAgICogVGhlIGVsZW1lbnQgd2FzIG5vdCBkcm9wcGVkIG9uIGEgdmFsaWQgZHJvcCB6b25lLlxuICAgICAqL1xuICAgIElOVkFMSURfRFJPUCA9IFwiaW52YWxpZF9kcm9wXCJcbn1cblxuLyoqXG4gKiBDbGljayBhY3Rpb24gZmllbGRzLlxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgdHlwZSBDbGlja0FjdGlvbktleXMgPVxuICAgIHwgUnVtRXZlbnRLZXlzLk1PVVNFX0JVVFRPTjtcblxuLyoqXG4gKiBLZXlwcmVzcyBhY3Rpb24gZmllbGRzLlxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgdHlwZSBLZXlQcmVzc0FjdGlvbktleXMgPVxuICAgIHwgUnVtRXZlbnRLZXlzLktFWVNcbiAgICB8IFJ1bUV2ZW50S2V5cy5DT0RFXG4gICAgfCBSdW1FdmVudEtleXMuSVNfQ09NUE9TSU5HO1xuXG4vKipcbiAqIFBvc2l0aW9uIGluZm9ybWF0aW9uIGZpZWxkcy5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IHR5cGUgUG9zaXRpb25JbmZvcm1hdGlvbktleXMgPVxuICAgIHwgUnVtRXZlbnRLZXlzLlBPU0lUSU9OUztcblxuLyoqXG4gKiBAaWdub3JlXG4gKiBAaW5saW5lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9zaXRpb25JbmZvcm1hdGlvbiB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgICBzdGFydF90aW1lPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEludGVyYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJVTVVzZXJJbnRlcmFjdGlvbkJhc2UgZXh0ZW5kcyBHZW5lcmFsUnVtRXZlbnRGaWVsZHMge1xuICAgIFtSdW1FdmVudEtleXMuRFQkUlVNJFNDSEVNQV9WRVJTSU9OXTogdHlwZW9mIFNDSEVNQV9WRVJTSU9OO1xuICAgIFtSdW1FdmVudEtleXMuQ0hBUkFDVEVSSVNUSUNTJEhBU19VU0VSX0lOVEVSQUNUSU9OXTogdHJ1ZTtcbiAgICBbUnVtRXZlbnRLZXlzLkRPTV9FVkVOVCRJU19UUlVTVEVEXTogYm9vbGVhbjtcblxuICAgIFtldmVudENvbnRleHRTeW1ib2xdOiBSVU1Vc2VySW50ZXJhY3Rpb25TaW5nbGVFdmVudENvbnRleHQ7XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFVzZXIgSW50ZXJhY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnRlclBvc2l0aW9uSW5mb3JtYXRpb24ge1xuICAgIFtSdW1FdmVudEtleXMuUE9TSVRJT05TXTogUG9zaXRpb25JbmZvcm1hdGlvbltdO1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEludGVyYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJVTUNsaWNrQWN0aW9uRXZlbnQgZXh0ZW5kcyBSVU1Vc2VySW50ZXJhY3Rpb25CYXNlLCBQb2ludGVyUG9zaXRpb25JbmZvcm1hdGlvbiwgVUlFbGVtZW50RXZlbnRGaWVsZHMge1xuICAgIFtSdW1FdmVudEtleXMuSU5URVJBQ1RJT04kTkFNRV06IFVzZXJJbnRlcmFjdGlvbi5DTElDSztcbiAgICBbUnVtRXZlbnRLZXlzLk1PVVNFX0JVVFRPTl06IG51bWJlcjtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSVU1Nb3VzZU92ZXJBY3Rpb25FdmVudCBleHRlbmRzIFJVTVVzZXJJbnRlcmFjdGlvbkJhc2UsIFBvaW50ZXJQb3NpdGlvbkluZm9ybWF0aW9uLCBVSUVsZW1lbnRFdmVudEZpZWxkcyB7XG4gICAgW1J1bUV2ZW50S2V5cy5JTlRFUkFDVElPTiROQU1FXTogVXNlckludGVyYWN0aW9uLk1PVVNFX09WRVI7XG4gICAgW1J1bUV2ZW50S2V5cy5EVVJBVElPTl06IG51bWJlcjtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSVU1CbHVyQWN0aW9uRXZlbnQgZXh0ZW5kcyBSVU1Vc2VySW50ZXJhY3Rpb25CYXNlLCBVSUVsZW1lbnRFdmVudEZpZWxkcyB7XG4gICAgW1J1bUV2ZW50S2V5cy5JTlRFUkFDVElPTiROQU1FXTogVXNlckludGVyYWN0aW9uLkJMVVI7XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFVzZXIgSW50ZXJhY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUlVNRm9jdXNBY3Rpb25FdmVudCBleHRlbmRzIFJVTVVzZXJJbnRlcmFjdGlvbkJhc2UsIFVJRWxlbWVudEV2ZW50RmllbGRzIHtcbiAgICBbUnVtRXZlbnRLZXlzLklOVEVSQUNUSU9OJE5BTUVdOiBVc2VySW50ZXJhY3Rpb24uRk9DVVM7XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFVzZXIgSW50ZXJhY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUlVNS2V5UHJlc3NBY3Rpb25FdmVudCBleHRlbmRzIFJVTVVzZXJJbnRlcmFjdGlvbkJhc2UsIFVJRWxlbWVudEV2ZW50RmllbGRzIHtcbiAgICBbUnVtRXZlbnRLZXlzLklOVEVSQUNUSU9OJE5BTUVdOiBVc2VySW50ZXJhY3Rpb24uS0VZX1BSRVNTO1xuXG4gICAgW1J1bUV2ZW50S2V5cy5LRVlTXTogW2ZpcnN0OiBzdHJpbmcsIC4uLnJlc3Q6IHN0cmluZ1tdXTtcbiAgICAvKipcbiAgICAgKiAgQGludGVybmFsXG4gICAgICpcbiAgICAgKiAgTm90IHBhcnQgb2YgdGhlIHNwZWMsIGp1c3QgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlc1xuICAgICAqL1xuICAgIFtSdW1FdmVudEtleXMuQ09ERV06IHN0cmluZztcbiAgICAvKipcbiAgICAgKiAgQGludGVybmFsXG4gICAgICpcbiAgICAgKiAgTm90IHBhcnQgb2YgdGhlIHNwZWMsIGp1c3QgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlc1xuICAgICAqL1xuICAgIFtSdW1FdmVudEtleXMuSVNfQ09NUE9TSU5HXTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSVU1TY3JvbGxBY3Rpb25FdmVudCBleHRlbmRzIFJVTVVzZXJJbnRlcmFjdGlvbkJhc2UsIFVJRWxlbWVudEV2ZW50RmllbGRzLCBQb2ludGVyUG9zaXRpb25JbmZvcm1hdGlvbiB7XG4gICAgW1J1bUV2ZW50S2V5cy5JTlRFUkFDVElPTiROQU1FXTogVXNlckludGVyYWN0aW9uLlNDUk9MTDtcblxuICAgIFtSdW1FdmVudEtleXMuU0NST0xMX1RBUkdFVCRYUEFUSF0/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSVU1DaGFuZ2VBY3Rpb25FdmVudCBleHRlbmRzXG4gICAgUlVNVXNlckludGVyYWN0aW9uQmFzZSxcbiAgICBVSUVsZW1lbnRFdmVudEZpZWxkcyxcbiAgICBQYXJ0aWFsPExhYmVsRWxlbWVudEV2ZW50RmllbGRzPixcbiAgICBQYXJ0aWFsPEZvcm1FbGVtZW50RXZlbnRGaWVsZHM+IHtcblxuICAgIFtSdW1FdmVudEtleXMuSU5URVJBQ1RJT04kTkFNRV06IFVzZXJJbnRlcmFjdGlvbi5DSEFOR0U7XG5cbiAgICBbUnVtRXZlbnRLZXlzLlVJX0VMRU1FTlQkVkFMVUUkQ09OVEVOVF0/OiBzdHJpbmc7XG4gICAgW1J1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJFZBTFVFJFRZUEVdOiBzdHJpbmc7XG4gICAgW1J1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJFZBTFVFJExFTkdUSF0/OiBudW1iZXI7XG4gICAgW1J1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJFZBTFVFJFNFTEVDVElPTl9DT1VOVF0/OiBudW1iZXI7XG4gICAgW1J1bUV2ZW50S2V5cy5VSV9FTEVNRU5UJFZBTFVFJFZBTElESVRZXTogc3RyaW5nW107XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFVzZXIgSW50ZXJhY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUlVNRHJhZ0FjdGlvbkV2ZW50IGV4dGVuZHMgT21pdDxSVU1Vc2VySW50ZXJhY3Rpb25CYXNlLCB0eXBlb2YgZXZlbnRDb250ZXh0U3ltYm9sPiwgVUlFbGVtZW50RXZlbnRGaWVsZHMsIFBvaW50ZXJQb3NpdGlvbkluZm9ybWF0aW9uIHtcbiAgICBbUnVtRXZlbnRLZXlzLklOVEVSQUNUSU9OJE5BTUVdOiBVc2VySW50ZXJhY3Rpb24uRFJBRztcbiAgICBbUnVtRXZlbnRLZXlzLkRSQUdfUkVTT0xWRV06IERyYWdSZXNvbHZlUmVzb2x1dGlvbjtcblxuICAgIFtldmVudENvbnRleHRTeW1ib2xdOiBSVU1Vc2VySW50ZXJhY3Rpb25EcmFnRXZlbnRDb250ZXh0O1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEludGVyYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJVTVJlc2l6ZUFjdGlvbkV2ZW50IGV4dGVuZHMgUlVNVXNlckludGVyYWN0aW9uQmFzZSB7XG4gICAgW1J1bUV2ZW50S2V5cy5JTlRFUkFDVElPTiROQU1FXTogVXNlckludGVyYWN0aW9uLlJFU0laRTtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSVU1ab29tQWN0aW9uRXZlbnQgZXh0ZW5kcyBSVU1Vc2VySW50ZXJhY3Rpb25CYXNlIHtcbiAgICBbUnVtRXZlbnRLZXlzLklOVEVSQUNUSU9OJE5BTUVdOiBVc2VySW50ZXJhY3Rpb24uWk9PTTtcblxuICAgIFtSdW1FdmVudEtleXMuWk9PTSRMRVZFTF06IG51bWJlcjtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBJbnRlcmFjdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSVU1Ecm9wQWN0aW9uRXZlbnQgZXh0ZW5kcyBPbWl0PFJVTVVzZXJJbnRlcmFjdGlvbkJhc2UsIHR5cGVvZiBldmVudENvbnRleHRTeW1ib2w+LCBVSUVsZW1lbnRFdmVudEZpZWxkcywgUGFydGlhbDxEcmFnRWxlbWVudEV2ZW50RmllbGRzPiwgUG9pbnRlclBvc2l0aW9uSW5mb3JtYXRpb24ge1xuICAgIFtSdW1FdmVudEtleXMuSU5URVJBQ1RJT04kTkFNRV06IFVzZXJJbnRlcmFjdGlvbi5EUk9QO1xuXG4gICAgW2V2ZW50Q29udGV4dFN5bWJvbF06IFJVTVVzZXJJbnRlcmFjdGlvbkRyb3BFdmVudENvbnRleHQ7XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFVzZXIgSW50ZXJhY3Rpb25zXG4gKi9cbmV4cG9ydCB0eXBlIFJVTVVzZXJJbnRlcmFjdGlvbkV2ZW50ID0gUlVNQmx1ckFjdGlvbkV2ZW50XG4gICAgfCBSVU1DaGFuZ2VBY3Rpb25FdmVudFxuICAgIHwgUlVNQ2xpY2tBY3Rpb25FdmVudFxuICAgIHwgUlVNRHJhZ0FjdGlvbkV2ZW50XG4gICAgfCBSVU1Ecm9wQWN0aW9uRXZlbnRcbiAgICB8IFJVTUZvY3VzQWN0aW9uRXZlbnRcbiAgICB8IFJVTUtleVByZXNzQWN0aW9uRXZlbnRcbiAgICB8IFJVTU1vdXNlT3ZlckFjdGlvbkV2ZW50XG4gICAgfCBSVU1SZXNpemVBY3Rpb25FdmVudFxuICAgIHwgUlVNU2Nyb2xsQWN0aW9uRXZlbnRcbiAgICB8IFJVTVpvb21BY3Rpb25FdmVudDtcbiJdfQ==
|