@magic-xpa/gui 4.1100.0-dev4110.24 → 4.1100.0-dev4110.241

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 (200) hide show
  1. package/{esm2020 → esm2022}/index.mjs +71 -71
  2. package/{esm2020 → esm2022}/magic-xpa-gui.mjs +1 -1
  3. package/esm2022/src/Commands.mjs +184 -0
  4. package/esm2022/src/Events.mjs +425 -0
  5. package/esm2022/src/EventsProcessor.mjs +67 -0
  6. package/esm2022/src/FocusManager.mjs +34 -0
  7. package/esm2022/src/GuiConstants.mjs +68 -0
  8. package/{esm2020 → esm2022}/src/GuiEnums.mjs +299 -299
  9. package/esm2022/src/GuiEnvironment.mjs +4 -0
  10. package/{esm2020 → esm2022}/src/IFlowMonitorQueue.mjs +1 -1
  11. package/{esm2020 → esm2022}/src/Manager.mjs +91 -91
  12. package/esm2022/src/UIBridge.mjs +33 -0
  13. package/{esm2020 → esm2022}/src/env/IEnvironment.mjs +1 -1
  14. package/{esm2020 → esm2022}/src/gui/ControlBase.mjs +2 -2
  15. package/esm2022/src/gui/GuiMgControl.mjs +123 -0
  16. package/{esm2020 → esm2022}/src/gui/GuiMgForm.mjs +3 -3
  17. package/esm2022/src/gui/KeyboardItem.mjs +135 -0
  18. package/esm2022/src/gui/LastFocusedVal.mjs +11 -0
  19. package/esm2022/src/gui/MgValue.mjs +16 -0
  20. package/{esm2020 → esm2022}/src/gui/PropParentInterface.mjs +1 -1
  21. package/{esm2020 → esm2022}/src/gui/low/DialogHandler.mjs +6 -6
  22. package/esm2022/src/gui/low/GuiCommand.mjs +68 -0
  23. package/esm2022/src/gui/low/GuiCommandQueue.mjs +35 -0
  24. package/esm2022/src/gui/low/GuiInteractive.mjs +177 -0
  25. package/esm2022/src/gui/low/Style.mjs +20 -0
  26. package/esm2022/src/management/RuntimeContextBase.mjs +42 -0
  27. package/esm2022/src/management/data/BlobType.mjs +281 -0
  28. package/{esm2020 → esm2022}/src/management/data/DcValues.mjs +214 -214
  29. package/esm2022/src/management/data/DcValuesBuilderBase.mjs +96 -0
  30. package/esm2022/src/management/data/FieldDef.mjs +331 -0
  31. package/esm2022/src/management/data/FieldsTable.mjs +54 -0
  32. package/esm2022/src/management/data/GuiDataViewBase.mjs +88 -0
  33. package/esm2022/src/management/data/GuiFieldBase.mjs +82 -0
  34. package/{esm2020 → esm2022}/src/management/data/IRecord.mjs +1 -1
  35. package/{esm2020 → esm2022}/src/management/data/IReferencedObject.mjs +1 -1
  36. package/esm2022/src/management/data/NUM_TYPE.mjs +1739 -0
  37. package/esm2022/src/management/data/ObjectReferenceBase.mjs +48 -0
  38. package/esm2022/src/management/data/ObjectReferencesCollection.mjs +27 -0
  39. package/esm2022/src/management/data/RecordUtils.mjs +361 -0
  40. package/esm2022/src/management/data/VectorType.mjs +612 -0
  41. package/esm2022/src/management/data/VectorTypeBase.mjs +88 -0
  42. package/{esm2020 → esm2022}/src/management/events/IActionManager.mjs +1 -1
  43. package/{esm2020 → esm2022}/src/management/events/IGuiEventsManager.mjs +1 -1
  44. package/esm2022/src/management/exp/ExpressionInterface.mjs +244 -0
  45. package/{esm2020 → esm2022}/src/management/exp/GuiExpressionEvaluator.mjs +305 -307
  46. package/esm2022/src/management/gui/ControlTable.mjs +118 -0
  47. package/esm2022/src/management/gui/DisplayConvertor.mjs +1649 -0
  48. package/esm2022/src/management/gui/FieldValidator.mjs +711 -0
  49. package/esm2022/src/management/gui/GuiControlPropertyAdapter.mjs +24 -0
  50. package/{esm2020 → esm2022}/src/management/gui/GuiFormPropertyAdapter.mjs +10 -10
  51. package/esm2022/src/management/gui/HebrewDate.mjs +278 -0
  52. package/esm2022/src/management/gui/Helps.mjs +237 -0
  53. package/esm2022/src/management/gui/MgControlBase.mjs +1859 -0
  54. package/esm2022/src/management/gui/MgFormBase.mjs +741 -0
  55. package/esm2022/src/management/gui/PIC.mjs +1185 -0
  56. package/esm2022/src/management/gui/PropDefaults.mjs +230 -0
  57. package/{esm2020 → esm2022}/src/management/gui/PropInterface.mjs +246 -245
  58. package/esm2022/src/management/gui/PropTable.mjs +221 -0
  59. package/esm2022/src/management/gui/Property.mjs +1362 -0
  60. package/esm2022/src/management/gui/ValidationDetails.mjs +248 -0
  61. package/esm2022/src/management/gui/ValidationDetailsBase.mjs +93 -0
  62. package/esm2022/src/management/gui/WrongFormatException.mjs +29 -0
  63. package/esm2022/src/management/tasks/GuiDataCollection.mjs +4 -0
  64. package/esm2022/src/management/tasks/GuiTaskBase.mjs +511 -0
  65. package/{esm2020 → esm2022}/src/management/tasks/IMGDataTable.mjs +1 -1
  66. package/{esm2020 → esm2022}/src/management/tasks/ITask.mjs +1 -1
  67. package/esm2022/src/management/tasks/MgTimer.mjs +21 -0
  68. package/esm2022/src/management/tasks/TaskDefinitionId.mjs +54 -0
  69. package/esm2022/src/management/tasks/TaskDefinitionIdTableSaxHandler.mjs +41 -0
  70. package/esm2022/src/util/MemoryUtil.mjs +35 -0
  71. package/{esm2020 → esm2022}/src/util/ObjectReference.mjs +36 -36
  72. package/esm2022/src/util/UsernamePasswordCredentials.mjs +52 -0
  73. package/{fesm2020 → fesm2022}/magic-xpa-gui.mjs +16074 -16074
  74. package/fesm2022/magic-xpa-gui.mjs.map +1 -0
  75. package/index.d.ts +70 -70
  76. package/package.json +6 -12
  77. package/src/Commands.d.ts +40 -39
  78. package/src/Events.d.ts +157 -155
  79. package/src/EventsProcessor.d.ts +13 -13
  80. package/src/FocusManager.d.ts +8 -8
  81. package/src/GuiConstants.d.ts +65 -65
  82. package/src/GuiEnums.d.ts +282 -282
  83. package/src/GuiEnvironment.d.ts +4 -4
  84. package/src/IFlowMonitorQueue.d.ts +3 -3
  85. package/src/Manager.d.ts +26 -26
  86. package/src/UIBridge.d.ts +16 -16
  87. package/src/env/IEnvironment.d.ts +31 -31
  88. package/src/gui/ControlBase.d.ts +4 -4
  89. package/src/gui/GuiMgControl.d.ts +38 -38
  90. package/src/gui/GuiMgForm.d.ts +3 -3
  91. package/src/gui/KeyboardItem.d.ts +18 -18
  92. package/src/gui/LastFocusedVal.d.ts +7 -7
  93. package/src/gui/MgValue.d.ts +15 -15
  94. package/src/gui/PropParentInterface.d.ts +13 -13
  95. package/src/gui/low/DialogHandler.d.ts +4 -4
  96. package/src/gui/low/GuiCommand.d.ts +37 -37
  97. package/src/gui/low/GuiCommandQueue.d.ts +13 -13
  98. package/src/gui/low/GuiInteractive.d.ts +55 -53
  99. package/src/gui/low/Style.d.ts +19 -19
  100. package/src/management/RuntimeContextBase.d.ts +23 -23
  101. package/src/management/data/BlobType.d.ts +29 -29
  102. package/src/management/data/DcValues.d.ts +33 -33
  103. package/src/management/data/DcValuesBuilderBase.d.ts +17 -17
  104. package/src/management/data/FieldDef.d.ts +53 -53
  105. package/src/management/data/FieldsTable.d.ts +16 -16
  106. package/src/management/data/GuiDataViewBase.d.ts +27 -27
  107. package/src/management/data/GuiFieldBase.d.ts +17 -17
  108. package/src/management/data/IRecord.d.ts +12 -12
  109. package/src/management/data/IReferencedObject.d.ts +5 -5
  110. package/src/management/data/NUM_TYPE.d.ts +103 -103
  111. package/src/management/data/ObjectReferenceBase.d.ts +16 -16
  112. package/src/management/data/ObjectReferencesCollection.d.ts +10 -10
  113. package/src/management/data/RecordUtils.d.ts +21 -21
  114. package/src/management/data/VectorType.d.ts +52 -52
  115. package/src/management/data/VectorTypeBase.d.ts +8 -8
  116. package/src/management/events/IActionManager.d.ts +7 -7
  117. package/src/management/events/IGuiEventsManager.d.ts +20 -20
  118. package/src/management/exp/ExpressionInterface.d.ts +242 -242
  119. package/src/management/exp/GuiExpressionEvaluator.d.ts +47 -47
  120. package/src/management/gui/ControlTable.d.ts +28 -28
  121. package/src/management/gui/DisplayConvertor.d.ts +103 -103
  122. package/src/management/gui/FieldValidator.d.ts +35 -35
  123. package/src/management/gui/GuiControlPropertyAdapter.d.ts +40 -40
  124. package/src/management/gui/GuiFormPropertyAdapter.d.ts +17 -17
  125. package/src/management/gui/HebrewDate.d.ts +46 -46
  126. package/src/management/gui/Helps.d.ts +51 -51
  127. package/src/management/gui/MgControlBase.d.ts +223 -223
  128. package/src/management/gui/MgFormBase.d.ts +160 -160
  129. package/src/management/gui/PIC.d.ts +108 -108
  130. package/src/management/gui/PropDefaults.d.ts +7 -7
  131. package/src/management/gui/PropInterface.d.ts +244 -243
  132. package/src/management/gui/PropTable.d.ts +33 -33
  133. package/src/management/gui/Property.d.ts +121 -121
  134. package/src/management/gui/ValidationDetails.d.ts +52 -52
  135. package/src/management/gui/ValidationDetailsBase.d.ts +14 -14
  136. package/src/management/gui/WrongFormatException.d.ts +9 -9
  137. package/src/management/tasks/GuiDataCollection.d.ts +4 -4
  138. package/src/management/tasks/GuiTaskBase.d.ts +150 -150
  139. package/src/management/tasks/IMGDataTable.d.ts +10 -10
  140. package/src/management/tasks/ITask.d.ts +6 -6
  141. package/src/management/tasks/MgTimer.d.ts +8 -8
  142. package/src/management/tasks/TaskDefinitionId.d.ts +16 -16
  143. package/src/management/tasks/TaskDefinitionIdTableSaxHandler.d.ts +7 -7
  144. package/src/util/MemoryUtil.d.ts +6 -6
  145. package/src/util/ObjectReference.d.ts +9 -9
  146. package/src/util/UsernamePasswordCredentials.d.ts +18 -18
  147. package/esm2020/src/Commands.mjs +0 -177
  148. package/esm2020/src/Events.mjs +0 -420
  149. package/esm2020/src/EventsProcessor.mjs +0 -67
  150. package/esm2020/src/FocusManager.mjs +0 -34
  151. package/esm2020/src/GuiConstants.mjs +0 -68
  152. package/esm2020/src/GuiEnvironment.mjs +0 -4
  153. package/esm2020/src/UIBridge.mjs +0 -32
  154. package/esm2020/src/gui/GuiMgControl.mjs +0 -125
  155. package/esm2020/src/gui/KeyboardItem.mjs +0 -135
  156. package/esm2020/src/gui/LastFocusedVal.mjs +0 -11
  157. package/esm2020/src/gui/MgValue.mjs +0 -16
  158. package/esm2020/src/gui/low/GuiCommand.mjs +0 -66
  159. package/esm2020/src/gui/low/GuiCommandQueue.mjs +0 -35
  160. package/esm2020/src/gui/low/GuiInteractive.mjs +0 -165
  161. package/esm2020/src/gui/low/Style.mjs +0 -20
  162. package/esm2020/src/management/RuntimeContextBase.mjs +0 -43
  163. package/esm2020/src/management/data/BlobType.mjs +0 -281
  164. package/esm2020/src/management/data/DcValuesBuilderBase.mjs +0 -96
  165. package/esm2020/src/management/data/FieldDef.mjs +0 -331
  166. package/esm2020/src/management/data/FieldsTable.mjs +0 -54
  167. package/esm2020/src/management/data/GuiDataViewBase.mjs +0 -90
  168. package/esm2020/src/management/data/GuiFieldBase.mjs +0 -82
  169. package/esm2020/src/management/data/NUM_TYPE.mjs +0 -1741
  170. package/esm2020/src/management/data/ObjectReferenceBase.mjs +0 -48
  171. package/esm2020/src/management/data/ObjectReferencesCollection.mjs +0 -29
  172. package/esm2020/src/management/data/RecordUtils.mjs +0 -361
  173. package/esm2020/src/management/data/VectorType.mjs +0 -612
  174. package/esm2020/src/management/data/VectorTypeBase.mjs +0 -88
  175. package/esm2020/src/management/exp/ExpressionInterface.mjs +0 -244
  176. package/esm2020/src/management/gui/ControlTable.mjs +0 -118
  177. package/esm2020/src/management/gui/DisplayConvertor.mjs +0 -1679
  178. package/esm2020/src/management/gui/FieldValidator.mjs +0 -711
  179. package/esm2020/src/management/gui/GuiControlPropertyAdapter.mjs +0 -22
  180. package/esm2020/src/management/gui/HebrewDate.mjs +0 -278
  181. package/esm2020/src/management/gui/Helps.mjs +0 -237
  182. package/esm2020/src/management/gui/MgControlBase.mjs +0 -1858
  183. package/esm2020/src/management/gui/MgFormBase.mjs +0 -738
  184. package/esm2020/src/management/gui/PIC.mjs +0 -1185
  185. package/esm2020/src/management/gui/PropDefaults.mjs +0 -230
  186. package/esm2020/src/management/gui/PropTable.mjs +0 -221
  187. package/esm2020/src/management/gui/Property.mjs +0 -1356
  188. package/esm2020/src/management/gui/ValidationDetails.mjs +0 -248
  189. package/esm2020/src/management/gui/ValidationDetailsBase.mjs +0 -93
  190. package/esm2020/src/management/gui/WrongFormatException.mjs +0 -29
  191. package/esm2020/src/management/tasks/GuiDataCollection.mjs +0 -4
  192. package/esm2020/src/management/tasks/GuiTaskBase.mjs +0 -510
  193. package/esm2020/src/management/tasks/MgTimer.mjs +0 -21
  194. package/esm2020/src/management/tasks/TaskDefinitionId.mjs +0 -54
  195. package/esm2020/src/management/tasks/TaskDefinitionIdTableSaxHandler.mjs +0 -41
  196. package/esm2020/src/util/MemoryUtil.mjs +0 -35
  197. package/esm2020/src/util/UsernamePasswordCredentials.mjs +0 -52
  198. package/fesm2015/magic-xpa-gui.mjs +0 -16364
  199. package/fesm2015/magic-xpa-gui.mjs.map +0 -1
  200. package/fesm2020/magic-xpa-gui.mjs.map +0 -1
@@ -0,0 +1,230 @@
1
+ import { Debug, NString, RefParam } from "@magic-xpa/mscorelib";
2
+ import { ListboxSelectionMode, MgControlType, StorageAttribute, TransMode } from "@magic-xpa/utils";
3
+ import { PIC } from "./PIC";
4
+ import { DisplayConvertor } from "./DisplayConvertor";
5
+ import { BlobType } from "../data/BlobType";
6
+ import { PropInterface } from "./PropInterface";
7
+ import { GuiConstants } from "../../GuiConstants";
8
+ export class PropDefaults {
9
+ static getNumericMgValue(propParent, Value) {
10
+ let pic = new PIC("3", StorageAttribute.NUMERIC, propParent.getCompIdx());
11
+ return DisplayConvertor.Instance.disp2mg(Value, pic, propParent.getCompIdx(), BlobType.CONTENT_TYPE_UNKNOWN);
12
+ }
13
+ static getDefaultValueForTask(propId, handled) {
14
+ let val = null;
15
+ handled.value = true;
16
+ switch (propId) {
17
+ case PropInterface.PROP_TYPE_TASK_PROPERTIES_ALLOW_EVENTS:
18
+ case PropInterface.PROP_TYPE_ALLOW_LOCATE_IN_QUERY:
19
+ case PropInterface.PROP_TYPE_PRINT_DATA:
20
+ case PropInterface.PROP_TYPE_ALLOW_RANGE:
21
+ case PropInterface.PROP_TYPE_ALLOW_LOCATE:
22
+ case PropInterface.PROP_TYPE_ALLOW_SORT:
23
+ case PropInterface.PROP_TYPE_PRELOAD_VIEW:
24
+ case PropInterface.PROP_TYPE_TASK_PROPERTIES_ALLOW_INDEX:
25
+ val = "1";
26
+ break;
27
+ case PropInterface.PROP_TYPE_CLOSE_TASKS_BY_MDI_MENU:
28
+ val = "0";
29
+ break;
30
+ default:
31
+ handled.value = false;
32
+ break;
33
+ }
34
+ return val;
35
+ }
36
+ static getDefaultValue(propId, parentType, propParent) {
37
+ let val = null;
38
+ let control = null;
39
+ if (parentType === GuiConstants.PARENT_TYPE_TASK) {
40
+ let handled = new RefParam(false);
41
+ val = this.getDefaultValueForTask(propId, handled);
42
+ if (handled.value)
43
+ return val;
44
+ }
45
+ switch (propId) {
46
+ case PropInterface.PROP_TYPE_COLOR:
47
+ val = this.getNumericMgValue(propParent, "1");
48
+ if (parentType === GuiConstants.PARENT_TYPE_CONTROL) {
49
+ control = propParent;
50
+ if (control.Type === MgControlType.CTRL_TYPE_BUTTON && control.IsImageButton())
51
+ val = this.getNumericMgValue(propParent, "0");
52
+ }
53
+ break;
54
+ case PropInterface.PROP_TYPE_BORDER:
55
+ val = "0";
56
+ if (parentType === GuiConstants.PARENT_TYPE_CONTROL) {
57
+ control = propParent;
58
+ switch (control.Type) {
59
+ case MgControlType.CTRL_TYPE_SUBFORM:
60
+ val = "0";
61
+ break;
62
+ case MgControlType.CTRL_TYPE_TEXT:
63
+ case MgControlType.CTRL_TYPE_TABLE:
64
+ case MgControlType.CTRL_TYPE_LIST:
65
+ case MgControlType.CTRL_TYPE_BROWSER:
66
+ val = "1";
67
+ break;
68
+ }
69
+ }
70
+ break;
71
+ case PropInterface.PROP_TYPE_MAXBOX:
72
+ case PropInterface.PROP_TYPE_MINBOX:
73
+ case PropInterface.PROP_TYPE_MUST_INPUT:
74
+ case PropInterface.PROP_TYPE_MULTILINE:
75
+ case PropInterface.PROP_TYPE_PASSWORD:
76
+ case PropInterface.PROP_TYPE_HEBREW:
77
+ case PropInterface.PROP_TYPE_MULTILINE_VERTICAL_SCROLL:
78
+ case PropInterface.PROP_TYPE_MULTILINE_ALLOW_CR:
79
+ case PropInterface.PROP_TYPE_IS_CACHED:
80
+ case PropInterface.PROP_TYPE_MODIFY_IN_QUERY:
81
+ case PropInterface.PROP_TYPE_SHOW_FULL_ROW:
82
+ case PropInterface.PROP_TYPE_TRACK_SELECTION:
83
+ case PropInterface.PROP_TYPE_COLUMN_DIVIDER:
84
+ case PropInterface.PROP_TYPE_LINE_DIVIDER:
85
+ case PropInterface.PROP_TYPE_THREE_STATES:
86
+ case PropInterface.PROP_TYPE_REFRESH_WHEN_HIDDEN:
87
+ case PropInterface.PROP_TYPE_RETAIN_FOCUS:
88
+ case PropInterface.PROP_TYPE_ROW_PLACEMENT:
89
+ case PropInterface.PROP_TYPE_SHOW_IN_WINDOW_MENU:
90
+ case PropInterface.PROP_TYPE_DATAVIEWCONTROL:
91
+ case PropInterface.PROP_TYPE_SORT_COLUMN:
92
+ case PropInterface.PROP_TYPE_BEFORE_900_VERSION:
93
+ case PropInterface.PROP_TYPE_FILL_WIDTH:
94
+ case PropInterface.PROP_TYPE_MULTI_COLUMN_DISPLAY:
95
+ case PropInterface.PROP_TYPE_AUTO_COMPLETE_MODE_WC:
96
+ val = "0";
97
+ break;
98
+ case PropInterface.PROP_TYPE_SYSTEM_MENU:
99
+ case PropInterface.PROP_TYPE_TITLE_BAR:
100
+ case PropInterface.PROP_TYPE_ENABLED:
101
+ case PropInterface.PROP_TYPE_VISIBLE:
102
+ case PropInterface.PROP_TYPE_TAB_IN:
103
+ case PropInterface.PROP_TYPE_MODIFIABLE:
104
+ case PropInterface.PROP_TYPE_HIGHLIGHTING:
105
+ case PropInterface.PROP_TYPE_AUTO_REFRESH:
106
+ case PropInterface.PROP_TYPE_PARK_ON_CLICK:
107
+ case PropInterface.PROP_TYPE_DISPLAY_MENU:
108
+ case PropInterface.PROP_TYPE_DISPLAY_TOOLBAR:
109
+ case PropInterface.PROP_TYPE_SHOW_BUTTONS:
110
+ case PropInterface.PROP_TYPE_LINES_AT_ROOT:
111
+ case PropInterface.PROP_TYPE_SCROLL_BAR:
112
+ case PropInterface.PROP_TYPE_SHOW_LINES:
113
+ case PropInterface.PROP_TYPE_ALLOW_QUERY:
114
+ case PropInterface.PROP_TYPE_RIGHT_BORDER:
115
+ case PropInterface.PROP_TYPE_TOP_BORDER:
116
+ case PropInterface.PROP_TYPE_TOP_BORDER_MARGIN:
117
+ case PropInterface.PROP_TYPE_SHOW_ELLIPISIS:
118
+ val = "1";
119
+ break;
120
+ case PropInterface.PROP_TYPE_TRIGGER:
121
+ case PropInterface.PROP_TYPE_PROMPT:
122
+ case PropInterface.PROP_TYPE_DISPLAY_LIST:
123
+ case PropInterface.PROP_TYPE_DATA:
124
+ case PropInterface.PROP_TYPE_IMAGE_FILENAME:
125
+ case PropInterface.PROP_TYPE_LABEL:
126
+ case PropInterface.PROP_TYPE_PLACEMENT:
127
+ case PropInterface.PROP_TYPE_PULLDOWN_MENU:
128
+ case PropInterface.PROP_TYPE_CONTEXT_MENU:
129
+ case PropInterface.PROP_TYPE_NODE_ID:
130
+ case PropInterface.PROP_TYPE_NODE_PARENTID:
131
+ case PropInterface.PROP_TYPE_SELECT_PROGRAM:
132
+ case PropInterface.PROP_TYPE_VISIBLE_LAYERS_LIST:
133
+ case PropInterface.PROP_TYPE_EXPANDED_IMAGEIDX:
134
+ case PropInterface.PROP_TYPE_COLLAPSED_IMAGEIDX:
135
+ case PropInterface.PROP_TYPE_OBJECT_TYPE:
136
+ case PropInterface.PROP_TYPE_TAB_ORDER:
137
+ case PropInterface.PROP_TYPE_LOAD_IMAGE_FROM:
138
+ case PropInterface.PROP_TYPE_FORM_NAME:
139
+ case PropInterface.PROP_TYPE_COLUMN_TITLE:
140
+ case PropInterface.PROP_TYPE_WIDTH:
141
+ case PropInterface.PROP_TYPE_PRGTSK_NUM:
142
+ break;
143
+ case PropInterface.PROP_TYPE_MULTILINE_WORDWRAP_SCROLL:
144
+ case PropInterface.PROP_TYPE_BORDER_STYLE:
145
+ val = this.getNumericMgValue(propParent, "2");
146
+ break;
147
+ case PropInterface.PROP_TYPE_WINDOW_TYPE:
148
+ val = this.getNumericMgValue(propParent, "6");
149
+ break;
150
+ case PropInterface.PROP_TYPE_ROW_HIGHLIGHT_STYLE:
151
+ val = this.getNumericMgValue(propParent, "4");
152
+ break;
153
+ case PropInterface.PROP_TYPE_GRADIENT_STYLE:
154
+ case PropInterface.PROP_TYPE_TABBING_ORDER:
155
+ case PropInterface.PROP_TYPE_STARTUP_MODE:
156
+ case PropInterface.PROP_TYPE_CHOICE_COLUMNS:
157
+ case PropInterface.PROP_TYPE_HORIZONTAL_ALIGNMENT:
158
+ case PropInterface.PROP_TYPE_FONT:
159
+ case PropInterface.PROP_TYPE_WALLPAPER_STYLE:
160
+ case PropInterface.PROP_TYPE_CHECKBOX_MAIN_STYLE:
161
+ case PropInterface.PROP_TYPE_TAB_CONTROL_SIDE:
162
+ case PropInterface.PROP_TYPE_RAISE_AT:
163
+ case PropInterface.PROP_TYPE_ALLOWED_DIRECTION:
164
+ case PropInterface.PROP_TYPE_SUBFORM_TYPE:
165
+ case PropInterface.PROP_TYPE_UOM:
166
+ case PropInterface.PROP_TYPE_BOTTOM_POSITION_INTERVAL:
167
+ val = this.getNumericMgValue(propParent, "1");
168
+ break;
169
+ case PropInterface.PROP_TYPE_TASK_PROPERTIES_TRANSACTION_MODE:
170
+ val = TransMode.Physical;
171
+ break;
172
+ case PropInterface.PROP_TYPE_PARKED_COLLAPSED_IMAGEIDX:
173
+ case PropInterface.PROP_TYPE_PARKED_IMAGEIDX:
174
+ case PropInterface.PROP_TYPE_MINIMUM_HEIGHT:
175
+ case PropInterface.PROP_TYPE_TOP:
176
+ case PropInterface.PROP_TYPE_LEFT:
177
+ case PropInterface.PROP_TYPE_TITLE_HEIGHT:
178
+ case PropInterface.PROP_TYPE_LAYER:
179
+ case PropInterface.PROP_TYPE_VISIBLE_LINES:
180
+ case PropInterface.PROP_TYPE_FRAMESET_STYLE:
181
+ case PropInterface.PROP_TYPE_TRANSLATOR:
182
+ case PropInterface.PROP_TYPE_HOR_FAC:
183
+ case PropInterface.PROP_TYPE_VER_FAC:
184
+ case PropInterface.PROP_TYPE_FOCUS_COLOR:
185
+ val = this.getNumericMgValue(propParent, "0");
186
+ break;
187
+ case PropInterface.PROP_TYPE_STYLE_3D:
188
+ if (parentType === GuiConstants.PARENT_TYPE_CONTROL) {
189
+ control = propParent;
190
+ switch (control.Type) {
191
+ case MgControlType.CTRL_TYPE_COMBO:
192
+ val = this.getNumericMgValue(propParent, "2");
193
+ break;
194
+ case MgControlType.CTRL_TYPE_RADIO:
195
+ case MgControlType.CTRL_TYPE_CHECKBOX:
196
+ val = this.getNumericMgValue(propParent, "3");
197
+ break;
198
+ }
199
+ }
200
+ break;
201
+ case PropInterface.PROP_TYPE_IMAGE_LIST_INDEXES:
202
+ case PropInterface.PROP_TYPE_WALLPAPER:
203
+ case PropInterface.PROP_TYPE_TEXT:
204
+ case PropInterface.PROP_TYPE_TOOLTIP:
205
+ case PropInterface.PROP_TYPE_FORMAT:
206
+ val = NString.Empty;
207
+ break;
208
+ case PropInterface.PROP_TYPE_IMAGE_STYLE:
209
+ val = this.getNumericMgValue(propParent, "2");
210
+ break;
211
+ case PropInterface.PROP_TYPE_SELECTION_MODE:
212
+ val = this.getNumericMgValue(propParent, String(ListboxSelectionMode.Single));
213
+ break;
214
+ case PropInterface.PROP_TYPE_INDEX:
215
+ case PropInterface.PROP_TYPE_LINK_FIELD:
216
+ case PropInterface.PROP_TYPE_DISPLAY_FIELD:
217
+ case PropInterface.PROP_TYPE_PERSISTENT_FORM_STATE_VERSION:
218
+ val = this.getNumericMgValue(propParent, "0");
219
+ break;
220
+ default:
221
+ Debug.Assert(false, "Undefined default value");
222
+ break;
223
+ }
224
+ return val;
225
+ }
226
+ static GetPropertyName(propTypeId) {
227
+ return "{Field ID " + propTypeId + "}";
228
+ }
229
+ }
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvcERlZmF1bHRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3VpL3NyYy9tYW5hZ2VtZW50L2d1aS9Qcm9wRGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBTWhELE1BQU0sT0FBTyxZQUFZO0lBT2YsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFVBQStCLEVBQUUsS0FBYTtRQUM3RSxJQUFJLEdBQUcsR0FBUSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBT08sTUFBTSxDQUFDLHNCQUFzQixDQUFDLE1BQWMsRUFBRSxPQUEwQjtRQUM5RSxJQUFJLEdBQUcsR0FBVyxJQUFJLENBQUM7UUFDdkIsT0FBTyxDQUFDLEtBQUssR0FB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QUN4RCxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDOUMsTUFBTTtZQUNSO2dCQUNFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLHlCQUF5QixDQUFDLENBQUM7Z0JBQy9DLE1BQU07UUFDVixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFrQjtRQUN2QyxPQUFPLFlBQVksR0FBRyxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ3pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGVidWcsIE5TdHJpbmcsIFJlZlBhcmFtfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtMaXN0Ym94U2VsZWN0aW9uTW9kZSwgTWdDb250cm9sVHlwZSwgU3RvcmFnZUF0dHJpYnV0ZSwgVHJhbnNNb2RlfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge1Byb3BQYXJlbnRJbnRlcmZhY2V9IGZyb20gXCIuLi8uLi9ndWkvUHJvcFBhcmVudEludGVyZmFjZVwiO1xyXG5pbXBvcnQge1BJQ30gZnJvbSBcIi4vUElDXCI7XHJcbmltcG9ydCB7RGlzcGxheUNvbnZlcnRvcn0gZnJvbSBcIi4vRGlzcGxheUNvbnZlcnRvclwiO1xyXG5pbXBvcnQge0Jsb2JUeXBlfSBmcm9tIFwiLi4vZGF0YS9CbG9iVHlwZVwiO1xyXG5pbXBvcnQge1Byb3BJbnRlcmZhY2V9IGZyb20gXCIuL1Byb3BJbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtHdWlDb25zdGFudHN9IGZyb20gXCIuLi8uLi9HdWlDb25zdGFudHNcIjtcclxuaW1wb3J0IHtHdWlDb250cm9sUHJvcGVydHlBZGFwdGVyfSBmcm9tIFwiLi9HdWlDb250cm9sUHJvcGVydHlBZGFwdGVyXCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyAgIFByb3BEZWZhdWx0cyBtYW5hZ2VzIHRoZSBkZWZhdWx0IHZhbHVlcyBvZiBwcm9wZXJ0aWVzIGFjY29yZGluZyB0byB0aGUgbW9kZWwgdGhleSBiZWxvbmcgdG9cclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIFByb3BEZWZhdWx0cyB7XHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybnMgYSBudW1lcmljIHZhbHVlIGluIGl0cyBtYWdpYyBpbnRlcm5hbCBmb3JtYXRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicHJvcFBhcmVudFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJWYWx1ZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBnZXROdW1lcmljTWdWYWx1ZShwcm9wUGFyZW50OiBQcm9wUGFyZW50SW50ZXJmYWNlLCBWYWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCBwaWM6IFBJQyA9IG5ldyBQSUMoXCIzXCIsIFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQywgcHJvcFBhcmVudC5nZXRDb21wSWR4KCkpO1xyXG4gICAgcmV0dXJuIERpc3BsYXlDb252ZXJ0b3IuSW5zdGFuY2UuZGlzcDJtZyhWYWx1ZSwgcGljLCBwcm9wUGFyZW50LmdldENvbXBJZHgoKSwgQmxvYlR5cGUuQ09OVEVOVF9UWVBFX1VOS05PV04pO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vL1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwicHJvcElkXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIGdldERlZmF1bHRWYWx1ZUZvclRhc2socHJvcElkOiBudW1iZXIsIGhhbmRsZWQ6IFJlZlBhcmFtPGJvb2xlYW4+KTogc3RyaW5nIHtcclxuICAgIGxldCB2YWw6IHN0cmluZyA9IG51bGw7XHJcbiAgICBoYW5kbGVkLnZhbHVlID0gdHJ1ZTtcclxuXHJcbiAgICBzd2l0Y2ggKHByb3BJZCkge1xyXG4gICAgICAvLyBmb3IgdGFzayBwcm9wZXJ0aWVzXHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfVEFTS19QUk9QRVJUSUVTX0FMTE9XX0VWRU5UUzpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9BTExPV19MT0NBVEVfSU5fUVVFUlk6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfUFJJTlRfREFUQTpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9BTExPV19SQU5HRTpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9BTExPV19MT0NBVEU6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfQUxMT1dfU09SVDpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9QUkVMT0FEX1ZJRVc6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfVEFTS19QUk9QRVJUSUVTX0FMTE9XX0lOREVYOlxyXG4gICAgICAgIHZhbCA9IFwiMVwiOyAvLyB5ZXMgYm9vbGVhblxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgLy8gZm9yIHRhc2sgcHJvcGVydGllc1xyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0NMT1NFX1RBU0tTX0JZX01ESV9NRU5VOlxyXG4gICAgICAgIHZhbCA9IFwiMFwiOyAvLyB5ZXMgYm9vbGVhblxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBoYW5kbGVkLnZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHZhbDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBnZXREZWZhdWx0VmFsdWUgcmV0dXJucyB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBhIHByb3BlcnR5XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInByb3BJZFwiPlRoZSBwcm9wZXJ0eSBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJwYXJlbnRUeXBlXCI+UEFSRU5UX1RZUEVfQ09OVFJPTCwgUEFSRU5UX1RZUEVfRk9STSwgUEFSRU5UX1RZUEVfVEFTSzwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJwcm9wUGFyZW50XCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IFRoZSBwcm9wZXJ0eSBkZWZhdWx0IHZhbHVlIFN0cmluZyByZXByZXNlbnRhdGlvbjwvcmV0dXJucz5cclxuICBzdGF0aWMgZ2V0RGVmYXVsdFZhbHVlKHByb3BJZDogbnVtYmVyLCBwYXJlbnRUeXBlOiBzdHJpbmcsIHByb3BQYXJlbnQ6IFByb3BQYXJlbnRJbnRlcmZhY2UpOiBzdHJpbmcge1xyXG4gICAgbGV0IHZhbDogc3RyaW5nID0gbnVsbDtcclxuICAgIGxldCBjb250cm9sOiBHdWlDb250cm9sUHJvcGVydHlBZGFwdGVyID0gbnVsbDtcclxuXHJcbiAgICBpZiAocGFyZW50VHlwZSA9PT0gR3VpQ29uc3RhbnRzLlBBUkVOVF9UWVBFX1RBU0spIHtcclxuICAgICAgbGV0IGhhbmRsZWQ6IFJlZlBhcmFtPGJvb2xlYW4+ID0gbmV3IFJlZlBhcmFtPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgICAgIHZhbCA9IHRoaXMuZ2V0RGVmYXVsdFZhbHVlRm9yVGFzayhwcm9wSWQsIGhhbmRsZWQpO1xyXG5cclxuICAgICAgaWYgKGhhbmRsZWQudmFsdWUpXHJcbiAgICAgICAgcmV0dXJuIHZhbDtcclxuICAgIH1cclxuXHJcbiAgICBzd2l0Y2ggKHByb3BJZCkge1xyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0NPTE9SOlxyXG4gICAgICAgIHZhbCA9IHRoaXMuZ2V0TnVtZXJpY01nVmFsdWUocHJvcFBhcmVudCwgXCIxXCIpO1xyXG4gICAgICAgIGlmIChwYXJlbnRUeXBlID09PSBHdWlDb25zdGFudHMuUEFSRU5UX1RZUEVfQ09OVFJPTCkge1xyXG4gICAgICAgICAgY29udHJvbCA9IDxHdWlDb250cm9sUHJvcGVydHlBZGFwdGVyPjxhbnk+cHJvcFBhcmVudDtcclxuICAgICAgICAgIGlmIChjb250cm9sLlR5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX0JVVFRPTiAmJiBjb250cm9sLklzSW1hZ2VCdXR0b24oKSlcclxuICAgICAgICAgICAgdmFsID0gdGhpcy5nZXROdW1lcmljTWdWYWx1ZShwcm9wUGFyZW50LCBcIjBcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9CT1JERVI6XHJcbiAgICAgICAgdmFsID0gXCIwXCI7IC8vIG5vIGJvb2xlYW5cclxuICAgICAgICBpZiAocGFyZW50VHlwZSA9PT0gR3VpQ29uc3RhbnRzLlBBUkVOVF9UWVBFX0NPTlRST0wpIHtcclxuICAgICAgICAgIGNvbnRyb2wgPSA8R3VpQ29udHJvbFByb3BlcnR5QWRhcHRlcj48YW55PnByb3BQYXJlbnQ7XHJcbiAgICAgICAgICBzd2l0Y2ggKGNvbnRyb2wuVHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX1NVQkZPUk06XHJcbiAgICAgICAgICAgICAgLy8gZml4ZWQgYnVnICM3Nzc2MzMsIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHN1YmZvcm0gY29udHJvbCBpcyBObyBhbmQgbm90IFllc1xyXG4gICAgICAgICAgICAgIHZhbCA9IFwiMFwiOyAvLyBubyBib29sZWFuXHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBjYXNlIE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX1RFWFQ6XHJcbiAgICAgICAgICAgIGNhc2UgTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfVEFCTEU6XHJcbiAgICAgICAgICAgIGNhc2UgTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfTElTVDpcclxuICAgICAgICAgICAgY2FzZSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9CUk9XU0VSOlxyXG4gICAgICAgICAgICAgIHZhbCA9IFwiMVwiOyAvLyB5ZXMgYm9vbGVhblxyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfTUFYQk9YOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX01JTkJPWDpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9NVVNUX0lOUFVUOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX01VTFRJTElORTpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9QQVNTV09SRDpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9IRUJSRVc6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfTVVMVElMSU5FX1ZFUlRJQ0FMX1NDUk9MTDpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9NVUxUSUxJTkVfQUxMT1dfQ1I6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfSVNfQ0FDSEVEOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX01PRElGWV9JTl9RVUVSWTpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9TSE9XX0ZVTExfUk9XOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1RSQUNLX1NFTEVDVElPTjpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9DT0xVTU5fRElWSURFUjpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9MSU5FX0RJVklERVI6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfVEhSRUVfU1RBVEVTOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1JFRlJFU0hfV0hFTl9ISURERU46XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfUkVUQUlOX0ZPQ1VTOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1JPV19QTEFDRU1FTlQ6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfU0hPV19JTl9XSU5ET1dfTUVOVTpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9EQVRBVklFV0NPTlRST0w6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfU09SVF9DT0xVTU46XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfQkVGT1JFXzkwMF9WRVJTSU9OOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0ZJTExfV0lEVEg6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfTVVMVElfQ09MVU1OX0RJU1BMQVk6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfQVVUT19DT01QTEVURV9NT0RFX1dDOlxyXG4gICAgICAgIHZhbCA9IFwiMFwiOyAvLyBubyBib29sZWFuXHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1NZU1RFTV9NRU5VOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1RJVExFX0JBUjpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9FTkFCTEVEOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1ZJU0lCTEU6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfVEFCX0lOOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX01PRElGSUFCTEU6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfSElHSExJR0hUSU5HOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0FVVE9fUkVGUkVTSDpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9QQVJLX09OX0NMSUNLOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0RJU1BMQVlfTUVOVTpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9ESVNQTEFZX1RPT0xCQVI6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfU0hPV19CVVRUT05TOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0xJTkVTX0FUX1JPT1Q6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfU0NST0xMX0JBUjpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9TSE9XX0xJTkVTOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0FMTE9XX1FVRVJZOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1JJR0hUX0JPUkRFUjpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9UT1BfQk9SREVSOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1RPUF9CT1JERVJfTUFSR0lOOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1NIT1dfRUxMSVBJU0lTOlxyXG4gICAgICAgIHZhbCA9IFwiMVwiOyAvLyB5ZXMgYm9vbGVhblxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgLy8gYWxsIHRob3NlIHByb3BlcnRpZXMgbmVlZCBub3QgY3JlYXRlIGEgZGVmYXVsdFxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1RSSUdHRVI6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfUFJPTVBUOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0RJU1BMQVlfTElTVDpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9EQVRBOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0lNQUdFX0ZJTEVOQU1FOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0xBQkVMOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1BMQUNFTUVOVDpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9QVUxMRE9XTl9NRU5VOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0NPTlRFWFRfTUVOVTpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9OT0RFX0lEOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX05PREVfUEFSRU5USUQ6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfU0VMRUNUX1BST0dSQU06XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfVklTSUJMRV9MQVlFUlNfTElTVDpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9FWFBBTkRFRF9JTUFHRUlEWDpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9DT0xMQVBTRURfSU1BR0VJRFg6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfT0JKRUNUX1RZUEU6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfVEFCX09SREVSOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0xPQURfSU1BR0VfRlJPTTpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9GT1JNX05BTUU6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfQ09MVU1OX1RJVExFOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1dJRFRIOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1BSR1RTS19OVU06XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX01VTFRJTElORV9XT1JEV1JBUF9TQ1JPTEw6XHJcbiAgICAgIC8vIDItIEhPUklaT05UQUxfU0NST0xMX05PXHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfQk9SREVSX1NUWUxFOiAvLyBCT1JERVJfVFlQRV9USElDS1xyXG4gICAgICAgIHZhbCA9IHRoaXMuZ2V0TnVtZXJpY01nVmFsdWUocHJvcFBhcmVudCwgXCIyXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1dJTkRPV19UWVBFOlxyXG4gICAgICAgIHZhbCA9IHRoaXMuZ2V0TnVtZXJpY01nVmFsdWUocHJvcFBhcmVudCwgXCI2XCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1JPV19ISUdITElHSFRfU1RZTEU6XHJcbiAgICAgICAgdmFsID0gdGhpcy5nZXROdW1lcmljTWdWYWx1ZShwcm9wUGFyZW50LCBcIjRcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0dSQURJRU5UX1NUWUxFOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1RBQkJJTkdfT1JERVI6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfU1RBUlRVUF9NT0RFOlxyXG4gICAgICAvLyAxLkRFRkFVTFRcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9DSE9JQ0VfQ09MVU1OUzpcclxuICAgICAgLy8gMVxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0hPUklaT05UQUxfQUxJR05NRU5UOlxyXG4gICAgICAvLyAxIEFMSUdOTUVOVF9UWVBFX0hPUklfTEVGVFxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0ZPTlQ6XHJcbiAgICAgIC8vIDFcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9XQUxMUEFQRVJfU1RZTEU6XHJcbiAgICAgIC8vIENUUkxfSU1BR0VfU1RZTEVfVElMRURcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9DSEVDS0JPWF9NQUlOX1NUWUxFOlxyXG4gICAgICAvLyBDSEVDS0JPWF9NQUlOX1NUWUxFX0JPWFxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1RBQl9DT05UUk9MX1NJREU6XHJcbiAgICAgIC8vIFNJREVfVFlQRV9UT1A6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfUkFJU0VfQVQ6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfQUxMT1dFRF9ESVJFQ1RJT046XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfU1VCRk9STV9UWVBFOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1VPTTpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9CT1RUT01fUE9TSVRJT05fSU5URVJWQUw6XHJcbiAgICAgICAgdmFsID0gdGhpcy5nZXROdW1lcmljTWdWYWx1ZShwcm9wUGFyZW50LCBcIjFcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1RBU0tfUFJPUEVSVElFU19UUkFOU0FDVElPTl9NT0RFOlxyXG4gICAgICAgIHZhbCA9IFRyYW5zTW9kZS5QaHlzaWNhbDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfUEFSS0VEX0NPTExBUFNFRF9JTUFHRUlEWDpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9QQVJLRURfSU1BR0VJRFg6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfTUlOSU1VTV9IRUlHSFQ6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfVE9QOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0xFRlQ6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfVElUTEVfSEVJR0hUOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0xBWUVSOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1ZJU0lCTEVfTElORVM6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfRlJBTUVTRVRfU1RZTEU6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfVFJBTlNMQVRPUjpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9IT1JfRkFDOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1ZFUl9GQUM6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfRk9DVVNfQ09MT1I6XHJcbiAgICAgICAgdmFsID0gdGhpcy5nZXROdW1lcmljTWdWYWx1ZShwcm9wUGFyZW50LCBcIjBcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1NUWUxFXzNEOlxyXG4gICAgICAgIGlmIChwYXJlbnRUeXBlID09PSBHdWlDb25zdGFudHMuUEFSRU5UX1RZUEVfQ09OVFJPTCkge1xyXG4gICAgICAgICAgY29udHJvbCA9IDxHdWlDb250cm9sUHJvcGVydHlBZGFwdGVyPjxhbnk+cHJvcFBhcmVudDtcclxuICAgICAgICAgIHN3aXRjaCAoY29udHJvbC5UeXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfQ09NQk86XHJcbiAgICAgICAgICAgICAgdmFsID0gdGhpcy5nZXROdW1lcmljTWdWYWx1ZShwcm9wUGFyZW50LCBcIjJcIik7IC8vIENUUkxfRElNXzNEXHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfUkFESU86XHJcbiAgICAgICAgICAgIGNhc2UgTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfQ0hFQ0tCT1g6XHJcbiAgICAgICAgICAgICAgdmFsID0gdGhpcy5nZXROdW1lcmljTWdWYWx1ZShwcm9wUGFyZW50LCBcIjNcIik7IC8vIENUUkxfRElNXzNEX1NVTktFTlxyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9JTUFHRV9MSVNUX0lOREVYRVM6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfV0FMTFBBUEVSOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1RFWFQ6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfVE9PTFRJUDpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9GT1JNQVQ6XHJcbiAgICAgICAgdmFsID0gTlN0cmluZy5FbXB0eTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfSU1BR0VfU1RZTEU6XHJcbiAgICAgICAgdmFsID0gdGhpcy5nZXROdW1lcmljTWdWYWx1ZShwcm9wUGFyZW50LCBcIjJcIik7IC8vIENUUkxfSU1BR0VfU1RZTEVfQ09QSUVEXHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX1NFTEVDVElPTl9NT0RFOlxyXG4gICAgICAgIHZhbCA9IHRoaXMuZ2V0TnVtZXJpY01nVmFsdWUocHJvcFBhcmVudCwgU3RyaW5nKExpc3Rib3hTZWxlY3Rpb25Nb2RlLlNpbmdsZSkpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9JTkRFWDpcclxuICAgICAgY2FzZSBQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9MSU5LX0ZJRUxEOlxyXG4gICAgICBjYXNlIFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0RJU1BMQVlfRklFTEQ6XHJcbiAgICAgIGNhc2UgUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfUEVSU0lTVEVOVF9GT1JNX1NUQVRFX1ZFUlNJT046XHJcbiAgICAgICAgdmFsID0gdGhpcy5nZXROdW1lcmljTWdWYWx1ZShwcm9wUGFyZW50LCBcIjBcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgRGVidWcuQXNzZXJ0KGZhbHNlLCBcIlVuZGVmaW5lZCBkZWZhdWx0IHZhbHVlXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBHZXRQcm9wZXJ0eU5hbWUocHJvcFR5cGVJZDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBcIntGaWVsZCBJRCBcIiArIHByb3BUeXBlSWQgKyBcIn1cIjtcclxuICB9XHJcbn1cclxuIl19