@magic-xpa/gui 4.1100.0-dev4110.106 → 4.1100.0-dev4110.109
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/esm2020/index.mjs +71 -2
- package/esm2020/src/Commands.mjs +184 -0
- package/esm2020/src/Events.mjs +420 -0
- package/esm2020/src/EventsProcessor.mjs +67 -0
- package/esm2020/src/FocusManager.mjs +34 -0
- package/esm2020/src/GuiConstants.mjs +68 -0
- package/esm2020/src/GuiEnums.mjs +300 -0
- package/esm2020/src/GuiEnvironment.mjs +4 -0
- package/esm2020/src/IFlowMonitorQueue.mjs +2 -0
- package/esm2020/src/Manager.mjs +91 -0
- package/esm2020/src/UIBridge.mjs +32 -0
- package/esm2020/src/env/IEnvironment.mjs +2 -0
- package/esm2020/src/gui/ControlBase.mjs +3 -0
- package/esm2020/src/gui/GuiMgControl.mjs +125 -0
- package/esm2020/src/gui/GuiMgForm.mjs +4 -0
- package/esm2020/src/gui/KeyboardItem.mjs +135 -0
- package/esm2020/src/gui/LastFocusedVal.mjs +11 -0
- package/esm2020/src/gui/MgValue.mjs +16 -0
- package/esm2020/src/gui/PropParentInterface.mjs +2 -0
- package/esm2020/src/gui/low/DialogHandler.mjs +7 -0
- package/esm2020/src/gui/low/GuiCommand.mjs +66 -0
- package/esm2020/src/gui/low/GuiCommandQueue.mjs +35 -0
- package/esm2020/src/gui/low/GuiInteractive.mjs +176 -0
- package/esm2020/src/gui/low/Style.mjs +20 -0
- package/esm2020/src/management/RuntimeContextBase.mjs +43 -0
- package/esm2020/src/management/data/BlobType.mjs +281 -0
- package/esm2020/src/management/data/DcValues.mjs +214 -0
- package/esm2020/src/management/data/DcValuesBuilderBase.mjs +96 -0
- package/esm2020/src/management/data/FieldDef.mjs +331 -0
- package/esm2020/src/management/data/FieldsTable.mjs +54 -0
- package/esm2020/src/management/data/GuiDataViewBase.mjs +90 -0
- package/esm2020/src/management/data/GuiFieldBase.mjs +82 -0
- package/esm2020/src/management/data/IRecord.mjs +2 -0
- package/esm2020/src/management/data/IReferencedObject.mjs +2 -0
- package/esm2020/src/management/data/NUM_TYPE.mjs +1741 -0
- package/esm2020/src/management/data/ObjectReferenceBase.mjs +48 -0
- package/esm2020/src/management/data/ObjectReferencesCollection.mjs +29 -0
- package/esm2020/src/management/data/RecordUtils.mjs +361 -0
- package/esm2020/src/management/data/VectorType.mjs +612 -0
- package/esm2020/src/management/data/VectorTypeBase.mjs +88 -0
- package/esm2020/src/management/events/IActionManager.mjs +2 -0
- package/esm2020/src/management/events/IGuiEventsManager.mjs +2 -0
- package/esm2020/src/management/exp/ExpressionInterface.mjs +244 -0
- package/esm2020/src/management/exp/GuiExpressionEvaluator.mjs +307 -0
- package/esm2020/src/management/gui/ControlTable.mjs +118 -0
- package/esm2020/src/management/gui/DisplayConvertor.mjs +1679 -0
- package/esm2020/src/management/gui/FieldValidator.mjs +711 -0
- package/esm2020/src/management/gui/GuiControlPropertyAdapter.mjs +22 -0
- package/esm2020/src/management/gui/GuiFormPropertyAdapter.mjs +11 -0
- package/esm2020/src/management/gui/HebrewDate.mjs +278 -0
- package/esm2020/src/management/gui/Helps.mjs +237 -0
- package/esm2020/src/management/gui/MgControlBase.mjs +1858 -0
- package/esm2020/src/management/gui/MgFormBase.mjs +741 -0
- package/esm2020/src/management/gui/PIC.mjs +1185 -0
- package/esm2020/src/management/gui/PropDefaults.mjs +230 -0
- package/esm2020/src/management/gui/PropInterface.mjs +245 -0
- package/esm2020/src/management/gui/PropTable.mjs +221 -0
- package/esm2020/src/management/gui/Property.mjs +1356 -0
- package/esm2020/src/management/gui/ValidationDetails.mjs +248 -0
- package/esm2020/src/management/gui/ValidationDetailsBase.mjs +93 -0
- package/esm2020/src/management/gui/WrongFormatException.mjs +29 -0
- package/esm2020/src/management/tasks/GuiDataCollection.mjs +4 -0
- package/esm2020/src/management/tasks/GuiTaskBase.mjs +510 -0
- package/esm2020/src/management/tasks/IMGDataTable.mjs +2 -0
- package/esm2020/src/management/tasks/ITask.mjs +2 -0
- package/esm2020/src/management/tasks/MgTimer.mjs +21 -0
- package/esm2020/src/management/tasks/TaskDefinitionId.mjs +54 -0
- package/esm2020/src/management/tasks/TaskDefinitionIdTableSaxHandler.mjs +41 -0
- package/esm2020/src/util/MemoryUtil.mjs +35 -0
- package/esm2020/src/util/ObjectReference.mjs +36 -0
- package/esm2020/src/util/UsernamePasswordCredentials.mjs +52 -0
- package/fesm2015/magic-xpa-gui.mjs +16389 -0
- package/fesm2015/magic-xpa-gui.mjs.map +1 -1
- package/fesm2020/magic-xpa-gui.mjs +16203 -0
- package/fesm2020/magic-xpa-gui.mjs.map +1 -1
- package/index.d.ts +70 -1
- package/package.json +2 -2
- package/src/Commands.d.ts +40 -0
- package/src/Events.d.ts +155 -0
- package/src/EventsProcessor.d.ts +13 -0
- package/src/FocusManager.d.ts +8 -0
- package/src/GuiConstants.d.ts +65 -0
- package/src/GuiEnums.d.ts +282 -0
- package/src/GuiEnvironment.d.ts +4 -0
- package/src/IFlowMonitorQueue.d.ts +3 -0
- package/src/Manager.d.ts +26 -0
- package/src/UIBridge.d.ts +16 -0
- package/src/env/IEnvironment.d.ts +31 -0
- package/src/gui/ControlBase.d.ts +4 -0
- package/src/gui/GuiMgControl.d.ts +38 -0
- package/src/gui/GuiMgForm.d.ts +3 -0
- package/src/gui/KeyboardItem.d.ts +18 -0
- package/src/gui/LastFocusedVal.d.ts +7 -0
- package/src/gui/MgValue.d.ts +15 -0
- package/src/gui/PropParentInterface.d.ts +13 -0
- package/src/gui/low/DialogHandler.d.ts +4 -0
- package/src/gui/low/GuiCommand.d.ts +37 -0
- package/src/gui/low/GuiCommandQueue.d.ts +13 -0
- package/src/gui/low/GuiInteractive.d.ts +55 -0
- package/src/gui/low/Style.d.ts +19 -0
- package/src/management/RuntimeContextBase.d.ts +23 -0
- package/src/management/data/BlobType.d.ts +29 -0
- package/src/management/data/DcValues.d.ts +33 -0
- package/src/management/data/DcValuesBuilderBase.d.ts +17 -0
- package/src/management/data/FieldDef.d.ts +53 -0
- package/src/management/data/FieldsTable.d.ts +16 -0
- package/src/management/data/GuiDataViewBase.d.ts +27 -0
- package/src/management/data/GuiFieldBase.d.ts +17 -0
- package/src/management/data/IRecord.d.ts +12 -0
- package/src/management/data/IReferencedObject.d.ts +5 -0
- package/src/management/data/NUM_TYPE.d.ts +103 -0
- package/src/management/data/ObjectReferenceBase.d.ts +16 -0
- package/src/management/data/ObjectReferencesCollection.d.ts +10 -0
- package/src/management/data/RecordUtils.d.ts +21 -0
- package/src/management/data/VectorType.d.ts +52 -0
- package/src/management/data/VectorTypeBase.d.ts +8 -0
- package/src/management/events/IActionManager.d.ts +7 -0
- package/src/management/events/IGuiEventsManager.d.ts +20 -0
- package/src/management/exp/ExpressionInterface.d.ts +242 -0
- package/src/management/exp/GuiExpressionEvaluator.d.ts +47 -0
- package/src/management/gui/ControlTable.d.ts +28 -0
- package/src/management/gui/DisplayConvertor.d.ts +103 -0
- package/src/management/gui/FieldValidator.d.ts +35 -0
- package/src/management/gui/GuiControlPropertyAdapter.d.ts +40 -0
- package/src/management/gui/GuiFormPropertyAdapter.d.ts +17 -0
- package/src/management/gui/HebrewDate.d.ts +46 -0
- package/src/management/gui/Helps.d.ts +51 -0
- package/src/management/gui/MgControlBase.d.ts +223 -0
- package/src/management/gui/MgFormBase.d.ts +160 -0
- package/src/management/gui/PIC.d.ts +108 -0
- package/src/management/gui/PropDefaults.d.ts +7 -0
- package/src/management/gui/PropInterface.d.ts +243 -0
- package/src/management/gui/PropTable.d.ts +33 -0
- package/src/management/gui/Property.d.ts +121 -0
- package/src/management/gui/ValidationDetails.d.ts +52 -0
- package/src/management/gui/ValidationDetailsBase.d.ts +14 -0
- package/src/management/gui/WrongFormatException.d.ts +9 -0
- package/src/management/tasks/GuiDataCollection.d.ts +4 -0
- package/src/management/tasks/GuiTaskBase.d.ts +150 -0
- package/src/management/tasks/IMGDataTable.d.ts +10 -0
- package/src/management/tasks/ITask.d.ts +6 -0
- package/src/management/tasks/MgTimer.d.ts +8 -0
- package/src/management/tasks/TaskDefinitionId.d.ts +16 -0
- package/src/management/tasks/TaskDefinitionIdTableSaxHandler.d.ts +7 -0
- package/src/util/MemoryUtil.d.ts +6 -0
- package/src/util/ObjectReference.d.ts +9 -0
- package/src/util/UsernamePasswordCredentials.d.ts +18 -0
package/esm2020/index.mjs
CHANGED
|
@@ -1,2 +1,71 @@
|
|
|
1
|
-
export * from "./
|
|
2
|
-
|
|
1
|
+
export * from "./src/Commands";
|
|
2
|
+
export * from "./src/Events";
|
|
3
|
+
export * from "./src/EventsProcessor";
|
|
4
|
+
export * from "./src/FocusManager";
|
|
5
|
+
export * from "./src/GuiConstants";
|
|
6
|
+
export * from "./src/GuiEnums";
|
|
7
|
+
export * from "./src/GuiEnvironment";
|
|
8
|
+
export * from "./src/IFlowMonitorQueue";
|
|
9
|
+
export * from "./src/Manager";
|
|
10
|
+
export * from "./src/UIBridge";
|
|
11
|
+
export * from "./src/env/IEnvironment";
|
|
12
|
+
export * from "./src/gui/ControlBase";
|
|
13
|
+
export * from "./src/gui/GuiMgControl";
|
|
14
|
+
export * from "./src/gui/GuiMgForm";
|
|
15
|
+
export * from "./src/gui/KeyboardItem";
|
|
16
|
+
export * from "./src/gui/LastFocusedVal";
|
|
17
|
+
export * from "./src/gui/MgValue";
|
|
18
|
+
export * from "./src/gui/PropParentInterface";
|
|
19
|
+
export * from "./src/gui/low/DialogHandler";
|
|
20
|
+
export * from "./src/gui/low/GuiCommand";
|
|
21
|
+
export * from "./src/gui/low/GuiCommandQueue";
|
|
22
|
+
export * from "./src/gui/low/GuiInteractive";
|
|
23
|
+
export * from "./src/gui/low/Style";
|
|
24
|
+
export * from "./src/management/RuntimeContextBase";
|
|
25
|
+
export * from "./src/management/data/BlobType";
|
|
26
|
+
export * from "./src/management/data/DcValues";
|
|
27
|
+
export * from "./src/management/data/DcValuesBuilderBase";
|
|
28
|
+
export * from "./src/management/data/FieldDef";
|
|
29
|
+
export * from "./src/management/data/FieldsTable";
|
|
30
|
+
export * from "./src/management/data/GuiDataViewBase";
|
|
31
|
+
export * from "./src/management/data/GuiFieldBase";
|
|
32
|
+
export * from "./src/management/data/IRecord";
|
|
33
|
+
export * from "./src/management/data/IReferencedObject";
|
|
34
|
+
export * from "./src/management/data/NUM_TYPE";
|
|
35
|
+
export * from "./src/management/data/ObjectReferenceBase";
|
|
36
|
+
export * from "./src/management/data/ObjectReferencesCollection";
|
|
37
|
+
export * from "./src/management/data/RecordUtils";
|
|
38
|
+
export * from "./src/management/data/VectorType";
|
|
39
|
+
export * from "./src/management/data/VectorTypeBase";
|
|
40
|
+
export * from "./src/management/events/IActionManager";
|
|
41
|
+
export * from "./src/management/events/IGuiEventsManager";
|
|
42
|
+
export * from "./src/management/exp/ExpressionInterface";
|
|
43
|
+
export * from "./src/management/exp/GuiExpressionEvaluator";
|
|
44
|
+
export * from "./src/management/gui/ControlTable";
|
|
45
|
+
export * from "./src/management/gui/DisplayConvertor";
|
|
46
|
+
export * from "./src/management/gui/FieldValidator";
|
|
47
|
+
export * from "./src/management/gui/GuiControlPropertyAdapter";
|
|
48
|
+
export * from "./src/management/gui/GuiFormPropertyAdapter";
|
|
49
|
+
export * from "./src/management/gui/HebrewDate";
|
|
50
|
+
export * from "./src/management/gui/Helps";
|
|
51
|
+
export * from "./src/management/gui/MgControlBase";
|
|
52
|
+
export * from "./src/management/gui/MgFormBase";
|
|
53
|
+
export * from "./src/management/gui/PIC";
|
|
54
|
+
export * from "./src/management/gui/PropDefaults";
|
|
55
|
+
export * from "./src/management/gui/Property";
|
|
56
|
+
export * from "./src/management/gui/PropInterface";
|
|
57
|
+
export * from "./src/management/gui/PropTable";
|
|
58
|
+
export * from "./src/management/gui/ValidationDetails";
|
|
59
|
+
export * from "./src/management/gui/ValidationDetailsBase";
|
|
60
|
+
export * from "./src/management/gui/WrongFormatException";
|
|
61
|
+
export * from "./src/management/tasks/GuiDataCollection";
|
|
62
|
+
export * from "./src/management/tasks/GuiTaskBase";
|
|
63
|
+
export * from "./src/management/tasks/IMGDataTable";
|
|
64
|
+
export * from "./src/management/tasks/ITask";
|
|
65
|
+
export * from "./src/management/tasks/MgTimer";
|
|
66
|
+
export * from "./src/management/tasks/TaskDefinitionId";
|
|
67
|
+
export * from "./src/management/tasks/TaskDefinitionIdTableSaxHandler";
|
|
68
|
+
export * from "./src/util/MemoryUtil";
|
|
69
|
+
export * from "./src/util/ObjectReference";
|
|
70
|
+
export * from "./src/util/UsernamePasswordCredentials";
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0NvbW1hbmRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvRXZlbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvRXZlbnRzUHJvY2Vzc29yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvRm9jdXNNYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvR3VpQ29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvR3VpRW51bXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9HdWlFbnZpcm9ubWVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0lGbG93TW9uaXRvclF1ZXVlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvTWFuYWdlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL1VJQnJpZGdlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvZW52L0lFbnZpcm9ubWVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL2d1aS9Db250cm9sQmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL2d1aS9HdWlNZ0NvbnRyb2xcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9ndWkvR3VpTWdGb3JtXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvZ3VpL0tleWJvYXJkSXRlbVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL2d1aS9MYXN0Rm9jdXNlZFZhbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL2d1aS9NZ1ZhbHVlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvZ3VpL1Byb3BQYXJlbnRJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9ndWkvbG93L0RpYWxvZ0hhbmRsZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9ndWkvbG93L0d1aUNvbW1hbmRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9ndWkvbG93L0d1aUNvbW1hbmRRdWV1ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL2d1aS9sb3cvR3VpSW50ZXJhY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9ndWkvbG93L1N0eWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvbWFuYWdlbWVudC9SdW50aW1lQ29udGV4dEJhc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9tYW5hZ2VtZW50L2RhdGEvQmxvYlR5cGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9tYW5hZ2VtZW50L2RhdGEvRGNWYWx1ZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9tYW5hZ2VtZW50L2RhdGEvRGNWYWx1ZXNCdWlsZGVyQmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvZGF0YS9GaWVsZERlZlwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvZGF0YS9GaWVsZHNUYWJsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvZGF0YS9HdWlEYXRhVmlld0Jhc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9tYW5hZ2VtZW50L2RhdGEvR3VpRmllbGRCYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvbWFuYWdlbWVudC9kYXRhL0lSZWNvcmRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9tYW5hZ2VtZW50L2RhdGEvSVJlZmVyZW5jZWRPYmplY3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9tYW5hZ2VtZW50L2RhdGEvTlVNX1RZUEVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9tYW5hZ2VtZW50L2RhdGEvT2JqZWN0UmVmZXJlbmNlQmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvZGF0YS9PYmplY3RSZWZlcmVuY2VzQ29sbGVjdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvZGF0YS9SZWNvcmRVdGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvZGF0YS9WZWN0b3JUeXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvbWFuYWdlbWVudC9kYXRhL1ZlY3RvclR5cGVCYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvbWFuYWdlbWVudC9ldmVudHMvSUFjdGlvbk1hbmFnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9tYW5hZ2VtZW50L2V2ZW50cy9JR3VpRXZlbnRzTWFuYWdlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvZXhwL0V4cHJlc3Npb25JbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9tYW5hZ2VtZW50L2V4cC9HdWlFeHByZXNzaW9uRXZhbHVhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvbWFuYWdlbWVudC9ndWkvQ29udHJvbFRhYmxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvbWFuYWdlbWVudC9ndWkvRGlzcGxheUNvbnZlcnRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvZ3VpL0ZpZWxkVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvbWFuYWdlbWVudC9ndWkvR3VpQ29udHJvbFByb3BlcnR5QWRhcHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvZ3VpL0d1aUZvcm1Qcm9wZXJ0eUFkYXB0ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9tYW5hZ2VtZW50L2d1aS9IZWJyZXdEYXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvbWFuYWdlbWVudC9ndWkvSGVscHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9tYW5hZ2VtZW50L2d1aS9NZ0NvbnRyb2xCYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvbWFuYWdlbWVudC9ndWkvTWdGb3JtQmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvZ3VpL1BJQ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvZ3VpL1Byb3BEZWZhdWx0c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvZ3VpL1Byb3BlcnR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvbWFuYWdlbWVudC9ndWkvUHJvcEludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvZ3VpL1Byb3BUYWJsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvZ3VpL1ZhbGlkYXRpb25EZXRhaWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvbWFuYWdlbWVudC9ndWkvVmFsaWRhdGlvbkRldGFpbHNCYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvbWFuYWdlbWVudC9ndWkvV3JvbmdGb3JtYXRFeGNlcHRpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9tYW5hZ2VtZW50L3Rhc2tzL0d1aURhdGFDb2xsZWN0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvbWFuYWdlbWVudC90YXNrcy9HdWlUYXNrQmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvdGFza3MvSU1HRGF0YVRhYmxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvbWFuYWdlbWVudC90YXNrcy9JVGFza1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvdGFza3MvTWdUaW1lclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvdGFza3MvVGFza0RlZmluaXRpb25JZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL21hbmFnZW1lbnQvdGFza3MvVGFza0RlZmluaXRpb25JZFRhYmxlU2F4SGFuZGxlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3V0aWwvTWVtb3J5VXRpbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3V0aWwvT2JqZWN0UmVmZXJlbmNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdXRpbC9Vc2VybmFtZVBhc3N3b3JkQ3JlZGVudGlhbHNcIjtcbiJdfQ==
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { List } from '@magic-xpa/mscorelib';
|
|
2
|
+
import { GuiInteractive } from './gui/low/GuiInteractive';
|
|
3
|
+
import { GuiMgControl } from './gui/GuiMgControl';
|
|
4
|
+
import { CommandType } from './GuiEnums';
|
|
5
|
+
import { GuiCommandQueue } from './gui/low/GuiCommandQueue';
|
|
6
|
+
import { GuiCommand } from './gui/low/GuiCommand';
|
|
7
|
+
export class Commands {
|
|
8
|
+
static SetResolveCallback(resolveCallback) {
|
|
9
|
+
this.resolveCallback = resolveCallback;
|
|
10
|
+
}
|
|
11
|
+
static ResolvePromise(result) {
|
|
12
|
+
this.resolveCallback(result);
|
|
13
|
+
}
|
|
14
|
+
static async messageBox(title, msg, style) {
|
|
15
|
+
let guiInteractive = new GuiInteractive();
|
|
16
|
+
let returnValue;
|
|
17
|
+
await new Promise((resolve) => {
|
|
18
|
+
this.SetResolveCallback(resolve);
|
|
19
|
+
guiInteractive.messageBox(title, msg, style);
|
|
20
|
+
}).then((res) => { returnValue = res; });
|
|
21
|
+
return returnValue;
|
|
22
|
+
}
|
|
23
|
+
static async openOverlayForm(obj, formName, handlerTaskTag, calledTaskTag, inputControls, isDialog) {
|
|
24
|
+
let guiInteractive = new GuiInteractive();
|
|
25
|
+
await new Promise((resolve) => {
|
|
26
|
+
this.SetResolveCallback(resolve);
|
|
27
|
+
guiInteractive.ExecuteOpenOverlayForm(obj, formName, handlerTaskTag, calledTaskTag, inputControls, isDialog);
|
|
28
|
+
}).then();
|
|
29
|
+
}
|
|
30
|
+
static setTitle(topMostForm, title) {
|
|
31
|
+
let guiInteractive = new GuiInteractive();
|
|
32
|
+
guiInteractive.setTitle(topMostForm, title);
|
|
33
|
+
}
|
|
34
|
+
static setGetSuggestedValueOfChoiceControlOnTagData(ctrl, line, retSuggestedValue) {
|
|
35
|
+
let guiInteractive = new GuiInteractive();
|
|
36
|
+
guiInteractive.setGetSuggestedValueOfChoiceControlOnTagData(ctrl, line, retSuggestedValue);
|
|
37
|
+
}
|
|
38
|
+
static getValue(obj, line) {
|
|
39
|
+
let guiInteractive = new GuiInteractive();
|
|
40
|
+
return guiInteractive.getValue(obj, line);
|
|
41
|
+
}
|
|
42
|
+
static getTopIndex(tablecontrol) {
|
|
43
|
+
let guiInteractive = new GuiInteractive();
|
|
44
|
+
return guiInteractive.getTopIndex(tablecontrol);
|
|
45
|
+
}
|
|
46
|
+
static getIsRowEditing(tablecontrol, rowIndex, isLineMode) {
|
|
47
|
+
let guiInteractive = new GuiInteractive();
|
|
48
|
+
return guiInteractive.getIsRowEditing(tablecontrol, rowIndex, isLineMode);
|
|
49
|
+
}
|
|
50
|
+
static setEditText(control, line, text) {
|
|
51
|
+
let guiInteractive = new GuiInteractive();
|
|
52
|
+
return guiInteractive.setEditText(control, line, text);
|
|
53
|
+
}
|
|
54
|
+
static insertEditText(control, line, startPosition, textToInsert) {
|
|
55
|
+
let guiInteractive = new GuiInteractive();
|
|
56
|
+
return guiInteractive.insertEditText(control, line, startPosition, textToInsert);
|
|
57
|
+
}
|
|
58
|
+
static caretPosGet(control, line) {
|
|
59
|
+
let guiInteractive = new GuiInteractive();
|
|
60
|
+
return guiInteractive.caretPosGet(control, line);
|
|
61
|
+
}
|
|
62
|
+
static addRefreshPage(navigateToRootRoute, initialUrl) {
|
|
63
|
+
let guiInteractive = new GuiInteractive();
|
|
64
|
+
guiInteractive.RefreshPage(navigateToRootRoute, initialUrl);
|
|
65
|
+
}
|
|
66
|
+
static getRowsInPage(control) {
|
|
67
|
+
let guiInteractive = new GuiInteractive();
|
|
68
|
+
let rowsInPage = guiInteractive.getRowsInPage(control);
|
|
69
|
+
return (rowsInPage === 0 ? 1 : rowsInPage);
|
|
70
|
+
}
|
|
71
|
+
static getMaxRowsInPaginatedTable(control) {
|
|
72
|
+
let guiInteractive = new GuiInteractive();
|
|
73
|
+
let maxRows = guiInteractive.getMaxRowsInPaginatedTable(control);
|
|
74
|
+
return (maxRows);
|
|
75
|
+
}
|
|
76
|
+
static getLastRoute() {
|
|
77
|
+
let guiInteractive = new GuiInteractive();
|
|
78
|
+
return guiInteractive.getLastRoute();
|
|
79
|
+
}
|
|
80
|
+
static addBoolWithLine(commandType, obj, line, bool) {
|
|
81
|
+
let guiCommand = new GuiCommand(obj, commandType);
|
|
82
|
+
guiCommand.Bool1 = bool;
|
|
83
|
+
guiCommand.line = line;
|
|
84
|
+
GuiCommandQueue.getInstance().addCommand(guiCommand);
|
|
85
|
+
}
|
|
86
|
+
static addNoParameters(commandType, obj) {
|
|
87
|
+
let guiCommand = new GuiCommand(obj, commandType);
|
|
88
|
+
GuiCommandQueue.getInstance().addCommand(guiCommand);
|
|
89
|
+
}
|
|
90
|
+
static addWithNumber(commandType, obj, num) {
|
|
91
|
+
let guiCommand = new GuiCommand(obj, commandType);
|
|
92
|
+
guiCommand.number = num;
|
|
93
|
+
GuiCommandQueue.getInstance().addCommand(guiCommand);
|
|
94
|
+
}
|
|
95
|
+
static addValueWithLine(commandType, obj, line, value) {
|
|
96
|
+
let guiCommand = new GuiCommand(obj, commandType);
|
|
97
|
+
guiCommand.value = value;
|
|
98
|
+
guiCommand.line = line;
|
|
99
|
+
if (commandType === CommandType.SET_VALUE) {
|
|
100
|
+
if (obj instanceof GuiMgControl && obj.isChoiceControl()) {
|
|
101
|
+
if (value < 0)
|
|
102
|
+
if (obj.isComboBox())
|
|
103
|
+
guiCommand.value = undefined;
|
|
104
|
+
else
|
|
105
|
+
guiCommand.value = '';
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
GuiCommandQueue.getInstance().addCommand(guiCommand);
|
|
109
|
+
}
|
|
110
|
+
static addOperationWithLine(commandType, obj, line, operation, value) {
|
|
111
|
+
let guiCommand = new GuiCommand(obj, commandType);
|
|
112
|
+
guiCommand.obj1 = value;
|
|
113
|
+
guiCommand.line = line;
|
|
114
|
+
guiCommand.Operation = operation;
|
|
115
|
+
GuiCommandQueue.getInstance().addCommand(guiCommand);
|
|
116
|
+
}
|
|
117
|
+
static addOpensubform(commandType, obj, calledTaskTag, subformControlName, formName, inputControls, routerPath, routerParams, inDefaultRouterOutlet) {
|
|
118
|
+
let guiCommand = new GuiCommand(obj, commandType);
|
|
119
|
+
guiCommand.str = calledTaskTag;
|
|
120
|
+
guiCommand.obj1 = subformControlName;
|
|
121
|
+
guiCommand.userDropFormat = formName;
|
|
122
|
+
guiCommand.fileName = inputControls;
|
|
123
|
+
guiCommand.Bool1 = inDefaultRouterOutlet;
|
|
124
|
+
guiCommand.contextID = routerPath;
|
|
125
|
+
guiCommand.params = routerParams;
|
|
126
|
+
GuiCommandQueue.getInstance().addCommand(guiCommand);
|
|
127
|
+
}
|
|
128
|
+
static addClosesubform(commandType, obj, calledTaskTag, subformControlName, formName) {
|
|
129
|
+
let guiCommand = new GuiCommand(obj, commandType);
|
|
130
|
+
guiCommand.str = calledTaskTag;
|
|
131
|
+
guiCommand.obj1 = subformControlName;
|
|
132
|
+
guiCommand.userDropFormat = formName;
|
|
133
|
+
GuiCommandQueue.getInstance().addCommand(guiCommand);
|
|
134
|
+
}
|
|
135
|
+
static addOpenForm(obj, formName, handlerTaskTag, calledTaskTag, inputControls, isDialog) {
|
|
136
|
+
let guiCommand = new GuiCommand(obj, CommandType.OPEN_FORM);
|
|
137
|
+
guiCommand.TaskTag = handlerTaskTag;
|
|
138
|
+
guiCommand.str = formName;
|
|
139
|
+
guiCommand.stringList = new List();
|
|
140
|
+
guiCommand.stringList.push(calledTaskTag);
|
|
141
|
+
guiCommand.stringList.push(inputControls);
|
|
142
|
+
guiCommand.Bool1 = isDialog;
|
|
143
|
+
GuiCommandQueue.getInstance().addCommand(guiCommand);
|
|
144
|
+
}
|
|
145
|
+
static addCloseForm(obj, handlerTaskTag, calledTaskTag) {
|
|
146
|
+
let guiCommand = new GuiCommand(obj, CommandType.CLOSE_FORM);
|
|
147
|
+
guiCommand.TaskTag = handlerTaskTag;
|
|
148
|
+
guiCommand.str = calledTaskTag;
|
|
149
|
+
GuiCommandQueue.getInstance().addCommand(guiCommand);
|
|
150
|
+
}
|
|
151
|
+
static addCallJS(form, formName, name, args) {
|
|
152
|
+
let guiInteractive = new GuiInteractive();
|
|
153
|
+
return guiInteractive.ExecuteCallJS(form, formName, name, args);
|
|
154
|
+
}
|
|
155
|
+
static addIsLoggedIn(setBool) {
|
|
156
|
+
let guiCommand = new GuiCommand(null, CommandType.SET_IS_LOGGED_IN);
|
|
157
|
+
guiCommand.Bool1 = setBool;
|
|
158
|
+
GuiCommandQueue.getInstance().addCommand(guiCommand);
|
|
159
|
+
}
|
|
160
|
+
static addShowSpinner(show) {
|
|
161
|
+
let guiCommand = new GuiCommand(null, CommandType.SHOW_SPINNER);
|
|
162
|
+
guiCommand.Bool1 = show;
|
|
163
|
+
GuiCommandQueue.getInstance().addCommand(guiCommand);
|
|
164
|
+
}
|
|
165
|
+
static addGlobalCommand(commandType) {
|
|
166
|
+
let guiCommand = new GuiCommand(null, commandType);
|
|
167
|
+
GuiCommandQueue.getInstance().addCommand(guiCommand);
|
|
168
|
+
}
|
|
169
|
+
static addShowHTMLError(commandType, error) {
|
|
170
|
+
let guiCommand = new GuiCommand(null, commandType);
|
|
171
|
+
guiCommand.str = error;
|
|
172
|
+
GuiCommandQueue.getInstance().addCommand(guiCommand);
|
|
173
|
+
}
|
|
174
|
+
static beginInvoke() {
|
|
175
|
+
GuiCommandQueue.getInstance().beginInvoke();
|
|
176
|
+
}
|
|
177
|
+
static invoke() {
|
|
178
|
+
GuiCommandQueue.getInstance().invoke();
|
|
179
|
+
}
|
|
180
|
+
constructor() {
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
Commands.resolveCallback = null;
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWkvc3JjL0NvbW1hbmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUUxQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQVVoRCxNQUFNLE9BQU8sUUFBUTtJQVFuQixNQUFNLENBQUMsa0JBQWtCLENBQUMsZUFBZTtRQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBS0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFjO1FBQ2xDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQVNELE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQWEsRUFBRSxHQUFXLEVBQUUsS0FBYTtRQUMvRCxJQUFJLGNBQWMsR0FBbUIsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUMxRCxJQUFJLFdBQW1CLENBQUM7UUFFeEIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqQyxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFL0MsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBVyxFQUFDLEVBQUUsR0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7UUFDN0MsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUtELE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQVcsRUFBRSxRQUFnQixFQUFFLGNBQXNCLEVBQ3JELGFBQXFCLEVBQUUsYUFBcUIsRUFBRSxRQUFpQjtRQUMxRixJQUFJLGNBQWMsR0FBbUIsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUUxRCxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFDakUsYUFBYSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFPRCxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQXNCLEVBQUUsS0FBYTtRQUNuRCxJQUFJLGNBQWMsR0FBbUIsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUMxRCxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBU0QsTUFBTSxDQUFDLDRDQUE0QyxDQUFDLElBQWtCLEVBQUUsSUFBWSxFQUFFLGlCQUEwQjtRQUM5RyxJQUFJLGNBQWMsR0FBbUIsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUMxRCxjQUFjLENBQUMsNENBQTRDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFTRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQVEsRUFBRSxJQUFZO1FBQ3BDLElBQUksY0FBYyxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQzFELE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQVFELE1BQU0sQ0FBQyxXQUFXLENBQUMsWUFBMEI7UUFDM0MsSUFBSSxjQUFjLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFDMUQsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFRRCxNQUFNLENBQUMsZUFBZSxDQUFDLFlBQWlCLEVBQUUsUUFBZ0IsRUFBRSxVQUFtQjtRQUM3RSxJQUFJLGNBQWMsR0FBbUIsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUMxRCxPQUFPLGNBQWMsQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBV0QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFxQixFQUFFLElBQVksRUFBRSxJQUFZO1FBQ2xFLElBQUksY0FBYyxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQzFELE9BQU8sY0FBYyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFVRCxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQXFCLEVBQUUsSUFBWSxFQUFFLGFBQXFCLEVBQUUsWUFBb0I7UUFDcEcsSUFBSSxjQUFjLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFDMUQsT0FBTyxjQUFjLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFTRCxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQXFCLEVBQUUsSUFBWTtRQUNwRCxJQUFJLGNBQWMsR0FBbUIsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUMxRCxPQUFPLGNBQWMsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLG1CQUE2QixFQUFFLFVBQWtCO1FBQ3JFLElBQUksY0FBYyxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFDO1FBRTFELGNBQWMsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQU9ELE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBcUI7UUFDeEMsSUFBSSxjQUFjLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFDMUQsSUFBSSxVQUFVLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxPQUFPLENBQUMsVUFBVSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBT0QsTUFBTSxDQUFDLDBCQUEwQixDQUFDLE9BQXFCO1FBQ3JELElBQUksY0FBYyxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQzFELElBQUksT0FBTyxHQUFHLGNBQWMsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUtELE1BQU0sQ0FBQyxZQUFZO1FBQ2pCLElBQUksY0FBYyxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQzFELE9BQU8sY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLFdBQXdCLEVBQUUsR0FBUSxFQUFFLElBQVksRUFBRSxJQUFhO1FBQ3BGLElBQUksVUFBVSxHQUFlLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM5RCxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUN4QixVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUN2QixlQUFlLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLFdBQXdCLEVBQUUsR0FBUTtRQUN2RCxJQUFJLFVBQVUsR0FBZSxJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDOUQsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUF3QixFQUFFLEdBQVEsRUFBRSxHQUFXO1FBQ2xFLElBQUksVUFBVSxHQUFlLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM5RCxVQUFVLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUN4QixlQUFlLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsV0FBd0IsRUFBRSxHQUFRLEVBQUUsSUFBWSxFQUFFLEtBQVU7UUFDbEYsSUFBSSxVQUFVLEdBQWUsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlELFVBQVUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksV0FBVyxLQUFLLFdBQVcsQ0FBQyxTQUFTLEVBQ3pDO1lBQ0UsSUFBSSxHQUFHLFlBQWEsWUFBWSxJQUFJLEdBQUcsQ0FBQyxlQUFlLEVBQUUsRUFDekQ7Z0JBQ0UsSUFBRyxLQUFLLEdBQUcsQ0FBQztvQkFFVixJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUU7d0JBQ2xCLFVBQVUsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDOzt3QkFFN0IsVUFBVSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7YUFDM0I7U0FDRjtRQUNELGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUdELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxXQUF3QixFQUFFLEdBQVEsRUFBRSxJQUFZLEVBQUUsU0FBaUIsRUFBRSxLQUFVO1FBQ3pHLElBQUksVUFBVSxHQUFlLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM5RCxVQUFVLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUN4QixVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUN2QixVQUFVLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNqQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFHRCxNQUFNLENBQUMsY0FBYyxDQUFDLFdBQXdCLEVBQUUsR0FBVyxFQUFFLGFBQXFCLEVBQUUsa0JBQTBCLEVBQUUsUUFBZ0IsRUFBRSxhQUFxQixFQUFFLFVBQWtCLEVBQUUsWUFBdUIsRUFBRSxxQkFBOEI7UUFDbE8sSUFBSSxVQUFVLEdBQWUsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlELFVBQVUsQ0FBQyxHQUFHLEdBQUcsYUFBYSxDQUFDO1FBQy9CLFVBQVUsQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUM7UUFDckMsVUFBVSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7UUFDckMsVUFBVSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUM7UUFDcEMsVUFBVSxDQUFDLEtBQUssR0FBRyxxQkFBcUIsQ0FBQztRQUN6QyxVQUFVLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQztRQUNsQyxVQUFVLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztRQUNqQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLFdBQXdCLEVBQUUsR0FBVyxFQUFFLGFBQXFCLEVBQUUsa0JBQTBCLEVBQUUsUUFBZ0I7UUFDL0gsSUFBSSxVQUFVLEdBQWUsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlELFVBQVUsQ0FBQyxHQUFHLEdBQUcsYUFBYSxDQUFDO1FBQy9CLFVBQVUsQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUM7UUFDckMsVUFBVSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7UUFDckMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFXLEVBQUUsUUFBZ0IsRUFBRSxjQUFzQixFQUFFLGFBQXFCLEVBQUUsYUFBcUIsRUFBRSxRQUFpQjtRQUN2SSxJQUFJLFVBQVUsR0FBZSxJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hFLFVBQVUsQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDO1FBQ3BDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO1FBQzFCLFVBQVUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxJQUFJLEVBQVUsQ0FBQztRQUMzQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxQyxVQUFVLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUM1QixlQUFlLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVcsRUFBRSxjQUFzQixFQUFFLGFBQXFCO1FBQzVFLElBQUksVUFBVSxHQUFlLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekUsVUFBVSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUM7UUFDcEMsVUFBVSxDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUM7UUFDL0IsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFVLEVBQUUsUUFBZ0IsRUFBRSxJQUFZLEVBQUUsSUFBZ0I7UUFDM0UsSUFBSSxjQUFjLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFDMUQsT0FBTyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRyxRQUFRLEVBQUcsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWdCO1FBQ25DLElBQUksVUFBVSxHQUFlLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNoRixVQUFVLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUMzQixlQUFlLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFHRCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQWE7UUFDakMsSUFBSSxVQUFVLEdBQWUsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1RSxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUN4QixlQUFlLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFHRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsV0FBd0I7UUFDOUMsSUFBSSxVQUFVLEdBQWUsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUdELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxXQUF3QixFQUFFLEtBQWE7UUFDN0QsSUFBSSxVQUFVLEdBQWUsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELFVBQVUsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUtELE1BQU0sQ0FBQyxXQUFXO1FBQ2hCLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBS0QsTUFBTSxDQUFDLE1BQU07UUFDWCxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVEO0lBQ0EsQ0FBQzs7QUF2VGUsd0JBQWUsR0FBRyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xpc3R9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuaW1wb3J0IHtHdWlNZ0Zvcm19IGZyb20gJy4vZ3VpL0d1aU1nRm9ybSc7XHJcbmltcG9ydCB7R3VpSW50ZXJhY3RpdmV9IGZyb20gJy4vZ3VpL2xvdy9HdWlJbnRlcmFjdGl2ZSc7XHJcbmltcG9ydCB7R3VpTWdDb250cm9sfSBmcm9tICcuL2d1aS9HdWlNZ0NvbnRyb2wnO1xyXG5pbXBvcnQge0NvbW1hbmRUeXBlfSBmcm9tICcuL0d1aUVudW1zJztcclxuaW1wb3J0IHtHdWlDb21tYW5kUXVldWV9IGZyb20gJy4vZ3VpL2xvdy9HdWlDb21tYW5kUXVldWUnO1xyXG5pbXBvcnQge0d1aUNvbW1hbmR9IGZyb20gJy4vZ3VpL2xvdy9HdWlDb21tYW5kJztcclxuXHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyAgIENvbW1hbmRzIHRvIHRoZSBHVUkgdGhyZWFkLlxyXG4vLy8gICBUaGVyZeKAmXJlIHR3byB0eXBlcyBvZiBjb21tYW5kcyAoZ3JvdXBlZCBpbiAjcmVnaW9ucyk6XHJcbi8vLyAgICAgIDEuXHRDb21tYW5kcyB0aGF0IGFyZSBleGVjdXRlZCBpbW1lZGlhdGVseS5cclxuLy8vICAgICAgMi5cdENvbW1hbmRzIHRoYXQgYXJlIHF1ZXVlZCAob3ZlcmxvYWRlZCBtZXRob2RzIOKAmGFkZEFzeW5j4oCZKSBhbmQgdGhlbiBleGVjdXRlZCxcclxuLy8vICAgICAgICAgZWl0aGVyIHN5bmNocm9ub3VzbHkgKG1ldGhvZCDigJhpbnZva2XigJkpIG9yIGFzeW5jaHJvbm91c2x5IChtZXRob2Qg4oCYYmVnaW5JbnZva2XigJkpLlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgQ29tbWFuZHMge1xyXG5cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgIHJlc29sdmVDYWxsYmFjayA9IG51bGw7IC8vIGNhbGxiYWNrIHRvIHJlc29sdmUgdGhlIHByb21pc2VcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBzYXZlIHRoZSBjYWxsYmFja1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIFNldFJlc29sdmVDYWxsYmFjayhyZXNvbHZlQ2FsbGJhY2spIHtcclxuICAgIHRoaXMucmVzb2x2ZUNhbGxiYWNrID0gcmVzb2x2ZUNhbGxiYWNrO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyByZXNvbHZlIHByb21pc2VcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyBSZXNvbHZlUHJvbWlzZShyZXN1bHQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5yZXNvbHZlQ2FsbGJhY2socmVzdWx0KTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBTeW5jIGNhbGwgdG8gZGlzcGxheSBtZXNzYWdlIGJveFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0aXRsZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtc2dcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic3R5bGVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIGFzeW5jIG1lc3NhZ2VCb3godGl0bGU6IHN0cmluZywgbXNnOiBzdHJpbmcsIHN0eWxlOiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgbGV0IGd1aUludGVyYWN0aXZlOiBHdWlJbnRlcmFjdGl2ZSA9IG5ldyBHdWlJbnRlcmFjdGl2ZSgpO1xyXG4gICAgbGV0IHJldHVyblZhbHVlOiBudW1iZXI7XHJcblxyXG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgdGhpcy5TZXRSZXNvbHZlQ2FsbGJhY2socmVzb2x2ZSk7XHJcbiAgICAgIGd1aUludGVyYWN0aXZlLm1lc3NhZ2VCb3godGl0bGUsIG1zZywgc3R5bGUpO1xyXG4gICAgIC8vIHNhdmUgdGhlIHJlc29sdmUgY2FsbGJhY2sgb24gRXZlbnRzTWFuYWdlciwgc28gdGhhdCBpdCBjYW4gYmUgcmVzb2x2ZWQgb24gY2xvc2luZyBtb2RhbCB3aW5kb3dcclxuICAgIH0pLnRoZW4oKHJlczogbnVtYmVyKT0+e3JldHVyblZhbHVlID0gcmVzO30pO1xyXG4gICAgcmV0dXJuIHJldHVyblZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBQcm9taXNlIHdhaXRzIHRpbGwgdGhlIG92ZXJsYXkgd2luZG93IGdldHMgT3BlbmVkIHRocm91Z2ggZ3VpSW50ZXJhY3RpdmUgY29tbWFuZC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyBhc3luYyBvcGVuT3ZlcmxheUZvcm0ob2JqOiBPYmplY3QsIGZvcm1OYW1lOiBzdHJpbmcsIGhhbmRsZXJUYXNrVGFnOiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsZWRUYXNrVGFnOiBzdHJpbmcsIGlucHV0Q29udHJvbHM6IHN0cmluZywgaXNEaWFsb2c6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCBndWlJbnRlcmFjdGl2ZTogR3VpSW50ZXJhY3RpdmUgPSBuZXcgR3VpSW50ZXJhY3RpdmUoKTtcclxuXHJcbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICB0aGlzLlNldFJlc29sdmVDYWxsYmFjayhyZXNvbHZlKTtcclxuICAgICAgZ3VpSW50ZXJhY3RpdmUuRXhlY3V0ZU9wZW5PdmVybGF5Rm9ybShvYmosIGZvcm1OYW1lLCBoYW5kbGVyVGFza1RhZyxcclxuICAgICAgICBjYWxsZWRUYXNrVGFnLCBpbnB1dENvbnRyb2xzLCBpc0RpYWxvZyk7XHJcbiAgICB9KS50aGVuKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgc2V0IHRpdGxlIHRvIGJyb3dzZXJcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidG9wTW9zdEZvcm1cIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGl0bGVcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBzZXRUaXRsZSh0b3BNb3N0Rm9ybTogR3VpTWdGb3JtLCB0aXRsZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBsZXQgZ3VpSW50ZXJhY3RpdmU6IEd1aUludGVyYWN0aXZlID0gbmV3IEd1aUludGVyYWN0aXZlKCk7XHJcbiAgICBndWlJbnRlcmFjdGl2ZS5zZXRUaXRsZSh0b3BNb3N0Rm9ybSwgdGl0bGUpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIFN5bmMgY2FsbC4gVGhpcyBtZXRob2RlIGlzIHNldCBUUlVFXFxGQUxTRSB0aGF0IEd1aVV0aWxlc1xcR2V0VmFsdWUoKSBtZXRob2Qgd2lsbCBiZSB1c2VcclxuICAvLy8gICB0aGlzIGZhbGcgc2F5IGlmIHRvIHJldHVybiB0aGUgOiAodHJ1ZSkgc3VnZ2VzdGVkIHZhbHVlIG9yIChmYWxzZSl0aGUgcmVhbCB2YWx1ZVxyXG4gIC8vLyAgIHRoaXMgbWV0aG9kIGlzIHVzZSBmb3IgTUdfQUNUX0NUUkxfTU9ESUZZXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImN0cmxcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicmV0U3VnZ2VzdGVkVmFsdWVcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBzZXRHZXRTdWdnZXN0ZWRWYWx1ZU9mQ2hvaWNlQ29udHJvbE9uVGFnRGF0YShjdHJsOiBHdWlNZ0NvbnRyb2wsIGxpbmU6IG51bWJlciwgcmV0U3VnZ2VzdGVkVmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGxldCBndWlJbnRlcmFjdGl2ZTogR3VpSW50ZXJhY3RpdmUgPSBuZXcgR3VpSW50ZXJhY3RpdmUoKTtcclxuICAgIGd1aUludGVyYWN0aXZlLnNldEdldFN1Z2dlc3RlZFZhbHVlT2ZDaG9pY2VDb250cm9sT25UYWdEYXRhKGN0cmwsIGxpbmUsIHJldFN1Z2dlc3RlZFZhbHVlKTtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgU3luYyBjYWxsIHRvIGdldCB2YWx1ZSBvZiB0aGUgY29udHJvbFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJvYmpcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibWdWYWx1ZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJsaW5lXCI+PC9wYXJhbT5cclxuICBzdGF0aWMgZ2V0VmFsdWUob2JqOiBhbnksIGxpbmU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBsZXQgZ3VpSW50ZXJhY3RpdmU6IEd1aUludGVyYWN0aXZlID0gbmV3IEd1aUludGVyYWN0aXZlKCk7XHJcbiAgICByZXR1cm4gZ3VpSW50ZXJhY3RpdmUuZ2V0VmFsdWUob2JqLCBsaW5lKTtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgU3luYyBjYWxsIHRvIGdldCB0YWJsZSB0b3AgaW5kZXhcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFibGVjb250cm9sXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBnZXRUb3BJbmRleCh0YWJsZWNvbnRyb2w6IEd1aU1nQ29udHJvbCk6IG51bWJlciB7XHJcbiAgICBsZXQgZ3VpSW50ZXJhY3RpdmU6IEd1aUludGVyYWN0aXZlID0gbmV3IEd1aUludGVyYWN0aXZlKCk7XHJcbiAgICByZXR1cm4gZ3VpSW50ZXJhY3RpdmUuZ2V0VG9wSW5kZXgodGFibGVjb250cm9sKTtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgU3luYyBjYWxsIHRvIGdldCBpcyByb3cgZWRpdGluZyBvbiByb3cgaW5kZXhcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFibGVjb250cm9sXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBnZXRJc1Jvd0VkaXRpbmcodGFibGVjb250cm9sOiBhbnksIHJvd0luZGV4OiBudW1iZXIsIGlzTGluZU1vZGU6IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIGxldCBndWlJbnRlcmFjdGl2ZTogR3VpSW50ZXJhY3RpdmUgPSBuZXcgR3VpSW50ZXJhY3RpdmUoKTtcclxuICAgIHJldHVybiBndWlJbnRlcmFjdGl2ZS5nZXRJc1Jvd0VkaXRpbmcodGFibGVjb250cm9sLCByb3dJbmRleCwgaXNMaW5lTW9kZSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBTeW5jIGNhbGwgdG8gc2V0IHRoZSB0ZXh0IHRvIHRoZSB0aGUgY29udHJvbFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjb250cm9sXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImxpbmVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGV4dFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgc2V0RWRpdFRleHQoY29udHJvbDogR3VpTWdDb250cm9sLCBsaW5lOiBudW1iZXIsIHRleHQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGd1aUludGVyYWN0aXZlOiBHdWlJbnRlcmFjdGl2ZSA9IG5ldyBHdWlJbnRlcmFjdGl2ZSgpO1xyXG4gICAgcmV0dXJuIGd1aUludGVyYWN0aXZlLnNldEVkaXRUZXh0KGNvbnRyb2wsIGxpbmUsIHRleHQpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIEluc2VydCB0ZXh0IHRvIGEgdGV4dCBjb250cm9sIGF0IGEgZ2l2ZW4gcG9zaXRpb25cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY29udHJvbFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJsaW5lXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInN0YXJ0UG9zaXRpb25cIj53aGVyZSB0byBhZGQgdGhlIHRleHQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGV4dFRvSW5zZXJ0XCI+dGhlIHRleHQgdG8gYWRkPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBpbnNlcnRFZGl0VGV4dChjb250cm9sOiBHdWlNZ0NvbnRyb2wsIGxpbmU6IG51bWJlciwgc3RhcnRQb3NpdGlvbjogbnVtYmVyLCB0ZXh0VG9JbnNlcnQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGd1aUludGVyYWN0aXZlOiBHdWlJbnRlcmFjdGl2ZSA9IG5ldyBHdWlJbnRlcmFjdGl2ZSgpO1xyXG4gICAgcmV0dXJuIGd1aUludGVyYWN0aXZlLmluc2VydEVkaXRUZXh0KGNvbnRyb2wsIGxpbmUsIHN0YXJ0UG9zaXRpb24sIHRleHRUb0luc2VydCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIFN5bmMgY2FsbCB0byBnZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBjYXJldCBvbiB0aGUgY29udHJvbFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjb250cm9sXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImxpbmVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibWdWYWx1ZVwiPjwvcGFyYW0+XHJcbiAgc3RhdGljIGNhcmV0UG9zR2V0KGNvbnRyb2w6IEd1aU1nQ29udHJvbCwgbGluZTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGxldCBndWlJbnRlcmFjdGl2ZTogR3VpSW50ZXJhY3RpdmUgPSBuZXcgR3VpSW50ZXJhY3RpdmUoKTtcclxuICAgIHJldHVybiBndWlJbnRlcmFjdGl2ZS5jYXJldFBvc0dldChjb250cm9sLCBsaW5lKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhZGRSZWZyZXNoUGFnZShuYXZpZ2F0ZVRvUm9vdFJvdXRlIDogYm9vbGVhbiwgaW5pdGlhbFVybDogc3RyaW5nKSB7XHJcbiAgICBsZXQgZ3VpSW50ZXJhY3RpdmU6IEd1aUludGVyYWN0aXZlID0gbmV3IEd1aUludGVyYWN0aXZlKCk7XHJcblxyXG4gICAgZ3VpSW50ZXJhY3RpdmUuUmVmcmVzaFBhZ2UobmF2aWdhdGVUb1Jvb3RSb3V0ZSwgaW5pdGlhbFVybCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgU3luYyBjYWxsIHRvIGdldCBudW1iZXIgb2Ygcm93cyBpbiB0aGUgdGFibGVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY29udHJvbFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgZ2V0Um93c0luUGFnZShjb250cm9sOiBHdWlNZ0NvbnRyb2wpOiBudW1iZXIge1xyXG4gICAgbGV0IGd1aUludGVyYWN0aXZlOiBHdWlJbnRlcmFjdGl2ZSA9IG5ldyBHdWlJbnRlcmFjdGl2ZSgpO1xyXG4gICAgbGV0IHJvd3NJblBhZ2UgPSBndWlJbnRlcmFjdGl2ZS5nZXRSb3dzSW5QYWdlKGNvbnRyb2wpO1xyXG4gICAgcmV0dXJuIChyb3dzSW5QYWdlID09PSAwID8gMSA6IHJvd3NJblBhZ2UpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBHZXQgbWF4IG5vIG9mIHJvd3MgaW4gcGFnaW5hdGVkIHRhYmxlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNvbnRyb2xcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIGdldE1heFJvd3NJblBhZ2luYXRlZFRhYmxlKGNvbnRyb2w6IEd1aU1nQ29udHJvbCk6IG51bWJlciB7XHJcbiAgICBsZXQgZ3VpSW50ZXJhY3RpdmU6IEd1aUludGVyYWN0aXZlID0gbmV3IEd1aUludGVyYWN0aXZlKCk7XHJcbiAgICBsZXQgbWF4Um93cyA9IGd1aUludGVyYWN0aXZlLmdldE1heFJvd3NJblBhZ2luYXRlZFRhYmxlKGNvbnRyb2wpO1xyXG4gICAgcmV0dXJuIChtYXhSb3dzKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gR2V0IHRoZSBsYXN0IHJvdXRlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgZ2V0TGFzdFJvdXRlKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgZ3VpSW50ZXJhY3RpdmU6IEd1aUludGVyYWN0aXZlID0gbmV3IEd1aUludGVyYWN0aXZlKCk7XHJcbiAgICByZXR1cm4gZ3VpSW50ZXJhY3RpdmUuZ2V0TGFzdFJvdXRlKCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYWRkQm9vbFdpdGhMaW5lKGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZSwgb2JqOiBhbnksIGxpbmU6IG51bWJlciwgYm9vbDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgbGV0IGd1aUNvbW1hbmQ6IEd1aUNvbW1hbmQgPSBuZXcgR3VpQ29tbWFuZChvYmosIGNvbW1hbmRUeXBlKTtcclxuICAgIGd1aUNvbW1hbmQuQm9vbDEgPSBib29sO1xyXG4gICAgZ3VpQ29tbWFuZC5saW5lID0gbGluZTtcclxuICAgIEd1aUNvbW1hbmRRdWV1ZS5nZXRJbnN0YW5jZSgpLmFkZENvbW1hbmQoZ3VpQ29tbWFuZCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYWRkTm9QYXJhbWV0ZXJzKGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZSwgb2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIGxldCBndWlDb21tYW5kOiBHdWlDb21tYW5kID0gbmV3IEd1aUNvbW1hbmQob2JqLCBjb21tYW5kVHlwZSk7XHJcbiAgICBHdWlDb21tYW5kUXVldWUuZ2V0SW5zdGFuY2UoKS5hZGRDb21tYW5kKGd1aUNvbW1hbmQpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGFkZFdpdGhOdW1iZXIoY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLCBvYmo6IGFueSwgbnVtOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBndWlDb21tYW5kOiBHdWlDb21tYW5kID0gbmV3IEd1aUNvbW1hbmQob2JqLCBjb21tYW5kVHlwZSk7XHJcbiAgICBndWlDb21tYW5kLm51bWJlciA9IG51bTtcclxuICAgIEd1aUNvbW1hbmRRdWV1ZS5nZXRJbnN0YW5jZSgpLmFkZENvbW1hbmQoZ3VpQ29tbWFuZCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYWRkVmFsdWVXaXRoTGluZShjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUsIG9iajogYW55LCBsaW5lOiBudW1iZXIsIHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGxldCBndWlDb21tYW5kOiBHdWlDb21tYW5kID0gbmV3IEd1aUNvbW1hbmQob2JqLCBjb21tYW5kVHlwZSk7XHJcbiAgICBndWlDb21tYW5kLnZhbHVlID0gdmFsdWU7XHJcbiAgICBndWlDb21tYW5kLmxpbmUgPSBsaW5lO1xyXG4gICAgaWYgKGNvbW1hbmRUeXBlID09PSBDb21tYW5kVHlwZS5TRVRfVkFMVUUpXHJcbiAgICB7XHJcbiAgICAgIGlmIChvYmogaW5zdGFuY2VvZiAgR3VpTWdDb250cm9sICYmIG9iai5pc0Nob2ljZUNvbnRyb2woKSlcclxuICAgICAge1xyXG4gICAgICAgIGlmKHZhbHVlIDwgMClcclxuICAgICAgICAgICAgLy9UT0RPOiBIYW5kbGluZyBkb25lIGZvciBidWcgIyAzMjA4MyBmb3IgY29tYm9ib3ggb25seS4gVG8gYmUgZG9uZSBmb3IgYWxsIHR5cGVzIG9mIGNob2ljZSBjb250cm9sc1xyXG4gICAgICAgICAgaWYgKG9iai5pc0NvbWJvQm94KCkpXHJcbiAgICAgICAgICAgIGd1aUNvbW1hbmQudmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIGd1aUNvbW1hbmQudmFsdWUgPSAnJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgR3VpQ29tbWFuZFF1ZXVlLmdldEluc3RhbmNlKCkuYWRkQ29tbWFuZChndWlDb21tYW5kKTtcclxuICB9XHJcblxyXG5cclxuICBzdGF0aWMgYWRkT3BlcmF0aW9uV2l0aExpbmUoY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLCBvYmo6IGFueSwgbGluZTogbnVtYmVyLCBvcGVyYXRpb246IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgbGV0IGd1aUNvbW1hbmQ6IEd1aUNvbW1hbmQgPSBuZXcgR3VpQ29tbWFuZChvYmosIGNvbW1hbmRUeXBlKTtcclxuICAgIGd1aUNvbW1hbmQub2JqMSA9IHZhbHVlO1xyXG4gICAgZ3VpQ29tbWFuZC5saW5lID0gbGluZTtcclxuICAgIGd1aUNvbW1hbmQuT3BlcmF0aW9uID0gb3BlcmF0aW9uO1xyXG4gICAgR3VpQ29tbWFuZFF1ZXVlLmdldEluc3RhbmNlKCkuYWRkQ29tbWFuZChndWlDb21tYW5kKTtcclxuICB9XHJcblxyXG5cclxuICBzdGF0aWMgYWRkT3BlbnN1YmZvcm0oY29tbWFuZFR5cGU6IENvbW1hbmRUeXBlLCBvYmo6IE9iamVjdCwgY2FsbGVkVGFza1RhZzogc3RyaW5nLCBzdWJmb3JtQ29udHJvbE5hbWU6IHN0cmluZywgZm9ybU5hbWU6IHN0cmluZywgaW5wdXRDb250cm9sczogc3RyaW5nLCByb3V0ZXJQYXRoOiBzdHJpbmcsIHJvdXRlclBhcmFtczogTGlzdDxhbnk+LCBpbkRlZmF1bHRSb3V0ZXJPdXRsZXQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGxldCBndWlDb21tYW5kOiBHdWlDb21tYW5kID0gbmV3IEd1aUNvbW1hbmQob2JqLCBjb21tYW5kVHlwZSk7XHJcbiAgICBndWlDb21tYW5kLnN0ciA9IGNhbGxlZFRhc2tUYWc7XHJcbiAgICBndWlDb21tYW5kLm9iajEgPSBzdWJmb3JtQ29udHJvbE5hbWU7XHJcbiAgICBndWlDb21tYW5kLnVzZXJEcm9wRm9ybWF0ID0gZm9ybU5hbWU7XHJcbiAgICBndWlDb21tYW5kLmZpbGVOYW1lID0gaW5wdXRDb250cm9scztcclxuICAgIGd1aUNvbW1hbmQuQm9vbDEgPSBpbkRlZmF1bHRSb3V0ZXJPdXRsZXQ7XHJcbiAgICBndWlDb21tYW5kLmNvbnRleHRJRCA9IHJvdXRlclBhdGg7XHJcbiAgICBndWlDb21tYW5kLnBhcmFtcyA9IHJvdXRlclBhcmFtcztcclxuICAgIEd1aUNvbW1hbmRRdWV1ZS5nZXRJbnN0YW5jZSgpLmFkZENvbW1hbmQoZ3VpQ29tbWFuZCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYWRkQ2xvc2VzdWJmb3JtKGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZSwgb2JqOiBPYmplY3QsIGNhbGxlZFRhc2tUYWc6IHN0cmluZywgc3ViZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcsIGZvcm1OYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxldCBndWlDb21tYW5kOiBHdWlDb21tYW5kID0gbmV3IEd1aUNvbW1hbmQob2JqLCBjb21tYW5kVHlwZSk7XHJcbiAgICBndWlDb21tYW5kLnN0ciA9IGNhbGxlZFRhc2tUYWc7XHJcbiAgICBndWlDb21tYW5kLm9iajEgPSBzdWJmb3JtQ29udHJvbE5hbWU7XHJcbiAgICBndWlDb21tYW5kLnVzZXJEcm9wRm9ybWF0ID0gZm9ybU5hbWU7XHJcbiAgICBHdWlDb21tYW5kUXVldWUuZ2V0SW5zdGFuY2UoKS5hZGRDb21tYW5kKGd1aUNvbW1hbmQpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGFkZE9wZW5Gb3JtKG9iajogT2JqZWN0LCBmb3JtTmFtZTogc3RyaW5nLCBoYW5kbGVyVGFza1RhZzogc3RyaW5nLCBjYWxsZWRUYXNrVGFnOiBzdHJpbmcsIGlucHV0Q29udHJvbHM6IHN0cmluZywgaXNEaWFsb2c6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGxldCBndWlDb21tYW5kOiBHdWlDb21tYW5kID0gbmV3IEd1aUNvbW1hbmQob2JqLCBDb21tYW5kVHlwZS5PUEVOX0ZPUk0pO1xyXG4gICAgZ3VpQ29tbWFuZC5UYXNrVGFnID0gaGFuZGxlclRhc2tUYWc7XHJcbiAgICBndWlDb21tYW5kLnN0ciA9IGZvcm1OYW1lO1xyXG4gICAgZ3VpQ29tbWFuZC5zdHJpbmdMaXN0ID0gbmV3IExpc3Q8c3RyaW5nPigpO1xyXG4gICAgZ3VpQ29tbWFuZC5zdHJpbmdMaXN0LnB1c2goY2FsbGVkVGFza1RhZyk7XHJcbiAgICBndWlDb21tYW5kLnN0cmluZ0xpc3QucHVzaChpbnB1dENvbnRyb2xzKTtcclxuICAgIGd1aUNvbW1hbmQuQm9vbDEgPSBpc0RpYWxvZztcclxuICAgIEd1aUNvbW1hbmRRdWV1ZS5nZXRJbnN0YW5jZSgpLmFkZENvbW1hbmQoZ3VpQ29tbWFuZCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYWRkQ2xvc2VGb3JtKG9iajogT2JqZWN0LCBoYW5kbGVyVGFza1RhZzogc3RyaW5nLCBjYWxsZWRUYXNrVGFnOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxldCBndWlDb21tYW5kOiBHdWlDb21tYW5kID0gbmV3IEd1aUNvbW1hbmQob2JqLCBDb21tYW5kVHlwZS5DTE9TRV9GT1JNKTtcclxuICAgIGd1aUNvbW1hbmQuVGFza1RhZyA9IGhhbmRsZXJUYXNrVGFnO1xyXG4gICAgZ3VpQ29tbWFuZC5zdHIgPSBjYWxsZWRUYXNrVGFnO1xyXG4gICAgR3VpQ29tbWFuZFF1ZXVlLmdldEluc3RhbmNlKCkuYWRkQ29tbWFuZChndWlDb21tYW5kKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhZGRDYWxsSlMoZm9ybSA6IGFueSwgZm9ybU5hbWU6IHN0cmluZywgbmFtZTogc3RyaW5nLCBhcmdzOiBBcnJheTxhbnk+KTogc3RyaW5nIHtcclxuICAgIGxldCBndWlJbnRlcmFjdGl2ZTogR3VpSW50ZXJhY3RpdmUgPSBuZXcgR3VpSW50ZXJhY3RpdmUoKTtcclxuICAgIHJldHVybiBndWlJbnRlcmFjdGl2ZS5FeGVjdXRlQ2FsbEpTKGZvcm0gLCBmb3JtTmFtZSwgIG5hbWUsIGFyZ3MpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGFkZElzTG9nZ2VkSW4oc2V0Qm9vbDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgbGV0IGd1aUNvbW1hbmQ6IEd1aUNvbW1hbmQgPSBuZXcgR3VpQ29tbWFuZChudWxsLCBDb21tYW5kVHlwZS5TRVRfSVNfTE9HR0VEX0lOKTtcclxuICAgIGd1aUNvbW1hbmQuQm9vbDEgPSBzZXRCb29sO1xyXG4gICAgR3VpQ29tbWFuZFF1ZXVlLmdldEluc3RhbmNlKCkuYWRkQ29tbWFuZChndWlDb21tYW5kKTtcclxuICB9XHJcblxyXG4gIC8vIGFkZHMgYSBjb21tYW5kIHRvIHNob3cgb3IgaGlkZSB0aGUgc3Bpbm5lclxyXG4gIHN0YXRpYyBhZGRTaG93U3Bpbm5lcihzaG93OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBsZXQgZ3VpQ29tbWFuZDogR3VpQ29tbWFuZCA9IG5ldyBHdWlDb21tYW5kKG51bGwsIENvbW1hbmRUeXBlLlNIT1dfU1BJTk5FUik7XHJcbiAgICBndWlDb21tYW5kLkJvb2wxID0gc2hvdztcclxuICAgIEd1aUNvbW1hbmRRdWV1ZS5nZXRJbnN0YW5jZSgpLmFkZENvbW1hbmQoZ3VpQ29tbWFuZCk7XHJcbiAgfVxyXG5cclxuICAvLyBhZGRzIGEgY29tbWFuZCB3aGljaCBpcyBub3QgcmVsYXRlZCB0byBhIHNwZWNpZmljIHRhc2tcclxuICBzdGF0aWMgYWRkR2xvYmFsQ29tbWFuZChjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUpOiB2b2lkIHtcclxuICAgIGxldCBndWlDb21tYW5kOiBHdWlDb21tYW5kID0gbmV3IEd1aUNvbW1hbmQobnVsbCwgY29tbWFuZFR5cGUpO1xyXG4gICAgR3VpQ29tbWFuZFF1ZXVlLmdldEluc3RhbmNlKCkuYWRkQ29tbWFuZChndWlDb21tYW5kKTtcclxuICB9XHJcblxyXG4gIC8vIGFkZHMgYSBjb21tYW5kIHRvIGRpc3BsYXkgdGhlIEhUTUwgZXJyb3IgcmVjZWl2ZWQgZnJvbSB0aGUgcmVxdWVzZXJcclxuICBzdGF0aWMgYWRkU2hvd0hUTUxFcnJvcihjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUsIGVycm9yOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxldCBndWlDb21tYW5kOiBHdWlDb21tYW5kID0gbmV3IEd1aUNvbW1hbmQobnVsbCwgY29tbWFuZFR5cGUpO1xyXG4gICAgZ3VpQ29tbWFuZC5zdHIgPSBlcnJvcjtcclxuICAgIEd1aUNvbW1hbmRRdWV1ZS5nZXRJbnN0YW5jZSgpLmFkZENvbW1hbmQoZ3VpQ29tbWFuZCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZXhlY3V0ZSBhbGwgcGVuZGluZyBjb21tYW5kcywgYXN5bmNocm9ub3VzbHlcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyBiZWdpbkludm9rZSgpOiB2b2lkIHtcclxuICAgIEd1aUNvbW1hbmRRdWV1ZS5nZXRJbnN0YW5jZSgpLmJlZ2luSW52b2tlKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZXhlY3V0ZSBhbGwgcGVuZGluZyBjb21tYW5kcywgc3luY2hyb25vdXNseVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIGludm9rZSgpOiB2b2lkIHtcclxuICAgIEd1aUNvbW1hbmRRdWV1ZS5nZXRJbnN0YW5jZSgpLmludm9rZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|