@magic-xpa/utils 4.800.0-dev480.22 → 4.800.0-dev480.220

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 (38) hide show
  1. package/bundles/magic-xpa-utils.umd.js +72 -1222
  2. package/bundles/magic-xpa-utils.umd.js.map +1 -1
  3. package/bundles/magic-xpa-utils.umd.min.js +1 -1
  4. package/bundles/magic-xpa-utils.umd.min.js.map +1 -1
  5. package/esm2015/index.js +1 -1
  6. package/esm2015/magic-xpa-utils.js +1 -4
  7. package/esm2015/src/Base64.js +1 -46
  8. package/esm2015/src/ChoiceUtils.js +1 -13
  9. package/esm2015/src/Constants.js +2 -14
  10. package/esm2015/src/DateTimeUtils.js +1 -2
  11. package/esm2015/src/DateUtil.js +1 -13
  12. package/esm2015/src/InternalInterface.js +4 -8
  13. package/esm2015/src/JSON_Utils.js +1 -1
  14. package/esm2015/src/Logger.js +2 -81
  15. package/esm2015/src/MagicConstants.js +1 -1
  16. package/esm2015/src/Misc.js +1 -60
  17. package/esm2015/src/MsgInterface.js +1 -1
  18. package/esm2015/src/PICInterface.js +20 -31
  19. package/esm2015/src/PlatformUtils.js +2 -2
  20. package/esm2015/src/Queue.js +1 -9
  21. package/esm2015/src/Randomizer.js +1 -1
  22. package/esm2015/src/RequestInfo.js +1 -4
  23. package/esm2015/src/Rtf.js +15 -199
  24. package/esm2015/src/StorageAttribute.js +1 -33
  25. package/esm2015/src/StrUtil.js +0 -0
  26. package/esm2015/src/SyncExecutionHelper.js +1 -16
  27. package/esm2015/src/UtilDateJpn.js +9 -89
  28. package/esm2015/src/UtilImeJpn.js +3 -32
  29. package/esm2015/src/UtilStrByteMode.js +15 -288
  30. package/esm2015/src/XMLConstants.js +1 -12
  31. package/esm2015/src/Xml/XmlParser.js +3 -100
  32. package/esm2015/src/enums.js +1 -1
  33. package/fesm2015/magic-xpa-utils.js +72 -1224
  34. package/fesm2015/magic-xpa-utils.js.map +1 -1
  35. package/magic-xpa-utils.d.ts +0 -3
  36. package/package.json +2 -2
  37. package/src/InternalInterface.d.ts +1 -1
  38. package/src/StrUtil.d.ts +0 -1
package/esm2015/index.js CHANGED
@@ -24,4 +24,4 @@ export * from "./src/UtilImeJpn";
24
24
  export * from "./src/UtilStrByteMode";
25
25
  export * from "./src/XMLConstants";
26
26
  export * from "./src/Xml/XmlParser";
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc3JjL0Jhc2U2NFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0Nob2ljZVV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvQ29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvRGF0ZVRpbWVVdGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0RhdGVVdGlsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvZW51bXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9JbnRlcm5hbEludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0pTT05fVXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9Mb2dnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9NYWdpY0NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL01pc2NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9Nc2dJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9QSUNJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9QbGF0Zm9ybVV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvUXVldWVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9SYW5kb21pemVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvUmVxdWVzdEluZm9cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9SdGZcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9TdG9yYWdlQXR0cmlidXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvU3RyVXRpbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL1N5bmNFeGVjdXRpb25IZWxwZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9VdGlsRGF0ZUpwblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL1V0aWxJbWVKcG5cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9VdGlsU3RyQnl0ZU1vZGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9YTUxDb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9YbWwvWG1sUGFyc2VyXCI7XG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc3JjL0Jhc2U2NFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0Nob2ljZVV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvQ29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvRGF0ZVRpbWVVdGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0RhdGVVdGlsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvZW51bXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9JbnRlcm5hbEludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0pTT05fVXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9Mb2dnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9NYWdpY0NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL01pc2NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9Nc2dJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9QSUNJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9QbGF0Zm9ybVV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvUXVldWVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9SYW5kb21pemVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvUmVxdWVzdEluZm9cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9SdGZcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9TdG9yYWdlQXR0cmlidXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvU3RyVXRpbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL1N5bmNFeGVjdXRpb25IZWxwZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9VdGlsRGF0ZUpwblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL1V0aWxJbWVKcG5cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9VdGlsU3RyQnl0ZU1vZGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9YTUxDb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9YbWwvWG1sUGFyc2VyXCI7XG4iXX0=
@@ -1,5 +1,2 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
1
  export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMteHBhLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvdXRpbHMvbWFnaWMteHBhLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMteHBhLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdXRpbHMvbWFnaWMteHBhLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -10,24 +10,9 @@ export class Base64 {
10
10
  else
11
11
  return Base64.encode_2(strOrData);
12
12
  }
13
- /// <summary> This method encodes the given string using the base64-encoding
14
- /// specified in RFC-2045 (Section 6.8). It's used for example in the
15
- /// "Basic" authorization scheme.
16
- /// </summary>
17
- /// <param name="str">the string </param>
18
- /// <param name="encoding"> Environment.Encoding </param>
19
- /// <returns> the base64-encoded str </returns>
20
13
  static encode_0(str, encoding) {
21
14
  return Base64.encode(str, false, encoding);
22
15
  }
23
- /// <summary> Encodes string using the base64-encoding.
24
- /// If isUseEnvCharset is true, use the specific charset when converting
25
- /// string to byte array. (DBCS support)
26
- /// </summary>
27
- /// <param name="str">the string </param>
28
- /// <param name="isUseEnvCharset"> </param>
29
- /// <param name="encoding"> Environment.Encoding </param>
30
- /// <returns> the base64-encoded str </returns>
31
16
  static encode_1(str, isUseEnvCharset, encoding) {
32
17
  let result;
33
18
  if (str === null) {
@@ -51,18 +36,12 @@ export class Base64 {
51
36
  }
52
37
  return result;
53
38
  }
54
- /// <summary> This method encodes the given byte[] using the base64-encoding
55
- /// specified in RFC-2045 (Section 6.8).
56
- /// </summary>
57
- /// <param name="data">the data </param>
58
- /// <returns> the base64-encoded data </returns>
59
39
  static encode_2(data) {
60
40
  if (data === null)
61
41
  return null;
62
42
  let dest = new Uint8Array(Math.floor((data.length + 2) / 3) * 4);
63
43
  let sidx = 0;
64
44
  let didx = 0;
65
- // 3-byte to 4-byte conversion + 0-63 to ASCII printable conversion
66
45
  while (sidx < data.length - 2) {
67
46
  dest[didx++] = Base64._base64EncMap[Misc.URShift(data[sidx], 2) & 63];
68
47
  dest[didx++] = Base64._base64EncMap[(Misc.URShift(data[sidx + 1], 4) & 15) | (data[sidx] << 4 & 63)];
@@ -80,7 +59,6 @@ export class Base64 {
80
59
  dest[didx++] = Base64._base64EncMap[data[sidx] << 4 & 63];
81
60
  }
82
61
  }
83
- // add padding
84
62
  while (didx < dest.length) {
85
63
  dest[didx] = 61;
86
64
  didx = didx + 1;
@@ -95,20 +73,9 @@ export class Base64 {
95
73
  else
96
74
  return Base64.decode_2(strOrData);
97
75
  }
98
- /// <summary> This method decodes the given string using the base64-encoding
99
- /// specified in RFC-2045 (Section 6.8).
100
- /// </summary>
101
- /// <param name="str">the base64-encoded string. </param>
102
- /// <returns> the decoded str.</returns>
103
76
  static decode_0(str) {
104
77
  return Base64.decode(str, null);
105
78
  }
106
- /// <summary> This method decodes the given string using the base64-encoding
107
- /// specified in RFC-2045 (Section 6.8).
108
- /// </summary>
109
- /// <param name="str">the base64-encoded string. </param>
110
- /// <param name="encoding">Environment.Encoding or null.</param>
111
- /// <returns> the decoded str.</returns>
112
79
  static decode_1(str, encoding) {
113
80
  let result;
114
81
  if (str === null) {
@@ -132,11 +99,6 @@ export class Base64 {
132
99
  }
133
100
  return result;
134
101
  }
135
- /// <summary> This method decodes the given byte[] using the base64-encoding
136
- /// specified in RFC-2045 (Section 6.8).
137
- /// </summary>
138
- /// <param name="data">the base64-encoded data.</param>
139
- /// <returns> the decoded <var>data</va
140
102
  static decode_2(data) {
141
103
  if (data === null)
142
104
  return null;
@@ -145,11 +107,9 @@ export class Base64 {
145
107
  tail = tail - 1;
146
108
  }
147
109
  let dest = new Uint8Array(tail - Math.floor(data.length / 4));
148
- // ASCII printable to 0-63 conversion
149
110
  for (let idx = 0; idx < data.length; idx = idx + 1) {
150
111
  data[idx] = Base64._base64DecMap[data[idx]];
151
112
  }
152
- // 4-byte to 3-byte conversion
153
113
  let sidx = 0;
154
114
  let didx;
155
115
  for (didx = 0; didx < dest.length - 2; didx = didx + 3) {
@@ -164,7 +124,6 @@ export class Base64 {
164
124
  dest[didx] = (((data[sidx + 1] << 4) & 255) | (Misc.URShift(data[sidx + 2], 2) & 15));
165
125
  return dest;
166
126
  }
167
- /// <summary> decoded and return an hex representation of the data</summary>
168
127
  static decodeToHex(str) {
169
128
  if (str === null)
170
129
  return null;
@@ -172,13 +131,9 @@ export class Base64 {
172
131
  return str;
173
132
  return StrUtil.stringToHexaDump(Base64.decode(str), 2);
174
133
  }
175
- /// <summary> decodes a string to byte array</summary>
176
134
  static decodeToByte(str) {
177
135
  if (str === null)
178
136
  return null;
179
- // QCR 740918 if we have and empty expression it is sent from the server as empty string
180
- // and changed locally to a string with one blank either way they are not valid base64 encoded
181
- // string and should not be decoded.
182
137
  if (str === "" || str === " ")
183
138
  return new Uint8Array(0);
184
139
  try {
@@ -207,4 +162,4 @@ export class Base64 {
207
162
  }
208
163
  Base64._base64EncMap = Base64.initializeEncMap();
209
164
  Base64._base64DecMap = Base64.initializeDecMap();
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZTY0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdXRpbHMvc3JjL0Jhc2U2NC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLG9CQUFvQixFQUFFLG1CQUFtQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEcsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyxNQUFNO0lBUWpCLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBYyxFQUFFLHlCQUErQixFQUFFLFFBQW1CO1FBQ2hGLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3hCLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUseUJBQXlCLENBQUMsQ0FBQzthQUUxRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUM3QixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLHlCQUF5QixFQUFFLFFBQVEsQ0FBQyxDQUFDOztZQUd2RSxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxxRUFBcUU7SUFDckUsaUNBQWlDO0lBQ2pDLGNBQWM7SUFDZCx5Q0FBeUM7SUFDekMseURBQXlEO0lBQ3pELCtDQUErQztJQUN2QyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQVcsRUFBRSxRQUFrQjtRQUNyRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsdURBQXVEO0lBQ3ZELHdFQUF3RTtJQUN4RSx3Q0FBd0M7SUFDeEMsY0FBYztJQUNkLHlDQUF5QztJQUN6QywyQ0FBMkM7SUFDM0MseURBQXlEO0lBQ3pELCtDQUEr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QUFDLEVBQUUsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFGLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6RSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQztTQUNqQjtRQUVELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMs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QUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xFLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7QUFwUGMsb0JBQWEsR0FBZSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztBQUN0RCxvQkFBYSxHQUFlLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbmNvZGluZywgRXhjZXB0aW9uLCBBcHBsaWNhdGlvbkV4Y2VwdGlvbiwgSVNPXzg4NTlfMV9FbmNvZGluZ30gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7U3RyVXRpbH0gZnJvbSBcIi4vU3RyVXRpbFwiO1xyXG5pbXBvcnQge01pc2N9IGZyb20gXCIuL01pc2NcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBCYXNlNjR7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2Jhc2U2NEVuY01hcDogVWludDhBcnJheSA9IEJhc2U2NC5pbml0aWFsaXplRW5jTWFwKCk7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2Jhc2U2NERlY01hcDogVWludDhBcnJheSA9IEJhc2U2NC5pbml0aWFsaXplRGVjTWFwKCk7XHJcblxyXG5cclxuICBzdGF0aWMgZW5jb2RlKHN0cjogc3RyaW5nLCBlbmNvZGluZzogRW5jb2RpbmcpOiBzdHJpbmc7XHJcbiAgc3RhdGljIGVuY29kZShzdHI6IHN0cmluZywgaXNVc2VFbnZDaGFyc2V0OiBib29sZWFuLCBlbmNvZGluZzogRW5jb2RpbmcpOiBzdHJpbmc7XHJcbiAgc3RhdGljIGVuY29kZShkYXRhOiBVaW50OEFycmF5KTogVWludDhBcnJheTtcclxuICBzdGF0aWMgZW5jb2RlKHN0ck9yRGF0YTogYW55LCBlbmNvZGluZ09ySXNVc2VFbnZDaGFyc2V0PzogYW55LCBlbmNvZGluZz86IEVuY29kaW5nKTogYW55IHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKVxyXG4gICAgICByZXR1cm4gQmFzZTY0LmVuY29kZV8wKHN0ck9yRGF0YSwgZW5jb2RpbmdPcklzVXNlRW52Q2hhcnNldCk7XHJcblxyXG4gICAgZWxzZSBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMylcclxuICAgICAgcmV0dXJuIEJhc2U2NC5lbmNvZGVfMShzdHJPckRhdGEsIGVuY29kaW5nT3JJc1VzZUVudkNoYXJzZXQsIGVuY29kaW5nKTtcclxuXHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBCYXNlNjQuZW5jb2RlXzIoc3RyT3JEYXRhKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gVGhpcyBtZXRob2QgZW5jb2RlcyB0aGUgZ2l2ZW4gc3RyaW5nIHVzaW5nIHRoZSBiYXNlNjQtZW5jb2RpbmdcclxuICAvLy8gc3BlY2lmaWVkIGluIFJGQy0yMDQ1IChTZWN0aW9uIDYuOCkuIEl0J3MgdXNlZCBmb3IgZXhhbXBsZSBpbiB0aGVcclxuICAvLy8gXCJCYXNpY1wiIGF1dGhvcml6YXRpb24gc2NoZW1lLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwic3RyXCI+dGhlIHN0cmluZyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImVuY29kaW5nXCI+IEVudmlyb25tZW50LkVuY29kaW5nIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB0aGUgYmFzZTY0LWVuY29kZWQgc3RyIDwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBlbmNvZGVfMChzdHI6IHN0cmluZywgZW5jb2Rpbmc6IEVuY29kaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBCYXNlNjQuZW5jb2RlKHN0ciwgZmFsc2UsIGVuY29kaW5nKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gRW5jb2RlcyBzdHJpbmcgdXNpbmcgdGhlIGJhc2U2NC1lbmNvZGluZy5cclxuICAvLy8gSWYgaXNVc2VFbnZDaGFyc2V0IGlzIHRydWUsIHVzZSB0aGUgc3BlY2lmaWMgY2hhcnNldCB3aGVuIGNvbnZlcnRpbmdcclxuICAvLy8gc3RyaW5nIHRvIGJ5dGUgYXJyYXkuIChEQkNTIHN1cHBvcnQpXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJzdHJcIj50aGUgc3RyaW5nIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaXNVc2VFbnZDaGFyc2V0XCI+IDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZW5jb2RpbmdcIj4gRW52aXJvbm1lbnQuRW5jb2RpbmcgPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHRoZSBiYXNlNjQtZW5jb2RlZCBzdHIgPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIGVuY29kZV8xKHN0cjogc3RyaW5nLCBpc1VzZUVudkNoYXJzZXQ6IGJvb2xlYW4sIGVuY29kaW5nOiBFbmNvZGluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmc7XHJcbiAgICBpZiAoc3RyID09PSBudWxsKSB7XHJcbiAgICAgIHJlc3VsdCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHN0ciA9PT0gXCJcIikge1xyXG4gICAgICAgIHJlc3VsdCA9IHN0cjtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgbGV0IGluc3RhbmNlOiBFbmNvZGluZyA9IElTT184ODU5XzFfRW5jb2RpbmcuSVNPXzg4NTlfMTtcclxuICAgICAgICAgIGxldCBlbmNvZGluZzI6IEVuY29kaW5nID0gaXNVc2VFbnZDaGFyc2V0ID8gZW5jb2RpbmcgOiBpbnN0YW5jZTtcclxuICAgICAgICAgIGxldCBiYTogVWludDhBcnJheSA9IEJhc2U2NC5lbmNvZGUoZW5jb2RpbmcyLkdldEJ5dGVzKHN0cikpO1xyXG4gICAgICAgICAgcmVzdWx0ID0gaW5zdGFuY2UuR2V0U3RyaW5nKGJhLCAwLCBiYS5sZW5ndGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZXgpIHtcclxuICAgICAgICAgIHRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihleC5NZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IFRoaXMgbWV0aG9kIGVuY29kZXMgdGhlIGdpdmVuIGJ5dGVbXSB1c2luZyB0aGUgYmFzZTY0LWVuY29kaW5nXHJcbiAgLy8vIHNwZWNpZmllZCBpbiBSRkMtMjA0NSAoU2VjdGlvbiA2LjgpLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZGF0YVwiPnRoZSBkYXRhIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB0aGUgYmFzZTY0LWVuY29kZWQgZGF0YSA8L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgZW5jb2RlXzIoZGF0YTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkge1xyXG5cclxuICAgIGlmIChkYXRhID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICBsZXQgZGVzdDogVWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KE1hdGguZmxvb3IoKGRhdGEubGVuZ3RoICsgMikgLyAzKSAqIDQpO1xyXG4gICAgbGV0IHNpZHg6IG51bWJlciA9IDA7XHJcbiAgICBsZXQgZGlkeDogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvLyAzLWJ5dGUgdG8gNC1ieXRlIGNvbnZlcnNpb24gKyAwLTYzIHRvIEFTQ0lJIHByaW50YWJsZSBjb252ZXJzaW9uXHJcbiAgICB3aGlsZSAoc2lkeCA8IGRhdGEubGVuZ3RoIC0gMikge1xyXG4gICAgICBkZXN0W2RpZHgrK10gPSBCYXNlNjQuX2Jhc2U2NEVuY01hcFtNaXNjLlVSU2hpZnQoPG51bWJlcj5kYXRhW3NpZHhdLCAyKSAmIDYzXTtcclxuICAgICAgZGVzdFtkaWR4KytdID0gQmFzZTY0Ll9iYXNlNjRFbmNNYXBbKE1pc2MuVVJTaGlmdCg8bnVtYmVyPmRhdGFbc2lkeCArIDFdLCA0KSAmIDE1KSB8ICg8bnVtYmVyPmRhdGFbc2lkeF0gPDwgNCAmIDYzKV07XHJcbiAgICAgIGRlc3RbZGlkeCsrXSA9IEJhc2U2NC5fYmFzZTY0RW5jTWFwWyhNaXNjLlVSU2hpZnQoPG51bWJlcj5kYXRhW3NpZHggKyAyXSwgNikgJiAzKSB8ICg8bnVtYmVyPmRhdGFbc2lkeCArIDFdIDw8IDIgJiA2MyldO1xyXG4gICAgICBkZXN0W2RpZHgrK10gPSBCYXNlNjQuX2Jhc2U2NEVuY01hcFs8bnVtYmVyPihkYXRhW3NpZHggKyAyXSAmIDYzKV07XHJcbiAgICAgIHNpZHggPSBzaWR4ICsgMztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2lkeCA8IGRhdGEubGVuZ3RoKSB7XHJcbiAgICAgIGRlc3RbZGlkeCsrXSA9IEJhc2U2NC5fYmFzZTY0RW5jTWFwW01pc2MuVVJTaGlmdCg8bnVtYmVyPmRhdGFbc2lkeF0sIDIpICYgNjNdO1xyXG4gICAgICBpZiAoc2lkeCA8IGRhdGEubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgIGRlc3RbZGlkeCsrXSA9IEJhc2U2NC5fYmFzZTY0RW5jTWFwWyhNaXNjLlVSU2hpZnQoPG51bWJlcj5kYXRhW3NpZHggKyAxXSwgNCkgJiAxNSkgfCAoPG51bWJlcj5kYXRhW3NpZHhdIDw8IDQgJiA2MyldO1xyXG4gICAgICAgIGRlc3RbZGlkeCsrXSA9IEJhc2U2NC5fYmFzZTY0RW5jTWFwWzxudW1iZXI+ZGF0YVtzaWR4ICsgMV0gPDwgMiAmIDYzXTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBkZXN0W2RpZHgrK10gPSBCYXNlNjQuX2Jhc2U2NEVuY01hcFs8bnVtYmVyPmRhdGFbc2lkeF0gPDwgNCAmIDYzXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIGFkZCBwYWRkaW5nXHJcbiAgICB3aGlsZSAoZGlkeCA8IGRlc3QubGVuZ3RoKSB7XHJcbiAgICAgIGRlc3RbZGlkeF0gPSA2MTtcclxuICAgICAgZGlkeCA9IGRpZHggKyAxO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZXN0O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRlY29kZShzdHI6IHN0cmluZyk6IHN0cmluZztcclxuICBzdGF0aWMgZGVjb2RlKHN0cjogc3RyaW5nLCBlbmNvZGluZzogRW5jb2RpbmcpOiBzdHJpbmc7XHJcbiAgc3RhdGljIGRlY29kZShkYXRhOiBVaW50OEFycmF5KTogVWludDhBcnJheTtcclxuICBzdGF0aWMgZGVjb2RlKHN0ck9yRGF0YTogYW55LCBlbmNvZGluZz86IEVuY29kaW5nKTogYW55IHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIChzdHJPckRhdGEgPT09IG51bGwgfHwgc3RyT3JEYXRhLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpKVxyXG4gICAgICByZXR1cm4gQmFzZTY0LmRlY29kZV8wKHN0ck9yRGF0YSk7XHJcblxyXG4gICAgZWxzZSBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMilcclxuICAgICAgcmV0dXJuIEJhc2U2NC5kZWNvZGVfMShzdHJPckRhdGEsIGVuY29kaW5nKTtcclxuXHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBCYXNlNjQuZGVjb2RlXzIoc3RyT3JEYXRhKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gVGhpcyBtZXRob2QgZGVjb2RlcyB0aGUgZ2l2ZW4gc3RyaW5nIHVzaW5nIHRoZSBiYXNlNjQtZW5jb2RpbmdcclxuICAvLy8gc3BlY2lmaWVkIGluIFJGQy0yMDQ1IChTZWN0aW9uIDYuOCkuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJzdHJcIj50aGUgYmFzZTY0LWVuY29kZWQgc3RyaW5nLiA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gdGhlIGRlY29kZWQgc3RyLjwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBkZWNvZGVfMChzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gQmFzZTY0LmRlY29kZShzdHIsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBUaGlzIG1ldGhvZCBkZWNvZGVzIHRoZSBnaXZlbiBzdHJpbmcgdXNpbmcgdGhlIGJhc2U2NC1lbmNvZGluZ1xyXG4gIC8vLyBzcGVjaWZpZWQgaW4gUkZDLTIwNDUgKFNlY3Rpb24gNi44KS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInN0clwiPnRoZSBiYXNlNjQtZW5jb2RlZCBzdHJpbmcuIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZW5jb2RpbmdcIj5FbnZpcm9ubWVudC5FbmNvZGluZyBvciBudWxsLjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB0aGUgZGVjb2RlZCBzdHIuPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIGRlY29kZV8xKHN0cjogc3RyaW5nLCBlbmNvZGluZzogRW5jb2RpbmcpOiBzdHJpbmcge1xyXG5cclxuICAgIGxldCByZXN1bHQ6IHN0cmluZztcclxuICAgIGlmIChzdHIgPT09IG51bGwpIHtcclxuICAgICAgcmVzdWx0ID0gbnVsbDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAoc3RyID09PSBcIlwiKSB7XHJcbiAgICAgICAgcmVzdWx0ID0gc3RyO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBsZXQgaW5zdGFuY2U6IElTT184ODU5XzFfRW5jb2RpbmcgPSBJU09fODg1OV8xX0VuY29kaW5nLklTT184ODU5XzE7XHJcbiAgICAgICAgICBsZXQgYXJyYXk6IFVpbnQ4QXJyYXkgPSBCYXNlNjQuZGVjb2RlKGluc3RhbmNlLkdldEJ5dGVzKHN0cikpO1xyXG4gICAgICAgICAgbGV0IGVuY29kaW5nMjogRW5jb2RpbmcgPSAoZW5jb2RpbmcgIT09IG51bGwpID8gZW5jb2RpbmcgOiBpbnN0YW5jZTtcclxuICAgICAgICAgIHJlc3VsdCA9IGVuY29kaW5nMi5HZXRTdHJpbmcoYXJyYXksIDAsIGFycmF5Lmxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChleCkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEFwcGxpY2F0aW9uRXhjZXB0aW9uKGV4Lk1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gVGhpcyBtZXRob2QgZGVjb2RlcyB0aGUgZ2l2ZW4gYnl0ZVtdIHVzaW5nIHRoZSBiYXNlNjQtZW5jb2RpbmdcclxuICAvLy8gc3BlY2lmaWVkIGluIFJGQy0yMDQ1IChTZWN0aW9uIDYuOCkuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJkYXRhXCI+dGhlIGJhc2U2NC1lbmNvZGVkIGRhdGEuPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHRoZSBkZWNvZGVkIDx2YXI+ZGF0YTwvdmFcclxuICBwcml2YXRlIHN0YXRpYyBkZWNvZGVfMihkYXRhOiBVaW50OEFycmF5KTogVWludDhBcnJheSB7XHJcbiAgICBpZiAoZGF0YSA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgbGV0IHRhaWw6IG51bWJlciA9IGRhdGEubGVuZ3RoO1xyXG4gICAgd2hpbGUgKGRhdGFbdGFpbCAtIDFdID09PSAnPScuY2hhckNvZGVBdCgwKSkge1xyXG4gICAgICB0YWlsID0gdGFpbCAtIDE7XHJcbiAgICB9XHJcbiAgICBsZXQgZGVzdDogVWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KHRhaWwgLSBNYXRoLmZsb29yKGRhdGEubGVuZ3RoIC8gNCkpO1xyXG5cclxuICAgIC8vIEFTQ0lJIHByaW50YWJsZSB0byAwLTYzIGNvbnZlcnNpb25cclxuICAgIGZvciAobGV0IGlkeDogbnVtYmVyID0gMDsgaWR4IDwgZGF0YS5sZW5ndGg7IGlkeCA9IGlkeCArIDEpIHtcclxuICAgICAgZGF0YVtpZHhdID0gQmFzZTY0Ll9iYXNlNjREZWNNYXBbZGF0YVtpZHhdXTtcclxuICAgIH1cclxuXHJcbiAgICAvLyA0LWJ5dGUgdG8gMy1ieXRlIGNvbnZlcnNpb25cclxuICAgIGxldCBzaWR4OiBudW1iZXIgPSAwO1xyXG4gICAgbGV0IGRpZHg6IG51bWJlcjtcclxuICAgIGZvciAoZGlkeCA9IDA7IGRpZHggPCBkZXN0Lmxlbmd0aCAtIDI7IGRpZHggPSBkaWR4ICsgMykge1xyXG4gICAgICBkZXN0W2RpZHhdID0gKCgoZGF0YVtzaWR4XSA8PCAyKSAmIDI1NSkgfCAoTWlzYy5VUlNoaWZ0KGRhdGFbc2lkeCArIDFdLCA0KSAmIDMpKTtcclxuICAgICAgZGVzdFtkaWR4ICsgMV0gPSAoKChkYXRhW3NpZHggKyAxXSA8PCA0KSAmIDI1NSkgfCAoTWlzYy5VUlNoaWZ0KGRhdGFbc2lkeCArIDJdLCAyKSAmIDE1KSk7XHJcbiAgICAgIGRlc3RbZGlkeCArIDJdID0gKCgoZGF0YVtzaWR4ICsgMl0gPDwgNikgJiAyNTUpIHwgKGRhdGFbc2lkeCArIDNdICYgNjMpKTtcclxuICAgICAgc2lkeCA9IHNpZHggKyA0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkaWR4IDwgZGVzdC5sZW5ndGgpXHJcbiAgICAgIGRlc3RbZGlkeF0gPSAoKChkYXRhW3NpZHhdIDw8IDIpICYgMjU1KSB8IChNaXNjLlVSU2hpZnQoZGF0YVtzaWR4ICsgMV0sIDQpICYgMykpO1xyXG4gICAgaWYgKChkaWR4ID0gZGlkeCArIDEpIDwgZGVzdC5sZW5ndGgpXHJcbiAgICAgIGRlc3RbZGlkeF0gPSAoKChkYXRhW3NpZHggKyAxXSA8PCA0KSAmIDI1NSkgfCAoTWlzYy5VUlNoaWZ0KGRhdGFbc2lkeCArIDJdLCAyKSAmIDE1KSk7XHJcblxyXG4gICAgcmV0dXJuIGRlc3Q7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGRlY29kZWQgYW5kIHJldHVybiBhbiBoZXggcmVwcmVzZW50YXRpb24gb2YgdGhlIGRhdGE8L3N1bW1hcnk+XHJcbiAgc3RhdGljIGRlY29kZVRvSGV4KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChzdHIgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgaWYgKHN0ciA9PT0gXCJcIilcclxuICAgICAgcmV0dXJuIHN0cjtcclxuXHJcbiAgICByZXR1cm4gU3RyVXRpbC5zdHJpbmdUb0hleGFEdW1wKEJhc2U2NC5kZWNvZGUoc3RyKSwgMik7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGRlY29kZXMgYSBzdHJpbmcgdG8gYnl0ZSBhcnJheTwvc3VtbWFyeT5cclxuICBzdGF0aWMgZGVjb2RlVG9CeXRlKHN0cjogc3RyaW5nKTogVWludDhBcnJheSB7XHJcbiAgICBpZiAoc3RyID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAvLyBRQ1IgNzQwOTE4IGlmIHdlIGhhdmUgYW5kIGVtcHR5IGV4cHJlc3Npb24gaXQgaXMgc2VudCBmcm9tIHRoZSBzZXJ2ZXIgYXMgZW1wdHkgc3RyaW5nXHJcbiAgICAvLyBhbmQgY2hhbmdlZCBsb2NhbGx5IHRvIGEgc3RyaW5nIHdpdGggb25lIGJsYW5rIGVpdGhlciB3YXkgdGhleSBhcmUgbm90IHZhbGlkIGJhc2U2NCBlbmNvZGVkXHJcbiAgICAvLyBzdHJpbmcgYW5kIHNob3VsZCBub3QgYmUgZGVjb2RlZC5cclxuICAgIGlmIChzdHIgPT09IFwiXCIgfHwgc3RyID09PSBcIiBcIilcclxuICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGxldCBpbnN0YW5jZTogRW5jb2RpbmcgPSBJU09fODg1OV8xX0VuY29kaW5nLklTT184ODU5XzE7XHJcbiAgICAgIHJldHVybiBCYXNlNjQuZGVjb2RlKGluc3RhbmNlLkdldEJ5dGVzKHN0cikpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGV4KSB7XHJcbiAgICAgIHRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihleC5NZXNzYWdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGluaXRpYWxpemVFbmNNYXAoKSB7XHJcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoW1xyXG4gICAgICA2NSwgNjYsIDY3LCA2OCwgNjksIDcwLCA3MSwgNzIsIDczLCA3NCwgNzUsIDc2LCA3NywgNzgsIDc5LCA4MCwgODEsIDgyLCA4MyxcclxuICAgICAgODQsIDg1LCA4NiwgODcsIDg4LCA4OSwgOTAsIDk3LCA5OCwgOTksIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0LCAxMDUsIDEwNiwgMTA3LCAxMDgsIDEwOSxcclxuICAgICAgMTEwLCAxMTEsIDExMiwgMTEzLCAxMTQsIDExNSwgMTE2LCAxMTcsIDExOCwgMTE5LCAxMjAsIDEyMSwgMTIyLCA0OCwgNDksIDUwLCA1MSwgNTIsIDUzLCA1NCxcclxuICAgICAgNTUsIDU2LCA1NywgNDMsIDQ3XHJcbiAgICBdKTtcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBpbml0aWFsaXplRGVjTWFwKCkge1xyXG4gICAgbGV0IGRlY01hcDogVWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KDEyOCk7XHJcblxyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IEJhc2U2NC5fYmFzZTY0RW5jTWFwLmxlbmd0aDsgaSA9IGkgKyAxKSB7XHJcbiAgICAgIGRlY01hcFtCYXNlNjQuX2Jhc2U2NEVuY01hcFtpXV0gPSBpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZWNNYXA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZTY0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXRpbHMvc3JjL0Jhc2U2NC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLG9CQUFvQixFQUFFLG1CQUFtQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEcsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyxNQUFNO0lBUWpCLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBYyxFQUFFLHlCQUErQixFQUFFLFFBQW1CO1FBQ2hGLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3hCLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUseUJBQXlCLENBQUMsQ0FBQzthQUUxRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUM3QixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLHlCQUF5QixFQUFFLFFBQVEsQ0FBQyxDQUFDOztZQUd2RSxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQVNPLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBVyxFQUFFLFFBQWtCO1FBQ3JELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFVTyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQVcsRUFBRSxlQUF3QixFQUFFLFFBQWtCO1FBQy9FLElBQUksTUFBYyxDQUFDO1FBQ25CLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUNoQixNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ2Y7YUFDSTtZQUNILElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTtnQkFDZCxNQUFNLEdB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akI7UUFDRCxJQUFJLElBQUksR0FBZSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFHMUUsS0FBSyxJQUFJLEdBQUcsR0FBVyxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDMUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDN0M7UUFHRCxJQUFJLElBQUksR0FBVyxDQUFDLENBQUM7UUFDckIsSUFBSSxJQUFZLENBQUM7UUFDakIsS0FBSyxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRTtZQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUYsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFD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RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDM0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7U0FDbkIsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUVPLE1BQU0sQ0FBQyxnQkFBZ0I7UUFDN0IsSUFBSSxNQUFNLEdBQWUsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFN0MsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xFLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7QUFwUGMsb0JBQWEsR0FBZSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztBQUN0RCxvQkFBYSxHQUFlLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbmNvZGluZywgRXhjZXB0aW9uLCBBcHBsaWNhdGlvbkV4Y2VwdGlvbiwgSVNPXzg4NTlfMV9FbmNvZGluZ30gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7U3RyVXRpbH0gZnJvbSBcIi4vU3RyVXRpbFwiO1xyXG5pbXBvcnQge01pc2N9IGZyb20gXCIuL01pc2NcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBCYXNlNjR7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2Jhc2U2NEVuY01hcDogVWludDhBcnJheSA9IEJhc2U2NC5pbml0aWFsaXplRW5jTWFwKCk7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2Jhc2U2NERlY01hcDogVWludDhBcnJheSA9IEJhc2U2NC5pbml0aWFsaXplRGVjTWFwKCk7XHJcblxyXG5cclxuICBzdGF0aWMgZW5jb2RlKHN0cjogc3RyaW5nLCBlbmNvZGluZzogRW5jb2RpbmcpOiBzdHJpbmc7XHJcbiAgc3RhdGljIGVuY29kZShzdHI6IHN0cmluZywgaXNVc2VFbnZDaGFyc2V0OiBib29sZWFuLCBlbmNvZGluZzogRW5jb2RpbmcpOiBzdHJpbmc7XHJcbiAgc3RhdGljIGVuY29kZShkYXRhOiBVaW50OEFycmF5KTogVWludDhBcnJheTtcclxuICBzdGF0aWMgZW5jb2RlKHN0ck9yRGF0YTogYW55LCBlbmNvZGluZ09ySXNVc2VFbnZDaGFyc2V0PzogYW55LCBlbmNvZGluZz86IEVuY29kaW5nKTogYW55IHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKVxyXG4gICAgICByZXR1cm4gQmFzZTY0LmVuY29kZV8wKHN0ck9yRGF0YSwgZW5jb2RpbmdPcklzVXNlRW52Q2hhcnNldCk7XHJcblxyXG4gICAgZWxzZSBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMylcclxuICAgICAgcmV0dXJuIEJhc2U2NC5lbmNvZGVfMShzdHJPckRhdGEsIGVuY29kaW5nT3JJc1VzZUVudkNoYXJzZXQsIGVuY29kaW5nKTtcclxuXHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBCYXNlNjQuZW5jb2RlXzIoc3RyT3JEYXRhKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gVGhpcyBtZXRob2QgZW5jb2RlcyB0aGUgZ2l2ZW4gc3RyaW5nIHVzaW5nIHRoZSBiYXNlNjQtZW5jb2RpbmdcclxuICAvLy8gc3BlY2lmaWVkIGluIFJGQy0yMDQ1IChTZWN0aW9uIDYuOCkuIEl0J3MgdXNlZCBmb3IgZXhhbXBsZSBpbiB0aGVcclxuICAvLy8gXCJCYXNpY1wiIGF1dGhvcml6YXRpb24gc2NoZW1lLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwic3RyXCI+dGhlIHN0cmluZyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImVuY29kaW5nXCI+IEVudmlyb25tZW50LkVuY29kaW5nIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB0aGUgYmFzZTY0LWVuY29kZWQgc3RyIDwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBlbmNvZGVfMChzdHI6IHN0cmluZywgZW5jb2Rpbmc6IEVuY29kaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBCYXNlNjQuZW5jb2RlKHN0ciwgZmFsc2UsIGVuY29kaW5nKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gRW5jb2RlcyBzdHJpbmcgdXNpbmcgdGhlIGJhc2U2NC1lbmNvZGluZy5cclxuICAvLy8gSWYgaXNVc2VFbnZDaGFyc2V0IGlzIHRydWUsIHVzZSB0aGUgc3BlY2lmaWMgY2hhcnNldCB3aGVuIGNvbnZlcnRpbmdcclxuICAvLy8gc3RyaW5nIHRvIGJ5dGUgYXJyYXkuIChEQkNTIHN1cHBvcnQpXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJzdHJcIj50aGUgc3RyaW5nIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaXNVc2VFbnZDaGFyc2V0XCI+IDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZW5jb2RpbmdcIj4gRW52aXJvbm1lbnQuRW5jb2RpbmcgPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHRoZSBiYXNlNjQtZW5jb2RlZCBzdHIgPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIGVuY29kZV8xKHN0cjogc3RyaW5nLCBpc1VzZUVudkNoYXJzZXQ6IGJvb2xlYW4sIGVuY29kaW5nOiBFbmNvZGluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmc7XHJcbiAgICBpZiAoc3RyID09PSBudWxsKSB7XHJcbiAgICAgIHJlc3VsdCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHN0ciA9PT0gXCJcIikge1xyXG4gICAgICAgIHJlc3VsdCA9IHN0cjtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgbGV0IGluc3RhbmNlOiBFbmNvZGluZyA9IElTT184ODU5XzFfRW5jb2RpbmcuSVNPXzg4NTlfMTtcclxuICAgICAgICAgIGxldCBlbmNvZGluZzI6IEVuY29kaW5nID0gaXNVc2VFbnZDaGFyc2V0ID8gZW5jb2RpbmcgOiBpbnN0YW5jZTtcclxuICAgICAgICAgIGxldCBiYTogVWludDhBcnJheSA9IEJhc2U2NC5lbmNvZGUoZW5jb2RpbmcyLkdldEJ5dGVzKHN0cikpO1xyXG4gICAgICAgICAgcmVzdWx0ID0gaW5zdGFuY2UuR2V0U3RyaW5nKGJhLCAwLCBiYS5sZW5ndGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZXgpIHtcclxuICAgICAgICAgIHRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihleC5NZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IFRoaXMgbWV0aG9kIGVuY29kZXMgdGhlIGdpdmVuIGJ5dGVbXSB1c2luZyB0aGUgYmFzZTY0LWVuY29kaW5nXHJcbiAgLy8vIHNwZWNpZmllZCBpbiBSRkMtMjA0NSAoU2VjdGlvbiA2LjgpLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZGF0YVwiPnRoZSBkYXRhIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB0aGUgYmFzZTY0LWVuY29kZWQgZGF0YSA8L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgZW5jb2RlXzIoZGF0YTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkge1xyXG5cclxuICAgIGlmIChkYXRhID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICBsZXQgZGVzdDogVWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KE1hdGguZmxvb3IoKGRhdGEubGVuZ3RoICsgMikgLyAzKSAqIDQpO1xyXG4gICAgbGV0IHNpZHg6IG51bWJlciA9IDA7XHJcbiAgICBsZXQgZGlkeDogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvLyAzLWJ5dGUgdG8gNC1ieXRlIGNvbnZlcnNpb24gKyAwLTYzIHRvIEFTQ0lJIHByaW50YWJsZSBjb252ZXJzaW9uXHJcbiAgICB3aGlsZSAoc2lkeCA8IGRhdGEubGVuZ3RoIC0gMikge1xyXG4gICAgICBkZXN0W2RpZHgrK10gPSBCYXNlNjQuX2Jhc2U2NEVuY01hcFtNaXNjLlVSU2hpZnQoPG51bWJlcj5kYXRhW3NpZHhdLCAyKSAmIDYzXTtcclxuICAgICAgZGVzdFtkaWR4KytdID0gQmFzZTY0Ll9iYXNlNjRFbmNNYXBbKE1pc2MuVVJTaGlmdCg8bnVtYmVyPmRhdGFbc2lkeCArIDFdLCA0KSAmIDE1KSB8ICg8bnVtYmVyPmRhdGFbc2lkeF0gPDwgNCAmIDYzKV07XHJcbiAgICAgIGRlc3RbZGlkeCsrXSA9IEJhc2U2NC5fYmFzZTY0RW5jTWFwWyhNaXNjLlVSU2hpZnQoPG51bWJlcj5kYXRhW3NpZHggKyAyXSwgNikgJiAzKSB8ICg8bnVtYmVyPmRhdGFbc2lkeCArIDFdIDw8IDIgJiA2MyldO1xyXG4gICAgICBkZXN0W2RpZHgrK10gPSBCYXNlNjQuX2Jhc2U2NEVuY01hcFs8bnVtYmVyPihkYXRhW3NpZHggKyAyXSAmIDYzKV07XHJcbiAgICAgIHNpZHggPSBzaWR4ICsgMztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2lkeCA8IGRhdGEubGVuZ3RoKSB7XHJcbiAgICAgIGRlc3RbZGlkeCsrXSA9IEJhc2U2NC5fYmFzZTY0RW5jTWFwW01pc2MuVVJTaGlmdCg8bnVtYmVyPmRhdGFbc2lkeF0sIDIpICYgNjNdO1xyXG4gICAgICBpZiAoc2lkeCA8IGRhdGEubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgIGRlc3RbZGlkeCsrXSA9IEJhc2U2NC5fYmFzZTY0RW5jTWFwWyhNaXNjLlVSU2hpZnQoPG51bWJlcj5kYXRhW3NpZHggKyAxXSwgNCkgJiAxNSkgfCAoPG51bWJlcj5kYXRhW3NpZHhdIDw8IDQgJiA2MyldO1xyXG4gICAgICAgIGRlc3RbZGlkeCsrXSA9IEJhc2U2NC5fYmFzZTY0RW5jTWFwWzxudW1iZXI+ZGF0YVtzaWR4ICsgMV0gPDwgMiAmIDYzXTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBkZXN0W2RpZHgrK10gPSBCYXNlNjQuX2Jhc2U2NEVuY01hcFs8bnVtYmVyPmRhdGFbc2lkeF0gPDwgNCAmIDYzXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIGFkZCBwYWRkaW5nXHJcbiAgICB3aGlsZSAoZGlkeCA8IGRlc3QubGVuZ3RoKSB7XHJcbiAgICAgIGRlc3RbZGlkeF0gPSA2MTtcclxuICAgICAgZGlkeCA9IGRpZHggKyAxO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZXN0O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRlY29kZShzdHI6IHN0cmluZyk6IHN0cmluZztcclxuICBzdGF0aWMgZGVjb2RlKHN0cjogc3RyaW5nLCBlbmNvZGluZzogRW5jb2RpbmcpOiBzdHJpbmc7XHJcbiAgc3RhdGljIGRlY29kZShkYXRhOiBVaW50OEFycmF5KTogVWludDhBcnJheTtcclxuICBzdGF0aWMgZGVjb2RlKHN0ck9yRGF0YTogYW55LCBlbmNvZGluZz86IEVuY29kaW5nKTogYW55IHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIChzdHJPckRhdGEgPT09IG51bGwgfHwgc3RyT3JEYXRhLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpKVxyXG4gICAgICByZXR1cm4gQmFzZTY0LmRlY29kZV8wKHN0ck9yRGF0YSk7XHJcblxyXG4gICAgZWxzZSBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMilcclxuICAgICAgcmV0dXJuIEJhc2U2NC5kZWNvZGVfMShzdHJPckRhdGEsIGVuY29kaW5nKTtcclxuXHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBCYXNlNjQuZGVjb2RlXzIoc3RyT3JEYXRhKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gVGhpcyBtZXRob2QgZGVjb2RlcyB0aGUgZ2l2ZW4gc3RyaW5nIHVzaW5nIHRoZSBiYXNlNjQtZW5jb2RpbmdcclxuICAvLy8gc3BlY2lmaWVkIGluIFJGQy0yMDQ1IChTZWN0aW9uIDYuOCkuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJzdHJcIj50aGUgYmFzZTY0LWVuY29kZWQgc3RyaW5nLiA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gdGhlIGRlY29kZWQgc3RyLjwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBkZWNvZGVfMChzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gQmFzZTY0LmRlY29kZShzdHIsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBUaGlzIG1ldGhvZCBkZWNvZGVzIHRoZSBnaXZlbiBzdHJpbmcgdXNpbmcgdGhlIGJhc2U2NC1lbmNvZGluZ1xyXG4gIC8vLyBzcGVjaWZpZWQgaW4gUkZDLTIwNDUgKFNlY3Rpb24gNi44KS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInN0clwiPnRoZSBiYXNlNjQtZW5jb2RlZCBzdHJpbmcuIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZW5jb2RpbmdcIj5FbnZpcm9ubWVudC5FbmNvZGluZyBvciBudWxsLjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB0aGUgZGVjb2RlZCBzdHIuPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIGRlY29kZV8xKHN0cjogc3RyaW5nLCBlbmNvZGluZzogRW5jb2RpbmcpOiBzdHJpbmcge1xyXG5cclxuICAgIGxldCByZXN1bHQ6IHN0cmluZztcclxuICAgIGlmIChzdHIgPT09IG51bGwpIHtcclxuICAgICAgcmVzdWx0ID0gbnVsbDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAoc3RyID09PSBcIlwiKSB7XHJcbiAgICAgICAgcmVzdWx0ID0gc3RyO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBsZXQgaW5zdGFuY2U6IElTT184ODU5XzFfRW5jb2RpbmcgPSBJU09fODg1OV8xX0VuY29kaW5nLklTT184ODU5XzE7XHJcbiAgICAgICAgICBsZXQgYXJyYXk6IFVpbnQ4QXJyYXkgPSBCYXNlNjQuZGVjb2RlKGluc3RhbmNlLkdldEJ5dGVzKHN0cikpO1xyXG4gICAgICAgICAgbGV0IGVuY29kaW5nMjogRW5jb2RpbmcgPSAoZW5jb2RpbmcgIT09IG51bGwpID8gZW5jb2RpbmcgOiBpbnN0YW5jZTtcclxuICAgICAgICAgIHJlc3VsdCA9IGVuY29kaW5nMi5HZXRTdHJpbmcoYXJyYXksIDAsIGFycmF5Lmxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChleCkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEFwcGxpY2F0aW9uRXhjZXB0aW9uKGV4Lk1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gVGhpcyBtZXRob2QgZGVjb2RlcyB0aGUgZ2l2ZW4gYnl0ZVtdIHVzaW5nIHRoZSBiYXNlNjQtZW5jb2RpbmdcclxuICAvLy8gc3BlY2lmaWVkIGluIFJGQy0yMDQ1IChTZWN0aW9uIDYuOCkuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJkYXRhXCI+dGhlIGJhc2U2NC1lbmNvZGVkIGRhdGEuPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHRoZSBkZWNvZGVkIDx2YXI+ZGF0YTwvdmFcclxuICBwcml2YXRlIHN0YXRpYyBkZWNvZGVfMihkYXRhOiBVaW50OEFycmF5KTogVWludDhBcnJheSB7XHJcbiAgICBpZiAoZGF0YSA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgbGV0IHRhaWw6IG51bWJlciA9IGRhdGEubGVuZ3RoO1xyXG4gICAgd2hpbGUgKGRhdGFbdGFpbCAtIDFdID09PSAnPScuY2hhckNvZGVBdCgwKSkge1xyXG4gICAgICB0YWlsID0gdGFpbCAtIDE7XHJcbiAgICB9XHJcbiAgICBsZXQgZGVzdDogVWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KHRhaWwgLSBNYXRoLmZsb29yKGRhdGEubGVuZ3RoIC8gNCkpO1xyXG5cclxuICAgIC8vIEFTQ0lJIHByaW50YWJsZSB0byAwLTYzIGNvbnZlcnNpb25cclxuICAgIGZvciAobGV0IGlkeDogbnVtYmVyID0gMDsgaWR4IDwgZGF0YS5sZW5ndGg7IGlkeCA9IGlkeCArIDEpIHtcclxuICAgICAgZGF0YVtpZHhdID0gQmFzZTY0Ll9iYXNlNjREZWNNYXBbZGF0YVtpZHhdXTtcclxuICAgIH1cclxuXHJcbiAgICAvLyA0LWJ5dGUgdG8gMy1ieXRlIGNvbnZlcnNpb25cclxuICAgIGxldCBzaWR4OiBudW1iZXIgPSAwO1xyXG4gICAgbGV0IGRpZHg6IG51bWJlcjtcclxuICAgIGZvciAoZGlkeCA9IDA7IGRpZHggPCBkZXN0Lmxlbmd0aCAtIDI7IGRpZHggPSBkaWR4ICsgMykge1xyXG4gICAgICBkZXN0W2RpZHhdID0gKCgoZGF0YVtzaWR4XSA8PCAyKSAmIDI1NSkgfCAoTWlzYy5VUlNoaWZ0KGRhdGFbc2lkeCArIDFdLCA0KSAmIDMpKTtcclxuICAgICAgZGVzdFtkaWR4ICsgMV0gPSAoKChkYXRhW3NpZHggKyAxXSA8PCA0KSAmIDI1NSkgfCAoTWlzYy5VUlNoaWZ0KGRhdGFbc2lkeCArIDJdLCAyKSAmIDE1KSk7XHJcbiAgICAgIGRlc3RbZGlkeCArIDJdID0gKCgoZGF0YVtzaWR4ICsgMl0gPDwgNikgJiAyNTUpIHwgKGRhdGFbc2lkeCArIDNdICYgNjMpKTtcclxuICAgICAgc2lkeCA9IHNpZHggKyA0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkaWR4IDwgZGVzdC5sZW5ndGgpXHJcbiAgICAgIGRlc3RbZGlkeF0gPSAoKChkYXRhW3NpZHhdIDw8IDIpICYgMjU1KSB8IChNaXNjLlVSU2hpZnQoZGF0YVtzaWR4ICsgMV0sIDQpICYgMykpO1xyXG4gICAgaWYgKChkaWR4ID0gZGlkeCArIDEpIDwgZGVzdC5sZW5ndGgpXHJcbiAgICAgIGRlc3RbZGlkeF0gPSAoKChkYXRhW3NpZHggKyAxXSA8PCA0KSAmIDI1NSkgfCAoTWlzYy5VUlNoaWZ0KGRhdGFbc2lkeCArIDJdLCAyKSAmIDE1KSk7XHJcblxyXG4gICAgcmV0dXJuIGRlc3Q7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGRlY29kZWQgYW5kIHJldHVybiBhbiBoZXggcmVwcmVzZW50YXRpb24gb2YgdGhlIGRhdGE8L3N1bW1hcnk+XHJcbiAgc3RhdGljIGRlY29kZVRvSGV4KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChzdHIgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgaWYgKHN0ciA9PT0gXCJcIilcclxuICAgICAgcmV0dXJuIHN0cjtcclxuXHJcbiAgICByZXR1cm4gU3RyVXRpbC5zdHJpbmdUb0hleGFEdW1wKEJhc2U2NC5kZWNvZGUoc3RyKSwgMik7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGRlY29kZXMgYSBzdHJpbmcgdG8gYnl0ZSBhcnJheTwvc3VtbWFyeT5cclxuICBzdGF0aWMgZGVjb2RlVG9CeXRlKHN0cjogc3RyaW5nKTogVWludDhBcnJheSB7XHJcbiAgICBpZiAoc3RyID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAvLyBRQ1IgNzQwOTE4IGlmIHdlIGhhdmUgYW5kIGVtcHR5IGV4cHJlc3Npb24gaXQgaXMgc2VudCBmcm9tIHRoZSBzZXJ2ZXIgYXMgZW1wdHkgc3RyaW5nXHJcbiAgICAvLyBhbmQgY2hhbmdlZCBsb2NhbGx5IHRvIGEgc3RyaW5nIHdpdGggb25lIGJsYW5rIGVpdGhlciB3YXkgdGhleSBhcmUgbm90IHZhbGlkIGJhc2U2NCBlbmNvZGVkXHJcbiAgICAvLyBzdHJpbmcgYW5kIHNob3VsZCBub3QgYmUgZGVjb2RlZC5cclxuICAgIGlmIChzdHIgPT09IFwiXCIgfHwgc3RyID09PSBcIiBcIilcclxuICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGxldCBpbnN0YW5jZTogRW5jb2RpbmcgPSBJU09fODg1OV8xX0VuY29kaW5nLklTT184ODU5XzE7XHJcbiAgICAgIHJldHVybiBCYXNlNjQuZGVjb2RlKGluc3RhbmNlLkdldEJ5dGVzKHN0cikpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGV4KSB7XHJcbiAgICAgIHRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihleC5NZXNzYWdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGluaXRpYWxpemVFbmNNYXAoKSB7XHJcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoW1xyXG4gICAgICA2NSwgNjYsIDY3LCA2OCwgNjksIDcwLCA3MSwgNzIsIDczLCA3NCwgNzUsIDc2LCA3NywgNzgsIDc5LCA4MCwgODEsIDgyLCA4MyxcclxuICAgICAgODQsIDg1LCA4NiwgODcsIDg4LCA4OSwgOTAsIDk3LCA5OCwgOTksIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0LCAxMDUsIDEwNiwgMTA3LCAxMDgsIDEwOSxcclxuICAgICAgMTEwLCAxMTEsIDExMiwgMTEzLCAxMTQsIDExNSwgMTE2LCAxMTcsIDExOCwgMTE5LCAxMjAsIDEyMSwgMTIyLCA0OCwgNDksIDUwLCA1MSwgNTIsIDUzLCA1NCxcclxuICAgICAgNTUsIDU2LCA1NywgNDMsIDQ3XHJcbiAgICBdKTtcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBpbml0aWFsaXplRGVjTWFwKCkge1xyXG4gICAgbGV0IGRlY01hcDogVWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KDEyOCk7XHJcblxyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IEJhc2U2NC5fYmFzZTY0RW5jTWFwLmxlbmd0aDsgaSA9IGkgKyAxKSB7XHJcbiAgICAgIGRlY01hcFtCYXNlNjQuX2Jhc2U2NEVuY01hcFtpXV0gPSBpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZWNNYXA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,18 +1,6 @@
1
1
  import { NString, StringBuilder } from "@magic-xpa/mscorelib";
2
2
  import { SEQ_2_STR, StrUtil } from "./StrUtil";
3
3
  export class ChoiceUtils {
4
- /// <summary>
5
- /// init the display Value from string
6
- /// </summary>
7
- /// <param name = "choiceDispStr">the all substring separated with comma.
8
- /// The behavior:
9
- /// a. when have "\" before char a-z need to ignore the \ put the a-z char
10
- /// b. when "\," -> ","
11
- /// c. when "\-" -> "-"
12
- /// d. when "\\" -> "\"
13
- /// e. when "\\\\" -> "\\"
14
- /// the display can be all string. and we don't need to check validation according to the dataType(as we do in Link
15
- /// </param>
16
4
  static GetDisplayListFromString(choiceDispStr, removeAccelerators, shouldMakePrintable, shouldTrimOptions) {
17
5
  let fromHelp = new Array("\\\\", "\\-", "\\,");
18
6
  let toHelp = new Array("XX", "XX", "XX");
@@ -88,4 +76,4 @@ export class ChoiceUtils {
88
76
  return (OptionStr != null ? OptionStr.ToString() : null);
89
77
  }
90
78
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hvaWNlVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9zcmMvQ2hvaWNlVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUU3QyxNQUFNLE9BQU8sV0FBVztJQUV0QixhQUFhO0lBQ2Isd0NBQXdDO0lBQ3hDLGNBQWM7SUFDZCx5RUFBeUU7SUFDekUsbUJBQW1CO0lBQ25CLDRFQUE0RTtJQUM1RSx5QkFBeUI7SUFDekIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6Qiw0QkFBNEI7SUFDNUIscUhBQXFIO0lBQ3JILFlBQVk7SUFDWixNQUFNLENBQUMsd0JBQXdCLENBQUMsYUFBcUIsRUFBRSxrQkFBMkIsRUFBRSxtQkFBNEIsRUFBRSxpQkFBMEI7UUFDMUksSUFBSSxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxJQUFJLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pDLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLElBQUksV0FBVyxHQUFXLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BGLElBQUksSUFBSSxHQUFhLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELElBQUksSUFBSSxHQUFXLENBQUMsV0FBVyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMs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Qzs7b0JBQ0ksVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQzthQUM1Qjs7Z0JBQ0ksVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUM1QjtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxNQUFNLENBQUMseUJBQXlCLENBQUMsU0FBd0I7UUFDdkQsSUFBSSxDQUFDLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksU0FBUyxJQUFJLElBQUksRUFBRTtZQUNyQixPQUFPLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHO2dCQUM1QixJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFO29CQUNqQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzt3QkFDakUsQ0FBQyxFQUFFLENBQUM7b0JBQ04sU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUNwQzs7b0JBQ0ksQ0FBQyxFQUFFLENBQUM7YUFDVjtTQUNGO1FBQ0QsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOU3RyaW5nLCBTdHJpbmdCdWlsZGVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtTRVFfMl9TVFIsIFN0clV0aWx9IGZyb20gXCIuL1N0clV0aWxcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBDaG9pY2VVdGlscyB7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBpbml0IHRoZSBkaXNwbGF5IFZhbHVlIGZyb20gc3RyaW5nXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNob2ljZURpc3BTdHJcIj50aGUgYWxsIHN1YnN0cmluZyBzZXBhcmF0ZWQgd2l0aCBjb21tYS5cclxuICAvLy8gICBUaGUgYmVoYXZpb3I6XHJcbiAgLy8vICAgYS4gd2hlbiBoYXZlIFwiXFxcIiBiZWZvcmUgY2hhciBhLXogbmVlZCB0byBpZ25vcmUgdGhlIFxcIHB1dCB0aGUgYS16IGNoYXJcclxuICAvLy8gICBiLiB3aGVuIFwiXFwsXCIgLT4gXCIsXCJcclxuICAvLy8gICBjLiB3aGVuIFwiXFwtXCIgLT4gXCItXCJcclxuICAvLy8gICBkLiB3aGVuIFwiXFxcXFwiIC0+IFwiXFxcIlxyXG4gIC8vLyAgIGUuIHdoZW4gXCJcXFxcXFxcXFwiIC0+IFwiXFxcXFwiXHJcbiAgLy8vICAgdGhlIGRpc3BsYXkgY2FuIGJlIGFsbCBzdHJpbmcuIGFuZCB3ZSBkb24ndCBuZWVkIHRvIGNoZWNrIHZhbGlkYXRpb24gYWNjb3JkaW5nIHRvIHRoZSBkYXRhVHlwZShhcyB3ZSBkbyBpbiBMaW5rXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgc3RhdGljIEdldERpc3BsYXlMaXN0RnJvbVN0cmluZyhjaG9pY2VEaXNwU3RyOiBzdHJpbmcsIHJlbW92ZUFjY2VsZXJhdG9yczogYm9vbGVhbiwgc2hvdWxkTWFrZVByaW50YWJsZTogYm9vbGVhbiwgc2hvdWxkVHJpbU9wdGlvbnM6IGJvb2xlYW4pOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgZnJvbUhlbHAgPSBuZXcgQXJyYXkoXCJcXFxcXFxcXFwiLCBcIlxcXFwtXCIsIFwiXFxcXCxcIik7XHJcbiAgICBsZXQgdG9IZWxwID0gbmV3IEFycmF5KFwiWFhcIiwgXCJYWFwiLCBcIlhYXCIpO1xyXG4gICAgY2hvaWNlRGlzcFN0ciA9IE5TdHJpbmcuVHJpbUVuZChjaG9pY2VEaXNwU3RyKTtcclxuICAgIGxldCBoZWxwU3RyRGlzcDogc3RyaW5nID0gU3RyVXRpbC5zZWFyY2hBbmRSZXBsYWNlKGNob2ljZURpc3BTdHIsIGZyb21IZWxwLCB0b0hlbHApO1xyXG4gICAgbGV0IHNUb2s6IFN0cmluZ1tdID0gU3RyVXRpbC50b2tlbml6ZShoZWxwU3RyRGlzcCwgXCIsXCIpO1xyXG4gICAgbGV0IHNpemU6IG51bWJlciA9IChoZWxwU3RyRGlzcCAhPT0gXCJcIiA/IHNUb2subGVuZ3RoIDogMCk7XHJcbiAgICBsZXQgdG9rZW5CdWZmZXI6IFN0cmluZ0J1aWxkZXI7XHJcbiAgICBsZXQgaGVscFRva2VuRGlzcDogc3RyaW5nLCB0b2tlbjogc3RyaW5nO1xyXG4gICAgbGV0IGN1cnJQb3NEaXNwOiBudW1iZXIgPSAwLCBuZXh0UG9zRGlzcCA9IDAsIHRva2VuUG9zRGlzcCwgaSA9IDA7XHJcbiAgICBsZXQgY2hvaWNlRGlzcCA9IG5ldyBBcnJheShzaXplKTtcclxuICAgIGZvciAoOyBpIDwgc2l6ZTsgaSsrKSB7XHJcbiAgICAgIG5leHRQb3NEaXNwID0gY3VyclBvc0Rpc3A7XHJcbiAgICAgIG5leHRQb3NEaXNwID0gaGVscFN0ckRpc3AuaW5kZXhPZignLCcsIG5leHRQb3NEaXNwKTtcclxuICAgICAgaWYgKG5leHRQb3NEaXNwID09PSBjdXJyUG9zRGlzcClcclxuICAgICAgICB0b2tlbiA9IGhlbHBUb2tlbkRpc3AgPSBcIlwiO1xyXG4gICAgICBlbHNlIGlmIChuZXh0UG9zRGlzcCA9PT0gLTEpIHtcclxuICAgICAgICB0b2tlbiA9IGNob2ljZURpc3BTdHIuc3Vic3RyKGN1cnJQb3NEaXNwKTtcclxuICAgICAgICBoZWxwVG9rZW5EaXNwID0gaGVscFN0ckRpc3Auc3Vic3RyKGN1cnJQb3NEaXNwKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0b2tlbiA9IGNob2ljZURpc3BTdHIuc3Vic3RyKGN1cnJQb3NEaXNwLCAobmV4dFBvc0Rpc3ApIC0gKGN1cnJQb3NEaXNwKSk7XHJcbiAgICAgICAgaGVscFRva2VuRGlzcCA9IGhlbHBTdHJEaXNwLnN1YnN0cihjdXJyUG9zRGlzcCwgKG5leHRQb3NEaXNwKSAtIChjdXJyUG9zRGlzcCkpO1xyXG4gICAgICB9XHJcbiAgICAgIGN1cnJQb3NEaXNwID0gbmV4dFBvc0Rpc3AgKyAxO1xyXG4gICAgICBpZiAodG9rZW4gIT0gbnVsbCkge1xyXG4gICAgICAgIHRva2VuID0gU3RyVXRpbC5sdHJpbSh0b2tlbik7XHJcbiAgICAgICAgaWYgKHJlbW92ZUFjY2VsZXJhdG9ycylcclxuICAgICAgICAgIHRva2VuID0gQ2hvaWNlVXRpbHMuUmVtb3ZlQWNjbENoYXJGcm9tT3B0aW9ucyhuZXcgU3RyaW5nQnVpbGRlcih0b2tlbikpO1xyXG4gICAgICAgIGhlbHBUb2tlbkRpc3AgPSBTdHJVdGlsLmx0cmltKGhlbHBUb2tlbkRpc3ApO1xyXG4gICAgICAgIGlmIChyZW1vdmVBY2NlbGVyYXRvcnMpXHJcbiAgICAgICAgICBoZWxwVG9rZW5EaXNwID0gQ2hvaWNlVXRpbHMuUmVtb3ZlQWNjbENoYXJGcm9tT3B0aW9ucyhuZXcgU3RyaW5nQnVpbGRlcihoZWxwVG9rZW5EaXNwKSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGhlbHBUb2tlbkRpc3AuaW5kZXhPZignXFxcXCcpID49IDApIHtcclxuICAgICAgICB0b2tlbkJ1ZmZlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcbiAgICAgICAgZm9yICg7IHRva2VuUG9zRGlzcCA8IGhlbHBUb2tlbkRpc3AubGVuZ3RoOyB0b2tlblBvc0Rpc3ArKylcclxuICAgICAgICAgIGlmIChoZWxwVG9rZW5EaXNwW3Rva2VuUG9zRGlzcF0gIT09ICdcXFxcJylcclxuICAgICAgICAgICAgdG9rZW5CdWZmZXIuQXBwZW5kKHRva2VuW3Rva2VuUG9zRGlzcF0pO1xyXG4gICAgICAgICAgZWxzZSBpZiAodG9rZW5Qb3NEaXNwID09PSBoZWxwVG9rZW5EaXNwLmxlbmd0aCAtIDEpXHJcbiAgICAgICAgICAgIHRva2VuQnVmZmVyLkFwcGVuZCgnICcpO1xyXG4gICAgICAgIHRva2VuID0gdG9rZW5CdWZmZXIuVG9TdHJpbmcoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoc2hvdWxkTWFrZVByaW50YWJsZSkge1xyXG4gICAgICAgIHRva2VuID0gU3RyVXRpbC5tYWtlUHJpbnRhYmxlVG9rZW5zKHRva2VuLCBTRVFfMl9TVFIpO1xyXG4gICAgICAgIGlmIChzaG91bGRUcmltT3B0aW9ucykge1xyXG4gICAgICAgICAgbGV0IHRlbXA6IHN0cmluZyA9IE5TdHJpbmcuVHJpbUVuZCh0b2tlbik7XHJcbiAgICAgICAgICBpZiAodGVtcC5sZW5ndGggPT09IDApXHJcbiAgICAgICAgICAgIGNob2ljZURpc3BbaV0gPSBcIiBcIjtcclxuICAgICAgICAgIGVsc2UgY2hvaWNlRGlzcFtpXSA9IE5TdHJpbmcuVHJpbUVuZCh0b2tlbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgY2hvaWNlRGlzcFtpXSA9IHRva2VuO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgY2hvaWNlRGlzcFtpXSA9IHRva2VuO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNob2ljZURpc3A7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgUmVtb3ZlQWNjbENoYXJGcm9tT3B0aW9ucyhPcHRpb25TdHI6IFN0cmluZ0J1aWxkZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IGk6IG51bWJlciA9IDA7XHJcbiAgICBpZiAoT3B0aW9uU3RyICE9IG51bGwpIHtcclxuICAgICAgZm9yICg7IGkgPCBPcHRpb25TdHIuTGVuZ3RoOykge1xyXG4gICAgICAgIGlmIChPcHRpb25TdHIuZ2V0X0l0ZW0oaSkgPT09ICcmJykge1xyXG4gICAgICAgICAgaWYgKGkgPCBPcHRpb25TdHIuTGVuZ3RoIC0gMSAmJiBPcHRpb25TdHIuZ2V0X0l0ZW0oaSArIDEpID09PSAoJyYnKSlcclxuICAgICAgICAgICAgaSsrO1xyXG4gICAgICAgICAgT3B0aW9uU3RyID0gT3B0aW9uU3RyLlJlbW92ZShpLCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpKys7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiAoT3B0aW9uU3RyICE9IG51bGwgPyBPcHRpb25TdHIuVG9TdHJpbmcoKSA6IG51bGwpO1xyXG4gIH1cclxufVxyXG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hvaWNlVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9zcmMvQ2hvaWNlVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUU3QyxNQUFNLE9BQU8sV0FBVztJQWN0QixNQUFNLENBQUMsd0JBQXdCLENBQUMsYUFBcUIsRUFBRSxrQkFBMkIsRUFBRSxtQkFBNEIsRUFBRSxpQkFBMEI7UUFDMUksSUFBSSxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxJQUFJLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pDLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLElBQUksV0FBVyxHQUFXLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BGLElBQUksSUFBSSxHQUFhLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELElBQUksSUFBSSxHQUFXLENBQUMsV0FBVyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsSUFBSSxXQUEwQixDQUFDO1FBQy9CLElBQUksYUFBcUIsRUFBRSxLQUFhLENBQUM7UUFDekMsSUFBSSxXQUFXLEdBQVcsQ0FBQyxFQUFFLFdBQVcsR0FBRyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFD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eUJBQXlCLENBQUMsU0FBd0I7UUFDdkQsSUFBSSxDQUFDLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksU0FBUyxJQUFJLElBQUksRUFBRTtZQUNyQixPQUFPLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHO2dCQUM1QixJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFO29CQUNqQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzt3QkFDakUsQ0FBQyxFQUFFLENBQUM7b0JBQ04sU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUNwQzs7b0JBQ0ksQ0FBQyxFQUFFLENBQUM7YUFDVjtTQUNGO1FBQ0QsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOU3RyaW5nLCBTdHJpbmdCdWlsZGVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtTRVFfMl9TVFIsIFN0clV0aWx9IGZyb20gXCIuL1N0clV0aWxcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBDaG9pY2VVdGlscyB7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBpbml0IHRoZSBkaXNwbGF5IFZhbHVlIGZyb20gc3RyaW5nXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNob2ljZURpc3BTdHJcIj50aGUgYWxsIHN1YnN0cmluZyBzZXBhcmF0ZWQgd2l0aCBjb21tYS5cclxuICAvLy8gICBUaGUgYmVoYXZpb3I6XHJcbiAgLy8vICAgYS4gd2hlbiBoYXZlIFwiXFxcIiBiZWZvcmUgY2hhciBhLXogbmVlZCB0byBpZ25vcmUgdGhlIFxcIHB1dCB0aGUgYS16IGNoYXJcclxuICAvLy8gICBiLiB3aGVuIFwiXFwsXCIgLT4gXCIsXCJcclxuICAvLy8gICBjLiB3aGVuIFwiXFwtXCIgLT4gXCItXCJcclxuICAvLy8gICBkLiB3aGVuIFwiXFxcXFwiIC0+IFwiXFxcIlxyXG4gIC8vLyAgIGUuIHdoZW4gXCJcXFxcXFxcXFwiIC0+IFwiXFxcXFwiXHJcbiAgLy8vICAgdGhlIGRpc3BsYXkgY2FuIGJlIGFsbCBzdHJpbmcuIGFuZCB3ZSBkb24ndCBuZWVkIHRvIGNoZWNrIHZhbGlkYXRpb24gYWNjb3JkaW5nIHRvIHRoZSBkYXRhVHlwZShhcyB3ZSBkbyBpbiBMaW5rXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgc3RhdGljIEdldERpc3BsYXlMaXN0RnJvbVN0cmluZyhjaG9pY2VEaXNwU3RyOiBzdHJpbmcsIHJlbW92ZUFjY2VsZXJhdG9yczogYm9vbGVhbiwgc2hvdWxkTWFrZVByaW50YWJsZTogYm9vbGVhbiwgc2hvdWxkVHJpbU9wdGlvbnM6IGJvb2xlYW4pOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgZnJvbUhlbHAgPSBuZXcgQXJyYXkoXCJcXFxcXFxcXFwiLCBcIlxcXFwtXCIsIFwiXFxcXCxcIik7XHJcbiAgICBsZXQgdG9IZWxwID0gbmV3IEFycmF5KFwiWFhcIiwgXCJYWFwiLCBcIlhYXCIpO1xyXG4gICAgY2hvaWNlRGlzcFN0ciA9IE5TdHJpbmcuVHJpbUVuZChjaG9pY2VEaXNwU3RyKTtcclxuICAgIGxldCBoZWxwU3RyRGlzcDogc3RyaW5nID0gU3RyVXRpbC5zZWFyY2hBbmRSZXBsYWNlKGNob2ljZURpc3BTdHIsIGZyb21IZWxwLCB0b0hlbHApO1xyXG4gICAgbGV0IHNUb2s6IFN0cmluZ1tdID0gU3RyVXRpbC50b2tlbml6ZShoZWxwU3RyRGlzcCwgXCIsXCIpO1xyXG4gICAgbGV0IHNpemU6IG51bWJlciA9IChoZWxwU3RyRGlzcCAhPT0gXCJcIiA/IHNUb2subGVuZ3RoIDogMCk7XHJcbiAgICBsZXQgdG9rZW5CdWZmZXI6IFN0cmluZ0J1aWxkZXI7XHJcbiAgICBsZXQgaGVscFRva2VuRGlzcDogc3RyaW5nLCB0b2tlbjogc3RyaW5nO1xyXG4gICAgbGV0IGN1cnJQb3NEaXNwOiBudW1iZXIgPSAwLCBuZXh0UG9zRGlzcCA9IDAsIHRva2VuUG9zRGlzcCwgaSA9IDA7XHJcbiAgICBsZXQgY2hvaWNlRGlzcCA9IG5ldyBBcnJheShzaXplKTtcclxuICAgIGZvciAoOyBpIDwgc2l6ZTsgaSsrKSB7XHJcbiAgICAgIG5leHRQb3NEaXNwID0gY3VyclBvc0Rpc3A7XHJcbiAgICAgIG5leHRQb3NEaXNwID0gaGVscFN0ckRpc3AuaW5kZXhPZignLCcsIG5leHRQb3NEaXNwKTtcclxuICAgICAgaWYgKG5leHRQb3NEaXNwID09PSBjdXJyUG9zRGlzcClcclxuICAgICAgICB0b2tlbiA9IGhlbHBUb2tlbkRpc3AgPSBcIlwiO1xyXG4gICAgICBlbHNlIGlmIChuZXh0UG9zRGlzcCA9PT0gLTEpIHtcclxuICAgICAgICB0b2tlbiA9IGNob2ljZURpc3BTdHIuc3Vic3RyKGN1cnJQb3NEaXNwKTtcclxuICAgICAgICBoZWxwVG9rZW5EaXNwID0gaGVscFN0ckRpc3Auc3Vic3RyKGN1cnJQb3NEaXNwKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0b2tlbiA9IGNob2ljZURpc3BTdHIuc3Vic3RyKGN1cnJQb3NEaXNwLCAobmV4dFBvc0Rpc3ApIC0gKGN1cnJQb3NEaXNwKSk7XHJcbiAgICAgICAgaGVscFRva2VuRGlzcCA9IGhlbHBTdHJEaXNwLnN1YnN0cihjdXJyUG9zRGlzcCwgKG5leHRQb3NEaXNwKSAtIChjdXJyUG9zRGlzcCkpO1xyXG4gICAgICB9XHJcbiAgICAgIGN1cnJQb3NEaXNwID0gbmV4dFBvc0Rpc3AgKyAxO1xyXG4gICAgICBpZiAodG9rZW4gIT0gbnVsbCkge1xyXG4gICAgICAgIHRva2VuID0gU3RyVXRpbC5sdHJpbSh0b2tlbik7XHJcbiAgICAgICAgaWYgKHJlbW92ZUFjY2VsZXJhdG9ycylcclxuICAgICAgICAgIHRva2VuID0gQ2hvaWNlVXRpbHMuUmVtb3ZlQWNjbENoYXJGcm9tT3B0aW9ucyhuZXcgU3RyaW5nQnVpbGRlcih0b2tlbikpO1xyXG4gICAgICAgIGhlbHBUb2tlbkRpc3AgPSBTdHJVdGlsLmx0cmltKGhlbHBUb2tlbkRpc3ApO1xyXG4gICAgICAgIGlmIChyZW1vdmVBY2NlbGVyYXRvcnMpXHJcbiAgICAgICAgICBoZWxwVG9rZW5EaXNwID0gQ2hvaWNlVXRpbHMuUmVtb3ZlQWNjbENoYXJGcm9tT3B0aW9ucyhuZXcgU3RyaW5nQnVpbGRlcihoZWxwVG9rZW5EaXNwKSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGhlbHBUb2tlbkRpc3AuaW5kZXhPZignXFxcXCcpID49IDApIHtcclxuICAgICAgICB0b2tlbkJ1ZmZlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcbiAgICAgICAgZm9yICg7IHRva2VuUG9zRGlzcCA8IGhlbHBUb2tlbkRpc3AubGVuZ3RoOyB0b2tlblBvc0Rpc3ArKylcclxuICAgICAgICAgIGlmIChoZWxwVG9rZW5EaXNwW3Rva2VuUG9zRGlzcF0gIT09ICdcXFxcJylcclxuICAgICAgICAgICAgdG9rZW5CdWZmZXIuQXBwZW5kKHRva2VuW3Rva2VuUG9zRGlzcF0pO1xyXG4gICAgICAgICAgZWxzZSBpZiAodG9rZW5Qb3NEaXNwID09PSBoZWxwVG9rZW5EaXNwLmxlbmd0aCAtIDEpXHJcbiAgICAgICAgICAgIHRva2VuQnVmZmVyLkFwcGVuZCgnICcpO1xyXG4gICAgICAgIHRva2VuID0gdG9rZW5CdWZmZXIuVG9TdHJpbmcoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoc2hvdWxkTWFrZVByaW50YWJsZSkge1xyXG4gICAgICAgIHRva2VuID0gU3RyVXRpbC5tYWtlUHJpbnRhYmxlVG9rZW5zKHRva2VuLCBTRVFfMl9TVFIpO1xyXG4gICAgICAgIGlmIChzaG91bGRUcmltT3B0aW9ucykge1xyXG4gICAgICAgICAgbGV0IHRlbXA6IHN0cmluZyA9IE5TdHJpbmcuVHJpbUVuZCh0b2tlbik7XHJcbiAgICAgICAgICBpZiAodGVtcC5sZW5ndGggPT09IDApXHJcbiAgICAgICAgICAgIGNob2ljZURpc3BbaV0gPSBcIiBcIjtcclxuICAgICAgICAgIGVsc2UgY2hvaWNlRGlzcFtpXSA9IE5TdHJpbmcuVHJpbUVuZCh0b2tlbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgY2hvaWNlRGlzcFtpXSA9IHRva2VuO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgY2hvaWNlRGlzcFtpXSA9IHRva2VuO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNob2ljZURpc3A7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgUmVtb3ZlQWNjbENoYXJGcm9tT3B0aW9ucyhPcHRpb25TdHI6IFN0cmluZ0J1aWxkZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IGk6IG51bWJlciA9IDA7XHJcbiAgICBpZiAoT3B0aW9uU3RyICE9IG51bGwpIHtcclxuICAgICAgZm9yICg7IGkgPCBPcHRpb25TdHIuTGVuZ3RoOykge1xyXG4gICAgICAgIGlmIChPcHRpb25TdHIuZ2V0X0l0ZW0oaSkgPT09ICcmJykge1xyXG4gICAgICAgICAgaWYgKGkgPCBPcHRpb25TdHIuTGVuZ3RoIC0gMSAmJiBPcHRpb25TdHIuZ2V0X0l0ZW0oaSArIDEpID09PSAoJyYnKSlcclxuICAgICAgICAgICAgaSsrO1xyXG4gICAgICAgICAgT3B0aW9uU3RyID0gT3B0aW9uU3RyLlJlbW92ZShpLCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpKys7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiAoT3B0aW9uU3RyICE9IG51bGwgPyBPcHRpb25TdHIuVG9TdHJpbmcoKSA6IG51bGwpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,17 +1,13 @@
1
1
  import { Int32 } from "@magic-xpa/mscorelib";
2
- //This class contains all the constants which are used in MgxpaRIA.exe as well as in MgGui.dll.
3
2
  export class Constants {
4
3
  constructor() {
5
4
  }
6
5
  }
7
- /// <summary> Null Arithmetic values</summary>
8
6
  Constants.NULL_ARITH_NULLIFY = 'N';
9
7
  Constants.NULL_ARITH_USE_DEF = 'U';
10
- /// <summary> select program : select mode property</summary>
11
8
  Constants.SELPRG_MODE_BEFORE = 'B';
12
9
  Constants.SELPRG_MODE_AFTER = 'A';
13
10
  Constants.SELPRG_MODE_PROMPT = 'P';
14
- /// <summary> move in View</summary>
15
11
  Constants.MOVE_UNIT_TABLE = 'T';
16
12
  Constants.MOVE_UNIT_PAGE = 'P';
17
13
  Constants.MOVE_UNIT_ROW = 'R';
@@ -25,7 +21,6 @@ Constants.MOVE_DIRECTION_PARENT = 'A';
25
21
  Constants.MOVE_DIRECTION_FIRST_SON = 'F';
26
22
  Constants.MOVE_DIRECTION_NEXT_SIBLING = 'X';
27
23
  Constants.MOVE_DIRECTION_PREV_SIBLING = 'V';
28
- /// <summary> refresh types for a task form</summary>
29
24
  Constants.TASK_REFRESH_FORM = 'F';
30
25
  Constants.TASK_REFRESH_TABLE = 'T';
31
26
  Constants.TASK_REFRESH_TREE_AND_FORM = 'R';
@@ -36,15 +31,12 @@ Constants.TASK_MODE_MODIFY = 'M';
36
31
  Constants.TASK_MODE_CREATE = 'C';
37
32
  Constants.TASK_MODE_DELETE = 'D';
38
33
  Constants.TASK_MODE_NONE = ' ';
39
- /// <summary> task level</summary>
40
34
  Constants.TASK_LEVEL_NONE = ' ';
41
35
  Constants.TASK_LEVEL_TASK = 'T';
42
36
  Constants.TASK_LEVEL_RECORD = 'R';
43
37
  Constants.TASK_LEVEL_CONTROL = 'C';
44
- /// <summary> special records constants</summary>
45
38
  Constants.MG_DATAVIEW_FIRST_RECORD = Int32.MinValue;
46
39
  Constants.MG_DATAVIEW_LAST_RECORD = Int32.MaxValue;
47
- /// <summary> action states for keyboard mapping</summary>
48
40
  Constants.ACT_STT_TBL_SCREEN_MODE = 0x0001;
49
41
  Constants.ACT_STT_TBL_LEFT_TO_RIGHT = 0x0002;
50
42
  Constants.ACT_STT_TBL_SCREEN_TOP = 0x0004;
@@ -59,17 +51,13 @@ Constants.ACT_STT_EDT_LINE_END = 0x0400;
59
51
  Constants.ACT_STT_EDT_EDITING = 0x0800;
60
52
  Constants.ACT_STT_TREE_PARK = 0x1000;
61
53
  Constants.ACT_STT_TREE_EDITING = 0x2000;
62
- Constants.ForwardSlashWebUsage = "web"; // refer to a forward slash as a relative web url.
54
+ Constants.ForwardSlashWebUsage = "web";
63
55
  Constants.HTTP_PROTOCOL = "http://";
64
56
  Constants.HTTPS_PROTOCOL = "https://";
65
57
  Constants.FILE_PROTOCOL = "file://";
66
- /// <summary>threads constants</summary>
67
58
  Constants.MG_GUI_THREAD = "MG_GUI_THREAD";
68
59
  Constants.MG_WORK_THREAD = "MG_WORK_THREAD";
69
60
  Constants.MG_TIMER_THREAD = "MG_TIMER_THREAD";
70
- /// <summary>
71
- /// property name for the runtime designer
72
- /// </summary>
73
61
  Constants.ConfigurationFilePropertyName = "Configuration file";
74
62
  Constants.WinPropText = "Text";
75
63
  Constants.WinPropLayer = "Layer";
@@ -83,4 +71,4 @@ Constants.WinPropVisible = "Visible";
83
71
  Constants.WinPropVisibleLayerList = "VisibleLayerList";
84
72
  Constants.TabOrderPropertyTermination = "ForTabOrder";
85
73
  Constants.SByteMaxValue = 127;
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdXRpbHMvc3JjL0NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFM0MsK0ZBQStGO0FBQy9GLE1BQU0sT0FBTyxTQUFTO0lBNkZwQjtJQUVBLENBQUM7O0FBOUZELDhDQUE4QztBQUM5Qiw0QkFBa0IsR0FBVyxHQUFHLENBQUM7QUFDakMsNEJBQWtCLEdBQVcsR0FBRyxDQUFDO0FBRWpELDZEQUE2RDtBQUM3Qyw0QkFBa0IsR0FBVyxHQUFHLENBQUM7QUFDakMsMkJBQWlCLEdBQVcsR0FBRyxDQUFDO0FBQ2hDLDRCQUFrQixHQUFXLEdBQUcsQ0FBQztBQUVqRCxvQ0FBb0M7QUFDcEIseUJBQWUsR0FBVyxHQUFHLENBQUM7QUFDOUIsd0JBQWMsR0FBVyxHQUFHLENBQUM7QUFDN0IsdUJBQWEsR0FBVyxHQUFHLENBQUM7QUFDNUIsNkJBQW1CLEdBQVcsR0FBRyxDQUFDO0FBRWxDLDZCQUFtQixHQUFXLEdBQUcsQ0FBQztBQUNsQyw4QkFBb0IsR0FBVyxHQUFHLENBQUM7QUFDbkMsNkJBQW1CLEdBQVcsR0FBRyxDQUFDO0FBQ2xDLDZCQUFtQixHQUFXLEdBQUcsQ0FBQztBQUNsQyw0QkFBa0IsR0FBVyxHQUFHLENBQUM7QUFDakMsK0JBQXFCLEdBQVcsR0FBRyxDQUFDO0FBQ3BDLGtDQUF3QixHQUFXLEdBQUcsQ0FBQztBQUN2QyxxQ0FBMkIsR0FBVyxHQUFHLENBQUM7QUFDMUMscUNBQTJCLEdBQVcsR0FBRyxDQUFDO0FBRTFELHFEQUFxRDtBQUNyQywyQkFBaUIsR0FBVyxHQUFHLENBQUM7QUFDaEMsNEJBQWtCLEdBQVcsR0FBRyxDQUFDO0FBQ2pDLG9DQUEwQixHQUFXLEdBQUcsQ0FBQztBQUN6QywrQkFBcUIsR0FBVyxHQUFHLENBQUM7QUFDcEMsMkJBQWlCLEdBQVcsR0FBRyxDQUFDO0FBRWhDLHlCQUFlLEdBQVcsR0FBRyxDQUFDO0FBQzlCLDBCQUFnQixHQUFXLEdBQUcsQ0FBQztBQUMvQiwwQkFBZ0IsR0FBVyxHQUFHLENBQUM7QUFDL0IsMEJBQWdCLEdBQVcsR0FBRyxDQUFDO0FBQy9CLHdCQUFjLEdBQUcsR0FBRyxDQUFDO0FBRXJDLGtDQUFrQztBQUNsQix5QkFBZSxHQUFXLEdBQUcsQ0FBQztBQUM5Qix5QkFBZSxHQUFXLEdBQUcsQ0FBQztBQUM5QiwyQkFBaUIsR0FBVyxHQUFHLENBQUM7QUFDaEMsNEJBQWtCLEdBQVcsR0FBRyxDQUFDO0FBRWpELGlEQUFpRDtBQUNqQyxrQ0FBd0IsR0FBVyxLQUFLLENBQUMsUUFBUSxDQUFDO0FBQ2xELGlDQUF1QixHQUFXLEtBQUssQ0FBQyxRQUFRLENBQUM7QUFFakUsMERBQTBEO0FBQzFDLGlDQUF1QixHQUFXLE1BQU0sQ0FBQztBQUN6QyxtQ0FBeUIsR0FBVyxNQUFNLENBQUM7QUFDM0MsZ0NBQXNCLEdBQVcsTUFBTSxDQUFDO0FBQ3hDLGdDQUFzQixHQUFXLE1BQU0sQ0FBQztBQUN4QywrQkFBcUIsR0FBVyxNQUFNLENBQUM7QUFDdkMsNkJBQW1CLEdBQVcsTUFBTSxDQUFDO0FBQ3JDLG1DQUF5QixHQUFXLE1BQU0sQ0FBQztBQUMzQyw4QkFBb0IsR0FBVyxNQUFNLENBQUM7QUFDdEMsOEJBQW9CLEdBQVcsTUFBTSxDQUFDO0FBQ3RDLGdDQUFzQixHQUFXLE1BQU0sQ0FBQztBQUN4Qyw4QkFBb0IsR0FBVyxNQUFNLENBQUM7QUFDdEMsNkJBQW1CLEdBQVcsTUFBTSxDQUFDO0FBQ3JDLDJCQUFpQixHQUFXLE1BQU0sQ0FBQztBQUNuQyw4QkFBb0IsR0FBVyxNQUFNLENBQUM7QUFFdEMsOEJBQW9CLEdBQVcsS0FBSyxDQUFDLENBQUMsa0RBQWtEO0FBQ3hGLHVCQUFhLEdBQVcsU0FBUyxDQUFDO0FBQ2xDLHdCQUFjLEdBQVcsVUFBVSxDQUFDO0FBQ3BDLHVCQUFhLEdBQVcsU0FBUyxDQUFDO0FBRWxELHdDQUF3QztBQUN4Qix1QkFBYSxHQUFXLGVBQWUsQ0FBQztBQUN4Qyx3QkFBYyxHQUFXLGdCQUFnQixDQUFDO0FBQzFDLHlCQUFlLEdBQVcsaUJBQWlCLENBQUM7QUFFNUQsYUFBYTtBQUNiLDBDQUEwQztBQUMxQyxjQUFjO0FBQ0UsdUNBQTZCLEdBQVcsb0JBQW9CLENBQUM7QUFDN0QscUJBQVcsR0FBVyxNQUFNLENBQUM7QUFDN0Isc0JBQVksR0FBVyxPQUFPLENBQUM7QUFDL0IsbUJBQVMsR0FBVyxJQUFJLENBQUM7QUFDekIsbUJBQVMsR0FBVyxJQUFJLENBQUM7QUFDekIsbUJBQVMsR0FBVyxJQUFJLENBQUM7QUFDekIsbUJBQVMsR0FBVyxJQUFJLENBQUM7QUFDekIsOEJBQW9CLEdBQVcsZUFBZSxDQUFDO0FBQy9DLHFCQUFXLEdBQVcsTUFBTSxDQUFDO0FBQzdCLHdCQUFjLEdBQVcsU0FBUyxDQUFDO0FBQ25DLGlDQUF1QixHQUFXLGtCQUFrQixDQUFDO0FBQ3JELHFDQUEyQixHQUFXLGFBQWEsQ0FBQztBQUVwRCx1QkFBYSxHQUFHLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW50MzJ9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuLy9UaGlzIGNsYXNzIGNvbnRhaW5zIGFsbCB0aGUgY29uc3RhbnRzIHdoaWNoIGFyZSB1c2VkIGluIE1neHBhUklBLmV4ZSBhcyB3ZWxsIGFzIGluIE1nR3VpLmRsbC5cclxuZXhwb3J0IGNsYXNzIENvbnN0YW50cyB7XHJcbiAgLy8vIDxzdW1tYXJ5PiBOdWxsIEFyaXRobWV0aWMgdmFsdWVzPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyByZWFkb25seSBOVUxMX0FSSVRIX05VTExJRlk6IHN0cmluZyA9ICdOJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTlVMTF9BUklUSF9VU0VfREVGOiBzdHJpbmcgPSAnVSc7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gc2VsZWN0IHByb2dyYW0gOiBzZWxlY3QgbW9kZSBwcm9wZXJ0eTwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgU0VMUFJHX01PREVfQkVGT1JFOiBzdHJpbmcgPSAnQic7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFNFTFBSR19NT0RFX0FGVEVSOiBzdHJpbmcgPSAnQSc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFNFTFBSR19NT0RFX1BST01QVDogc3RyaW5nID0gJ1AnO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IG1vdmUgaW4gVmlldzwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9VTklUX1RBQkxFOiBzdHJpbmcgPSAnVCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfVU5JVF9QQUdFOiBzdHJpbmcgPSAnUCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfVU5JVF9ST1c6IHN0cmluZyA9ICdSJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9VTklUX1RSRUVfTk9ERTogc3RyaW5nID0gJ0UnO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9ESVJFQ1RJT05fTk9ORTogc3RyaW5nID0gJyAnO1xyXG4gIHN0YXRpYyByZWFkb25seSBNT1ZFX0RJUkVDVElPTl9CRUdJTjogc3RyaW5nID0gJ0InO1xyXG4gIHN0YXRpYyByZWFkb25seSBNT1ZFX0RJUkVDVElPTl9QUkVWOiBzdHJpbmcgPSAnUCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfRElSRUNUSU9OX05FWFQ6IHN0cmluZyA9ICdOJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9ESVJFQ1RJT05fRU5EOiBzdHJpbmcgPSAnRSc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfRElSRUNUSU9OX1BBUkVOVDogc3RyaW5nID0gJ0EnO1xyXG4gIHN0YXRpYyByZWFkb25seSBNT1ZFX0RJUkVDVElPTl9GSVJTVF9TT046IHN0cmluZyA9ICdGJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9ESVJFQ1RJT05fTkVYVF9TSUJMSU5HOiBzdHJpbmcgPSAnWCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfRElSRUNUSU9OX1BSRVZfU0lCTElORzogc3RyaW5nID0gJ1YnO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IHJlZnJlc2ggdHlwZXMgZm9yIGEgdGFzayBmb3JtPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX1JFRlJFU0hfRk9STTogc3RyaW5nID0gJ0YnO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX1JFRlJFU0hfVEFCTEU6IHN0cmluZyA9ICdUJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19SRUZSRVNIX1RSRUVfQU5EX0ZPUk06IHN0cmluZyA9ICdSJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19SRUZSRVNIX0NVUlJfUkVDOiBzdHJpbmcgPSAnQyc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfUkVGUkVTSF9OT05FOiBzdHJpbmcgPSAnTic7XHJcblxyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX01PREVfUVVFUlk6IHN0cmluZyA9ICdFJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19NT0RFX01PRElGWTogc3RyaW5nID0gJ00nO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX01PREVfQ1JFQVRFOiBzdHJpbmcgPSAnQyc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfTU9ERV9ERUxFVEU6IHN0cmluZyA9ICdEJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19NT0RFX05PTkUgPSAnICc7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gdGFzayBsZXZlbDwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19MRVZFTF9OT05FOiBzdHJpbmcgPSAnICc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfTEVWRUxfVEFTSzogc3RyaW5nID0gJ1QnO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX0xFVkVMX1JFQ09SRDogc3RyaW5nID0gJ1InO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX0xFVkVMX0NPTlRST0w6IHN0cmluZyA9ICdDJztcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBzcGVjaWFsIHJlY29yZHMgY29uc3RhbnRzPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyByZWFkb25seSBNR19EQVRBVklFV19GSVJTVF9SRUNPUkQ6IG51bWJlciA9IEludDMyLk1pblZhbHVlO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19EQVRBVklFV19MQVNUX1JFQ09SRDogbnVtYmVyID0gSW50MzIuTWF4VmFsdWU7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gYWN0aW9uIHN0YXRlcyBmb3Iga2V5Ym9hcmQgbWFwcGluZzwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UQkxfU0NSRUVOX01PREU6IG51bWJlciA9IDB4MDAwMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UQkxfTEVGVF9UT19SSUdIVDogbnVtYmVyID0gMHgwMDAyO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX1RCTF9TQ1JFRU5fVE9QOiBudW1iZXIgPSAweDAwMDQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfVEJMX1NDUkVFTl9FTkQ6IG51bWJlciA9IDB4MDAwODtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UQkxfUk9XX1NUQVJUOiBudW1iZXIgPSAweDAwMTA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfVEJMX1JPV19FTkQ6IG51bWJlciA9IDB4MDAyMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9FRFRfTEVGVF9UT19SSUdIVDogbnVtYmVyID0gMHgwMDQwO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX0VEVF9GT1JNX1RPUDogbnVtYmVyID0gMHgwMDgwO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX0VEVF9GT1JNX0VORDogbnVtYmVyID0gMHgwMTAwO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX0VEVF9MSU5FX1NUQVJUOiBudW1iZXIgPSAweDAyMDA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfRURUX0xJTkVfRU5EOiBudW1iZXIgPSAweDA0MDA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfRURUX0VESVRJTkc6IG51bWJlciA9IDB4MDgwMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UUkVFX1BBUks6IG51bWJlciA9IDB4MTAwMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UUkVFX0VESVRJTkc6IG51bWJlciA9IDB4MjAwMDtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IEZvcndhcmRTbGFzaFdlYlVzYWdlOiBzdHJpbmcgPSBcIndlYlwiOyAvLyByZWZlciB0byBhIGZvcndhcmQgc2xhc2ggYXMgYSByZWxhdGl2ZSB3ZWIgdXJsLlxyXG4gIHN0YXRpYyByZWFkb25seSBIVFRQX1BST1RPQ09MOiBzdHJpbmcgPSBcImh0dHA6Ly9cIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgSFRUUFNfUFJPVE9DT0w6IHN0cmluZyA9IFwiaHR0cHM6Ly9cIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgRklMRV9QUk9UT0NPTDogc3RyaW5nID0gXCJmaWxlOi8vXCI7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT50aHJlYWRzIGNvbnN0YW50czwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfR1VJX1RIUkVBRDogc3RyaW5nID0gXCJNR19HVUlfVEhSRUFEXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX1dPUktfVEhSRUFEOiBzdHJpbmcgPSBcIk1HX1dPUktfVEhSRUFEXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX1RJTUVSX1RIUkVBRDogc3RyaW5nID0gXCJNR19USU1FUl9USFJFQURcIjtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBwcm9wZXJ0eSBuYW1lIGZvciB0aGUgcnVudGltZSBkZXNpZ25lclxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIHJlYWRvbmx5IENvbmZpZ3VyYXRpb25GaWxlUHJvcGVydHlOYW1lOiBzdHJpbmcgPSBcIkNvbmZpZ3VyYXRpb24gZmlsZVwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wVGV4dDogc3RyaW5nID0gXCJUZXh0XCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFdpblByb3BMYXllcjogc3RyaW5nID0gXCJMYXllclwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wWDE6IHN0cmluZyA9IFwiWDFcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgV2luUHJvcFgyOiBzdHJpbmcgPSBcIlgyXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFdpblByb3BZMTogc3RyaW5nID0gXCJZMVwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wWTI6IHN0cmluZyA9IFwiWTJcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgV2luUHJvcElzVHJhbnNwYXJlbnQ6IHN0cmluZyA9IFwiSXNUcmFuc3BhcmVudFwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wTmFtZTogc3RyaW5nID0gXCJOYW1lXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFdpblByb3BWaXNpYmxlOiBzdHJpbmcgPSBcIlZpc2libGVcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgV2luUHJvcFZpc2libGVMYXllckxpc3Q6IHN0cmluZyA9IFwiVmlzaWJsZUxheWVyTGlzdFwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBUYWJPcmRlclByb3BlcnR5VGVybWluYXRpb246IHN0cmluZyA9IFwiRm9yVGFiT3JkZXJcIjtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IFNCeXRlTWF4VmFsdWUgPSAxMjc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICB9XHJcbn1cclxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXRpbHMvc3JjL0NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHM0MsTUFBTSxPQUFPLFNBQVM7SUE2RnBCO0lBRUEsQ0FBQzs7QUE3RmUsNEJBQWtCLEdBQVcsR0FBRyxDQUFDO0FBQ2pDLDRCQUFrQixHQUFXLEdBQUcsQ0FBQztBQUdqQyw0QkFBa0IsR0FBVyxHQUFHLENBQUM7QUFDakMsMkJBQWlCLEdBQVcsR0FBRyxDQUFDO0FBQ2hDLDRCQUFrQixHQUFXLEdBQUcsQ0FBQztBQUdqQyx5QkFBZSxHQUFXLEdBQUcsQ0FBQztBQUM5Qix3QkFBYyxHQUFXLEdBQUcsQ0FBQztBQUM3Qix1QkFBYSxHQUFXLEdBQUcsQ0FBQztBQUM1Qiw2QkFBbUIsR0FBVyxHQUFHLENBQUM7QUFFbEMsNkJBQW1CLEdBQVcsR0FBRyxDQUFDO0FBQ2xDLDhCQUFvQixHQUFXLEdBQUcsQ0FBQztBQUNuQyw2QkFBbUIsR0FBVyxHQUFHLENBQUM7QUFDbEMsNkJBQW1CLEdBQVcsR0FBRyxDQUFDO0FBQ2xDLDRCQUFrQixHQUFXLEdBQUcsQ0FBQztBQUNqQywrQkFBcUIsR0FBVyxHQUFHLENBQUM7QUFDcEMsa0NBQXdCLEdBQVcsR0FBRyxDQUFDO0FBQ3ZDLHFDQUEyQixHQUFXLEdBQUcsQ0FBQztBQUMxQyxxQ0FBMkIsR0FBVyxHQUFHLENBQUM7QUFHMUMsMkJBQWlCLEdBQVcsR0FBRyxDQUFDO0FBQ2hDLDRCQUFrQixHQUFXLEdBQUcsQ0FBQztBQUNqQyxvQ0FBMEIsR0FBVyxHQUFHLENBQUM7QUFDekMsK0JBQXFCLEdBQVcsR0FBRyxDQUFDO0FBQ3BDLDJCQUFpQixHQUFXLEdBQUcsQ0FBQztBQUVoQyx5QkFBZSxHQUFXLEdBQUcsQ0FBQztBQUM5QiwwQkFBZ0IsR0FBVyxHQUFHLENBQUM7QUFDL0IsMEJBQWdCLEdBQVcsR0FBRyxDQUFDO0FBQy9CLDBCQUFnQixHQUFXLEdBQUcsQ0FBQztBQUMvQix3QkFBYyxHQUFHLEdBQUcsQ0FBQztBQUdyQix5QkFBZSxHQUFXLEdBQUcsQ0FBQztBQUM5Qix5QkFBZSxHQUFXLEdBQUcsQ0FBQztBQUM5QiwyQkFBaUIsR0FBVyxHQUFHLENBQUM7QUFDaEMsNEJBQWtCLEdBQVcsR0FBRyxDQUFDO0FBR2pDLGtDQUF3QixHQUFXLEtBQUssQ0FBQyxRQUFRLENBQUM7QUFDbEQsaUNBQXVCLEdBQVcsS0FBSyxDQUFDLFFBQVEsQ0FBQztBQUdqRCxpQ0FBdUIsR0FBVyxNQUFNLENBQUM7QUFDekMsbUNBQXlCLEdBQVcsTUFBTSxDQUFDO0FBQzNDLGdDQUFzQixHQUFXLE1BQU0sQ0FBQztBQUN4QyxnQ0FBc0IsR0FBVyxNQUFNLENBQUM7QUFDeEMsK0JBQXFCLEdBQVcsTUFBTSxDQUFDO0FBQ3ZDLDZCQUFtQixHQUFXLE1BQU0sQ0FBQztBQUNyQyxtQ0FBeUIsR0FBVyxNQUFNLENBQUM7QUFDM0MsOEJBQW9CLEdBQVcsTUFBTSxDQUFDO0FBQ3RDLDhCQUFvQixHQUFXLE1BQU0sQ0FBQztBQUN0QyxnQ0FBc0IsR0FBVyxNQUFNLENBQUM7QUFDeEMsOEJBQW9CLEdBQVcsTUFBTSxDQUFDO0FBQ3RDLDZCQUFtQixHQUFXLE1BQU0sQ0FBQztBQUNyQywyQkFBaUIsR0FBVyxNQUFNLENBQUM7QUFDbkMsOEJBQW9CLEdBQVcsTUFBTSxDQUFDO0FBRXRDLDhCQUFvQixHQUFXLEtBQUssQ0FBQztBQUNyQyx1QkFBYSxHQUFXLFNBQVMsQ0FBQztBQUNsQyx3QkFBYyxHQUFXLFVBQVUsQ0FBQztBQUNwQyx1QkFBYSxHQUFXLFNBQVMsQ0FBQztBQUdsQyx1QkFBYSxHQUFXLGVBQWUsQ0FBQztBQUN4Qyx3QkFBYyxHQUFXLGdCQUFnQixDQUFDO0FBQzFDLHlCQUFlLEdBQVcsaUJBQWlCLENBQUM7QUFLNUMsdUNBQTZCLEdBQVcsb0JBQW9CLENBQUM7QUFDN0QscUJBQVcsR0FBVyxNQUFNLENBQUM7QUFDN0Isc0JBQVksR0FBVyxPQUFPLENBQUM7QUFDL0IsbUJBQVMsR0FBVyxJQUFJLENBQUM7QUFDekIsbUJBQVMsR0FBVyxJQUFJLENBQUM7QUFDekIsbUJBQVMsR0FBVyxJQUFJLENBQUM7QUFDekIsbUJBQVMsR0FBVyxJQUFJLENBQUM7QUFDekIsOEJBQW9CLEdBQVcsZUFBZSxDQUFDO0FBQy9DLHFCQUFXLEdBQVcsTUFBTSxDQUFDO0FBQzdCLHdCQUFjLEdBQVcsU0FBUyxDQUFDO0FBQ25DLGlDQUF1QixHQUFXLGtCQUFrQixDQUFDO0FBQ3JELHFDQUEyQixHQUFXLGFBQWEsQ0FBQztBQUVwRCx1QkFBYSxHQUFHLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW50MzJ9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuLy9UaGlzIGNsYXNzIGNvbnRhaW5zIGFsbCB0aGUgY29uc3RhbnRzIHdoaWNoIGFyZSB1c2VkIGluIE1neHBhUklBLmV4ZSBhcyB3ZWxsIGFzIGluIE1nR3VpLmRsbC5cclxuZXhwb3J0IGNsYXNzIENvbnN0YW50cyB7XHJcbiAgLy8vIDxzdW1tYXJ5PiBOdWxsIEFyaXRobWV0aWMgdmFsdWVzPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyByZWFkb25seSBOVUxMX0FSSVRIX05VTExJRlk6IHN0cmluZyA9ICdOJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTlVMTF9BUklUSF9VU0VfREVGOiBzdHJpbmcgPSAnVSc7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gc2VsZWN0IHByb2dyYW0gOiBzZWxlY3QgbW9kZSBwcm9wZXJ0eTwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgU0VMUFJHX01PREVfQkVGT1JFOiBzdHJpbmcgPSAnQic7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFNFTFBSR19NT0RFX0FGVEVSOiBzdHJpbmcgPSAnQSc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFNFTFBSR19NT0RFX1BST01QVDogc3RyaW5nID0gJ1AnO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IG1vdmUgaW4gVmlldzwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9VTklUX1RBQkxFOiBzdHJpbmcgPSAnVCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfVU5JVF9QQUdFOiBzdHJpbmcgPSAnUCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfVU5JVF9ST1c6IHN0cmluZyA9ICdSJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9VTklUX1RSRUVfTk9ERTogc3RyaW5nID0gJ0UnO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9ESVJFQ1RJT05fTk9ORTogc3RyaW5nID0gJyAnO1xyXG4gIHN0YXRpYyByZWFkb25seSBNT1ZFX0RJUkVDVElPTl9CRUdJTjogc3RyaW5nID0gJ0InO1xyXG4gIHN0YXRpYyByZWFkb25seSBNT1ZFX0RJUkVDVElPTl9QUkVWOiBzdHJpbmcgPSAnUCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfRElSRUNUSU9OX05FWFQ6IHN0cmluZyA9ICdOJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9ESVJFQ1RJT05fRU5EOiBzdHJpbmcgPSAnRSc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfRElSRUNUSU9OX1BBUkVOVDogc3RyaW5nID0gJ0EnO1xyXG4gIHN0YXRpYyByZWFkb25seSBNT1ZFX0RJUkVDVElPTl9GSVJTVF9TT046IHN0cmluZyA9ICdGJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9ESVJFQ1RJT05fTkVYVF9TSUJMSU5HOiBzdHJpbmcgPSAnWCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfRElSRUNUSU9OX1BSRVZfU0lCTElORzogc3RyaW5nID0gJ1YnO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IHJlZnJlc2ggdHlwZXMgZm9yIGEgdGFzayBmb3JtPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX1JFRlJFU0hfRk9STTogc3RyaW5nID0gJ0YnO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX1JFRlJFU0hfVEFCTEU6IHN0cmluZyA9ICdUJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19SRUZSRVNIX1RSRUVfQU5EX0ZPUk06IHN0cmluZyA9ICdSJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19SRUZSRVNIX0NVUlJfUkVDOiBzdHJpbmcgPSAnQyc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfUkVGUkVTSF9OT05FOiBzdHJpbmcgPSAnTic7XHJcblxyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX01PREVfUVVFUlk6IHN0cmluZyA9ICdFJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19NT0RFX01PRElGWTogc3RyaW5nID0gJ00nO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX01PREVfQ1JFQVRFOiBzdHJpbmcgPSAnQyc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfTU9ERV9ERUxFVEU6IHN0cmluZyA9ICdEJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19NT0RFX05PTkUgPSAnICc7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gdGFzayBsZXZlbDwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19MRVZFTF9OT05FOiBzdHJpbmcgPSAnICc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfTEVWRUxfVEFTSzogc3RyaW5nID0gJ1QnO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX0xFVkVMX1JFQ09SRDogc3RyaW5nID0gJ1InO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX0xFVkVMX0NPTlRST0w6IHN0cmluZyA9ICdDJztcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBzcGVjaWFsIHJlY29yZHMgY29uc3RhbnRzPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyByZWFkb25seSBNR19EQVRBVklFV19GSVJTVF9SRUNPUkQ6IG51bWJlciA9IEludDMyLk1pblZhbHVlO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19EQVRBVklFV19MQVNUX1JFQ09SRDogbnVtYmVyID0gSW50MzIuTWF4VmFsdWU7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gYWN0aW9uIHN0YXRlcyBmb3Iga2V5Ym9hcmQgbWFwcGluZzwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UQkxfU0NSRUVOX01PREU6IG51bWJlciA9IDB4MDAwMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UQkxfTEVGVF9UT19SSUdIVDogbnVtYmVyID0gMHgwMDAyO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX1RCTF9TQ1JFRU5fVE9QOiBudW1iZXIgPSAweDAwMDQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfVEJMX1NDUkVFTl9FTkQ6IG51bWJlciA9IDB4MDAwODtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UQkxfUk9XX1NUQVJUOiBudW1iZXIgPSAweDAwMTA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfVEJMX1JPV19FTkQ6IG51bWJlciA9IDB4MDAyMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9FRFRfTEVGVF9UT19SSUdIVDogbnVtYmVyID0gMHgwMDQwO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX0VEVF9GT1JNX1RPUDogbnVtYmVyID0gMHgwMDgwO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX0VEVF9GT1JNX0VORDogbnVtYmVyID0gMHgwMTAwO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX0VEVF9MSU5FX1NUQVJUOiBudW1iZXIgPSAweDAyMDA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfRURUX0xJTkVfRU5EOiBudW1iZXIgPSAweDA0MDA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfRURUX0VESVRJTkc6IG51bWJlciA9IDB4MDgwMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UUkVFX1BBUks6IG51bWJlciA9IDB4MTAwMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UUkVFX0VESVRJTkc6IG51bWJlciA9IDB4MjAwMDtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IEZvcndhcmRTbGFzaFdlYlVzYWdlOiBzdHJpbmcgPSBcIndlYlwiOyAvLyByZWZlciB0byBhIGZvcndhcmQgc2xhc2ggYXMgYSByZWxhdGl2ZSB3ZWIgdXJsLlxyXG4gIHN0YXRpYyByZWFkb25seSBIVFRQX1BST1RPQ09MOiBzdHJpbmcgPSBcImh0dHA6Ly9cIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgSFRUUFNfUFJPVE9DT0w6IHN0cmluZyA9IFwiaHR0cHM6Ly9cIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgRklMRV9QUk9UT0NPTDogc3RyaW5nID0gXCJmaWxlOi8vXCI7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT50aHJlYWRzIGNvbnN0YW50czwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfR1VJX1RIUkVBRDogc3RyaW5nID0gXCJNR19HVUlfVEhSRUFEXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX1dPUktfVEhSRUFEOiBzdHJpbmcgPSBcIk1HX1dPUktfVEhSRUFEXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX1RJTUVSX1RIUkVBRDogc3RyaW5nID0gXCJNR19USU1FUl9USFJFQURcIjtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBwcm9wZXJ0eSBuYW1lIGZvciB0aGUgcnVudGltZSBkZXNpZ25lclxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIHJlYWRvbmx5IENvbmZpZ3VyYXRpb25GaWxlUHJvcGVydHlOYW1lOiBzdHJpbmcgPSBcIkNvbmZpZ3VyYXRpb24gZmlsZVwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wVGV4dDogc3RyaW5nID0gXCJUZXh0XCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFdpblByb3BMYXllcjogc3RyaW5nID0gXCJMYXllclwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wWDE6IHN0cmluZyA9IFwiWDFcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgV2luUHJvcFgyOiBzdHJpbmcgPSBcIlgyXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFdpblByb3BZMTogc3RyaW5nID0gXCJZMVwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wWTI6IHN0cmluZyA9IFwiWTJcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgV2luUHJvcElzVHJhbnNwYXJlbnQ6IHN0cmluZyA9IFwiSXNUcmFuc3BhcmVudFwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wTmFtZTogc3RyaW5nID0gXCJOYW1lXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFdpblByb3BWaXNpYmxlOiBzdHJpbmcgPSBcIlZpc2libGVcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgV2luUHJvcFZpc2libGVMYXllckxpc3Q6IHN0cmluZyA9IFwiVmlzaWJsZUxheWVyTGlzdFwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBUYWJPcmRlclByb3BlcnR5VGVybWluYXRpb246IHN0cmluZyA9IFwiRm9yVGFiT3JkZXJcIjtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IFNCeXRlTWF4VmFsdWUgPSAxMjc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICB9XHJcbn1cclxuIl19
@@ -1,7 +1,6 @@
1
1
  import { Exception, StringBuilder } from "@magic-xpa/mscorelib";
2
2
  import { XMLConstants } from "./XMLConstants";
3
3
  export class DateTimeUtils {
4
- /// <summary> returns the number in a 2 digit string
5
4
  static int2str(n) {
6
5
  return (n > 9) ? n.toString() : ("0" + n);
7
6
  }
@@ -52,4 +51,4 @@ export class DateTimeUtils {
52
51
  return dateTimeString;
53
52
  }
54
53
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVRpbWVVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3V0aWxzL3NyYy9EYXRlVGltZVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxTQUFTLEVBQUUsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFeEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE1BQU0sT0FBTyxhQUFhO0lBRXhCLG9EQUFvRDtJQUM1QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQVM7UUFDOUIsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFrQixFQUFFLE1BQWMsRUFBRSxNQUFXO1FBQzdELElBQUksY0FBc0IsQ0FBQztRQUMzQixJQUFJO1lBQ0YsY0FBYyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUM7UUFDRCxPQUFPLEVBQUUsRUFBRTtZQUNULElBQUksRUFBRSxZQUFZLFNBQVMsRUFBRTtnQkFDM0IsSUFBSSxNQUFNLEtBQUssWUFBWSxDQUFDLHVCQUF1QixFQUFFO29CQUNuRCxjQUFjLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUc7d0JBQzVILGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHO3dCQUN6RixhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDMUM7cUJBQ0k7b0JBQ0gsSUFBSSxNQUFNLEtBQUssWUFBWSxDQUFDLHFCQUFxQixFQUFFO3dCQUNqRCxjQUFjLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRzs0QkFDekQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRzs0QkFDNUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDO3dCQUMvQyxJQUFJLFFBQVEsQ0FBQyxXQUFXLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRTs0QkFDbkMsY0FBYyxHQUFHLGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzt5QkFDaEY7NkJBQ0k7NEJBQ0gsY0FBYyxHQUFHLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLENBQUM7eUJBQzFFO3FCQUNGO3lCQUNJO3dCQUNILElBQUksTUFBTSxLQUFLLFlBQVksQ0FBQyxxQkFBcUIsRUFBRTs0QkFDakQsY0FBYyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQzt5QkFDMUg7NkJBQ0k7NEJBRUgsSUFBSSxNQUFNLEtBQUssWUFBWSxDQUFDLHNCQUFzQixFQUFFO2dDQUNsRCxjQUFjLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUM7NkJBQzNKO2lDQUNJO2dDQUNILE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7Z0NBQzlDLElBQUksaUJBQWlCLEdBQWtCLElBQUksYUFBYSxFQUFFLENBQUM7Z0NBQzNELGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQzs2QkFDL0M7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7YUFDRjs7Z0JBRUMsTUFBTSxFQUFFLENBQUM7U0FDWjtRQUNELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0ZVRpbWUsIEV4Y2VwdGlvbiwgU3RyaW5nQnVpbGRlcn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7TG9nZ2VyfSBmcm9tIFwiLi9Mb2dnZXJcIjtcclxuaW1wb3J0IHtYTUxDb25zdGFudHN9IGZyb20gXCIuL1hNTENvbnN0YW50c1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVUaW1lVXRpbHMge1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IHJldHVybnMgdGhlIG51bWJlciBpbiBhIDIgZGlnaXQgc3RyaW5nXHJcbiAgcHJpdmF0ZSBzdGF0aWMgaW50MnN0cihuOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIChuID4gOSkgPyBuLnRvU3RyaW5nKCkgOiAoXCIwXCIgKyBuKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBUb1N0cmluZyhkYXRlVGltZTogRGF0ZVRpbWUsIGZvcm1hdDogc3RyaW5nLCBsb2dnZXI6IGFueSk6IHN0cmluZyB7XHJcbiAgICBsZXQgZGF0ZVRpbWVTdHJpbmc6IHN0cmluZztcclxuICAgIHRyeSB7XHJcbiAgICAgIGRhdGVUaW1lU3RyaW5nID0gZGF0ZVRpbWUuRm9ybWF0KGZvcm1hdCk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXgpIHtcclxuICAgICAgaWYgKGV4IGluc3RhbmNlb2YgRXhjZXB0aW9uKSB7XHJcbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gWE1MQ29uc3RhbnRzLkNBQ0hFRF9EQVRFX1RJTUVfRk9STUFUKSB7XHJcbiAgICAgICAgICBkYXRlVGltZVN0cmluZyA9IERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5EYXkpICsgXCIvXCIgKyBEYXRlVGltZVV0aWxzLmludDJzdHIoZGF0ZVRpbWUuTW9udGgpICsgXCIvXCIgKyBkYXRlVGltZS5ZZWFyICsgXCIgXCIgK1xyXG4gICAgICAgICAgICBEYXRlVGltZVV0aWxzLmludDJzdHIoZGF0ZVRpbWUuSG91cikgKyBcIjpcIiArIERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5NaW51dGUpICsgXCI6XCIgK1xyXG4gICAgICAgICAgICBEYXRlVGltZVV0aWxzLmludDJzdHIoZGF0ZVRpbWUuU2Vjb25kKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBpZiAoZm9ybWF0ID09PSBYTUxDb25zdGFudHMuRVJST1JfTE9HX1RJTUVfRk9STUFUKSB7XHJcbiAgICAgICAgICAgIGRhdGVUaW1lU3RyaW5nID0gRGF0ZVRpbWVVdGlscy5pbnQyc3RyKGRhdGVUaW1lLkhvdXIpICsgXCI6XCIgK1xyXG4gICAgICAgICAgICAgIERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5NaW51dGUpICsgXCI6XCIgK1xyXG4gICAgICAgICAgICAgIERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5TZWNvbmQpICsgXCIuXCI7XHJcbiAgICAgICAgICAgIGlmIChkYXRlVGltZS5NaWxsaXNlY29uZCAlIDEwMCA+IDUwKSB7XHJcbiAgICAgICAgICAgICAgZGF0ZVRpbWVTdHJpbmcgPSBkYXRlVGltZVN0cmluZyArIChNYXRoLmZsb29yKGRhdGVUaW1lLk1pbGxpc2Vjb25kIC8gMTAwKSArIDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgIGRhdGVUaW1lU3RyaW5nID0gZGF0ZVRpbWVTdHJpbmcgKyBNYXRoLmZsb29yKGRhdGVUaW1lLk1pbGxpc2Vjb25kIC8gMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChmb3JtYXQgPT09IFhNTENvbnN0YW50cy5FUlJPUl9MT0dfREFURV9GT1JNQVQpIHtcclxuICAgICAgICAgICAgICBkYXRlVGltZVN0cmluZyA9IERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5EYXkpICsgXCIvXCIgKyBEYXRlVGltZVV0aWxzLmludDJzdHIoZGF0ZVRpbWUuTW9udGgpICsgXCIvXCIgKyBkYXRlVGltZS5ZZWFyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgICBpZiAoZm9ybWF0ID09PSBYTUxDb25zdGFudHMuSFRUUF9FUlJPUl9USU1FX0ZPUk1BVCkge1xyXG4gICAgICAgICAgICAgICAgZGF0ZVRpbWVTdHJpbmcgPSBEYXRlVGltZVV0aWxzLmludDJzdHIoZGF0ZVRpbWUuSG91cikgKyBcIjpcIiArIERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5NaW51dGUpICsgXCI6XCIgKyBEYXRlVGltZVV0aWxzLmludDJzdHIoZGF0ZVRpbWUuU2Vjb25kKSArIFwiLlwiO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGxvZ2dlci5Xcml0ZUV4Y2VwdGlvblRvTG9nV2l0aE1zZyhleC5NZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgIGxldCBkYXRlVGltZVRtcFN0cmluZzogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcbiAgICAgICAgICAgICAgICBkYXRlVGltZVN0cmluZyA9IGRhdGVUaW1lVG1wU3RyaW5nLlRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aHJvdyBleDtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRlVGltZVN0cmluZztcclxuICB9XHJcbn1cclxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVRpbWVVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3V0aWxzL3NyYy9EYXRlVGltZVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxTQUFTLEVBQUUsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFeEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE1BQU0sT0FBTyxhQUFhO0lBR2hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBUztRQUM5QixPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQWtCLEVBQUUsTUFBYyxFQUFFLE1BQVc7UUFDN0QsSUFBSSxjQUFzQixDQUFDO1FBQzNCLElBQUk7WUFDRixjQUFjLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMxQztRQUNELE9BQU8sRUFBRSxFQUFFO1lBQ1QsSUFBSSxFQUFFLFlBQVksU0FBUyxFQUFFO2dCQUMzQixJQUFJLE1BQU0sS0FBSyxZQUFZLENBQUMsdUJBQXVCLEVBQUU7b0JBQ25ELGNBQWMsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRzt3QkFDNUgsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUc7d0JBQ3pGLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUMxQztxQkFDSTtvQkFDSCxJQUFJLE1BQU0sS0FBSyxZQUFZLENBQUMscUJBQXFCLEVBQUU7d0JBQ2pELGNBQWMsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHOzRCQUN6RCxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHOzRCQUM1QyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUM7d0JBQy9DLElBQUksUUFBUSxDQUFDLFdBQVcsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFOzRCQUNuQyxjQUFjLEdBQUcsY0FBYyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO3lCQUNoRjs2QkFDSTs0QkFDSCxjQUFjLEdBQUcsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsQ0FBQzt5QkFDMUU7cUJBQ0Y7eUJBQ0k7d0JBQ0gsSUFBSSxNQUFNLEtBQUssWUFBWSxDQUFDLHFCQUFxQixFQUFFOzRCQUNqRCxjQUFjLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO3lCQUMxSDs2QkFDSTs0QkFFSCxJQUFJLE1BQU0sS0FBSyxZQUFZLENBQUMsc0JBQXNCLEVBQUU7Z0NBQ2xELGNBQWMsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQzs2QkFDM0o7aUNBQ0k7Z0NBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQ0FDOUMsSUFBSSxpQkFBaUIsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQ0FDM0QsY0FBYyxHQUFHLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDOzZCQUMvQzt5QkFDRjtxQkFDRjtpQkFDRjthQUNGOztnQkFFQyxNQUFNLEVBQUUsQ0FBQztTQUNaO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlVGltZSwgRXhjZXB0aW9uLCBTdHJpbmdCdWlsZGVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtMb2dnZXJ9IGZyb20gXCIuL0xvZ2dlclwiO1xyXG5pbXBvcnQge1hNTENvbnN0YW50c30gZnJvbSBcIi4vWE1MQ29uc3RhbnRzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVVdGlscyB7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gcmV0dXJucyB0aGUgbnVtYmVyIGluIGEgMiBkaWdpdCBzdHJpbmdcclxuICBwcml2YXRlIHN0YXRpYyBpbnQyc3RyKG46IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKG4gPiA5KSA/IG4udG9TdHJpbmcoKSA6IChcIjBcIiArIG4pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIFRvU3RyaW5nKGRhdGVUaW1lOiBEYXRlVGltZSwgZm9ybWF0OiBzdHJpbmcsIGxvZ2dlcjogYW55KTogc3RyaW5nIHtcclxuICAgIGxldCBkYXRlVGltZVN0cmluZzogc3RyaW5nO1xyXG4gICAgdHJ5IHtcclxuICAgICAgZGF0ZVRpbWVTdHJpbmcgPSBkYXRlVGltZS5Gb3JtYXQoZm9ybWF0KTtcclxuICAgIH1cclxuICAgIGNhdGNoIChleCkge1xyXG4gICAgICBpZiAoZXggaW5zdGFuY2VvZiBFeGNlcHRpb24pIHtcclxuICAgICAgICBpZiAoZm9ybWF0ID09PSBYTUxDb25zdGFudHMuQ0FDSEVEX0RBVEVfVElNRV9GT1JNQVQpIHtcclxuICAgICAgICAgIGRhdGVUaW1lU3RyaW5nID0gRGF0ZVRpbWVVdGlscy5pbnQyc3RyKGRhdGVUaW1lLkRheSkgKyBcIi9cIiArIERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5Nb250aCkgKyBcIi9cIiArIGRhdGVUaW1lLlllYXIgKyBcIiBcIiArXHJcbiAgICAgICAgICAgIERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5Ib3VyKSArIFwiOlwiICsgRGF0ZVRpbWVVdGlscy5pbnQyc3RyKGRhdGVUaW1lLk1pbnV0ZSkgKyBcIjpcIiArXHJcbiAgICAgICAgICAgIERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5TZWNvbmQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGlmIChmb3JtYXQgPT09IFhNTENvbnN0YW50cy5FUlJPUl9MT0dfVElNRV9GT1JNQVQpIHtcclxuICAgICAgICAgICAgZGF0ZVRpbWVTdHJpbmcgPSBEYXRlVGltZVV0aWxzLmludDJzdHIoZGF0ZVRpbWUuSG91cikgKyBcIjpcIiArXHJcbiAgICAgICAgICAgICAgRGF0ZVRpbWVVdGlscy5pbnQyc3RyKGRhdGVUaW1lLk1pbnV0ZSkgKyBcIjpcIiArXHJcbiAgICAgICAgICAgICAgRGF0ZVRpbWVVdGlscy5pbnQyc3RyKGRhdGVUaW1lLlNlY29uZCkgKyBcIi5cIjtcclxuICAgICAgICAgICAgaWYgKGRhdGVUaW1lLk1pbGxpc2Vjb25kICUgMTAwID4gNTApIHtcclxuICAgICAgICAgICAgICBkYXRlVGltZVN0cmluZyA9IGRhdGVUaW1lU3RyaW5nICsgKE1hdGguZmxvb3IoZGF0ZVRpbWUuTWlsbGlzZWNvbmQgLyAxMDApICsgMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgZGF0ZVRpbWVTdHJpbmcgPSBkYXRlVGltZVN0cmluZyArIE1hdGguZmxvb3IoZGF0ZVRpbWUuTWlsbGlzZWNvbmQgLyAxMDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGZvcm1hdCA9PT0gWE1MQ29uc3RhbnRzLkVSUk9SX0xPR19EQVRFX0ZPUk1BVCkge1xyXG4gICAgICAgICAgICAgIGRhdGVUaW1lU3RyaW5nID0gRGF0ZVRpbWVVdGlscy5pbnQyc3RyKGRhdGVUaW1lLkRheSkgKyBcIi9cIiArIERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5Nb250aCkgKyBcIi9cIiArIGRhdGVUaW1lLlllYXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcblxyXG4gICAgICAgICAgICAgIGlmIChmb3JtYXQgPT09IFhNTENvbnN0YW50cy5IVFRQX0VSUk9SX1RJTUVfRk9STUFUKSB7XHJcbiAgICAgICAgICAgICAgICBkYXRlVGltZVN0cmluZyA9IERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5Ib3VyKSArIFwiOlwiICsgRGF0ZVRpbWVVdGlscy5pbnQyc3RyKGRhdGVUaW1lLk1pbnV0ZSkgKyBcIjpcIiArIERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5TZWNvbmQpICsgXCIuXCI7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbG9nZ2VyLldyaXRlRXhjZXB0aW9uVG9Mb2dXaXRoTXNnKGV4Lk1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgbGV0IGRhdGVUaW1lVG1wU3RyaW5nOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgICAgICAgICAgICAgIGRhdGVUaW1lU3RyaW5nID0gZGF0ZVRpbWVUbXBTdHJpbmcuVG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRocm93IGV4O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRhdGVUaW1lU3RyaW5nO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -2,15 +2,9 @@ import { PICInterface } from "./PICInterface";
2
2
  const DATE_MONTH_LEN = 10;
3
3
  const DATE_DOW_LEN = 10;
4
4
  export class DateUtil {
5
- /// <summary>
6
- /// extract the vector which contains the names of the months, as specified by the
7
- /// language CAB
8
- /// </summary>
9
5
  static getLocalMonths(names) {
10
6
  let monthLen = DATE_MONTH_LEN;
11
- // if it's the first time then access the language CAB and take the values
12
7
  if (typeof DateUtil._localMonths[0] === "undefined") {
13
- //cut the string into separate values
14
8
  if (names !== null) {
15
9
  DateUtil._localMonths[0] = PICInterface.date_month_str[0];
16
10
  for (let i = 1; i < DateUtil._localMonths.length; i = i + 1) {
@@ -33,15 +27,9 @@ export class DateUtil {
33
27
  }
34
28
  return DateUtil._localMonths;
35
29
  }
36
- /// <summary>
37
- /// extract the vector which contains the names of the days, as specified by the
38
- /// language CAB
39
- /// </summary>
40
30
  static getLocalDays(names) {
41
31
  let dowLen = DATE_DOW_LEN;
42
- // if it's the first time then access the language CAB and take the values
43
32
  if (typeof DateUtil._localDays[0] === "undefined") {
44
- //cut the string into separate values
45
33
  if (names !== null) {
46
34
  DateUtil._localDays[0] = PICInterface.date_dow_str[0];
47
35
  for (let i = 1; i < DateUtil._localDays.length; i = i + 1) {
@@ -67,4 +55,4 @@ export class DateUtil {
67
55
  }
68
56
  DateUtil._localMonths = new Array(13);
69
57
  DateUtil._localDays = new Array(8);
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9zcmMvRGF0ZVV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE1BQU0sY0FBYyxHQUFXLEVBQUUsQ0FBQztBQUNsQyxNQUFNLFlBQVksR0FBVyxFQUFFLENBQUM7QUFFaEMsTUFBTSxPQUFPLFFBQVE7SUFLbkIsYUFBYTtJQUNiLG1GQUFtRjtJQUNuRixpQkFBaUI7SUFDakIsY0FBYztJQUNkLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBYTtRQUNqQyxJQUFJLFFBQVEsR0FBVyxjQUFjLENBQUM7UUFFdEMsMEVBQTBFO1FBQzFFLElBQUksT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsRUFBRTtZQUVuRCxxQ0FBcUM7WUFDckMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO2dCQUNsQixRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFELEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFFbkUsSUFBSSxDQUFDLEdBQUcsUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7d0JBQ2hDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQzt3QkFDNUQsT0FBTyxRQUFRLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFF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LENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOU3RyaW5nfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtQSUNJbnRlcmZhY2V9IGZyb20gXCIuL1BJQ0ludGVyZmFjZVwiO1xyXG5cclxuY29uc3QgREFURV9NT05USF9MRU46IG51bWJlciA9IDEwO1xyXG5jb25zdCBEQVRFX0RPV19MRU46IG51bWJlciA9IDEwO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVVdGlsIHtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgX2xvY2FsTW9udGhzOiBzdHJpbmdbXSA9IG5ldyBBcnJheTxzdHJpbmc+KDEzKTtcclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBfbG9jYWxEYXlzOiBzdHJpbmdbXSA9IG5ldyBBcnJheTxzdHJpbmc+KDgpO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICBleHRyYWN0IHRoZSB2ZWN0b3Igd2hpY2ggY29udGFpbnMgdGhlIG5hbWVzIG9mIHRoZSBtb250aHMsIGFzIHNwZWNpZmllZCBieSB0aGVcclxuICAvLy8gIGxhbmd1YWdlIENBQlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIGdldExvY2FsTW9udGhzKG5hbWVzOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgbW9udGhMZW46IG51bWJlciA9IERBVEVfTU9OVEhfTEVOO1xyXG5cclxuICAgIC8vIGlmIGl0J3MgdGhlIGZpcnN0IHRpbWUgdGhlbiBhY2Nlc3MgdGhlIGxhbmd1YWdlIENBQiBhbmQgdGFrZSB0aGUgdmFsdWVzXHJcbiAgICBpZiAodHlwZW9mIERhdGVVdGlsLl9sb2NhbE1vbnRoc1swXSA9PT0gXCJ1bmRlZmluZWRcIikge1xyXG5cclxuICAgICAgLy9jdXQgdGhlIHN0cmluZyBpbnRvIHNlcGFyYXRlIHZhbHVlc1xyXG4gICAgICBpZiAobmFtZXMgIT09IG51bGwpIHtcclxuICAgICAgICBEYXRlVXRpbC5fbG9jYWxNb250aHNbMF0gPSBQSUNJbnRlcmZhY2UuZGF0ZV9tb250aF9zdHJbMF07XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMTsgaSA8IERhdGVVdGlsLl9sb2NhbE1vbnRocy5sZW5ndGg7IGkgPSBpICsgMSkge1xyXG5cclxuICAgICAgICAgIGlmIChpICogbW9udGhMZW4gPj0gbmFtZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIERhdGVVdGlsLl9sb2NhbE1vbnRoc1tpXSA9IG5hbWVzLnN1YnN0cigoaSAtIDEpICogbW9udGhMZW4pO1xyXG4gICAgICAgICAgICB3aGlsZSAobW9udGhMZW4gLSBEYXRlVXRpbC5fbG9jYWxNb250aHNbaV0ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgIERhdGVVdGlsLl9sb2NhbE1vbnRoc1tpXSA9IERhdGVVdGlsLl9sb2NhbE1vbnRoc1tpXSArIFwiIFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgRGF0ZVV0aWwuX2xvY2FsTW9udGhzW2ldID0gbmFtZXMuc3Vic3RyKChpIC0gMSkgKiBtb250aExlbiwgaSAqIG1vbnRoTGVuIC0gKGkgLSAxKSAqIG1vbnRoTGVuKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IERhdGVVdGlsLl9sb2NhbE1vbnRocy5sZW5ndGg7IGkgPSBpICsgMSkge1xyXG4gICAgICAgICAgRGF0ZVV0aWwuX2xvY2FsTW9udGhzW2ldID0gUElDSW50ZXJmYWNlLmRhdGVfbW9udGhfc3RyW2ldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIERhdGVVdGlsLl9sb2NhbE1vbnRocztcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBleHRyYWN0IHRoZSB2ZWN0b3Igd2hpY2ggY29udGFpbnMgdGhlIG5hbWVzIG9mIHRoZSBkYXlzLCBhcyBzcGVjaWZpZWQgYnkgdGhlXHJcbiAgLy8vICAgbGFuZ3VhZ2UgQ0FCXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgZ2V0TG9jYWxEYXlzKG5hbWVzOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgZG93TGVuOiBudW1iZXIgPSBEQVRFX0RPV19MRU47XHJcblxyXG4gICAgLy8gaWYgaXQncyB0aGUgZmlyc3QgdGltZSB0aGVuIGFjY2VzcyB0aGUgbGFuZ3VhZ2UgQ0FCIGFuZCB0YWtlIHRoZSB2YWx1ZXNcclxuICAgIGlmICh0eXBlb2YgRGF0ZVV0aWwuX2xvY2FsRGF5c1swXSA9PT0gXCJ1bmRlZmluZWRcIikge1xyXG5cclxuICAgICAgLy9jdXQgdGhlIHN0cmluZyBpbnRvIHNlcGFyYXRlIHZhbHVlc1xyXG4gICAgICBpZiAobmFtZXMgIT09IG51bGwpIHtcclxuICAgICAgICBEYXRlVXRpbC5fbG9jYWxEYXlzWzBdID0gUElDSW50ZXJmYWNlLmRhdGVfZG93X3N0clswXTtcclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAxOyBpIDwgRGF0ZVV0aWwuX2xvY2FsRGF5cy5sZW5ndGg7IGkgPSBpICsgMSkge1xyXG5cclxuICAgICAgICAgIGlmIChpICogZG93TGVuID49IG5hbWVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBEYXRlVXRpbC5fbG9jYWxEYXlzW2ldID0gbmFtZXMuc3Vic3RyKChpIC0gMSkgKiBkb3dMZW4pO1xyXG4gICAgICAgICAgICB3aGlsZSAoZG93TGVuIC0gRGF0ZVV0aWwuX2xvY2FsRGF5c1tpXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgRGF0ZVV0aWwuX2xvY2FsRGF5c1tpXSA9IERhdGVVdGlsLl9sb2NhbERheXNbaV0gKyBcIiBcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIERhdGVVdGlsLl9sb2NhbERheXNbaV0gPSBuYW1lcy5zdWJzdHIoKGkgLSAxKSAqIGRvd0xlbiwgaSAqIGRvd0xlbiAtIChpIC0gMSkgKiBkb3dMZW4pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgRGF0ZVV0aWwuX2xvY2FsTW9udGhzLmxlbmd0aDsgaSA9IGkgKyAxKSB7XHJcbiAgICAgICAgICBEYXRlVXRpbC5fbG9jYWxNb250aHNbaV0gPSBQSUNJbnRlcmZhY2UuZGF0ZV9kb3dfc3RyW2ldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIERhdGVVdGlsLl9sb2NhbERheXM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9zcmMvRGF0ZVV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE1BQU0sY0FBYyxHQUFXLEVBQUUsQ0FBQztBQUNsQyxNQUFNLFlBQVksR0FBVyxFQUFFLENBQUM7QUFFaEMsTUFBTSxPQUFPLFFBQVE7SUFTbkIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFhO1FBQ2pDLElBQUksUUFBUSxHQUFXLGNBQWMsQ0FBQztRQUd0QyxJQUFJLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxXQUFXLEVBQUU7WUFHbkQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO2dCQUNsQixRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFELEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFFbkUsSUFBSSxDQUFDLEdBQUcsUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7d0JBQ2hDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQzt3QkFDNUQsT0FBTyxRQUFRLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOzRCQUNyRCxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO3lCQUMzRDtxQkFDRjt5QkFDSTt3QkFDSCxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7cUJBQ2hHO2lCQUNGO2FBQ0Y7aUJBQ0k7Z0JBQ0gsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNuRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO2FBQ0Y7U0FDRjtRQUNELE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQztJQUMvQixDQUFDO0lBTUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFhO1FBQy9CLElBQUksTUFBTSxHQUFXLFlBQVksQ0FBQztRQUdsQyxJQUFJLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxXQUFXLEVBQUU7WUFHakQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO2dCQUNsQixRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RELEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFFakUsSUFBSSxDQUFDLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7d0JBQzlCLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQzt3QkFDeEQsT0FBTyxNQUFNLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOzRCQUNqRCxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO3lCQUN2RDtxQkFDRjt5QkFDSTt3QkFDSCxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7cUJBQ3hGO2lCQUNGO2FBQ0Y7aUJBQ0k7Z0JBQ0gsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNuRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3pEO2FBQ0Y7U0FDRjtRQUNELE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUM3QixDQUFDOztBQXZFdUIscUJBQVksR0FBYSxJQUFJLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztBQUMvQyxtQkFBVSxHQUFhLElBQUksS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOU3RyaW5nfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtQSUNJbnRlcmZhY2V9IGZyb20gXCIuL1BJQ0ludGVyZmFjZVwiO1xyXG5cclxuY29uc3QgREFURV9NT05USF9MRU46IG51bWJlciA9IDEwO1xyXG5jb25zdCBEQVRFX0RPV19MRU46IG51bWJlciA9IDEwO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVVdGlsIHtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgX2xvY2FsTW9udGhzOiBzdHJpbmdbXSA9IG5ldyBBcnJheTxzdHJpbmc+KDEzKTtcclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBfbG9jYWxEYXlzOiBzdHJpbmdbXSA9IG5ldyBBcnJheTxzdHJpbmc+KDgpO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICBleHRyYWN0IHRoZSB2ZWN0b3Igd2hpY2ggY29udGFpbnMgdGhlIG5hbWVzIG9mIHRoZSBtb250aHMsIGFzIHNwZWNpZmllZCBieSB0aGVcclxuICAvLy8gIGxhbmd1YWdlIENBQlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIGdldExvY2FsTW9udGhzKG5hbWVzOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgbW9udGhMZW46IG51bWJlciA9IERBVEVfTU9OVEhfTEVOO1xyXG5cclxuICAgIC8vIGlmIGl0J3MgdGhlIGZpcnN0IHRpbWUgdGhlbiBhY2Nlc3MgdGhlIGxhbmd1YWdlIENBQiBhbmQgdGFrZSB0aGUgdmFsdWVzXHJcbiAgICBpZiAodHlwZW9mIERhdGVVdGlsLl9sb2NhbE1vbnRoc1swXSA9PT0gXCJ1bmRlZmluZWRcIikge1xyXG5cclxuICAgICAgLy9jdXQgdGhlIHN0cmluZyBpbnRvIHNlcGFyYXRlIHZhbHVlc1xyXG4gICAgICBpZiAobmFtZXMgIT09IG51bGwpIHtcclxuICAgICAgICBEYXRlVXRpbC5fbG9jYWxNb250aHNbMF0gPSBQSUNJbnRlcmZhY2UuZGF0ZV9tb250aF9zdHJbMF07XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMTsgaSA8IERhdGVVdGlsLl9sb2NhbE1vbnRocy5sZW5ndGg7IGkgPSBpICsgMSkge1xyXG5cclxuICAgICAgICAgIGlmIChpICogbW9udGhMZW4gPj0gbmFtZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIERhdGVVdGlsLl9sb2NhbE1vbnRoc1tpXSA9IG5hbWVzLnN1YnN0cigoaSAtIDEpICogbW9udGhMZW4pO1xyXG4gICAgICAgICAgICB3aGlsZSAobW9udGhMZW4gLSBEYXRlVXRpbC5fbG9jYWxNb250aHNbaV0ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgIERhdGVVdGlsLl9sb2NhbE1vbnRoc1tpXSA9IERhdGVVdGlsLl9sb2NhbE1vbnRoc1tpXSArIFwiIFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgRGF0ZVV0aWwuX2xvY2FsTW9udGhzW2ldID0gbmFtZXMuc3Vic3RyKChpIC0gMSkgKiBtb250aExlbiwgaSAqIG1vbnRoTGVuIC0gKGkgLSAxKSAqIG1vbnRoTGVuKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IERhdGVVdGlsLl9sb2NhbE1vbnRocy5sZW5ndGg7IGkgPSBpICsgMSkge1xyXG4gICAgICAgICAgRGF0ZVV0aWwuX2xvY2FsTW9udGhzW2ldID0gUElDSW50ZXJmYWNlLmRhdGVfbW9udGhfc3RyW2ldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIERhdGVVdGlsLl9sb2NhbE1vbnRocztcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBleHRyYWN0IHRoZSB2ZWN0b3Igd2hpY2ggY29udGFpbnMgdGhlIG5hbWVzIG9mIHRoZSBkYXlzLCBhcyBzcGVjaWZpZWQgYnkgdGhlXHJcbiAgLy8vICAgbGFuZ3VhZ2UgQ0FCXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgZ2V0TG9jYWxEYXlzKG5hbWVzOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgZG93TGVuOiBudW1iZXIgPSBEQVRFX0RPV19MRU47XHJcblxyXG4gICAgLy8gaWYgaXQncyB0aGUgZmlyc3QgdGltZSB0aGVuIGFjY2VzcyB0aGUgbGFuZ3VhZ2UgQ0FCIGFuZCB0YWtlIHRoZSB2YWx1ZXNcclxuICAgIGlmICh0eXBlb2YgRGF0ZVV0aWwuX2xvY2FsRGF5c1swXSA9PT0gXCJ1bmRlZmluZWRcIikge1xyXG5cclxuICAgICAgLy9jdXQgdGhlIHN0cmluZyBpbnRvIHNlcGFyYXRlIHZhbHVlc1xyXG4gICAgICBpZiAobmFtZXMgIT09IG51bGwpIHtcclxuICAgICAgICBEYXRlVXRpbC5fbG9jYWxEYXlzWzBdID0gUElDSW50ZXJmYWNlLmRhdGVfZG93X3N0clswXTtcclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAxOyBpIDwgRGF0ZVV0aWwuX2xvY2FsRGF5cy5sZW5ndGg7IGkgPSBpICsgMSkge1xyXG5cclxuICAgICAgICAgIGlmIChpICogZG93TGVuID49IG5hbWVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBEYXRlVXRpbC5fbG9jYWxEYXlzW2ldID0gbmFtZXMuc3Vic3RyKChpIC0gMSkgKiBkb3dMZW4pO1xyXG4gICAgICAgICAgICB3aGlsZSAoZG93TGVuIC0gRGF0ZVV0aWwuX2xvY2FsRGF5c1tpXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgRGF0ZVV0aWwuX2xvY2FsRGF5c1tpXSA9IERhdGVVdGlsLl9sb2NhbERheXNbaV0gKyBcIiBcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIERhdGVVdGlsLl9sb2NhbERheXNbaV0gPSBuYW1lcy5zdWJzdHIoKGkgLSAxKSAqIGRvd0xlbiwgaSAqIGRvd0xlbiAtIChpIC0gMSkgKiBkb3dMZW4pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgRGF0ZVV0aWwuX2xvY2FsTW9udGhzLmxlbmd0aDsgaSA9IGkgKyAxKSB7XHJcbiAgICAgICAgICBEYXRlVXRpbC5fbG9jYWxNb250aHNbaV0gPSBQSUNJbnRlcmZhY2UuZGF0ZV9kb3dfc3RyW2ldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIERhdGVVdGlsLl9sb2NhbERheXM7XHJcbiAgfVxyXG59XHJcbiJdfQ==