surgio 2.25.3 → 3.0.0-alpha.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 (182) hide show
  1. package/bin/dev +17 -0
  2. package/bin/dev.cmd +3 -0
  3. package/bin/run +8 -0
  4. package/bin/run.cmd +3 -0
  5. package/build/base-command.d.ts +18 -0
  6. package/build/base-command.js +74 -0
  7. package/build/commands/check.d.ts +10 -0
  8. package/build/commands/check.js +88 -0
  9. package/build/commands/clean-cache.d.ts +6 -0
  10. package/build/commands/clean-cache.js +29 -0
  11. package/build/commands/doctor.d.ts +6 -0
  12. package/build/commands/doctor.js +21 -0
  13. package/build/commands/generate.d.ts +7 -0
  14. package/build/commands/generate.js +93 -0
  15. package/build/commands/lint.d.ts +6 -0
  16. package/build/commands/lint.js +36 -0
  17. package/build/commands/new.d.ts +6 -0
  18. package/build/commands/new.js +36 -0
  19. package/build/commands/subscriptions.d.ts +7 -0
  20. package/build/commands/subscriptions.js +96 -0
  21. package/build/commands/upload.d.ts +6 -0
  22. package/build/commands/upload.js +87 -0
  23. package/build/config.d.ts +6 -0
  24. package/build/config.js +151 -0
  25. package/build/constant/constant.d.ts +17 -16
  26. package/build/constant/constant.js +3 -2
  27. package/build/constant/env.js +1 -1
  28. package/build/constant/error.js +1 -1
  29. package/build/constant/index.js +1 -1
  30. package/build/generate.d.ts +0 -1
  31. package/build/generate.js +3 -65
  32. package/build/generator/artifact.d.ts +299 -64
  33. package/build/generator/artifact.js +90 -92
  34. package/build/generator/index.d.ts +2 -0
  35. package/build/generator/index.js +19 -0
  36. package/build/generator/template.js +2 -6
  37. package/build/hooks/init.d.ts +3 -0
  38. package/build/hooks/init.js +32 -0
  39. package/build/index.d.ts +55 -53
  40. package/build/index.js +13 -51
  41. package/build/internal.d.ts +4 -0
  42. package/build/internal.js +21 -0
  43. package/build/misc/deprecation.d.ts +1 -6
  44. package/build/misc/deprecation.js +1 -8
  45. package/build/misc/flag_cn.js +1 -1
  46. package/build/provider/BlackSSLProvider.d.ts +4 -3
  47. package/build/provider/BlackSSLProvider.js +24 -16
  48. package/build/provider/ClashProvider.d.ts +7 -10
  49. package/build/provider/ClashProvider.js +165 -76
  50. package/build/provider/CustomProvider.d.ts +4 -3
  51. package/build/provider/CustomProvider.js +81 -50
  52. package/build/provider/Provider.d.ts +9 -22
  53. package/build/provider/Provider.js +31 -69
  54. package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +4 -5
  55. package/build/provider/ShadowsocksJsonSubscribeProvider.js +27 -21
  56. package/build/provider/ShadowsocksSubscribeProvider.d.ts +5 -8
  57. package/build/provider/ShadowsocksSubscribeProvider.js +30 -27
  58. package/build/provider/ShadowsocksrSubscribeProvider.d.ts +5 -8
  59. package/build/provider/ShadowsocksrSubscribeProvider.js +30 -23
  60. package/build/provider/SsdProvider.d.ts +5 -8
  61. package/build/provider/SsdProvider.js +56 -39
  62. package/build/provider/TrojanProvider.d.ts +5 -8
  63. package/build/provider/TrojanProvider.js +37 -30
  64. package/build/provider/V2rayNSubscribeProvider.d.ts +4 -5
  65. package/build/provider/V2rayNSubscribeProvider.js +61 -33
  66. package/build/provider/index.d.ts +16 -2
  67. package/build/provider/index.js +12 -5
  68. package/build/provider/types.d.ts +10 -1
  69. package/build/provider/types.js +1 -1
  70. package/build/redis.js +1 -1
  71. package/build/types.d.ts +45 -236
  72. package/build/types.js +2 -1
  73. package/build/utils/cache.js +29 -27
  74. package/build/utils/clash.d.ts +204 -3
  75. package/build/utils/clash.js +247 -110
  76. package/build/utils/configurables.d.ts +71 -0
  77. package/build/utils/configurables.js +8 -0
  78. package/build/utils/constant.js +1 -1
  79. package/build/utils/dns.js +1 -1
  80. package/build/utils/doctor.d.ts +2 -0
  81. package/build/utils/doctor.js +38 -0
  82. package/build/utils/env-flag.js +2 -2
  83. package/build/utils/error-helper.d.ts +2 -2
  84. package/build/utils/error-helper.js +30 -16
  85. package/build/utils/filter.d.ts +46 -43
  86. package/build/utils/filter.js +51 -30
  87. package/build/utils/flag.js +1 -1
  88. package/build/utils/http-client.js +38 -5
  89. package/build/utils/index.d.ts +13 -21
  90. package/build/utils/index.js +98 -117
  91. package/build/utils/linter.js +5 -2
  92. package/build/utils/loon.d.ts +3 -2
  93. package/build/utils/loon.js +67 -5
  94. package/build/utils/quantumult.d.ts +3 -3
  95. package/build/utils/quantumult.js +190 -258
  96. package/build/utils/relayable-url.js +1 -1
  97. package/build/utils/remote-snippet.js +3 -4
  98. package/build/utils/ss.js +27 -17
  99. package/build/utils/ssr.js +3 -4
  100. package/build/utils/subscription.js +7 -7
  101. package/build/utils/surfboard.d.ts +3 -2
  102. package/build/utils/surfboard.js +142 -126
  103. package/build/utils/surge.d.ts +4 -2
  104. package/build/utils/surge.js +328 -300
  105. package/build/utils/time.d.ts +1 -0
  106. package/build/utils/time.js +6 -0
  107. package/build/utils/tmp-helper.js +8 -1
  108. package/build/utils/trojan.js +19 -11
  109. package/build/utils/v2ray.js +2 -2
  110. package/build/validators/artifact.d.ts +35 -0
  111. package/build/validators/artifact.js +17 -0
  112. package/build/validators/common.d.ts +121 -0
  113. package/build/validators/common.js +52 -0
  114. package/build/validators/filter.d.ts +10 -0
  115. package/build/validators/filter.js +15 -0
  116. package/build/validators/hooks.d.ts +7 -0
  117. package/build/validators/hooks.js +8 -0
  118. package/build/validators/http.d.ts +137 -0
  119. package/build/validators/http.js +19 -0
  120. package/build/validators/index.d.ts +15 -0
  121. package/build/validators/index.js +32 -0
  122. package/build/validators/provider.d.ts +109 -0
  123. package/build/validators/provider.js +41 -0
  124. package/build/validators/shadowsocks.d.ts +86 -0
  125. package/build/validators/shadowsocks.js +29 -0
  126. package/build/validators/shadowsocksr.d.ts +77 -0
  127. package/build/validators/shadowsocksr.js +19 -0
  128. package/build/validators/snell.d.ts +71 -0
  129. package/build/validators/snell.js +20 -0
  130. package/build/validators/socks5.d.ts +77 -0
  131. package/build/validators/socks5.js +19 -0
  132. package/build/validators/surgio-config.d.ts +307 -0
  133. package/build/validators/surgio-config.js +95 -0
  134. package/build/validators/trojan.d.ts +86 -0
  135. package/build/validators/trojan.js +15 -0
  136. package/build/validators/tuic.d.ts +301 -0
  137. package/build/validators/tuic.js +21 -0
  138. package/build/validators/vmess.d.ts +92 -0
  139. package/build/validators/vmess.js +29 -0
  140. package/build/validators/wireguard.d.ts +123 -0
  141. package/build/validators/wireguard.js +26 -0
  142. package/config.d.ts +1 -0
  143. package/config.js +1 -0
  144. package/constant.d.ts +1 -0
  145. package/constant.js +1 -0
  146. package/generator.d.ts +1 -0
  147. package/generator.js +1 -0
  148. package/hygen-template/artifact/new/index.js +15 -15
  149. package/hygen-template/provider/new/index.js +8 -7
  150. package/hygen-template/template/new/index.js +3 -3
  151. package/index.d.ts +1 -0
  152. package/index.js +1 -0
  153. package/internal.d.ts +1 -0
  154. package/internal.js +1 -0
  155. package/package.json +112 -75
  156. package/provider.d.ts +1 -0
  157. package/provider.js +1 -0
  158. package/utils.d.ts +1 -0
  159. package/utils.js +1 -0
  160. package/bin/surgio.js +0 -8
  161. package/build/command/check.d.ts +0 -9
  162. package/build/command/check.js +0 -79
  163. package/build/command/clean-cache.d.ts +0 -8
  164. package/build/command/clean-cache.js +0 -43
  165. package/build/command/doctor.d.ts +0 -9
  166. package/build/command/doctor.js +0 -63
  167. package/build/command/generate.d.ts +0 -8
  168. package/build/command/generate.js +0 -64
  169. package/build/command/lint.d.ts +0 -7
  170. package/build/command/lint.js +0 -42
  171. package/build/command/new.d.ts +0 -7
  172. package/build/command/new.js +0 -44
  173. package/build/command/subscriptions.d.ts +0 -10
  174. package/build/command/subscriptions.js +0 -87
  175. package/build/command/upload.d.ts +0 -9
  176. package/build/command/upload.js +0 -101
  177. package/build/utils/command.d.ts +0 -2
  178. package/build/utils/command.js +0 -23
  179. package/build/utils/config.d.ts +0 -6
  180. package/build/utils/config.js +0 -245
  181. package/build/utils/patch-proxy.d.ts +0 -1
  182. package/build/utils/patch-proxy.js +0 -19
@@ -3,291 +3,223 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getQuantumultXNodes = exports.getQuantumultNodes = void 0;
6
+ exports.getQuantumultXNodeNames = exports.getQuantumultXNodes = void 0;
7
7
  const logger_1 = require("@surgio/logger");
8
8
  const lodash_1 = __importDefault(require("lodash"));
9
- const util_1 = require("util");
10
- const deprecation_1 = require("../misc/deprecation");
11
- const constant_1 = require("../constant");
12
9
  const types_1 = require("../types");
13
10
  const filter_1 = require("./filter");
14
11
  const index_1 = require("./index");
15
12
  const logger = (0, logger_1.createLogger)({ service: 'surgio:utils:quantumult' });
16
- const showDEP010 = (0, util_1.deprecate)(lodash_1.default.noop, deprecation_1.DEP010, 'DEP010');
17
- const getQuantumultNodes = function (list, groupName = 'Surgio', filter) {
18
- showDEP010();
19
- // istanbul ignore next
20
- if (arguments.length === 3 && typeof filter === 'undefined') {
21
- throw new Error(constant_1.ERR_INVALID_FILTER);
22
- }
23
- function getHeader(wsHeaders) {
24
- return Object.keys(wsHeaders)
25
- .map((headerKey) => `${headerKey}:${wsHeaders[headerKey]}`)
26
- .join('[Rr][Nn]');
27
- }
28
- const result = (0, filter_1.applyFilter)(list, filter)
29
- .map((nodeConfig) => {
30
- switch (nodeConfig.type) {
31
- case types_1.NodeTypeEnum.Vmess: {
32
- const config = [
33
- 'vmess',
34
- nodeConfig.hostname,
35
- nodeConfig.port,
36
- nodeConfig.method === 'auto'
37
- ? 'chacha20-ietf-poly1305'
38
- : nodeConfig.method,
39
- JSON.stringify(nodeConfig.uuid),
40
- nodeConfig.alterId,
41
- `group=${groupName}`,
42
- `over-tls=${nodeConfig.tls === true ? 'true' : 'false'}`,
43
- `certificate=1`,
44
- `obfs=${nodeConfig.network}`,
45
- `obfs-path=${JSON.stringify(nodeConfig.path || '/')}`,
46
- `obfs-header=${JSON.stringify(getHeader(Object.assign({ host: nodeConfig.host || nodeConfig.hostname, 'user-agent': constant_1.OBFS_UA }, lodash_1.default.omit(nodeConfig.wsHeaders, ['host']))))}`,
47
- ]
48
- .filter((value) => !!value)
49
- .join(',');
50
- return ('vmess://' + (0, index_1.toBase64)([nodeConfig.nodeName, config].join(' = ')));
51
- }
52
- case types_1.NodeTypeEnum.Shadowsocks: {
53
- return (0, index_1.getShadowsocksNodes)([nodeConfig], groupName);
54
- }
55
- case types_1.NodeTypeEnum.Shadowsocksr:
56
- return (0, index_1.getShadowsocksrNodes)([nodeConfig], groupName);
57
- case types_1.NodeTypeEnum.HTTPS: {
58
- const config = [
59
- nodeConfig.nodeName,
60
- [
61
- 'http',
62
- `upstream-proxy-address=${nodeConfig.hostname}`,
63
- `upstream-proxy-port=${nodeConfig.port}`,
64
- 'upstream-proxy-auth=true',
65
- `upstream-proxy-username=${nodeConfig.username}`,
66
- `upstream-proxy-password=${nodeConfig.password}`,
67
- 'over-tls=true',
68
- 'certificate=1',
69
- ].join(', '),
70
- ].join(' = ');
71
- return 'http://' + (0, index_1.toBase64)(config);
72
- }
73
- // istanbul ignore next
74
- default:
75
- logger.warn(`不支持为 Quantumult 生成 ${nodeConfig.type} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
76
- return void 0;
77
- }
78
- })
79
- .filter((item) => item !== undefined);
80
- return result.join('\n');
81
- };
82
- exports.getQuantumultNodes = getQuantumultNodes;
83
13
  /**
84
14
  * @see https://github.com/crossutility/Quantumult-X/blob/master/sample.conf
85
15
  */
86
- const getQuantumultXNodes = function (list, filter) {
87
- // istanbul ignore next
88
- if (arguments.length === 2 && typeof filter === 'undefined') {
89
- throw new Error(constant_1.ERR_INVALID_FILTER);
90
- }
91
- const result = (0, filter_1.applyFilter)(list, filter)
92
- .map((nodeConfig) => {
93
- var _a, _b;
94
- switch (nodeConfig.type) {
95
- case types_1.NodeTypeEnum.Vmess: {
96
- const config = [
97
- `${nodeConfig.hostname}:${nodeConfig.port}`,
98
- // method 为 auto 时 qx 会无法识别
99
- nodeConfig.method === 'auto'
100
- ? `method=chacha20-ietf-poly1305`
101
- : `method=${nodeConfig.method}`,
102
- `password=${nodeConfig.uuid}`,
103
- ...(nodeConfig['udp-relay'] ? ['udp-relay=true'] : []),
104
- ...(nodeConfig.tfo ? ['fast-open=true'] : []),
105
- ...(((_a = nodeConfig.quantumultXConfig) === null || _a === void 0 ? void 0 : _a.vmessAEAD)
106
- ? ['aead=true']
107
- : ['aead=false']),
108
- ];
109
- switch (nodeConfig.network) {
110
- case 'ws':
111
- if (nodeConfig.tls) {
112
- config.push(`obfs=wss`);
113
- if (nodeConfig.skipCertVerify) {
114
- config.push('tls-verification=false');
115
- }
116
- else {
117
- config.push('tls-verification=true');
118
- }
119
- // istanbul ignore next
120
- if (nodeConfig.tls13) {
121
- config.push(`tls13=true`);
122
- }
16
+ const getQuantumultXNodes = function (nodeList, filter) {
17
+ const result = (0, filter_1.applyFilter)(nodeList, filter)
18
+ .map(nodeListMapper)
19
+ .filter((item) => item !== undefined)
20
+ .map((item) => item[1]);
21
+ return result.join('\n');
22
+ };
23
+ exports.getQuantumultXNodes = getQuantumultXNodes;
24
+ const getQuantumultXNodeNames = function (nodeList, filter) {
25
+ return (0, filter_1.applyFilter)(nodeList, filter)
26
+ .map(nodeListMapper)
27
+ .filter((item) => item !== undefined)
28
+ .map((item) => item[0])
29
+ .join(', ');
30
+ };
31
+ exports.getQuantumultXNodeNames = getQuantumultXNodeNames;
32
+ function nodeListMapper(nodeConfig) {
33
+ switch (nodeConfig.type) {
34
+ case types_1.NodeTypeEnum.Vmess: {
35
+ const config = [
36
+ `${nodeConfig.hostname}:${nodeConfig.port}`,
37
+ // method 为 auto 时 qx 会无法识别
38
+ nodeConfig.method === 'auto'
39
+ ? `method=chacha20-ietf-poly1305`
40
+ : `method=${nodeConfig.method}`,
41
+ `password=${nodeConfig.uuid}`,
42
+ ...(nodeConfig.udpRelay ? ['udp-relay=true'] : []),
43
+ ...(nodeConfig.tfo ? ['fast-open=true'] : []),
44
+ ...(nodeConfig.quantumultXConfig?.vmessAEAD
45
+ ? ['aead=true']
46
+ : ['aead=false']),
47
+ ];
48
+ switch (nodeConfig.network) {
49
+ case 'ws':
50
+ if (nodeConfig.tls) {
51
+ config.push(`obfs=wss`);
52
+ if (nodeConfig.skipCertVerify) {
53
+ config.push('tls-verification=false');
123
54
  }
124
55
  else {
125
- config.push(`obfs=ws`);
56
+ config.push('tls-verification=true');
126
57
  }
127
- config.push(`obfs-uri=${nodeConfig.path || '/'}`);
128
- config.push(`obfs-host=${nodeConfig.host || nodeConfig.hostname}`);
129
- break;
130
- case 'tcp':
131
- if (nodeConfig.tls) {
132
- config.push(`obfs=over-tls`);
133
- if (nodeConfig.skipCertVerify) {
134
- config.push('tls-verification=false');
135
- }
136
- else {
137
- config.push('tls-verification=true');
138
- }
139
- // istanbul ignore next
140
- if (nodeConfig.tls13) {
141
- config.push(`tls13=true`);
142
- }
58
+ // istanbul ignore next
59
+ if (nodeConfig.tls13) {
60
+ config.push(`tls13=true`);
143
61
  }
144
- break;
145
- default:
146
- // do nothing
147
- }
148
- if (typeof nodeConfig.testUrl === 'string') {
149
- config.push(`server_check_url=${nodeConfig['testUrl']}`);
150
- }
151
- config.push(`tag=${nodeConfig.nodeName}`);
152
- // istanbul ignore next
153
- if (nodeConfig.wsHeaders &&
154
- Object.keys(nodeConfig.wsHeaders).length > 1) {
155
- logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
156
- }
157
- return `vmess=${config.join(', ')}`;
158
- }
159
- case types_1.NodeTypeEnum.Shadowsocks: {
160
- const config = [
161
- `${nodeConfig.hostname}:${nodeConfig.port}`,
162
- ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['method', 'password']),
163
- ...(nodeConfig.obfs && ['http', 'tls'].includes(nodeConfig.obfs)
164
- ? [
165
- `obfs=${nodeConfig.obfs}`,
166
- `obfs-host=${nodeConfig['obfs-host']}`,
167
- ]
168
- : []),
169
- ...(nodeConfig.obfs && ['ws', 'wss'].includes(nodeConfig.obfs)
170
- ? [
171
- `obfs=${nodeConfig.obfs}`,
172
- `obfs-host=${nodeConfig['obfs-host'] || nodeConfig.hostname}`,
173
- `obfs-uri=${nodeConfig['obfs-uri'] || '/'}`,
174
- ]
175
- : []),
176
- ...(nodeConfig['udp-relay'] ? [`udp-relay=true`] : []),
177
- ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
178
- ];
179
- if (nodeConfig.obfs === 'wss') {
180
- if (nodeConfig.skipCertVerify) {
181
- config.push('tls-verification=false');
182
62
  }
183
63
  else {
184
- config.push('tls-verification=true');
64
+ config.push(`obfs=ws`);
185
65
  }
186
- if (nodeConfig.tls13) {
187
- config.push('tls13=true');
66
+ config.push(`obfs-uri=${nodeConfig.path || '/'}`);
67
+ config.push(`obfs-host=${nodeConfig.host || nodeConfig.hostname}`);
68
+ break;
69
+ case 'tcp':
70
+ if (nodeConfig.tls) {
71
+ config.push(`obfs=over-tls`);
72
+ if (nodeConfig.skipCertVerify) {
73
+ config.push('tls-verification=false');
74
+ }
75
+ else {
76
+ config.push('tls-verification=true');
77
+ }
78
+ // istanbul ignore next
79
+ if (nodeConfig.tls13) {
80
+ config.push(`tls13=true`);
81
+ }
188
82
  }
83
+ break;
84
+ default:
85
+ // do nothing
86
+ }
87
+ if (typeof nodeConfig.testUrl === 'string') {
88
+ config.push(`server_check_url=${nodeConfig['testUrl']}`);
89
+ }
90
+ config.push(`tag=${nodeConfig.nodeName}`);
91
+ // istanbul ignore next
92
+ if (nodeConfig.wsHeaders &&
93
+ Object.keys(nodeConfig.wsHeaders).length > 1) {
94
+ logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
95
+ }
96
+ return [nodeConfig.nodeName, `vmess=${config.join(', ')}`];
97
+ }
98
+ case types_1.NodeTypeEnum.Shadowsocks: {
99
+ const config = [
100
+ `${nodeConfig.hostname}:${nodeConfig.port}`,
101
+ ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['method', 'password']),
102
+ ...(nodeConfig.obfs && ['http', 'tls'].includes(nodeConfig.obfs)
103
+ ? [`obfs=${nodeConfig.obfs}`, `obfs-host=${nodeConfig.obfsHost}`]
104
+ : []),
105
+ ...(nodeConfig.obfs && ['ws', 'wss'].includes(nodeConfig.obfs)
106
+ ? [
107
+ `obfs=${nodeConfig.obfs}`,
108
+ `obfs-host=${nodeConfig.obfsHost || nodeConfig.hostname}`,
109
+ `obfs-uri=${nodeConfig.obfsUri || '/'}`,
110
+ ]
111
+ : []),
112
+ ...(nodeConfig.udpRelay ? [`udp-relay=true`] : []),
113
+ ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
114
+ ];
115
+ if (nodeConfig.obfs === 'wss') {
116
+ if (nodeConfig.skipCertVerify) {
117
+ config.push('tls-verification=false');
189
118
  }
190
- // istanbul ignore next
191
- if (nodeConfig.wsHeaders &&
192
- Object.keys(lodash_1.default.omit(nodeConfig.wsHeaders, ['host'])).length > 0) {
193
- logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
119
+ else {
120
+ config.push('tls-verification=true');
194
121
  }
195
- if (typeof nodeConfig.testUrl === 'string') {
196
- config.push(`server_check_url=${nodeConfig['testUrl']}`);
122
+ if (nodeConfig.tls13) {
123
+ config.push('tls13=true');
197
124
  }
198
- config.push(`tag=${nodeConfig.nodeName}`);
199
- return `shadowsocks=${config.join(', ')}`;
200
125
  }
201
- case types_1.NodeTypeEnum.Shadowsocksr: {
202
- const config = [
203
- `${nodeConfig.hostname}:${nodeConfig.port}`,
204
- ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['method', 'password']),
205
- `ssr-protocol=${nodeConfig.protocol}`,
206
- `ssr-protocol-param=${nodeConfig.protoparam}`,
207
- `obfs=${nodeConfig.obfs}`,
208
- `obfs-host=${nodeConfig.obfsparam}`,
209
- ...(nodeConfig['udp-relay'] ? [`udp-relay=true`] : []),
210
- ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
211
- ...(typeof nodeConfig.testUrl === 'string'
212
- ? [`server_check_url=${nodeConfig.testUrl}`]
213
- : []),
214
- `tag=${nodeConfig.nodeName}`,
215
- ].join(', ');
216
- return `shadowsocks=${config}`;
126
+ // istanbul ignore next
127
+ if (nodeConfig.wsHeaders &&
128
+ Object.keys(lodash_1.default.omit(nodeConfig.wsHeaders, ['host'])).length > 0) {
129
+ logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
130
+ }
131
+ if (typeof nodeConfig.testUrl === 'string') {
132
+ config.push(`server_check_url=${nodeConfig['testUrl']}`);
133
+ }
134
+ config.push(`tag=${nodeConfig.nodeName}`);
135
+ return [nodeConfig.nodeName, `shadowsocks=${config.join(', ')}`];
136
+ }
137
+ case types_1.NodeTypeEnum.Shadowsocksr: {
138
+ const config = [
139
+ `${nodeConfig.hostname}:${nodeConfig.port}`,
140
+ ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['method', 'password']),
141
+ `ssr-protocol=${nodeConfig.protocol}`,
142
+ `ssr-protocol-param=${nodeConfig.protoparam}`,
143
+ `obfs=${nodeConfig.obfs}`,
144
+ `obfs-host=${nodeConfig.obfsparam}`,
145
+ ...(nodeConfig.udpRelay ? [`udp-relay=true`] : []),
146
+ ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
147
+ ...(typeof nodeConfig.testUrl === 'string'
148
+ ? [`server_check_url=${nodeConfig.testUrl}`]
149
+ : []),
150
+ `tag=${nodeConfig.nodeName}`,
151
+ ].join(', ');
152
+ return [nodeConfig.nodeName, `shadowsocks=${config}`];
153
+ }
154
+ case types_1.NodeTypeEnum.HTTP:
155
+ case types_1.NodeTypeEnum.HTTPS: {
156
+ const config = [
157
+ `${nodeConfig.hostname}:${nodeConfig.port}`,
158
+ ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['username', 'password']),
159
+ ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
160
+ ];
161
+ if (nodeConfig.type === types_1.NodeTypeEnum.HTTPS) {
162
+ config.push('over-tls=true', `tls-verification=${nodeConfig.skipCertVerify !== true}`, ...(nodeConfig.tls13 ? [`tls13=${nodeConfig.tls13}`] : []));
163
+ }
164
+ if (typeof nodeConfig.testUrl === 'string') {
165
+ config.push(`server_check_url=${nodeConfig['testUrl']}`);
217
166
  }
218
- case types_1.NodeTypeEnum.HTTP:
219
- case types_1.NodeTypeEnum.HTTPS: {
220
- const config = [
221
- `${nodeConfig.hostname}:${nodeConfig.port}`,
222
- ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['username', 'password']),
223
- ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
224
- ];
225
- if (nodeConfig.type === types_1.NodeTypeEnum.HTTPS) {
226
- config.push('over-tls=true', `tls-verification=${nodeConfig.skipCertVerify !== true}`, ...(nodeConfig.tls13 ? [`tls13=${nodeConfig.tls13}`] : []));
167
+ config.push(`tag=${nodeConfig.nodeName}`);
168
+ return [nodeConfig.nodeName, `http=${config.join(', ')}`];
169
+ }
170
+ case types_1.NodeTypeEnum.Trojan: {
171
+ const config = [
172
+ `${nodeConfig.hostname}:${nodeConfig.port}`,
173
+ ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['password']),
174
+ `tls-verification=${nodeConfig.skipCertVerify !== true}`,
175
+ ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
176
+ ...(nodeConfig.udpRelay ? [`udp-relay=true`] : []),
177
+ ...(nodeConfig.tls13 ? [`tls13=${nodeConfig.tls13}`] : []),
178
+ ];
179
+ if (nodeConfig.network === 'ws') {
180
+ /**
181
+ * The obfs field is only supported with websocket over tls for trojan. When using websocket over
182
+ * tls you should not set over-tls and tls-host options anymore, instead set obfs=wss and
183
+ * obfs-host options.
184
+ */
185
+ config.push('obfs=wss');
186
+ if (nodeConfig.wsPath) {
187
+ config.push(`obfs-uri=${nodeConfig.wsPath}`);
227
188
  }
228
- if (typeof nodeConfig.testUrl === 'string') {
229
- config.push(`server_check_url=${nodeConfig['testUrl']}`);
189
+ const hostHeader = nodeConfig?.wsHeaders?.host;
190
+ const sni = nodeConfig.sni;
191
+ if (sni) {
192
+ config.push(`obfs-host=${sni}`);
230
193
  }
231
- config.push(`tag=${nodeConfig.nodeName}`);
232
- return `http=${config.join(', ')}`;
233
- }
234
- case types_1.NodeTypeEnum.Trojan: {
235
- const config = [
236
- `${nodeConfig.hostname}:${nodeConfig.port}`,
237
- ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['password']),
238
- `tls-verification=${nodeConfig.skipCertVerify !== true}`,
239
- ...(nodeConfig.tfo ? [`fast-open=${nodeConfig.tfo}`] : []),
240
- ...(nodeConfig['udp-relay'] ? [`udp-relay=true`] : []),
241
- ...(nodeConfig.tls13 ? [`tls13=${nodeConfig.tls13}`] : []),
242
- ];
243
- if (nodeConfig.network === 'ws') {
244
- /**
245
- * The obfs field is only supported with websocket over tls for trojan. When using websocket over
246
- * tls you should not set over-tls and tls-host options anymore, instead set obfs=wss and
247
- * obfs-host options.
248
- */
249
- config.push('obfs=wss');
250
- if (nodeConfig.wsPath) {
251
- config.push(`obfs-uri=${nodeConfig.wsPath}`);
252
- }
253
- const hostHeader = (_b = nodeConfig === null || nodeConfig === void 0 ? void 0 : nodeConfig.wsHeaders) === null || _b === void 0 ? void 0 : _b.host;
254
- const sni = nodeConfig.sni;
255
- if (sni) {
256
- config.push(`obfs-host=${sni}`);
257
- }
258
- else if (hostHeader) {
259
- config.push(`obfs-host=${hostHeader}`);
260
- }
261
- if (sni && hostHeader) {
262
- logger.warn(`Quantumult X 不支持同时定义 sni 和 wsHeaders.host,配置以 sni 为准,节点 ${nodeConfig.nodeName} 可能不可用`);
263
- }
264
- if (nodeConfig === null || nodeConfig === void 0 ? void 0 : nodeConfig.wsHeaders) {
265
- // istanbul ignore next
266
- if (Object.keys(lodash_1.default.omit(nodeConfig.wsHeaders, ['host'])).length > 0) {
267
- logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
268
- }
269
- }
194
+ else if (hostHeader) {
195
+ config.push(`obfs-host=${hostHeader}`);
270
196
  }
271
- else {
272
- config.push('over-tls=true');
273
- if (nodeConfig.sni) {
274
- config.push(`tls-host=${nodeConfig.sni}`);
197
+ if (sni && hostHeader) {
198
+ logger.warn(`Quantumult X 不支持同时定义 sni 和 wsHeaders.host,配置以 sni 为准,节点 ${nodeConfig.nodeName} 可能不可用`);
199
+ }
200
+ if (nodeConfig?.wsHeaders) {
201
+ // istanbul ignore next
202
+ if (Object.keys(lodash_1.default.omit(nodeConfig.wsHeaders, ['host'])).length > 0) {
203
+ logger.warn(`Quantumult X 不支持自定义额外的 Header 字段,节点 ${nodeConfig.nodeName} 可能不可用`);
275
204
  }
276
205
  }
277
- if (typeof nodeConfig.testUrl === 'string') {
278
- config.push(`server_check_url=${nodeConfig['testUrl']}`);
206
+ }
207
+ else {
208
+ config.push('over-tls=true');
209
+ if (nodeConfig.sni) {
210
+ config.push(`tls-host=${nodeConfig.sni}`);
279
211
  }
280
- config.push(`tag=${nodeConfig.nodeName}`);
281
- return `trojan=${config.join(', ')}`;
282
212
  }
283
- // istanbul ignore next
284
- default:
285
- logger.warn(`不支持为 QuantumultX 生成 ${nodeConfig.type} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
286
- return void 0;
213
+ if (typeof nodeConfig.testUrl === 'string') {
214
+ config.push(`server_check_url=${nodeConfig['testUrl']}`);
215
+ }
216
+ config.push(`tag=${nodeConfig.nodeName}`);
217
+ return [nodeConfig.nodeName, `trojan=${config.join(', ')}`];
287
218
  }
288
- })
289
- .filter((item) => item !== undefined);
290
- return result.join('\n');
291
- };
292
- exports.getQuantumultXNodes = getQuantumultXNodes;
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbnR1bXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy9xdWFudHVtdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDJDQUE4QztBQUM5QyxvREFBdUI7QUFDdkIsK0JBQWlDO0FBRWpDLHFEQUE2QztBQUM3QywwQ0FBMEQ7QUFDMUQsb0NBU2tCO0FBQ2xCLHFDQUF1QztBQUN2QyxtQ0FLaUI7QUFFakIsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxFQUFDLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLENBQUMsQ0FBQztBQUNwRSxNQUFNLFVBQVUsR0FBRyxJQUFBLGdCQUFTLEVBQUMsZ0JBQUMsQ0FBQyxJQUFJLEVBQUUsb0JBQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNoRCxNQUFNLGtCQUFrQixHQUFHLFVBQ2hDLElBS0MsRUFDRCxTQUFTLEdBQUcsUUFBUSxFQUNwQixNQUFzRDtJQUV0RCxVQUFVLEVBQUUsQ0FBQztJQUViLHVCQUF1QjtJQUN2QixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtRQUMzRCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUFrQixDQUFDLENBQUM7S0FDckM7SUFFRCxTQUFTLFNBQVMsQ0FBQyxTQUFpQztRQUNsRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQzFCLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7YUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBMEIsSUFBQSxvQkFBVyxFQUFDLElBQUksRUFBRSxNQUFNLENBQUM7U0FDNUQsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFzQixFQUFFO1FBQ3RDLFFBQVEs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
219
+ // istanbul ignore next
220
+ default:
221
+ logger.warn(`不支持为 QuantumultX 生成 ${nodeConfig.type} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
222
+ return void 0;
223
+ }
224
+ }
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbnR1bXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9xdWFudHVtdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDJDQUE2QztBQUM3QyxvREFBc0I7QUFFdEIsb0NBS2lCO0FBQ2pCLHFDQUFzQztBQUN0QyxtQ0FBaUQ7QUFFakQsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxFQUFDLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLENBQUMsQ0FBQTtBQUVuRTs7R0FFRztBQUNJLE1BQU0sbUJBQW1CLEdBQUcsVUFDakMsUUFBK0MsRUFDL0MsTUFBOEM7SUFFOUMsTUFBTSxNQUFNLEdBQTBCLElBQUEsb0JBQVcsRUFBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO1NBQ2hFLEdBQUcsQ0FBQyxjQUFjLENBQUM7U0FDbkIsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUE0QixFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQztTQUM5RCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRXpCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUMxQixDQUFDLENBQUE7QUFWWSxRQUFBLG1CQUFtQix1QkFVL0I7QUFFTSxNQUFNLHVCQUF1QixHQUFHLFVBQ3JDLFFBQStDLEVBQy9DLE1BQThDO0lBRTlDLE9BQU8sSUFBQSxvQkFBVyxFQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7U0FDakMsR0FBRyxDQUFDLGNBQWMsQ0FBQztTQUNuQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQTRCLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO1NBQzlELEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FB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
@@ -19,4 +19,4 @@ function relayableUrl(url, relayUrl) {
19
19
  return url;
20
20
  }
21
21
  exports.default = relayableUrl;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXlhYmxlLXVybC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy9yZWxheWFibGUtdXJsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMENBQTRDO0FBRTVDLFNBQXdCLFlBQVksQ0FDbEMsR0FBVyxFQUNYLFFBQTJCO0lBRTNCLElBQUksT0FBTyxRQUFRLEtBQUssU0FBUyxFQUFFO1FBQ2pDLE9BQU8sR0FBRyx3QkFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDO0tBQ2pDO1NBQU0sSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7UUFDdkMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM3RDthQUFNLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyQyxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7U0FDekQ7S0FDRjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQWhCRCwrQkFnQkMifQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXlhYmxlLXVybC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yZWxheWFibGUtdXJsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMENBQTJDO0FBRTNDLFNBQXdCLFlBQVksQ0FDbEMsR0FBVyxFQUNYLFFBQTJCO0lBRTNCLElBQUksT0FBTyxRQUFRLEtBQUssU0FBUyxFQUFFO1FBQ2pDLE9BQU8sR0FBRyx3QkFBYSxHQUFHLEdBQUcsRUFBRSxDQUFBO0tBQ2hDO1NBQU0sSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7UUFDdkMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtTQUM1RDthQUFNLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyQyxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1NBQ3RDO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUE7U0FDeEQ7S0FDRjtJQUNELE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQztBQWhCRCwrQkFnQkMifQ==
@@ -11,9 +11,9 @@ const nunjucks_1 = __importDefault(require("nunjucks"));
11
11
  const espree_1 = __importDefault(require("espree"));
12
12
  const constant_1 = require("../constant");
13
13
  const cache_1 = require("./cache");
14
- const config_1 = require("./config");
15
14
  const env_flag_1 = require("./env-flag");
16
15
  const http_client_1 = __importDefault(require("./http-client"));
16
+ const config_1 = require("../config");
17
17
  const index_1 = require("./index");
18
18
  const tmp_helper_1 = require("./tmp-helper");
19
19
  const parseMacro = (snippet) => {
@@ -95,8 +95,7 @@ const renderSurgioSnippet = (str, args) => {
95
95
  };
96
96
  exports.renderSurgioSnippet = renderSurgioSnippet;
97
97
  const loadRemoteSnippetList = (remoteSnippetList, cacheSnippet = true) => {
98
- var _a, _b;
99
- const cacheType = ((_b = (_a = (0, config_1.getConfig)()) === null || _a === void 0 ? void 0 : _a.cache) === null || _b === void 0 ? void 0 : _b.type) || 'default';
98
+ const cacheType = (0, config_1.getConfig)()?.cache?.type || 'default';
100
99
  const tmpFactory = (0, tmp_helper_1.createTmpFactory)(constant_1.CACHE_KEYS.RemoteSnippets, cacheType);
101
100
  function load(url) {
102
101
  return http_client_1.default
@@ -156,4 +155,4 @@ const loadRemoteSnippetList = (remoteSnippetList, cacheSnippet = true) => {
156
155
  });
157
156
  };
158
157
  exports.loadRemoteSnippetList = loadRemoteSnippetList;
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLXNuaXBwZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvcmVtb3RlLXNuaXBwZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQWdDO0FBQ2hDLDJDQUF3QztBQUN4QyxvRUFBMkM7QUFDM0Msd0RBQWdDO0FBQ2hDLG9EQUF5RDtBQUN6RCwwQ0FBeUM7QUFHekMsbUNBQXNDO0FBQ3RDLHFDQUFxQztBQUNyQyx5Q0FBZ0Y7QUFDaEYsZ0VBQXVDO0FBQ3ZDLG1DQUFnQztBQUNoQyw2Q0FBZ0Q7QUFFekMsTUFBTSxVQUFVLEdBQUcsQ0FDeEIsT0FBZSxFQUlmLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyx1QkFBdUIsQ0FBQztJQUN0QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWxDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQy9CO0lBRUQsTUFBTSxHQUFHLEdBQUcsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkQsSUFBSSxTQUE4QyxDQUFDO0lBRW5ELEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksRUFBRTtRQUMzQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUsscUJBQXFCLEVBQUU7WUFDdkMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUNqQixNQUFNO1NBQ1A7S0FDRjtJQUVELElBQ0UsQ0FBQyxTQUFTO1FBQ1YsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCO1FBQzlDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQzNDO1FBQ0EsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENB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
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLXNuaXBwZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcmVtb3RlLXNuaXBwZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQStCO0FBQy9CLDJDQUF1QztBQUN2QyxvRUFBMEM7QUFDMUMsd0RBQStCO0FBQy9CLG9EQUF3RDtBQUV4RCwwQ0FBd0M7QUFFeEMsbUNBQXFDO0FBQ3JDLHlDQUErRTtBQUMvRSxnRUFBc0M7QUFDdEMsc0NBQXFDO0FBQ3JDLG1DQUErQjtBQUMvQiw2Q0FBK0M7QUFFeEMsTUFBTSxVQUFVLEdBQUcsQ0FDeEIsT0FBZSxFQUlmLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyx1QkFBdUIsQ0FBQTtJQUNyQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBRWpDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFBO0tBQzlCO0lBRUQsTUFBTSxHQUFHLEdBQUcsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDdEQsSUFBSSxTQUE4QyxDQUFBO0lBRWxELEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksRUFBRTtRQUMzQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUsscUJBQXFCLEVBQUU7WUFDdkMsU0FBUyxHQUFHLElBQUksQ0FBQTtZQUNoQixNQUFLO1NBQ047S0FDRjtJQUVELElBQ0UsQ0FBQyxTQUFTO1FBQ1YsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCO1FBQzlDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQzNDO1FBQ0EsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENB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