@magic-xpa/utils 4.1000.0 → 4.1100.0-dev000.0

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 (81) hide show
  1. package/README.md +6 -6
  2. package/{esm2020 → esm2022}/index.mjs +27 -27
  3. package/{esm2020 → esm2022}/magic-xpa-utils.mjs +1 -1
  4. package/esm2022/src/Base64.mjs +164 -0
  5. package/{esm2020 → esm2022}/src/ChoiceUtils.mjs +78 -78
  6. package/esm2022/src/Constants.mjs +74 -0
  7. package/{esm2020 → esm2022}/src/DateTimeUtils.mjs +53 -53
  8. package/esm2022/src/DateUtil.mjs +58 -0
  9. package/esm2022/src/InternalInterface.mjs +341 -0
  10. package/{esm2020 → esm2022}/src/JSON_Utils.mjs +6 -6
  11. package/esm2022/src/Logger.mjs +216 -0
  12. package/{esm2020 → esm2022}/src/MagicConstants.mjs +11 -11
  13. package/{esm2020 → esm2022}/src/Misc.mjs +97 -97
  14. package/esm2022/src/MsgInterface.mjs +192 -0
  15. package/esm2022/src/PICInterface.mjs +60 -0
  16. package/esm2022/src/PlatformUtils.mjs +11 -0
  17. package/esm2022/src/Queue.mjs +28 -0
  18. package/esm2022/src/Randomizer.mjs +34 -0
  19. package/esm2022/src/RequestInfo.mjs +28 -0
  20. package/esm2022/src/Rtf.mjs +614 -0
  21. package/{esm2020 → esm2022}/src/StorageAttribute.mjs +83 -83
  22. package/esm2022/src/StrUtil.mjs +453 -0
  23. package/esm2022/src/SyncExecutionHelper.mjs +21 -0
  24. package/esm2022/src/UtilDateJpn.mjs +232 -0
  25. package/esm2022/src/UtilImeJpn.mjs +13 -0
  26. package/esm2022/src/UtilStrByteMode.mjs +300 -0
  27. package/esm2022/src/XMLConstants.mjs +169 -0
  28. package/esm2022/src/Xml/XmlParser.mjs +247 -0
  29. package/{esm2020 → esm2022}/src/enums.mjs +1762 -1762
  30. package/{fesm2015 → fesm2022}/magic-xpa-utils.mjs +5285 -5289
  31. package/fesm2022/magic-xpa-utils.mjs.map +1 -0
  32. package/index.d.ts +26 -26
  33. package/package.json +7 -13
  34. package/src/Base64.d.ts +17 -17
  35. package/src/ChoiceUtils.d.ts +5 -5
  36. package/src/Constants.d.ts +71 -71
  37. package/src/DateTimeUtils.d.ts +5 -5
  38. package/src/DateUtil.d.ts +6 -6
  39. package/src/InternalInterface.d.ts +337 -337
  40. package/src/JSON_Utils.d.ts +3 -3
  41. package/src/Logger.d.ts +49 -49
  42. package/src/MagicConstants.d.ts +9 -9
  43. package/src/Misc.d.ts +13 -13
  44. package/src/MsgInterface.d.ts +175 -175
  45. package/src/PICInterface.d.ts +50 -50
  46. package/src/PlatformUtils.d.ts +5 -5
  47. package/src/Queue.d.ts +9 -9
  48. package/src/Randomizer.d.ts +14 -14
  49. package/src/RequestInfo.d.ts +15 -14
  50. package/src/Rtf.d.ts +152 -152
  51. package/src/StorageAttribute.d.ts +14 -14
  52. package/src/StrUtil.d.ts +45 -45
  53. package/src/SyncExecutionHelper.d.ts +7 -7
  54. package/src/UtilDateJpn.d.ts +19 -19
  55. package/src/UtilImeJpn.d.ts +9 -9
  56. package/src/UtilStrByteMode.d.ts +27 -27
  57. package/src/XMLConstants.d.ts +167 -167
  58. package/src/Xml/XmlParser.d.ts +34 -34
  59. package/src/enums.d.ts +1564 -1564
  60. package/esm2020/src/Base64.mjs +0 -164
  61. package/esm2020/src/Constants.mjs +0 -74
  62. package/esm2020/src/DateUtil.mjs +0 -58
  63. package/esm2020/src/InternalInterface.mjs +0 -341
  64. package/esm2020/src/Logger.mjs +0 -216
  65. package/esm2020/src/MsgInterface.mjs +0 -192
  66. package/esm2020/src/PICInterface.mjs +0 -60
  67. package/esm2020/src/PlatformUtils.mjs +0 -11
  68. package/esm2020/src/Queue.mjs +0 -28
  69. package/esm2020/src/Randomizer.mjs +0 -34
  70. package/esm2020/src/RequestInfo.mjs +0 -26
  71. package/esm2020/src/Rtf.mjs +0 -616
  72. package/esm2020/src/StrUtil.mjs +0 -453
  73. package/esm2020/src/SyncExecutionHelper.mjs +0 -23
  74. package/esm2020/src/UtilDateJpn.mjs +0 -234
  75. package/esm2020/src/UtilImeJpn.mjs +0 -13
  76. package/esm2020/src/UtilStrByteMode.mjs +0 -300
  77. package/esm2020/src/XMLConstants.mjs +0 -169
  78. package/esm2020/src/Xml/XmlParser.mjs +0 -247
  79. package/fesm2015/magic-xpa-utils.mjs.map +0 -1
  80. package/fesm2020/magic-xpa-utils.mjs +0 -5328
  81. package/fesm2020/magic-xpa-utils.mjs.map +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Magic-xpa/utils
2
-
3
- This package is part of Magic xpa Web Application Framework.
4
- It is used to easily create modern business apps powered by Angular to provide a rich user experience and meet the increasingly complex enterprise business expectations for digital transformation.
5
-
6
-
1
+ # Magic-xpa/utils
2
+
3
+ This package is part of Magic xpa Web Application Framework.
4
+ It is used to easily create modern business apps powered by Angular to provide a rich user experience and meet the increasingly complex enterprise business expectations for digital transformation.
5
+
6
+
@@ -1,27 +1,27 @@
1
- export * from "./src/Base64";
2
- export * from "./src/ChoiceUtils";
3
- export * from "./src/Constants";
4
- export * from "./src/DateTimeUtils";
5
- export * from "./src/DateUtil";
6
- export * from "./src/enums";
7
- export * from "./src/InternalInterface";
8
- export * from "./src/JSON_Utils";
9
- export * from "./src/Logger";
10
- export * from "./src/MagicConstants";
11
- export * from "./src/Misc";
12
- export * from "./src/MsgInterface";
13
- export * from "./src/PICInterface";
14
- export * from "./src/PlatformUtils";
15
- export * from "./src/Queue";
16
- export * from "./src/Randomizer";
17
- export * from "./src/RequestInfo";
18
- export * from "./src/Rtf";
19
- export * from "./src/StorageAttribute";
20
- export * from "./src/StrUtil";
21
- export * from "./src/SyncExecutionHelper";
22
- export * from "./src/UtilDateJpn";
23
- export * from "./src/UtilImeJpn";
24
- export * from "./src/UtilStrByteMode";
25
- export * from "./src/XMLConstants";
26
- export * from "./src/Xml/XmlParser";
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc3JjL0Jhc2U2NFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0Nob2ljZVV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvQ29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvRGF0ZVRpbWVVdGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0RhdGVVdGlsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvZW51bXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9JbnRlcm5hbEludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0pTT05fVXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9Mb2dnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9NYWdpY0NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL01pc2NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9Nc2dJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9QSUNJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9QbGF0Zm9ybVV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvUXVldWVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9SYW5kb21pemVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvUmVxdWVzdEluZm9cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9SdGZcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9TdG9yYWdlQXR0cmlidXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvU3RyVXRpbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL1N5bmNFeGVjdXRpb25IZWxwZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9VdGlsRGF0ZUpwblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL1V0aWxJbWVKcG5cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9VdGlsU3RyQnl0ZU1vZGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9YTUxDb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9YbWwvWG1sUGFyc2VyXCI7XG4iXX0=
1
+ export * from "./src/Base64";
2
+ export * from "./src/ChoiceUtils";
3
+ export * from "./src/Constants";
4
+ export * from "./src/DateTimeUtils";
5
+ export * from "./src/DateUtil";
6
+ export * from "./src/enums";
7
+ export * from "./src/InternalInterface";
8
+ export * from "./src/JSON_Utils";
9
+ export * from "./src/Logger";
10
+ export * from "./src/MagicConstants";
11
+ export * from "./src/Misc";
12
+ export * from "./src/MsgInterface";
13
+ export * from "./src/PICInterface";
14
+ export * from "./src/PlatformUtils";
15
+ export * from "./src/Queue";
16
+ export * from "./src/Randomizer";
17
+ export * from "./src/RequestInfo";
18
+ export * from "./src/Rtf";
19
+ export * from "./src/StorageAttribute";
20
+ export * from "./src/StrUtil";
21
+ export * from "./src/SyncExecutionHelper";
22
+ export * from "./src/UtilDateJpn";
23
+ export * from "./src/UtilImeJpn";
24
+ export * from "./src/UtilStrByteMode";
25
+ export * from "./src/XMLConstants";
26
+ export * from "./src/Xml/XmlParser";
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0Jhc2U2NFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0Nob2ljZVV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvQ29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvRGF0ZVRpbWVVdGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0RhdGVVdGlsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvZW51bXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9JbnRlcm5hbEludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0pTT05fVXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9Mb2dnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9NYWdpY0NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL01pc2NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9Nc2dJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9QSUNJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9QbGF0Zm9ybVV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvUXVldWVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9SYW5kb21pemVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvUmVxdWVzdEluZm9cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9SdGZcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9TdG9yYWdlQXR0cmlidXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvU3RyVXRpbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL1N5bmNFeGVjdXRpb25IZWxwZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9VdGlsRGF0ZUpwblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL1V0aWxJbWVKcG5cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9VdGlsU3RyQnl0ZU1vZGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9YTUxDb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9YbWwvWG1sUGFyc2VyXCI7XG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './index';
1
+ export * from './index';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMteHBhLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdXRpbHMvbWFnaWMteHBhLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,164 @@
1
+ import { ApplicationException, ISO_8859_1_Encoding } from "@magic-xpa/mscorelib";
2
+ import { StrUtil } from "./StrUtil";
3
+ import { Misc } from "./Misc";
4
+ export class Base64 {
5
+ static _base64EncMap = Base64.initializeEncMap();
6
+ static _base64DecMap = Base64.initializeDecMap();
7
+ static encode(str, isUseEnvCharset, encoding) {
8
+ if (arguments.length === 1)
9
+ return Base64.encode_1(str, false, null);
10
+ else
11
+ return Base64.encode_1(str, isUseEnvCharset, encoding);
12
+ }
13
+ static encode_1(str, isUseEnvCharset, encoding) {
14
+ let result;
15
+ if (str === null) {
16
+ result = null;
17
+ }
18
+ else {
19
+ if (str === "") {
20
+ result = str;
21
+ }
22
+ else {
23
+ try {
24
+ if (isUseEnvCharset === false) {
25
+ result = btoa(str);
26
+ }
27
+ else {
28
+ let instance = ISO_8859_1_Encoding.ISO_8859_1;
29
+ let encoding2 = isUseEnvCharset ? encoding : instance;
30
+ let ba = Base64.encodeBytes(encoding2.GetBytes(str));
31
+ result = instance.GetString(ba, 0, ba.length);
32
+ }
33
+ }
34
+ catch (ex) {
35
+ throw new ApplicationException(ex.Message);
36
+ }
37
+ }
38
+ }
39
+ return result;
40
+ }
41
+ static encodeBytes(data) {
42
+ if (data === null)
43
+ return null;
44
+ let dest = new Uint8Array(Math.floor((data.length + 2) / 3) * 4);
45
+ let sidx = 0;
46
+ let didx = 0;
47
+ while (sidx < data.length - 2) {
48
+ dest[didx++] = Base64._base64EncMap[Misc.URShift(data[sidx], 2) & 63];
49
+ dest[didx++] = Base64._base64EncMap[(Misc.URShift(data[sidx + 1], 4) & 15) | (data[sidx] << 4 & 63)];
50
+ dest[didx++] = Base64._base64EncMap[(Misc.URShift(data[sidx + 2], 6) & 3) | (data[sidx + 1] << 2 & 63)];
51
+ dest[didx++] = Base64._base64EncMap[(data[sidx + 2] & 63)];
52
+ sidx = sidx + 3;
53
+ }
54
+ if (sidx < data.length) {
55
+ dest[didx++] = Base64._base64EncMap[Misc.URShift(data[sidx], 2) & 63];
56
+ if (sidx < data.length - 1) {
57
+ dest[didx++] = Base64._base64EncMap[(Misc.URShift(data[sidx + 1], 4) & 15) | (data[sidx] << 4 & 63)];
58
+ dest[didx++] = Base64._base64EncMap[data[sidx + 1] << 2 & 63];
59
+ }
60
+ else {
61
+ dest[didx++] = Base64._base64EncMap[data[sidx] << 4 & 63];
62
+ }
63
+ }
64
+ while (didx < dest.length) {
65
+ dest[didx] = 61;
66
+ didx = didx + 1;
67
+ }
68
+ return dest;
69
+ }
70
+ static decode(str, encoding) {
71
+ if (arguments.length === 1)
72
+ encoding = null;
73
+ return Base64.decode_1(str, encoding);
74
+ }
75
+ static decode_1(str, encoding) {
76
+ let result;
77
+ if (str === null) {
78
+ result = null;
79
+ }
80
+ else {
81
+ if (str === "") {
82
+ result = str;
83
+ }
84
+ else {
85
+ try {
86
+ if (encoding === null || encoding === undefined) {
87
+ result = atob(str);
88
+ }
89
+ else {
90
+ let instance = ISO_8859_1_Encoding.ISO_8859_1;
91
+ let array = Base64.decodeBytes(instance.GetBytes(str));
92
+ let encoding2 = (encoding !== null) ? encoding : instance;
93
+ result = encoding2.GetString(array, 0, array.length);
94
+ }
95
+ }
96
+ catch (ex) {
97
+ throw new ApplicationException(ex.Message);
98
+ }
99
+ }
100
+ }
101
+ return result;
102
+ }
103
+ static decodeBytes(data) {
104
+ if (data === null)
105
+ return null;
106
+ let tail = data.length;
107
+ while (data[tail - 1] === '='.charCodeAt(0)) {
108
+ tail = tail - 1;
109
+ }
110
+ let dest = new Uint8Array(tail - Math.floor(data.length / 4));
111
+ for (let idx = 0; idx < data.length; idx = idx + 1) {
112
+ data[idx] = Base64._base64DecMap[data[idx]];
113
+ }
114
+ let sidx = 0;
115
+ let didx;
116
+ for (didx = 0; didx < dest.length - 2; didx = didx + 3) {
117
+ dest[didx] = (((data[sidx] << 2) & 255) | (Misc.URShift(data[sidx + 1], 4) & 3));
118
+ dest[didx + 1] = (((data[sidx + 1] << 4) & 255) | (Misc.URShift(data[sidx + 2], 2) & 15));
119
+ dest[didx + 2] = (((data[sidx + 2] << 6) & 255) | (data[sidx + 3] & 63));
120
+ sidx = sidx + 4;
121
+ }
122
+ if (didx < dest.length)
123
+ dest[didx] = (((data[sidx] << 2) & 255) | (Misc.URShift(data[sidx + 1], 4) & 3));
124
+ if ((didx = didx + 1) < dest.length)
125
+ dest[didx] = (((data[sidx + 1] << 4) & 255) | (Misc.URShift(data[sidx + 2], 2) & 15));
126
+ return dest;
127
+ }
128
+ static decodeToHex(str) {
129
+ if (str === null)
130
+ return null;
131
+ if (str === "")
132
+ return str;
133
+ return StrUtil.stringToHexaDump(Base64.decode(str), 2);
134
+ }
135
+ static decodeToByte(str) {
136
+ if (str === null)
137
+ return null;
138
+ if (str === "" || str === " ")
139
+ return new Uint8Array(0);
140
+ try {
141
+ let instance = ISO_8859_1_Encoding.ISO_8859_1;
142
+ return Base64.decodeBytes(instance.GetBytes(str));
143
+ }
144
+ catch (ex) {
145
+ throw new ApplicationException(ex.Message);
146
+ }
147
+ }
148
+ static initializeEncMap() {
149
+ return new Uint8Array([
150
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
151
+ 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
152
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54,
153
+ 55, 56, 57, 43, 47
154
+ ]);
155
+ }
156
+ static initializeDecMap() {
157
+ let decMap = new Uint8Array(128);
158
+ for (let i = 0; i < Base64._base64EncMap.length; i = i + 1) {
159
+ decMap[Base64._base64EncMap[i]] = i;
160
+ }
161
+ return decMap;
162
+ }
163
+ }
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZTY0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXRpbHMvc3JjL0Jhc2U2NC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFPLE1BQU07SUFDVCxNQUFNLENBQUMsYUFBYSxHQUFlLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzdELE1BQU0sQ0FBQyxhQUFhLEdBQWUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFLckUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFXLEVBQUUsZUFBcUIsRUFBRSxRQUFtQjtRQUNuRSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN4QixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQzs7WUFFekMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQVVPLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBVyxFQUFFLGVBQXdCLEVBQUUsUUFBa0I7UUFDL0UsSUFBSSxNQUFjLENBQUM7UUFDbkIsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE1BQU0sR0FBRyxJQUFJLENBQUM7U0FDZjthQUNJO1lBQ0gsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO2dCQUNkLE1BQU0sR0FBRyxHQUFHLENBQUM7YUFDZDtpQkFDSTtnQkFDSCxJQUFJO29CQUNGLElBQUksZUFBZSxLQUFLLEtBQUssRUFBQzt3QkFDNUIsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDcEI7eUJBQ0k7d0JBQ0gsSUFBSSxRQUFRLEdBQWEsbUJBQW1CLENBQUMsVUFBVSxDQUFDO3dCQUN4RCxJQUFJLFNBQVMsR0FBYSxlQUFlLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO3dCQUNoRSxJQUFJLEVBQUUsR0FBZSxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzt3QkFDakUsTUFBTSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQy9DO2lCQUNGO2dCQUNELE9BQU8sRUFBRSxFQUFFO29CQUNULE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQzVDO2FBQ0Y7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFPTyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQWdCO1FBRXpDLElBQUksSUFBSSxLQUFLLElBQUk7WUFDZixPQUFPLElBQUksQ0FBQztRQUVkLElBQUksSUFBSSxHQUFlLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdFLElBQUksSUFBSSxHQUFXLENBQUMsQ0FBQztRQUNyQixJQUFJLElBQUksR0FBVyxDQUFDLENBQUM7UUFHckIsT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUM5RSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBUyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFTLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBUyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkUsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7U0FDakI7UUFFRCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDOUUsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFTLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxD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RyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDMUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDN0M7UUFHRCxJQUFJLElBQUksR0FBVyxDQUFDLENBQUM7UUFDckIsSUFBSSxJQUFZLENBQUM7UUFDakIsS0FBSyxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRTtZQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUYsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pFLElBQUks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WUFDM0YsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7U0FDbkIsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUVPLE1BQU0sQ0FBQyxnQkFBZ0I7UUFDN0IsSUFBSSxNQUFNLEdBQWUsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFN0MsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xFLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RW5jb2RpbmcsIEFwcGxpY2F0aW9uRXhjZXB0aW9uLCBJU09fODg1OV8xX0VuY29kaW5nfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtTdHJVdGlsfSBmcm9tIFwiLi9TdHJVdGlsXCI7XHJcbmltcG9ydCB7TWlzY30gZnJvbSBcIi4vTWlzY1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEJhc2U2NHtcclxuICBwcml2YXRlIHN0YXRpYyBfYmFzZTY0RW5jTWFwOiBVaW50OEFycmF5ID0gQmFzZTY0LmluaXRpYWxpemVFbmNNYXAoKTtcclxuICBwcml2YXRlIHN0YXRpYyBfYmFzZTY0RGVjTWFwOiBVaW50OEFycmF5ID0gQmFzZTY0LmluaXRpYWxpemVEZWNNYXAoKTtcclxuXHJcblxyXG4gIHN0YXRpYyBlbmNvZGUoc3RyOiBzdHJpbmcpOiBzdHJpbmc7XHJcbiAgc3RhdGljIGVuY29kZShzdHI6IHN0cmluZywgaXNVc2VFbnZDaGFyc2V0OiBib29sZWFuLCBlbmNvZGluZzogRW5jb2RpbmcpOiBzdHJpbmc7XHJcbiAgc3RhdGljIGVuY29kZShzdHI6IHN0cmluZywgaXNVc2VFbnZDaGFyc2V0PzogYW55LCBlbmNvZGluZz86IEVuY29kaW5nKTogYW55IHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKVxyXG4gICAgICByZXR1cm4gQmFzZTY0LmVuY29kZV8xKHN0ciwgZmFsc2UsIG51bGwpO1xyXG4gICAgZWxzZVxyXG4gICAgICByZXR1cm4gQmFzZTY0LmVuY29kZV8xKHN0ciwgaXNVc2VFbnZDaGFyc2V0LCBlbmNvZGluZyk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IEVuY29kZXMgc3RyaW5nIHVzaW5nIHRoZSBiYXNlNjQtZW5jb2RpbmcuXHJcbiAgLy8vIElmIGlzVXNlRW52Q2hhcnNldCBpcyB0cnVlLCB1c2UgdGhlIHNwZWNpZmljIGNoYXJzZXQgd2hlbiBjb252ZXJ0aW5nXHJcbiAgLy8vIHN0cmluZyB0byBieXRlIGFycmF5LiAoREJDUyBzdXBwb3J0KVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwic3RyXCI+dGhlIHN0cmluZyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImlzVXNlRW52Q2hhcnNldFwiPiA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImVuY29kaW5nXCI+IEVudmlyb25tZW50LkVuY29kaW5nIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB0aGUgYmFzZTY0LWVuY29kZWQgc3RyIDwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBlbmNvZGVfMShzdHI6IHN0cmluZywgaXNVc2VFbnZDaGFyc2V0OiBib29sZWFuLCBlbmNvZGluZzogRW5jb2RpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJlc3VsdDogc3RyaW5nO1xyXG4gICAgaWYgKHN0ciA9PT0gbnVsbCkge1xyXG4gICAgICByZXN1bHQgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGlmIChzdHIgPT09IFwiXCIpIHtcclxuICAgICAgICByZXN1bHQgPSBzdHI7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGlmIChpc1VzZUVudkNoYXJzZXQgPT09IGZhbHNlKXtcclxuICAgICAgICAgICAgcmVzdWx0ID0gYnRvYShzdHIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZTogRW5jb2RpbmcgPSBJU09fODg1OV8xX0VuY29kaW5nLklTT184ODU5XzE7XHJcbiAgICAgICAgICAgIGxldCBlbmNvZGluZzI6IEVuY29kaW5nID0gaXNVc2VFbnZDaGFyc2V0ID8gZW5jb2RpbmcgOiBpbnN0YW5jZTtcclxuICAgICAgICAgICAgbGV0IGJhOiBVaW50OEFycmF5ID0gQmFzZTY0LmVuY29kZUJ5dGVzKGVuY29kaW5nMi5HZXRCeXRlcyhzdHIpKTtcclxuICAgICAgICAgICAgcmVzdWx0ID0gaW5zdGFuY2UuR2V0U3RyaW5nKGJhLCAwLCBiYS5sZW5ndGgpO1xyXG4gICAgICAgICAgfSAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChleCkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEFwcGxpY2F0aW9uRXhjZXB0aW9uKGV4Lk1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gVGhpcyBtZXRob2QgZW5jb2RlcyB0aGUgZ2l2ZW4gYnl0ZVtdIHVzaW5nIHRoZSBiYXNlNjQtZW5jb2RpbmdcclxuICAvLy8gc3BlY2lmaWVkIGluIFJGQy0yMDQ1IChTZWN0aW9uIDYuOCkuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJkYXRhXCI+dGhlIGRhdGEgPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHRoZSBiYXNlNjQtZW5jb2RlZCBkYXRhIDwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBlbmNvZGVCeXRlcyhkYXRhOiBVaW50OEFycmF5KTogVWludDhBcnJheSB7XHJcblxyXG4gICAgaWYgKGRhdGEgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgIGxldCBkZXN0OiBVaW50OEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoTWF0aC5mbG9vcigoZGF0YS5sZW5ndGggKyAyKSAvIDMpICogNCk7XHJcbiAgICBsZXQgc2lkeDogbnVtYmVyID0gMDtcclxuICAgIGxldCBkaWR4OiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8vIDMtYnl0ZSB0byA0LWJ5dGUgY29udmVyc2lvbiArIDAtNjMgdG8gQVNDSUkgcHJpbnRhYmxlIGNvbnZlcnNpb25cclxuICAgIHdoaWxlIChzaWR4IDwgZGF0YS5sZW5ndGggLSAyKSB7XHJcbiAgICAgIGRlc3RbZGlkeCsrXSA9IEJhc2U2NC5fYmFzZTY0RW5jTWFwW01pc2MuVVJTaGlmdCg8bnVtYmVyPmRhdGFbc2lkeF0sIDIpICYgNjNdO1xyXG4gICAgICBkZXN0W2RpZHgrK10gPSBCYXNlNjQuX2Jhc2U2NEVuY01hcFsoTWlzYy5VUlNoaWZ0KDxudW1iZXI+ZGF0YVtzaWR4ICsgMV0sIDQpICYgMTUpIHwgKDxudW1iZXI+ZGF0YVtzaWR4XSA8PCA0ICYgNjMpXTtcclxuICAgICAgZGVzdFtkaWR4KytdID0gQmFzZTY0Ll9iYXNlNjRFbmNNYXBbKE1pc2MuVVJTaGlmdCg8bnVtYmVyPmRhdGFbc2lkeCArIDJdLCA2KSAmIDMpIHwgKDxudW1iZXI+ZGF0YVtzaWR4ICsgMV0gPDwgMiAmIDYzKV07XHJcbiAgICAgIGRlc3RbZGlkeCsrXSA9IEJhc2U2NC5fYmFzZTY0RW5jTWFwWzxudW1iZXI+KGRhdGFbc2lkeCArIDJdICYgNjMpXTtcclxuICAgICAgc2lkeCA9IHNpZHggKyAzO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzaWR4IDwgZGF0YS5sZW5ndGgpIHtcclxuICAgICAgZGVzdFtkaWR4KytdID0gQmFzZTY0Ll9iYXNlNjRFbmNNYXBbTWlzYy5VUlNoaWZ0KDxudW1iZXI+ZGF0YVtzaWR4XSwgMikgJiA2M107XHJcbiAgICAgIGlmIChzaWR4IDwgZGF0YS5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgZGVzdFtkaWR4KytdID0gQmFzZTY0Ll9iYXNlNjRFbmNNYXBbKE1pc2MuVVJTaGlmdCg8bnVtYmVyPmRhdGFbc2lkeCArIDFdLCA0KSAmIDE1KSB8ICg8bnVtYmVyPmRhdGFbc2lkeF0gPDwgNCAmIDYzKV07XHJcbiAgICAgICAgZGVzdFtkaWR4KytdID0gQmFzZTY0Ll9iYXNlNjRFbmNNYXBbPG51bWJlcj5kYXRhW3NpZHggKyAxXSA8PCAyICYgNjNdO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGRlc3RbZGlkeCsrXSA9IEJhc2U2NC5fYmFzZTY0RW5jTWFwWzxudW1iZXI+ZGF0YVtzaWR4XSA8PCA0ICYgNjNdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYWRkIHBhZGRpbmdcclxuICAgIHdoaWxlIChkaWR4IDwgZGVzdC5sZW5ndGgpIHtcclxuICAgICAgZGVzdFtkaWR4XSA9IDYxO1xyXG4gICAgICBkaWR4ID0gZGlkeCArIDE7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRlc3Q7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGVjb2RlKHN0cjogc3RyaW5nKTogc3RyaW5nO1xyXG4gIHN0YXRpYyBkZWNvZGUoc3RyOiBzdHJpbmcsIGVuY29kaW5nOiBFbmNvZGluZyk6IHN0cmluZztcclxuICBzdGF0aWMgZGVjb2RlKHN0cjogc3RyaW5nLCBlbmNvZGluZz86IEVuY29kaW5nKTogYW55IHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKVxyXG4gICAgICBlbmNvZGluZyA9IG51bGw7XHJcblxyXG4gICAgcmV0dXJuIEJhc2U2NC5kZWNvZGVfMShzdHIsIGVuY29kaW5nKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gVGhpcyBtZXRob2QgZGVjb2RlcyB0aGUgZ2l2ZW4gc3RyaW5nIHVzaW5nIHRoZSBiYXNlNjQtZW5jb2RpbmdcclxuICAvLy8gc3BlY2lmaWVkIGluIFJGQy0yMDQ1IChTZWN0aW9uIDYuOCkuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJzdHJcIj50aGUgYmFzZTY0LWVuY29kZWQgc3RyaW5nLiA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImVuY29kaW5nXCI+RW52aXJvbm1lbnQuRW5jb2Rpbmcgb3IgbnVsbC48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gdGhlIGRlY29kZWQgc3RyLjwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBkZWNvZGVfMShzdHI6IHN0cmluZywgZW5jb2Rpbmc6IEVuY29kaW5nKTogc3RyaW5nIHtcclxuXHJcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmc7XHJcbiAgICBpZiAoc3RyID09PSBudWxsKSB7XHJcbiAgICAgIHJlc3VsdCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHN0ciA9PT0gXCJcIikge1xyXG4gICAgICAgIHJlc3VsdCA9IHN0cjtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgaWYgKGVuY29kaW5nID09PSBudWxsIHx8IGVuY29kaW5nID09PSB1bmRlZmluZWQpe1xyXG4gICAgICAgICAgICByZXN1bHQgPSBhdG9iKHN0cik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IGluc3RhbmNlOiBJU09fODg1OV8xX0VuY29kaW5nID0gSVNPXzg4NTlfMV9FbmNvZGluZy5JU09fODg1OV8xO1xyXG4gICAgICAgICAgICBsZXQgYXJyYXk6IFVpbnQ4QXJyYXkgPSBCYXNlNjQuZGVjb2RlQnl0ZXMoaW5zdGFuY2UuR2V0Qnl0ZXMoc3RyKSk7XHJcbiAgICAgICAgICAgIGxldCBlbmNvZGluZzI6IEVuY29kaW5nID0gKGVuY29kaW5nICE9PSBudWxsKSA/IGVuY29kaW5nIDogaW5zdGFuY2U7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGVuY29kaW5nMi5HZXRTdHJpbmcoYXJyYXksIDAsIGFycmF5Lmxlbmd0aCk7XHJcbiAgICAgICAgICB9ICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChleCkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEFwcGxpY2F0aW9uRXhjZXB0aW9uKGV4Lk1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gVGhpcyBtZXRob2QgZGVjb2RlcyB0aGUgZ2l2ZW4gYnl0ZVtdIHVzaW5nIHRoZSBiYXNlNjQtZW5jb2RpbmdcclxuICAvLy8gc3BlY2lmaWVkIGluIFJGQy0yMDQ1IChTZWN0aW9uIDYuOCkuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJkYXRhXCI+dGhlIGJhc2U2NC1lbmNvZGVkIGRhdGEuPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHRoZSBkZWNvZGVkIDx2YXI+ZGF0YTwvdmFcclxuICBwcml2YXRlIHN0YXRpYyBkZWNvZGVCeXRlcyhkYXRhOiBVaW50OEFycmF5KTogVWludDhBcnJheSB7XHJcbiAgICBpZiAoZGF0YSA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgbGV0IHRhaWw6IG51bWJlciA9IGRhdGEubGVuZ3RoO1xyXG4gICAgd2hpbGUgKGRhdGFbdGFpbCAtIDFdID09PSAnPScuY2hhckNvZGVBdCgwKSkge1xyXG4gICAgICB0YWlsID0gdGFpbCAtIDE7XHJcbiAgICB9XHJcbiAgICBsZXQgZGVzdDogVWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KHRhaWwgLSBNYXRoLmZsb29yKGRhdGEubGVuZ3RoIC8gNCkpO1xyXG5cclxuICAgIC8vIEFTQ0lJIHByaW50YWJsZSB0byAwLTYzIGNvbnZlcnNpb25cclxuICAgIGZvciAobGV0IGlkeDogbnVtYmVyID0gMDsgaWR4IDwgZGF0YS5sZW5ndGg7IGlkeCA9IGlkeCArIDEpIHtcclxuICAgICAgZGF0YVtpZHhdID0gQmFzZTY0Ll9iYXNlNjREZWNNYXBbZGF0YVtpZHhdXTtcclxuICAgIH1cclxuXHJcbiAgICAvLyA0LWJ5dGUgdG8gMy1ieXRlIGNvbnZlcnNpb25cclxuICAgIGxldCBzaWR4OiBudW1iZXIgPSAwO1xyXG4gICAgbGV0IGRpZHg6IG51bWJlcjtcclxuICAgIGZvciAoZGlkeCA9IDA7IGRpZHggPCBkZXN0Lmxlbmd0aCAtIDI7IGRpZHggPSBkaWR4ICsgMykge1xyXG4gICAgICBkZXN0W2RpZHhdID0gKCgoZGF0YVtzaWR4XSA8PCAyKSAmIDI1NSkgfCAoTWlzYy5VUlNoaWZ0KGRhdGFbc2lkeCArIDFdLCA0KSAmIDMpKTtcclxuICAgICAgZGVzdFtkaWR4ICsgMV0gPSAoKChkYXRhW3NpZHggKyAxXSA8PCA0KSAmIDI1NSkgfCAoTWlzYy5VUlNoaWZ0KGRhdGFbc2lkeCArIDJdLCAyKSAmIDE1KSk7XHJcbiAgICAgIGRlc3RbZGlkeCArIDJdID0gKCgoZGF0YVtzaWR4ICsgMl0gPDwgNikgJiAyNTUpIHwgKGRhdGFbc2lkeCArIDNdICYgNjMpKTtcclxuICAgICAgc2lkeCA9IHNpZHggKyA0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkaWR4IDwgZGVzdC5sZW5ndGgpXHJcbiAgICAgIGRlc3RbZGlkeF0gPSAoKChkYXRhW3NpZHhdIDw8IDIpICYgMjU1KSB8IChNaXNjLlVSU2hpZnQoZGF0YVtzaWR4ICsgMV0sIDQpICYgMykpO1xyXG4gICAgaWYgKChkaWR4ID0gZGlkeCArIDEpIDwgZGVzdC5sZW5ndGgpXHJcbiAgICAgIGRlc3RbZGlkeF0gPSAoKChkYXRhW3NpZHggKyAxXSA8PCA0KSAmIDI1NSkgfCAoTWlzYy5VUlNoaWZ0KGRhdGFbc2lkeCArIDJdLCAyKSAmIDE1KSk7XHJcblxyXG4gICAgcmV0dXJuIGRlc3Q7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGRlY29kZWQgYW5kIHJldHVybiBhbiBoZXggcmVwcmVzZW50YXRpb24gb2YgdGhlIGRhdGE8L3N1bW1hcnk+XHJcbiAgc3RhdGljIGRlY29kZVRvSGV4KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChzdHIgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgaWYgKHN0ciA9PT0gXCJcIilcclxuICAgICAgcmV0dXJuIHN0cjtcclxuXHJcbiAgICByZXR1cm4gU3RyVXRpbC5zdHJpbmdUb0hleGFEdW1wKEJhc2U2NC5kZWNvZGUoc3RyKSwgMik7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGRlY29kZXMgYSBzdHJpbmcgdG8gYnl0ZSBhcnJheTwvc3VtbWFyeT5cclxuICBzdGF0aWMgZGVjb2RlVG9CeXRlKHN0cjogc3RyaW5nKTogVWludDhBcnJheSB7XHJcbiAgICBpZiAoc3RyID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAvLyBRQ1IgNzQwOTE4IGlmIHdlIGhhdmUgYW5kIGVtcHR5IGV4cHJlc3Npb24gaXQgaXMgc2VudCBmcm9tIHRoZSBzZXJ2ZXIgYXMgZW1wdHkgc3RyaW5nXHJcbiAgICAvLyBhbmQgY2hhbmdlZCBsb2NhbGx5IHRvIGEgc3RyaW5nIHdpdGggb25lIGJsYW5rIGVpdGhlciB3YXkgdGhleSBhcmUgbm90IHZhbGlkIGJhc2U2NCBlbmNvZGVkXHJcbiAgICAvLyBzdHJpbmcgYW5kIHNob3VsZCBub3QgYmUgZGVjb2RlZC5cclxuICAgIGlmIChzdHIgPT09IFwiXCIgfHwgc3RyID09PSBcIiBcIilcclxuICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGxldCBpbnN0YW5jZTogRW5jb2RpbmcgPSBJU09fODg1OV8xX0VuY29kaW5nLklTT184ODU5XzE7XHJcbiAgICAgIHJldHVybiBCYXNlNjQuZGVjb2RlQnl0ZXMoaW5zdGFuY2UuR2V0Qnl0ZXMoc3RyKSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXgpIHtcclxuICAgICAgdGhyb3cgbmV3IEFwcGxpY2F0aW9uRXhjZXB0aW9uKGV4Lk1lc3NhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgaW5pdGlhbGl6ZUVuY01hcCgpIHtcclxuICAgIHJldHVybiBuZXcgVWludDhBcnJheShbXHJcbiAgICAgIDY1LCA2NiwgNjcsIDY4LCA2OSwgNzAsIDcxLCA3MiwgNzMsIDc0LCA3NSwgNzYsIDc3LCA3OCwgNzksIDgwLCA4MSwgODIsIDgzLFxyXG4gICAgICA4NCwgODUsIDg2LCA4NywgODgsIDg5LCA5MCwgOTcsIDk4LCA5OSwgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwgMTA2LCAxMDcsIDEwOCwgMTA5LFxyXG4gICAgICAxMTAsIDExMSwgMTEyLCAxMTMsIDExNCwgMTE1LCAxMTYsIDExNywgMTE4LCAxMTksIDEyMCwgMTIxLCAxMjIsIDQ4LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDU0LFxyXG4gICAgICA1NSwgNTYsIDU3LCA0MywgNDdcclxuICAgIF0pO1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGluaXRpYWxpemVEZWNNYXAoKSB7XHJcbiAgICBsZXQgZGVjTWFwOiBVaW50OEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoMTI4KTtcclxuXHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgQmFzZTY0Ll9iYXNlNjRFbmNNYXAubGVuZ3RoOyBpID0gaSArIDEpIHtcclxuICAgICAgZGVjTWFwW0Jhc2U2NC5fYmFzZTY0RW5jTWFwW2ldXSA9IGk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRlY01hcDtcclxuICB9XHJcbn1cclxuIl19
@@ -1,79 +1,79 @@
1
- import { NString, StringBuilder } from "@magic-xpa/mscorelib";
2
- import { SEQ_2_STR, StrUtil } from "./StrUtil";
3
- export class ChoiceUtils {
4
- static GetDisplayListFromString(choiceDispStr, removeAccelerators, shouldMakePrintable, shouldTrimOptions) {
5
- let fromHelp = new Array("\\\\", "\\-", "\\,");
6
- let toHelp = new Array("XX", "XX", "XX");
7
- choiceDispStr = NString.TrimEnd(choiceDispStr);
8
- let helpStrDisp = StrUtil.searchAndReplace(choiceDispStr, fromHelp, toHelp);
9
- let sTok = StrUtil.tokenize(helpStrDisp, ",");
10
- let size = (helpStrDisp !== "" ? sTok.length : 0);
11
- let tokenBuffer;
12
- let helpTokenDisp, token;
13
- let currPosDisp = 0, nextPosDisp = 0, tokenPosDisp, i = 0;
14
- let choiceDisp = new Array(size);
15
- for (; i < size; i++) {
16
- nextPosDisp = currPosDisp;
17
- nextPosDisp = helpStrDisp.indexOf(',', nextPosDisp);
18
- if (nextPosDisp === currPosDisp)
19
- token = helpTokenDisp = "";
20
- else if (nextPosDisp === -1) {
21
- token = choiceDispStr.substr(currPosDisp);
22
- helpTokenDisp = helpStrDisp.substr(currPosDisp);
23
- }
24
- else {
25
- token = choiceDispStr.substr(currPosDisp, (nextPosDisp) - (currPosDisp));
26
- helpTokenDisp = helpStrDisp.substr(currPosDisp, (nextPosDisp) - (currPosDisp));
27
- }
28
- currPosDisp = nextPosDisp + 1;
29
- if (token != null) {
30
- token = StrUtil.ltrim(token);
31
- if (removeAccelerators)
32
- token = ChoiceUtils.RemoveAcclCharFromOptions(new StringBuilder(token));
33
- helpTokenDisp = StrUtil.ltrim(helpTokenDisp);
34
- if (removeAccelerators)
35
- helpTokenDisp = ChoiceUtils.RemoveAcclCharFromOptions(new StringBuilder(helpTokenDisp));
36
- }
37
- if (helpTokenDisp.indexOf('\\') >= 0) {
38
- tokenBuffer = new StringBuilder();
39
- for (; tokenPosDisp < helpTokenDisp.length; tokenPosDisp++)
40
- if (helpTokenDisp[tokenPosDisp] !== '\\')
41
- tokenBuffer.Append(token[tokenPosDisp]);
42
- else if (tokenPosDisp === helpTokenDisp.length - 1)
43
- tokenBuffer.Append(' ');
44
- token = tokenBuffer.ToString();
45
- }
46
- if (shouldMakePrintable) {
47
- token = StrUtil.makePrintableTokens(token, SEQ_2_STR);
48
- if (shouldTrimOptions) {
49
- let temp = NString.TrimEnd(token);
50
- if (temp.length === 0)
51
- choiceDisp[i] = " ";
52
- else
53
- choiceDisp[i] = NString.TrimEnd(token);
54
- }
55
- else
56
- choiceDisp[i] = token;
57
- }
58
- else
59
- choiceDisp[i] = token;
60
- }
61
- return choiceDisp;
62
- }
63
- static RemoveAcclCharFromOptions(OptionStr) {
64
- let i = 0;
65
- if (OptionStr != null) {
66
- for (; i < OptionStr.Length;) {
67
- if (OptionStr.get_Item(i) === '&') {
68
- if (i < OptionStr.Length - 1 && OptionStr.get_Item(i + 1) === ('&'))
69
- i++;
70
- OptionStr = OptionStr.Remove(i, 1);
71
- }
72
- else
73
- i++;
74
- }
75
- }
76
- return (OptionStr != null ? OptionStr.ToString() : null);
77
- }
78
- }
1
+ import { NString, StringBuilder } from "@magic-xpa/mscorelib";
2
+ import { SEQ_2_STR, StrUtil } from "./StrUtil";
3
+ export class ChoiceUtils {
4
+ static GetDisplayListFromString(choiceDispStr, removeAccelerators, shouldMakePrintable, shouldTrimOptions) {
5
+ let fromHelp = new Array("\\\\", "\\-", "\\,");
6
+ let toHelp = new Array("XX", "XX", "XX");
7
+ choiceDispStr = NString.TrimEnd(choiceDispStr);
8
+ let helpStrDisp = StrUtil.searchAndReplace(choiceDispStr, fromHelp, toHelp);
9
+ let sTok = StrUtil.tokenize(helpStrDisp, ",");
10
+ let size = (helpStrDisp !== "" ? sTok.length : 0);
11
+ let tokenBuffer;
12
+ let helpTokenDisp, token;
13
+ let currPosDisp = 0, nextPosDisp = 0, tokenPosDisp, i = 0;
14
+ let choiceDisp = new Array(size);
15
+ for (; i < size; i++) {
16
+ nextPosDisp = currPosDisp;
17
+ nextPosDisp = helpStrDisp.indexOf(',', nextPosDisp);
18
+ if (nextPosDisp === currPosDisp)
19
+ token = helpTokenDisp = "";
20
+ else if (nextPosDisp === -1) {
21
+ token = choiceDispStr.substr(currPosDisp);
22
+ helpTokenDisp = helpStrDisp.substr(currPosDisp);
23
+ }
24
+ else {
25
+ token = choiceDispStr.substr(currPosDisp, (nextPosDisp) - (currPosDisp));
26
+ helpTokenDisp = helpStrDisp.substr(currPosDisp, (nextPosDisp) - (currPosDisp));
27
+ }
28
+ currPosDisp = nextPosDisp + 1;
29
+ if (token != null) {
30
+ token = StrUtil.ltrim(token);
31
+ if (removeAccelerators)
32
+ token = ChoiceUtils.RemoveAcclCharFromOptions(new StringBuilder(token));
33
+ helpTokenDisp = StrUtil.ltrim(helpTokenDisp);
34
+ if (removeAccelerators)
35
+ helpTokenDisp = ChoiceUtils.RemoveAcclCharFromOptions(new StringBuilder(helpTokenDisp));
36
+ }
37
+ if (helpTokenDisp.indexOf('\\') >= 0) {
38
+ tokenBuffer = new StringBuilder();
39
+ for (; tokenPosDisp < helpTokenDisp.length; tokenPosDisp++)
40
+ if (helpTokenDisp[tokenPosDisp] !== '\\')
41
+ tokenBuffer.Append(token[tokenPosDisp]);
42
+ else if (tokenPosDisp === helpTokenDisp.length - 1)
43
+ tokenBuffer.Append(' ');
44
+ token = tokenBuffer.ToString();
45
+ }
46
+ if (shouldMakePrintable) {
47
+ token = StrUtil.makePrintableTokens(token, SEQ_2_STR);
48
+ if (shouldTrimOptions) {
49
+ let temp = NString.TrimEnd(token);
50
+ if (temp.length === 0)
51
+ choiceDisp[i] = " ";
52
+ else
53
+ choiceDisp[i] = NString.TrimEnd(token);
54
+ }
55
+ else
56
+ choiceDisp[i] = token;
57
+ }
58
+ else
59
+ choiceDisp[i] = token;
60
+ }
61
+ return choiceDisp;
62
+ }
63
+ static RemoveAcclCharFromOptions(OptionStr) {
64
+ let i = 0;
65
+ if (OptionStr != null) {
66
+ for (; i < OptionStr.Length;) {
67
+ if (OptionStr.get_Item(i) === '&') {
68
+ if (i < OptionStr.Length - 1 && OptionStr.get_Item(i + 1) === ('&'))
69
+ i++;
70
+ OptionStr = OptionStr.Remove(i, 1);
71
+ }
72
+ else
73
+ i++;
74
+ }
75
+ }
76
+ return (OptionStr != null ? OptionStr.ToString() : null);
77
+ }
78
+ }
79
79
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hvaWNlVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9zcmMvQ2hvaWNlVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUU3QyxNQUFNLE9BQU8sV0FBVztJQWN0QixNQUFNLENBQUMsd0JBQXdCLENBQUMsYUFBcUIsRUFBRSxrQkFBMkIsRUFBRSxtQkFBNEIsRUFBRSxpQkFBMEI7UUFDMUksSUFBSSxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxJQUFJLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pDLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLElBQUksV0FBVyxHQUFXLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BGLElBQUksSUFBSSxHQUFhLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELElBQUksSUFBSSxHQUFXLENBQUMsV0FBVyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsSUFBSSxXQUEwQixDQUFDO1FBQy9CLElBQUksYUFBcUIsRUFBRSxLQUFhLENBQUM7UUFDekMsSUFBSSxXQUFXLEdBQVcsQ0FBQyxFQUFFLFdBQVcsR0FBRyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFD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eUJBQXlCLENBQUMsU0FBd0I7UUFDdkQsSUFBSSxDQUFDLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksU0FBUyxJQUFJLElBQUksRUFBRTtZQUNyQixPQUFPLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHO2dCQUM1QixJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFO29CQUNqQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzt3QkFDakUsQ0FBQyxFQUFFLENBQUM7b0JBQ04sU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUNwQzs7b0JBQ0ksQ0FBQyxFQUFFLENBQUM7YUFDVjtTQUNGO1FBQ0QsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOU3RyaW5nLCBTdHJpbmdCdWlsZGVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtTRVFfMl9TVFIsIFN0clV0aWx9IGZyb20gXCIuL1N0clV0aWxcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBDaG9pY2VVdGlscyB7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBpbml0IHRoZSBkaXNwbGF5IFZhbHVlIGZyb20gc3RyaW5nXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNob2ljZURpc3BTdHJcIj50aGUgYWxsIHN1YnN0cmluZyBzZXBhcmF0ZWQgd2l0aCBjb21tYS5cclxuICAvLy8gICBUaGUgYmVoYXZpb3I6XHJcbiAgLy8vICAgYS4gd2hlbiBoYXZlIFwiXFxcIiBiZWZvcmUgY2hhciBhLXogbmVlZCB0byBpZ25vcmUgdGhlIFxcIHB1dCB0aGUgYS16IGNoYXJcclxuICAvLy8gICBiLiB3aGVuIFwiXFwsXCIgLT4gXCIsXCJcclxuICAvLy8gICBjLiB3aGVuIFwiXFwtXCIgLT4gXCItXCJcclxuICAvLy8gICBkLiB3aGVuIFwiXFxcXFwiIC0+IFwiXFxcIlxyXG4gIC8vLyAgIGUuIHdoZW4gXCJcXFxcXFxcXFwiIC0+IFwiXFxcXFwiXHJcbiAgLy8vICAgdGhlIGRpc3BsYXkgY2FuIGJlIGFsbCBzdHJpbmcuIGFuZCB3ZSBkb24ndCBuZWVkIHRvIGNoZWNrIHZhbGlkYXRpb24gYWNjb3JkaW5nIHRvIHRoZSBkYXRhVHlwZShhcyB3ZSBkbyBpbiBMaW5rXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgc3RhdGljIEdldERpc3BsYXlMaXN0RnJvbVN0cmluZyhjaG9pY2VEaXNwU3RyOiBzdHJpbmcsIHJlbW92ZUFjY2VsZXJhdG9yczogYm9vbGVhbiwgc2hvdWxkTWFrZVByaW50YWJsZTogYm9vbGVhbiwgc2hvdWxkVHJpbU9wdGlvbnM6IGJvb2xlYW4pOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgZnJvbUhlbHAgPSBuZXcgQXJyYXkoXCJcXFxcXFxcXFwiLCBcIlxcXFwtXCIsIFwiXFxcXCxcIik7XHJcbiAgICBsZXQgdG9IZWxwID0gbmV3IEFycmF5KFwiWFhcIiwgXCJYWFwiLCBcIlhYXCIpO1xyXG4gICAgY2hvaWNlRGlzcFN0ciA9IE5TdHJpbmcuVHJpbUVuZChjaG9pY2VEaXNwU3RyKTtcclxuICAgIGxldCBoZWxwU3RyRGlzcDogc3RyaW5nID0gU3RyVXRpbC5zZWFyY2hBbmRSZXBsYWNlKGNob2ljZURpc3BTdHIsIGZyb21IZWxwLCB0b0hlbHApO1xyXG4gICAgbGV0IHNUb2s6IFN0cmluZ1tdID0gU3RyVXRpbC50b2tlbml6ZShoZWxwU3RyRGlzcCwgXCIsXCIpO1xyXG4gICAgbGV0IHNpemU6IG51bWJlciA9IChoZWxwU3RyRGlzcCAhPT0gXCJcIiA/IHNUb2subGVuZ3RoIDogMCk7XHJcbiAgICBsZXQgdG9rZW5CdWZmZXI6IFN0cmluZ0J1aWxkZXI7XHJcbiAgICBsZXQgaGVscFRva2VuRGlzcDogc3RyaW5nLCB0b2tlbjogc3RyaW5nO1xyXG4gICAgbGV0IGN1cnJQb3NEaXNwOiBudW1iZXIgPSAwLCBuZXh0UG9zRGlzcCA9IDAsIHRva2VuUG9zRGlzcCwgaSA9IDA7XHJcbiAgICBsZXQgY2hvaWNlRGlzcCA9IG5ldyBBcnJheShzaXplKTtcclxuICAgIGZvciAoOyBpIDwgc2l6ZTsgaSsrKSB7XHJcbiAgICAgIG5leHRQb3NEaXNwID0gY3VyclBvc0Rpc3A7XHJcbiAgICAgIG5leHRQb3NEaXNwID0gaGVscFN0ckRpc3AuaW5kZXhPZignLCcsIG5leHRQb3NEaXNwKTtcclxuICAgICAgaWYgKG5leHRQb3NEaXNwID09PSBjdXJyUG9zRGlzcClcclxuICAgICAgICB0b2tlbiA9IGhlbHBUb2tlbkRpc3AgPSBcIlwiO1xyXG4gICAgICBlbHNlIGlmIChuZXh0UG9zRGlzcCA9PT0gLTEpIHtcclxuICAgICAgICB0b2tlbiA9IGNob2ljZURpc3BTdHIuc3Vic3RyKGN1cnJQb3NEaXNwKTtcclxuICAgICAgICBoZWxwVG9rZW5EaXNwID0gaGVscFN0ckRpc3Auc3Vic3RyKGN1cnJQb3NEaXNwKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0b2tlbiA9IGNob2ljZURpc3BTdHIuc3Vic3RyKGN1cnJQb3NEaXNwLCAobmV4dFBvc0Rpc3ApIC0gKGN1cnJQb3NEaXNwKSk7XHJcbiAgICAgICAgaGVscFRva2VuRGlzcCA9IGhlbHBTdHJEaXNwLnN1YnN0cihjdXJyUG9zRGlzcCwgKG5leHRQb3NEaXNwKSAtIChjdXJyUG9zRGlzcCkpO1xyXG4gICAgICB9XHJcbiAgICAgIGN1cnJQb3NEaXNwID0gbmV4dFBvc0Rpc3AgKyAxO1xyXG4gICAgICBpZiAodG9rZW4gIT0gbnVsbCkge1xyXG4gICAgICAgIHRva2VuID0gU3RyVXRpbC5sdHJpbSh0b2tlbik7XHJcbiAgICAgICAgaWYgKHJlbW92ZUFjY2VsZXJhdG9ycylcclxuICAgICAgICAgIHRva2VuID0gQ2hvaWNlVXRpbHMuUmVtb3ZlQWNjbENoYXJGcm9tT3B0aW9ucyhuZXcgU3RyaW5nQnVpbGRlcih0b2tlbikpO1xyXG4gICAgICAgIGhlbHBUb2tlbkRpc3AgPSBTdHJVdGlsLmx0cmltKGhlbHBUb2tlbkRpc3ApO1xyXG4gICAgICAgIGlmIChyZW1vdmVBY2NlbGVyYXRvcnMpXHJcbiAgICAgICAgICBoZWxwVG9rZW5EaXNwID0gQ2hvaWNlVXRpbHMuUmVtb3ZlQWNjbENoYXJGcm9tT3B0aW9ucyhuZXcgU3RyaW5nQnVpbGRlcihoZWxwVG9rZW5EaXNwKSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGhlbHBUb2tlbkRpc3AuaW5kZXhPZignXFxcXCcpID49IDApIHtcclxuICAgICAgICB0b2tlbkJ1ZmZlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcbiAgICAgICAgZm9yICg7IHRva2VuUG9zRGlzcCA8IGhlbHBUb2tlbkRpc3AubGVuZ3RoOyB0b2tlblBvc0Rpc3ArKylcclxuICAgICAgICAgIGlmIChoZWxwVG9rZW5EaXNwW3Rva2VuUG9zRGlzcF0gIT09ICdcXFxcJylcclxuICAgICAgICAgICAgdG9rZW5CdWZmZXIuQXBwZW5kKHRva2VuW3Rva2VuUG9zRGlzcF0pO1xyXG4gICAgICAgICAgZWxzZSBpZiAodG9rZW5Qb3NEaXNwID09PSBoZWxwVG9rZW5EaXNwLmxlbmd0aCAtIDEpXHJcbiAgICAgICAgICAgIHRva2VuQnVmZmVyLkFwcGVuZCgnICcpO1xyXG4gICAgICAgIHRva2VuID0gdG9rZW5CdWZmZXIuVG9TdHJpbmcoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoc2hvdWxkTWFrZVByaW50YWJsZSkge1xyXG4gICAgICAgIHRva2VuID0gU3RyVXRpbC5tYWtlUHJpbnRhYmxlVG9rZW5zKHRva2VuLCBTRVFfMl9TVFIpO1xyXG4gICAgICAgIGlmIChzaG91bGRUcmltT3B0aW9ucykge1xyXG4gICAgICAgICAgbGV0IHRlbXA6IHN0cmluZyA9IE5TdHJpbmcuVHJpbUVuZCh0b2tlbik7XHJcbiAgICAgICAgICBpZiAodGVtcC5sZW5ndGggPT09IDApXHJcbiAgICAgICAgICAgIGNob2ljZURpc3BbaV0gPSBcIiBcIjtcclxuICAgICAgICAgIGVsc2UgY2hvaWNlRGlzcFtpXSA9IE5TdHJpbmcuVHJpbUVuZCh0b2tlbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgY2hvaWNlRGlzcFtpXSA9IHRva2VuO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgY2hvaWNlRGlzcFtpXSA9IHRva2VuO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNob2ljZURpc3A7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgUmVtb3ZlQWNjbENoYXJGcm9tT3B0aW9ucyhPcHRpb25TdHI6IFN0cmluZ0J1aWxkZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IGk6IG51bWJlciA9IDA7XHJcbiAgICBpZiAoT3B0aW9uU3RyICE9IG51bGwpIHtcclxuICAgICAgZm9yICg7IGkgPCBPcHRpb25TdHIuTGVuZ3RoOykge1xyXG4gICAgICAgIGlmIChPcHRpb25TdHIuZ2V0X0l0ZW0oaSkgPT09ICcmJykge1xyXG4gICAgICAgICAgaWYgKGkgPCBPcHRpb25TdHIuTGVuZ3RoIC0gMSAmJiBPcHRpb25TdHIuZ2V0X0l0ZW0oaSArIDEpID09PSAoJyYnKSlcclxuICAgICAgICAgICAgaSsrO1xyXG4gICAgICAgICAgT3B0aW9uU3RyID0gT3B0aW9uU3RyLlJlbW92ZShpLCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpKys7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiAoT3B0aW9uU3RyICE9IG51bGwgPyBPcHRpb25TdHIuVG9TdHJpbmcoKSA6IG51bGwpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,74 @@
1
+ import { Int32 } from "@magic-xpa/mscorelib";
2
+ export class Constants {
3
+ static NULL_ARITH_NULLIFY = 'N';
4
+ static NULL_ARITH_USE_DEF = 'U';
5
+ static SELPRG_MODE_BEFORE = 'B';
6
+ static SELPRG_MODE_AFTER = 'A';
7
+ static SELPRG_MODE_PROMPT = 'P';
8
+ static MOVE_UNIT_TABLE = 'T';
9
+ static MOVE_UNIT_PAGE = 'P';
10
+ static MOVE_UNIT_ROW = 'R';
11
+ static MOVE_UNIT_TREE_NODE = 'E';
12
+ static MOVE_DIRECTION_NONE = ' ';
13
+ static MOVE_DIRECTION_BEGIN = 'B';
14
+ static MOVE_DIRECTION_PREV = 'P';
15
+ static MOVE_DIRECTION_NEXT = 'N';
16
+ static MOVE_DIRECTION_END = 'E';
17
+ static MOVE_DIRECTION_PARENT = 'A';
18
+ static MOVE_DIRECTION_FIRST_SON = 'F';
19
+ static MOVE_DIRECTION_NEXT_SIBLING = 'X';
20
+ static MOVE_DIRECTION_PREV_SIBLING = 'V';
21
+ static TASK_REFRESH_FORM = 'F';
22
+ static TASK_REFRESH_TABLE = 'T';
23
+ static TASK_REFRESH_TREE_AND_FORM = 'R';
24
+ static TASK_REFRESH_CURR_REC = 'C';
25
+ static TASK_REFRESH_NONE = 'N';
26
+ static TASK_MODE_QUERY = 'E';
27
+ static TASK_MODE_MODIFY = 'M';
28
+ static TASK_MODE_CREATE = 'C';
29
+ static TASK_MODE_DELETE = 'D';
30
+ static TASK_MODE_NONE = ' ';
31
+ static TASK_LEVEL_NONE = ' ';
32
+ static TASK_LEVEL_TASK = 'T';
33
+ static TASK_LEVEL_RECORD = 'R';
34
+ static TASK_LEVEL_CONTROL = 'C';
35
+ static MG_DATAVIEW_FIRST_RECORD = Int32.MinValue;
36
+ static MG_DATAVIEW_LAST_RECORD = Int32.MaxValue;
37
+ static ACT_STT_TBL_SCREEN_MODE = 0x0001;
38
+ static ACT_STT_TBL_LEFT_TO_RIGHT = 0x0002;
39
+ static ACT_STT_TBL_SCREEN_TOP = 0x0004;
40
+ static ACT_STT_TBL_SCREEN_END = 0x0008;
41
+ static ACT_STT_TBL_ROW_START = 0x0010;
42
+ static ACT_STT_TBL_ROW_END = 0x0020;
43
+ static ACT_STT_EDT_LEFT_TO_RIGHT = 0x0040;
44
+ static ACT_STT_EDT_FORM_TOP = 0x0080;
45
+ static ACT_STT_EDT_FORM_END = 0x0100;
46
+ static ACT_STT_EDT_LINE_START = 0x0200;
47
+ static ACT_STT_EDT_LINE_END = 0x0400;
48
+ static ACT_STT_EDT_EDITING = 0x0800;
49
+ static ACT_STT_TREE_PARK = 0x1000;
50
+ static ACT_STT_TREE_EDITING = 0x2000;
51
+ static ForwardSlashWebUsage = "web";
52
+ static HTTP_PROTOCOL = "http://";
53
+ static HTTPS_PROTOCOL = "https://";
54
+ static FILE_PROTOCOL = "file://";
55
+ static MG_GUI_THREAD = "MG_GUI_THREAD";
56
+ static MG_WORK_THREAD = "MG_WORK_THREAD";
57
+ static MG_TIMER_THREAD = "MG_TIMER_THREAD";
58
+ static ConfigurationFilePropertyName = "Configuration file";
59
+ static WinPropText = "Text";
60
+ static WinPropLayer = "Layer";
61
+ static WinPropX1 = "X1";
62
+ static WinPropX2 = "X2";
63
+ static WinPropY1 = "Y1";
64
+ static WinPropY2 = "Y2";
65
+ static WinPropIsTransparent = "IsTransparent";
66
+ static WinPropName = "Name";
67
+ static WinPropVisible = "Visible";
68
+ static WinPropVisibleLayerList = "VisibleLayerList";
69
+ static TabOrderPropertyTermination = "ForTabOrder";
70
+ static SByteMaxValue = 127;
71
+ constructor() {
72
+ }
73
+ }
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXRpbHMvc3JjL0NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHM0MsTUFBTSxPQUFPLFNBQVM7SUFFcEIsTUFBTSxDQUFVLGtCQUFrQixHQUFXLEdBQUcsQ0FBQztJQUNqRCxNQUFNLENBQVUsa0JBQWtCLEdBQVcsR0FBRyxDQUFDO0lBR2pELE1BQU0sQ0FBVSxrQkFBa0IsR0FBVyxHQUFHLENBQUM7SUFDakQsTUFBTSxDQUFVLGlCQUFpQixHQUFXLEdBQUcsQ0FBQztJQUNoRCxNQUFNLENBQVUsa0JBQWtCLEdBQVcsR0FBRyxDQUFDO0lBR2pELE1BQU0sQ0FBVSxlQUFlLEdBQVcsR0FBRyxDQUFDO0lBQzlDLE1BQU0sQ0FBVSxjQUFjLEdBQVcsR0FBRyxDQUFDO0lBQzdDLE1BQU0sQ0FBVSxhQUFhLEdBQVcsR0FBRyxDQUFDO0lBQzVDLE1BQU0sQ0FBVSxtQkFBbUIsR0FBVyxHQUFHLENBQUM7SUFFbEQsTUFBTSxDQUFVLG1CQUFtQixHQUFXLEdBQUcsQ0FBQztJQUNsRCxNQUFNLENBQVUsb0JBQW9CLEdBQVcsR0FBRyxDQUFDO0lBQ25ELE1BQU0sQ0FBVSxtQkFBbUIsR0FBVyxHQUFHLENBQUM7SUFDbEQsTUFBTSxDQUFVLG1CQUFtQixHQUFXLEdBQUcsQ0FBQztJQUNsRCxNQUFNLENBQVUsa0JBQWtCLEdBQVcsR0FBRyxDQUFDO0lBQ2pELE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyxHQUFHLENBQUM7SUFDcEQsTUFBTSxDQUFVLHdCQUF3QixHQUFXLEdBQUcsQ0FBQztJQUN2RCxNQUFNLENBQVUsMkJBQTJCLEdBQVcsR0FBRyxDQUFDO0lBQzFELE1BQU0sQ0FBVSwyQkFBMkIsR0FBVyxHQUFHLENBQUM7SUFHMUQsTUFBTSxDQUFVLGlCQUFpQixH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QU0sQ0FBVSwyQkFBMkIsR0FBVyxhQUFhLENBQUM7SUFFcEUsTUFBTSxDQUFVLGFBQWEsR0FBRyxHQUFHLENBQUM7SUFFcEM7SUFFQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbnQzMn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcblxyXG4vL1RoaXMgY2xhc3MgY29udGFpbnMgYWxsIHRoZSBjb25zdGFudHMgd2hpY2ggYXJlIHVzZWQgaW4gTWd4cGFSSUEuZXhlIGFzIHdlbGwgYXMgaW4gTWdHdWkuZGxsLlxyXG5leHBvcnQgY2xhc3MgQ29uc3RhbnRzIHtcclxuICAvLy8gPHN1bW1hcnk+IE51bGwgQXJpdGhtZXRpYyB2YWx1ZXM8L3N1bW1hcnk+XHJcbiAgc3RhdGljIHJlYWRvbmx5IE5VTExfQVJJVEhfTlVMTElGWTogc3RyaW5nID0gJ04nO1xyXG4gIHN0YXRpYyByZWFkb25seSBOVUxMX0FSSVRIX1VTRV9ERUY6IHN0cmluZyA9ICdVJztcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBzZWxlY3QgcHJvZ3JhbSA6IHNlbGVjdCBtb2RlIHByb3BlcnR5PC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyByZWFkb25seSBTRUxQUkdfTU9ERV9CRUZPUkU6IHN0cmluZyA9ICdCJztcclxuICBzdGF0aWMgcmVhZG9ubHkgU0VMUFJHX01PREVfQUZURVI6IHN0cmluZyA9ICdBJztcclxuICBzdGF0aWMgcmVhZG9ubHkgU0VMUFJHX01PREVfUFJPTVBUOiBzdHJpbmcgPSAnUCc7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gbW92ZSBpbiBWaWV3PC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyByZWFkb25seSBNT1ZFX1VOSVRfVEFCTEU6IHN0cmluZyA9ICdUJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9VTklUX1BBR0U6IHN0cmluZyA9ICdQJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9VTklUX1JPVzogc3RyaW5nID0gJ1InO1xyXG4gIHN0YXRpYyByZWFkb25seSBNT1ZFX1VOSVRfVFJFRV9OT0RFOiBzdHJpbmcgPSAnRSc7XHJcblxyXG4gIHN0YXRpYyByZWFkb25seSBNT1ZFX0RJUkVDVElPTl9OT05FOiBzdHJpbmcgPSAnICc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfRElSRUNUSU9OX0JFR0lOOiBzdHJpbmcgPSAnQic7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfRElSRUNUSU9OX1BSRVY6IHN0cmluZyA9ICdQJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9ESVJFQ1RJT05fTkVYVDogc3RyaW5nID0gJ04nO1xyXG4gIHN0YXRpYyByZWFkb25seSBNT1ZFX0RJUkVDVElPTl9FTkQ6IHN0cmluZyA9ICdFJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9ESVJFQ1RJT05fUEFSRU5UOiBzdHJpbmcgPSAnQSc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfRElSRUNUSU9OX0ZJUlNUX1NPTjogc3RyaW5nID0gJ0YnO1xyXG4gIHN0YXRpYyByZWFkb25seSBNT1ZFX0RJUkVDVElPTl9ORVhUX1NJQkxJTkc6IHN0cmluZyA9ICdYJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9ESVJFQ1RJT05fUFJFVl9TSUJMSU5HOiBzdHJpbmcgPSAnVic7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gcmVmcmVzaCB0eXBlcyBmb3IgYSB0YXNrIGZvcm08L3N1bW1hcnk+XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfUkVGUkVTSF9GT1JNOiBzdHJpbmcgPSAnRic7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfUkVGUkVTSF9UQUJMRTogc3RyaW5nID0gJ1QnO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX1JFRlJFU0hfVFJFRV9BTkRfRk9STTogc3RyaW5nID0gJ1InO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX1JFRlJFU0hfQ1VSUl9SRUM6IHN0cmluZyA9ICdDJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19SRUZSRVNIX05PTkU6IHN0cmluZyA9ICdOJztcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfTU9ERV9RVUVSWTogc3RyaW5nID0gJ0UnO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX01PREVfTU9ESUZZOiBzdHJpbmcgPSAnTSc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfTU9ERV9DUkVBVEU6IHN0cmluZyA9ICdDJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19NT0RFX0RFTEVURTogc3RyaW5nID0gJ0QnO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX01PREVfTk9ORSA9ICcgJztcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiB0YXNrIGxldmVsPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX0xFVkVMX05PTkU6IHN0cmluZyA9ICcgJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19MRVZFTF9UQVNLOiBzdHJpbmcgPSAnVCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfTEVWRUxfUkVDT1JEOiBzdHJpbmcgPSAnUic7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfTEVWRUxfQ09OVFJPTDogc3RyaW5nID0gJ0MnO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IHNwZWNpYWwgcmVjb3JkcyBjb25zdGFudHM8L3N1bW1hcnk+XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0RBVEFWSUVXX0ZJUlNUX1JFQ09SRDogbnVtYmVyID0gSW50MzIuTWluVmFsdWU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0RBVEFWSUVXX0xBU1RfUkVDT1JEOiBudW1iZXIgPSBJbnQzMi5NYXhWYWx1ZTtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBhY3Rpb24gc3RhdGVzIGZvciBrZXlib2FyZCBtYXBwaW5nPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX1RCTF9TQ1JFRU5fTU9ERTogbnVtYmVyID0gMHgwMDAxO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX1RCTF9MRUZUX1RPX1JJR0hUOiBudW1iZXIgPSAweDAwMDI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfVEJMX1NDUkVFTl9UT1A6IG51bWJlciA9IDB4MDAwNDtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UQkxfU0NSRUVOX0VORDogbnVtYmVyID0gMHgwMDA4O1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX1RCTF9ST1dfU1RBUlQ6IG51bWJlciA9IDB4MDAxMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UQkxfUk9XX0VORDogbnVtYmVyID0gMHgwMDIwO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX0VEVF9MRUZUX1RPX1JJR0hUOiBudW1iZXIgPSAweDAwNDA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfRURUX0ZPUk1fVE9QOiBudW1iZXIgPSAweDAwODA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfRURUX0ZPUk1fRU5EOiBudW1iZXIgPSAweDAxMDA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfRURUX0xJTkVfU1RBUlQ6IG51bWJlciA9IDB4MDIwMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9FRFRfTElORV9FTkQ6IG51bWJlciA9IDB4MDQwMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9FRFRfRURJVElORzogbnVtYmVyID0gMHgwODAwO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX1RSRUVfUEFSSzogbnVtYmVyID0gMHgxMDAwO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX1RSRUVfRURJVElORzogbnVtYmVyID0gMHgyMDAwO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgRm9yd2FyZFNsYXNoV2ViVXNhZ2U6IHN0cmluZyA9IFwid2ViXCI7IC8vIHJlZmVyIHRvIGEgZm9yd2FyZCBzbGFzaCBhcyBhIHJlbGF0aXZlIHdlYiB1cmwuXHJcbiAgc3RhdGljIHJlYWRvbmx5IEhUVFBfUFJPVE9DT0w6IHN0cmluZyA9IFwiaHR0cDovL1wiO1xyXG4gIHN0YXRpYyByZWFkb25seSBIVFRQU19QUk9UT0NPTDogc3RyaW5nID0gXCJodHRwczovL1wiO1xyXG4gIHN0YXRpYyByZWFkb25seSBGSUxFX1BST1RPQ09MOiBzdHJpbmcgPSBcImZpbGU6Ly9cIjtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PnRocmVhZHMgY29uc3RhbnRzPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyByZWFkb25seSBNR19HVUlfVEhSRUFEOiBzdHJpbmcgPSBcIk1HX0dVSV9USFJFQURcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfV09SS19USFJFQUQ6IHN0cmluZyA9IFwiTUdfV09SS19USFJFQURcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfVElNRVJfVEhSRUFEOiBzdHJpbmcgPSBcIk1HX1RJTUVSX1RIUkVBRFwiO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHByb3BlcnR5IG5hbWUgZm9yIHRoZSBydW50aW1lIGRlc2lnbmVyXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgQ29uZmlndXJhdGlvbkZpbGVQcm9wZXJ0eU5hbWU6IHN0cmluZyA9IFwiQ29uZmlndXJhdGlvbiBmaWxlXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFdpblByb3BUZXh0OiBzdHJpbmcgPSBcIlRleHRcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgV2luUHJvcExheWVyOiBzdHJpbmcgPSBcIkxheWVyXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFdpblByb3BYMTogc3RyaW5nID0gXCJYMVwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wWDI6IHN0cmluZyA9IFwiWDJcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgV2luUHJvcFkxOiBzdHJpbmcgPSBcIlkxXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFdpblByb3BZMjogc3RyaW5nID0gXCJZMlwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wSXNUcmFuc3BhcmVudDogc3RyaW5nID0gXCJJc1RyYW5zcGFyZW50XCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFdpblByb3BOYW1lOiBzdHJpbmcgPSBcIk5hbWVcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgV2luUHJvcFZpc2libGU6IHN0cmluZyA9IFwiVmlzaWJsZVwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wVmlzaWJsZUxheWVyTGlzdDogc3RyaW5nID0gXCJWaXNpYmxlTGF5ZXJMaXN0XCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRhYk9yZGVyUHJvcGVydHlUZXJtaW5hdGlvbjogc3RyaW5nID0gXCJGb3JUYWJPcmRlclwiO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgU0J5dGVNYXhWYWx1ZSA9IDEyNztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gIH1cclxufVxyXG4iXX0=