jderobot-ide-interface 0.3.17 → 0.3.19

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 (50) hide show
  1. package/dist/a5a14e7d119e89dea736.wasm +0 -0
  2. package/dist/components/Button/Button.styles.d.ts +3 -1
  3. package/dist/components/ButtonsContainer/ButtonsContainer.styles.d.ts +6 -2
  4. package/dist/components/Dropdown/Dropdown.styles.d.ts +3 -1
  5. package/dist/components/Explorer/Explorer.styles.d.ts +9 -3
  6. package/dist/components/Explorer/file_explorer/FileExplorer.styles.d.ts +3 -1
  7. package/dist/components/Explorer/file_explorer/MoreActionsMenu.styles.d.ts +12 -4
  8. package/dist/components/Explorer/file_explorer/TreeNode.styles.d.ts +18 -6
  9. package/dist/components/FileEditor/FileEditor.d.ts +2 -1
  10. package/dist/components/FileEditor/FileEditor.styles.d.ts +9 -3
  11. package/dist/components/FileEditor/IdeInterface.stories.d.ts +5 -0
  12. package/dist/components/FileEditor/TextEditor.d.ts +2 -1
  13. package/dist/components/FileEditor/lsp-client.d.ts +1 -0
  14. package/dist/components/IdeInterface/IdeInterface.d.ts +2 -1
  15. package/dist/components/IdeInterface/IdeInterface.stories.d.ts +1 -1
  16. package/dist/components/IdeInterface/IdeInterface.styles.d.ts +67 -1228
  17. package/dist/components/IdeInterface/TheoryInterface.styles.d.ts +21 -7
  18. package/dist/components/Modals/EditorKeybindModal.styles.d.ts +3 -1
  19. package/dist/components/Modals/ErrorModal.styles.d.ts +9 -3
  20. package/dist/components/Modals/Modal.styles.d.ts +68 -25
  21. package/dist/components/ProgressBar/ProgressBar.style.d.ts +3 -1
  22. package/dist/components/StatusBar/StatusBar.style.d.ts +9 -3
  23. package/dist/components/Theory/Canvas.styles.d.ts +3 -1
  24. package/dist/components/Theory/CarouselDisplay.styles.d.ts +39 -13
  25. package/dist/components/Theory/Code.styles.d.ts +3 -1
  26. package/dist/components/Theory/FormulaSection.styles.d.ts +3 -1
  27. package/dist/components/Theory/HighlightedSection.styles.d.ts +3 -1
  28. package/dist/components/Theory/Image.styles.d.ts +3 -1
  29. package/dist/components/Theory/ImageRow.styles.d.ts +3 -1
  30. package/dist/components/Theory/Link.styles.d.ts +3 -1
  31. package/dist/components/Theory/List.styles.d.ts +3 -1
  32. package/dist/components/Theory/LocalVideo.styles.d.ts +3 -1
  33. package/dist/components/Theory/NumberedList.styles.d.ts +3 -1
  34. package/dist/components/Theory/Section.styles.d.ts +6 -2
  35. package/dist/components/Theory/Subsection.styles.d.ts +6 -2
  36. package/dist/components/Theory/Subsubsection.styles.d.ts +6 -2
  37. package/dist/components/Theory/Timeline.styles.d.ts +24 -8
  38. package/dist/components/Theory/TimelineComparison.styles.d.ts +15 -5
  39. package/dist/components/Theory/YoutubeVideo.styles.d.ts +1 -1
  40. package/dist/components/VncViewer/VncViewer.styles.d.ts +12 -4
  41. package/dist/d94e0a7c7ed2cbcaeba4.html +123 -0
  42. package/dist/main.js +4071 -1890
  43. package/dist/node_fs_promises.main.js +13 -0
  44. package/dist/node_modules_vscode_diff_dist_worker_js_esm.main.js +397 -0
  45. package/dist/package.json +1 -1
  46. package/dist/vendors-node_modules_jschardet_index_js.main.js +8224 -0
  47. package/dist/vendors-node_modules_vscode_diff_dist_index_js.main.js +626 -0
  48. package/dist/vendors-node_modules_vscode_diff_dist_wire_js.main.js +2233 -0
  49. package/dist/vendors-node_modules_vscode_iconv-lite-umd_lib_iconv-lite-umd_js.main.js +18 -0
  50. package/package.json +1 -1
@@ -0,0 +1,13 @@
1
+ (this["webpackChunkjderobot_ide_interface"] = this["webpackChunkjderobot_ide_interface"] || []).push([["node_fs_promises"],{
2
+
3
+ /***/ "node:fs/promises"
4
+ /*!************************!*\
5
+ !*** node:fs/promises ***!
6
+ \************************/
7
+ () {
8
+
9
+ throw new Error("Module build failed: UnhandledSchemeError: Reading from \"node:fs/promises\" is not handled by plugins (Unhandled scheme).\nWebpack supports \"data:\" and \"file:\" URIs by default.\nYou may need an additional plugin to handle \"node:\" URIs.\n at /home/javizqh/jderobot/jderobot-ide-interface/node_modules/webpack/lib/NormalModule.js:1577:13\n at Hook.eval [as callAsync] (eval at create (/home/javizqh/jderobot/jderobot-ide-interface/node_modules/tapable/lib/HookCodeFactory.js:31:10), <anonymous>:6:1)\n at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/home/javizqh/jderobot/jderobot-ide-interface/node_modules/tapable/lib/Hook.js:21:14)\n at /home/javizqh/jderobot/jderobot-ide-interface/node_modules/webpack/lib/NormalModule.js:1571:10\n at new Promise (<anonymous>)\n at readResource (/home/javizqh/jderobot/jderobot-ide-interface/node_modules/webpack/lib/NormalModule.js:1568:14)\n at Object.processResource (/home/javizqh/jderobot/jderobot-ide-interface/node_modules/webpack/lib/NormalModule.js:1590:28)\n at processResource (/home/javizqh/jderobot/jderobot-ide-interface/node_modules/loader-runner/lib/LoaderRunner.js:295:10)\n at iteratePitchingLoaders (/home/javizqh/jderobot/jderobot-ide-interface/node_modules/loader-runner/lib/LoaderRunner.js:358:9)\n at runLoaders (/home/javizqh/jderobot/jderobot-ide-interface/node_modules/loader-runner/lib/LoaderRunner.js:525:2)\n at JavascriptModule._doBuild (/home/javizqh/jderobot/jderobot-ide-interface/node_modules/webpack/lib/NormalModule.js:1553:3)\n at JavascriptModule.build (/home/javizqh/jderobot/jderobot-ide-interface/node_modules/webpack/lib/NormalModule.js:1806:15)\n at /home/javizqh/jderobot/jderobot-ide-interface/node_modules/webpack/lib/Compilation.js:1717:12\n at JavascriptModule.needBuild (/home/javizqh/jderobot/jderobot-ide-interface/node_modules/webpack/lib/NormalModule.js:2139:32)\n at Compilation._buildModule (/home/javizqh/jderobot/jderobot-ide-interface/node_modules/webpack/lib/Compilation.js:1698:10)\n at /home/javizqh/jderobot/jderobot-ide-interface/node_modules/webpack/lib/util/AsyncQueue.js:370:10\n at Hook.eval [as callAsync] (eval at create (/home/javizqh/jderobot/jderobot-ide-interface/node_modules/tapable/lib/HookCodeFactory.js:31:10), <anonymous>:6:1)\n at AsyncQueue._startProcessing (/home/javizqh/jderobot/jderobot-ide-interface/node_modules/webpack/lib/util/AsyncQueue.js:360:26)\n at AsyncQueue._ensureProcessing (/home/javizqh/jderobot/jderobot-ide-interface/node_modules/webpack/lib/util/AsyncQueue.js:346:12)\n at process.processImmediate (node:internal/timers:574:21)");
10
+
11
+ /***/ }
12
+
13
+ }]);
@@ -0,0 +1,397 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([], factory);
6
+ else {
7
+ var a = factory();
8
+ for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
+ }
10
+ })(this, () => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ /******/ "use strict";
13
+ /******/ var __webpack_modules__ = ({
14
+
15
+ /***/ "./node_modules/@vscode/diff/dist/worker.js?esm"
16
+ /*!******************************************************!*\
17
+ !*** ./node_modules/@vscode/diff/dist/worker.js?esm ***!
18
+ \******************************************************/
19
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
20
+
21
+ __webpack_require__.r(__webpack_exports__);
22
+ /* harmony import */ var _wire_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wire.js */ "./node_modules/@vscode/diff/dist/wire.js");
23
+ /*---------------------------------------------------------------------------------------------
24
+ * Copyright (c) Microsoft Corporation. All rights reserved.
25
+ * Licensed under the MIT License. See License.txt in the project root for license information.
26
+ *--------------------------------------------------------------------------------------------*/
27
+
28
+
29
+ /// <reference lib="WebWorker" />
30
+ /**
31
+ * Diff worker entry. Built as a separate rollup output (`dist/worker.js`).
32
+ *
33
+ * The worker is intentionally narrow: it consumes a `ComputeRequest`,
34
+ * produces a `LinesDiff`, converts it to the wire shape, and posts it back.
35
+ * All `LinesDiff -> DiffResult` adapter work happens on the main thread,
36
+ * which already has the input strings.
37
+ */
38
+ const tsImpl = new _wire_js__WEBPACK_IMPORTED_MODULE_0__.D();
39
+ self.addEventListener('message', (ev) => {
40
+ const msg = ev.data;
41
+ if (msg.kind === 'init') {
42
+ void handleInit(msg);
43
+ }
44
+ else if (msg.kind === 'computeDiff') {
45
+ void handleCompute(msg);
46
+ }
47
+ });
48
+ async function handleInit(req) {
49
+ try {
50
+ if (req.backend === 'wasm') {
51
+ await (0,_wire_js__WEBPACK_IMPORTED_MODULE_0__.i)();
52
+ }
53
+ const resp = { kind: 'init', id: req.id, ok: true };
54
+ self.postMessage(resp);
55
+ }
56
+ catch (err) {
57
+ const resp = {
58
+ kind: 'computeDiff',
59
+ id: req.id,
60
+ ok: false,
61
+ error: String(err instanceof Error ? err.message : err),
62
+ };
63
+ self.postMessage(resp);
64
+ }
65
+ }
66
+ async function handleCompute(req) {
67
+ try {
68
+ let linesDiff;
69
+ if (req.backend === 'ts') {
70
+ linesDiff = computeTs(req.originalLines, req.modifiedLines, req.options);
71
+ }
72
+ else {
73
+ await (0,_wire_js__WEBPACK_IMPORTED_MODULE_0__.i)();
74
+ linesDiff = computeWasm(req.originalLines, req.modifiedLines, req.options);
75
+ }
76
+ const result = (0,_wire_js__WEBPACK_IMPORTED_MODULE_0__.l)(linesDiff);
77
+ const resp = { kind: 'computeDiff', id: req.id, ok: true, result };
78
+ self.postMessage(resp);
79
+ }
80
+ catch (err) {
81
+ const resp = {
82
+ kind: 'computeDiff',
83
+ id: req.id,
84
+ ok: false,
85
+ error: String(err instanceof Error ? err.message : err),
86
+ };
87
+ self.postMessage(resp);
88
+ }
89
+ }
90
+ function computeTs(original, modified, options) {
91
+ const internal = toInternalOptions(options);
92
+ return tsImpl.computeDiff(original, modified, internal);
93
+ }
94
+ function computeWasm(original, modified, options) {
95
+ const wasm = (0,_wire_js__WEBPACK_IMPORTED_MODULE_0__.g)();
96
+ const wasmOptions = toWasmOptions(options);
97
+ const wasmResult = wasm.computeDiffLines(original, modified, wasmOptions);
98
+ return wasmLinesDiffToLinesDiff(wasmResult);
99
+ }
100
+ function wasmLinesDiffToLinesDiff(wasmResult) {
101
+ const changes = wasmResult.changes.map((c) => {
102
+ const inner = c.innerChanges?.map((ic) => new _wire_js__WEBPACK_IMPORTED_MODULE_0__.R(new _wire_js__WEBPACK_IMPORTED_MODULE_0__.a(ic.originalStartLine, ic.originalStartColumn, ic.originalEndLine, ic.originalEndColumn), new _wire_js__WEBPACK_IMPORTED_MODULE_0__.a(ic.modifiedStartLine, ic.modifiedStartColumn, ic.modifiedEndLine, ic.modifiedEndColumn)));
103
+ return new _wire_js__WEBPACK_IMPORTED_MODULE_0__.b(new _wire_js__WEBPACK_IMPORTED_MODULE_0__.L(c.original.startLineNumber, c.original.endLineNumberExclusive), new _wire_js__WEBPACK_IMPORTED_MODULE_0__.L(c.modified.startLineNumber, c.modified.endLineNumberExclusive), inner);
104
+ });
105
+ return new _wire_js__WEBPACK_IMPORTED_MODULE_0__.c(changes, [], wasmResult.hitTimeout);
106
+ }
107
+ function toInternalOptions(options) {
108
+ return {
109
+ maxComputationTimeMs: options?.maxComputationTimeMs ?? 0,
110
+ ignoreTrimWhitespace: options?.ignoreTrimWhitespace ?? false,
111
+ computeMoves: options?.computeMoves ?? false,
112
+ extendToSubwords: options?.extendToSubwords ?? false,
113
+ };
114
+ }
115
+ function toWasmOptions(options) {
116
+ const out = {};
117
+ if (options?.maxComputationTimeMs !== undefined)
118
+ out.maxComputationTimeMs = options.maxComputationTimeMs;
119
+ if (options?.ignoreTrimWhitespace !== undefined)
120
+ out.ignoreTrimWhitespace = options.ignoreTrimWhitespace;
121
+ if (options?.computeMoves !== undefined)
122
+ out.computeMoves = options.computeMoves;
123
+ if (options?.extendToSubwords !== undefined)
124
+ out.extendToSubwords = options.extendToSubwords;
125
+ return out;
126
+ }
127
+ //# sourceMappingURL=worker.js.map
128
+
129
+
130
+ /***/ }
131
+
132
+ /******/ });
133
+ /************************************************************************/
134
+ /******/ // The module cache
135
+ /******/ const __webpack_module_cache__ = {};
136
+ /******/
137
+ /******/ // The require function
138
+ /******/ function __webpack_require__(moduleId) {
139
+ /******/ // Check if module is in cache
140
+ /******/ const cachedModule = __webpack_module_cache__[moduleId];
141
+ /******/ if (cachedModule !== undefined) {
142
+ /******/ return cachedModule.exports;
143
+ /******/ }
144
+ /******/ // Create a new module (and put it into the cache)
145
+ /******/ const module = __webpack_module_cache__[moduleId] = {
146
+ /******/ // no module.id needed
147
+ /******/ // no module.loaded needed
148
+ /******/ exports: {}
149
+ /******/ };
150
+ /******/
151
+ /******/ // Execute the module function
152
+ /******/ if (!(moduleId in __webpack_modules__)) {
153
+ /******/ delete __webpack_module_cache__[moduleId];
154
+ /******/ const e = new Error("Cannot find module '" + moduleId + "'");
155
+ /******/ e.code = 'MODULE_NOT_FOUND';
156
+ /******/ throw e;
157
+ /******/ }
158
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
159
+ /******/
160
+ /******/ // Return the exports of the module
161
+ /******/ return module.exports;
162
+ /******/ }
163
+ /******/
164
+ /******/ // expose the modules object (__webpack_modules__)
165
+ /******/ __webpack_require__.m = __webpack_modules__;
166
+ /******/
167
+ /******/ // the startup function
168
+ /******/ __webpack_require__.x = () => {
169
+ /******/ // Load entry module and return exports
170
+ /******/ // This entry module depends on other loaded chunks and execution need to be delayed
171
+ /******/ let __webpack_exports__ = __webpack_require__.O(undefined, ["vendors-node_modules_vscode_diff_dist_wire_js"], () => (__webpack_require__("./node_modules/@vscode/diff/dist/worker.js?esm")))
172
+ /******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
173
+ /******/ return __webpack_exports__;
174
+ /******/ };
175
+ /******/
176
+ /************************************************************************/
177
+ /******/ /* webpack/runtime/chunk loaded */
178
+ /******/ (() => {
179
+ /******/ const deferred = [];
180
+ /******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
181
+ /******/ if(chunkIds) {
182
+ /******/ priority = priority || 0;
183
+ /******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
184
+ /******/ deferred[i] = [chunkIds, fn, priority];
185
+ /******/ return;
186
+ /******/ }
187
+ /******/ let notFulfilled = Infinity;
188
+ /******/ for (var i = 0; i < deferred.length; i++) {
189
+ /******/ let [chunkIds, fn, priority] = deferred[i];
190
+ /******/ let fulfilled = true;
191
+ /******/ for (var j = 0; j < chunkIds.length; j++) {
192
+ /******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
193
+ /******/ chunkIds.splice(j--, 1);
194
+ /******/ } else {
195
+ /******/ fulfilled = false;
196
+ /******/ if(priority < notFulfilled) notFulfilled = priority;
197
+ /******/ }
198
+ /******/ }
199
+ /******/ if(fulfilled) {
200
+ /******/ deferred.splice(i--, 1)
201
+ /******/ const r = fn();
202
+ /******/ if (r !== undefined) result = r;
203
+ /******/ }
204
+ /******/ }
205
+ /******/ return result;
206
+ /******/ };
207
+ /******/ })();
208
+ /******/
209
+ /******/ /* webpack/runtime/create fake namespace object */
210
+ /******/ (() => {
211
+ /******/ const getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
212
+ /******/ let leafPrototypes;
213
+ /******/ // create a fake namespace object
214
+ /******/ // mode & 1: value is a module id, require it
215
+ /******/ // mode & 2: merge all properties of value into the ns
216
+ /******/ // mode & 4: return value when already ns object
217
+ /******/ // mode & 16: return value when it's Promise-like
218
+ /******/ // mode & 8|1: behave like require
219
+ /******/ __webpack_require__.t = function(value, mode) {
220
+ /******/ if(mode & 1) value = this(value);
221
+ /******/ if(mode & 8) return value;
222
+ /******/ if(typeof value === 'object' && value) {
223
+ /******/ if((mode & 4) && value.__esModule) return value;
224
+ /******/ if((mode & 16) && typeof value.then === 'function') return value;
225
+ /******/ }
226
+ /******/ const ns = Object.create(null);
227
+ /******/ __webpack_require__.r(ns);
228
+ /******/ const def = {};
229
+ /******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];
230
+ /******/ for(var current = mode & 2 && value; (typeof current == 'object' || typeof current == 'function') && !~leafPrototypes.indexOf(current); current = getProto(current)) {
231
+ /******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));
232
+ /******/ }
233
+ /******/ def['default'] = () => (value);
234
+ /******/ __webpack_require__.d(ns, def);
235
+ /******/ return ns;
236
+ /******/ };
237
+ /******/ })();
238
+ /******/
239
+ /******/ /* webpack/runtime/define property getters */
240
+ /******/ (() => {
241
+ /******/ // define getter/value functions for harmony exports
242
+ /******/ __webpack_require__.d = (exports, definition) => {
243
+ /******/ if(Array.isArray(definition)) {
244
+ /******/ var i = 0;
245
+ /******/ while(i < definition.length) {
246
+ /******/ var key = definition[i++];
247
+ /******/ var binding = definition[i++];
248
+ /******/ if(!__webpack_require__.o(exports, key)) {
249
+ /******/ if(binding === 0) {
250
+ /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
251
+ /******/ } else {
252
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
253
+ /******/ }
254
+ /******/ } else if(binding === 0) { i++; }
255
+ /******/ }
256
+ /******/ } else {
257
+ /******/ for(var key in definition) {
258
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
259
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
260
+ /******/ }
261
+ /******/ }
262
+ /******/ }
263
+ /******/ };
264
+ /******/ })();
265
+ /******/
266
+ /******/ /* webpack/runtime/ensure chunk */
267
+ /******/ (() => {
268
+ /******/ __webpack_require__.f = {};
269
+ /******/ // This file contains only the entry chunk.
270
+ /******/ // The chunk loading function for additional chunks
271
+ /******/ __webpack_require__.e = (chunkId) => {
272
+ /******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
273
+ /******/ __webpack_require__.f[key](chunkId, promises);
274
+ /******/ return promises;
275
+ /******/ }, []));
276
+ /******/ };
277
+ /******/ })();
278
+ /******/
279
+ /******/ /* webpack/runtime/get javascript chunk filename */
280
+ /******/ (() => {
281
+ /******/ // This function allow to reference async chunks and chunks that the entrypoint depends on
282
+ /******/ __webpack_require__.u = (chunkId) => {
283
+ /******/ // return url for filenames based on template
284
+ /******/ return "" + chunkId + ".main.js";
285
+ /******/ };
286
+ /******/ })();
287
+ /******/
288
+ /******/ /* webpack/runtime/global */
289
+ /******/ (() => {
290
+ /******/ __webpack_require__.g = (function() {
291
+ /******/ if (typeof globalThis === 'object') return globalThis;
292
+ /******/ try {
293
+ /******/ return this || new Function('return this')();
294
+ /******/ } catch (e) {
295
+ /******/ if (typeof window === 'object') return window;
296
+ /******/ }
297
+ /******/ })();
298
+ /******/ })();
299
+ /******/
300
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
301
+ /******/ (() => {
302
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
303
+ /******/ })();
304
+ /******/
305
+ /******/ /* webpack/runtime/make namespace object */
306
+ /******/ (() => {
307
+ /******/ // define __esModule on exports
308
+ /******/ __webpack_require__.r = (exports) => {
309
+ /******/ if(Symbol.toStringTag) {
310
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
311
+ /******/ }
312
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
313
+ /******/ };
314
+ /******/ })();
315
+ /******/
316
+ /******/ /* webpack/runtime/publicPath */
317
+ /******/ (() => {
318
+ /******/ let scriptUrl;
319
+ /******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
320
+ /******/ const document = __webpack_require__.g.document;
321
+ /******/ if (!scriptUrl && document) {
322
+ /******/ if (document.currentScript?.tagName.toUpperCase() === 'SCRIPT')
323
+ /******/ scriptUrl = document.currentScript.src;
324
+ /******/ if (!scriptUrl) {
325
+ /******/ const scripts = document.getElementsByTagName("script");
326
+ /******/ if(scripts.length) {
327
+ /******/ let i = scripts.length - 1;
328
+ /******/ while (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;
329
+ /******/ }
330
+ /******/ }
331
+ /******/ }
332
+ /******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
333
+ /******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
334
+ /******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
335
+ /******/ scriptUrl = scriptUrl.replace(/^blob:/, "").replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
336
+ /******/ __webpack_require__.p = scriptUrl;
337
+ /******/ })();
338
+ /******/
339
+ /******/ /* webpack/runtime/importScripts chunk loading */
340
+ /******/ (() => {
341
+ /******/ __webpack_require__.b = self.location + "";
342
+ /******/
343
+ /******/ // object to store loaded chunks
344
+ /******/ // "1" means "already loaded"
345
+ /******/ var installedChunks = {
346
+ /******/ "node_modules_vscode_diff_dist_worker_js_esm": 1
347
+ /******/ };
348
+ /******/
349
+ /******/ // importScripts chunk loading
350
+ /******/ var installChunk = (data) => {
351
+ /******/ let [chunkIds, moreModules, runtime] = data;
352
+ /******/ for(var moduleId in moreModules) {
353
+ /******/ if(__webpack_require__.o(moreModules, moduleId)) {
354
+ /******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
355
+ /******/ }
356
+ /******/ }
357
+ /******/ if(runtime) runtime(__webpack_require__);
358
+ /******/ while(chunkIds.length)
359
+ /******/ installedChunks[chunkIds.pop()] = 1;
360
+ /******/ parentChunkLoadingFunction(data);
361
+ /******/ };
362
+ /******/ __webpack_require__.f.i = (chunkId, promises) => {
363
+ /******/ // "1" is the signal for "already loaded"
364
+ /******/ if(!installedChunks[chunkId]) {
365
+ /******/ if(true) { // all chunks have JS
366
+ /******/ importScripts(__webpack_require__.p + __webpack_require__.u(chunkId));
367
+ /******/ }
368
+ /******/ }
369
+ /******/ };
370
+ /******/
371
+ /******/ var chunkLoadingGlobal = this["webpackChunkjderobot_ide_interface"] = this["webpackChunkjderobot_ide_interface"] || [];
372
+ /******/ var parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal);
373
+ /******/ chunkLoadingGlobal.push = installChunk;
374
+ /******/
375
+ /******/ // no HMR
376
+ /******/
377
+ /******/ // no HMR manifest
378
+ /******/ })();
379
+ /******/
380
+ /******/ /* webpack/runtime/startup chunk dependencies */
381
+ /******/ (() => {
382
+ /******/ const next = __webpack_require__.x;
383
+ /******/ __webpack_require__.x = () => {
384
+ /******/ return __webpack_require__.e("vendors-node_modules_vscode_diff_dist_wire_js").then(next);
385
+ /******/ };
386
+ /******/ })();
387
+ /******/
388
+ /************************************************************************/
389
+ /******/
390
+ /******/ // run startup
391
+ /******/ var __webpack_exports__ = __webpack_require__.x();
392
+ /******/
393
+ /******/ return __webpack_exports__;
394
+ /******/ })()
395
+ ;
396
+ });
397
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9tb2R1bGVzX3ZzY29kZV9kaWZmX2Rpc3Rfd29ya2VyX2pzX2VzbS5tYWluLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxPOzs7Ozs7Ozs7Ozs7QUNWQTtBQUNBO0FBQ0E7QUFDQTtBQUMyTTs7QUFFM007QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLHVDQUF3QjtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQiwyQ0FBUTtBQUMxQjtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQiwyQ0FBUTtBQUMxQjtBQUNBO0FBQ0EsdUJBQXVCLDJDQUFlO0FBQ3RDLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDJDQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNEQUFzRCx1Q0FBWSxLQUFLLHVDQUFLLDhGQUE4Rix1Q0FBSztBQUMvSyxtQkFBbUIsdUNBQXdCLEtBQUssdUNBQVMscUVBQXFFLHVDQUFTO0FBQ3ZJLEtBQUs7QUFDTCxlQUFlLHVDQUFTO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O1VDeEdBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7O1VBRUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBOzs7OztXQ3hDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLCtCQUErQix3Q0FBd0M7V0FDdkU7V0FDQTtXQUNBO1dBQ0E7V0FDQSxpQkFBaUIscUJBQXFCO1dBQ3RDO1dBQ0E7V0FDQSxrQkFBa0IscUJBQXFCO1dBQ3ZDO1dBQ0E7V0FDQSxLQUFLO1dBQ0w7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLEU7Ozs7O1dDM0JBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLHNEQUFzRDtXQUN0RCxzQ0FBc0MsbUdBQW1HO1dBQ3pJO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQSxFOzs7OztXQ3pCQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQSwyQ0FBMkMsMENBQTBDO1dBQ3JGLE1BQU07V0FDTiwyQ0FBMkMsZ0NBQWdDO1dBQzNFO1dBQ0EsS0FBSyx5QkFBeUI7V0FDOUI7V0FDQSxHQUFHO1dBQ0g7V0FDQTtXQUNBLDBDQUEwQyx3Q0FBd0M7V0FDbEY7V0FDQTtXQUNBO1dBQ0EsRTs7Ozs7V0N0QkE7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQSxFQUFFO1dBQ0YsRTs7Ozs7V0NSQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLEU7Ozs7O1dDSkE7V0FDQTtXQUNBO1dBQ0E7V0FDQSxHQUFHO1dBQ0g7V0FDQTtXQUNBLENBQUMsSTs7Ozs7V0NQRCx3Rjs7Ozs7V0NBQTtXQUNBO1dBQ0E7V0FDQSx1REFBdUQsaUJBQWlCO1dBQ3hFO1dBQ0EsZ0RBQWdELGFBQWE7V0FDN0QsRTs7Ozs7V0NOQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQSxrQzs7Ozs7V0NsQkE7O1dBRUE7V0FDQTtXQUNBO1dBQ0E7V0FDQTs7V0FFQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLGFBQWE7V0FDYjtXQUNBO1dBQ0E7V0FDQTs7V0FFQTtXQUNBO1dBQ0E7O1dBRUE7O1dBRUEsa0I7Ozs7O1dDcENBO1dBQ0E7V0FDQTtXQUNBLEU7Ozs7O1VFSEE7VUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL2pkZXJvYm90LWlkZS1pbnRlcmZhY2Uvd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovL2pkZXJvYm90LWlkZS1pbnRlcmZhY2UvLi9ub2RlX21vZHVsZXMvQHZzY29kZS9kaWZmL2Rpc3Qvd29ya2VyLmpzIiwid2VicGFjazovL2pkZXJvYm90LWlkZS1pbnRlcmZhY2Uvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vamRlcm9ib3QtaWRlLWludGVyZmFjZS93ZWJwYWNrL3J1bnRpbWUvY2h1bmsgbG9hZGVkIiwid2VicGFjazovL2pkZXJvYm90LWlkZS1pbnRlcmZhY2Uvd2VicGFjay9ydW50aW1lL2NyZWF0ZSBmYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vamRlcm9ib3QtaWRlLWludGVyZmFjZS93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vamRlcm9ib3QtaWRlLWludGVyZmFjZS93ZWJwYWNrL3J1bnRpbWUvZW5zdXJlIGNodW5rIiwid2VicGFjazovL2pkZXJvYm90LWlkZS1pbnRlcmZhY2Uvd2VicGFjay9ydW50aW1lL2dldCBqYXZhc2NyaXB0IGNodW5rIGZpbGVuYW1lIiwid2VicGFjazovL2pkZXJvYm90LWlkZS1pbnRlcmZhY2Uvd2VicGFjay9ydW50aW1lL2dsb2JhbCIsIndlYnBhY2s6Ly9qZGVyb2JvdC1pZGUtaW50ZXJmYWNlL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vamRlcm9ib3QtaWRlLWludGVyZmFjZS93ZWJwYWNrL3J1bnRpbWUvbWFrZSBuYW1lc3BhY2Ugb2JqZWN0Iiwid2VicGFjazovL2pkZXJvYm90LWlkZS1pbnRlcmZhY2Uvd2VicGFjay9ydW50aW1lL3B1YmxpY1BhdGgiLCJ3ZWJwYWNrOi8vamRlcm9ib3QtaWRlLWludGVyZmFjZS93ZWJwYWNrL3J1bnRpbWUvaW1wb3J0U2NyaXB0cyBjaHVuayBsb2FkaW5nIiwid2VicGFjazovL2pkZXJvYm90LWlkZS1pbnRlcmZhY2Uvd2VicGFjay9ydW50aW1lL3N0YXJ0dXAgY2h1bmsgZGVwZW5kZW5jaWVzIiwid2VicGFjazovL2pkZXJvYm90LWlkZS1pbnRlcmZhY2Uvd2VicGFjay9iZWZvcmUtc3RhcnR1cCIsIndlYnBhY2s6Ly9qZGVyb2JvdC1pZGUtaW50ZXJmYWNlL3dlYnBhY2svc3RhcnR1cCIsIndlYnBhY2s6Ly9qZGVyb2JvdC1pZGUtaW50ZXJmYWNlL3dlYnBhY2svYWZ0ZXItc3RhcnR1cCJdLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShbXSwgZmFjdG9yeSk7XG5cdGVsc2Uge1xuXHRcdHZhciBhID0gZmFjdG9yeSgpO1xuXHRcdGZvcih2YXIgaSBpbiBhKSAodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnID8gZXhwb3J0cyA6IHJvb3QpW2ldID0gYVtpXTtcblx0fVxufSkodGhpcywgKCkgPT4ge1xucmV0dXJuICIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaW1wb3J0IHsgaSBhcyBpbml0V2FzbSwgbCBhcyBsaW5lc0RpZmZUb1dpcmUsIEQgYXMgRGVmYXVsdExpbmVzRGlmZkNvbXB1dGVyLCBnIGFzIGdldFdhc20sIFIgYXMgUmFuZ2VNYXBwaW5nLCBhIGFzIFJhbmdlLCBiIGFzIERldGFpbGVkTGluZVJhbmdlTWFwcGluZywgTCBhcyBMaW5lUmFuZ2UsIGMgYXMgTGluZXNEaWZmIH0gZnJvbSAnLi93aXJlLmpzJztcblxuLy8vIDxyZWZlcmVuY2UgbGliPVwiV2ViV29ya2VyXCIgLz5cbi8qKlxuICogRGlmZiB3b3JrZXIgZW50cnkuIEJ1aWx0IGFzIGEgc2VwYXJhdGUgcm9sbHVwIG91dHB1dCAoYGRpc3Qvd29ya2VyLmpzYCkuXG4gKlxuICogVGhlIHdvcmtlciBpcyBpbnRlbnRpb25hbGx5IG5hcnJvdzogaXQgY29uc3VtZXMgYSBgQ29tcHV0ZVJlcXVlc3RgLFxuICogcHJvZHVjZXMgYSBgTGluZXNEaWZmYCwgY29udmVydHMgaXQgdG8gdGhlIHdpcmUgc2hhcGUsIGFuZCBwb3N0cyBpdCBiYWNrLlxuICogQWxsIGBMaW5lc0RpZmYgLT4gRGlmZlJlc3VsdGAgYWRhcHRlciB3b3JrIGhhcHBlbnMgb24gdGhlIG1haW4gdGhyZWFkLFxuICogd2hpY2ggYWxyZWFkeSBoYXMgdGhlIGlucHV0IHN0cmluZ3MuXG4gKi9cbmNvbnN0IHRzSW1wbCA9IG5ldyBEZWZhdWx0TGluZXNEaWZmQ29tcHV0ZXIoKTtcbnNlbGYuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChldikgPT4ge1xuICAgIGNvbnN0IG1zZyA9IGV2LmRhdGE7XG4gICAgaWYgKG1zZy5raW5kID09PSAnaW5pdCcpIHtcbiAgICAgICAgdm9pZCBoYW5kbGVJbml0KG1zZyk7XG4gICAgfVxuICAgIGVsc2UgaWYgKG1zZy5raW5kID09PSAnY29tcHV0ZURpZmYnKSB7XG4gICAgICAgIHZvaWQgaGFuZGxlQ29tcHV0ZShtc2cpO1xuICAgIH1cbn0pO1xuYXN5bmMgZnVuY3Rpb24gaGFuZGxlSW5pdChyZXEpIHtcbiAgICB0cnkge1xuICAgICAgICBpZiAocmVxLmJhY2tlbmQgPT09ICd3YXNtJykge1xuICAgICAgICAgICAgYXdhaXQgaW5pdFdhc20oKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNwID0geyBraW5kOiAnaW5pdCcsIGlkOiByZXEuaWQsIG9rOiB0cnVlIH07XG4gICAgICAgIHNlbGYucG9zdE1lc3NhZ2UocmVzcCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc3QgcmVzcCA9IHtcbiAgICAgICAgICAgIGtpbmQ6ICdjb21wdXRlRGlmZicsXG4gICAgICAgICAgICBpZDogcmVxLmlkLFxuICAgICAgICAgICAgb2s6IGZhbHNlLFxuICAgICAgICAgICAgZXJyb3I6IFN0cmluZyhlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogZXJyKSxcbiAgICAgICAgfTtcbiAgICAgICAgc2VsZi5wb3N0TWVzc2FnZShyZXNwKTtcbiAgICB9XG59XG5hc3luYyBmdW5jdGlvbiBoYW5kbGVDb21wdXRlKHJlcSkge1xuICAgIHRyeSB7XG4gICAgICAgIGxldCBsaW5lc0RpZmY7XG4gICAgICAgIGlmIChyZXEuYmFja2VuZCA9PT0gJ3RzJykge1xuICAgICAgICAgICAgbGluZXNEaWZmID0gY29tcHV0ZVRzKHJlcS5vcmlnaW5hbExpbmVzLCByZXEubW9kaWZpZWRMaW5lcywgcmVxLm9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgYXdhaXQgaW5pdFdhc20oKTtcbiAgICAgICAgICAgIGxpbmVzRGlmZiA9IGNvbXB1dGVXYXNtKHJlcS5vcmlnaW5hbExpbmVzLCByZXEubW9kaWZpZWRMaW5lcywgcmVxLm9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGxpbmVzRGlmZlRvV2lyZShsaW5lc0RpZmYpO1xuICAgICAgICBjb25zdCByZXNwID0geyBraW5kOiAnY29tcHV0ZURpZmYnLCBpZDogcmVxLmlkLCBvazogdHJ1ZSwgcmVzdWx0IH07XG4gICAgICAgIHNlbGYucG9zdE1lc3NhZ2UocmVzcCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc3QgcmVzcCA9IHtcbiAgICAgICAgICAgIGtpbmQ6ICdjb21wdXRlRGlmZicsXG4gICAgICAgICAgICBpZDogcmVxLmlkLFxuICAgICAgICAgICAgb2s6IGZhbHNlLFxuICAgICAgICAgICAgZXJyb3I6IFN0cmluZyhlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogZXJyKSxcbiAgICAgICAgfTtcbiAgICAgICAgc2VsZi5wb3N0TWVzc2FnZShyZXNwKTtcbiAgICB9XG59XG5mdW5jdGlvbiBjb21wdXRlVHMob3JpZ2luYWwsIG1vZGlmaWVkLCBvcHRpb25zKSB7XG4gICAgY29uc3QgaW50ZXJuYWwgPSB0b0ludGVybmFsT3B0aW9ucyhvcHRpb25zKTtcbiAgICByZXR1cm4gdHNJbXBsLmNvbXB1dGVEaWZmKG9yaWdpbmFsLCBtb2RpZmllZCwgaW50ZXJuYWwpO1xufVxuZnVuY3Rpb24gY29tcHV0ZVdhc20ob3JpZ2luYWwsIG1vZGlmaWVkLCBvcHRpb25zKSB7XG4gICAgY29uc3Qgd2FzbSA9IGdldFdhc20oKTtcbiAgICBjb25zdCB3YXNtT3B0aW9ucyA9IHRvV2FzbU9wdGlvbnMob3B0aW9ucyk7XG4gICAgY29uc3Qgd2FzbVJlc3VsdCA9IHdhc20uY29tcHV0ZURpZmZMaW5lcyhvcmlnaW5hbCwgbW9kaWZpZWQsIHdhc21PcHRpb25zKTtcbiAgICByZXR1cm4gd2FzbUxpbmVzRGlmZlRvTGluZXNEaWZmKHdhc21SZXN1bHQpO1xufVxuZnVuY3Rpb24gd2FzbUxpbmVzRGlmZlRvTGluZXNEaWZmKHdhc21SZXN1bHQpIHtcbiAgICBjb25zdCBjaGFuZ2VzID0gd2FzbVJlc3VsdC5jaGFuZ2VzLm1hcCgoYykgPT4ge1xuICAgICAgICBjb25zdCBpbm5lciA9IGMuaW5uZXJDaGFuZ2VzPy5tYXAoKGljKSA9PiBuZXcgUmFuZ2VNYXBwaW5nKG5ldyBSYW5nZShpYy5vcmlnaW5hbFN0YXJ0TGluZSwgaWMub3JpZ2luYWxTdGFydENvbHVtbiwgaWMub3JpZ2luYWxFbmRMaW5lLCBpYy5vcmlnaW5hbEVuZENvbHVtbiksIG5ldyBSYW5nZShpYy5tb2RpZmllZFN0YXJ0TGluZSwgaWMubW9kaWZpZWRTdGFydENvbHVtbiwgaWMubW9kaWZpZWRFbmRMaW5lLCBpYy5tb2RpZmllZEVuZENvbHVtbikpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBEZXRhaWxlZExpbmVSYW5nZU1hcHBpbmcobmV3IExpbmVSYW5nZShjLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlciwgYy5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKSwgbmV3IExpbmVSYW5nZShjLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlciwgYy5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKSwgaW5uZXIpO1xuICAgIH0pO1xuICAgIHJldHVybiBuZXcgTGluZXNEaWZmKGNoYW5nZXMsIFtdLCB3YXNtUmVzdWx0LmhpdFRpbWVvdXQpO1xufVxuZnVuY3Rpb24gdG9JbnRlcm5hbE9wdGlvbnMob3B0aW9ucykge1xuICAgIHJldHVybiB7XG4gICAgICAgIG1heENvbXB1dGF0aW9uVGltZU1zOiBvcHRpb25zPy5tYXhDb21wdXRhdGlvblRpbWVNcyA/PyAwLFxuICAgICAgICBpZ25vcmVUcmltV2hpdGVzcGFjZTogb3B0aW9ucz8uaWdub3JlVHJpbVdoaXRlc3BhY2UgPz8gZmFsc2UsXG4gICAgICAgIGNvbXB1dGVNb3Zlczogb3B0aW9ucz8uY29tcHV0ZU1vdmVzID8/IGZhbHNlLFxuICAgICAgICBleHRlbmRUb1N1YndvcmRzOiBvcHRpb25zPy5leHRlbmRUb1N1YndvcmRzID8/IGZhbHNlLFxuICAgIH07XG59XG5mdW5jdGlvbiB0b1dhc21PcHRpb25zKG9wdGlvbnMpIHtcbiAgICBjb25zdCBvdXQgPSB7fTtcbiAgICBpZiAob3B0aW9ucz8ubWF4Q29tcHV0YXRpb25UaW1lTXMgIT09IHVuZGVmaW5lZClcbiAgICAgICAgb3V0Lm1heENvbXB1dGF0aW9uVGltZU1zID0gb3B0aW9ucy5tYXhDb21wdXRhdGlvblRpbWVNcztcbiAgICBpZiAob3B0aW9ucz8uaWdub3JlVHJpbVdoaXRlc3BhY2UgIT09IHVuZGVmaW5lZClcbiAgICAgICAgb3V0Lmlnbm9yZVRyaW1XaGl0ZXNwYWNlID0gb3B0aW9ucy5pZ25vcmVUcmltV2hpdGVzcGFjZTtcbiAgICBpZiAob3B0aW9ucz8uY29tcHV0ZU1vdmVzICE9PSB1bmRlZmluZWQpXG4gICAgICAgIG91dC5jb21wdXRlTW92ZXMgPSBvcHRpb25zLmNvbXB1dGVNb3ZlcztcbiAgICBpZiAob3B0aW9ucz8uZXh0ZW5kVG9TdWJ3b3JkcyAhPT0gdW5kZWZpbmVkKVxuICAgICAgICBvdXQuZXh0ZW5kVG9TdWJ3b3JkcyA9IG9wdGlvbnMuZXh0ZW5kVG9TdWJ3b3JkcztcbiAgICByZXR1cm4gb3V0O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d29ya2VyLmpzLm1hcFxuIiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxuY29uc3QgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHRjb25zdCBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0Y29uc3QgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRpZiAoIShtb2R1bGVJZCBpbiBfX3dlYnBhY2tfbW9kdWxlc19fKSkge1xuXHRcdGRlbGV0ZSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRcdGNvbnN0IGUgPSBuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiICsgbW9kdWxlSWQgKyBcIidcIik7XG5cdFx0ZS5jb2RlID0gJ01PRFVMRV9OT1RfRk9VTkQnO1xuXHRcdHRocm93IGU7XG5cdH1cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0obW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4vLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuX193ZWJwYWNrX3JlcXVpcmVfXy5tID0gX193ZWJwYWNrX21vZHVsZXNfXztcblxuLy8gdGhlIHN0YXJ0dXAgZnVuY3Rpb25cbl9fd2VicGFja19yZXF1aXJlX18ueCA9ICgpID0+IHtcblx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG5cdC8vIFRoaXMgZW50cnkgbW9kdWxlIGRlcGVuZHMgb24gb3RoZXIgbG9hZGVkIGNodW5rcyBhbmQgZXhlY3V0aW9uIG5lZWQgdG8gYmUgZGVsYXllZFxuXHRsZXQgX193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyh1bmRlZmluZWQsIFtcInZlbmRvcnMtbm9kZV9tb2R1bGVzX3ZzY29kZV9kaWZmX2Rpc3Rfd2lyZV9qc1wiXSwgKCkgPT4gKF9fd2VicGFja19yZXF1aXJlX18oXCIuL25vZGVfbW9kdWxlcy9AdnNjb2RlL2RpZmYvZGlzdC93b3JrZXIuanM/ZXNtXCIpKSlcblx0X193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyhfX3dlYnBhY2tfZXhwb3J0c19fKTtcblx0cmV0dXJuIF9fd2VicGFja19leHBvcnRzX187XG59O1xuXG4iLCJjb25zdCBkZWZlcnJlZCA9IFtdO1xuX193ZWJwYWNrX3JlcXVpcmVfXy5PID0gKHJlc3VsdCwgY2h1bmtJZHMsIGZuLCBwcmlvcml0eSkgPT4ge1xuXHRpZihjaHVua0lkcykge1xuXHRcdHByaW9yaXR5ID0gcHJpb3JpdHkgfHwgMDtcblx0XHRmb3IodmFyIGkgPSBkZWZlcnJlZC5sZW5ndGg7IGkgPiAwICYmIGRlZmVycmVkW2kgLSAxXVsyXSA+IHByaW9yaXR5OyBpLS0pIGRlZmVycmVkW2ldID0gZGVmZXJyZWRbaSAtIDFdO1xuXHRcdGRlZmVycmVkW2ldID0gW2NodW5rSWRzLCBmbiwgcHJpb3JpdHldO1xuXHRcdHJldHVybjtcblx0fVxuXHRsZXQgbm90RnVsZmlsbGVkID0gSW5maW5pdHk7XG5cdGZvciAodmFyIGkgPSAwOyBpIDwgZGVmZXJyZWQubGVuZ3RoOyBpKyspIHtcblx0XHRsZXQgW2NodW5rSWRzLCBmbiwgcHJpb3JpdHldID0gZGVmZXJyZWRbaV07XG5cdFx0bGV0IGZ1bGZpbGxlZCA9IHRydWU7XG5cdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBjaHVua0lkcy5sZW5ndGg7IGorKykge1xuXHRcdFx0aWYgKChwcmlvcml0eSAmIDEgPT09IDAgfHwgbm90RnVsZmlsbGVkID49IHByaW9yaXR5KSAmJiBPYmplY3Qua2V5cyhfX3dlYnBhY2tfcmVxdWlyZV9fLk8pLmV2ZXJ5KChrZXkpID0+IChfX3dlYnBhY2tfcmVxdWlyZV9fLk9ba2V5XShjaHVua0lkc1tqXSkpKSkge1xuXHRcdFx0XHRjaHVua0lkcy5zcGxpY2Uoai0tLCAxKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGZ1bGZpbGxlZCA9IGZhbHNlO1xuXHRcdFx0XHRpZihwcmlvcml0eSA8IG5vdEZ1bGZpbGxlZCkgbm90RnVsZmlsbGVkID0gcHJpb3JpdHk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmKGZ1bGZpbGxlZCkge1xuXHRcdFx0ZGVmZXJyZWQuc3BsaWNlKGktLSwgMSlcblx0XHRcdGNvbnN0IHIgPSBmbigpO1xuXHRcdFx0aWYgKHIgIT09IHVuZGVmaW5lZCkgcmVzdWx0ID0gcjtcblx0XHR9XG5cdH1cblx0cmV0dXJuIHJlc3VsdDtcbn07IiwiY29uc3QgZ2V0UHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgPyAob2JqKSA9PiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikpIDogKG9iaikgPT4gKG9iai5fX3Byb3RvX18pO1xubGV0IGxlYWZQcm90b3R5cGVzO1xuLy8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4vLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbi8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuLy8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4vLyBtb2RlICYgMTY6IHJldHVybiB2YWx1ZSB3aGVuIGl0J3MgUHJvbWlzZS1saWtlXG4vLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuXHRpZihtb2RlICYgMSkgdmFsdWUgPSB0aGlzKHZhbHVlKTtcblx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcblx0aWYodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSkge1xuXHRcdGlmKChtb2RlICYgNCkgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuXHRcdGlmKChtb2RlICYgMTYpICYmIHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSByZXR1cm4gdmFsdWU7XG5cdH1cblx0Y29uc3QgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuXHRjb25zdCBkZWYgPSB7fTtcblx0bGVhZlByb3RvdHlwZXMgPSBsZWFmUHJvdG90eXBlcyB8fCBbbnVsbCwgZ2V0UHJvdG8oe30pLCBnZXRQcm90byhbXSksIGdldFByb3RvKGdldFByb3RvKV07XG5cdGZvcih2YXIgY3VycmVudCA9IG1vZGUgJiAyICYmIHZhbHVlOyAodHlwZW9mIGN1cnJlbnQgPT0gJ29iamVjdCcgfHwgdHlwZW9mIGN1cnJlbnQgPT0gJ2Z1bmN0aW9uJykgJiYgIX5sZWFmUHJvdG90eXBlcy5pbmRleE9mKGN1cnJlbnQpOyBjdXJyZW50ID0gZ2V0UHJvdG8oY3VycmVudCkpIHtcblx0XHRPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjdXJyZW50KS5mb3JFYWNoKChrZXkpID0+IChkZWZba2V5XSA9ICgpID0+ICh2YWx1ZVtrZXldKSkpO1xuXHR9XG5cdGRlZlsnZGVmYXVsdCddID0gKCkgPT4gKHZhbHVlKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBkZWYpO1xuXHRyZXR1cm4gbnM7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIvdmFsdWUgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGlmKEFycmF5LmlzQXJyYXkoZGVmaW5pdGlvbikpIHtcblx0XHR2YXIgaSA9IDA7XG5cdFx0d2hpbGUoaSA8IGRlZmluaXRpb24ubGVuZ3RoKSB7XG5cdFx0XHR2YXIga2V5ID0gZGVmaW5pdGlvbltpKytdO1xuXHRcdFx0dmFyIGJpbmRpbmcgPSBkZWZpbml0aW9uW2krK107XG5cdFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdFx0aWYoYmluZGluZyA9PT0gMCkge1xuXHRcdFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IGRlZmluaXRpb25baSsrXSB9KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogYmluZGluZyB9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIGlmKGJpbmRpbmcgPT09IDApIHsgaSsrOyB9XG5cdFx0fVxuXHR9IGVsc2Uge1xuXHRcdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmYgPSB7fTtcbi8vIFRoaXMgZmlsZSBjb250YWlucyBvbmx5IHRoZSBlbnRyeSBjaHVuay5cbi8vIFRoZSBjaHVuayBsb2FkaW5nIGZ1bmN0aW9uIGZvciBhZGRpdGlvbmFsIGNodW5rc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5lID0gKGNodW5rSWQpID0+IHtcblx0cmV0dXJuIFByb21pc2UuYWxsKE9iamVjdC5rZXlzKF9fd2VicGFja19yZXF1aXJlX18uZikucmVkdWNlKChwcm9taXNlcywga2V5KSA9PiB7XG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5mW2tleV0oY2h1bmtJZCwgcHJvbWlzZXMpO1xuXHRcdHJldHVybiBwcm9taXNlcztcblx0fSwgW10pKTtcbn07IiwiLy8gVGhpcyBmdW5jdGlvbiBhbGxvdyB0byByZWZlcmVuY2UgYXN5bmMgY2h1bmtzIGFuZCBjaHVua3MgdGhhdCB0aGUgZW50cnlwb2ludCBkZXBlbmRzIG9uXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnUgPSAoY2h1bmtJZCkgPT4ge1xuXHQvLyByZXR1cm4gdXJsIGZvciBmaWxlbmFtZXMgYmFzZWQgb24gdGVtcGxhdGVcblx0cmV0dXJuIFwiXCIgKyBjaHVua0lkICsgXCIubWFpbi5qc1wiO1xufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmcgPSAoZnVuY3Rpb24oKSB7XG5cdGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybiBnbG9iYWxUaGlzO1xuXHR0cnkge1xuXHRcdHJldHVybiB0aGlzIHx8IG5ldyBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0aWYgKHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnKSByZXR1cm4gd2luZG93O1xuXHR9XG59KSgpOyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCIvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xuXHRpZihTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCJsZXQgc2NyaXB0VXJsO1xuaWYgKF9fd2VicGFja19yZXF1aXJlX18uZy5pbXBvcnRTY3JpcHRzKSBzY3JpcHRVcmwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLmcubG9jYXRpb24gKyBcIlwiO1xuY29uc3QgZG9jdW1lbnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLmcuZG9jdW1lbnQ7XG5pZiAoIXNjcmlwdFVybCAmJiBkb2N1bWVudCkge1xuXHRpZiAoZG9jdW1lbnQuY3VycmVudFNjcmlwdD8udGFnTmFtZS50b1VwcGVyQ2FzZSgpID09PSAnU0NSSVBUJylcblx0XHRzY3JpcHRVcmwgPSBkb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyYztcblx0aWYgKCFzY3JpcHRVcmwpIHtcblx0XHRjb25zdCBzY3JpcHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJzY3JpcHRcIik7XG5cdFx0aWYoc2NyaXB0cy5sZW5ndGgpIHtcblx0XHRcdGxldCBpID0gc2NyaXB0cy5sZW5ndGggLSAxO1xuXHRcdFx0d2hpbGUgKGkgPiAtMSAmJiAoIXNjcmlwdFVybCB8fCAhL15odHRwKHM/KTovLnRlc3Qoc2NyaXB0VXJsKSkpIHNjcmlwdFVybCA9IHNjcmlwdHNbaS0tXS5zcmM7XG5cdFx0fVxuXHR9XG59XG4vLyBXaGVuIHN1cHBvcnRpbmcgYnJvd3NlcnMgd2hlcmUgYW4gYXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCB5b3UgbXVzdCBzcGVjaWZ5IGFuIG91dHB1dC5wdWJsaWNQYXRoIG1hbnVhbGx5IHZpYSBjb25maWd1cmF0aW9uXG4vLyBvciBwYXNzIGFuIGVtcHR5IHN0cmluZyAoXCJcIikgYW5kIHNldCB0aGUgX193ZWJwYWNrX3B1YmxpY19wYXRoX18gdmFyaWFibGUgZnJvbSB5b3VyIGNvZGUgdG8gdXNlIHlvdXIgb3duIGxvZ2ljLlxuaWYgKCFzY3JpcHRVcmwpIHRocm93IG5ldyBFcnJvcihcIkF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyXCIpO1xuc2NyaXB0VXJsID0gc2NyaXB0VXJsLnJlcGxhY2UoL15ibG9iOi8sIFwiXCIpLnJlcGxhY2UoLyMuKiQvLCBcIlwiKS5yZXBsYWNlKC9cXD8uKiQvLCBcIlwiKS5yZXBsYWNlKC9cXC9bXlxcL10rJC8sIFwiL1wiKTtcbl9fd2VicGFja19yZXF1aXJlX18ucCA9IHNjcmlwdFVybDsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmIgPSBzZWxmLmxvY2F0aW9uICsgXCJcIjtcblxuLy8gb2JqZWN0IHRvIHN0b3JlIGxvYWRlZCBjaHVua3Ncbi8vIFwiMVwiIG1lYW5zIFwiYWxyZWFkeSBsb2FkZWRcIlxudmFyIGluc3RhbGxlZENodW5rcyA9IHtcblx0XCJub2RlX21vZHVsZXNfdnNjb2RlX2RpZmZfZGlzdF93b3JrZXJfanNfZXNtXCI6IDFcbn07XG5cbi8vIGltcG9ydFNjcmlwdHMgY2h1bmsgbG9hZGluZ1xudmFyIGluc3RhbGxDaHVuayA9IChkYXRhKSA9PiB7XG5cdGxldCBbY2h1bmtJZHMsIG1vcmVNb2R1bGVzLCBydW50aW1lXSA9IGRhdGE7XG5cdGZvcih2YXIgbW9kdWxlSWQgaW4gbW9yZU1vZHVsZXMpIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8obW9yZU1vZHVsZXMsIG1vZHVsZUlkKSkge1xuXHRcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tW21vZHVsZUlkXSA9IG1vcmVNb2R1bGVzW21vZHVsZUlkXTtcblx0XHR9XG5cdH1cblx0aWYocnVudGltZSkgcnVudGltZShfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblx0d2hpbGUoY2h1bmtJZHMubGVuZ3RoKVxuXHRcdGluc3RhbGxlZENodW5rc1tjaHVua0lkcy5wb3AoKV0gPSAxO1xuXHRwYXJlbnRDaHVua0xvYWRpbmdGdW5jdGlvbihkYXRhKTtcbn07XG5fX3dlYnBhY2tfcmVxdWlyZV9fLmYuaSA9IChjaHVua0lkLCBwcm9taXNlcykgPT4ge1xuXHQvLyBcIjFcIiBpcyB0aGUgc2lnbmFsIGZvciBcImFscmVhZHkgbG9hZGVkXCJcblx0aWYoIWluc3RhbGxlZENodW5rc1tjaHVua0lkXSkge1xuXHRcdGlmKHRydWUpIHsgLy8gYWxsIGNodW5rcyBoYXZlIEpTXG5cdFx0XHRpbXBvcnRTY3JpcHRzKF9fd2VicGFja19yZXF1aXJlX18ucCArIF9fd2VicGFja19yZXF1aXJlX18udShjaHVua0lkKSk7XG5cdFx0fVxuXHR9XG59O1xuXG52YXIgY2h1bmtMb2FkaW5nR2xvYmFsID0gdGhpc1tcIndlYnBhY2tDaHVua2pkZXJvYm90X2lkZV9pbnRlcmZhY2VcIl0gPSB0aGlzW1wid2VicGFja0NodW5ramRlcm9ib3RfaWRlX2ludGVyZmFjZVwiXSB8fCBbXTtcbnZhciBwYXJlbnRDaHVua0xvYWRpbmdGdW5jdGlvbiA9IGNodW5rTG9hZGluZ0dsb2JhbC5wdXNoLmJpbmQoY2h1bmtMb2FkaW5nR2xvYmFsKTtcbmNodW5rTG9hZGluZ0dsb2JhbC5wdXNoID0gaW5zdGFsbENodW5rO1xuXG4vLyBubyBITVJcblxuLy8gbm8gSE1SIG1hbmlmZXN0IiwiY29uc3QgbmV4dCA9IF9fd2VicGFja19yZXF1aXJlX18ueDtcbl9fd2VicGFja19yZXF1aXJlX18ueCA9ICgpID0+IHtcblx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18uZShcInZlbmRvcnMtbm9kZV9tb2R1bGVzX3ZzY29kZV9kaWZmX2Rpc3Rfd2lyZV9qc1wiKS50aGVuKG5leHQpO1xufTsiLCIiLCIvLyBydW4gc3RhcnR1cFxudmFyIF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLngoKTtcbiIsIiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jderobot-ide-interface",
3
- "version": "0.3.17",
3
+ "version": "0.3.19",
4
4
  "main": "dist/main.js",
5
5
  "typings": "dist/index.d.ts",
6
6
  "files": [