@cloudbase/container 2.5.37-alpha.1 → 2.5.37-beta.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.
@@ -1,11 +1,2 @@
1
1
  import { ICloudbase } from '@cloudbase/types';
2
- import { ICallContainerOptions, IContianerConfig } from '@cloudbase/types/container';
3
- export declare class CloudbaseContainers {
4
- private readonly config;
5
- private wasm;
6
- private containerInitPromise;
7
- constructor(config: IContianerConfig);
8
- callContainer(options: ICallContainerOptions, callback?: Function): Promise<any>;
9
- initContainer(config: Omit<IContianerConfig, 'wasmUrl' | 'jsUrl'>): Promise<any>;
10
- }
11
2
  export declare function registerContainers(app: Pick<ICloudbase, 'registerComponent'>): void;
package/dist/cjs/index.js CHANGED
@@ -81,33 +81,20 @@ var __rest = (this && this.__rest) || function (s, e) {
81
81
  }
82
82
  return t;
83
83
  };
84
+ var __importDefault = (this && this.__importDefault) || function (mod) {
85
+ return (mod && mod.__esModule) ? mod : { "default": mod };
86
+ };
84
87
  Object.defineProperty(exports, "__esModule", { value: true });
85
- exports.registerContainers = exports.CloudbaseContainers = void 0;
88
+ exports.registerContainers = void 0;
86
89
  var utilities_1 = require("@cloudbase/utilities");
90
+ var decompress_1 = __importDefault(require("brotli/decompress"));
91
+ var go_wams_exec_1 = __importDefault(require("./go_wams_exec"));
87
92
  var utils_1 = require("./utils");
93
+ var request_1 = require("./utils/request");
88
94
  var constants_1 = require("./constants");
89
95
  var ERRORS = utilities_1.constants.ERRORS, COMMUNITY_SITE_URL = utilities_1.constants.COMMUNITY_SITE_URL;
90
96
  var execCallback = utilities_1.utils.execCallback, printWarn = utilities_1.utils.printWarn;
91
97
  var catchErrorsDecorator = utilities_1.helpers.catchErrorsDecorator;
92
- var getExportFunction = function () {
93
- throw new Error('getExportFunction 未实现');
94
- };
95
- var loadJSExportFunction = function () {
96
- throw new Error('loadJSExportFunction 未实现');
97
- };
98
- if (globalThis.IS_MP_BUILD) {
99
- getExportFunction = function () {
100
- new Error('小程序不支持 wasm 加载');
101
- };
102
- loadJSExportFunction = function () {
103
- new Error('小程序不支持动态 js 加载');
104
- };
105
- }
106
- else {
107
- var loader = require('./utils/loader');
108
- getExportFunction = loader.getExportFunction;
109
- loadJSExportFunction = loader.loadJSExportFunction;
110
- }
111
98
  var InvalieParamsError = (function (_super) {
112
99
  __extends(InvalieParamsError, _super);
113
100
  function InvalieParamsError(scope, message) {
@@ -135,48 +122,45 @@ function genContainerError(data, scope, defaultMessage) {
135
122
  error.code = (data === null || data === void 0 ? void 0 : data.code) || 'UNKNOWN_ERROR';
136
123
  return error;
137
124
  }
138
- var CloudbaseContainers = exports.CloudbaseContainers = (function () {
125
+ var CloudbaseContainers = (function () {
139
126
  function CloudbaseContainers(config) {
140
127
  var _this = this;
141
- var _a;
142
- this.config = __assign(__assign({}, config), { jsUrl: typeof config.jsUrl === 'string'
143
- ? {
144
- vm: config.jsUrl,
145
- }
146
- : config.jsUrl });
147
- if (!this.config.wasmUrl && this.config.publicKey) {
148
- }
149
- else if (!this.config.wasmUrl && !((_a = this.config.jsUrl) === null || _a === void 0 ? void 0 : _a.vm) && !globalThis.cloudbase_private_link) {
128
+ this.config = __assign({}, config);
129
+ if (!this.config.wasmUrl && !this.config.jsUrl && !window.cloudbase_private_link) {
150
130
  throw new InvalieParamsError("".concat(constants_1.COMPONENT_NAME), '缺少 privatelink sdk 地址');
151
131
  }
152
- console.log('>>******', this.config);
153
- debugger;
154
132
  if (this.config.wasmUrl) {
155
- this.wasm = getExportFunction(this.config.wasmUrl).catch(function (e) {
133
+ this.wasm = getExportFunction(this.config.wasmUrl, {
134
+ utils: {
135
+ info: function (e) {
136
+ console.log(e);
137
+ },
138
+ request: request_1.request,
139
+ },
140
+ }).catch(function (e) {
156
141
  if (_this.config.jsUrl) {
157
142
  console.warn('load wams error, fall back to use js', e);
158
143
  return loadJSExportFunction(_this.config.jsUrl);
159
144
  }
160
- if (globalThis.cloudbase_private_link) {
161
- return globalThis.cloudbase_private_link;
145
+ if (window.cloudbase_private_link) {
146
+ return window.cloudbase_private_link;
162
147
  }
163
148
  throw e;
164
149
  });
165
150
  }
166
- else if (this.config.jsUrl || this.config.publicKey) {
151
+ else if (this.config.jsUrl) {
167
152
  this.wasm = loadJSExportFunction(this.config.jsUrl);
168
153
  }
169
154
  else {
170
155
  this.wasm = Promise.resolve({
171
- initContainer: globalThis.cloudbase_private_link.initContainer,
172
- callContainer: globalThis.cloudbase_private_link.callContainer,
156
+ initContainer: window.cloudbase_private_link.initContainer,
157
+ callContainer: window.cloudbase_private_link.callContainer,
173
158
  });
174
159
  }
175
160
  }
176
161
  CloudbaseContainers.prototype.callContainer = function (options, callback) {
177
162
  return __awaiter(this, void 0, void 0, function () {
178
- var SCOPE, callContainer, _a, url, method, header, data, timeout, dataType, responseType, restOptions, res, e_1;
179
- var _b, _c, _d, _e, _f;
163
+ var SCOPE, callContainer, _a, url, _b, method, _c, header, data, _d, timeout, _e, dataType, _f, responseType, restOptions, res, e_1;
180
164
  return __generator(this, function (_g) {
181
165
  switch (_g.label) {
182
166
  case 0: return [4, this.initContainer(this.config)];
@@ -186,7 +170,7 @@ var CloudbaseContainers = exports.CloudbaseContainers = (function () {
186
170
  return [4, this.wasm];
187
171
  case 2:
188
172
  callContainer = (_g.sent()).callContainer;
189
- _a = __assign({}, options), url = _a.url, method = (_b = _a.method, _b === void 0 ? 'GET' : _b), header = (_c = _a.header, _c === void 0 ? {} : _c), data = _a.data, timeout = (_d = _a.timeout, _d === void 0 ? 60000 : _d), dataType = (_e = _a.dataType, _e === void 0 ? 'json' : _e), responseType = (_f = _a.responseType, _f === void 0 ? 'text' : _f), restOptions = __rest(_a, ["url", "method", "header", "data", "timeout", "dataType", "responseType"]);
173
+ _a = __assign({}, options), url = _a.url, _b = _a.method, method = _b === void 0 ? 'GET' : _b, _c = _a.header, header = _c === void 0 ? {} : _c, data = _a.data, _d = _a.timeout, timeout = _d === void 0 ? 60000 : _d, _e = _a.dataType, dataType = _e === void 0 ? 'json' : _e, _f = _a.responseType, responseType = _f === void 0 ? 'text' : _f, restOptions = __rest(_a, ["url", "method", "header", "data", "timeout", "dataType", "responseType"]);
190
174
  if (!url) {
191
175
  throw new InvalieParamsError(SCOPE, 'invalid request url');
192
176
  }
@@ -197,32 +181,25 @@ var CloudbaseContainers = exports.CloudbaseContainers = (function () {
197
181
  case 3:
198
182
  _g.trys.push([3, 5, , 6]);
199
183
  return [4, new Promise(function (resolve, reject) {
200
- var params = __assign({ url: url, method: method, header: header, data: (0, utils_1.serializeRequestBody)(header, data, method), timeout: timeout, dataType: dataType, responseType: responseType }, restOptions);
201
- if (data
202
- && ((0, utils_1.isBuffer)(params.data) || typeof params.data === 'string')
203
- && (data === null || data === void 0 ? void 0 : data.length) > 1000 * 1024 * 10) {
204
- reject(new InvalieParamsError(SCOPE, 'body too large'));
205
- return;
206
- }
207
- if (method === 'GET') {
208
- var getBody = params.data;
209
- if (getBody) {
210
- params.data = undefined;
211
- }
212
- if (!(0, utils_1.isBuffer)(getBody) && typeof getBody !== 'string') {
213
- var list = Object.entries(getBody || {}).reduce(function (list, _a) {
214
- var key = _a[0], value = _a[1];
215
- list.push("".concat(encodeURIComponent(key), "=").concat(encodeURIComponent(String(value))));
216
- return list;
217
- }, []);
218
- if (list.length) {
219
- getBody = list.join('&');
184
+ var params = __assign({ url: url, method: method, header: header, data: (0, utils_1.serializeRequestBody)(header, data), timeout: timeout, dataType: dataType, responseType: responseType }, restOptions);
185
+ if (params.data !== undefined && !(0, utils_1.isBuffer)(params.data)) {
186
+ if (typeof params.data !== 'string' && method === 'GET') {
187
+ try {
188
+ var list = Object.entries(params.data || {}).reduce(function (list, _a) {
189
+ var key = _a[0], value = _a[1];
190
+ list.push("".concat(encodeURIComponent(key), "=").concat(encodeURIComponent(String(value))));
191
+ return list;
192
+ }, []);
193
+ if (list.length) {
194
+ params.data = list.join('&');
195
+ }
220
196
  }
197
+ catch (e) { }
221
198
  }
222
- if (typeof params.data === 'string') {
199
+ if (method === 'GET' && typeof params.data === 'string') {
223
200
  var parsedUrl = (0, utils_1.parseURL)(url);
224
201
  if (parsedUrl.search) {
225
- parsedUrl.search += "&".concat(params.data);
202
+ parsedUrl.search += params.data;
226
203
  }
227
204
  else {
228
205
  parsedUrl.search = "?".concat(params.data);
@@ -231,6 +208,12 @@ var CloudbaseContainers = exports.CloudbaseContainers = (function () {
231
208
  params.data = undefined;
232
209
  }
233
210
  }
211
+ if (data
212
+ && ((0, utils_1.isBuffer)(params.data) || typeof params.data === 'string')
213
+ && (data === null || data === void 0 ? void 0 : data.length) > 1000 * 1024 * 10) {
214
+ reject(new InvalieParamsError(SCOPE, 'body too large'));
215
+ return;
216
+ }
234
217
  callContainer(__assign(__assign({}, params), { success: resolve, fail: function (res) {
235
218
  var data = (res || {}).data;
236
219
  reject(genContainerError(data, SCOPE, 'call container error'));
@@ -251,7 +234,6 @@ var CloudbaseContainers = exports.CloudbaseContainers = (function () {
251
234
  CloudbaseContainers.prototype.initContainer = function (config) {
252
235
  return __awaiter(this, void 0, void 0, function () {
253
236
  var initContainer;
254
- var _this = this;
255
237
  return __generator(this, function (_a) {
256
238
  switch (_a.label) {
257
239
  case 0: return [4, this.wasm];
@@ -269,7 +251,7 @@ var CloudbaseContainers = exports.CloudbaseContainers = (function () {
269
251
  },
270
252
  fail: function (res) {
271
253
  reject(genContainerError(res.data, "".concat(constants_1.COMPONENT_NAME, ".initContainer"), 'init container fail'));
272
- _this.containerInitPromise = null;
254
+ this._containerInitPromis = null;
273
255
  },
274
256
  });
275
257
  });
@@ -326,4 +308,111 @@ function registerContainers(app) {
326
308
  }
327
309
  }
328
310
  exports.registerContainers = registerContainers;
329
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLGtEQUFnRTtBQUNoRSxpQ0FBa0U7QUFDbEUseUNBQTRDO0FBR3BDLElBQUEsTUFBTSxHQUF5QixxQkFBUyxPQUFsQyxFQUFFLGtCQUFrQixHQUFLLHFCQUFTLG1CQUFkLENBQWM7QUFDeEMsSUFBQSxZQUFZLEdBQWdCLGlCQUFLLGFBQXJCLEVBQUUsU0FBUyxHQUFLLGlCQUFLLFVBQVYsQ0FBVTtBQUNqQyxJQUFBLG9CQUFvQixHQUFLLG1CQUFPLHFCQUFaLENBQVk7QUFHeEMsSUFBSSxpQkFBaUIsR0FBYTtJQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUE7QUFDMUMsQ0FBQyxDQUFBO0FBQ0QsSUFBSSxvQkFBb0IsR0FBYTtJQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUE7QUFDN0MsQ0FBQyxDQUFBO0FBRUQsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFO0lBQzFCLGlCQUFpQixHQUFHO1FBQ2xCLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDN0IsQ0FBQyxDQUFBO0lBQ0Qsb0JBQW9CLEdBQUc7UUFDckIsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUM3QixDQUFDLENBQUE7Q0FDRjtLQUFNO0lBQ0wsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDeEMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFBO0lBQzVDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQTtDQUNuRDtBQUdEO0lBQWlDLHNDQUFLO0lBRXBD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cm9tICdAY2xvdWRiYXNlL3R5cGVzJ1xuaW1wb3J0IHsgSUNsb3VkYmFzZUNvbXBvbmVudCB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY29tcG9uZW50J1xuaW1wb3J0IHsgSUNhbGxDb250YWluZXJPcHRpb25zLCBJQ29udGlhbmVyQ29uZmlnIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9jb250YWluZXInXG5pbXBvcnQgeyBjb25zdGFudHMsIHV0aWxzLCBoZWxwZXJzIH0gZnJvbSAnQGNsb3VkYmFzZS91dGlsaXRpZXMnXG5pbXBvcnQgeyBpc0J1ZmZlciwgcGFyc2VVUkwsIHNlcmlhbGl6ZVJlcXVlc3RCb2R5IH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IENPTVBPTkVOVF9OQU1FIH0gZnJvbSAnLi9jb25zdGFudHMnXG5cbmRlY2xhcmUgY29uc3QgY2xvdWRiYXNlOiBJQ2xvdWRiYXNlXG5jb25zdCB7IEVSUk9SUywgQ09NTVVOSVRZX1NJVEVfVVJMIH0gPSBjb25zdGFudHNcbmNvbnN0IHsgZXhlY0NhbGxiYWNrLCBwcmludFdhcm4gfSA9IHV0aWxzXG5jb25zdCB7IGNhdGNoRXJyb3JzRGVjb3JhdG9yIH0gPSBoZWxwZXJzXG5cbi8qIGVzbGludC1kaXNhYmxlICovXG5sZXQgZ2V0RXhwb3J0RnVuY3Rpb246IEZ1bmN0aW9uID0gKCkgPT4ge1xuICB0aHJvdyBuZXcgRXJyb3IoJ2dldEV4cG9ydEZ1bmN0aW9uIOacquWunueOsCcpXG59XG5sZXQgbG9hZEpTRXhwb3J0RnVuY3Rpb246IEZ1bmN0aW9uID0gKCkgPT4ge1xuICB0aHJvdyBuZXcgRXJyb3IoJ2xvYWRKU0V4cG9ydEZ1bmN0aW9uIOacquWunueOsCcpXG59XG5cbmlmIChnbG9iYWxUaGlzLklTX01QX0JVSUxEKSB7XG4gIGdldEV4cG9ydEZ1bmN0aW9uID0gZnVuY3Rpb24gKCkge1xuICAgIG5ldyBFcnJvcign5bCP56iL5bqP5LiN5pSv5oyBIHdhc20g5Yqg6L29JylcbiAgfVxuICBsb2FkSlNFeHBvcnRGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHtcbiAgICBuZXcgRXJyb3IoJ+Wwj+eoi+W6j+S4jeaUr+aMgeWKqOaAgSBqcyDliqDovb0nKVxuICB9XG59IGVsc2Uge1xuICBjb25zdCBsb2FkZXIgPSByZXF1aXJlKCcuL3V0aWxzL2xvYWRlcicpXG4gIGdldEV4cG9ydEZ1bmN0aW9uID0gbG9hZGVyLmdldEV4cG9ydEZ1bmN0aW9uXG4gIGxvYWRKU0V4cG9ydEZ1bmN0aW9uID0gbG9hZGVyLmxvYWRKU0V4cG9ydEZ1bmN0aW9uXG59XG4vKiBlc2xpbnQtZW5hYmxlICovXG5cbmNsYXNzIEludmFsaWVQYXJhbXNFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29kZTogYW55XG4gIGNvbnN0cnVjdG9yKHNjb3BlLCBtZXNzYWdlKSB7XG4gICAgY29uc3QgbXNnID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgY29kZTogRVJST1JTLklOVkFMSURfUEFSQU1TLFxuICAgICAgbXNnOiBgWyR7c2NvcGV9XSAke21lc3NhZ2V9YCxcbiAgICB9KVxuICAgIHN1cGVyKG1zZylcbiAgICB0aGlzLmNvZGUgPSBFUlJPUlMuSU5WQUxJRF9QQVJBTVNcbiAgfVxuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvZGU6IHRoaXMuY29kZSxcbiAgICAgIG1lc3NhZ2U6IHRoaXMubWVzc2FnZSxcbiAgICB9XG4gIH1cbn1cblxuaW50ZXJmYWNlIElDYWxsVGNiQ29udGFpbmVyT3B0aW9ucyBleHRlbmRzIElDYWxsQ29udGFpbmVyT3B0aW9ucyB7XG4gIHN1Y2Nlc3M6IChyZXM6IHsgc3RhdHVzQ29kZTogc3RyaW5nIHwgbnVtYmVyOyBoZWFkZXI6IElDYWxsQ29udGFpbmVyT3B0aW9uc1snaGVhZGVyJ107IGRhdGE6IGFueSB9KSA9PiB2b2lkXG4gIGZhaWw6IChyZXM6IHsgZGF0YTogeyBjb2RlOiBudW1iZXI7IG1lc3NhZ2U6IHN0cmluZyB9IH0pID0+IHZvaWRcbn1cblxuaW50ZXJmYWNlIElJbml0VGNiQ29udGFpbmVyT3B0aW9ucyB7XG4gIGNvbmZpZzogT21pdDxJQ29udGlhbmVyQ29uZmlnLCAnd2FzbVVybCcgfCAnanNVcmwnPlxuICBzdWNjZXNzOiAocmVzOiB7IHN0YXR1c0NvZGU6IHN0cmluZyB8IG51bWJlcjsgaGVhZGVyOiBJQ2FsbENvbnRhaW5lck9wdGlvbnNbJ2hlYWRlciddOyBkYXRhOiBhbnkgfSkgPT4gdm9pZFxuICBmYWlsOiAocmVzOiB7IGRhdGE6IHsgY29kZTogbnVtYmVyOyBtZXNzYWdlOiBzdHJpbmcgfSB9KSA9PiB2b2lkXG59XG5cbmZ1bmN0aW9uIGdlbkNvbnRhaW5lckVycm9yKGRhdGEsIHNjb3BlID0gQ09NUE9ORU5UX05BTUUsIGRlZmF1bHRNZXNzYWdlID0gJ2NhbGwgY29udGFpbmVyIGVycm9yJykge1xuICBjb25zdCBlcnJvciA9IGRhdGEgaW5zdGFuY2VvZiBFcnJvciA/IGRhdGEgOiBuZXcgRXJyb3IoYFske3Njb3BlfV0gJHtkYXRhPy5tZXNzYWdlIHx8IGRlZmF1bHRNZXNzYWdlfWApXG4gIDsoZXJyb3IgYXMgYW55KS5jb2RlID0gZGF0YT8uY29kZSB8fCAnVU5LTk9XTl9FUlJPUidcbiAgcmV0dXJuIGVycm9yXG59XG5cbmV4cG9ydCBjbGFzcyBDbG91ZGJhc2VDb250YWluZXJzIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IElDb250aWFuZXJDb25maWcgJiB7IGpzVXJsPzogeyB2ZW5kZXI/OiBzdHJpbmc7IHZtOiBzdHJpbmcgfSB9XG4gIHByaXZhdGUgd2FzbTogUHJvbWlzZTxXZWJBc3NlbWJseS5FeHBvcnRzPlxuICBwcml2YXRlIGNvbnRhaW5lckluaXRQcm9taXNlOiAvKiBQcm9taXNlPGFueT4qLyBhbnkgfCBudWxsXG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBJQ29udGlhbmVyQ29uZmlnKSB7XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBqc1VybDpcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5qc1VybCA9PT0gJ3N0cmluZydcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgIHZtOiBjb25maWcuanNVcmwsXG4gICAgICAgICAgfVxuICAgICAgICAgIDogKGNvbmZpZy5qc1VybCBhcyBhbnkpLFxuICAgIH1cblxuICAgIGlmICghdGhpcy5jb25maWcud2FzbVVybCAmJiB0aGlzLmNvbmZpZy5wdWJsaWNLZXkpIHtcbiAgICAgIC8vIOmdniB3YW1zIOS4lOaciSBwdWJsaWMga2V5IOWImeWPr+S9v+eUqOm7mOiupOeahCBqcy1zZGvvvIzml6DpnIDmoKHpqoxcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmNvbmZpZy53YXNtVXJsICYmICF0aGlzLmNvbmZpZy5qc1VybD8udm0gJiYgIShnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluaykge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWVQYXJhbXNFcnJvcihgJHtDT01QT05FTlRfTkFNRX1gLCAn57y65bCRIHByaXZhdGVsaW5rIHNkayDlnLDlnYAnKVxuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKCc+PioqKioqKicsIHRoaXMuY29uZmlnKVxuICAgIGRlYnVnZ2VyXG5cbiAgICBpZiAodGhpcy5jb25maWcud2FzbVVybCkge1xuICAgICAgdGhpcy53YXNtID0gZ2V0RXhwb3J0RnVuY3Rpb24odGhpcy5jb25maWcud2FzbVVybCkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmpzVXJsKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdsb2FkIHdhbXMgZXJyb3IsIGZhbGwgYmFjayB0byB1c2UganMnLCBlKVxuICAgICAgICAgIHJldHVybiBsb2FkSlNFeHBvcnRGdW5jdGlvbih0aGlzLmNvbmZpZy5qc1VybClcbiAgICAgICAgfVxuICAgICAgICBpZiAoKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rKSB7XG4gICAgICAgICAgcmV0dXJuIChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGlua1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5qc1VybCB8fCB0aGlzLmNvbmZpZy5wdWJsaWNLZXkpIHtcbiAgICAgIHRoaXMud2FzbSA9IGxvYWRKU0V4cG9ydEZ1bmN0aW9uKHRoaXMuY29uZmlnLmpzVXJsKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndhc20gPSBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICBpbml0Q29udGFpbmVyOiAoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuaW5pdENvbnRhaW5lcixcbiAgICAgICAgY2FsbENvbnRhaW5lcjogKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rLmNhbGxDb250YWluZXIsXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIEBjYXRjaEVycm9yc0RlY29yYXRvcih7XG4gICAgY3VzdG9tSW5mbzoge1xuICAgICAgY2xhc3NOYW1lOiAnQ2xvdWRiYXNlJyxcbiAgICAgIG1ldGhvZE5hbWU6ICdjYWxsQ29udGFpbmVyJyxcbiAgICB9LFxuICAgIHRpdGxlOiAn6LCD55So5aSx6LSlJyxcbiAgICBtZXNzYWdlczogW1xuICAgICAgJ+ivt+ehruiupOS7peS4i+WQhOmhue+8micsXG4gICAgICAnICAxIC0g6LCD55SoIGNhbGxDb250YWluZXIoKSDnmoTor63ms5XmiJblj4LmlbDmmK/lkKbmraPnoa4nLFxuICAgICAgJyAgMiAtIOWfn+WQjSAmIOi3r+W+hOaYr+WQpuWtmOWcqCcsXG4gICAgICBg5aaC5p6c6Zeu6aKY5L6d54S25a2Y5Zyo77yM5bu66K6u5Yiw5a6Y5pa56Zeu562U56S+5Yy65o+Q6Zeu5oiW5a+75om+5biu5Yqp77yaJHtDT01NVU5JVFlfU0lURV9VUkx9YCxcbiAgICBdLFxuICB9KVxuICBwdWJsaWMgYXN5bmMgY2FsbENvbnRhaW5lcihvcHRpb25zOiBJQ2FsbENvbnRhaW5lck9wdGlvbnMsIGNhbGxiYWNrPzogRnVuY3Rpb24pIHtcbiAgICBhd2FpdCB0aGlzLmluaXRDb250YWluZXIodGhpcy5jb25maWcpXG4gICAgY29uc3QgU0NPUEUgPSBgJHtDT01QT05FTlRfTkFNRX0uY2FsbENvbnRhaW5lcmBcbiAgICBjb25zdCB7IGNhbGxDb250YWluZXIgfTogeyBjYWxsQ29udGFpbmVyOiAob3B0aW9uczogSUNhbGxUY2JDb250YWluZXJPcHRpb25zKSA9PiB2b2lkIH0gPSAoYXdhaXQgdGhpcy53YXNtKSBhcyBhbnlcbiAgICBjb25zdCB7XG4gICAgICB1cmwsXG4gICAgICBtZXRob2QgPSAnR0VUJyxcbiAgICAgIGhlYWRlciA9IHt9LFxuICAgICAgZGF0YSxcbiAgICAgIHRpbWVvdXQgPSA2MDAwMCxcbiAgICAgIGRhdGFUeXBlID0gJ2pzb24nLFxuICAgICAgcmVzcG9uc2VUeXBlID0gJ3RleHQnLFxuICAgICAgLi4ucmVzdE9wdGlvbnNcbiAgICB9ID0ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9XG5cbiAgICBpZiAoIXVybCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWVQYXJhbXNFcnJvcihTQ09QRSwgJ2ludmFsaWQgcmVxdWVzdCB1cmwnKVxuICAgIH1cblxuICAgIGlmICghbWV0aG9kKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZVBhcmFtc0Vycm9yKFNDT1BFLCAnaW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpXG4gICAgfVxuXG4gICAgLy8gQHRzLWlnbm9yZVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgIHVybCxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgaGVhZGVyLFxuICAgICAgICAgIGRhdGE6IHNlcmlhbGl6ZVJlcXVlc3RCb2R5KGhlYWRlciwgZGF0YSwgbWV0aG9kKSxcbiAgICAgICAgICB0aW1lb3V0LFxuICAgICAgICAgIGRhdGFUeXBlLFxuICAgICAgICAgIHJlc3BvbnNlVHlwZSxcbiAgICAgICAgICAuLi5yZXN0T3B0aW9ucyxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBkYXRhXG4gICAgICAgICAgJiYgKGlzQnVmZmVyKHBhcmFtcy5kYXRhKSB8fCB0eXBlb2YgcGFyYW1zLmRhdGEgPT09ICdzdHJpbmcnKVxuICAgICAgICAgICYmIChkYXRhIGFzIGFueSk/Lmxlbmd0aCA+IDEwMDAgKiAxMDI0ICogMTBcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmVqZWN0KG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoU0NPUEUsICdib2R5IHRvbyBsYXJnZScpKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgICAgICBsZXQgeyBkYXRhOiBnZXRCb2R5IH0gPSBwYXJhbXNcbiAgICAgICAgICBpZiAoZ2V0Qm9keSkge1xuICAgICAgICAgICAgcGFyYW1zLmRhdGEgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc0J1ZmZlcihnZXRCb2R5KSAmJiB0eXBlb2YgZ2V0Qm9keSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpc3QgPSBPYmplY3QuZW50cmllcyhnZXRCb2R5IHx8IHt9KS5yZWR1Y2UoXG4gICAgICAgICAgICAgIChsaXN0LCBba2V5LCB2YWx1ZV06IFtzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW5dKSA9PiB7XG4gICAgICAgICAgICAgICAgbGlzdC5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodmFsdWUpKX1gKVxuICAgICAgICAgICAgICAgIHJldHVybiBsaXN0XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGxpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGdldEJvZHkgPSBsaXN0LmpvaW4oJyYnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgcGFyYW1zLmRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRVcmwgPSBwYXJzZVVSTCh1cmwpXG4gICAgICAgICAgICBpZiAocGFyc2VkVXJsLnNlYXJjaCkge1xuICAgICAgICAgICAgICBwYXJzZWRVcmwuc2VhcmNoICs9IGAmJHtwYXJhbXMuZGF0YX1gXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwYXJzZWRVcmwuc2VhcmNoID0gYD8ke3BhcmFtcy5kYXRhfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcmFtcy51cmwgPSBwYXJzZWRVcmwuaHJlZlxuICAgICAgICAgICAgcGFyYW1zLmRhdGEgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjYWxsQ29udGFpbmVyKHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgc3VjY2VzczogcmVzb2x2ZSxcbiAgICAgICAgICBmYWlsOiAocmVzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHJlcyB8fCB7fVxuICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKGRhdGEsIFNDT1BFLCAnY2FsbCBjb250YWluZXIgZXJyb3InKSlcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICAgIHJldHVybiBleGVjQ2FsbGJhY2soY2FsbGJhY2ssIG51bGwsIHJlcylcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBleGVjQ2FsbGJhY2soY2FsbGJhY2ssIGUpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaW5pdENvbnRhaW5lcihjb25maWc6IE9taXQ8SUNvbnRpYW5lckNvbmZpZywgJ3dhc21VcmwnIHwgJ2pzVXJsJz4pIHtcbiAgICBjb25zdCB7IGluaXRDb250YWluZXIgfTogeyBpbml0Q29udGFpbmVyOiAob3B0aW9uczogSUluaXRUY2JDb250YWluZXJPcHRpb25zKSA9PiB2b2lkIH0gPSAoYXdhaXQgdGhpcy53YXNtKSBhcyBhbnlcbiAgICBpZiAoIXRoaXMuY29udGFpbmVySW5pdFByb21pc2UpIHtcbiAgICAgIHRoaXMuY29udGFpbmVySW5pdFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGluaXRDb250YWluZXIoe1xuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBzdWNjZXNzOiAocmVzKSA9PiB7XG4gICAgICAgICAgICBpZiAoU3RyaW5nKHJlcy5zdGF0dXNDb2RlKSAhPT0gJzIwMCcpIHtcbiAgICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKHJlcy5kYXRhLCBgJHtDT01QT05FTlRfTkFNRX0uaW5pdENvbnRhaW5lcmAsICdpbml0IGNvbnRhaW5lciBmYWlsJykpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNvbHZlKHJlcylcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhaWw6IChyZXMpID0+IHtcbiAgICAgICAgICAgIHJlamVjdChnZW5Db250YWluZXJFcnJvcihyZXMuZGF0YSwgYCR7Q09NUE9ORU5UX05BTUV9LmluaXRDb250YWluZXJgLCAnaW5pdCBjb250YWluZXIgZmFpbCcpKVxuICAgICAgICAgICAgdGhpcy5jb250YWluZXJJbml0UHJvbWlzZSA9IG51bGxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbml0UHJvbWlzZVxuICB9XG59XG5cbmNvbnN0IGNvbXBvbmVudDogSUNsb3VkYmFzZUNvbXBvbmVudCA9IHtcbiAgbmFtZTogQ09NUE9ORU5UX05BTUUsXG4gIG5hbWVzcGFjZTogJ2NvbnRhaW5lcicsXG4gIGVudGl0eShjb25maWc6IElDb250aWFuZXJDb25maWcpIHtcbiAgICBpZiAodGhpcy5jb250YWluZXJJbnN0YW5jZSkge1xuICAgICAgcHJpbnRXYXJuKEVSUk9SUy5JTlZBTElEX09QRVJBVElPTiwgJ2V2ZXJ5IGNsb3VkYmFzZSBpbnN0YW5jZSBzaG91bGQgaGFzIG9ubHkgb25lIGNvbnRhaW5lciBvYmplY3QnKVxuICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVySW5zdGFuY2VcbiAgICB9XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBDbG91ZGJhc2VDb250YWluZXJzKGNvbmZpZylcbiAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlID0gaW5zdGFuY2VcbiAgICB0aGlzLmNhbGxDb250YWluZXIgPSBpbnN0YW5jZS5jYWxsQ29udGFpbmVyLmJpbmQoaW5zdGFuY2UpXG5cbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbnN0YW5jZVxuICB9LFxufVxudHJ5IHtcbiAgY2xvdWRiYXNlLnJlZ2lzdGVyQ29tcG9uZW50KGNvbXBvbmVudClcbn0gY2F0Y2ggKGUpIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckNvbnRhaW5lcnMoYXBwOiBQaWNrPElDbG91ZGJhc2UsICdyZWdpc3RlckNvbXBvbmVudCc+KSB7XG4gIHRyeSB7XG4gICAgYXBwLnJlZ2lzdGVyQ29tcG9uZW50KGNvbXBvbmVudClcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybihlKVxuICB9XG59XG4iXX0=
311
+ function getExportFunction(url, module, mode) {
312
+ if (mode === void 0) { mode = 'go'; }
313
+ return __awaiter(this, void 0, void 0, function () {
314
+ function instantiateStreaming(resp, importObject, brotliCompressed) {
315
+ if (brotliCompressed === void 0) { brotliCompressed = false; }
316
+ return __awaiter(this, void 0, void 0, function () {
317
+ var source, buffer;
318
+ return __generator(this, function (_a) {
319
+ switch (_a.label) {
320
+ case 0:
321
+ if (!(brotliCompressed || !WebAssembly.instantiateStreaming)) return [3, 3];
322
+ return [4, resp];
323
+ case 1: return [4, (_a.sent()).arrayBuffer()];
324
+ case 2:
325
+ source = _a.sent();
326
+ buffer = brotliCompressed ? (0, decompress_1.default)(new Int8Array(source)) : source;
327
+ return [2, WebAssembly.instantiate(buffer, importObject)];
328
+ case 3: return [2, WebAssembly.instantiateStreaming(resp, importObject)];
329
+ }
330
+ });
331
+ });
332
+ }
333
+ var importObject, go, brotliCompressed, reuslt;
334
+ return __generator(this, function (_a) {
335
+ switch (_a.label) {
336
+ case 0:
337
+ importObject = __assign({ env: {
338
+ memoryBase: 0,
339
+ tableBase: 0,
340
+ memory: new WebAssembly.Memory({
341
+ initial: 256,
342
+ }),
343
+ } }, module);
344
+ brotliCompressed = isBrotliCompressed(url);
345
+ if (mode === 'go') {
346
+ go = new go_wams_exec_1.default();
347
+ go._initedModulePromise = new Promise(function (resolve) {
348
+ go._initedModuleResolve = resolve;
349
+ });
350
+ importObject = __assign(__assign({}, go.importObject), { env: __assign(__assign({}, go.importObject.env), { exportModule: function (module) {
351
+ return go._initedModuleResolve(module);
352
+ } }) });
353
+ }
354
+ return [4, instantiateStreaming(fetch(url), importObject, brotliCompressed)];
355
+ case 1:
356
+ reuslt = _a.sent();
357
+ if (!(mode === 'go')) return [3, 3];
358
+ return [4, Promise.race([
359
+ go.run(reuslt.instance),
360
+ new Promise(function (resolve) { return setTimeout(function () {
361
+ resolve(null);
362
+ }, 500); }),
363
+ ])];
364
+ case 2:
365
+ _a.sent();
366
+ return [2, {
367
+ callContainer: window.callContainer,
368
+ initContainer: window.initContainer,
369
+ }];
370
+ case 3: return [2, reuslt.instance.exports];
371
+ }
372
+ });
373
+ });
374
+ }
375
+ function loadUmdModule(jsUrl, umdModuleName, targetDoc) {
376
+ if (targetDoc === void 0) { targetDoc = document; }
377
+ return new Promise(function (resolve, reject) {
378
+ var win = targetDoc.defaultView;
379
+ var script = targetDoc.createElement('script');
380
+ script.setAttribute('src', jsUrl);
381
+ script.setAttribute('class', umdModuleName);
382
+ script.addEventListener('load', function () {
383
+ if (Object.prototype.hasOwnProperty.call(win, umdModuleName)) {
384
+ return resolve(win[umdModuleName]);
385
+ }
386
+ var error = new Error("Fail to load UMD module ".concat(umdModuleName, " from [").concat(jsUrl, "]."));
387
+ return reject(error);
388
+ });
389
+ script.addEventListener('error', function (e) {
390
+ var error = new Error("main bundle [".concat(umdModuleName, "] load failed from [").concat(jsUrl, "]: ").concat((e === null || e === void 0 ? void 0 : e.message) || ''));
391
+ reject(error);
392
+ });
393
+ targetDoc.body.appendChild(script);
394
+ });
395
+ }
396
+ function loadJSExportFunction(url) {
397
+ return __awaiter(this, void 0, void 0, function () {
398
+ return __generator(this, function (_a) {
399
+ return [2, loadUmdModule(url, 'cloudbase_private_link')];
400
+ });
401
+ });
402
+ }
403
+ function isBrotliCompressed(url) {
404
+ var brotliCompressed = false;
405
+ var pathname = '';
406
+ try {
407
+ var location_1 = (0, utils_1.parseURL)(url);
408
+ pathname = location_1.pathname;
409
+ }
410
+ catch (e) {
411
+ pathname = url;
412
+ }
413
+ if (/\.br$/.test(pathname)) {
414
+ brotliCompressed = true;
415
+ }
416
+ return brotliCompressed;
417
+ }
418
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLGtEQUFnRTtBQUVoRSxpRUFBMEM7QUFFMUMsZ0VBQStCO0FBQy9CLGlDQUFrRTtBQUNsRSwyQ0FBeUM7QUFDekMseUNBQTRDO0FBSXBDLElBQUEsTUFBTSxHQUF5QixxQkFBUyxPQUFsQyxFQUFFLGtCQUFrQixHQUFLLHFCQUFTLG1CQUFkLENBQWM7QUFDeEMsSUFBQSxZQUFZLEdBQWdCLGlCQUFLLGFBQXJCLEVBQUUsU0FBUyxHQUFLLGlCQUFLLFVBQVYsQ0FBVTtBQUNqQyxJQUFBLG9CQUFvQixHQUFLLG1CQUFPLHFCQUFaLENBQVk7QUFFeEM7SUFBaUMsc0NBQUs7SUFFcEMsNEJBQVksS0FBSyxFQUFFLE9BQU87UUFBMUIsaUJBT0M7UUFOQyxJQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3pCLElBQUksRUFBRSxNQUFNLENBQUMsY0FBYztZQUMzQixHQUFHLEVBQUUsV0FBSSxLQUFLLGVBQUssT0FBTyxDQUFFO1NBQzdCLENBQUMsQ0FBQTtnQkFDRixrQkFBTSxHQUFHLENBQUM7UUFDVixLQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUE7O0lBQ25DLENBQUM7SUFDRCxtQ0FBTSxHQUFOO1FBQ0UsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFBO0lBQ0gsQ0FBQztJQUNILHlCQUFDO0FBQUQsQ0FBQyxBQWhCRCxDQUFpQyxLQUFLLEdBZ0JyQztBQWFELFNBQVMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQXNCLEVBQUUs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VyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3BDLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVELFNBQWUsb0JBQW9CLENBQUMsR0FBRzs7O1lBQ3JDLFdBQU8sYUFBYSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQyxFQUFBOzs7Q0FDcEQ7QUFFRCxTQUFTLGtCQUFrQixDQUFDLEdBQUc7SUFDN0IsSUFBSSxnQkFBZ0IsR0FBRyxLQUFLLENBQUE7SUFFNUIsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFBO0lBQ2pCLElBQUk7UUFDRixJQUFNLFVBQVEsR0FBRyxJQUFBLGdCQUFRLEVBQUMsR0FBRyxDQUFDLENBQUE7UUFDOUIsUUFBUSxHQUFHLFVBQVEsQ0FBQyxRQUFRLENBQUE7S0FDN0I7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLFFBQVEsR0FBRyxHQUFHLENBQUE7S0FDZjtJQUVELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUMxQixnQkFBZ0IsR0FBRyxJQUFJLENBQUE7S0FDeEI7SUFDRCxPQUFPLGdCQUFnQixDQUFBO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ2xvdWRiYXNlIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcbmltcG9ydCB7IElDbG91ZGJhc2VDb21wb25lbnQgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2NvbXBvbmVudCdcbmltcG9ydCB7IElDYWxsQ29udGFpbmVyT3B0aW9ucywgSUNvbnRpYW5lckNvbmZpZyB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY29udGFpbmVyJ1xuaW1wb3J0IHsgY29uc3RhbnRzLCB1dGlscywgaGVscGVycyB9IGZyb20gJ0BjbG91ZGJhc2UvdXRpbGl0aWVzJ1xuLy8gaW1wb3J0IGJyb3RsaVByb21pc2UgZnJvbSAnYnJvdGxpLWRlYy13YXNtJyAvLyBJbXBvcnQgdGhlIGRlZmF1bHQgZXhwb3J0XG5pbXBvcnQgZGVjb21wcmVzcyBmcm9tICdicm90bGkvZGVjb21wcmVzcydcblxuaW1wb3J0IEdvIGZyb20gJy4vZ29fd2Ftc19leGVjJ1xuaW1wb3J0IHsgaXNCdWZmZXIsIHBhcnNlVVJMLCBzZXJpYWxpemVSZXF1ZXN0Qm9keSB9IGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgeyByZXF1ZXN0IH0gZnJvbSAnLi91dGlscy9yZXF1ZXN0J1xuaW1wb3J0IHsgQ09NUE9ORU5UX05BTUUgfSBmcm9tICcuL2NvbnN0YW50cydcblxuZGVjbGFyZSBjb25zdCBjbG91ZGJhc2U6IElDbG91ZGJhc2VcblxuY29uc3QgeyBFUlJPUlMsIENPTU1VTklUWV9TSVRFX1VSTCB9ID0gY29uc3RhbnRzXG5jb25zdCB7IGV4ZWNDYWxsYmFjaywgcHJpbnRXYXJuIH0gPSB1dGlsc1xuY29uc3QgeyBjYXRjaEVycm9yc0RlY29yYXRvciB9ID0gaGVscGVyc1xuXG5jbGFzcyBJbnZhbGllUGFyYW1zRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvZGU6IGFueVxuICBjb25zdHJ1Y3RvcihzY29wZSwgbWVzc2FnZSkge1xuICAgIGNvbnN0IG1zZyA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIGNvZGU6IEVSUk9SUy5JTlZBTElEX1BBUkFNUyxcbiAgICAgIG1zZzogYFske3Njb3BlfV0gJHttZXNzYWdlfWAsXG4gICAgfSlcbiAgICBzdXBlcihtc2cpXG4gICAgdGhpcy5jb2RlID0gRVJST1JTLklOVkFMSURfUEFSQU1TXG4gIH1cbiAgdG9KU09OKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjb2RlOiB0aGlzLmNvZGUsXG4gICAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UsXG4gICAgfVxuICB9XG59XG5cbmludGVyZmFjZSBJQ2FsbFRjYkNvbnRhaW5lck9wdGlvbnMgZXh0ZW5kcyBJQ2FsbENvbnRhaW5lck9wdGlvbnMge1xuICBzdWNjZXNzOiAocmVzOiB7IHN0YXR1c0NvZGU6IHN0cmluZyB8IG51bWJlcjsgaGVhZGVyOiBJQ2FsbENvbnRhaW5lck9wdGlvbnNbJ2hlYWRlciddOyBkYXRhOiBhbnkgfSkgPT4gdm9pZFxuICBmYWlsOiAocmVzOiB7IGRhdGE6IHsgY29kZTogbnVtYmVyOyBtZXNzYWdlOiBzdHJpbmcgfSB9KSA9PiB2b2lkXG59XG5cbmludGVyZmFjZSBJSW5pdFRjYkNvbnRhaW5lck9wdGlvbnMge1xuICBjb25maWc6IE9taXQ8SUNvbnRpYW5lckNvbmZpZywgJ3dhc21VcmwnIHwgJ2pzVXJsJz5cbiAgc3VjY2VzczogKHJlczogeyBzdGF0dXNDb2RlOiBzdHJpbmcgfCBudW1iZXI7IGhlYWRlcjogSUNhbGxDb250YWluZXJPcHRpb25zWydoZWFkZXInXTsgZGF0YTogYW55IH0pID0+IHZvaWRcbiAgZmFpbDogKHJlczogeyBkYXRhOiB7IGNvZGU6IG51bWJlcjsgbWVzc2FnZTogc3RyaW5nIH0gfSkgPT4gdm9pZFxufVxuXG5mdW5jdGlvbiBnZW5Db250YWluZXJFcnJvcihkYXRhLCBzY29wZSA9IENPTVBPTkVOVF9OQU1FLCBkZWZhdWx0TWVzc2FnZSA9ICdjYWxsIGNvbnRhaW5lciBlcnJvcicpIHtcbiAgY29uc3QgZXJyb3IgPSBkYXRhIGluc3RhbmNlb2YgRXJyb3IgPyBkYXRhIDogbmV3IEVycm9yKGBbJHtzY29wZX1dICR7ZGF0YT8ubWVzc2FnZSB8fCBkZWZhdWx0TWVzc2FnZX1gKVxuICA7KGVycm9yIGFzIGFueSkuY29kZSA9IGRhdGE/LmNvZGUgfHwgJ1VOS05PV05fRVJST1InXG4gIHJldHVybiBlcnJvclxufVxuXG5jbGFzcyBDbG91ZGJhc2VDb250YWluZXJzIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IElDb250aWFuZXJDb25maWdcbiAgcHJpdmF0ZSB3YXNtOiBQcm9taXNlPFdlYkFzc2VtYmx5LkV4cG9ydHM+XG4gIHByaXZhdGUgY29udGFpbmVySW5pdFByb21pc2U6IC8qIFByb21pc2U8YW55PiovIGFueSB8IG51bGxcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IElDb250aWFuZXJDb25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLndhc21VcmwgJiYgIXRoaXMuY29uZmlnLmpzVXJsICYmICEod2luZG93IGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluaykge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWVQYXJhbXNFcnJvcihgJHtDT01QT05FTlRfTkFNRX1gLCAn57y65bCRIHByaXZhdGVsaW5rIHNkayDlnLDlnYAnKVxuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbmZpZy53YXNtVXJsKSB7XG4gICAgICB0aGlzLndhc20gPSBnZXRFeHBvcnRGdW5jdGlvbih0aGlzLmNvbmZpZy53YXNtVXJsLCB7XG4gICAgICAgIHV0aWxzOiB7XG4gICAgICAgICAgaW5mbyhlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgfSxcbiAgICAgIH0pLmNhdGNoKChlKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5qc1VybCkge1xuICAgICAgICAgIGNvbnNvbGUud2FybignbG9hZCB3YW1zIGVycm9yLCBmYWxsIGJhY2sgdG8gdXNlIGpzJywgZSlcbiAgICAgICAgICByZXR1cm4gbG9hZEpTRXhwb3J0RnVuY3Rpb24odGhpcy5jb25maWcuanNVcmwpXG4gICAgICAgIH0gaWYgKCh3aW5kb3cgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rKSB7XG4gICAgICAgICAgcmV0dXJuICh3aW5kb3cgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rXG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZVxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLmpzVXJsKSB7XG4gICAgICB0aGlzLndhc20gPSBsb2FkSlNFeHBvcnRGdW5jdGlvbih0aGlzLmNvbmZpZy5qc1VybClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53YXNtID0gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgaW5pdENvbnRhaW5lcjogKHdpbmRvdyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuaW5pdENvbnRhaW5lcixcbiAgICAgICAgY2FsbENvbnRhaW5lcjogKHdpbmRvdyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuY2FsbENvbnRhaW5lcixcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgQGNhdGNoRXJyb3JzRGVjb3JhdG9yKHtcbiAgICBjdXN0b21JbmZvOiB7XG4gICAgICBjbGFzc05hbWU6ICdDbG91ZGJhc2UnLFxuICAgICAgbWV0aG9kTmFtZTogJ2NhbGxDb250YWluZXInLFxuICAgIH0sXG4gICAgdGl0bGU6ICfosIPnlKjlpLHotKUnLFxuICAgIG1lc3NhZ2VzOiBbXG4gICAgICAn6K+356Gu6K6k5Lul5LiL5ZCE6aG577yaJyxcbiAgICAgICcgIDEgLSDosIPnlKggY2FsbENvbnRhaW5lcigpIOeahOivreazleaIluWPguaVsOaYr+WQpuato+ehricsXG4gICAgICAnICAyIC0g5Z+f5ZCNICYg6Lev5b6E5piv5ZCm5a2Y5ZyoJyxcbiAgICAgIGDlpoLmnpzpl67popjkvp3nhLblrZjlnKjvvIzlu7rorq7liLDlrpjmlrnpl67nrZTnpL7ljLrmj5Dpl67miJblr7vmib7luK7liqnvvJoke0NPTU1VTklUWV9TSVRFX1VSTH1gLFxuICAgIF0sXG4gIH0pXG4gIHB1YmxpYyBhc3luYyBjYWxsQ29udGFpbmVyKG9wdGlvbnM6IElDYWxsQ29udGFpbmVyT3B0aW9ucywgY2FsbGJhY2s/OiBGdW5jdGlvbikge1xuICAgIGF3YWl0IHRoaXMuaW5pdENvbnRhaW5lcih0aGlzLmNvbmZpZylcbiAgICBjb25zdCBTQ09QRSA9IGAke0NPTVBPTkVOVF9OQU1FfS5jYWxsQ29udGFpbmVyYFxuICAgIGNvbnN0IHsgY2FsbENvbnRhaW5lciB9OiB7IGNhbGxDb250YWluZXI6IChvcHRpb25zOiBJQ2FsbFRjYkNvbnRhaW5lck9wdGlvbnMpID0+IHZvaWQgfSA9IChhd2FpdCB0aGlzLndhc20pIGFzIGFueVxuICAgIGNvbnN0IHtcbiAgICAgIHVybCxcbiAgICAgIG1ldGhvZCA9ICdHRVQnLFxuICAgICAgaGVhZGVyID0ge30sXG4gICAgICBkYXRhLFxuICAgICAgdGltZW91dCA9IDYwMDAwLFxuICAgICAgZGF0YVR5cGUgPSAnanNvbicsXG4gICAgICByZXNwb25zZVR5cGUgPSAndGV4dCcsXG4gICAgICAuLi5yZXN0T3B0aW9uc1xuICAgIH0gPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgIH1cblxuICAgIGlmICghdXJsKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZVBhcmFtc0Vycm9yKFNDT1BFLCAnaW52YWxpZCByZXF1ZXN0IHVybCcpXG4gICAgfVxuXG4gICAgaWYgKCFtZXRob2QpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoU0NPUEUsICdpbnZhbGlkIHJlcXVlc3QgbWV0aG9kJylcbiAgICB9XG5cbiAgICAvLyBAdHMtaWdub3JlXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICBoZWFkZXIsXG4gICAgICAgICAgZGF0YTogc2VyaWFsaXplUmVxdWVzdEJvZHkoaGVhZGVyLCBkYXRhKSxcbiAgICAgICAgICB0aW1lb3V0LFxuICAgICAgICAgIGRhdGFUeXBlLFxuICAgICAgICAgIHJlc3BvbnNlVHlwZSxcbiAgICAgICAgICAuLi5yZXN0T3B0aW9ucyxcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiDpnZ4gYnVmZmVyXG4gICAgICAgICAqL1xuICAgICAgICBpZiAocGFyYW1zLmRhdGEgIT09IHVuZGVmaW5lZCAmJiAhaXNCdWZmZXIocGFyYW1zLmRhdGEpKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBwYXJhbXMuZGF0YSAhPT0gJ3N0cmluZycgJiYgbWV0aG9kID09PSAnR0VUJykge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgY29uc3QgbGlzdCA9IE9iamVjdC5lbnRyaWVzKHBhcmFtcy5kYXRhIHx8IHt9KS5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKGxpc3QsIFtrZXksIHZhbHVlXTogW3N0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbl0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGxpc3QucHVzaChgJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKHZhbHVlKSl9YClcbiAgICAgICAgICAgICAgICAgIHJldHVybiBsaXN0XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBpZiAobGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMuZGF0YSA9IGxpc3Quam9pbignJicpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ0dFVCcgJiYgdHlwZW9mIHBhcmFtcy5kYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkVXJsID0gcGFyc2VVUkwodXJsKVxuICAgICAgICAgICAgaWYgKHBhcnNlZFVybC5zZWFyY2gpIHtcbiAgICAgICAgICAgICAgcGFyc2VkVXJsLnNlYXJjaCArPSBwYXJhbXMuZGF0YVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcGFyc2VkVXJsLnNlYXJjaCA9IGA/JHtwYXJhbXMuZGF0YX1gXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJhbXMudXJsID0gcGFyc2VkVXJsLmhyZWZcbiAgICAgICAgICAgIHBhcmFtcy5kYXRhID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGRhdGFcbiAgICAgICAgICAmJiAoaXNCdWZmZXIocGFyYW1zLmRhdGEpIHx8IHR5cGVvZiBwYXJhbXMuZGF0YSA9PT0gJ3N0cmluZycpXG4gICAgICAgICAgJiYgKGRhdGEgYXMgYW55KT8ubGVuZ3RoID4gMTAwMCAqIDEwMjQgKiAxMFxuICAgICAgICApIHtcbiAgICAgICAgICByZWplY3QobmV3IEludmFsaWVQYXJhbXNFcnJvcihTQ09QRSwgJ2JvZHkgdG9vIGxhcmdlJykpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBjYWxsQ29udGFpbmVyKHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgc3VjY2VzczogcmVzb2x2ZSxcbiAgICAgICAgICBmYWlsOiAocmVzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHJlcyB8fCB7fVxuICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKGRhdGEsIFNDT1BFLCAnY2FsbCBjb250YWluZXIgZXJyb3InKSlcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICAgIHJldHVybiBleGVjQ2FsbGJhY2soY2FsbGJhY2ssIG51bGwsIHJlcylcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBleGVjQ2FsbGJhY2soY2FsbGJhY2ssIGUpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaW5pdENvbnRhaW5lcihjb25maWc6IE9taXQ8SUNvbnRpYW5lckNvbmZpZywgJ3dhc21VcmwnIHwgJ2pzVXJsJz4pIHtcbiAgICBjb25zdCB7IGluaXRDb250YWluZXIgfTogeyBpbml0Q29udGFpbmVyOiAob3B0aW9uczogSUluaXRUY2JDb250YWluZXJPcHRpb25zKSA9PiB2b2lkIH0gPSAoYXdhaXQgdGhpcy53YXNtKSBhcyBhbnlcbiAgICBpZiAoIXRoaXMuY29udGFpbmVySW5pdFByb21pc2UpIHtcbiAgICAgIHRoaXMuY29udGFpbmVySW5pdFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGluaXRDb250YWluZXIoe1xuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBzdWNjZXNzKHJlcykge1xuICAgICAgICAgICAgaWYgKFN0cmluZyhyZXMuc3RhdHVzQ29kZSkgIT09ICcyMDAnKSB7XG4gICAgICAgICAgICAgIHJlamVjdChnZW5Db250YWluZXJFcnJvcihyZXMuZGF0YSwgYCR7Q09NUE9ORU5UX05BTUV9LmluaXRDb250YWluZXJgLCAnaW5pdCBjb250YWluZXIgZmFpbCcpKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzb2x2ZShyZXMpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBmYWlsKHJlcykge1xuICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKHJlcy5kYXRhLCBgJHtDT01QT05FTlRfTkFNRX0uaW5pdENvbnRhaW5lcmAsICdpbml0IGNvbnRhaW5lciBmYWlsJykpXG4gICAgICAgICAgICB0aGlzLl9jb250YWluZXJJbml0UHJvbWlzID0gbnVsbFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbnRhaW5lckluaXRQcm9taXNlXG4gIH1cbn1cblxuY29uc3QgY29tcG9uZW50OiBJQ2xvdWRiYXNlQ29tcG9uZW50ID0ge1xuICBuYW1lOiBDT01QT05FTlRfTkFNRSxcbiAgbmFtZXNwYWNlOiAnY29udGFpbmVyJyxcbiAgZW50aXR5KGNvbmZpZzogSUNvbnRpYW5lckNvbmZpZykge1xuICAgIGlmICh0aGlzLmNvbnRhaW5lckluc3RhbmNlKSB7XG4gICAgICBwcmludFdhcm4oRVJST1JTLklOVkFMSURfT1BFUkFUSU9OLCAnZXZlcnkgY2xvdWRiYXNlIGluc3RhbmNlIHNob3VsZCBoYXMgb25seSBvbmUgY29udGFpbmVyIG9iamVjdCcpXG4gICAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbnN0YW5jZVxuICAgIH1cblxuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IENsb3VkYmFzZUNvbnRhaW5lcnMoY29uZmlnKVxuICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UgPSBpbnN0YW5jZVxuICAgIHRoaXMuY2FsbENvbnRhaW5lciA9IGluc3RhbmNlLmNhbGxDb250YWluZXIuYmluZChpbnN0YW5jZSlcblxuICAgIHJldHVybiB0aGlzLmNvbnRhaW5lckluc3RhbmNlXG4gIH0sXG59XG50cnkge1xuICBjbG91ZGJhc2UucmVnaXN0ZXJDb21wb25lbnQoY29tcG9uZW50KVxufSBjYXRjaCAoZSkge31cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyQ29udGFpbmVycyhhcHA6IFBpY2s8SUNsb3VkYmFzZSwgJ3JlZ2lzdGVyQ29tcG9uZW50Jz4pIHtcbiAgdHJ5IHtcbiAgICBhcHAucmVnaXN0ZXJDb21wb25lbnQoY29tcG9uZW50KVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKGUpXG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0RXhwb3J0RnVuY3Rpb24odXJsLCBtb2R1bGUsIG1vZGUgPSAnZ28nKSB7XG4gIGFzeW5jIGZ1bmN0aW9uIGluc3RhbnRpYXRlU3RyZWFtaW5nKHJlc3AsIGltcG9ydE9iamVjdCwgYnJvdGxpQ29tcHJlc3NlZCA9IGZhbHNlKSB7XG4gICAgaWYgKGJyb3RsaUNvbXByZXNzZWQgfHwgIVdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKSB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBhd2FpdCAoYXdhaXQgcmVzcCkuYXJyYXlCdWZmZXIoKVxuICAgICAgY29uc3QgYnVmZmVyID0gYnJvdGxpQ29tcHJlc3NlZCA/IGRlY29tcHJlc3MobmV3IEludDhBcnJheShzb3VyY2UpKSA6IHNvdXJjZVxuICAgICAgcmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlciwgaW1wb3J0T2JqZWN0KVxuICAgIH1cblxuICAgIHJldHVybiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyhyZXNwLCBpbXBvcnRPYmplY3QpXG4gIH1cblxuICBsZXQgaW1wb3J0T2JqZWN0ID0ge1xuICAgIGVudjoge1xuICAgICAgbWVtb3J5QmFzZTogMCxcbiAgICAgIHRhYmxlQmFzZTogMCxcbiAgICAgIG1lbW9yeTogbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7XG4gICAgICAgIGluaXRpYWw6IDI1NixcbiAgICAgIH0pLFxuICAgICAgLy8gdGFibGU6IG5ldyBXZWJBc3NlbWJseS5UYWJsZSh7XG4gICAgICAvLyAgIGluaXRpYWw6IDIsXG4gICAgICAvLyAgIGVsZW1lbnQ6ICdhbnlmdW5jJyxcbiAgICAgIC8vIH0pLFxuICAgIH0sXG4gICAgLi4ubW9kdWxlLFxuICB9XG4gIGxldCBnb1xuICBjb25zdCBicm90bGlDb21wcmVzc2VkID0gaXNCcm90bGlDb21wcmVzc2VkKHVybClcblxuICBpZiAobW9kZSA9PT0gJ2dvJykge1xuICAgIGdvID0gbmV3IEdvKClcbiAgICBnby5faW5pdGVkTW9kdWxlUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICBnby5faW5pdGVkTW9kdWxlUmVzb2x2ZSA9IHJlc29sdmVcbiAgICB9KVxuICAgIGltcG9ydE9iamVjdCA9IHtcbiAgICAgIC4uLmdvLmltcG9ydE9iamVjdCxcbiAgICAgIGVudjoge1xuICAgICAgICAuLi5nby5pbXBvcnRPYmplY3QuZW52LFxuICAgICAgICBleHBvcnRNb2R1bGUobW9kdWxlKSB7XG4gICAgICAgICAgcmV0dXJuIGdvLl9pbml0ZWRNb2R1bGVSZXNvbHZlKG1vZHVsZSlcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfVxuICB9XG5cbiAgY29uc3QgcmV1c2x0ID0gYXdhaXQgaW5zdGFudGlhdGVTdHJlYW1pbmcoZmV0Y2godXJsKSwgaW1wb3J0T2JqZWN0LCBicm90bGlDb21wcmVzc2VkKVxuXG4gIGlmIChtb2RlID09PSAnZ28nKSB7XG4gICAgYXdhaXQgUHJvbWlzZS5yYWNlKFtcbiAgICAgIGdvLnJ1bihyZXVzbHQuaW5zdGFuY2UpLFxuICAgICAgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgcmVzb2x2ZShudWxsKVxuICAgICAgfSwgNTAwKSwpLFxuICAgIF0pXG5cbiAgICByZXR1cm4ge1xuICAgICAgY2FsbENvbnRhaW5lcjogKHdpbmRvdyBhcyBhbnkpLmNhbGxDb250YWluZXIsXG4gICAgICBpbml0Q29udGFpbmVyOiAod2luZG93IGFzIGFueSkuaW5pdENvbnRhaW5lcixcbiAgICB9XG4gIH1cblxuICAvLyBpZiAobW9kZSA9PT0gJ2dvJykge1xuICAvLyAgIGdvLnJ1bihyZXVzbHQuaW5zdGFuY2UpXG4gIC8vICAgY29uc3QgbW9kdWxlID0gYXdhaXQgZ28uX2luaXRlZE1vZHVsZVByb21pc2VcbiAgLy8gICByZXR1cm4gbW9kdWxlXG4gIC8vIH1cblxuICByZXR1cm4gcmV1c2x0Lmluc3RhbmNlLmV4cG9ydHNcbn1cblxuZnVuY3Rpb24gbG9hZFVtZE1vZHVsZShqc1VybDogc3RyaW5nLCB1bWRNb2R1bGVOYW1lOiBzdHJpbmcsIHRhcmdldERvYzogRG9jdW1lbnQgPSBkb2N1bWVudCkge1xuICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3Qgd2luID0gdGFyZ2V0RG9jLmRlZmF1bHRWaWV3XG5cbiAgICBjb25zdCBzY3JpcHQgPSB0YXJnZXREb2MuY3JlYXRlRWxlbWVudCgnc2NyaXB0JylcbiAgICBzY3JpcHQuc2V0QXR0cmlidXRlKCdzcmMnLCBqc1VybClcbiAgICBzY3JpcHQuc2V0QXR0cmlidXRlKCdjbGFzcycsIHVtZE1vZHVsZU5hbWUpXG4gICAgc2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHdpbiwgdW1kTW9kdWxlTmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmUod2luW3VtZE1vZHVsZU5hbWUgYXMgYW55XSlcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKGBGYWlsIHRvIGxvYWQgVU1EIG1vZHVsZSAke3VtZE1vZHVsZU5hbWV9IGZyb20gWyR7anNVcmx9XS5gKVxuICAgICAgcmV0dXJuIHJlamVjdChlcnJvcilcbiAgICB9KVxuXG4gICAgc2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKGUpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKGBtYWluIGJ1bmRsZSBbJHt1bWRNb2R1bGVOYW1lfV0gbG9hZCBmYWlsZWQgZnJvbSBbJHtqc1VybH1dOiAke2U/Lm1lc3NhZ2UgfHwgJyd9YClcbiAgICAgIHJlamVjdChlcnJvcilcbiAgICB9KVxuICAgIHRhcmdldERvYy5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdClcbiAgfSlcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZEpTRXhwb3J0RnVuY3Rpb24odXJsKSB7XG4gIHJldHVybiBsb2FkVW1kTW9kdWxlKHVybCwgJ2Nsb3VkYmFzZV9wcml2YXRlX2xpbmsnKVxufVxuXG5mdW5jdGlvbiBpc0Jyb3RsaUNvbXByZXNzZWQodXJsKSB7XG4gIGxldCBicm90bGlDb21wcmVzc2VkID0gZmFsc2VcblxuICBsZXQgcGF0aG5hbWUgPSAnJ1xuICB0cnkge1xuICAgIGNvbnN0IGxvY2F0aW9uID0gcGFyc2VVUkwodXJsKVxuICAgIHBhdGhuYW1lID0gbG9jYXRpb24ucGF0aG5hbWVcbiAgfSBjYXRjaCAoZSkge1xuICAgIHBhdGhuYW1lID0gdXJsXG4gIH1cblxuICBpZiAoL1xcLmJyJC8udGVzdChwYXRobmFtZSkpIHtcbiAgICBicm90bGlDb21wcmVzc2VkID0gdHJ1ZVxuICB9XG4gIHJldHVybiBicm90bGlDb21wcmVzc2VkXG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export declare function parseURL(_url: string): HTMLAnchorElement | URL;
2
2
  export declare function isBuffer(buf: any): boolean;
3
- export declare function serializeRequestBody<T>(headers: any, data: T, method?: string): T | string;
3
+ export declare function serializeRequestBody<T>(headers: any, data: T): T | string;
@@ -17,36 +17,14 @@ function isBuffer(buf) {
17
17
  return buf instanceof ArrayBuffer || ArrayBuffer.isView(buf);
18
18
  }
19
19
  exports.isBuffer = isBuffer;
20
- function object2Qs(data) {
21
- var list = Object.entries(data || {}).reduce(function (list, _a) {
22
- var key = _a[0], value = _a[1];
23
- list.push("".concat(encodeURIComponent(key), "=").concat(encodeURIComponent(value)));
24
- return list;
25
- }, []);
26
- if (list.length) {
27
- return list.join('&');
28
- }
29
- }
30
- function serializeRequestBody(headers, data, method) {
31
- if (method === void 0) { method = 'POST'; }
20
+ function serializeRequestBody(headers, data) {
32
21
  var res = data;
33
- var contentTypeKey = 'Content-Type';
22
+ var contentType_key = 'Content-Type';
34
23
  if (typeof data === 'object' && !isBuffer(data)) {
35
- if (!headers[contentTypeKey] && !headers['content-type']) {
36
- headers[contentTypeKey] = 'application/json';
37
- }
38
- var contentType = headers[contentTypeKey] || headers['content-type'];
39
- if (method === 'GET') {
40
- try {
41
- return object2Qs(data) || '';
42
- }
43
- catch (e) {
44
- throw new Error(JSON.stringify({
45
- code: ERRORS.INVALID_PARAMS,
46
- msg: "[".concat(constants_1.COMPONENT_NAME, ".callContainer] invalid data in query method, ").concat(e.message),
47
- }));
48
- }
24
+ if (!headers[contentType_key] && !headers['content-type']) {
25
+ headers[contentType_key] = 'application/json';
49
26
  }
27
+ var contentType = headers[contentType_key] || headers['content-type'];
50
28
  switch (contentType) {
51
29
  case 'application/json': {
52
30
  try {
@@ -62,9 +40,13 @@ function serializeRequestBody(headers, data, method) {
62
40
  }
63
41
  case 'application/x-www-form-urlencoded': {
64
42
  try {
65
- var qs_1 = object2Qs(data);
66
- if (qs_1) {
67
- res = qs_1;
43
+ var list = Object.entries(data || {}).reduce(function (list, _a) {
44
+ var key = _a[0], value = _a[1];
45
+ list.push("".concat(encodeURIComponent(key), "=").concat(encodeURIComponent(value)));
46
+ return list;
47
+ }, []);
48
+ if (list.length) {
49
+ res = list.join('&');
68
50
  }
69
51
  }
70
52
  catch (e) {
@@ -80,4 +62,4 @@ function serializeRequestBody(headers, data, method) {
80
62
  return res;
81
63
  }
82
64
  exports.serializeRequestBody = serializeRequestBody;
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBQWdEO0FBQ2hELDBDQUE2QztBQUNyQyxJQUFBLE1BQU0sR0FBSyxxQkFBUyxPQUFkLENBQWM7QUFFNUIsU0FBZ0IsUUFBUSxDQUFDLElBQVk7SUFDbkMsSUFBSSxRQUFRLEVBQUU7UUFDWixJQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3JDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2IsT0FBTyxDQUFDLENBQUE7S0FDVDtJQUNELE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDdkMsQ0FBQztBQVBELDRCQU9DO0FBRUQsU0FBZ0IsUUFBUSxDQUFDLEdBQVE7SUFDL0IsT0FBTyxHQUFHLFlBQVksV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDOUQsQ0FBQztBQUZELDRCQUVDO0FBRUQsU0FBUyxTQUFTLENBQUMsSUFBSTtJQUNyQixJQUFNLElBQUksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxJQUFJLEVBQUUsRUFBOEI7WUFBN0IsR0FBRyxRQUFBLEVBQUUsS0FBSyxRQUFBO1FBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsY0FBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBRSxDQUFDLENBQUE7UUFDcEUsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7S0FDdEI7QUFDSCxDQUFDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQUksT0FBTyxFQUFFLElBQU8sRUFBRSxNQUFlO0lBQWYsdUJBQUEsRUFBQSxlQUFlO0lBQ3ZFLElBQUksR0FBRyxHQUFlLElBQUksQ0FBQTtJQUMxQixJQUFNLGNBQWMsR0FBRyxjQUFjLENBQUE7SUFDckMsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUN4RCxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsa0JBQWtCLENBQUE7U0FDN0M7UUFFRCxJQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBRXRFLElBQUksTUFBTSxLQUFLLEtBQUssRUFBRTtZQUNwQixJQUFJO2dCQUNGLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTthQUM3QjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDN0IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxjQUFjO29CQUMzQixHQUFHLEVBQUUsV0FBSSwwQkFBYywyREFBaUQsQ0FBQyxDQUFDLE9BQU8sQ0FBRTtpQkFDcEYsQ0FBQyxDQUFFLENBQUE7YUFDTDtTQUNGO1FBRUQsUUFBUSxXQUFXLEVBQUU7WUFDbkIsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUN2QixJQUFJO29CQUNGLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO2lCQUMzQjtnQkFBQyxPQUFPLENBQUMsRUFBRTtvQkFDVixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7d0JBQzdCLElBQUksRUFBRSxNQUFNLENBQUMsY0FBYzt3QkFDM0IsR0FBRyxFQUFFLFdBQUksMEJBQWMsK0VBQXFFLENBQUMsQ0FBQyxPQUFPLENBQUU7cUJBQ3hHLENBQUMsQ0FBRSxDQUFBO2lCQUNMO2dCQUNELE1BQUs7YUFDTjtZQUNELEtBQUssbUNBQW1DLENBQUMsQ0FBQztnQkFDeEMsSUFBSTtvQkFDRixJQUFNLElBQUUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7b0JBQzFCLElBQUksSUFBRSxFQUFFO3dCQUNOLEdBQUcsR0FBRyxJQUFFLENBQUE7cUJBQ1Q7aUJBQ0Y7Z0JBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO3dCQUM3QixJQUFJLEVBQUUsTUFBTSxDQUFDLGNBQWM7d0JBQzNCLEdBQUcsRUFBRSxXQUFJLDBCQUFjLCtGQUFxRixDQUFDLENBQUMsT0FBTyxDQUFFO3FCQUN4SCxDQUFDLENBQUUsQ0FBQTtpQkFDTDtnQkFDRCxNQUFLO2FBQ047U0FDRjtLQUNGO0lBQ0QsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDO0FBbERELG9EQWtEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJ0BjbG91ZGJhc2UvdXRpbGl0aWVzJ1xuaW1wb3J0IHsgQ09NUE9ORU5UX05BTUUgfSBmcm9tICcuLi9jb25zdGFudHMnXG5jb25zdCB7IEVSUk9SUyB9ID0gY29uc3RhbnRzXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVVSTChfdXJsOiBzdHJpbmcpIHtcbiAgaWYgKGRvY3VtZW50KSB7XG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuICAgIGEuaHJlZiA9IF91cmxcbiAgICByZXR1cm4gYVxuICB9XG4gIHJldHVybiBuZXcgVVJMKG5ldyBSZXF1ZXN0KF91cmwpLnVybClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQnVmZmVyKGJ1ZjogYW55KSB7XG4gIHJldHVybiBidWYgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciB8fCBBcnJheUJ1ZmZlci5pc1ZpZXcoYnVmKVxufVxuXG5mdW5jdGlvbiBvYmplY3QyUXMoZGF0YSkge1xuICBjb25zdCBsaXN0ID0gT2JqZWN0LmVudHJpZXMoZGF0YSB8fCB7fSkucmVkdWNlKChsaXN0LCBba2V5LCB2YWx1ZV06IFtzdHJpbmcsIHN0cmluZ10pID0+IHtcbiAgICBsaXN0LnB1c2goYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gKVxuICAgIHJldHVybiBsaXN0XG4gIH0sIFtdKVxuICBpZiAobGlzdC5sZW5ndGgpIHtcbiAgICByZXR1cm4gbGlzdC5qb2luKCcmJylcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplUmVxdWVzdEJvZHk8VD4oaGVhZGVycywgZGF0YTogVCwgbWV0aG9kID0gJ1BPU1QnKTogVCB8IHN0cmluZyB7XG4gIGxldCByZXM6IFQgfCBzdHJpbmcgPSBkYXRhXG4gIGNvbnN0IGNvbnRlbnRUeXBlS2V5ID0gJ0NvbnRlbnQtVHlwZSdcbiAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0JyAmJiAhaXNCdWZmZXIoZGF0YSkpIHtcbiAgICBpZiAoIWhlYWRlcnNbY29udGVudFR5cGVLZXldICYmICFoZWFkZXJzWydjb250ZW50LXR5cGUnXSkge1xuICAgICAgaGVhZGVyc1tjb250ZW50VHlwZUtleV0gPSAnYXBwbGljYXRpb24vanNvbidcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50VHlwZSA9IGhlYWRlcnNbY29udGVudFR5cGVLZXldIHx8IGhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddXG5cbiAgICBpZiAobWV0aG9kID09PSAnR0VUJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG9iamVjdDJRcyhkYXRhKSB8fCAnJ1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGNvZGU6IEVSUk9SUy5JTlZBTElEX1BBUkFNUyxcbiAgICAgICAgICBtc2c6IGBbJHtDT01QT05FTlRfTkFNRX0uY2FsbENvbnRhaW5lcl0gaW52YWxpZCBkYXRhIGluIHF1ZXJ5IG1ldGhvZCwgJHtlLm1lc3NhZ2V9YCxcbiAgICAgICAgfSksKVxuICAgICAgfVxuICAgIH1cblxuICAgIHN3aXRjaCAoY29udGVudFR5cGUpIHtcbiAgICAgIGNhc2UgJ2FwcGxpY2F0aW9uL2pzb24nOiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmVzID0gSlNPTi5zdHJpbmdpZnkoZGF0YSlcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBjb2RlOiBFUlJPUlMuSU5WQUxJRF9QQVJBTVMsXG4gICAgICAgICAgICBtc2c6IGBbJHtDT01QT05FTlRfTkFNRX0uY2FsbENvbnRhaW5lcl0gaW52YWxpZCBkYXRhIHdpdGggY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi9qc29uLCAke2UubWVzc2FnZX1gLFxuICAgICAgICAgIH0pLClcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJzoge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHFzID0gb2JqZWN0MlFzKGRhdGEpXG4gICAgICAgICAgaWYgKHFzKSB7XG4gICAgICAgICAgICByZXMgPSBxc1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBjb2RlOiBFUlJPUlMuSU5WQUxJRF9QQVJBTVMsXG4gICAgICAgICAgICBtc2c6IGBbJHtDT01QT05FTlRfTkFNRX0uY2FsbENvbnRhaW5lcl0gaW52YWxpZCBkYXRhIHdpdGggY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQsJHtlLm1lc3NhZ2V9YCxcbiAgICAgICAgICB9KSwpXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBQWdEO0FBQ2hELDBDQUE2QztBQUNyQyxJQUFBLE1BQU0sR0FBSyxxQkFBUyxPQUFkLENBQWM7QUFFNUIsU0FBZ0IsUUFBUSxDQUFDLElBQVk7SUFDbkMsSUFBSSxRQUFRLEVBQUU7UUFDWixJQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3JDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2IsT0FBTyxDQUFDLENBQUE7S0FDVDtJQUNELE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDdkMsQ0FBQztBQVBELDRCQU9DO0FBRUQsU0FBZ0IsUUFBUSxDQUFDLEdBQVE7SUFDL0IsT0FBTyxHQUFHLFlBQVksV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDOUQsQ0FBQztBQUZELDRCQUVDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQUksT0FBTyxFQUFFLElBQU87SUFDdEQsSUFBSSxHQUFHLEdBQWUsSUFBSSxDQUFBO0lBQzFCLElBQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQTtJQUN0QyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ3pELE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxrQkFBa0IsQ0FBQTtTQUM5QztRQUVELElBQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUE7UUFFdkUsUUFBUSxXQUFXLEVBQUU7WUFDbkIsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUN2QixJQUFJO29CQUNGLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO2lCQUMzQjtnQkFBQyxPQUFPLENBQUMsRUFBRTtvQkFDVixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7d0JBQzdCLElBQUksRUFBRSxNQUFNLENBQUMsY0FBYzt3QkFDM0IsR0FBRyxFQUFFLFdBQUksMEJBQWMsK0VBQXFFLENBQUMsQ0FBQyxPQUFPLENBQUU7cUJBQ3hHLENBQUMsQ0FBRSxDQUFBO2lCQUNMO2dCQUNELE1BQUs7YUFDTjtZQUNELEtBQUssbUNBQW1DLENBQUMsQ0FBQztnQkFDeEMsSUFBSTtvQkFDRixJQUFNLElBQUksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxJQUFJLEVBQUUsRUFBOEI7NEJBQTdCLEdBQUcsUUFBQSxFQUFFLEtBQUssUUFBQTt3QkFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxjQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFFLENBQUMsQ0FBQTt3QkFDcEUsT0FBTyxJQUFJLENBQUE7b0JBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO29CQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTt3QkFDZixHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtxQkFDckI7aUJBQ0Y7Z0JBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO3dCQUM3QixJQUFJLEVBQUUsTUFBTSxDQUFDLGNBQWM7d0JBQzNCLEdBQUcsRUFBRSxXQUFJLDBCQUFjLCtGQUFxRixDQUFDLENBQUMsT0FBTyxDQUFFO3FCQUN4SCxDQUFDLENBQUUsQ0FBQTtpQkFDTDtnQkFDRCxNQUFLO2FBQ047U0FDRjtLQUNGO0lBQ0QsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDO0FBMUNELG9EQTBDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJ0BjbG91ZGJhc2UvdXRpbGl0aWVzJ1xuaW1wb3J0IHsgQ09NUE9ORU5UX05BTUUgfSBmcm9tICcuLi9jb25zdGFudHMnXG5jb25zdCB7IEVSUk9SUyB9ID0gY29uc3RhbnRzXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVVSTChfdXJsOiBzdHJpbmcpIHtcbiAgaWYgKGRvY3VtZW50KSB7XG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuICAgIGEuaHJlZiA9IF91cmxcbiAgICByZXR1cm4gYVxuICB9XG4gIHJldHVybiBuZXcgVVJMKG5ldyBSZXF1ZXN0KF91cmwpLnVybClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQnVmZmVyKGJ1ZjogYW55KSB7XG4gIHJldHVybiBidWYgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciB8fCBBcnJheUJ1ZmZlci5pc1ZpZXcoYnVmKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplUmVxdWVzdEJvZHk8VD4oaGVhZGVycywgZGF0YTogVCk6IFQgfCBzdHJpbmcge1xuICBsZXQgcmVzOiBUIHwgc3RyaW5nID0gZGF0YVxuICBjb25zdCBjb250ZW50VHlwZV9rZXkgPSAnQ29udGVudC1UeXBlJ1xuICBpZiAodHlwZW9mIGRhdGEgPT09ICdvYmplY3QnICYmICFpc0J1ZmZlcihkYXRhKSkge1xuICAgIGlmICghaGVhZGVyc1tjb250ZW50VHlwZV9rZXldICYmICFoZWFkZXJzWydjb250ZW50LXR5cGUnXSkge1xuICAgICAgaGVhZGVyc1tjb250ZW50VHlwZV9rZXldID0gJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgfVxuXG4gICAgY29uc3QgY29udGVudFR5cGUgPSBoZWFkZXJzW2NvbnRlbnRUeXBlX2tleV0gfHwgaGVhZGVyc1snY29udGVudC10eXBlJ11cblxuICAgIHN3aXRjaCAoY29udGVudFR5cGUpIHtcbiAgICAgIGNhc2UgJ2FwcGxpY2F0aW9uL2pzb24nOiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmVzID0gSlNPTi5zdHJpbmdpZnkoZGF0YSlcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBjb2RlOiBFUlJPUlMuSU5WQUxJRF9QQVJBTVMsXG4gICAgICAgICAgICBtc2c6IGBbJHtDT01QT05FTlRfTkFNRX0uY2FsbENvbnRhaW5lcl0gaW52YWxpZCBkYXRhIHdpdGggY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi9qc29uLCAke2UubWVzc2FnZX1gLFxuICAgICAgICAgIH0pLClcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJzoge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGxpc3QgPSBPYmplY3QuZW50cmllcyhkYXRhIHx8IHt9KS5yZWR1Y2UoKGxpc3QsIFtrZXksIHZhbHVlXTogW3N0cmluZywgc3RyaW5nXSkgPT4ge1xuICAgICAgICAgICAgbGlzdC5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSl9YClcbiAgICAgICAgICAgIHJldHVybiBsaXN0XG4gICAgICAgICAgfSwgW10pXG4gICAgICAgICAgaWYgKGxpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXMgPSBsaXN0LmpvaW4oJyYnKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBjb2RlOiBFUlJPUlMuSU5WQUxJRF9QQVJBTVMsXG4gICAgICAgICAgICBtc2c6IGBbJHtDT01QT05FTlRfTkFNRX0uY2FsbENvbnRhaW5lcl0gaW52YWxpZCBkYXRhIHdpdGggY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQsJHtlLm1lc3NhZ2V9YCxcbiAgICAgICAgICB9KSwpXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuIl19
@@ -1,11 +1,2 @@
1
1
  import { ICloudbase } from '@cloudbase/types';
2
- import { ICallContainerOptions, IContianerConfig } from '@cloudbase/types/container';
3
- export declare class CloudbaseContainers {
4
- private readonly config;
5
- private wasm;
6
- private containerInitPromise;
7
- constructor(config: IContianerConfig);
8
- callContainer(options: ICallContainerOptions, callback?: Function): Promise<any>;
9
- initContainer(config: Omit<IContianerConfig, 'wasmUrl' | 'jsUrl'>): Promise<any>;
10
- }
11
2
  export declare function registerContainers(app: Pick<ICloudbase, 'registerComponent'>): void;