@dynatrace/rum-javascript-sdk 1.329.6 → 1.331.7

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.
Files changed (70) hide show
  1. package/README.md +8 -8
  2. package/dist/testing/install.js +4 -1
  3. package/dist/testing/test.js +105 -15
  4. package/dist/types/index-typedoc.d.ts +1 -0
  5. package/dist/types/index-typedoc.js +2 -1
  6. package/dist/types/internal/beacon-query.d.ts +4 -1
  7. package/dist/types/internal/beacon-query.js +4 -1
  8. package/dist/types/rum-events/event-context/event-context.d.ts +3 -0
  9. package/dist/types/rum-events/event-context/event-context.js +1 -1
  10. package/dist/types/rum-events/event-updates.d.ts +3 -0
  11. package/dist/types/rum-events/event-updates.js +1 -1
  12. package/dist/types/rum-events/index.d.ts +1 -0
  13. package/dist/types/rum-events/index.js +2 -1
  14. package/dist/types/rum-events/json-event.d.ts +5 -8
  15. package/dist/types/rum-events/json-event.js +1 -1
  16. package/dist/types/rum-events/rum-biz-event.d.ts +8 -4
  17. package/dist/types/rum-events/rum-biz-event.js +2 -8
  18. package/dist/types/rum-events/rum-event-keys.d.ts +342 -0
  19. package/dist/types/rum-events/rum-event-keys.js +469 -0
  20. package/dist/types/rum-events/rum-event.d.ts +4 -3
  21. package/dist/types/rum-events/rum-event.js +1 -1
  22. package/dist/types/rum-events/rum-internal-selfmonitoring-event.d.ts +36 -9
  23. package/dist/types/rum-events/rum-internal-selfmonitoring-event.js +21 -5
  24. package/dist/types/rum-events/rum-long-task-event.d.ts +15 -16
  25. package/dist/types/rum-events/rum-long-task-event.js +2 -10
  26. package/dist/types/rum-events/rum-page-summary-event.d.ts +109 -166
  27. package/dist/types/rum-events/rum-page-summary-event.js +2 -88
  28. package/dist/types/rum-events/rum-selfmonitoring-event.d.ts +13 -11
  29. package/dist/types/rum-events/rum-selfmonitoring-event.js +1 -7
  30. package/dist/types/rum-events/rum-session-properties-event.d.ts +4 -3
  31. package/dist/types/rum-events/rum-session-properties-event.js +1 -1
  32. package/dist/types/rum-events/rum-standalone-csp-rule-violation-event.d.ts +6 -6
  33. package/dist/types/rum-events/rum-standalone-csp-rule-violation-event.js +1 -1
  34. package/dist/types/rum-events/rum-standalone-exception-event.d.ts +6 -6
  35. package/dist/types/rum-events/rum-standalone-exception-event.js +1 -1
  36. package/dist/types/rum-events/rum-standalone-navigation-event.d.ts +11 -7
  37. package/dist/types/rum-events/rum-standalone-navigation-event.js +2 -5
  38. package/dist/types/rum-events/rum-user-action-event.d.ts +96 -86
  39. package/dist/types/rum-events/rum-user-action-event.js +22 -37
  40. package/dist/types/rum-events/rum-user-interaction-event.d.ts +126 -152
  41. package/dist/types/rum-events/rum-user-interaction-event.js +4 -90
  42. package/dist/types/rum-events/rum-visibility-change-event.d.ts +12 -9
  43. package/dist/types/rum-events/rum-visibility-change-event.js +2 -6
  44. package/dist/types/rum-events/rum-web-request-event.d.ts +84 -105
  45. package/dist/types/rum-events/rum-web-request-event.js +9 -57
  46. package/dist/types/rum-events/schema-versions.d.ts +1 -1
  47. package/dist/types/rum-events/schema-versions.js +2 -2
  48. package/dist/types/rum-events/shared-namespaces-and-fields/csp-fields.d.ts +18 -30
  49. package/dist/types/rum-events/shared-namespaces-and-fields/csp-fields.js +3 -22
  50. package/dist/types/rum-events/shared-namespaces-and-fields/exception-fields.d.ts +12 -18
  51. package/dist/types/rum-events/shared-namespaces-and-fields/exception-fields.js +2 -19
  52. package/dist/types/rum-events/shared-namespaces-and-fields/general-rum-error-fields.d.ts +6 -6
  53. package/dist/types/rum-events/shared-namespaces-and-fields/general-rum-error-fields.js +1 -10
  54. package/dist/types/rum-events/shared-namespaces-and-fields/general-rum-event-fields.d.ts +50 -94
  55. package/dist/types/rum-events/shared-namespaces-and-fields/general-rum-event-fields.js +1 -75
  56. package/dist/types/rum-events/shared-namespaces-and-fields/http-namespace.d.ts +7 -8
  57. package/dist/types/rum-events/shared-namespaces-and-fields/http-namespace.js +2 -10
  58. package/dist/types/rum-events/shared-namespaces-and-fields/navigation-fields.d.ts +10 -10
  59. package/dist/types/rum-events/shared-namespaces-and-fields/navigation-fields.js +5 -15
  60. package/dist/types/rum-events/shared-namespaces-and-fields/page-source-fields.d.ts +8 -4
  61. package/dist/types/rum-events/shared-namespaces-and-fields/page-source-fields.js +2 -5
  62. package/dist/types/rum-events/shared-namespaces-and-fields/request-fields.d.ts +7 -7
  63. package/dist/types/rum-events/shared-namespaces-and-fields/request-fields.js +2 -9
  64. package/dist/types/rum-events/shared-namespaces-and-fields/view-source-fields.d.ts +7 -7
  65. package/dist/types/rum-events/shared-namespaces-and-fields/view-source-fields.js +2 -9
  66. package/dist/types/user-actions/user-action-end-event.d.ts +2 -2
  67. package/dist/types/user-actions/user-action-end-event.js +1 -1
  68. package/docs/testing.md +92 -0
  69. package/docs/types.md +1 -1
  70. package/package.json +4 -4
@@ -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
- * @category Shared Namespaces & Fields
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
- [RUMUserInteractionEventKeys.UI_ELEMENT$NAME]: string | null;
78
- [RUMUserInteractionEventKeys.UI_ELEMENT$NAME_ORIGIN]: string;
79
- [RUMUserInteractionEventKeys.UI_ELEMENT$TAG_NAME]: string;
80
- [RUMUserInteractionEventKeys.UI_ELEMENT$CUSTOM_NAME]?: string;
81
- [RUMUserInteractionEventKeys.UI_ELEMENT$XPATH]?: string[];
82
- [RUMUserInteractionEventKeys.UI_ELEMENT$FEATURES]?: string[];
83
- [RUMUserInteractionEventKeys.UI_ELEMENT$PROPERTIES]?: string[];
84
- [RUMUserInteractionEventKeys.UI_ELEMENT$CSS_CLASS]?: string[];
85
- [RUMUserInteractionEventKeys.UI_ELEMENT$SRC$FULL]?: string;
86
- [RUMUserInteractionEventKeys.UI_ELEMENT$ALT]?: string;
87
- [RUMUserInteractionEventKeys.UI_ELEMENT$HREF$FULL]?: string;
88
- [RUMUserInteractionEventKeys.UI_ELEMENT$ANCESTOR$NAME]?: string;
89
- [RUMUserInteractionEventKeys.UI_ELEMENT$ANCESTOR$NAME_ORIGIN]?: string;
90
- [RUMUserInteractionEventKeys.UI_ELEMENT$ANCESTOR$CUSTOM_NAME]?: string;
91
- [RUMUserInteractionEventKeys.UI_ELEMENT$ANCESTOR$TAG_NAME]?: string;
92
- [RUMUserInteractionEventKeys.UI_ELEMENT$ANCESTOR$XPATH]?: string[];
93
- [RUMUserInteractionEventKeys.UI_ELEMENT$ANCESTOR$CSS_CLASS]?: string[];
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
- [RUMUserInteractionEventKeys.FORM_ELEMENT$NAME]: string;
100
- [RUMUserInteractionEventKeys.FORM_ELEMENT$NAME_ORIGIN]: string;
101
- [RUMUserInteractionEventKeys.FORM_ELEMENT$CUSTOM_NAME]?: string;
102
- [RUMUserInteractionEventKeys.FORM_ELEMENT$XPATH]?: string[];
103
- [RUMUserInteractionEventKeys.FORM_ELEMENT$FEATURES]?: string[];
104
- [RUMUserInteractionEventKeys.FORM_ELEMENT$PROPERTIES]?: string[];
105
- [RUMUserInteractionEventKeys.FORM_ELEMENT$CSS_CLASS]?: string[];
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
- [RUMUserInteractionEventKeys.LABEL_ELEMENT$NAME]: string;
112
- [RUMUserInteractionEventKeys.LABEL_ELEMENT$NAME_ORIGIN]: string;
113
- [RUMUserInteractionEventKeys.LABEL_ELEMENT$CUSTOM_NAME]?: string;
114
- [RUMUserInteractionEventKeys.LABEL_ELEMENT$XPATH]?: string[];
115
- [RUMUserInteractionEventKeys.LABEL_ELEMENT$FEATURES]?: string[];
116
- [RUMUserInteractionEventKeys.LABEL_ELEMENT$PROPERTIES]?: string[];
117
- [RUMUserInteractionEventKeys.LABEL_ELEMENT$CSS_CLASS]?: string[];
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
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$NAME]: string;
124
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$NAME_ORIGIN]: string;
125
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$TAG_NAME]: string;
126
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$CUSTOM_NAME]?: string;
127
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$XPATH]?: string[];
128
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$FEATURES]?: string[];
129
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$PROPERTIES]?: string[];
130
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$CSS_CLASS]?: string[];
131
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$SRC$FULL]?: string;
132
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$ALT]?: string;
133
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$HREF$FULL]?: string;
134
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$ANCESTOR$NAME]?: string;
135
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$ANCESTOR$NAME_ORIGIN]?: string;
136
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$ANCESTOR$CUSTOM_NAME]?: string;
137
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$ANCESTOR$TAG_NAME]?: string;
138
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$ANCESTOR$XPATH]?: string[];
139
- [RUMUserInteractionEventKeys.DRAG_ELEMENT$ANCESTOR$CSS_CLASS]?: string[];
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
- export declare const enum DragActionKeys {
158
- DRAG_RESOLVE = "drag_resolve"
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
- export declare const enum ClickActionKeys {
174
- MOUSE_BUTTON = "mouse_button"
175
- }
176
- export declare const enum KeyPressActionKeys {
177
- KEYS = "keys",
178
- CODE = "code",
179
- IS_COMPOSING = "is_composing"
180
- }
181
- export declare const enum PositionInformationKeys {
182
- POSITIONS = "positions"
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
- [GeneralRumEventFieldsKeys.DT$RUM$SCHEMA_VERSION]: typeof SCHEMA_VERSION;
198
- [CharacteristicsFieldsKeys.CHARACTERISTICS$HAS_USER_INTERACTION]: true;
199
- [RUMUserInteractionEventKeys.DOM_EVENT$IS_TRUSTED]: boolean;
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
- [PositionInformationKeys.POSITIONS]: PositionInformation[];
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
- [RUMUserInteractionEventKeys.INTERACTION$NAME]: UserInteraction.CLICK;
213
- [ClickActionKeys.MOUSE_BUTTON]: number;
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
- [RUMUserInteractionEventKeys.INTERACTION$NAME]: UserInteraction.MOUSE_OVER;
220
- [RUMUserInteractionEventKeys.DURATION]: number;
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
- [RUMUserInteractionEventKeys.INTERACTION$NAME]: UserInteraction.BLUR;
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
- [RUMUserInteractionEventKeys.INTERACTION$NAME]: UserInteraction.FOCUS;
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
- [RUMUserInteractionEventKeys.INTERACTION$NAME]: UserInteraction.KEY_PRESS;
239
- [KeyPressActionKeys.KEYS]: [first: string, ...rest: string[]];
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
- [KeyPressActionKeys.CODE]: string;
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
- [KeyPressActionKeys.IS_COMPOSING]: boolean;
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
- [RUMUserInteractionEventKeys.INTERACTION$NAME]: UserInteraction.SCROLL;
258
- [RUMUserInteractionEventKeys.SCROLL_TARGET$XPATH]?: string[];
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
- [RUMUserInteractionEventKeys.INTERACTION$NAME]: UserInteraction.CHANGE;
265
- [RUMUserInteractionEventKeys.UI_ELEMENT$VALUE$CONTENT]?: string;
266
- [RUMUserInteractionEventKeys.UI_ELEMENT$VALUE$TYPE]: string;
267
- [RUMUserInteractionEventKeys.UI_ELEMENT$VALUE$LENGTH]?: number;
268
- [RUMUserInteractionEventKeys.UI_ELEMENT$VALUE$SELECTION_COUNT]?: number;
269
- [RUMUserInteractionEventKeys.UI_ELEMENT$VALUE$VALIDITY]: string[];
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
- [RUMUserInteractionEventKeys.INTERACTION$NAME]: UserInteraction.DRAG;
276
- [DragActionKeys.DRAG_RESOLVE]: DragResolveResolution;
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
- [RUMUserInteractionEventKeys.INTERACTION$NAME]: UserInteraction.RESIZE;
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
- [RUMUserInteractionEventKeys.INTERACTION$NAME]: UserInteraction.ZOOM;
290
- [RUMUserInteractionEventKeys.ZOOM$LEVEL]: number;
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
- [RUMUserInteractionEventKeys.INTERACTION$NAME]: UserInteraction.DROP;
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
- * @category Shared Namespaces & Fields
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==