@anansi/core 0.18.25 → 0.19.1

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ### [0.19.1](https://github.com/ntucker/anansi/compare/@anansi/core@0.19.0...@anansi/core@0.19.1) (2024-04-30)
7
+
8
+ ### 📦 Package
9
+
10
+ * Update `http-proxy-middleware` to v3 ([#2364](https://github.com/ntucker/anansi/issues/2364)) ([a40a24a](https://github.com/ntucker/anansi/commit/a40a24a91d0c8ce4447b4d87cbcf5c289bc3db72))
11
+
12
+ ## [0.19.0](https://github.com/ntucker/anansi/compare/@anansi/core@0.18.25...@anansi/core@0.19.0) (2024-04-28)
13
+
14
+ ### 🚀 Features
15
+
16
+ * React 19 compatibility ([#2398](https://github.com/ntucker/anansi/issues/2398)) ([68b2982](https://github.com/ntucker/anansi/commit/68b298260088202400512bdbd5b45637da5fabd5))
17
+
18
+ ### 📦 Package
19
+
20
+ * Update all non-major dependencies ([#2394](https://github.com/ntucker/anansi/issues/2394)) ([19ca5c7](https://github.com/ntucker/anansi/commit/19ca5c7a78271a1badfa30ebbfd539a3499190a8))
21
+
6
22
  ### [0.18.25](https://github.com/ntucker/anansi/compare/@anansi/core@0.18.24...@anansi/core@0.18.25) (2024-04-20)
7
23
 
8
24
  ### 💅 Enhancement
package/dist/server.js CHANGED
@@ -233,12 +233,12 @@ var _jsxFileName = "/home/ntucker/src/anansi/packages/core/src/spouts/DocumentCo
233
233
 
234
234
  function Document({
235
235
  assets,
236
- head,
236
+ head = defaultHead,
237
237
  children,
238
238
  title,
239
- rootId,
240
- charSet,
241
- scripts,
239
+ rootId = 'anansi-root',
240
+ charSet = 'utf-8',
241
+ scripts = null,
242
242
  extraStyle,
243
243
  lang
244
244
  }) {
@@ -247,14 +247,14 @@ function Document({
247
247
  __self: this,
248
248
  __source: {
249
249
  fileName: _jsxFileName,
250
- lineNumber: 25,
250
+ lineNumber: 24,
251
251
  columnNumber: 5
252
252
  }
253
253
  }, /*#__PURE__*/external_react_default().createElement("head", {
254
254
  __self: this,
255
255
  __source: {
256
256
  fileName: _jsxFileName,
257
- lineNumber: 26,
257
+ lineNumber: 25,
258
258
  columnNumber: 7
259
259
  }
260
260
  }, /*#__PURE__*/external_react_default().createElement("meta", {
@@ -262,7 +262,7 @@ function Document({
262
262
  __self: this,
263
263
  __source: {
264
264
  fileName: _jsxFileName,
265
- lineNumber: 27,
265
+ lineNumber: 26,
266
266
  columnNumber: 9
267
267
  }
268
268
  }), head, extraStyle, assets.map((asset, i) => /*#__PURE__*/external_react_default().createElement("link", {
@@ -272,21 +272,21 @@ function Document({
272
272
  __self: this,
273
273
  __source: {
274
274
  fileName: _jsxFileName,
275
- lineNumber: 31,
275
+ lineNumber: 30,
276
276
  columnNumber: 11
277
277
  }
278
278
  })), /*#__PURE__*/external_react_default().createElement("title", {
279
279
  __self: this,
280
280
  __source: {
281
281
  fileName: _jsxFileName,
282
- lineNumber: 33,
282
+ lineNumber: 32,
283
283
  columnNumber: 9
284
284
  }
285
285
  }, title)), /*#__PURE__*/external_react_default().createElement("body", {
286
286
  __self: this,
287
287
  __source: {
288
288
  fileName: _jsxFileName,
289
- lineNumber: 35,
289
+ lineNumber: 34,
290
290
  columnNumber: 7
291
291
  }
292
292
  }, /*#__PURE__*/external_react_default().createElement("div", {
@@ -294,7 +294,7 @@ function Document({
294
294
  __self: this,
295
295
  __source: {
296
296
  fileName: _jsxFileName,
297
- lineNumber: 36,
297
+ lineNumber: 35,
298
298
  columnNumber: 9
299
299
  }
300
300
  }, children), scripts, assets.filter(({
@@ -308,35 +308,30 @@ function Document({
308
308
  __self: this,
309
309
  __source: {
310
310
  fileName: _jsxFileName,
311
- lineNumber: 41,
311
+ lineNumber: 40,
312
312
  columnNumber: 13
313
313
  }
314
314
  }))));
315
315
  }
316
- Document.defaultProps = {
317
- head: /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, /*#__PURE__*/external_react_default().createElement("meta", {
318
- name: "viewport",
319
- content: "width=device-width, initial-scale=1",
320
- __self: undefined,
321
- __source: {
322
- fileName: _jsxFileName,
323
- lineNumber: 50,
324
- columnNumber: 7
325
- }
326
- }), /*#__PURE__*/external_react_default().createElement("link", {
327
- rel: "shortcut icon",
328
- href: `${(_process$env$WEBPACK_ = process.env.WEBPACK_PUBLIC_PATH) != null ? _process$env$WEBPACK_ : '/'}favicon.ico`,
329
- __self: undefined,
330
- __source: {
331
- fileName: _jsxFileName,
332
- lineNumber: 51,
333
- columnNumber: 7
334
- }
335
- })),
336
- charSet: 'utf-8',
337
- rootId: 'anansi-root',
338
- scripts: null
339
- };
316
+ const defaultHead = /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, /*#__PURE__*/external_react_default().createElement("meta", {
317
+ name: "viewport",
318
+ content: "width=device-width, initial-scale=1",
319
+ __self: undefined,
320
+ __source: {
321
+ fileName: _jsxFileName,
322
+ lineNumber: 48,
323
+ columnNumber: 5
324
+ }
325
+ }), /*#__PURE__*/external_react_default().createElement("link", {
326
+ rel: "shortcut icon",
327
+ href: `${(_process$env$WEBPACK_ = process.env.WEBPACK_PUBLIC_PATH) != null ? _process$env$WEBPACK_ : '/'}favicon.ico`,
328
+ __self: undefined,
329
+ __source: {
330
+ fileName: _jsxFileName,
331
+ lineNumber: 49,
332
+ columnNumber: 5
333
+ }
334
+ }));
340
335
  ;// CONCATENATED MODULE: ./src/spouts/document.server.tsx
341
336
  var document_server_jsxFileName = "/home/ntucker/src/anansi/packages/core/src/spouts/document.server.tsx";
342
337
 
@@ -653,4 +648,4 @@ const appSpout = app => props => Promise.resolve({
653
648
  module.exports = __webpack_exports__;
654
649
  /******/ })()
655
650
  ;
656
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL0BhbmFuc2kvY29yZS9leHRlcm5hbCBjb21tb25qcyBcIkBkYXRhLWNsaWVudC9yZWFjdFwiIiwid2VicGFjazovL0BhbmFuc2kvY29yZS9leHRlcm5hbCBjb21tb25qcyBcIkBkYXRhLWNsaWVudC9zc3JcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgaW1wb3J0IFwiQGFudC1kZXNpZ24vY3NzaW5qc1wiIiwid2VicGFjazovL0BhbmFuc2kvY29yZS93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9jcmVhdGUgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIG5vZGUtY29tbW9uanMgXCJjcnlwdG9cIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJyZWFjdC1kb20vc2VydmVyXCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL2xheVNwb3V0cy50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwicmVhY3RcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL2NzcC50cyIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL0RvY3VtZW50Q29tcG9uZW50LnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL2RvY3VtZW50LnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9kYXRhQ2xpZW50LnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9hbnRkLnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwiQGFuYW5zaS9yb3V0ZXJcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJoaXN0b3J5XCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9yb3V0ZXIuc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL3ByZWZldGNoLnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9qc29uLnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9hcHAuc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvaW5kZXguc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBkYXRhLWNsaWVudC9yZWFjdFwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAZGF0YS1jbGllbnQvc3NyXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gaW1wb3J0KFwiQGFudC1kZXNpZ24vY3NzaW5qc1wiKTs7IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbiIsIi8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSAobW9kdWxlKSA9PiB7XG5cdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuXHRcdCgpID0+IChtb2R1bGVbJ2RlZmF1bHQnXSkgOlxuXHRcdCgpID0+IChtb2R1bGUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcblx0cmV0dXJuIGdldHRlcjtcbn07IiwidmFyIGdldFByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mID8gKG9iaikgPT4gKE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopKSA6IChvYmopID0+IChvYmouX19wcm90b19fKTtcbnZhciBsZWFmUHJvdG90eXBlcztcbi8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuLy8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4vLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbi8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuLy8gbW9kZSAmIDE2OiByZXR1cm4gdmFsdWUgd2hlbiBpdCdzIFByb21pc2UtbGlrZVxuLy8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuX193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcblx0aWYobW9kZSAmIDEpIHZhbHVlID0gdGhpcyh2YWx1ZSk7XG5cdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG5cdGlmKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUpIHtcblx0XHRpZigobW9kZSAmIDQpICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcblx0XHRpZigobW9kZSAmIDE2KSAmJiB0eXBlb2YgdmFsdWUudGhlbiA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIHZhbHVlO1xuXHR9XG5cdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG5cdHZhciBkZWYgPSB7fTtcblx0bGVhZlByb3RvdHlwZXMgPSBsZWFmUHJvdG90eXBlcyB8fCBbbnVsbCwgZ2V0UHJvdG8oe30pLCBnZXRQcm90byhbXSksIGdldFByb3RvKGdldFByb3RvKV07XG5cdGZvcih2YXIgY3VycmVudCA9IG1vZGUgJiAyICYmIHZhbHVlOyB0eXBlb2YgY3VycmVudCA9PSAnb2JqZWN0JyAmJiAhfmxlYWZQcm90b3R5cGVzLmluZGV4T2YoY3VycmVudCk7IGN1cnJlbnQgPSBnZXRQcm90byhjdXJyZW50KSkge1xuXHRcdE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGN1cnJlbnQpLmZvckVhY2goKGtleSkgPT4gKGRlZltrZXldID0gKCkgPT4gKHZhbHVlW2tleV0pKSk7XG5cdH1cblx0ZGVmWydkZWZhdWx0J10gPSAoKSA9PiAodmFsdWUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGRlZik7XG5cdHJldHVybiBucztcbn07IiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsIi8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uciA9IChleHBvcnRzKSA9PiB7XG5cdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuXHR9XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG59OyIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwiY3J5cHRvXCIpOyIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwicmVhY3QtZG9tL3NlcnZlclwiKTsiLCJpbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyByZW5kZXJUb1BpcGVhYmxlU3RyZWFtIGFzIHJlYWN0UmVuZGVyIH0gZnJvbSAncmVhY3QtZG9tL3NlcnZlcic7XG5cbmltcG9ydCB0eXBlIHsgUmVuZGVyIH0gZnJvbSAnLi9zY3JpcHRzL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgU2VydmVyUHJvcHMgfSBmcm9tICcuL3Nwb3V0cy90eXBlcy5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGxheVNwb3V0cyhcbiAgc3BvdXRzOiAocHJvcHM6IFNlcnZlclByb3BzKSA9PiBQcm9taXNlPHtcbiAgICBhcHA6IEpTWC5FbGVtZW50O1xuICB9PixcbiAge1xuICAgIHRpbWVvdXRNUyA9IDEwMDAwLFxuICAgIG9uRXJyb3IsXG4gIH06IHsgdGltZW91dE1TPzogbnVtYmVyOyBvbkVycm9yPzogKGVycm9yOiB1bmtub3duKSA9PiB2b2lkIH0gPSB7fSxcbikge1xuICBjb25zdCByZW5kZXI6IFJlbmRlciA9IGFzeW5jIChjbGllbnRNYW5pZmVzdCwgcmVxLCByZXMpID0+IHtcbiAgICBjb25zdCBub25jZSA9IGNyeXB0by5yYW5kb21CeXRlcygxNikudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgYXBwIH0gPSBhd2FpdCBzcG91dHMoeyBjbGllbnRNYW5pZmVzdCwgcmVxLCByZXMsIG5vbmNlIH0pO1xuXG4gICAgICBsZXQgZGlkRXJyb3IgPSBmYWxzZTtcbiAgICAgIGNvbnN0IHsgcGlwZSwgYWJvcnQgfSA9IHJlYWN0UmVuZGVyKGFwcCwge1xuICAgICAgICBub25jZSxcbiAgICAgICAgLy9ib290c3RyYXBTY3JpcHRzOiBhc3NldHMuZmlsdGVyKGFzc2V0ID0+IGFzc2V0LmVuZHNXaXRoKCcuanMnKSksXG4gICAgICAgIG9uU2hlbGxSZWFkeSgpIHtcbiAgICAgICAgICAvL21hbmFnZXJzLmZvckVhY2gobWFuYWdlciA9PiBtYW5hZ2VyLmNsZWFudXAoKSk7XG4gICAgICAgICAgLy8gSWYgc29tZXRoaW5nIGVycm9yZWQgYmVmb3JlIHdlIHN0YXJ0ZWQgc3RyZWFtaW5nLCB3ZSBzZXQgdGhlIGVycm9yIGNvZGUgYXBwcm9wcmlhdGVseS5cbiAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IGRpZEVycm9yID8gNTAwIDogMjAwO1xuICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICBwaXBlKHJlcyk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uU2hlbGxFcnJvcigpIHtcbiAgICAgICAgICBkaWRFcnJvciA9IHRydWU7XG4gICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA1MDA7XG4gICAgICAgICAgcGlwZShyZXMpO1xuICAgICAgICB9LFxuICAgICAgICBvbkVycm9yKGU6IGFueSkge1xuICAgICAgICAgIGRpZEVycm9yID0gdHJ1ZTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNTAwO1xuICAgICAgICAgIC8vcGlwZShyZXMpOyBSZW1vdmluZyB0aGlzIGF2b2lkcywgXCJSZWFjdCBjdXJyZW50bHkgb25seSBzdXBwb3J0cyBwaXBpbmcgdG8gb25lIHdyaXRhYmxlIHN0cmVhbS5cIlxuICAgICAgICAgIGlmIChvbkVycm9yKSBvbkVycm9yKGUpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICAvLyBBYmFuZG9uIGFuZCBzd2l0Y2ggdG8gY2xpZW50IHJlbmRlcmluZyBpZiBlbm91Z2ggdGltZSBwYXNzZXMuXG4gICAgICAvLyBUcnkgbG93ZXJpbmcgdGhpcyB0byBzZWUgdGhlIGNsaWVudCByZWNvdmVyLlxuICAgICAgc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4gKGFib3J0IGFzIGFueSkoYFRpbWVvdXQgb2YgJHt0aW1lb3V0TVN9bXMgZXhjZWVkZWRgKSxcbiAgICAgICAgdGltZW91dE1TLFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICBpZiAob25FcnJvcikgb25FcnJvcihlKTtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9O1xuICByZXR1cm4gcmVuZGVyO1xufVxuIiwiY29uc3QgX19XRUJQQUNLX05BTUVTUEFDRV9PQkpFQ1RfXyA9IHJlcXVpcmUoXCJyZWFjdFwiKTsiLCJleHBvcnQgaW50ZXJmYWNlIFBvbGljeSB7XG4gIFtkaXJlY3RpdmU6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuXG4vLyBUT0RPOiBtZW1vaXplIHRoaXNcbmV4cG9ydCBmdW5jdGlvbiBidWlsZFBvbGljeShwb2xpY3lPYmo6IFBvbGljeSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMocG9saWN5T2JqKVxuICAgIC5tYXAoa2V5ID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9XG4gICAgICAgIEFycmF5LmlzQXJyYXkocG9saWN5T2JqW2tleV0pID9cbiAgICAgICAgICBbLi4ubmV3IFNldChwb2xpY3lPYmpba2V5XSkudmFsdWVzKCldLmZpbHRlcih2ID0+IHYpLmpvaW4oJyAnKVxuICAgICAgICA6IHBvbGljeU9ialtrZXldO1xuXG4gICAgICAvLyBtb3ZlIHN0cmljdCBkeW5hbWljIHRvIHRoZSBlbmQgb2YgdGhlIHBvbGljeSBpZiBpdCBleGlzdHMgdG8gYmUgYmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aCBjc3AyXG4gICAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0hlYWRlcnMvQ29udGVudC1TZWN1cml0eS1Qb2xpY3kvc2NyaXB0LXNyYyNzdHJpY3QtZHluYW1pY1xuICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnICYmIHZhbC5pbmNsdWRlcyhcIidzdHJpY3QtZHluYW1pYydcIikpIHtcbiAgICAgICAgY29uc3QgbmV3VmFsID0gYCR7dmFsXG4gICAgICAgICAgLnJlcGxhY2UoL1xccz8nc3RyaWN0LWR5bmFtaWMnXFxzPy9naSwgJyAnKVxuICAgICAgICAgIC50cmltKCl9ICdzdHJpY3QtZHluYW1pYydgO1xuICAgICAgICByZXR1cm4gYCR7a2V5fSAke25ld1ZhbH1gO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYCR7a2V5fSAke3ZhbH1gO1xuICAgIH0pXG4gICAgLmpvaW4oJzsgJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBqb2luTm9uY2UocG9saWN5T2JqOiBQb2xpY3ksIG5vbmNlPzogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gIGlmICghbm9uY2UpIHJldHVybiBwb2xpY3lPYmo7XG4gIGNvbnN0IHBvbGljeSA9IHtcbiAgICAuLi5wb2xpY3lPYmosXG4gIH07XG4gIGlmICh0eXBlb2YgcG9saWN5WydzY3JpcHQtc3JjJ10gPT09ICdzdHJpbmcnKSB7XG4gICAgcG9saWN5WydzY3JpcHQtc3JjJ10gPSBbcG9saWN5WydzY3JpcHQtc3JjJ10sIGAnbm9uY2UtJHtub25jZX0nYF07XG4gIH0gZWxzZSB7XG4gICAgcG9saWN5WydzY3JpcHQtc3JjJ10gPSBbLi4ucG9saWN5WydzY3JpcHQtc3JjJ10sIGAnbm9uY2UtJHtub25jZX0nYF07XG4gIH1cbiAgcmV0dXJuIHBvbGljeTtcbn1cbiIsInR5cGUgUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIGFzc2V0czogeyBocmVmOiBzdHJpbmc7IGFzPzogc3RyaW5nOyByZWw/OiBzdHJpbmcgfVtdO1xuICBoZWFkOiBSZWFjdC5SZWFjdE5vZGU7XG4gIGV4dHJhU3R5bGU6IFJlYWN0LlJlYWN0Tm9kZTtcbiAgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlO1xuICB0aXRsZTogc3RyaW5nO1xuICByb290SWQ6IHN0cmluZztcbiAgY2hhclNldDogc3RyaW5nO1xuICBsYW5nPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRG9jdW1lbnQoe1xuICBhc3NldHMsXG4gIGhlYWQsXG4gIGNoaWxkcmVuLFxuICB0aXRsZSxcbiAgcm9vdElkLFxuICBjaGFyU2V0LFxuICBzY3JpcHRzLFxuICBleHRyYVN0eWxlLFxuICBsYW5nLFxufTogUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8aHRtbCBsYW5nPXtsYW5nfT5cbiAgICAgIDxoZWFkPlxuICAgICAgICA8bWV0YSBjaGFyU2V0PXtjaGFyU2V0fSAvPlxuICAgICAgICB7aGVhZH1cbiAgICAgICAge2V4dHJhU3R5bGV9XG4gICAgICAgIHthc3NldHMubWFwKChhc3NldCwgaSkgPT4gKFxuICAgICAgICAgIDxsaW5rIGtleT17aX0gcmVsPVwicHJlbG9hZFwiIHsuLi5hc3NldH0gLz5cbiAgICAgICAgKSl9XG4gICAgICAgIDx0aXRsZT57dGl0bGV9PC90aXRsZT5cbiAgICAgIDwvaGVhZD5cbiAgICAgIDxib2R5PlxuICAgICAgICA8ZGl2IGlkPXtyb290SWR9PntjaGlsZHJlbn08L2Rpdj5cbiAgICAgICAge3NjcmlwdHN9XG4gICAgICAgIHthc3NldHNcbiAgICAgICAgICAuZmlsdGVyKCh7IGhyZWYgfSkgPT4gaHJlZi5lbmRzV2l0aCgnLmpzJykpXG4gICAgICAgICAgLm1hcCgoeyBocmVmIH0sIGkpID0+IChcbiAgICAgICAgICAgIDxzY3JpcHQga2V5PXtpfSBzcmM9e2hyZWZ9IGFzeW5jIC8+XG4gICAgICAgICAgKSl9XG4gICAgICA8L2JvZHk+XG4gICAgPC9odG1sPlxuICApO1xufVxuRG9jdW1lbnQuZGVmYXVsdFByb3BzID0ge1xuICBoZWFkOiAoXG4gICAgPD5cbiAgICAgIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MVwiIC8+XG4gICAgICA8bGlua1xuICAgICAgICByZWw9XCJzaG9ydGN1dCBpY29uXCJcbiAgICAgICAgaHJlZj17YCR7cHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCA/PyAnLyd9ZmF2aWNvbi5pY29gfVxuICAgICAgLz5cbiAgICA8Lz5cbiAgKSxcbiAgY2hhclNldDogJ3V0Zi04JyxcbiAgcm9vdElkOiAnYW5hbnNpLXJvb3QnLFxuICBzY3JpcHRzOiBudWxsLFxufTtcbiIsImltcG9ydCB0eXBlIHsgUm91dGUgfSBmcm9tICdAYW5hbnNpL3JvdXRlcic7XG5pbXBvcnQgeyBSZXF1ZXN0IH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU3RhdHNDaHVua0dyb3VwIH0gZnJvbSAnd2VicGFjayc7XG5cbmltcG9ydCB7IGJ1aWxkUG9saWN5LCBqb2luTm9uY2UsIFBvbGljeSB9IGZyb20gJy4vY3NwLmpzJztcbmltcG9ydCBEb2N1bWVudCBmcm9tICcuL0RvY3VtZW50Q29tcG9uZW50LmpzJztcbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBtYXRjaGVkUm91dGVzOiBSb3V0ZTxhbnk+W107XG4gIHRpdGxlPzogc3RyaW5nO1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG4gIGV4dHJhU3R5bGU/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERvY3VtZW50U3BvdXQob3B0aW9uczoge1xuICBoZWFkPzogUmVhY3QuUmVhY3ROb2RlO1xuICB0aXRsZTogc3RyaW5nO1xuICBsYW5nPzogc3RyaW5nO1xuICByb290SWQ/OiBzdHJpbmc7XG4gIGNoYXJTZXQ/OiBzdHJpbmc7XG4gIGNzUG9saWN5PzogUG9saWN5O1xufSk6IFNlcnZlclNwb3V0PFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgTmVlZGVkTmV4dD4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG5cbiAgICBjb25zdCBwdWJsaWNQYXRoID0gcHJvcHMuY2xpZW50TWFuaWZlc3QucHVibGljUGF0aDtcblxuICAgIGlmIChcbiAgICAgIE9iamVjdC5rZXlzKHByb3BzLmNsaWVudE1hbmlmZXN0Py5lbnRyeXBvaW50cyA/PyB7fSkubGVuZ3RoIDwgMSB8fFxuICAgICAgcHVibGljUGF0aCA9PT0gdW5kZWZpbmVkXG4gICAgKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNYW5pZmVzdCBtaXNzaW5nIGVudHJpZXMgbmVlZGVkJyk7XG5cbiAgICAvLyBUT0RPOiBjb25zaWRlciB1c2luZyB0aGlzIHBhY2thZ2UgZm9yIGJ1aWxkIHN0YXRzIGluIGZ1dHVyZTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvdHJlZS9tYWluL3BhY2thZ2VzL3JlYWN0LXNlcnZlci1kb20td2VicGFja1xuICAgIGNvbnN0IGFzc2V0TWFwID0gKGFzc2V0czogeyBuYW1lOiBzdHJpbmc7IHNpemU/OiBudW1iZXIgfVtdKSA9PlxuICAgICAgYXNzZXRzLm1hcCgoeyBuYW1lIH0pID0+IGAke3B1YmxpY1BhdGh9JHtuYW1lfWApO1xuXG4gICAgY29uc3QgYXNzZXRMaXN0OiBzdHJpbmdbXSA9IFtdO1xuICAgIE9iamVjdC52YWx1ZXMocHJvcHMuY2xpZW50TWFuaWZlc3Q/LmVudHJ5cG9pbnRzID8/IHt9KS5mb3JFYWNoKFxuICAgICAgZW50cnlwb2ludCA9PiB7XG4gICAgICAgIGFzc2V0TGlzdC5wdXNoKC4uLmFzc2V0TWFwKGVudHJ5cG9pbnQuYXNzZXRzID8/IFtdKSk7XG4gICAgICB9LFxuICAgICk7XG4gICAgbmV3IFNldChcbiAgICAgIGFzc2V0TWFwKFxuICAgICAgICBPYmplY3QudmFsdWVzKHByb3BzLmNsaWVudE1hbmlmZXN0Lm5hbWVkQ2h1bmtHcm91cHMgPz8ge30pXG4gICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+XG4gICAgICAgICAgICBuZXh0UHJvcHMubWF0Y2hlZFJvdXRlcy5zb21lKHJvdXRlID0+IG5hbWU/LmluY2x1ZGVzKHJvdXRlLm5hbWUpKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLmZsYXRNYXAoY2h1bmsgPT4gW1xuICAgICAgICAgICAgLi4uKGNodW5rLmFzc2V0cyA/PyBbXSksXG4gICAgICAgICAgICAvLyBhbnkgY2h1bmsgcHJlbG9hZHNcbiAgICAgICAgICAgIC4uLmNoaWxkcmVuQXNzZXRzKGNodW5rKSxcbiAgICAgICAgICBdKSxcbiAgICAgICksXG4gICAgKS5mb3JFYWNoKGFzc2V0ID0+IGFzc2V0TGlzdC5wdXNoKGFzc2V0KSk7XG5cbiAgICAvLyBmaW5kIGFkZGl0aW9uYWwgYXNzZXRzIHRvIHByZWxvYWQgYmFzZWQgb24gbWF0Y2hlZCByb3V0ZVxuICAgIGNvbnN0IGFzc2V0czoge1xuICAgICAgaHJlZjogc3RyaW5nO1xuICAgICAgYXM/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICByZWw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgfVtdID0gYXNzZXRMaXN0XG4gICAgICAuZmlsdGVyKGFzc2V0ID0+ICFhc3NldC5lbmRzV2l0aCgnLmhvdC11cGRhdGUuanMnKSlcbiAgICAgIC5tYXAoYXNzZXQgPT5cbiAgICAgICAgYXNzZXQuZW5kc1dpdGgoJy5jc3MnKSA/IHsgaHJlZjogYXNzZXQsIHJlbDogJ3N0eWxlc2hlZXQnIH1cbiAgICAgICAgOiBhc3NldC5lbmRzV2l0aCgnLmpzJykgPyB7IGhyZWY6IGFzc2V0LCBhczogJ3NjcmlwdCcgfVxuICAgICAgICA6IHsgaHJlZjogYXNzZXQgfSxcbiAgICAgICk7XG5cbiAgICBpZiAob3B0aW9ucy5jc1BvbGljeSkge1xuICAgICAgY29uc3QgaHR0cEVxdWl2ID1cbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJyA/XG4gICAgICAgICAgJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5J1xuICAgICAgICA6ICdDb250ZW50LVNlY3VyaXR5LVBvbGljeS1SZXBvcnQtT25seSc7XG5cbiAgICAgIHByb3BzLnJlcy5zZXRIZWFkZXIoXG4gICAgICAgIGh0dHBFcXVpdixcbiAgICAgICAgYnVpbGRQb2xpY3koam9pbk5vbmNlKG9wdGlvbnMuY3NQb2xpY3ksIHByb3BzLm5vbmNlKSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IChcbiAgICAgICAgPERvY3VtZW50XG4gICAgICAgICAgey4uLm9wdGlvbnN9XG4gICAgICAgICAgZXh0cmFTdHlsZT17bmV4dFByb3BzLmV4dHJhU3R5bGV9XG4gICAgICAgICAgdGl0bGU9e25leHRQcm9wcy50aXRsZSA/PyBvcHRpb25zLnRpdGxlfVxuICAgICAgICAgIGFzc2V0cz17YXNzZXRzfVxuICAgICAgICAgIHJvb3RJZD17b3B0aW9ucy5yb290SWR9XG4gICAgICAgICAgc2NyaXB0cz17bmV4dFByb3BzLnNjcmlwdHN9XG4gICAgICAgID5cbiAgICAgICAgICB7bmV4dFByb3BzLmFwcH1cbiAgICAgICAgPC9Eb2N1bWVudD5cbiAgICAgICksXG4gICAgfTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY2hpbGRyZW5Bc3NldHMoY2h1bms6IFN0YXRzQ2h1bmtHcm91cCkge1xuICByZXR1cm4gY2h1bmsuY2hpbGRyZW4gP1xuICAgICAgT2JqZWN0LnZhbHVlcyhjaHVuay5jaGlsZHJlbikuZmxhdE1hcChwcmVsb2FkID0+XG4gICAgICAgIHByZWxvYWQuZmxhdE1hcChjID0+IGMuYXNzZXRzID8/IFtdKSxcbiAgICAgIClcbiAgICA6IFtdO1xufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDb250cm9sbGVyLFxuICB0eXBlIE1hbmFnZXIsXG4gIHR5cGUgU3RhdGUsXG4gIHR5cGUgU3RvcmUsXG59IGZyb20gJ0BkYXRhLWNsaWVudC9yZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGF0YUNsaWVudFNwb3V0KFxuICBvcHRpb25zOiB7XG4gICAgZ2V0TWFuYWdlcnM/OiAoKSA9PiBNYW5hZ2VyW107XG4gIH0gPSB7fSxcbik6IFNlcnZlclNwb3V0PFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgeyBjb250cm9sbGVyOiBDb250cm9sbGVyIH0gJiB7IHN0b3JlOiBTdG9yZTxTdGF0ZTx1bmtub3duPj4gfSxcbiAgeyBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+OyBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW10gfVxuPiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCBtYW5hZ2VycyA9IG9wdGlvbnM/LmdldE1hbmFnZXJzPy4oKSA/PyBbXG4gICAgICBuZXcgKGF3YWl0IGltcG9ydCgnQGRhdGEtY2xpZW50L3JlYWN0JykpLk5ldHdvcmtNYW5hZ2VyKCksXG4gICAgXTtcbiAgICBjb25zdCB7IGNyZWF0ZVBlcnNpc3RlZFN0b3JlIH0gPSBhd2FpdCBpbXBvcnQoJ0BkYXRhLWNsaWVudC9zc3InKTtcbiAgICBjb25zdCBbU2VydmVyQ2FjaGVQcm92aWRlciwgdXNlUmVhZHlDYWNoZVN0YXRlLCBjb250cm9sbGVyLCBzdG9yZV0gPVxuICAgICAgY3JlYXRlUGVyc2lzdGVkU3RvcmUobWFuYWdlcnMpO1xuXG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dCh7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGNvbnRyb2xsZXIsXG4gICAgICBzdG9yZSxcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgaW5pdERhdGE6IHtcbiAgICAgICAgLi4ubmV4dFByb3BzLmluaXREYXRhLFxuICAgICAgICBkYXRhY2xpZW50OiB1c2VSZWFkeUNhY2hlU3RhdGUsXG4gICAgICB9LFxuICAgICAgYXBwOiA8U2VydmVyQ2FjaGVQcm92aWRlcj57bmV4dFByb3BzLmFwcH08L1NlcnZlckNhY2hlUHJvdmlkZXI+LFxuICAgICAgLy8gVE9ETzogZmlndXJlIG91dCBob3cgdG8gb25seSBpbmplY3QgaW4gbmV4dCBhbmQgbm90IGhhdmUgdG8gYWxzbyBwdXQgaGVyZVxuICAgICAgY29udHJvbGxlcixcbiAgICAgIHN0b3JlLFxuICAgIH07XG4gIH07XG59XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkTmV4dCA9IHtcbiAgaW5pdERhdGE/OiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPjtcbiAgc2NyaXB0cz86IFJlYWN0LlJlYWN0Tm9kZVtdO1xuICBleHRyYVN0eWxlPzogUmVhY3QuUmVhY3ROb2RlW107XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhbnRkU3BvdXQoKTogU2VydmVyU3BvdXQ8XG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgTmVlZGVkTmV4dFxuPiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCB7IGNyZWF0ZUNhY2hlLCBleHRyYWN0U3R5bGUsIFN0eWxlUHJvdmlkZXIgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICdAYW50LWRlc2lnbi9jc3NpbmpzJ1xuICAgICk7XG4gICAgY29uc3QgY2FjaGUgPSBjcmVhdGVDYWNoZSgpO1xuXG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG5cbiAgICBjb25zdCBzY3JpcHRzOiBSZWFjdC5SZWFjdE5vZGVbXSA9IG5leHRQcm9wcy5zY3JpcHRzID8/IFtdO1xuXG4gICAgY29uc3QgQW50ZFNoZWV0cyA9ICgpOiBKU1guRWxlbWVudCA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8c2NyaXB0XG4gICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICAgIF9faHRtbDogYDwvc2NyaXB0PiR7ZXh0cmFjdFN0eWxlKGNhY2hlKX08c2NyaXB0PmAsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfTtcbiAgICAvLyB1bmZvcnR1bmF0ZWx5IHdlIGhhdmUgdG8gaW5qZWN0IHRoaXMgYWZ0ZXIgdGhlIGVudGlyZSBjb250ZW50IGhhcyBzdHJlYW1lZCBpbiBvciBpdCBkb2Vzbid0IGNvcnJlY3RseSBwb3B1bGF0ZVxuICAgIC8vIHNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vY3NzaW5qcy9pc3N1ZXMvNzlcbiAgICBzY3JpcHRzLnB1c2goPEFudGRTaGVldHMgLz4pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIGFwcDogPFN0eWxlUHJvdmlkZXIgY2FjaGU9e2NhY2hlfT57bmV4dFByb3BzLmFwcH08L1N0eWxlUHJvdmlkZXI+LFxuICAgICAgc2NyaXB0cyxcbiAgICB9O1xuICB9O1xufVxuIiwiY29uc3QgX19XRUJQQUNLX05BTUVTUEFDRV9PQkpFQ1RfXyA9IHJlcXVpcmUoXCJAYW5hbnNpL3JvdXRlclwiKTsiLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcImhpc3RvcnlcIik7IiwiaW1wb3J0IHsgUm91dGUsIFJvdXRlUHJvdmlkZXIsIFJvdXRlQ29udHJvbGxlciB9IGZyb20gJ0BhbmFuc2kvcm91dGVyJztcbmltcG9ydCB7IGNyZWF0ZU1lbW9yeUhpc3RvcnkgfSBmcm9tICdoaXN0b3J5JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgQ3JlYXRlUm91dGVyLCBTZXJ2ZXJTcG91dCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByb3V0ZXJTcG91dDxSZXNvbHZlV2l0aD4ob3B0aW9uczoge1xuICByZXNvbHZlV2l0aD86IGFueTtcbiAgdXNlUmVzb2x2ZVdpdGg6ICgpID0+IFJlc29sdmVXaXRoO1xuICBjcmVhdGVSb3V0ZXI6IENyZWF0ZVJvdXRlcjxSZXNvbHZlV2l0aD47XG59KTogU2VydmVyU3BvdXQ8XG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICB7XG4gICAgbWF0Y2hlZFJvdXRlczogUm91dGU8UmVzb2x2ZVdpdGg+W107XG4gICAgc2VhcmNoUGFyYW1zOiBVUkxTZWFyY2hQYXJhbXM7XG4gIH0gJiB7XG4gICAgcm91dGVyOiBSb3V0ZUNvbnRyb2xsZXI8Um91dGU8UmVzb2x2ZVdpdGgsIGFueT4+O1xuICB9XG4+IHtcbiAgY29uc3QgY3JlYXRlUm91dGVDb21wb25lbnQgPSAoXG4gICAgcm91dGVyOiBSb3V0ZUNvbnRyb2xsZXI8Um91dGU8UmVzb2x2ZVdpdGgsIGFueT4+LFxuICApID0+XG4gICAgZnVuY3Rpb24gUm91dGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgICAgIGNvbnN0IHJlc29sdmVXaXRoID0gb3B0aW9ucy51c2VSZXNvbHZlV2l0aCgpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Um91dGVQcm92aWRlciByb3V0ZXI9e3JvdXRlcn0gcmVzb2x2ZVdpdGg9e3Jlc29sdmVXaXRofT5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvUm91dGVQcm92aWRlcj5cbiAgICAgICk7XG4gICAgfTtcblxuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgdXJsID0gcHJvcHMucmVxLnVybCB8fCAnJztcbiAgICBjb25zdCBwYXJ0cyA9IHVybC5zcGxpdCgnPycsIDIpO1xuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMocGFydHMubGVuZ3RoIDwgMiA/ICcnIDogcGFydHNbMV0pO1xuICAgIGNvbnN0IHJvdXRlciA9IG9wdGlvbnMuY3JlYXRlUm91dGVyKFxuICAgICAgY3JlYXRlTWVtb3J5SGlzdG9yeSh7IGluaXRpYWxFbnRyaWVzOiBbdXJsXSB9KSxcbiAgICApO1xuICAgIGNvbnN0IG1hdGNoZWRSb3V0ZXM6IFJvdXRlPFJlc29sdmVXaXRoPltdID0gcm91dGVyLmdldE1hdGNoZWRSb3V0ZXModXJsKTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQoe1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBtYXRjaGVkUm91dGVzLFxuICAgICAgcm91dGVyLFxuICAgICAgc2VhcmNoUGFyYW1zLFxuICAgIH0pO1xuXG4gICAgY29uc3QgUm91dGVyID0gY3JlYXRlUm91dGVDb21wb25lbnQocm91dGVyKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IDxSb3V0ZXI+e25leHRQcm9wcy5hcHB9PC9Sb3V0ZXI+LFxuICAgICAgLy8gVE9ETzogZmlndXJlIG91dCBob3cgdG8gb25seSBpbmplY3QgaW4gbmV4dCBhbmQgbm90IGhhdmUgdG8gYWxzbyBwdXQgaGVyZVxuICAgICAgbWF0Y2hlZFJvdXRlcyxcbiAgICAgIHJvdXRlcixcbiAgICAgIHNlYXJjaFBhcmFtcyxcbiAgICB9O1xuICB9O1xufVxuIiwiaW1wb3J0IHsgUm91dGUgfSBmcm9tICdAYW5hbnNpL3JvdXRlcic7XG5cbmltcG9ydCB0eXBlIHsgUmVzb2x2ZVByb3BzLCBTZXJ2ZXJQcm9wcyB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG50eXBlIE5lZWRlZFByb3BzPFJvdXRlV2l0aD4gPSB7XG4gIG1hdGNoZWRSb3V0ZXM6IFJvdXRlPFJvdXRlV2l0aD5bXTtcbiAgc2VhcmNoUGFyYW1zOiBVUkxTZWFyY2hQYXJhbXM7XG59ICYgUmVzb2x2ZVByb3BzO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwcmVmZXRjaFNwb3V0PEYgZXh0ZW5kcyBzdHJpbmc+KGZpZWxkOiBGKSB7XG4gIHJldHVybiBmdW5jdGlvbiA8XG4gICAgUm91dGVXaXRoLFxuICAgIE4gZXh0ZW5kcyBOZWVkZWRQcm9wczxSb3V0ZVdpdGg+LFxuICAgIEkgZXh0ZW5kcyBTZXJ2ZXJQcm9wcyxcbiAgPihcbiAgICBuZXh0OiAocHJvcHM6IEkpID0+IFByb21pc2U8XG4gICAgICB7XG4gICAgICAgIFtLIGluIEZdOiBSb3V0ZVdpdGg7XG4gICAgICB9ICYgTlxuICAgID4sXG4gICkge1xuICAgIHJldHVybiBhc3luYyAocHJvcHM6IEkpID0+IHtcbiAgICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB0b0ZldGNoOiBQcm9taXNlPHVua25vd24+W10gPSBbXTtcbiAgICAgICAgbmV4dFByb3BzLm1hdGNoZWRSb3V0ZXMuZm9yRWFjaChyb3V0ZSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiByb3V0ZS5yZXNvbHZlRGF0YSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdG9GZXRjaC5wdXNoKFxuICAgICAgICAgICAgICByb3V0ZS5yZXNvbHZlRGF0YShcbiAgICAgICAgICAgICAgICBuZXh0UHJvcHNbZmllbGRdLFxuICAgICAgICAgICAgICAgIHJvdXRlLFxuICAgICAgICAgICAgICAgIG5leHRQcm9wcy5zZWFyY2hQYXJhbXMsXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHRvRmV0Y2gpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5leHRQcm9wcztcbiAgICB9O1xuICB9O1xufVxuIiwiaW1wb3J0IFJlYWN0LCB7IFN1c3BlbnNlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkTmV4dCA9IHtcbiAgaW5pdERhdGE/OiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPjtcbiAgc2NyaXB0cz86IFJlYWN0LlJlYWN0Tm9kZVtdO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSlNPTlNwb3V0KHtcbiAgaWQgPSAnYW5hbnNpLWpzb24nLFxufTogeyBpZD86IHN0cmluZyB9ID0ge30pOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBOZWVkZWROZXh0XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3Qgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlW10gPSBuZXh0UHJvcHMuc2NyaXB0cyA/PyBbXTtcblxuICAgIE9iamVjdC5lbnRyaWVzKG5leHRQcm9wcy5pbml0RGF0YSA/PyB7fSkuZm9yRWFjaCgoW2tleSwgdXNlRGF0YV0pID0+IHtcbiAgICAgIGNvbnN0IGdsb2JhbElkID0gYCR7aWR9LiR7a2V5fWA7XG4gICAgICBjb25zdCBTY3JpcHQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHVzZURhdGEoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBlbmNvZGVkID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxzY3JpcHRcbiAgICAgICAgICAgICAgaWQ9e2dsb2JhbElkfVxuICAgICAgICAgICAgICB0eXBlPVwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgX19odG1sOiBlbmNvZGVkLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBub25jZT17cHJvcHMubm9uY2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBUT0RPOiBVc2UgdW5pZmllZCBsb2dnaW5nXG4gICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3Igc2VyaWFsaXppbmcganNvbiBmb3IgJHtrZXl9YCk7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHNjcmlwdHMucHVzaChcbiAgICAgICAgPFN1c3BlbnNlIGtleT17Z2xvYmFsSWR9PlxuICAgICAgICAgIDxTY3JpcHQgLz5cbiAgICAgICAgPC9TdXNwZW5zZT4sXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiIsImltcG9ydCB7IFNlcnZlclByb3BzIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmNvbnN0IGFwcFNwb3V0ID1cbiAgKGFwcDogSlNYLkVsZW1lbnQpID0+XG4gIDxQIGV4dGVuZHMgU2VydmVyUHJvcHM+KHByb3BzOiBQKSA9PlxuICAgIFByb21pc2UucmVzb2x2ZSh7IC4uLnByb3BzLCBhcHAgfSk7XG5cbmV4cG9ydCBkZWZhdWx0IGFwcFNwb3V0O1xuIiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBsYXlTcG91dHMgfSBmcm9tICcuL2xheVNwb3V0cy5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGRvY3VtZW50U3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9kb2N1bWVudC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkYXRhQ2xpZW50U3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9kYXRhQ2xpZW50LnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFudGRTcG91dCB9IGZyb20gJy4vc3BvdXRzL2FudGQuc2VydmVyLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcm91dGVyU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9yb3V0ZXIuc2VydmVyLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcHJlZmV0Y2hTcG91dCB9IGZyb20gJy4vc3BvdXRzL3ByZWZldGNoLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEpTT05TcG91dCB9IGZyb20gJy4vc3BvdXRzL2pzb24uc2VydmVyLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYXBwU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9hcHAuc2VydmVyLmpzJztcbmV4cG9ydCB0eXBlIHsgU2VydmVyUHJvcHMgfSBmcm9tICcuL3Nwb3V0cy90eXBlcy5qcyc7XG5leHBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IGFzIFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvdHlwZXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zY3JpcHRzL3R5cGVzLmpzJztcbiJdLCJuYW1lcyI6WyJjcnlwdG8iLCJyZW5kZXJUb1BpcGVhYmxlU3RyZWFtIiwicmVhY3RSZW5kZXIiLCJsYXlTcG91dHMiLCJzcG91dHMiLCJ0aW1lb3V0TVMiLCJvbkVycm9yIiwicmVuZGVyIiwiY2xpZW50TWFuaWZlc3QiLCJyZXEiLCJyZXMiLCJub25jZSIsInJhbmRvbUJ5dGVzIiwidG9TdHJpbmciLCJhcHAiLCJkaWRFcnJvciIsInBpcGUiLCJhYm9ydCIsIm9uU2hlbGxSZWFkeSIsInN0YXR1c0NvZGUiLCJzZXRIZWFkZXIiLCJvblNoZWxsRXJyb3IiLCJlIiwiY29uc29sZSIsImVycm9yIiwic2V0VGltZW91dCIsImJ1aWxkUG9saWN5IiwicG9saWN5T2JqIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsInZhbCIsIkFycmF5IiwiaXNBcnJheSIsIlNldCIsInZhbHVlcyIsImZpbHRlciIsInYiLCJqb2luIiwiaW5jbHVkZXMiLCJuZXdWYWwiLCJyZXBsYWNlIiwidHJpbSIsImpvaW5Ob25jZSIsInBvbGljeSIsIkRvY3VtZW50IiwiYXNzZXRzIiwiaGVhZCIsImNoaWxkcmVuIiwidGl0bGUiLCJyb290SWQiLCJjaGFyU2V0Iiwic2NyaXB0cyIsImV4dHJhU3R5bGUiLCJsYW5nIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiX19zZWxmIiwiX19zb3VyY2UiLCJmaWxlTmFtZSIsIl9qc3hGaWxlTmFtZSIsImxpbmVOdW1iZXIiLCJjb2x1bW5OdW1iZXIiLCJhc3NldCIsImkiLCJyZWwiLCJpZCIsImhyZWYiLCJlbmRzV2l0aCIsInNyYyIsImFzeW5jIiwiZGVmYXVsdFByb3BzIiwiRnJhZ21lbnQiLCJuYW1lIiwiY29udGVudCIsIl9wcm9jZXNzJGVudiRXRUJQQUNLXyIsInByb2Nlc3MiLCJlbnYiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwiRG9jdW1lbnRTcG91dCIsIm9wdGlvbnMiLCJuZXh0IiwicHJvcHMiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3QiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3QyIiwiX3Byb3BzJGNsaWVudE1hbmlmZXN0MyIsIl9wcm9wcyRjbGllbnRNYW5pZmVzdDQiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3Q1IiwiX25leHRQcm9wcyR0aXRsZSIsIm5leHRQcm9wcyIsInB1YmxpY1BhdGgiLCJlbnRyeXBvaW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkVycm9yIiwiYXNzZXRNYXAiLCJhc3NldExpc3QiLCJmb3JFYWNoIiwiZW50cnlwb2ludCIsIl9lbnRyeXBvaW50JGFzc2V0cyIsInB1c2giLCJuYW1lZENodW5rR3JvdXBzIiwibWF0Y2hlZFJvdXRlcyIsInNvbWUiLCJyb3V0ZSIsImZsYXRNYXAiLCJjaHVuayIsIl9jaHVuayRhc3NldHMiLCJjaGlsZHJlbkFzc2V0cyIsImFzIiwiY3NQb2xpY3kiLCJodHRwRXF1aXYiLCJOT0RFX0VOViIsInByZWxvYWQiLCJjIiwiX2MkYXNzZXRzIiwiZGF0YUNsaWVudFNwb3V0IiwiX29wdGlvbnMkZ2V0TWFuYWdlcnMiLCJtYW5hZ2VycyIsImdldE1hbmFnZXJzIiwiTmV0d29ya01hbmFnZXIiLCJjcmVhdGVQZXJzaXN0ZWRTdG9yZSIsIlNlcnZlckNhY2hlUHJvdmlkZXIiLCJ1c2VSZWFkeUNhY2hlU3RhdGUiLCJjb250cm9sbGVyIiwic3RvcmUiLCJpbml0RGF0YSIsImRhdGFjbGllbnQiLCJhbnRkU3BvdXQiLCJfbmV4dFByb3BzJHNjcmlwdHMiLCJjcmVhdGVDYWNoZSIsImV4dHJhY3RTdHlsZSIsIlN0eWxlUHJvdmlkZXIiLCJjYWNoZSIsIkFudGRTaGVldHMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsIlJvdXRlUHJvdmlkZXIiLCJjcmVhdGVNZW1vcnlIaXN0b3J5Iiwicm91dGVyU3BvdXQiLCJjcmVhdGVSb3V0ZUNvbXBvbmVudCIsInJvdXRlciIsIlJvdXRlciIsInJlc29sdmVXaXRoIiwidXNlUmVzb2x2ZVdpdGgiLCJ1cmwiLCJwYXJ0cyIsInNwbGl0Iiwic2VhcmNoUGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwiY3JlYXRlUm91dGVyIiwiaW5pdGlhbEVudHJpZXMiLCJnZXRNYXRjaGVkUm91dGVzIiwicHJlZmV0Y2hTcG91dCIsImZpZWxkIiwidG9GZXRjaCIsInJlc29sdmVEYXRhIiwiUHJvbWlzZSIsImFsbCIsIlN1c3BlbnNlIiwiSlNPTlNwb3V0IiwiX25leHRQcm9wcyRpbml0RGF0YSIsImVudHJpZXMiLCJ1c2VEYXRhIiwiZ2xvYmFsSWQiLCJTY3JpcHQiLCJkYXRhIiwiZW5jb2RlZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0eXBlIiwiYXBwU3BvdXQiLCJyZXNvbHZlIiwiZGVmYXVsdCIsImRvY3VtZW50U3BvdXQiXSwic291cmNlUm9vdCI6IiJ9
651
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,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Y29tbW9uanMgXCJAZGF0YS1jbGllbnQvcmVhY3RcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJAZGF0YS1jbGllbnQvc3NyXCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGltcG9ydCBcIkBhbnQtZGVzaWduL2Nzc2luanNcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS93ZWJwYWNrL3J1bnRpbWUvY3JlYXRlIGZha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL0BhbmFuc2kvY29yZS93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL0BhbmFuc2kvY29yZS93ZWJwYWNrL3J1bnRpbWUvbWFrZSBuYW1lc3BhY2Ugb2JqZWN0Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS9leHRlcm5hbCBub2RlLWNvbW1vbmpzIFwiY3J5cHRvXCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwicmVhY3QtZG9tL3NlcnZlclwiIiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9sYXlTcG91dHMudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS9leHRlcm5hbCBjb21tb25qcyBcInJlYWN0XCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9jc3AudHMiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9Eb2N1bWVudENvbXBvbmVudC50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9kb2N1bWVudC5zZXJ2ZXIudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvZGF0YUNsaWVudC5zZXJ2ZXIudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvYW50ZC5zZXJ2ZXIudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS9leHRlcm5hbCBjb21tb25qcyBcIkBhbmFuc2kvcm91dGVyXCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwiaGlzdG9yeVwiIiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvcm91dGVyLnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9wcmVmZXRjaC5zZXJ2ZXIudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvanNvbi5zZXJ2ZXIudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvYXBwLnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL2luZGV4LnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAZGF0YS1jbGllbnQvcmVhY3RcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQGRhdGEtY2xpZW50L3NzclwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IGltcG9ydChcIkBhbnQtZGVzaWduL2Nzc2luanNcIik7OyIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0obW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCIvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5uID0gKG1vZHVsZSkgPT4ge1xuXHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cblx0XHQoKSA9PiAobW9kdWxlWydkZWZhdWx0J10pIDpcblx0XHQoKSA9PiAobW9kdWxlKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgeyBhOiBnZXR0ZXIgfSk7XG5cdHJldHVybiBnZXR0ZXI7XG59OyIsInZhciBnZXRQcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZiA/IChvYmopID0+IChPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSkgOiAob2JqKSA9PiAob2JqLl9fcHJvdG9fXyk7XG52YXIgbGVhZlByb3RvdHlwZXM7XG4vLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3Rcbi8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuLy8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4vLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3Rcbi8vIG1vZGUgJiAxNjogcmV0dXJuIHZhbHVlIHdoZW4gaXQncyBQcm9taXNlLWxpa2Vcbi8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbl9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG5cdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IHRoaXModmFsdWUpO1xuXHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuXHRpZih0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlKSB7XG5cdFx0aWYoKG1vZGUgJiA0KSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG5cdFx0aWYoKG1vZGUgJiAxNikgJiYgdHlwZW9mIHZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbicpIHJldHVybiB2YWx1ZTtcblx0fVxuXHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuXHR2YXIgZGVmID0ge307XG5cdGxlYWZQcm90b3R5cGVzID0gbGVhZlByb3RvdHlwZXMgfHwgW251bGwsIGdldFByb3RvKHt9KSwgZ2V0UHJvdG8oW10pLCBnZXRQcm90byhnZXRQcm90byldO1xuXHRmb3IodmFyIGN1cnJlbnQgPSBtb2RlICYgMiAmJiB2YWx1ZTsgdHlwZW9mIGN1cnJlbnQgPT0gJ29iamVjdCcgJiYgIX5sZWFmUHJvdG90eXBlcy5pbmRleE9mKGN1cnJlbnQpOyBjdXJyZW50ID0gZ2V0UHJvdG8oY3VycmVudCkpIHtcblx0XHRPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjdXJyZW50KS5mb3JFYWNoKChrZXkpID0+IChkZWZba2V5XSA9ICgpID0+ICh2YWx1ZVtrZXldKSkpO1xuXHR9XG5cdGRlZlsnZGVmYXVsdCddID0gKCkgPT4gKHZhbHVlKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBkZWYpO1xuXHRyZXR1cm4gbnM7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCIvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xuXHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcImNyeXB0b1wiKTsiLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcInJlYWN0LWRvbS9zZXJ2ZXJcIik7IiwiaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgcmVuZGVyVG9QaXBlYWJsZVN0cmVhbSBhcyByZWFjdFJlbmRlciB9IGZyb20gJ3JlYWN0LWRvbS9zZXJ2ZXInO1xuXG5pbXBvcnQgdHlwZSB7IFJlbmRlciB9IGZyb20gJy4vc2NyaXB0cy90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNlcnZlclByb3BzIH0gZnJvbSAnLi9zcG91dHMvdHlwZXMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsYXlTcG91dHMoXG4gIHNwb3V0czogKHByb3BzOiBTZXJ2ZXJQcm9wcykgPT4gUHJvbWlzZTx7XG4gICAgYXBwOiBKU1guRWxlbWVudDtcbiAgfT4sXG4gIHtcbiAgICB0aW1lb3V0TVMgPSAxMDAwMCxcbiAgICBvbkVycm9yLFxuICB9OiB7IHRpbWVvdXRNUz86IG51bWJlcjsgb25FcnJvcj86IChlcnJvcjogdW5rbm93bikgPT4gdm9pZCB9ID0ge30sXG4pIHtcbiAgY29uc3QgcmVuZGVyOiBSZW5kZXIgPSBhc3luYyAoY2xpZW50TWFuaWZlc3QsIHJlcSwgcmVzKSA9PiB7XG4gICAgY29uc3Qgbm9uY2UgPSBjcnlwdG8ucmFuZG9tQnl0ZXMoMTYpLnRvU3RyaW5nKCdiYXNlNjQnKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGFwcCB9ID0gYXdhaXQgc3BvdXRzKHsgY2xpZW50TWFuaWZlc3QsIHJlcSwgcmVzLCBub25jZSB9KTtcblxuICAgICAgbGV0IGRpZEVycm9yID0gZmFsc2U7XG4gICAgICBjb25zdCB7IHBpcGUsIGFib3J0IH0gPSByZWFjdFJlbmRlcihhcHAsIHtcbiAgICAgICAgbm9uY2UsXG4gICAgICAgIC8vYm9vdHN0cmFwU2NyaXB0czogYXNzZXRzLmZpbHRlcihhc3NldCA9PiBhc3NldC5lbmRzV2l0aCgnLmpzJykpLFxuICAgICAgICBvblNoZWxsUmVhZHkoKSB7XG4gICAgICAgICAgLy9tYW5hZ2Vycy5mb3JFYWNoKG1hbmFnZXIgPT4gbWFuYWdlci5jbGVhbnVwKCkpO1xuICAgICAgICAgIC8vIElmIHNvbWV0aGluZyBlcnJvcmVkIGJlZm9yZSB3ZSBzdGFydGVkIHN0cmVhbWluZywgd2Ugc2V0IHRoZSBlcnJvciBjb2RlIGFwcHJvcHJpYXRlbHkuXG4gICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSBkaWRFcnJvciA/IDUwMCA6IDIwMDtcbiAgICAgICAgICByZXMuc2V0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAndGV4dC9odG1sJyk7XG4gICAgICAgICAgcGlwZShyZXMpO1xuICAgICAgICB9LFxuICAgICAgICBvblNoZWxsRXJyb3IoKSB7XG4gICAgICAgICAgZGlkRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNTAwO1xuICAgICAgICAgIHBpcGUocmVzKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25FcnJvcihlOiBhbnkpIHtcbiAgICAgICAgICBkaWRFcnJvciA9IHRydWU7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDUwMDtcbiAgICAgICAgICAvL3BpcGUocmVzKTsgUmVtb3ZpbmcgdGhpcyBhdm9pZHMsIFwiUmVhY3QgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgcGlwaW5nIHRvIG9uZSB3cml0YWJsZSBzdHJlYW0uXCJcbiAgICAgICAgICBpZiAob25FcnJvcikgb25FcnJvcihlKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgLy8gQWJhbmRvbiBhbmQgc3dpdGNoIHRvIGNsaWVudCByZW5kZXJpbmcgaWYgZW5vdWdoIHRpbWUgcGFzc2VzLlxuICAgICAgLy8gVHJ5IGxvd2VyaW5nIHRoaXMgdG8gc2VlIHRoZSBjbGllbnQgcmVjb3Zlci5cbiAgICAgIHNldFRpbWVvdXQoXG4gICAgICAgICgpID0+IChhYm9ydCBhcyBhbnkpKGBUaW1lb3V0IG9mICR7dGltZW91dE1TfW1zIGV4Y2VlZGVkYCksXG4gICAgICAgIHRpbWVvdXRNUyxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgaWYgKG9uRXJyb3IpIG9uRXJyb3IoZSk7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIHJlbmRlcjtcbn1cbiIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwicmVhY3RcIik7IiwiZXhwb3J0IGludGVyZmFjZSBQb2xpY3kge1xuICBbZGlyZWN0aXZlOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuLy8gVE9ETzogbWVtb2l6ZSB0aGlzXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQb2xpY3kocG9saWN5T2JqOiBQb2xpY3kpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHBvbGljeU9iailcbiAgICAubWFwKGtleSA9PiB7XG4gICAgICBjb25zdCB2YWwgPVxuICAgICAgICBBcnJheS5pc0FycmF5KHBvbGljeU9ialtrZXldKSA/XG4gICAgICAgICAgWy4uLm5ldyBTZXQocG9saWN5T2JqW2tleV0pLnZhbHVlcygpXS5maWx0ZXIodiA9PiB2KS5qb2luKCcgJylcbiAgICAgICAgOiBwb2xpY3lPYmpba2V5XTtcblxuICAgICAgLy8gbW92ZSBzdHJpY3QgZHluYW1pYyB0byB0aGUgZW5kIG9mIHRoZSBwb2xpY3kgaWYgaXQgZXhpc3RzIHRvIGJlIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggY3NwMlxuICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRUUC9IZWFkZXJzL0NvbnRlbnQtU2VjdXJpdHktUG9saWN5L3NjcmlwdC1zcmMjc3RyaWN0LWR5bmFtaWNcbiAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJyAmJiB2YWwuaW5jbHVkZXMoXCInc3RyaWN0LWR5bmFtaWMnXCIpKSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbCA9IGAke3ZhbFxuICAgICAgICAgIC5yZXBsYWNlKC9cXHM/J3N0cmljdC1keW5hbWljJ1xccz8vZ2ksICcgJylcbiAgICAgICAgICAudHJpbSgpfSAnc3RyaWN0LWR5bmFtaWMnYDtcbiAgICAgICAgcmV0dXJuIGAke2tleX0gJHtuZXdWYWx9YDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGAke2tleX0gJHt2YWx9YDtcbiAgICB9KVxuICAgIC5qb2luKCc7ICcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gam9pbk5vbmNlKHBvbGljeU9iajogUG9saWN5LCBub25jZT86IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICBpZiAoIW5vbmNlKSByZXR1cm4gcG9saWN5T2JqO1xuICBjb25zdCBwb2xpY3kgPSB7XG4gICAgLi4ucG9saWN5T2JqLFxuICB9O1xuICBpZiAodHlwZW9mIHBvbGljeVsnc2NyaXB0LXNyYyddID09PSAnc3RyaW5nJykge1xuICAgIHBvbGljeVsnc2NyaXB0LXNyYyddID0gW3BvbGljeVsnc2NyaXB0LXNyYyddLCBgJ25vbmNlLSR7bm9uY2V9J2BdO1xuICB9IGVsc2Uge1xuICAgIHBvbGljeVsnc2NyaXB0LXNyYyddID0gWy4uLnBvbGljeVsnc2NyaXB0LXNyYyddLCBgJ25vbmNlLSR7bm9uY2V9J2BdO1xuICB9XG4gIHJldHVybiBwb2xpY3k7XG59XG4iLCJ0eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBhc3NldHM6IHsgaHJlZjogc3RyaW5nOyBhcz86IHN0cmluZzsgcmVsPzogc3RyaW5nIH1bXTtcbiAgaGVhZD86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgZXh0cmFTdHlsZTogUmVhY3QuUmVhY3ROb2RlO1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlO1xuICB0aXRsZTogc3RyaW5nO1xuICByb290SWQ/OiBzdHJpbmc7XG4gIGNoYXJTZXQ/OiBzdHJpbmc7XG4gIGxhbmc/OiBzdHJpbmc7XG59O1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRG9jdW1lbnQoe1xuICBhc3NldHMsXG4gIGhlYWQgPSBkZWZhdWx0SGVhZCxcbiAgY2hpbGRyZW4sXG4gIHRpdGxlLFxuICByb290SWQgPSAnYW5hbnNpLXJvb3QnLFxuICBjaGFyU2V0ID0gJ3V0Zi04JyxcbiAgc2NyaXB0cyA9IG51bGwsXG4gIGV4dHJhU3R5bGUsXG4gIGxhbmcsXG59OiBQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxodG1sIGxhbmc9e2xhbmd9PlxuICAgICAgPGhlYWQ+XG4gICAgICAgIDxtZXRhIGNoYXJTZXQ9e2NoYXJTZXR9IC8+XG4gICAgICAgIHtoZWFkfVxuICAgICAgICB7ZXh0cmFTdHlsZX1cbiAgICAgICAge2Fzc2V0cy5tYXAoKGFzc2V0LCBpKSA9PiAoXG4gICAgICAgICAgPGxpbmsga2V5PXtpfSByZWw9XCJwcmVsb2FkXCIgey4uLmFzc2V0fSAvPlxuICAgICAgICApKX1cbiAgICAgICAgPHRpdGxlPnt0aXRsZX08L3RpdGxlPlxuICAgICAgPC9oZWFkPlxuICAgICAgPGJvZHk+XG4gICAgICAgIDxkaXYgaWQ9e3Jvb3RJZH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICB7c2NyaXB0c31cbiAgICAgICAge2Fzc2V0c1xuICAgICAgICAgIC5maWx0ZXIoKHsgaHJlZiB9KSA9PiBocmVmLmVuZHNXaXRoKCcuanMnKSlcbiAgICAgICAgICAubWFwKCh7IGhyZWYgfSwgaSkgPT4gKFxuICAgICAgICAgICAgPHNjcmlwdCBrZXk9e2l9IHNyYz17aHJlZn0gYXN5bmMgLz5cbiAgICAgICAgICApKX1cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gICk7XG59XG5jb25zdCBkZWZhdWx0SGVhZCA9IChcbiAgPD5cbiAgICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTFcIiAvPlxuICAgIDxsaW5rXG4gICAgICByZWw9XCJzaG9ydGN1dCBpY29uXCJcbiAgICAgIGhyZWY9e2Ake3Byb2Nlc3MuZW52LldFQlBBQ0tfUFVCTElDX1BBVEggPz8gJy8nfWZhdmljb24uaWNvYH1cbiAgICAvPlxuICA8Lz5cbik7XG4iLCJpbXBvcnQgdHlwZSB7IFJvdXRlIH0gZnJvbSAnQGFuYW5zaS9yb3V0ZXInO1xuaW1wb3J0IHsgUmVxdWVzdCB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFN0YXRzQ2h1bmtHcm91cCB9IGZyb20gJ3dlYnBhY2snO1xuXG5pbXBvcnQgeyBidWlsZFBvbGljeSwgam9pbk5vbmNlLCBQb2xpY3kgfSBmcm9tICcuL2NzcC5qcyc7XG5pbXBvcnQgRG9jdW1lbnQgZnJvbSAnLi9Eb2N1bWVudENvbXBvbmVudC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkTmV4dCA9IHtcbiAgbWF0Y2hlZFJvdXRlczogUm91dGU8YW55PltdO1xuICB0aXRsZT86IHN0cmluZztcbiAgc2NyaXB0cz86IFJlYWN0LlJlYWN0Tm9kZVtdO1xuICBleHRyYVN0eWxlPzogUmVhY3QuUmVhY3ROb2RlW107XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEb2N1bWVudFNwb3V0KG9wdGlvbnM6IHtcbiAgaGVhZD86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgdGl0bGU6IHN0cmluZztcbiAgbGFuZz86IHN0cmluZztcbiAgcm9vdElkPzogc3RyaW5nO1xuICBjaGFyU2V0Pzogc3RyaW5nO1xuICBjc1BvbGljeT86IFBvbGljeTtcbn0pOiBTZXJ2ZXJTcG91dDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIE5lZWRlZE5leHQ+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3QgcHVibGljUGF0aCA9IHByb3BzLmNsaWVudE1hbmlmZXN0LnB1YmxpY1BhdGg7XG5cbiAgICBpZiAoXG4gICAgICBPYmplY3Qua2V5cyhwcm9wcy5jbGllbnRNYW5pZmVzdD8uZW50cnlwb2ludHMgPz8ge30pLmxlbmd0aCA8IDEgfHxcbiAgICAgIHB1YmxpY1BhdGggPT09IHVuZGVmaW5lZFxuICAgIClcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWFuaWZlc3QgbWlzc2luZyBlbnRyaWVzIG5lZWRlZCcpO1xuXG4gICAgLy8gVE9ETzogY29uc2lkZXIgdXNpbmcgdGhpcyBwYWNrYWdlIGZvciBidWlsZCBzdGF0cyBpbiBmdXR1cmU6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvbWFpbi9wYWNrYWdlcy9yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2tcbiAgICBjb25zdCBhc3NldE1hcCA9IChhc3NldHM6IHsgbmFtZTogc3RyaW5nOyBzaXplPzogbnVtYmVyIH1bXSkgPT5cbiAgICAgIGFzc2V0cy5tYXAoKHsgbmFtZSB9KSA9PiBgJHtwdWJsaWNQYXRofSR7bmFtZX1gKTtcblxuICAgIGNvbnN0IGFzc2V0TGlzdDogc3RyaW5nW10gPSBbXTtcbiAgICBPYmplY3QudmFsdWVzKHByb3BzLmNsaWVudE1hbmlmZXN0Py5lbnRyeXBvaW50cyA/PyB7fSkuZm9yRWFjaChcbiAgICAgIGVudHJ5cG9pbnQgPT4ge1xuICAgICAgICBhc3NldExpc3QucHVzaCguLi5hc3NldE1hcChlbnRyeXBvaW50LmFzc2V0cyA/PyBbXSkpO1xuICAgICAgfSxcbiAgICApO1xuICAgIG5ldyBTZXQoXG4gICAgICBhc3NldE1hcChcbiAgICAgICAgT2JqZWN0LnZhbHVlcyhwcm9wcy5jbGllbnRNYW5pZmVzdC5uYW1lZENodW5rR3JvdXBzID8/IHt9KVxuICAgICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PlxuICAgICAgICAgICAgbmV4dFByb3BzLm1hdGNoZWRSb3V0ZXMuc29tZShyb3V0ZSA9PiBuYW1lPy5pbmNsdWRlcyhyb3V0ZS5uYW1lKSksXG4gICAgICAgICAgKVxuICAgICAgICAgIC5mbGF0TWFwKGNodW5rID0+IFtcbiAgICAgICAgICAgIC4uLihjaHVuay5hc3NldHMgPz8gW10pLFxuICAgICAgICAgICAgLy8gYW55IGNodW5rIHByZWxvYWRzXG4gICAgICAgICAgICAuLi5jaGlsZHJlbkFzc2V0cyhjaHVuayksXG4gICAgICAgICAgXSksXG4gICAgICApLFxuICAgICkuZm9yRWFjaChhc3NldCA9PiBhc3NldExpc3QucHVzaChhc3NldCkpO1xuXG4gICAgLy8gZmluZCBhZGRpdGlvbmFsIGFzc2V0cyB0byBwcmVsb2FkIGJhc2VkIG9uIG1hdGNoZWQgcm91dGVcbiAgICBjb25zdCBhc3NldHM6IHtcbiAgICAgIGhyZWY6IHN0cmluZztcbiAgICAgIGFzPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgcmVsPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIH1bXSA9IGFzc2V0TGlzdFxuICAgICAgLmZpbHRlcihhc3NldCA9PiAhYXNzZXQuZW5kc1dpdGgoJy5ob3QtdXBkYXRlLmpzJykpXG4gICAgICAubWFwKGFzc2V0ID0+XG4gICAgICAgIGFzc2V0LmVuZHNXaXRoKCcuY3NzJykgPyB7IGhyZWY6IGFzc2V0LCByZWw6ICdzdHlsZXNoZWV0JyB9XG4gICAgICAgIDogYXNzZXQuZW5kc1dpdGgoJy5qcycpID8geyBocmVmOiBhc3NldCwgYXM6ICdzY3JpcHQnIH1cbiAgICAgICAgOiB7IGhyZWY6IGFzc2V0IH0sXG4gICAgICApO1xuXG4gICAgaWYgKG9wdGlvbnMuY3NQb2xpY3kpIHtcbiAgICAgIGNvbnN0IGh0dHBFcXVpdiA9XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicgP1xuICAgICAgICAgICdDb250ZW50LVNlY3VyaXR5LVBvbGljeSdcbiAgICAgICAgOiAnQ29udGVudC1TZWN1cml0eS1Qb2xpY3ktUmVwb3J0LU9ubHknO1xuXG4gICAgICBwcm9wcy5yZXMuc2V0SGVhZGVyKFxuICAgICAgICBodHRwRXF1aXYsXG4gICAgICAgIGJ1aWxkUG9saWN5KGpvaW5Ob25jZShvcHRpb25zLmNzUG9saWN5LCBwcm9wcy5ub25jZSkpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgYXBwOiAoXG4gICAgICAgIDxEb2N1bWVudFxuICAgICAgICAgIHsuLi5vcHRpb25zfVxuICAgICAgICAgIGV4dHJhU3R5bGU9e25leHRQcm9wcy5leHRyYVN0eWxlfVxuICAgICAgICAgIHRpdGxlPXtuZXh0UHJvcHMudGl0bGUgPz8gb3B0aW9ucy50aXRsZX1cbiAgICAgICAgICBhc3NldHM9e2Fzc2V0c31cbiAgICAgICAgICByb290SWQ9e29wdGlvbnMucm9vdElkfVxuICAgICAgICAgIHNjcmlwdHM9e25leHRQcm9wcy5zY3JpcHRzfVxuICAgICAgICA+XG4gICAgICAgICAge25leHRQcm9wcy5hcHB9XG4gICAgICAgIDwvRG9jdW1lbnQ+XG4gICAgICApLFxuICAgIH07XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNoaWxkcmVuQXNzZXRzKGNodW5rOiBTdGF0c0NodW5rR3JvdXApIHtcbiAgcmV0dXJuIGNodW5rLmNoaWxkcmVuID9cbiAgICAgIE9iamVjdC52YWx1ZXMoY2h1bmsuY2hpbGRyZW4pLmZsYXRNYXAocHJlbG9hZCA9PlxuICAgICAgICBwcmVsb2FkLmZsYXRNYXAoYyA9PiBjLmFzc2V0cyA/PyBbXSksXG4gICAgICApXG4gICAgOiBbXTtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ29udHJvbGxlcixcbiAgdHlwZSBNYW5hZ2VyLFxuICB0eXBlIFN0YXRlLFxuICB0eXBlIFN0b3JlLFxufSBmcm9tICdAZGF0YS1jbGllbnQvcmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGRhdGFDbGllbnRTcG91dChcbiAgb3B0aW9uczoge1xuICAgIGdldE1hbmFnZXJzPzogKCkgPT4gTWFuYWdlcltdO1xuICB9ID0ge30sXG4pOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIHsgY29udHJvbGxlcjogQ29udHJvbGxlciB9ICYgeyBzdG9yZTogU3RvcmU8U3RhdGU8dW5rbm93bj4+IH0sXG4gIHsgaW5pdERhdGE/OiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPjsgc2NyaXB0cz86IFJlYWN0LlJlYWN0Tm9kZVtdIH1cbj4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgbWFuYWdlcnMgPSBvcHRpb25zPy5nZXRNYW5hZ2Vycz8uKCkgPz8gW1xuICAgICAgbmV3IChhd2FpdCBpbXBvcnQoJ0BkYXRhLWNsaWVudC9yZWFjdCcpKS5OZXR3b3JrTWFuYWdlcigpLFxuICAgIF07XG4gICAgY29uc3QgeyBjcmVhdGVQZXJzaXN0ZWRTdG9yZSB9ID0gYXdhaXQgaW1wb3J0KCdAZGF0YS1jbGllbnQvc3NyJyk7XG4gICAgY29uc3QgW1NlcnZlckNhY2hlUHJvdmlkZXIsIHVzZVJlYWR5Q2FjaGVTdGF0ZSwgY29udHJvbGxlciwgc3RvcmVdID1cbiAgICAgIGNyZWF0ZVBlcnNpc3RlZFN0b3JlKG1hbmFnZXJzKTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQoe1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBjb250cm9sbGVyLFxuICAgICAgc3RvcmUsXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIGluaXREYXRhOiB7XG4gICAgICAgIC4uLm5leHRQcm9wcy5pbml0RGF0YSxcbiAgICAgICAgZGF0YWNsaWVudDogdXNlUmVhZHlDYWNoZVN0YXRlLFxuICAgICAgfSxcbiAgICAgIGFwcDogPFNlcnZlckNhY2hlUHJvdmlkZXI+e25leHRQcm9wcy5hcHB9PC9TZXJ2ZXJDYWNoZVByb3ZpZGVyPixcbiAgICAgIC8vIFRPRE86IGZpZ3VyZSBvdXQgaG93IHRvIG9ubHkgaW5qZWN0IGluIG5leHQgYW5kIG5vdCBoYXZlIHRvIGFsc28gcHV0IGhlcmVcbiAgICAgIGNvbnRyb2xsZXIsXG4gICAgICBzdG9yZSxcbiAgICB9O1xuICB9O1xufVxuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBTZXJ2ZXJTcG91dCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG50eXBlIE5lZWRlZE5leHQgPSB7XG4gIGluaXREYXRhPzogUmVjb3JkPHN0cmluZywgKCkgPT4gdW5rbm93bj47XG4gIHNjcmlwdHM/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbiAgZXh0cmFTdHlsZT86IFJlYWN0LlJlYWN0Tm9kZVtdO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYW50ZFNwb3V0KCk6IFNlcnZlclNwb3V0PFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIE5lZWRlZE5leHRcbj4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGVDYWNoZSwgZXh0cmFjdFN0eWxlLCBTdHlsZVByb3ZpZGVyIH0gPSBhd2FpdCBpbXBvcnQoXG4gICAgICAnQGFudC1kZXNpZ24vY3NzaW5qcydcbiAgICApO1xuICAgIGNvbnN0IGNhY2hlID0gY3JlYXRlQ2FjaGUoKTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3Qgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlW10gPSBuZXh0UHJvcHMuc2NyaXB0cyA/PyBbXTtcblxuICAgIGNvbnN0IEFudGRTaGVldHMgPSAoKTogSlNYLkVsZW1lbnQgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHNjcmlwdFxuICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICBfX2h0bWw6IGA8L3NjcmlwdD4ke2V4dHJhY3RTdHlsZShjYWNoZSl9PHNjcmlwdD5gLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH07XG4gICAgLy8gdW5mb3J0dW5hdGVseSB3ZSBoYXZlIHRvIGluamVjdCB0aGlzIGFmdGVyIHRoZSBlbnRpcmUgY29udGVudCBoYXMgc3RyZWFtZWQgaW4gb3IgaXQgZG9lc24ndCBjb3JyZWN0bHkgcG9wdWxhdGVcbiAgICAvLyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2Nzc2luanMvaXNzdWVzLzc5XG4gICAgc2NyaXB0cy5wdXNoKDxBbnRkU2hlZXRzIC8+KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IDxTdHlsZVByb3ZpZGVyIGNhY2hlPXtjYWNoZX0+e25leHRQcm9wcy5hcHB9PC9TdHlsZVByb3ZpZGVyPixcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwiQGFuYW5zaS9yb3V0ZXJcIik7IiwiY29uc3QgX19XRUJQQUNLX05BTUVTUEFDRV9PQkpFQ1RfXyA9IHJlcXVpcmUoXCJoaXN0b3J5XCIpOyIsImltcG9ydCB7IFJvdXRlLCBSb3V0ZVByb3ZpZGVyLCBSb3V0ZUNvbnRyb2xsZXIgfSBmcm9tICdAYW5hbnNpL3JvdXRlcic7XG5pbXBvcnQgeyBjcmVhdGVNZW1vcnlIaXN0b3J5IH0gZnJvbSAnaGlzdG9yeSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IENyZWF0ZVJvdXRlciwgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcm91dGVyU3BvdXQ8UmVzb2x2ZVdpdGg+KG9wdGlvbnM6IHtcbiAgcmVzb2x2ZVdpdGg/OiBhbnk7XG4gIHVzZVJlc29sdmVXaXRoOiAoKSA9PiBSZXNvbHZlV2l0aDtcbiAgY3JlYXRlUm91dGVyOiBDcmVhdGVSb3V0ZXI8UmVzb2x2ZVdpdGg+O1xufSk6IFNlcnZlclNwb3V0PFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAge1xuICAgIG1hdGNoZWRSb3V0ZXM6IFJvdXRlPFJlc29sdmVXaXRoPltdO1xuICAgIHNlYXJjaFBhcmFtczogVVJMU2VhcmNoUGFyYW1zO1xuICB9ICYge1xuICAgIHJvdXRlcjogUm91dGVDb250cm9sbGVyPFJvdXRlPFJlc29sdmVXaXRoLCBhbnk+PjtcbiAgfVxuPiB7XG4gIGNvbnN0IGNyZWF0ZVJvdXRlQ29tcG9uZW50ID0gKFxuICAgIHJvdXRlcjogUm91dGVDb250cm9sbGVyPFJvdXRlPFJlc29sdmVXaXRoLCBhbnk+PixcbiAgKSA9PlxuICAgIGZ1bmN0aW9uIFJvdXRlcih7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9KSB7XG4gICAgICBjb25zdCByZXNvbHZlV2l0aCA9IG9wdGlvbnMudXNlUmVzb2x2ZVdpdGgoKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFJvdXRlUHJvdmlkZXIgcm91dGVyPXtyb3V0ZXJ9IHJlc29sdmVXaXRoPXtyZXNvbHZlV2l0aH0+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1JvdXRlUHJvdmlkZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IHVybCA9IHByb3BzLnJlcS51cmwgfHwgJyc7XG4gICAgY29uc3QgcGFydHMgPSB1cmwuc3BsaXQoJz8nLCAyKTtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHBhcnRzLmxlbmd0aCA8IDIgPyAnJyA6IHBhcnRzWzFdKTtcbiAgICBjb25zdCByb3V0ZXIgPSBvcHRpb25zLmNyZWF0ZVJvdXRlcihcbiAgICAgIGNyZWF0ZU1lbW9yeUhpc3RvcnkoeyBpbml0aWFsRW50cmllczogW3VybF0gfSksXG4gICAgKTtcbiAgICBjb25zdCBtYXRjaGVkUm91dGVzOiBSb3V0ZTxSZXNvbHZlV2l0aD5bXSA9IHJvdXRlci5nZXRNYXRjaGVkUm91dGVzKHVybCk7XG5cbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgbWF0Y2hlZFJvdXRlcyxcbiAgICAgIHJvdXRlcixcbiAgICAgIHNlYXJjaFBhcmFtcyxcbiAgICB9KTtcblxuICAgIGNvbnN0IFJvdXRlciA9IGNyZWF0ZVJvdXRlQ29tcG9uZW50KHJvdXRlcik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgYXBwOiA8Um91dGVyPntuZXh0UHJvcHMuYXBwfTwvUm91dGVyPixcbiAgICAgIC8vIFRPRE86IGZpZ3VyZSBvdXQgaG93IHRvIG9ubHkgaW5qZWN0IGluIG5leHQgYW5kIG5vdCBoYXZlIHRvIGFsc28gcHV0IGhlcmVcbiAgICAgIG1hdGNoZWRSb3V0ZXMsXG4gICAgICByb3V0ZXIsXG4gICAgICBzZWFyY2hQYXJhbXMsXG4gICAgfTtcbiAgfTtcbn1cbiIsImltcG9ydCB7IFJvdXRlIH0gZnJvbSAnQGFuYW5zaS9yb3V0ZXInO1xuXG5pbXBvcnQgdHlwZSB7IFJlc29sdmVQcm9wcywgU2VydmVyUHJvcHMgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWRQcm9wczxSb3V0ZVdpdGg+ID0ge1xuICBtYXRjaGVkUm91dGVzOiBSb3V0ZTxSb3V0ZVdpdGg+W107XG4gIHNlYXJjaFBhcmFtczogVVJMU2VhcmNoUGFyYW1zO1xufSAmIFJlc29sdmVQcm9wcztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcHJlZmV0Y2hTcG91dDxGIGV4dGVuZHMgc3RyaW5nPihmaWVsZDogRikge1xuICByZXR1cm4gZnVuY3Rpb24gPFxuICAgIFJvdXRlV2l0aCxcbiAgICBOIGV4dGVuZHMgTmVlZGVkUHJvcHM8Um91dGVXaXRoPixcbiAgICBJIGV4dGVuZHMgU2VydmVyUHJvcHMsXG4gID4oXG4gICAgbmV4dDogKHByb3BzOiBJKSA9PiBQcm9taXNlPFxuICAgICAge1xuICAgICAgICBbSyBpbiBGXTogUm91dGVXaXRoO1xuICAgICAgfSAmIE5cbiAgICA+LFxuICApIHtcbiAgICByZXR1cm4gYXN5bmMgKHByb3BzOiBJKSA9PiB7XG4gICAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHByb3BzKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdG9GZXRjaDogUHJvbWlzZTx1bmtub3duPltdID0gW107XG4gICAgICAgIG5leHRQcm9wcy5tYXRjaGVkUm91dGVzLmZvckVhY2gocm91dGUgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2Ygcm91dGUucmVzb2x2ZURhdGEgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRvRmV0Y2gucHVzaChcbiAgICAgICAgICAgICAgcm91dGUucmVzb2x2ZURhdGEoXG4gICAgICAgICAgICAgICAgbmV4dFByb3BzW2ZpZWxkXSxcbiAgICAgICAgICAgICAgICByb3V0ZSxcbiAgICAgICAgICAgICAgICBuZXh0UHJvcHMuc2VhcmNoUGFyYW1zLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbCh0b0ZldGNoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0UHJvcHM7XG4gICAgfTtcbiAgfTtcbn1cbiIsImltcG9ydCBSZWFjdCwgeyBTdXNwZW5zZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBTZXJ2ZXJTcG91dCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG50eXBlIE5lZWRlZE5leHQgPSB7XG4gIGluaXREYXRhPzogUmVjb3JkPHN0cmluZywgKCkgPT4gdW5rbm93bj47XG4gIHNjcmlwdHM/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEpTT05TcG91dCh7XG4gIGlkID0gJ2FuYW5zaS1qc29uJyxcbn06IHsgaWQ/OiBzdHJpbmcgfSA9IHt9KTogU2VydmVyU3BvdXQ8XG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgTmVlZGVkTmV4dFxuPiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHByb3BzKTtcblxuICAgIGNvbnN0IHNjcmlwdHM6IFJlYWN0LlJlYWN0Tm9kZVtdID0gbmV4dFByb3BzLnNjcmlwdHMgPz8gW107XG5cbiAgICBPYmplY3QuZW50cmllcyhuZXh0UHJvcHMuaW5pdERhdGEgPz8ge30pLmZvckVhY2goKFtrZXksIHVzZURhdGFdKSA9PiB7XG4gICAgICBjb25zdCBnbG9iYWxJZCA9IGAke2lkfS4ke2tleX1gO1xuICAgICAgY29uc3QgU2NyaXB0ID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhOiBhbnkgPSB1c2VEYXRhKCk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgZW5jb2RlZCA9IEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8c2NyaXB0XG4gICAgICAgICAgICAgIGlkPXtnbG9iYWxJZH1cbiAgICAgICAgICAgICAgdHlwZT1cImFwcGxpY2F0aW9uL2pzb25cIlxuICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgICAgIF9faHRtbDogZW5jb2RlZCxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgbm9uY2U9e3Byb3BzLm5vbmNlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgLy8gVE9ETzogVXNlIHVuaWZpZWQgbG9nZ2luZ1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHNlcmlhbGl6aW5nIGpzb24gZm9yICR7a2V5fWApO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBzY3JpcHRzLnB1c2goXG4gICAgICAgIDxTdXNwZW5zZSBrZXk9e2dsb2JhbElkfT5cbiAgICAgICAgICA8U2NyaXB0IC8+XG4gICAgICAgIDwvU3VzcGVuc2U+LFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBzY3JpcHRzLFxuICAgIH07XG4gIH07XG59XG4iLCJpbXBvcnQgeyBTZXJ2ZXJQcm9wcyB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5jb25zdCBhcHBTcG91dCA9XG4gIChhcHA6IEpTWC5FbGVtZW50KSA9PlxuICA8UCBleHRlbmRzIFNlcnZlclByb3BzPihwcm9wczogUCkgPT5cbiAgICBQcm9taXNlLnJlc29sdmUoeyAuLi5wcm9wcywgYXBwIH0pO1xuXG5leHBvcnQgZGVmYXVsdCBhcHBTcG91dDtcbiIsImV4cG9ydCB7IGRlZmF1bHQgYXMgbGF5U3BvdXRzIH0gZnJvbSAnLi9sYXlTcG91dHMuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkb2N1bWVudFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvZG9jdW1lbnQuc2VydmVyLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZGF0YUNsaWVudFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvZGF0YUNsaWVudC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBhbnRkU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9hbnRkLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJvdXRlclNwb3V0IH0gZnJvbSAnLi9zcG91dHMvcm91dGVyLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHByZWZldGNoU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9wcmVmZXRjaC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBKU09OU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9qc29uLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFwcFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvYXBwLnNlcnZlci5qcyc7XG5leHBvcnQgdHlwZSB7IFNlcnZlclByb3BzIH0gZnJvbSAnLi9zcG91dHMvdHlwZXMuanMnO1xuZXhwb3J0IHR5cGUgeyBTZXJ2ZXJTcG91dCBhcyBTcG91dCB9IGZyb20gJy4vc3BvdXRzL3R5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc2NyaXB0cy90eXBlcy5qcyc7XG4iXSwibmFtZXMiOlsiY3J5cHRvIiwicmVuZGVyVG9QaXBlYWJsZVN0cmVhbSIsInJlYWN0UmVuZGVyIiwibGF5U3BvdXRzIiwic3BvdXRzIiwidGltZW91dE1TIiwib25FcnJvciIsInJlbmRlciIsImNsaWVudE1hbmlmZXN0IiwicmVxIiwicmVzIiwibm9uY2UiLCJyYW5kb21CeXRlcyIsInRvU3RyaW5nIiwiYXBwIiwiZGlkRXJyb3IiLCJwaXBlIiwiYWJvcnQiLCJvblNoZWxsUmVhZHkiLCJzdGF0dXNDb2RlIiwic2V0SGVhZGVyIiwib25TaGVsbEVycm9yIiwiZSIsImNvbnNvbGUiLCJlcnJvciIsInNldFRpbWVvdXQiLCJidWlsZFBvbGljeSIsInBvbGljeU9iaiIsIk9iamVjdCIsImtleXMiLCJtYXAiLCJrZXkiLCJ2YWwiLCJBcnJheSIsImlzQXJyYXkiLCJTZXQiLCJ2YWx1ZXMiLCJmaWx0ZXIiLCJ2Iiwiam9pbiIsImluY2x1ZGVzIiwibmV3VmFsIiwicmVwbGFjZSIsInRyaW0iLCJqb2luTm9uY2UiLCJwb2xpY3kiLCJEb2N1bWVudCIsImFzc2V0cyIsImhlYWQiLCJkZWZhdWx0SGVhZCIsImNoaWxkcmVuIiwidGl0bGUiLCJyb290SWQiLCJjaGFyU2V0Iiwic2NyaXB0cyIsImV4dHJhU3R5bGUiLCJsYW5nIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiX19zZWxmIiwiX19zb3VyY2UiLCJmaWxlTmFtZSIsIl9qc3hGaWxlTmFtZSIsImxpbmVOdW1iZXIiLCJjb2x1bW5OdW1iZXIiLCJhc3NldCIsImkiLCJyZWwiLCJpZCIsImhyZWYiLCJlbmRzV2l0aCIsInNyYyIsImFzeW5jIiwiRnJhZ21lbnQiLCJuYW1lIiwiY29udGVudCIsIl9wcm9jZXNzJGVudiRXRUJQQUNLXyIsInByb2Nlc3MiLCJlbnYiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwiRG9jdW1lbnRTcG91dCIsIm9wdGlvbnMiLCJuZXh0IiwicHJvcHMiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3QiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3QyIiwiX3Byb3BzJGNsaWVudE1hbmlmZXN0MyIsIl9wcm9wcyRjbGllbnRNYW5pZmVzdDQiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3Q1IiwiX25leHRQcm9wcyR0aXRsZSIsIm5leHRQcm9wcyIsInB1YmxpY1BhdGgiLCJlbnRyeXBvaW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkVycm9yIiwiYXNzZXRNYXAiLCJhc3NldExpc3QiLCJmb3JFYWNoIiwiZW50cnlwb2ludCIsIl9lbnRyeXBvaW50JGFzc2V0cyIsInB1c2giLCJuYW1lZENodW5rR3JvdXBzIiwibWF0Y2hlZFJvdXRlcyIsInNvbWUiLCJyb3V0ZSIsImZsYXRNYXAiLCJjaHVuayIsIl9jaHVuayRhc3NldHMiLCJjaGlsZHJlbkFzc2V0cyIsImFzIiwiY3NQb2xpY3kiLCJodHRwRXF1aXYiLCJOT0RFX0VOViIsInByZWxvYWQiLCJjIiwiX2MkYXNzZXRzIiwiZGF0YUNsaWVudFNwb3V0IiwiX29wdGlvbnMkZ2V0TWFuYWdlcnMiLCJtYW5hZ2VycyIsImdldE1hbmFnZXJzIiwiTmV0d29ya01hbmFnZXIiLCJjcmVhdGVQZXJzaXN0ZWRTdG9yZSIsIlNlcnZlckNhY2hlUHJvdmlkZXIiLCJ1c2VSZWFkeUNhY2hlU3RhdGUiLCJjb250cm9sbGVyIiwic3RvcmUiLCJpbml0RGF0YSIsImRhdGFjbGllbnQiLCJhbnRkU3BvdXQiLCJfbmV4dFByb3BzJHNjcmlwdHMiLCJjcmVhdGVDYWNoZSIsImV4dHJhY3RTdHlsZSIsIlN0eWxlUHJvdmlkZXIiLCJjYWNoZSIsIkFudGRTaGVldHMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsIlJvdXRlUHJvdmlkZXIiLCJjcmVhdGVNZW1vcnlIaXN0b3J5Iiwicm91dGVyU3BvdXQiLCJjcmVhdGVSb3V0ZUNvbXBvbmVudCIsInJvdXRlciIsIlJvdXRlciIsInJlc29sdmVXaXRoIiwidXNlUmVzb2x2ZVdpdGgiLCJ1cmwiLCJwYXJ0cyIsInNwbGl0Iiwic2VhcmNoUGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwiY3JlYXRlUm91dGVyIiwiaW5pdGlhbEVudHJpZXMiLCJnZXRNYXRjaGVkUm91dGVzIiwicHJlZmV0Y2hTcG91dCIsImZpZWxkIiwidG9GZXRjaCIsInJlc29sdmVEYXRhIiwiUHJvbWlzZSIsImFsbCIsIlN1c3BlbnNlIiwiSlNPTlNwb3V0IiwiX25leHRQcm9wcyRpbml0RGF0YSIsImVudHJpZXMiLCJ1c2VEYXRhIiwiZ2xvYmFsSWQiLCJTY3JpcHQiLCJkYXRhIiwiZW5jb2RlZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0eXBlIiwiYXBwU3BvdXQiLCJyZXNvbHZlIiwiZGVmYXVsdCIsImRvY3VtZW50U3BvdXQiXSwic291cmNlUm9vdCI6IiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"getProxyMiddlewares.d.ts","sourceRoot":"","sources":["../../src/scripts/getProxyMiddlewares.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAMjB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,WAAW,EAAE,gBAAgB,SA0GxE"}
1
+ {"version":3,"file":"getProxyMiddlewares.d.ts","sourceRoot":"","sources":["../../src/scripts/getProxyMiddlewares.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAMjB,MAAM,oBAAoB,CAAC;AAI5B,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,WAAW,EAAE,gBAAgB,SAyGxE"}
@@ -1,4 +1,5 @@
1
- // Essentially taken from https://github.com/webpack/webpack-dev-server/blob/b5e5b67398f97c7a2934e12ebe34fb03cc06c473/lib/Server.js#L2123
1
+ // Essentially taken from https://github.com/webpack/webpack-dev-server/blob/3096148746c906105c4424352f5b5ad1bff0fd4f/lib/Server.js#L2099
2
+ // we just removed the 'bypass' deprecation warnings and converted to typescript
2
3
  export default function getProxyMiddlewares(proxyConfig) {
3
4
  const middlewares = [];
4
5
  // eslint-disable-next-line @typescript-eslint/no-var-requires
@@ -60,9 +61,8 @@ export default function getProxyMiddlewares(proxyConfig) {
60
61
  const bypassUrl = typeof proxyConfig.bypass === 'function' ? await proxyConfig.bypass(req, res, proxyConfig) : null;
61
62
  if (typeof bypassUrl === 'boolean') {
62
63
  // skip the proxy
63
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
64
- // @ts-ignore
65
- req.url = null;
64
+ res.statusCode = 404;
65
+ req.url = '';
66
66
  next();
67
67
  } else if (typeof bypassUrl === 'string') {
68
68
  // byPass to that url
@@ -86,4 +86,4 @@ export default function getProxyMiddlewares(proxyConfig) {
86
86
  });
87
87
  return middlewares;
88
88
  }
89
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRQcm94eU1pZGRsZXdhcmVzIiwicHJveHlDb25maWciLCJtaWRkbGV3YXJlcyIsImNyZWF0ZVByb3h5TWlkZGxld2FyZSIsInJlcXVpcmUiLCJnZXRQcm94eU1pZGRsZXdhcmUiLCJ0YXJnZXQiLCJjb250ZXh0IiwicGF0aCIsInJvdXRlciIsImZvckVhY2giLCJwcm94eUNvbmZpZ09yQ2FsbGJhY2siLCJwcm94eU1pZGRsZXdhcmUiLCJoYW5kbGVyIiwicmVxIiwicmVzIiwibmV4dCIsIm5ld1Byb3h5Q29uZmlnIiwiYnlwYXNzVXJsIiwiYnlwYXNzIiwidXJsIiwicHVzaCIsIm5hbWUiLCJtaWRkbGV3YXJlIiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9nZXRQcm94eU1pZGRsZXdhcmVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFJlcXVlc3RIYW5kbGVyLFxuICBQcm94eUNvbmZpZ0FycmF5LFxuICBSZXNwb25zZSxcbiAgUmVxdWVzdCxcbiAgTmV4dEZ1bmN0aW9uLFxuICBCeVBhc3MsXG4gIFByb3h5Q29uZmlnQXJyYXlJdGVtLFxufSBmcm9tICd3ZWJwYWNrLWRldi1zZXJ2ZXInO1xuXG4vLyBFc3NlbnRpYWxseSB0YWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrL3dlYnBhY2stZGV2LXNlcnZlci9ibG9iL2I1ZTViNjczOThmOTdjN2EyOTM0ZTEyZWJlMzRmYjAzY2MwNmM0NzMvbGliL1NlcnZlci5qcyNMMjEyM1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0UHJveHlNaWRkbGV3YXJlcyhwcm94eUNvbmZpZzogUHJveHlDb25maWdBcnJheSkge1xuICBjb25zdCBtaWRkbGV3YXJlczogYW55W10gPSBbXTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgY29uc3QgeyBjcmVhdGVQcm94eU1pZGRsZXdhcmUgfSA9IHJlcXVpcmUoJ2h0dHAtcHJveHktbWlkZGxld2FyZScpO1xuXG4gIGNvbnN0IGdldFByb3h5TWlkZGxld2FyZSA9IChcbiAgICBwcm94eUNvbmZpZzogUHJveHlDb25maWdBcnJheUl0ZW0sXG4gICk6IFJlcXVlc3RIYW5kbGVyIHwgdW5kZWZpbmVkID0+IHtcbiAgICAvLyBJdCBpcyBwb3NzaWJsZSB0byB1c2UgdGhlIGBieXBhc3NgIG1ldGhvZCB3aXRob3V0IGEgYHRhcmdldGAgb3IgYHJvdXRlcmAuXG4gICAgLy8gSG93ZXZlciwgdGhlIHByb3h5IG1pZGRsZXdhcmUgaGFzIG5vIHVzZSBpbiB0aGlzIGNhc2UsIGFuZCB3aWxsIGZhaWwgdG8gaW5zdGFudGlhdGUuXG4gICAgaWYgKHByb3h5Q29uZmlnLnRhcmdldCkge1xuICAgICAgY29uc3QgY29udGV4dCA9IHByb3h5Q29uZmlnLmNvbnRleHQgfHwgcHJveHlDb25maWcucGF0aDtcblxuICAgICAgcmV0dXJuIGNyZWF0ZVByb3h5TWlkZGxld2FyZSgvKiogQHR5cGUge3N0cmluZ30gKi8gY29udGV4dCwgcHJveHlDb25maWcpO1xuICAgIH1cblxuICAgIGlmIChwcm94eUNvbmZpZy5yb3V0ZXIpIHtcbiAgICAgIHJldHVybiBjcmVhdGVQcm94eU1pZGRsZXdhcmUocHJveHlDb25maWcpO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogQXNzdW1lIGEgcHJveHkgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQgYXM6XG4gICAqIHByb3h5OiBbXG4gICAqICAge1xuICAgKiAgICAgY29udGV4dDogXCJ2YWx1ZVwiLFxuICAgKiAgICAgLi4ub3B0aW9ucyxcbiAgICogICB9LFxuICAgKiAgIC8vIG9yOlxuICAgKiAgIGZ1bmN0aW9uKCkge1xuICAgKiAgICAgcmV0dXJuIHtcbiAgICogICAgICAgY29udGV4dDogXCJjb250ZXh0XCIsXG4gICAqICAgICAgIC4uLm9wdGlvbnMsXG4gICAqICAgICB9O1xuICAgKiAgIH1cbiAgICogXVxuICAgKi9cbiAgcHJveHlDb25maWcuZm9yRWFjaChwcm94eUNvbmZpZ09yQ2FsbGJhY2sgPT4ge1xuICAgIGxldCBwcm94eU1pZGRsZXdhcmU6IFJlcXVlc3RIYW5kbGVyIHwgdW5kZWZpbmVkO1xuXG4gICAgbGV0IHByb3h5Q29uZmlnID1cbiAgICAgIHR5cGVvZiBwcm94eUNvbmZpZ09yQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicgP1xuICAgICAgICBwcm94eUNvbmZpZ09yQ2FsbGJhY2soKVxuICAgICAgOiBwcm94eUNvbmZpZ09yQ2FsbGJhY2s7XG5cbiAgICBwcm94eU1pZGRsZXdhcmUgPSBnZXRQcm94eU1pZGRsZXdhcmUocHJveHlDb25maWcpO1xuXG4gICAgLyogVE9ETzogZmlndXJlIG91dCBob3cgdG8gbWFrZSB0aGlzIHdvcmtcbiAgICBpZiAocHJveHlDb25maWcud3MpIHtcbiAgICAgIHRoaXMud2ViU29ja2V0UHJveGllcy5wdXNoKHByb3h5TWlkZGxld2FyZSk7XG4gICAgfVxuICAgICovXG5cbiAgICBjb25zdCBoYW5kbGVyID0gYXN5bmMgKHJlcTogUmVxdWVzdCwgcmVzOiBSZXNwb25zZSwgbmV4dDogTmV4dEZ1bmN0aW9uKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHByb3h5Q29uZmlnT3JDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjb25zdCBuZXdQcm94eUNvbmZpZyA9IHByb3h5Q29uZmlnT3JDYWxsYmFjayhyZXEsIHJlcywgbmV4dCk7XG5cbiAgICAgICAgaWYgKG5ld1Byb3h5Q29uZmlnICE9PSBwcm94eUNvbmZpZykge1xuICAgICAgICAgIHByb3h5Q29uZmlnID0gbmV3UHJveHlDb25maWc7XG4gICAgICAgICAgcHJveHlNaWRkbGV3YXJlID0gZ2V0UHJveHlNaWRkbGV3YXJlKHByb3h5Q29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyAtIENoZWNrIGlmIHdlIGhhdmUgYSBieXBhc3MgZnVuY3Rpb24gZGVmaW5lZFxuICAgICAgLy8gLSBJbiBjYXNlIHRoZSBieXBhc3MgZnVuY3Rpb24gaXMgZGVmaW5lZCB3ZSdsbCByZXRyaWV2ZSB0aGVcbiAgICAgIC8vIGJ5cGFzc1VybCBmcm9tIGl0IG90aGVyd2lzZSBieXBhc3NVcmwgd291bGQgYmUgbnVsbFxuICAgICAgLy8gVE9ETyByZW1vdmUgaW4gdGhlIG5leHQgbWFqb3IgaW4gZmF2b3IgYGNvbnRleHRgIGFuZCBgcm91dGVyYCBvcHRpb25zXG4gICAgICBjb25zdCBieXBhc3NVcmw6IEJ5UGFzcyB8IG51bGwgPVxuICAgICAgICB0eXBlb2YgcHJveHlDb25maWcuYnlwYXNzID09PSAnZnVuY3Rpb24nID9cbiAgICAgICAgICBhd2FpdCBwcm94eUNvbmZpZy5ieXBhc3MocmVxLCByZXMsIHByb3h5Q29uZmlnKVxuICAgICAgICA6IG51bGw7XG5cbiAgICAgIGlmICh0eXBlb2YgYnlwYXNzVXJsID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgLy8gc2tpcCB0aGUgcHJveHlcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJlcS51cmwgPSBudWxsO1xuICAgICAgICBuZXh0KCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBieXBhc3NVcmwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIC8vIGJ5UGFzcyB0byB0aGF0IHVybFxuICAgICAgICByZXEudXJsID0gYnlwYXNzVXJsO1xuICAgICAgICBuZXh0KCk7XG4gICAgICB9IGVsc2UgaWYgKHByb3h5TWlkZGxld2FyZSkge1xuICAgICAgICByZXR1cm4gcHJveHlNaWRkbGV3YXJlKHJlcSwgcmVzLCBuZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlJyxcbiAgICAgIG1pZGRsZXdhcmU6IGhhbmRsZXIsXG4gICAgfSk7XG4gICAgLy8gQWxzbyBmb3J3YXJkIGVycm9yIHJlcXVlc3RzIHRvIHRoZSBwcm94eSBzbyBpdCBjYW4gaGFuZGxlIHRoZW0uXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlLWVycm9yLWhhbmRsZXInLFxuICAgICAgbWlkZGxld2FyZTogKFxuICAgICAgICBlcnJvcjogRXJyb3IsXG4gICAgICAgIHJlcTogUmVxdWVzdCxcbiAgICAgICAgcmVzOiBSZXNwb25zZSxcbiAgICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICAgKSA9PiBoYW5kbGVyKHJlcSwgcmVzLCBuZXh0KSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1pZGRsZXdhcmVzO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFVQTtBQUNBLGVBQWUsU0FBU0EsbUJBQW1CQSxDQUFDQyxXQUE2QixFQUFFO0VBQ3pFLE1BQU1DLFdBQWtCLEdBQUcsRUFBRTtFQUM3QjtFQUNBLE1BQU07SUFBRUM7RUFBc0IsQ0FBQyxHQUFHQyxPQUFPLENBQUMsdUJBQXVCLENBQUM7RUFFbEUsTUFBTUMsa0JBQWtCLEdBQ3RCSixXQUFpQyxJQUNGO0lBQy9CO0lBQ0E7SUFDQSxJQUFJQSxXQUFXLENBQUNLLE1BQU0sRUFBRTtNQUN0QixNQUFNQyxPQUFPLEdBQUdOLFdBQVcsQ0FBQ00sT0FBTyxJQUFJTixXQUFXLENBQUNPLElBQUk7TUFFdkQsT0FBT0wscUJBQXFCLEVBQUMscUJBQXNCSSxPQUFPLEVBQUVOLFdBQVcsQ0FBQztJQUMxRTtJQUVBLElBQUlBLFdBQVcsQ0FBQ1EsTUFBTSxFQUFFO01BQ3RCLE9BQU9OLHFCQUFxQixDQUFDRixXQUFXLENBQUM7SUFDM0M7RUFDRixDQUFDOztFQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0VBLFdBQVcsQ0FBQ1MsT0FBTyxDQUFDQyxxQkFBcUIsSUFBSTtJQUMzQyxJQUFJQyxlQUEyQztJQUUvQyxJQUFJWCxXQUFXLEdBQ2IsT0FBT1UscUJBQXFCLEtBQUssVUFBVSxHQUN6Q0EscUJBQXFCLENBQUMsQ0FBQyxHQUN2QkEscUJBQXFCO0lBRXpCQyxlQUFlLEdBQUdQLGtCQUFrQixDQUFDSixXQUFXLENBQUM7O0lBRWpEO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0lBRUksTUFBTVksT0FBTyxHQUFHLE1BQUFBLENBQU9DLEdBQVksRUFBRUMsR0FBYSxFQUFFQyxJQUFrQixLQUFLO01BQ3pFLElBQUksT0FBT0wscUJBQXFCLEtBQUssVUFBVSxFQUFFO1FBQy9DLE1BQU1NLGNBQWMsR0FBR04scUJBQXFCLENBQUNHLEdBQUcsRUFBRUMsR0FBRyxFQUFFQyxJQUFJLENBQUM7UUFFNUQsSUFBSUMsY0FBYyxLQUFLaEIsV0FBVyxFQUFFO1VBQ2xDQSxXQUFXLEdBQUdnQixjQUFjO1VBQzVCTCxlQUFlLEdBQUdQLGtCQUFrQixDQUFDSixXQUFXLENBQUM7UUFDbkQ7TUFDRjs7TUFFQTtNQUNBO01BQ0E7TUFDQTtNQUNBLE1BQU1pQixTQUF3QixHQUM1QixPQUFPakIsV0FBVyxDQUFDa0IsTUFBTSxLQUFLLFVBQVUsR0FDdEMsTUFBTWxCLFdBQVcsQ0FBQ2tCLE1BQU0sQ0FBQ0wsR0FBRyxFQUFFQyxHQUFHLEVBQUVkLFdBQVcsQ0FBQyxHQUMvQyxJQUFJO01BRVIsSUFBSSxPQUFPaUIsU0FBUyxLQUFLLFNBQVMsRUFBRTtRQUNsQztRQUNBO1FBQ0E7UUFDQUosR0FBRyxDQUFDTSxHQUFHLEdBQUcsSUFBSTtRQUNkSixJQUFJLENBQUMsQ0FBQztNQUNSLENBQUMsTUFBTSxJQUFJLE9BQU9FLFNBQVMsS0FBSyxRQUFRLEVBQUU7UUFDeEM7UUFDQUosR0FBRyxDQUFDTSxHQUFHLEdBQUdGLFNBQVM7UUFDbkJGLElBQUksQ0FBQyxDQUFDO01BQ1IsQ0FBQyxNQUFNLElBQUlKLGVBQWUsRUFBRTtRQUMxQixPQUFPQSxlQUFlLENBQUNFLEdBQUcsRUFBRUMsR0FBRyxFQUFFQyxJQUFJLENBQUM7TUFDeEMsQ0FBQyxNQUFNO1FBQ0xBLElBQUksQ0FBQyxDQUFDO01BQ1I7SUFDRixDQUFDO0lBRURkLFdBQVcsQ0FBQ21CLElBQUksQ0FBQztNQUNmQyxJQUFJLEVBQUUsdUJBQXVCO01BQzdCQyxVQUFVLEVBQUVWO0lBQ2QsQ0FBQyxDQUFDO0lBQ0Y7SUFDQVgsV0FBVyxDQUFDbUIsSUFBSSxDQUFDO01BQ2ZDLElBQUksRUFBRSxxQ0FBcUM7TUFDM0NDLFVBQVUsRUFBRUEsQ0FDVkMsS0FBWSxFQUNaVixHQUFZLEVBQ1pDLEdBQWEsRUFDYkMsSUFBa0IsS0FDZkgsT0FBTyxDQUFDQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsSUFBSTtJQUM3QixDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7RUFFRixPQUFPZCxXQUFXO0FBQ3BCIiwiaWdub3JlTGlzdCI6W119
89
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRQcm94eU1pZGRsZXdhcmVzIiwicHJveHlDb25maWciLCJtaWRkbGV3YXJlcyIsImNyZWF0ZVByb3h5TWlkZGxld2FyZSIsInJlcXVpcmUiLCJnZXRQcm94eU1pZGRsZXdhcmUiLCJ0YXJnZXQiLCJjb250ZXh0IiwicGF0aCIsInJvdXRlciIsImZvckVhY2giLCJwcm94eUNvbmZpZ09yQ2FsbGJhY2siLCJwcm94eU1pZGRsZXdhcmUiLCJoYW5kbGVyIiwicmVxIiwicmVzIiwibmV4dCIsIm5ld1Byb3h5Q29uZmlnIiwiYnlwYXNzVXJsIiwiYnlwYXNzIiwic3RhdHVzQ29kZSIsInVybCIsInB1c2giLCJuYW1lIiwibWlkZGxld2FyZSIsImVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvZ2V0UHJveHlNaWRkbGV3YXJlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZXF1ZXN0SGFuZGxlcixcbiAgUHJveHlDb25maWdBcnJheSxcbiAgUmVzcG9uc2UsXG4gIFJlcXVlc3QsXG4gIE5leHRGdW5jdGlvbixcbiAgQnlQYXNzLFxuICBQcm94eUNvbmZpZ0FycmF5SXRlbSxcbn0gZnJvbSAnd2VicGFjay1kZXYtc2VydmVyJztcblxuLy8gRXNzZW50aWFsbHkgdGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay93ZWJwYWNrLWRldi1zZXJ2ZXIvYmxvYi8zMDk2MTQ4NzQ2YzkwNjEwNWM0NDI0MzUyZjViNWFkMWJmZjBmZDRmL2xpYi9TZXJ2ZXIuanMjTDIwOTlcbi8vIHdlIGp1c3QgcmVtb3ZlZCB0aGUgJ2J5cGFzcycgZGVwcmVjYXRpb24gd2FybmluZ3MgYW5kIGNvbnZlcnRlZCB0byB0eXBlc2NyaXB0XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQcm94eU1pZGRsZXdhcmVzKHByb3h5Q29uZmlnOiBQcm94eUNvbmZpZ0FycmF5KSB7XG4gIGNvbnN0IG1pZGRsZXdhcmVzOiBhbnlbXSA9IFtdO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICBjb25zdCB7IGNyZWF0ZVByb3h5TWlkZGxld2FyZSB9ID0gcmVxdWlyZSgnaHR0cC1wcm94eS1taWRkbGV3YXJlJyk7XG5cbiAgY29uc3QgZ2V0UHJveHlNaWRkbGV3YXJlID0gKFxuICAgIHByb3h5Q29uZmlnOiBQcm94eUNvbmZpZ0FycmF5SXRlbSxcbiAgKTogUmVxdWVzdEhhbmRsZXIgfCB1bmRlZmluZWQgPT4ge1xuICAgIC8vIEl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0aGUgYGJ5cGFzc2AgbWV0aG9kIHdpdGhvdXQgYSBgdGFyZ2V0YCBvciBgcm91dGVyYC5cbiAgICAvLyBIb3dldmVyLCB0aGUgcHJveHkgbWlkZGxld2FyZSBoYXMgbm8gdXNlIGluIHRoaXMgY2FzZSwgYW5kIHdpbGwgZmFpbCB0byBpbnN0YW50aWF0ZS5cbiAgICBpZiAocHJveHlDb25maWcudGFyZ2V0KSB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gcHJveHlDb25maWcuY29udGV4dCB8fCBwcm94eUNvbmZpZy5wYXRoO1xuXG4gICAgICByZXR1cm4gY3JlYXRlUHJveHlNaWRkbGV3YXJlKC8qKiBAdHlwZSB7c3RyaW5nfSAqLyBjb250ZXh0LCBwcm94eUNvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3h5Q29uZmlnLnJvdXRlcikge1xuICAgICAgcmV0dXJuIGNyZWF0ZVByb3h5TWlkZGxld2FyZShwcm94eUNvbmZpZyk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBBc3N1bWUgYSBwcm94eSBjb25maWd1cmF0aW9uIHNwZWNpZmllZCBhczpcbiAgICogcHJveHk6IFtcbiAgICogICB7XG4gICAqICAgICBjb250ZXh0OiBcInZhbHVlXCIsXG4gICAqICAgICAuLi5vcHRpb25zLFxuICAgKiAgIH0sXG4gICAqICAgLy8gb3I6XG4gICAqICAgZnVuY3Rpb24oKSB7XG4gICAqICAgICByZXR1cm4ge1xuICAgKiAgICAgICBjb250ZXh0OiBcImNvbnRleHRcIixcbiAgICogICAgICAgLi4ub3B0aW9ucyxcbiAgICogICAgIH07XG4gICAqICAgfVxuICAgKiBdXG4gICAqL1xuICBwcm94eUNvbmZpZy5mb3JFYWNoKHByb3h5Q29uZmlnT3JDYWxsYmFjayA9PiB7XG4gICAgbGV0IHByb3h5TWlkZGxld2FyZTogUmVxdWVzdEhhbmRsZXIgfCB1bmRlZmluZWQ7XG5cbiAgICBsZXQgcHJveHlDb25maWcgPVxuICAgICAgdHlwZW9mIHByb3h5Q29uZmlnT3JDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJyA/XG4gICAgICAgIHByb3h5Q29uZmlnT3JDYWxsYmFjaygpXG4gICAgICA6IHByb3h5Q29uZmlnT3JDYWxsYmFjaztcblxuICAgIHByb3h5TWlkZGxld2FyZSA9IGdldFByb3h5TWlkZGxld2FyZShwcm94eUNvbmZpZyk7XG5cbiAgICAvKiBUT0RPOiBmaWd1cmUgb3V0IGhvdyB0byBtYWtlIHRoaXMgd29ya1xuICAgIGlmIChwcm94eUNvbmZpZy53cykge1xuICAgICAgdGhpcy53ZWJTb2NrZXRQcm94aWVzLnB1c2gocHJveHlNaWRkbGV3YXJlKTtcbiAgICB9XG4gICAgKi9cblxuICAgIGNvbnN0IGhhbmRsZXIgPSBhc3luYyAocmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlLCBuZXh0OiBOZXh0RnVuY3Rpb24pID0+IHtcbiAgICAgIGlmICh0eXBlb2YgcHJveHlDb25maWdPckNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNvbnN0IG5ld1Byb3h5Q29uZmlnID0gcHJveHlDb25maWdPckNhbGxiYWNrKHJlcSwgcmVzLCBuZXh0KTtcblxuICAgICAgICBpZiAobmV3UHJveHlDb25maWcgIT09IHByb3h5Q29uZmlnKSB7XG4gICAgICAgICAgcHJveHlDb25maWcgPSBuZXdQcm94eUNvbmZpZztcbiAgICAgICAgICBwcm94eU1pZGRsZXdhcmUgPSBnZXRQcm94eU1pZGRsZXdhcmUocHJveHlDb25maWcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIC0gQ2hlY2sgaWYgd2UgaGF2ZSBhIGJ5cGFzcyBmdW5jdGlvbiBkZWZpbmVkXG4gICAgICAvLyAtIEluIGNhc2UgdGhlIGJ5cGFzcyBmdW5jdGlvbiBpcyBkZWZpbmVkIHdlJ2xsIHJldHJpZXZlIHRoZVxuICAgICAgLy8gYnlwYXNzVXJsIGZyb20gaXQgb3RoZXJ3aXNlIGJ5cGFzc1VybCB3b3VsZCBiZSBudWxsXG4gICAgICAvLyBUT0RPIHJlbW92ZSBpbiB0aGUgbmV4dCBtYWpvciBpbiBmYXZvciBgY29udGV4dGAgYW5kIGByb3V0ZXJgIG9wdGlvbnNcbiAgICAgIGNvbnN0IGJ5cGFzc1VybDogQnlQYXNzIHwgbnVsbCA9XG4gICAgICAgIHR5cGVvZiBwcm94eUNvbmZpZy5ieXBhc3MgPT09ICdmdW5jdGlvbicgP1xuICAgICAgICAgIGF3YWl0IHByb3h5Q29uZmlnLmJ5cGFzcyhyZXEsIHJlcywgcHJveHlDb25maWcpXG4gICAgICAgIDogbnVsbDtcblxuICAgICAgaWYgKHR5cGVvZiBieXBhc3NVcmwgPT09ICdib29sZWFuJykge1xuICAgICAgICAvLyBza2lwIHRoZSBwcm94eVxuICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwNDtcbiAgICAgICAgcmVxLnVybCA9ICcnO1xuICAgICAgICBuZXh0KCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBieXBhc3NVcmwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIC8vIGJ5UGFzcyB0byB0aGF0IHVybFxuICAgICAgICByZXEudXJsID0gYnlwYXNzVXJsO1xuICAgICAgICBuZXh0KCk7XG4gICAgICB9IGVsc2UgaWYgKHByb3h5TWlkZGxld2FyZSkge1xuICAgICAgICByZXR1cm4gcHJveHlNaWRkbGV3YXJlKHJlcSwgcmVzLCBuZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlJyxcbiAgICAgIG1pZGRsZXdhcmU6IGhhbmRsZXIsXG4gICAgfSk7XG4gICAgLy8gQWxzbyBmb3J3YXJkIGVycm9yIHJlcXVlc3RzIHRvIHRoZSBwcm94eSBzbyBpdCBjYW4gaGFuZGxlIHRoZW0uXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlLWVycm9yLWhhbmRsZXInLFxuICAgICAgbWlkZGxld2FyZTogKFxuICAgICAgICBlcnJvcjogRXJyb3IsXG4gICAgICAgIHJlcTogUmVxdWVzdCxcbiAgICAgICAgcmVzOiBSZXNwb25zZSxcbiAgICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICAgKSA9PiBoYW5kbGVyKHJlcSwgcmVzLCBuZXh0KSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1pZGRsZXdhcmVzO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFVQTtBQUNBO0FBQ0EsZUFBZSxTQUFTQSxtQkFBbUJBLENBQUNDLFdBQTZCLEVBQUU7RUFDekUsTUFBTUMsV0FBa0IsR0FBRyxFQUFFO0VBQzdCO0VBQ0EsTUFBTTtJQUFFQztFQUFzQixDQUFDLEdBQUdDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQztFQUVsRSxNQUFNQyxrQkFBa0IsR0FDdEJKLFdBQWlDLElBQ0Y7SUFDL0I7SUFDQTtJQUNBLElBQUlBLFdBQVcsQ0FBQ0ssTUFBTSxFQUFFO01BQ3RCLE1BQU1DLE9BQU8sR0FBR04sV0FBVyxDQUFDTSxPQUFPLElBQUlOLFdBQVcsQ0FBQ08sSUFBSTtNQUV2RCxPQUFPTCxxQkFBcUIsRUFBQyxxQkFBc0JJLE9BQU8sRUFBRU4sV0FBVyxDQUFDO0lBQzFFO0lBRUEsSUFBSUEsV0FBVyxDQUFDUSxNQUFNLEVBQUU7TUFDdEIsT0FBT04scUJBQXFCLENBQUNGLFdBQVcsQ0FBQztJQUMzQztFQUNGLENBQUM7O0VBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDRUEsV0FBVyxDQUFDUyxPQUFPLENBQUNDLHFCQUFxQixJQUFJO0lBQzNDLElBQUlDLGVBQTJDO0lBRS9DLElBQUlYLFdBQVcsR0FDYixPQUFPVSxxQkFBcUIsS0FBSyxVQUFVLEdBQ3pDQSxxQkFBcUIsQ0FBQyxDQUFDLEdBQ3ZCQSxxQkFBcUI7SUFFekJDLGVBQWUsR0FBR1Asa0JBQWtCLENBQUNKLFdBQVcsQ0FBQzs7SUFFakQ7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7SUFFSSxNQUFNWSxPQUFPLEdBQUcsTUFBQUEsQ0FBT0MsR0FBWSxFQUFFQyxHQUFhLEVBQUVDLElBQWtCLEtBQUs7TUFDekUsSUFBSSxPQUFPTCxxQkFBcUIsS0FBSyxVQUFVLEVBQUU7UUFDL0MsTUFBTU0sY0FBYyxHQUFHTixxQkFBcUIsQ0FBQ0csR0FBRyxFQUFFQyxHQUFHLEVBQUVDLElBQUksQ0FBQztRQUU1RCxJQUFJQyxjQUFjLEtBQUtoQixXQUFXLEVBQUU7VUFDbENBLFdBQVcsR0FBR2dCLGNBQWM7VUFDNUJMLGVBQWUsR0FBR1Asa0JBQWtCLENBQUNKLFdBQVcsQ0FBQztRQUNuRDtNQUNGOztNQUVBO01BQ0E7TUFDQTtNQUNBO01BQ0EsTUFBTWlCLFNBQXdCLEdBQzVCLE9BQU9qQixXQUFXLENBQUNrQixNQUFNLEtBQUssVUFBVSxHQUN0QyxNQUFNbEIsV0FBVyxDQUFDa0IsTUFBTSxDQUFDTCxHQUFHLEVBQUVDLEdBQUcsRUFBRWQsV0FBVyxDQUFDLEdBQy9DLElBQUk7TUFFUixJQUFJLE9BQU9pQixTQUFTLEtBQUssU0FBUyxFQUFFO1FBQ2xDO1FBQ0FILEdBQUcsQ0FBQ0ssVUFBVSxHQUFHLEdBQUc7UUFDcEJOLEdBQUcsQ0FBQ08sR0FBRyxHQUFHLEVBQUU7UUFDWkwsSUFBSSxDQUFDLENBQUM7TUFDUixDQUFDLE1BQU0sSUFBSSxPQUFPRSxTQUFTLEtBQUssUUFBUSxFQUFFO1FBQ3hDO1FBQ0FKLEdBQUcsQ0FBQ08sR0FBRyxHQUFHSCxTQUFTO1FBQ25CRixJQUFJLENBQUMsQ0FBQztNQUNSLENBQUMsTUFBTSxJQUFJSixlQUFlLEVBQUU7UUFDMUIsT0FBT0EsZUFBZSxDQUFDRSxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsSUFBSSxDQUFDO01BQ3hDLENBQUMsTUFBTTtRQUNMQSxJQUFJLENBQUMsQ0FBQztNQUNSO0lBQ0YsQ0FBQztJQUVEZCxXQUFXLENBQUNvQixJQUFJLENBQUM7TUFDZkMsSUFBSSxFQUFFLHVCQUF1QjtNQUM3QkMsVUFBVSxFQUFFWDtJQUNkLENBQUMsQ0FBQztJQUNGO0lBQ0FYLFdBQVcsQ0FBQ29CLElBQUksQ0FBQztNQUNmQyxJQUFJLEVBQUUscUNBQXFDO01BQzNDQyxVQUFVLEVBQUVBLENBQ1ZDLEtBQVksRUFDWlgsR0FBWSxFQUNaQyxHQUFhLEVBQ2JDLElBQWtCLEtBQ2ZILE9BQU8sQ0FBQ0MsR0FBRyxFQUFFQyxHQUFHLEVBQUVDLElBQUk7SUFDN0IsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUYsT0FBT2QsV0FBVztBQUNwQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,4 +1,5 @@
1
- // Essentially taken from https://github.com/webpack/webpack-dev-server/blob/b5e5b67398f97c7a2934e12ebe34fb03cc06c473/lib/Server.js#L2123
1
+ // Essentially taken from https://github.com/webpack/webpack-dev-server/blob/3096148746c906105c4424352f5b5ad1bff0fd4f/lib/Server.js#L2099
2
+ // we just removed the 'bypass' deprecation warnings and converted to typescript
2
3
  export default function getProxyMiddlewares(proxyConfig) {
3
4
  const middlewares = [];
4
5
  // eslint-disable-next-line @typescript-eslint/no-var-requires
@@ -60,9 +61,8 @@ export default function getProxyMiddlewares(proxyConfig) {
60
61
  const bypassUrl = typeof proxyConfig.bypass === 'function' ? await proxyConfig.bypass(req, res, proxyConfig) : null;
61
62
  if (typeof bypassUrl === 'boolean') {
62
63
  // skip the proxy
63
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
64
- // @ts-ignore
65
- req.url = null;
64
+ res.statusCode = 404;
65
+ req.url = '';
66
66
  next();
67
67
  } else if (typeof bypassUrl === 'string') {
68
68
  // byPass to that url
@@ -86,4 +86,4 @@ export default function getProxyMiddlewares(proxyConfig) {
86
86
  });
87
87
  return middlewares;
88
88
  }
89
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRQcm94eU1pZGRsZXdhcmVzIiwicHJveHlDb25maWciLCJtaWRkbGV3YXJlcyIsImNyZWF0ZVByb3h5TWlkZGxld2FyZSIsInJlcXVpcmUiLCJnZXRQcm94eU1pZGRsZXdhcmUiLCJ0YXJnZXQiLCJjb250ZXh0IiwicGF0aCIsInJvdXRlciIsImZvckVhY2giLCJwcm94eUNvbmZpZ09yQ2FsbGJhY2siLCJwcm94eU1pZGRsZXdhcmUiLCJoYW5kbGVyIiwicmVxIiwicmVzIiwibmV4dCIsIm5ld1Byb3h5Q29uZmlnIiwiYnlwYXNzVXJsIiwiYnlwYXNzIiwidXJsIiwicHVzaCIsIm5hbWUiLCJtaWRkbGV3YXJlIiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2NyaXB0cy9nZXRQcm94eU1pZGRsZXdhcmVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFJlcXVlc3RIYW5kbGVyLFxuICBQcm94eUNvbmZpZ0FycmF5LFxuICBSZXNwb25zZSxcbiAgUmVxdWVzdCxcbiAgTmV4dEZ1bmN0aW9uLFxuICBCeVBhc3MsXG4gIFByb3h5Q29uZmlnQXJyYXlJdGVtLFxufSBmcm9tICd3ZWJwYWNrLWRldi1zZXJ2ZXInO1xuXG4vLyBFc3NlbnRpYWxseSB0YWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrL3dlYnBhY2stZGV2LXNlcnZlci9ibG9iL2I1ZTViNjczOThmOTdjN2EyOTM0ZTEyZWJlMzRmYjAzY2MwNmM0NzMvbGliL1NlcnZlci5qcyNMMjEyM1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0UHJveHlNaWRkbGV3YXJlcyhwcm94eUNvbmZpZzogUHJveHlDb25maWdBcnJheSkge1xuICBjb25zdCBtaWRkbGV3YXJlczogYW55W10gPSBbXTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgY29uc3QgeyBjcmVhdGVQcm94eU1pZGRsZXdhcmUgfSA9IHJlcXVpcmUoJ2h0dHAtcHJveHktbWlkZGxld2FyZScpO1xuXG4gIGNvbnN0IGdldFByb3h5TWlkZGxld2FyZSA9IChcbiAgICBwcm94eUNvbmZpZzogUHJveHlDb25maWdBcnJheUl0ZW0sXG4gICk6IFJlcXVlc3RIYW5kbGVyIHwgdW5kZWZpbmVkID0+IHtcbiAgICAvLyBJdCBpcyBwb3NzaWJsZSB0byB1c2UgdGhlIGBieXBhc3NgIG1ldGhvZCB3aXRob3V0IGEgYHRhcmdldGAgb3IgYHJvdXRlcmAuXG4gICAgLy8gSG93ZXZlciwgdGhlIHByb3h5IG1pZGRsZXdhcmUgaGFzIG5vIHVzZSBpbiB0aGlzIGNhc2UsIGFuZCB3aWxsIGZhaWwgdG8gaW5zdGFudGlhdGUuXG4gICAgaWYgKHByb3h5Q29uZmlnLnRhcmdldCkge1xuICAgICAgY29uc3QgY29udGV4dCA9IHByb3h5Q29uZmlnLmNvbnRleHQgfHwgcHJveHlDb25maWcucGF0aDtcblxuICAgICAgcmV0dXJuIGNyZWF0ZVByb3h5TWlkZGxld2FyZSgvKiogQHR5cGUge3N0cmluZ30gKi8gY29udGV4dCwgcHJveHlDb25maWcpO1xuICAgIH1cblxuICAgIGlmIChwcm94eUNvbmZpZy5yb3V0ZXIpIHtcbiAgICAgIHJldHVybiBjcmVhdGVQcm94eU1pZGRsZXdhcmUocHJveHlDb25maWcpO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogQXNzdW1lIGEgcHJveHkgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQgYXM6XG4gICAqIHByb3h5OiBbXG4gICAqICAge1xuICAgKiAgICAgY29udGV4dDogXCJ2YWx1ZVwiLFxuICAgKiAgICAgLi4ub3B0aW9ucyxcbiAgICogICB9LFxuICAgKiAgIC8vIG9yOlxuICAgKiAgIGZ1bmN0aW9uKCkge1xuICAgKiAgICAgcmV0dXJuIHtcbiAgICogICAgICAgY29udGV4dDogXCJjb250ZXh0XCIsXG4gICAqICAgICAgIC4uLm9wdGlvbnMsXG4gICAqICAgICB9O1xuICAgKiAgIH1cbiAgICogXVxuICAgKi9cbiAgcHJveHlDb25maWcuZm9yRWFjaChwcm94eUNvbmZpZ09yQ2FsbGJhY2sgPT4ge1xuICAgIGxldCBwcm94eU1pZGRsZXdhcmU6IFJlcXVlc3RIYW5kbGVyIHwgdW5kZWZpbmVkO1xuXG4gICAgbGV0IHByb3h5Q29uZmlnID1cbiAgICAgIHR5cGVvZiBwcm94eUNvbmZpZ09yQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicgP1xuICAgICAgICBwcm94eUNvbmZpZ09yQ2FsbGJhY2soKVxuICAgICAgOiBwcm94eUNvbmZpZ09yQ2FsbGJhY2s7XG5cbiAgICBwcm94eU1pZGRsZXdhcmUgPSBnZXRQcm94eU1pZGRsZXdhcmUocHJveHlDb25maWcpO1xuXG4gICAgLyogVE9ETzogZmlndXJlIG91dCBob3cgdG8gbWFrZSB0aGlzIHdvcmtcbiAgICBpZiAocHJveHlDb25maWcud3MpIHtcbiAgICAgIHRoaXMud2ViU29ja2V0UHJveGllcy5wdXNoKHByb3h5TWlkZGxld2FyZSk7XG4gICAgfVxuICAgICovXG5cbiAgICBjb25zdCBoYW5kbGVyID0gYXN5bmMgKHJlcTogUmVxdWVzdCwgcmVzOiBSZXNwb25zZSwgbmV4dDogTmV4dEZ1bmN0aW9uKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHByb3h5Q29uZmlnT3JDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjb25zdCBuZXdQcm94eUNvbmZpZyA9IHByb3h5Q29uZmlnT3JDYWxsYmFjayhyZXEsIHJlcywgbmV4dCk7XG5cbiAgICAgICAgaWYgKG5ld1Byb3h5Q29uZmlnICE9PSBwcm94eUNvbmZpZykge1xuICAgICAgICAgIHByb3h5Q29uZmlnID0gbmV3UHJveHlDb25maWc7XG4gICAgICAgICAgcHJveHlNaWRkbGV3YXJlID0gZ2V0UHJveHlNaWRkbGV3YXJlKHByb3h5Q29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyAtIENoZWNrIGlmIHdlIGhhdmUgYSBieXBhc3MgZnVuY3Rpb24gZGVmaW5lZFxuICAgICAgLy8gLSBJbiBjYXNlIHRoZSBieXBhc3MgZnVuY3Rpb24gaXMgZGVmaW5lZCB3ZSdsbCByZXRyaWV2ZSB0aGVcbiAgICAgIC8vIGJ5cGFzc1VybCBmcm9tIGl0IG90aGVyd2lzZSBieXBhc3NVcmwgd291bGQgYmUgbnVsbFxuICAgICAgLy8gVE9ETyByZW1vdmUgaW4gdGhlIG5leHQgbWFqb3IgaW4gZmF2b3IgYGNvbnRleHRgIGFuZCBgcm91dGVyYCBvcHRpb25zXG4gICAgICBjb25zdCBieXBhc3NVcmw6IEJ5UGFzcyB8IG51bGwgPVxuICAgICAgICB0eXBlb2YgcHJveHlDb25maWcuYnlwYXNzID09PSAnZnVuY3Rpb24nID9cbiAgICAgICAgICBhd2FpdCBwcm94eUNvbmZpZy5ieXBhc3MocmVxLCByZXMsIHByb3h5Q29uZmlnKVxuICAgICAgICA6IG51bGw7XG5cbiAgICAgIGlmICh0eXBlb2YgYnlwYXNzVXJsID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgLy8gc2tpcCB0aGUgcHJveHlcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJlcS51cmwgPSBudWxsO1xuICAgICAgICBuZXh0KCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBieXBhc3NVcmwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIC8vIGJ5UGFzcyB0byB0aGF0IHVybFxuICAgICAgICByZXEudXJsID0gYnlwYXNzVXJsO1xuICAgICAgICBuZXh0KCk7XG4gICAgICB9IGVsc2UgaWYgKHByb3h5TWlkZGxld2FyZSkge1xuICAgICAgICByZXR1cm4gcHJveHlNaWRkbGV3YXJlKHJlcSwgcmVzLCBuZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlJyxcbiAgICAgIG1pZGRsZXdhcmU6IGhhbmRsZXIsXG4gICAgfSk7XG4gICAgLy8gQWxzbyBmb3J3YXJkIGVycm9yIHJlcXVlc3RzIHRvIHRoZSBwcm94eSBzbyBpdCBjYW4gaGFuZGxlIHRoZW0uXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlLWVycm9yLWhhbmRsZXInLFxuICAgICAgbWlkZGxld2FyZTogKFxuICAgICAgICBlcnJvcjogRXJyb3IsXG4gICAgICAgIHJlcTogUmVxdWVzdCxcbiAgICAgICAgcmVzOiBSZXNwb25zZSxcbiAgICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICAgKSA9PiBoYW5kbGVyKHJlcSwgcmVzLCBuZXh0KSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1pZGRsZXdhcmVzO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFVQTtBQUNBLGVBQWUsU0FBU0EsbUJBQW1CQSxDQUFDQyxXQUE2QixFQUFFO0VBQ3pFLE1BQU1DLFdBQWtCLEdBQUcsRUFBRTtFQUM3QjtFQUNBLE1BQU07SUFBRUM7RUFBc0IsQ0FBQyxHQUFHQyxPQUFPLENBQUMsdUJBQXVCLENBQUM7RUFFbEUsTUFBTUMsa0JBQWtCLEdBQ3RCSixXQUFpQyxJQUNGO0lBQy9CO0lBQ0E7SUFDQSxJQUFJQSxXQUFXLENBQUNLLE1BQU0sRUFBRTtNQUN0QixNQUFNQyxPQUFPLEdBQUdOLFdBQVcsQ0FBQ00sT0FBTyxJQUFJTixXQUFXLENBQUNPLElBQUk7TUFFdkQsT0FBT0wscUJBQXFCLEVBQUMscUJBQXNCSSxPQUFPLEVBQUVOLFdBQVcsQ0FBQztJQUMxRTtJQUVBLElBQUlBLFdBQVcsQ0FBQ1EsTUFBTSxFQUFFO01BQ3RCLE9BQU9OLHFCQUFxQixDQUFDRixXQUFXLENBQUM7SUFDM0M7RUFDRixDQUFDOztFQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0VBLFdBQVcsQ0FBQ1MsT0FBTyxDQUFDQyxxQkFBcUIsSUFBSTtJQUMzQyxJQUFJQyxlQUEyQztJQUUvQyxJQUFJWCxXQUFXLEdBQ2IsT0FBT1UscUJBQXFCLEtBQUssVUFBVSxHQUN6Q0EscUJBQXFCLENBQUMsQ0FBQyxHQUN2QkEscUJBQXFCO0lBRXpCQyxlQUFlLEdBQUdQLGtCQUFrQixDQUFDSixXQUFXLENBQUM7O0lBRWpEO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0lBRUksTUFBTVksT0FBTyxHQUFHLE1BQUFBLENBQU9DLEdBQVksRUFBRUMsR0FBYSxFQUFFQyxJQUFrQixLQUFLO01BQ3pFLElBQUksT0FBT0wscUJBQXFCLEtBQUssVUFBVSxFQUFFO1FBQy9DLE1BQU1NLGNBQWMsR0FBR04scUJBQXFCLENBQUNHLEdBQUcsRUFBRUMsR0FBRyxFQUFFQyxJQUFJLENBQUM7UUFFNUQsSUFBSUMsY0FBYyxLQUFLaEIsV0FBVyxFQUFFO1VBQ2xDQSxXQUFXLEdBQUdnQixjQUFjO1VBQzVCTCxlQUFlLEdBQUdQLGtCQUFrQixDQUFDSixXQUFXLENBQUM7UUFDbkQ7TUFDRjs7TUFFQTtNQUNBO01BQ0E7TUFDQTtNQUNBLE1BQU1pQixTQUF3QixHQUM1QixPQUFPakIsV0FBVyxDQUFDa0IsTUFBTSxLQUFLLFVBQVUsR0FDdEMsTUFBTWxCLFdBQVcsQ0FBQ2tCLE1BQU0sQ0FBQ0wsR0FBRyxFQUFFQyxHQUFHLEVBQUVkLFdBQVcsQ0FBQyxHQUMvQyxJQUFJO01BRVIsSUFBSSxPQUFPaUIsU0FBUyxLQUFLLFNBQVMsRUFBRTtRQUNsQztRQUNBO1FBQ0E7UUFDQUosR0FBRyxDQUFDTSxHQUFHLEdBQUcsSUFBSTtRQUNkSixJQUFJLENBQUMsQ0FBQztNQUNSLENBQUMsTUFBTSxJQUFJLE9BQU9FLFNBQVMsS0FBSyxRQUFRLEVBQUU7UUFDeEM7UUFDQUosR0FBRyxDQUFDTSxHQUFHLEdBQUdGLFNBQVM7UUFDbkJGLElBQUksQ0FBQyxDQUFDO01BQ1IsQ0FBQyxNQUFNLElBQUlKLGVBQWUsRUFBRTtRQUMxQixPQUFPQSxlQUFlLENBQUNFLEdBQUcsRUFBRUMsR0FBRyxFQUFFQyxJQUFJLENBQUM7TUFDeEMsQ0FBQyxNQUFNO1FBQ0xBLElBQUksQ0FBQyxDQUFDO01BQ1I7SUFDRixDQUFDO0lBRURkLFdBQVcsQ0FBQ21CLElBQUksQ0FBQztNQUNmQyxJQUFJLEVBQUUsdUJBQXVCO01BQzdCQyxVQUFVLEVBQUVWO0lBQ2QsQ0FBQyxDQUFDO0lBQ0Y7SUFDQVgsV0FBVyxDQUFDbUIsSUFBSSxDQUFDO01BQ2ZDLElBQUksRUFBRSxxQ0FBcUM7TUFDM0NDLFVBQVUsRUFBRUEsQ0FDVkMsS0FBWSxFQUNaVixHQUFZLEVBQ1pDLEdBQWEsRUFDYkMsSUFBa0IsS0FDZkgsT0FBTyxDQUFDQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsSUFBSTtJQUM3QixDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7RUFFRixPQUFPZCxXQUFXO0FBQ3BCIiwiaWdub3JlTGlzdCI6W119
89
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRQcm94eU1pZGRsZXdhcmVzIiwicHJveHlDb25maWciLCJtaWRkbGV3YXJlcyIsImNyZWF0ZVByb3h5TWlkZGxld2FyZSIsInJlcXVpcmUiLCJnZXRQcm94eU1pZGRsZXdhcmUiLCJ0YXJnZXQiLCJjb250ZXh0IiwicGF0aCIsInJvdXRlciIsImZvckVhY2giLCJwcm94eUNvbmZpZ09yQ2FsbGJhY2siLCJwcm94eU1pZGRsZXdhcmUiLCJoYW5kbGVyIiwicmVxIiwicmVzIiwibmV4dCIsIm5ld1Byb3h5Q29uZmlnIiwiYnlwYXNzVXJsIiwiYnlwYXNzIiwic3RhdHVzQ29kZSIsInVybCIsInB1c2giLCJuYW1lIiwibWlkZGxld2FyZSIsImVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvZ2V0UHJveHlNaWRkbGV3YXJlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZXF1ZXN0SGFuZGxlcixcbiAgUHJveHlDb25maWdBcnJheSxcbiAgUmVzcG9uc2UsXG4gIFJlcXVlc3QsXG4gIE5leHRGdW5jdGlvbixcbiAgQnlQYXNzLFxuICBQcm94eUNvbmZpZ0FycmF5SXRlbSxcbn0gZnJvbSAnd2VicGFjay1kZXYtc2VydmVyJztcblxuLy8gRXNzZW50aWFsbHkgdGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay93ZWJwYWNrLWRldi1zZXJ2ZXIvYmxvYi8zMDk2MTQ4NzQ2YzkwNjEwNWM0NDI0MzUyZjViNWFkMWJmZjBmZDRmL2xpYi9TZXJ2ZXIuanMjTDIwOTlcbi8vIHdlIGp1c3QgcmVtb3ZlZCB0aGUgJ2J5cGFzcycgZGVwcmVjYXRpb24gd2FybmluZ3MgYW5kIGNvbnZlcnRlZCB0byB0eXBlc2NyaXB0XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQcm94eU1pZGRsZXdhcmVzKHByb3h5Q29uZmlnOiBQcm94eUNvbmZpZ0FycmF5KSB7XG4gIGNvbnN0IG1pZGRsZXdhcmVzOiBhbnlbXSA9IFtdO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICBjb25zdCB7IGNyZWF0ZVByb3h5TWlkZGxld2FyZSB9ID0gcmVxdWlyZSgnaHR0cC1wcm94eS1taWRkbGV3YXJlJyk7XG5cbiAgY29uc3QgZ2V0UHJveHlNaWRkbGV3YXJlID0gKFxuICAgIHByb3h5Q29uZmlnOiBQcm94eUNvbmZpZ0FycmF5SXRlbSxcbiAgKTogUmVxdWVzdEhhbmRsZXIgfCB1bmRlZmluZWQgPT4ge1xuICAgIC8vIEl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0aGUgYGJ5cGFzc2AgbWV0aG9kIHdpdGhvdXQgYSBgdGFyZ2V0YCBvciBgcm91dGVyYC5cbiAgICAvLyBIb3dldmVyLCB0aGUgcHJveHkgbWlkZGxld2FyZSBoYXMgbm8gdXNlIGluIHRoaXMgY2FzZSwgYW5kIHdpbGwgZmFpbCB0byBpbnN0YW50aWF0ZS5cbiAgICBpZiAocHJveHlDb25maWcudGFyZ2V0KSB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gcHJveHlDb25maWcuY29udGV4dCB8fCBwcm94eUNvbmZpZy5wYXRoO1xuXG4gICAgICByZXR1cm4gY3JlYXRlUHJveHlNaWRkbGV3YXJlKC8qKiBAdHlwZSB7c3RyaW5nfSAqLyBjb250ZXh0LCBwcm94eUNvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3h5Q29uZmlnLnJvdXRlcikge1xuICAgICAgcmV0dXJuIGNyZWF0ZVByb3h5TWlkZGxld2FyZShwcm94eUNvbmZpZyk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBBc3N1bWUgYSBwcm94eSBjb25maWd1cmF0aW9uIHNwZWNpZmllZCBhczpcbiAgICogcHJveHk6IFtcbiAgICogICB7XG4gICAqICAgICBjb250ZXh0OiBcInZhbHVlXCIsXG4gICAqICAgICAuLi5vcHRpb25zLFxuICAgKiAgIH0sXG4gICAqICAgLy8gb3I6XG4gICAqICAgZnVuY3Rpb24oKSB7XG4gICAqICAgICByZXR1cm4ge1xuICAgKiAgICAgICBjb250ZXh0OiBcImNvbnRleHRcIixcbiAgICogICAgICAgLi4ub3B0aW9ucyxcbiAgICogICAgIH07XG4gICAqICAgfVxuICAgKiBdXG4gICAqL1xuICBwcm94eUNvbmZpZy5mb3JFYWNoKHByb3h5Q29uZmlnT3JDYWxsYmFjayA9PiB7XG4gICAgbGV0IHByb3h5TWlkZGxld2FyZTogUmVxdWVzdEhhbmRsZXIgfCB1bmRlZmluZWQ7XG5cbiAgICBsZXQgcHJveHlDb25maWcgPVxuICAgICAgdHlwZW9mIHByb3h5Q29uZmlnT3JDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJyA/XG4gICAgICAgIHByb3h5Q29uZmlnT3JDYWxsYmFjaygpXG4gICAgICA6IHByb3h5Q29uZmlnT3JDYWxsYmFjaztcblxuICAgIHByb3h5TWlkZGxld2FyZSA9IGdldFByb3h5TWlkZGxld2FyZShwcm94eUNvbmZpZyk7XG5cbiAgICAvKiBUT0RPOiBmaWd1cmUgb3V0IGhvdyB0byBtYWtlIHRoaXMgd29ya1xuICAgIGlmIChwcm94eUNvbmZpZy53cykge1xuICAgICAgdGhpcy53ZWJTb2NrZXRQcm94aWVzLnB1c2gocHJveHlNaWRkbGV3YXJlKTtcbiAgICB9XG4gICAgKi9cblxuICAgIGNvbnN0IGhhbmRsZXIgPSBhc3luYyAocmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlLCBuZXh0OiBOZXh0RnVuY3Rpb24pID0+IHtcbiAgICAgIGlmICh0eXBlb2YgcHJveHlDb25maWdPckNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNvbnN0IG5ld1Byb3h5Q29uZmlnID0gcHJveHlDb25maWdPckNhbGxiYWNrKHJlcSwgcmVzLCBuZXh0KTtcblxuICAgICAgICBpZiAobmV3UHJveHlDb25maWcgIT09IHByb3h5Q29uZmlnKSB7XG4gICAgICAgICAgcHJveHlDb25maWcgPSBuZXdQcm94eUNvbmZpZztcbiAgICAgICAgICBwcm94eU1pZGRsZXdhcmUgPSBnZXRQcm94eU1pZGRsZXdhcmUocHJveHlDb25maWcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIC0gQ2hlY2sgaWYgd2UgaGF2ZSBhIGJ5cGFzcyBmdW5jdGlvbiBkZWZpbmVkXG4gICAgICAvLyAtIEluIGNhc2UgdGhlIGJ5cGFzcyBmdW5jdGlvbiBpcyBkZWZpbmVkIHdlJ2xsIHJldHJpZXZlIHRoZVxuICAgICAgLy8gYnlwYXNzVXJsIGZyb20gaXQgb3RoZXJ3aXNlIGJ5cGFzc1VybCB3b3VsZCBiZSBudWxsXG4gICAgICAvLyBUT0RPIHJlbW92ZSBpbiB0aGUgbmV4dCBtYWpvciBpbiBmYXZvciBgY29udGV4dGAgYW5kIGByb3V0ZXJgIG9wdGlvbnNcbiAgICAgIGNvbnN0IGJ5cGFzc1VybDogQnlQYXNzIHwgbnVsbCA9XG4gICAgICAgIHR5cGVvZiBwcm94eUNvbmZpZy5ieXBhc3MgPT09ICdmdW5jdGlvbicgP1xuICAgICAgICAgIGF3YWl0IHByb3h5Q29uZmlnLmJ5cGFzcyhyZXEsIHJlcywgcHJveHlDb25maWcpXG4gICAgICAgIDogbnVsbDtcblxuICAgICAgaWYgKHR5cGVvZiBieXBhc3NVcmwgPT09ICdib29sZWFuJykge1xuICAgICAgICAvLyBza2lwIHRoZSBwcm94eVxuICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwNDtcbiAgICAgICAgcmVxLnVybCA9ICcnO1xuICAgICAgICBuZXh0KCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBieXBhc3NVcmwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIC8vIGJ5UGFzcyB0byB0aGF0IHVybFxuICAgICAgICByZXEudXJsID0gYnlwYXNzVXJsO1xuICAgICAgICBuZXh0KCk7XG4gICAgICB9IGVsc2UgaWYgKHByb3h5TWlkZGxld2FyZSkge1xuICAgICAgICByZXR1cm4gcHJveHlNaWRkbGV3YXJlKHJlcSwgcmVzLCBuZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlJyxcbiAgICAgIG1pZGRsZXdhcmU6IGhhbmRsZXIsXG4gICAgfSk7XG4gICAgLy8gQWxzbyBmb3J3YXJkIGVycm9yIHJlcXVlc3RzIHRvIHRoZSBwcm94eSBzbyBpdCBjYW4gaGFuZGxlIHRoZW0uXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlLWVycm9yLWhhbmRsZXInLFxuICAgICAgbWlkZGxld2FyZTogKFxuICAgICAgICBlcnJvcjogRXJyb3IsXG4gICAgICAgIHJlcTogUmVxdWVzdCxcbiAgICAgICAgcmVzOiBSZXNwb25zZSxcbiAgICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICAgKSA9PiBoYW5kbGVyKHJlcSwgcmVzLCBuZXh0KSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1pZGRsZXdhcmVzO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFVQTtBQUNBO0FBQ0EsZUFBZSxTQUFTQSxtQkFBbUJBLENBQUNDLFdBQTZCLEVBQUU7RUFDekUsTUFBTUMsV0FBa0IsR0FBRyxFQUFFO0VBQzdCO0VBQ0EsTUFBTTtJQUFFQztFQUFzQixDQUFDLEdBQUdDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQztFQUVsRSxNQUFNQyxrQkFBa0IsR0FDdEJKLFdBQWlDLElBQ0Y7SUFDL0I7SUFDQTtJQUNBLElBQUlBLFdBQVcsQ0FBQ0ssTUFBTSxFQUFFO01BQ3RCLE1BQU1DLE9BQU8sR0FBR04sV0FBVyxDQUFDTSxPQUFPLElBQUlOLFdBQVcsQ0FBQ08sSUFBSTtNQUV2RCxPQUFPTCxxQkFBcUIsRUFBQyxxQkFBc0JJLE9BQU8sRUFBRU4sV0FBVyxDQUFDO0lBQzFFO0lBRUEsSUFBSUEsV0FBVyxDQUFDUSxNQUFNLEVBQUU7TUFDdEIsT0FBT04scUJBQXFCLENBQUNGLFdBQVcsQ0FBQztJQUMzQztFQUNGLENBQUM7O0VBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDRUEsV0FBVyxDQUFDUyxPQUFPLENBQUNDLHFCQUFxQixJQUFJO0lBQzNDLElBQUlDLGVBQTJDO0lBRS9DLElBQUlYLFdBQVcsR0FDYixPQUFPVSxxQkFBcUIsS0FBSyxVQUFVLEdBQ3pDQSxxQkFBcUIsQ0FBQyxDQUFDLEdBQ3ZCQSxxQkFBcUI7SUFFekJDLGVBQWUsR0FBR1Asa0JBQWtCLENBQUNKLFdBQVcsQ0FBQzs7SUFFakQ7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7SUFFSSxNQUFNWSxPQUFPLEdBQUcsTUFBQUEsQ0FBT0MsR0FBWSxFQUFFQyxHQUFhLEVBQUVDLElBQWtCLEtBQUs7TUFDekUsSUFBSSxPQUFPTCxxQkFBcUIsS0FBSyxVQUFVLEVBQUU7UUFDL0MsTUFBTU0sY0FBYyxHQUFHTixxQkFBcUIsQ0FBQ0csR0FBRyxFQUFFQyxHQUFHLEVBQUVDLElBQUksQ0FBQztRQUU1RCxJQUFJQyxjQUFjLEtBQUtoQixXQUFXLEVBQUU7VUFDbENBLFdBQVcsR0FBR2dCLGNBQWM7VUFDNUJMLGVBQWUsR0FBR1Asa0JBQWtCLENBQUNKLFdBQVcsQ0FBQztRQUNuRDtNQUNGOztNQUVBO01BQ0E7TUFDQTtNQUNBO01BQ0EsTUFBTWlCLFNBQXdCLEdBQzVCLE9BQU9qQixXQUFXLENBQUNrQixNQUFNLEtBQUssVUFBVSxHQUN0QyxNQUFNbEIsV0FBVyxDQUFDa0IsTUFBTSxDQUFDTCxHQUFHLEVBQUVDLEdBQUcsRUFBRWQsV0FBVyxDQUFDLEdBQy9DLElBQUk7TUFFUixJQUFJLE9BQU9pQixTQUFTLEtBQUssU0FBUyxFQUFFO1FBQ2xDO1FBQ0FILEdBQUcsQ0FBQ0ssVUFBVSxHQUFHLEdBQUc7UUFDcEJOLEdBQUcsQ0FBQ08sR0FBRyxHQUFHLEVBQUU7UUFDWkwsSUFBSSxDQUFDLENBQUM7TUFDUixDQUFDLE1BQU0sSUFBSSxPQUFPRSxTQUFTLEtBQUssUUFBUSxFQUFFO1FBQ3hDO1FBQ0FKLEdBQUcsQ0FBQ08sR0FBRyxHQUFHSCxTQUFTO1FBQ25CRixJQUFJLENBQUMsQ0FBQztNQUNSLENBQUMsTUFBTSxJQUFJSixlQUFlLEVBQUU7UUFDMUIsT0FBT0EsZUFBZSxDQUFDRSxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsSUFBSSxDQUFDO01BQ3hDLENBQUMsTUFBTTtRQUNMQSxJQUFJLENBQUMsQ0FBQztNQUNSO0lBQ0YsQ0FBQztJQUVEZCxXQUFXLENBQUNvQixJQUFJLENBQUM7TUFDZkMsSUFBSSxFQUFFLHVCQUF1QjtNQUM3QkMsVUFBVSxFQUFFWDtJQUNkLENBQUMsQ0FBQztJQUNGO0lBQ0FYLFdBQVcsQ0FBQ29CLElBQUksQ0FBQztNQUNmQyxJQUFJLEVBQUUscUNBQXFDO01BQzNDQyxVQUFVLEVBQUVBLENBQ1ZDLEtBQVksRUFDWlgsR0FBWSxFQUNaQyxHQUFhLEVBQ2JDLElBQWtCLEtBQ2ZILE9BQU8sQ0FBQ0MsR0FBRyxFQUFFQyxHQUFHLEVBQUVDLElBQUk7SUFDN0IsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUYsT0FBT2QsV0FBVztBQUNwQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -3,12 +3,12 @@ var _process$env$WEBPACK_;
3
3
  import React from "react";
4
4
  export default function Document({
5
5
  assets,
6
- head,
6
+ head = defaultHead,
7
7
  children,
8
8
  title,
9
- rootId,
10
- charSet,
11
- scripts,
9
+ rootId = 'anansi-root',
10
+ charSet = 'utf-8',
11
+ scripts = null,
12
12
  extraStyle,
13
13
  lang
14
14
  }) {
@@ -31,16 +31,11 @@ export default function Document({
31
31
  async: true
32
32
  }, i))));
33
33
  }
34
- Document.defaultProps = {
35
- head: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/_jsx("meta", {
36
- name: "viewport",
37
- content: "width=device-width, initial-scale=1"
38
- }), /*#__PURE__*/_jsx("link", {
39
- rel: "shortcut icon",
40
- href: `${(_process$env$WEBPACK_ = process.env.WEBPACK_PUBLIC_PATH) != null ? _process$env$WEBPACK_ : '/'}favicon.ico`
41
- })),
42
- charSet: 'utf-8',
43
- rootId: 'anansi-root',
44
- scripts: null
45
- };
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEb2N1bWVudCIsImFzc2V0cyIsImhlYWQiLCJjaGlsZHJlbiIsInRpdGxlIiwicm9vdElkIiwiY2hhclNldCIsInNjcmlwdHMiLCJleHRyYVN0eWxlIiwibGFuZyIsIl9qc3giLCJtYXAiLCJhc3NldCIsImkiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJyZWwiLCJpZCIsImZpbHRlciIsImhyZWYiLCJlbmRzV2l0aCIsInNyYyIsImFzeW5jIiwiZGVmYXVsdFByb3BzIiwiRnJhZ21lbnQiLCJuYW1lIiwiY29udGVudCIsIl9wcm9jZXNzJGVudiRXRUJQQUNLXyIsInByb2Nlc3MiLCJlbnYiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Nwb3V0cy9Eb2N1bWVudENvbXBvbmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsidHlwZSBQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgYXNzZXRzOiB7IGhyZWY6IHN0cmluZzsgYXM/OiBzdHJpbmc7IHJlbD86IHN0cmluZyB9W107XG4gIGhlYWQ6IFJlYWN0LlJlYWN0Tm9kZTtcbiAgZXh0cmFTdHlsZTogUmVhY3QuUmVhY3ROb2RlO1xuICBzY3JpcHRzOiBSZWFjdC5SZWFjdE5vZGU7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHJvb3RJZDogc3RyaW5nO1xuICBjaGFyU2V0OiBzdHJpbmc7XG4gIGxhbmc/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEb2N1bWVudCh7XG4gIGFzc2V0cyxcbiAgaGVhZCxcbiAgY2hpbGRyZW4sXG4gIHRpdGxlLFxuICByb290SWQsXG4gIGNoYXJTZXQsXG4gIHNjcmlwdHMsXG4gIGV4dHJhU3R5bGUsXG4gIGxhbmcsXG59OiBQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxodG1sIGxhbmc9e2xhbmd9PlxuICAgICAgPGhlYWQ+XG4gICAgICAgIDxtZXRhIGNoYXJTZXQ9e2NoYXJTZXR9IC8+XG4gICAgICAgIHtoZWFkfVxuICAgICAgICB7ZXh0cmFTdHlsZX1cbiAgICAgICAge2Fzc2V0cy5tYXAoKGFzc2V0LCBpKSA9PiAoXG4gICAgICAgICAgPGxpbmsga2V5PXtpfSByZWw9XCJwcmVsb2FkXCIgey4uLmFzc2V0fSAvPlxuICAgICAgICApKX1cbiAgICAgICAgPHRpdGxlPnt0aXRsZX08L3RpdGxlPlxuICAgICAgPC9oZWFkPlxuICAgICAgPGJvZHk+XG4gICAgICAgIDxkaXYgaWQ9e3Jvb3RJZH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICB7c2NyaXB0c31cbiAgICAgICAge2Fzc2V0c1xuICAgICAgICAgIC5maWx0ZXIoKHsgaHJlZiB9KSA9PiBocmVmLmVuZHNXaXRoKCcuanMnKSlcbiAgICAgICAgICAubWFwKCh7IGhyZWYgfSwgaSkgPT4gKFxuICAgICAgICAgICAgPHNjcmlwdCBrZXk9e2l9IHNyYz17aHJlZn0gYXN5bmMgLz5cbiAgICAgICAgICApKX1cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gICk7XG59XG5Eb2N1bWVudC5kZWZhdWx0UHJvcHMgPSB7XG4gIGhlYWQ6IChcbiAgICA8PlxuICAgICAgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xXCIgLz5cbiAgICAgIDxsaW5rXG4gICAgICAgIHJlbD1cInNob3J0Y3V0IGljb25cIlxuICAgICAgICBocmVmPXtgJHtwcm9jZXNzLmVudi5XRUJQQUNLX1BVQkxJQ19QQVRIID8/ICcvJ31mYXZpY29uLmljb2B9XG4gICAgICAvPlxuICAgIDwvPlxuICApLFxuICBjaGFyU2V0OiAndXRmLTgnLFxuICByb290SWQ6ICdhbmFuc2ktcm9vdCcsXG4gIHNjcmlwdHM6IG51bGwsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFZQSxlQUFlLFNBQVNBLFFBQVFBLENBQUM7RUFDL0JDLE1BQU07RUFDTkMsSUFBSTtFQUNKQyxRQUFRO0VBQ1JDLEtBQUs7RUFDTEMsTUFBTTtFQUNOQyxPQUFPO0VBQ1BDLE9BQU87RUFDUEMsVUFBVTtFQUNWQztBQUNLLENBQUMsRUFBRTtFQUNSLG9CQUNFQyxJQUFBO0lBQU1ELElBQUksRUFBRUE7RUFBSyx3QkFDZkMsSUFBQSxrQ0FDRUEsSUFBQTtJQUFNSixPQUFPLEVBQUVBO0VBQVEsQ0FBRSxDQUFDLEVBQ3pCSixJQUFJLEVBQ0pNLFVBQVUsRUFDVlAsTUFBTSxDQUFDVSxHQUFHLENBQUMsQ0FBQ0MsS0FBSyxFQUFFQyxDQUFDLGtCQUNuQkMsS0FBQSxDQUFBQyxhQUFBO0lBQU1DLEdBQUcsRUFBRUgsQ0FBRTtJQUFDSSxHQUFHLEVBQUMsU0FBUztJQUFBLEdBQUtMO0VBQUssQ0FBRyxDQUN6QyxDQUFDLGVBQ0ZGLElBQUEsc0JBQVFOLEtBQWEsQ0FDakIsQ0FBQyxlQUNQTSxJQUFBLGtDQUNFQSxJQUFBO0lBQUtRLEVBQUUsRUFBRWI7RUFBTyxXQUFFRixRQUFjLENBQUMsRUFDaENJLE9BQU8sRUFDUE4sTUFBTSxDQUNKa0IsTUFBTSxDQUFDLENBQUM7SUFBRUM7RUFBSyxDQUFDLEtBQUtBLElBQUksQ0FBQ0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzFDVixHQUFHLENBQUMsQ0FBQztJQUFFUztFQUFLLENBQUMsRUFBRVAsQ0FBQyxrQkFDZkgsSUFBQTtJQUFnQlksR0FBRyxFQUFFRixJQUFLO0lBQUNHLEtBQUs7RUFBQSxHQUFuQlYsQ0FBcUIsQ0FDbkMsQ0FDQyxDQUNGLENBQUM7QUFFWDtBQUNBYixRQUFRLENBQUN3QixZQUFZLEdBQUc7RUFDdEJ0QixJQUFJLGVBQ0ZZLEtBQUEsQ0FBQUMsYUFBQSxDQUFBRCxLQUFBLENBQUFXLFFBQUEscUJBQ0VmLElBQUE7SUFBTWdCLElBQUksRUFBQyxVQUFVO0lBQUNDLE9BQU8sRUFBQztFQUFxQyxDQUFFLENBQUMsZUFDdEVqQixJQUFBO0lBQ0VPLEdBQUcsRUFBQyxlQUFlO0lBQ25CRyxJQUFJLEVBQUcsSUFBQVEscUJBQUEsR0FBRUMsT0FBTyxDQUFDQyxHQUFHLENBQUNDLG1CQUFtQixZQUFBSCxxQkFBQSxHQUFJLEdBQUk7RUFBYSxDQUM5RCxDQUNELENBQ0g7RUFDRHRCLE9BQU8sRUFBRSxPQUFPO0VBQ2hCRCxNQUFNLEVBQUUsYUFBYTtFQUNyQkUsT0FBTyxFQUFFO0FBQ1gsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
34
+ const defaultHead = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/_jsx("meta", {
35
+ name: "viewport",
36
+ content: "width=device-width, initial-scale=1"
37
+ }), /*#__PURE__*/_jsx("link", {
38
+ rel: "shortcut icon",
39
+ href: `${(_process$env$WEBPACK_ = process.env.WEBPACK_PUBLIC_PATH) != null ? _process$env$WEBPACK_ : '/'}favicon.ico`
40
+ }));
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEb2N1bWVudCIsImFzc2V0cyIsImhlYWQiLCJkZWZhdWx0SGVhZCIsImNoaWxkcmVuIiwidGl0bGUiLCJyb290SWQiLCJjaGFyU2V0Iiwic2NyaXB0cyIsImV4dHJhU3R5bGUiLCJsYW5nIiwiX2pzeCIsIm1hcCIsImFzc2V0IiwiaSIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsImtleSIsInJlbCIsImlkIiwiZmlsdGVyIiwiaHJlZiIsImVuZHNXaXRoIiwic3JjIiwiYXN5bmMiLCJGcmFnbWVudCIsIm5hbWUiLCJjb250ZW50IiwiX3Byb2Nlc3MkZW52JFdFQlBBQ0tfIiwicHJvY2VzcyIsImVudiIsIldFQlBBQ0tfUFVCTElDX1BBVEgiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BvdXRzL0RvY3VtZW50Q29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBhc3NldHM6IHsgaHJlZjogc3RyaW5nOyBhcz86IHN0cmluZzsgcmVsPzogc3RyaW5nIH1bXTtcbiAgaGVhZD86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgZXh0cmFTdHlsZTogUmVhY3QuUmVhY3ROb2RlO1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlO1xuICB0aXRsZTogc3RyaW5nO1xuICByb290SWQ/OiBzdHJpbmc7XG4gIGNoYXJTZXQ/OiBzdHJpbmc7XG4gIGxhbmc/OiBzdHJpbmc7XG59O1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRG9jdW1lbnQoe1xuICBhc3NldHMsXG4gIGhlYWQgPSBkZWZhdWx0SGVhZCxcbiAgY2hpbGRyZW4sXG4gIHRpdGxlLFxuICByb290SWQgPSAnYW5hbnNpLXJvb3QnLFxuICBjaGFyU2V0ID0gJ3V0Zi04JyxcbiAgc2NyaXB0cyA9IG51bGwsXG4gIGV4dHJhU3R5bGUsXG4gIGxhbmcsXG59OiBQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxodG1sIGxhbmc9e2xhbmd9PlxuICAgICAgPGhlYWQ+XG4gICAgICAgIDxtZXRhIGNoYXJTZXQ9e2NoYXJTZXR9IC8+XG4gICAgICAgIHtoZWFkfVxuICAgICAgICB7ZXh0cmFTdHlsZX1cbiAgICAgICAge2Fzc2V0cy5tYXAoKGFzc2V0LCBpKSA9PiAoXG4gICAgICAgICAgPGxpbmsga2V5PXtpfSByZWw9XCJwcmVsb2FkXCIgey4uLmFzc2V0fSAvPlxuICAgICAgICApKX1cbiAgICAgICAgPHRpdGxlPnt0aXRsZX08L3RpdGxlPlxuICAgICAgPC9oZWFkPlxuICAgICAgPGJvZHk+XG4gICAgICAgIDxkaXYgaWQ9e3Jvb3RJZH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICB7c2NyaXB0c31cbiAgICAgICAge2Fzc2V0c1xuICAgICAgICAgIC5maWx0ZXIoKHsgaHJlZiB9KSA9PiBocmVmLmVuZHNXaXRoKCcuanMnKSlcbiAgICAgICAgICAubWFwKCh7IGhyZWYgfSwgaSkgPT4gKFxuICAgICAgICAgICAgPHNjcmlwdCBrZXk9e2l9IHNyYz17aHJlZn0gYXN5bmMgLz5cbiAgICAgICAgICApKX1cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gICk7XG59XG5jb25zdCBkZWZhdWx0SGVhZCA9IChcbiAgPD5cbiAgICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTFcIiAvPlxuICAgIDxsaW5rXG4gICAgICByZWw9XCJzaG9ydGN1dCBpY29uXCJcbiAgICAgIGhyZWY9e2Ake3Byb2Nlc3MuZW52LldFQlBBQ0tfUFVCTElDX1BBVEggPz8gJy8nfWZhdmljb24uaWNvYH1cbiAgICAvPlxuICA8Lz5cbik7XG4iXSwibWFwcGluZ3MiOiI7OztBQVdBLGVBQWUsU0FBU0EsUUFBUUEsQ0FBQztFQUMvQkMsTUFBTTtFQUNOQyxJQUFJLEdBQUdDLFdBQVc7RUFDbEJDLFFBQVE7RUFDUkMsS0FBSztFQUNMQyxNQUFNLEdBQUcsYUFBYTtFQUN0QkMsT0FBTyxHQUFHLE9BQU87RUFDakJDLE9BQU8sR0FBRyxJQUFJO0VBQ2RDLFVBQVU7RUFDVkM7QUFDSyxDQUFDLEVBQUU7RUFDUixvQkFDRUMsSUFBQTtJQUFNRCxJQUFJLEVBQUVBO0VBQUssd0JBQ2ZDLElBQUEsa0NBQ0VBLElBQUE7SUFBTUosT0FBTyxFQUFFQTtFQUFRLENBQUUsQ0FBQyxFQUN6QkwsSUFBSSxFQUNKTyxVQUFVLEVBQ1ZSLE1BQU0sQ0FBQ1csR0FBRyxDQUFDLENBQUNDLEtBQUssRUFBRUMsQ0FBQyxrQkFDbkJDLEtBQUEsQ0FBQUMsYUFBQTtJQUFNQyxHQUFHLEVBQUVILENBQUU7SUFBQ0ksR0FBRyxFQUFDLFNBQVM7SUFBQSxHQUFLTDtFQUFLLENBQUcsQ0FDekMsQ0FBQyxlQUNGRixJQUFBLHNCQUFRTixLQUFhLENBQ2pCLENBQUMsZUFDUE0sSUFBQSxrQ0FDRUEsSUFBQTtJQUFLUSxFQUFFLEVBQUViO0VBQU8sV0FBRUYsUUFBYyxDQUFDLEVBQ2hDSSxPQUFPLEVBQ1BQLE1BQU0sQ0FDSm1CLE1BQU0sQ0FBQyxDQUFDO0lBQUVDO0VBQUssQ0FBQyxLQUFLQSxJQUFJLENBQUNDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUMxQ1YsR0FBRyxDQUFDLENBQUM7SUFBRVM7RUFBSyxDQUFDLEVBQUVQLENBQUMsa0JBQ2ZILElBQUE7SUFBZ0JZLEdBQUcsRUFBRUYsSUFBSztJQUFDRyxLQUFLO0VBQUEsR0FBbkJWLENBQXFCLENBQ25DLENBQ0MsQ0FDRixDQUFDO0FBRVg7QUFDQSxNQUFNWCxXQUFXLGdCQUNmWSxLQUFBLENBQUFDLGFBQUEsQ0FBQUQsS0FBQSxDQUFBVSxRQUFBLHFCQUNFZCxJQUFBO0VBQU1lLElBQUksRUFBQyxVQUFVO0VBQUNDLE9BQU8sRUFBQztBQUFxQyxDQUFFLENBQUMsZUFDdEVoQixJQUFBO0VBQ0VPLEdBQUcsRUFBQyxlQUFlO0VBQ25CRyxJQUFJLEVBQUcsSUFBQU8scUJBQUEsR0FBRUMsT0FBTyxDQUFDQyxHQUFHLENBQUNDLG1CQUFtQixZQUFBSCxxQkFBQSxHQUFJLEdBQUk7QUFBYSxDQUM5RCxDQUNELENBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
@@ -5,22 +5,14 @@ type Props = {
5
5
  as?: string;
6
6
  rel?: string;
7
7
  }[];
8
- head: React.ReactNode;
8
+ head?: React.ReactNode;
9
9
  extraStyle: React.ReactNode;
10
- scripts: React.ReactNode;
10
+ scripts?: React.ReactNode;
11
11
  title: string;
12
- rootId: string;
13
- charSet: string;
12
+ rootId?: string;
13
+ charSet?: string;
14
14
  lang?: string;
15
15
  };
16
- declare function Document({ assets, head, children, title, rootId, charSet, scripts, extraStyle, lang, }: Props): import("react/jsx-runtime").JSX.Element;
17
- declare namespace Document {
18
- var defaultProps: {
19
- head: import("react/jsx-runtime").JSX.Element;
20
- charSet: string;
21
- rootId: string;
22
- scripts: null;
23
- };
24
- }
25
- export default Document;
16
+ export default function Document({ assets, head, children, title, rootId, charSet, scripts, extraStyle, lang, }: Props): import("react/jsx-runtime").JSX.Element;
17
+ export {};
26
18
  //# sourceMappingURL=DocumentComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentComponent.d.ts","sourceRoot":"","sources":["../../src/spouts/DocumentComponent.tsx"],"names":[],"mappings":"AAAA,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtD,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,iBAAwB,QAAQ,CAAC,EAC/B,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,EACV,IAAI,GACL,EAAE,KAAK,2CAuBP;kBAjCuB,QAAQ;;;;;;;;eAAR,QAAQ"}
1
+ {"version":3,"file":"DocumentComponent.d.ts","sourceRoot":"","sources":["../../src/spouts/DocumentComponent.tsx"],"names":[],"mappings":"AAAA,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AACF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,MAAM,EACN,IAAkB,EAClB,QAAQ,EACR,KAAK,EACL,MAAsB,EACtB,OAAiB,EACjB,OAAc,EACd,UAAU,EACV,IAAI,GACL,EAAE,KAAK,2CAuBP"}
@@ -3,12 +3,12 @@ var _process$env$WEBPACK_;
3
3
  import React from "react";
4
4
  export default function Document({
5
5
  assets,
6
- head,
6
+ head = defaultHead,
7
7
  children,
8
8
  title,
9
- rootId,
10
- charSet,
11
- scripts,
9
+ rootId = 'anansi-root',
10
+ charSet = 'utf-8',
11
+ scripts = null,
12
12
  extraStyle,
13
13
  lang
14
14
  }) {
@@ -31,16 +31,11 @@ export default function Document({
31
31
  async: true
32
32
  }, i))));
33
33
  }
34
- Document.defaultProps = {
35
- head: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/_jsx("meta", {
36
- name: "viewport",
37
- content: "width=device-width, initial-scale=1"
38
- }), /*#__PURE__*/_jsx("link", {
39
- rel: "shortcut icon",
40
- href: `${(_process$env$WEBPACK_ = process.env.WEBPACK_PUBLIC_PATH) != null ? _process$env$WEBPACK_ : '/'}favicon.ico`
41
- })),
42
- charSet: 'utf-8',
43
- rootId: 'anansi-root',
44
- scripts: null
45
- };
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEb2N1bWVudCIsImFzc2V0cyIsImhlYWQiLCJjaGlsZHJlbiIsInRpdGxlIiwicm9vdElkIiwiY2hhclNldCIsInNjcmlwdHMiLCJleHRyYVN0eWxlIiwibGFuZyIsIl9qc3giLCJtYXAiLCJhc3NldCIsImkiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJyZWwiLCJpZCIsImZpbHRlciIsImhyZWYiLCJlbmRzV2l0aCIsInNyYyIsImFzeW5jIiwiZGVmYXVsdFByb3BzIiwiRnJhZ21lbnQiLCJuYW1lIiwiY29udGVudCIsIl9wcm9jZXNzJGVudiRXRUJQQUNLXyIsInByb2Nlc3MiLCJlbnYiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nwb3V0cy9Eb2N1bWVudENvbXBvbmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsidHlwZSBQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgYXNzZXRzOiB7IGhyZWY6IHN0cmluZzsgYXM/OiBzdHJpbmc7IHJlbD86IHN0cmluZyB9W107XG4gIGhlYWQ6IFJlYWN0LlJlYWN0Tm9kZTtcbiAgZXh0cmFTdHlsZTogUmVhY3QuUmVhY3ROb2RlO1xuICBzY3JpcHRzOiBSZWFjdC5SZWFjdE5vZGU7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHJvb3RJZDogc3RyaW5nO1xuICBjaGFyU2V0OiBzdHJpbmc7XG4gIGxhbmc/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEb2N1bWVudCh7XG4gIGFzc2V0cyxcbiAgaGVhZCxcbiAgY2hpbGRyZW4sXG4gIHRpdGxlLFxuICByb290SWQsXG4gIGNoYXJTZXQsXG4gIHNjcmlwdHMsXG4gIGV4dHJhU3R5bGUsXG4gIGxhbmcsXG59OiBQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxodG1sIGxhbmc9e2xhbmd9PlxuICAgICAgPGhlYWQ+XG4gICAgICAgIDxtZXRhIGNoYXJTZXQ9e2NoYXJTZXR9IC8+XG4gICAgICAgIHtoZWFkfVxuICAgICAgICB7ZXh0cmFTdHlsZX1cbiAgICAgICAge2Fzc2V0cy5tYXAoKGFzc2V0LCBpKSA9PiAoXG4gICAgICAgICAgPGxpbmsga2V5PXtpfSByZWw9XCJwcmVsb2FkXCIgey4uLmFzc2V0fSAvPlxuICAgICAgICApKX1cbiAgICAgICAgPHRpdGxlPnt0aXRsZX08L3RpdGxlPlxuICAgICAgPC9oZWFkPlxuICAgICAgPGJvZHk+XG4gICAgICAgIDxkaXYgaWQ9e3Jvb3RJZH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICB7c2NyaXB0c31cbiAgICAgICAge2Fzc2V0c1xuICAgICAgICAgIC5maWx0ZXIoKHsgaHJlZiB9KSA9PiBocmVmLmVuZHNXaXRoKCcuanMnKSlcbiAgICAgICAgICAubWFwKCh7IGhyZWYgfSwgaSkgPT4gKFxuICAgICAgICAgICAgPHNjcmlwdCBrZXk9e2l9IHNyYz17aHJlZn0gYXN5bmMgLz5cbiAgICAgICAgICApKX1cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gICk7XG59XG5Eb2N1bWVudC5kZWZhdWx0UHJvcHMgPSB7XG4gIGhlYWQ6IChcbiAgICA8PlxuICAgICAgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xXCIgLz5cbiAgICAgIDxsaW5rXG4gICAgICAgIHJlbD1cInNob3J0Y3V0IGljb25cIlxuICAgICAgICBocmVmPXtgJHtwcm9jZXNzLmVudi5XRUJQQUNLX1BVQkxJQ19QQVRIID8/ICcvJ31mYXZpY29uLmljb2B9XG4gICAgICAvPlxuICAgIDwvPlxuICApLFxuICBjaGFyU2V0OiAndXRmLTgnLFxuICByb290SWQ6ICdhbmFuc2ktcm9vdCcsXG4gIHNjcmlwdHM6IG51bGwsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFZQSxlQUFlLFNBQVNBLFFBQVFBLENBQUM7RUFDL0JDLE1BQU07RUFDTkMsSUFBSTtFQUNKQyxRQUFRO0VBQ1JDLEtBQUs7RUFDTEMsTUFBTTtFQUNOQyxPQUFPO0VBQ1BDLE9BQU87RUFDUEMsVUFBVTtFQUNWQztBQUNLLENBQUMsRUFBRTtFQUNSLG9CQUNFQyxJQUFBO0lBQU1ELElBQUksRUFBRUE7RUFBSyx3QkFDZkMsSUFBQSxrQ0FDRUEsSUFBQTtJQUFNSixPQUFPLEVBQUVBO0VBQVEsQ0FBRSxDQUFDLEVBQ3pCSixJQUFJLEVBQ0pNLFVBQVUsRUFDVlAsTUFBTSxDQUFDVSxHQUFHLENBQUMsQ0FBQ0MsS0FBSyxFQUFFQyxDQUFDLGtCQUNuQkMsS0FBQSxDQUFBQyxhQUFBO0lBQU1DLEdBQUcsRUFBRUgsQ0FBRTtJQUFDSSxHQUFHLEVBQUMsU0FBUztJQUFBLEdBQUtMO0VBQUssQ0FBRyxDQUN6QyxDQUFDLGVBQ0ZGLElBQUEsc0JBQVFOLEtBQWEsQ0FDakIsQ0FBQyxlQUNQTSxJQUFBLGtDQUNFQSxJQUFBO0lBQUtRLEVBQUUsRUFBRWI7RUFBTyxXQUFFRixRQUFjLENBQUMsRUFDaENJLE9BQU8sRUFDUE4sTUFBTSxDQUNKa0IsTUFBTSxDQUFDLENBQUM7SUFBRUM7RUFBSyxDQUFDLEtBQUtBLElBQUksQ0FBQ0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzFDVixHQUFHLENBQUMsQ0FBQztJQUFFUztFQUFLLENBQUMsRUFBRVAsQ0FBQyxrQkFDZkgsSUFBQTtJQUFnQlksR0FBRyxFQUFFRixJQUFLO0lBQUNHLEtBQUs7RUFBQSxHQUFuQlYsQ0FBcUIsQ0FDbkMsQ0FDQyxDQUNGLENBQUM7QUFFWDtBQUNBYixRQUFRLENBQUN3QixZQUFZLEdBQUc7RUFDdEJ0QixJQUFJLGVBQ0ZZLEtBQUEsQ0FBQUMsYUFBQSxDQUFBRCxLQUFBLENBQUFXLFFBQUEscUJBQ0VmLElBQUE7SUFBTWdCLElBQUksRUFBQyxVQUFVO0lBQUNDLE9BQU8sRUFBQztFQUFxQyxDQUFFLENBQUMsZUFDdEVqQixJQUFBO0lBQ0VPLEdBQUcsRUFBQyxlQUFlO0lBQ25CRyxJQUFJLEVBQUcsSUFBQVEscUJBQUEsR0FBRUMsT0FBTyxDQUFDQyxHQUFHLENBQUNDLG1CQUFtQixZQUFBSCxxQkFBQSxHQUFJLEdBQUk7RUFBYSxDQUM5RCxDQUNELENBQ0g7RUFDRHRCLE9BQU8sRUFBRSxPQUFPO0VBQ2hCRCxNQUFNLEVBQUUsYUFBYTtFQUNyQkUsT0FBTyxFQUFFO0FBQ1gsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
34
+ const defaultHead = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/_jsx("meta", {
35
+ name: "viewport",
36
+ content: "width=device-width, initial-scale=1"
37
+ }), /*#__PURE__*/_jsx("link", {
38
+ rel: "shortcut icon",
39
+ href: `${(_process$env$WEBPACK_ = process.env.WEBPACK_PUBLIC_PATH) != null ? _process$env$WEBPACK_ : '/'}favicon.ico`
40
+ }));
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEb2N1bWVudCIsImFzc2V0cyIsImhlYWQiLCJkZWZhdWx0SGVhZCIsImNoaWxkcmVuIiwidGl0bGUiLCJyb290SWQiLCJjaGFyU2V0Iiwic2NyaXB0cyIsImV4dHJhU3R5bGUiLCJsYW5nIiwiX2pzeCIsIm1hcCIsImFzc2V0IiwiaSIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsImtleSIsInJlbCIsImlkIiwiZmlsdGVyIiwiaHJlZiIsImVuZHNXaXRoIiwic3JjIiwiYXN5bmMiLCJGcmFnbWVudCIsIm5hbWUiLCJjb250ZW50IiwiX3Byb2Nlc3MkZW52JFdFQlBBQ0tfIiwicHJvY2VzcyIsImVudiIsIldFQlBBQ0tfUFVCTElDX1BBVEgiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL0RvY3VtZW50Q29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBhc3NldHM6IHsgaHJlZjogc3RyaW5nOyBhcz86IHN0cmluZzsgcmVsPzogc3RyaW5nIH1bXTtcbiAgaGVhZD86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgZXh0cmFTdHlsZTogUmVhY3QuUmVhY3ROb2RlO1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlO1xuICB0aXRsZTogc3RyaW5nO1xuICByb290SWQ/OiBzdHJpbmc7XG4gIGNoYXJTZXQ/OiBzdHJpbmc7XG4gIGxhbmc/OiBzdHJpbmc7XG59O1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRG9jdW1lbnQoe1xuICBhc3NldHMsXG4gIGhlYWQgPSBkZWZhdWx0SGVhZCxcbiAgY2hpbGRyZW4sXG4gIHRpdGxlLFxuICByb290SWQgPSAnYW5hbnNpLXJvb3QnLFxuICBjaGFyU2V0ID0gJ3V0Zi04JyxcbiAgc2NyaXB0cyA9IG51bGwsXG4gIGV4dHJhU3R5bGUsXG4gIGxhbmcsXG59OiBQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxodG1sIGxhbmc9e2xhbmd9PlxuICAgICAgPGhlYWQ+XG4gICAgICAgIDxtZXRhIGNoYXJTZXQ9e2NoYXJTZXR9IC8+XG4gICAgICAgIHtoZWFkfVxuICAgICAgICB7ZXh0cmFTdHlsZX1cbiAgICAgICAge2Fzc2V0cy5tYXAoKGFzc2V0LCBpKSA9PiAoXG4gICAgICAgICAgPGxpbmsga2V5PXtpfSByZWw9XCJwcmVsb2FkXCIgey4uLmFzc2V0fSAvPlxuICAgICAgICApKX1cbiAgICAgICAgPHRpdGxlPnt0aXRsZX08L3RpdGxlPlxuICAgICAgPC9oZWFkPlxuICAgICAgPGJvZHk+XG4gICAgICAgIDxkaXYgaWQ9e3Jvb3RJZH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICB7c2NyaXB0c31cbiAgICAgICAge2Fzc2V0c1xuICAgICAgICAgIC5maWx0ZXIoKHsgaHJlZiB9KSA9PiBocmVmLmVuZHNXaXRoKCcuanMnKSlcbiAgICAgICAgICAubWFwKCh7IGhyZWYgfSwgaSkgPT4gKFxuICAgICAgICAgICAgPHNjcmlwdCBrZXk9e2l9IHNyYz17aHJlZn0gYXN5bmMgLz5cbiAgICAgICAgICApKX1cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gICk7XG59XG5jb25zdCBkZWZhdWx0SGVhZCA9IChcbiAgPD5cbiAgICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTFcIiAvPlxuICAgIDxsaW5rXG4gICAgICByZWw9XCJzaG9ydGN1dCBpY29uXCJcbiAgICAgIGhyZWY9e2Ake3Byb2Nlc3MuZW52LldFQlBBQ0tfUFVCTElDX1BBVEggPz8gJy8nfWZhdmljb24uaWNvYH1cbiAgICAvPlxuICA8Lz5cbik7XG4iXSwibWFwcGluZ3MiOiI7OztBQVdBLGVBQWUsU0FBU0EsUUFBUUEsQ0FBQztFQUMvQkMsTUFBTTtFQUNOQyxJQUFJLEdBQUdDLFdBQVc7RUFDbEJDLFFBQVE7RUFDUkMsS0FBSztFQUNMQyxNQUFNLEdBQUcsYUFBYTtFQUN0QkMsT0FBTyxHQUFHLE9BQU87RUFDakJDLE9BQU8sR0FBRyxJQUFJO0VBQ2RDLFVBQVU7RUFDVkM7QUFDSyxDQUFDLEVBQUU7RUFDUixvQkFDRUMsSUFBQTtJQUFNRCxJQUFJLEVBQUVBO0VBQUssd0JBQ2ZDLElBQUEsa0NBQ0VBLElBQUE7SUFBTUosT0FBTyxFQUFFQTtFQUFRLENBQUUsQ0FBQyxFQUN6QkwsSUFBSSxFQUNKTyxVQUFVLEVBQ1ZSLE1BQU0sQ0FBQ1csR0FBRyxDQUFDLENBQUNDLEtBQUssRUFBRUMsQ0FBQyxrQkFDbkJDLEtBQUEsQ0FBQUMsYUFBQTtJQUFNQyxHQUFHLEVBQUVILENBQUU7SUFBQ0ksR0FBRyxFQUFDLFNBQVM7SUFBQSxHQUFLTDtFQUFLLENBQUcsQ0FDekMsQ0FBQyxlQUNGRixJQUFBLHNCQUFRTixLQUFhLENBQ2pCLENBQUMsZUFDUE0sSUFBQSxrQ0FDRUEsSUFBQTtJQUFLUSxFQUFFLEVBQUViO0VBQU8sV0FBRUYsUUFBYyxDQUFDLEVBQ2hDSSxPQUFPLEVBQ1BQLE1BQU0sQ0FDSm1CLE1BQU0sQ0FBQyxDQUFDO0lBQUVDO0VBQUssQ0FBQyxLQUFLQSxJQUFJLENBQUNDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUMxQ1YsR0FBRyxDQUFDLENBQUM7SUFBRVM7RUFBSyxDQUFDLEVBQUVQLENBQUMsa0JBQ2ZILElBQUE7SUFBZ0JZLEdBQUcsRUFBRUYsSUFBSztJQUFDRyxLQUFLO0VBQUEsR0FBbkJWLENBQXFCLENBQ25DLENBQ0MsQ0FDRixDQUFDO0FBRVg7QUFDQSxNQUFNWCxXQUFXLGdCQUNmWSxLQUFBLENBQUFDLGFBQUEsQ0FBQUQsS0FBQSxDQUFBVSxRQUFBLHFCQUNFZCxJQUFBO0VBQU1lLElBQUksRUFBQyxVQUFVO0VBQUNDLE9BQU8sRUFBQztBQUFxQyxDQUFFLENBQUMsZUFDdEVoQixJQUFBO0VBQ0VPLEdBQUcsRUFBQyxlQUFlO0VBQ25CRyxJQUFJLEVBQUcsSUFBQU8scUJBQUEsR0FBRUMsT0FBTyxDQUFDQyxHQUFHLENBQUNDLG1CQUFtQixZQUFBSCxxQkFBQSxHQUFJLEdBQUk7QUFBYSxDQUM5RCxDQUNELENBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anansi/core",
3
- "version": "0.18.25",
3
+ "version": "0.19.1",
4
4
  "description": "React 18 Framework",
5
5
  "homepage": "https://github.com/ntucker/anansi/tree/master/packages/core#readme",
6
6
  "repository": {
@@ -82,9 +82,9 @@
82
82
  "react-dom": "^18.2.0"
83
83
  },
84
84
  "dependencies": {
85
- "@anansi/router": "^0.9.5",
85
+ "@anansi/router": "^0.10.0",
86
86
  "@babel/runtime": "^7.17.0",
87
- "@data-client/ssr": "^0.11.0",
87
+ "@data-client/ssr": "^0.11.4",
88
88
  "chalk": "^4.1.2",
89
89
  "compression": "^1.7.4",
90
90
  "cross-fetch": "^4.0.0",
@@ -92,7 +92,7 @@
92
92
  "express": "^4.19.2",
93
93
  "fs-require": "^1.6.0",
94
94
  "history": "^5.3.0",
95
- "http-proxy-middleware": "^2.0.6",
95
+ "http-proxy-middleware": "^3.0.0",
96
96
  "memfs": "^3.5.3",
97
97
  "ora": "^6.3.1",
98
98
  "redux": "^5.0.1",
@@ -106,10 +106,10 @@
106
106
  "@ant-design/cssinjs": "^1.5.1",
107
107
  "@data-client/react": "^0.1.0 || ^0.2.0 || ^0.3.0 || ^0.4.0 || ^1.0.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0",
108
108
  "@data-client/redux": "^0.1.0 || ^0.2.0 || ^0.3.0 || ^0.4.0 || ^1.0.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0",
109
- "@types/react": "^17.0.40 || ^18.0.0",
110
- "@types/react-dom": "^17.0.40 || ^18.0.0",
111
- "react": "^18.0.0",
112
- "react-dom": "^18.0.0",
109
+ "@types/react": "^17.0.40 || ^18.0.0 || ^19.0.0-0",
110
+ "@types/react-dom": "^17.0.40 || ^18.0.0 || ^19.0.0-0",
111
+ "react": "^18.0.0 || ^19.0.0-0",
112
+ "react-dom": "^18.0.0 || ^19.0.0-0",
113
113
  "redux": "^4.0.0 || ^5.0.0",
114
114
  "webpack": "^5.60.0"
115
115
  },
@@ -8,7 +8,8 @@ import {
8
8
  ProxyConfigArrayItem,
9
9
  } from 'webpack-dev-server';
10
10
 
11
- // Essentially taken from https://github.com/webpack/webpack-dev-server/blob/b5e5b67398f97c7a2934e12ebe34fb03cc06c473/lib/Server.js#L2123
11
+ // Essentially taken from https://github.com/webpack/webpack-dev-server/blob/3096148746c906105c4424352f5b5ad1bff0fd4f/lib/Server.js#L2099
12
+ // we just removed the 'bypass' deprecation warnings and converted to typescript
12
13
  export default function getProxyMiddlewares(proxyConfig: ProxyConfigArray) {
13
14
  const middlewares: any[] = [];
14
15
  // eslint-disable-next-line @typescript-eslint/no-var-requires
@@ -83,9 +84,8 @@ export default function getProxyMiddlewares(proxyConfig: ProxyConfigArray) {
83
84
 
84
85
  if (typeof bypassUrl === 'boolean') {
85
86
  // skip the proxy
86
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
87
- // @ts-ignore
88
- req.url = null;
87
+ res.statusCode = 404;
88
+ req.url = '';
89
89
  next();
90
90
  } else if (typeof bypassUrl === 'string') {
91
91
  // byPass to that url
@@ -1,23 +1,22 @@
1
1
  type Props = {
2
2
  children: React.ReactNode;
3
3
  assets: { href: string; as?: string; rel?: string }[];
4
- head: React.ReactNode;
4
+ head?: React.ReactNode;
5
5
  extraStyle: React.ReactNode;
6
- scripts: React.ReactNode;
6
+ scripts?: React.ReactNode;
7
7
  title: string;
8
- rootId: string;
9
- charSet: string;
8
+ rootId?: string;
9
+ charSet?: string;
10
10
  lang?: string;
11
11
  };
12
-
13
12
  export default function Document({
14
13
  assets,
15
- head,
14
+ head = defaultHead,
16
15
  children,
17
16
  title,
18
- rootId,
19
- charSet,
20
- scripts,
17
+ rootId = 'anansi-root',
18
+ charSet = 'utf-8',
19
+ scripts = null,
21
20
  extraStyle,
22
21
  lang,
23
22
  }: Props) {
@@ -44,17 +43,12 @@ export default function Document({
44
43
  </html>
45
44
  );
46
45
  }
47
- Document.defaultProps = {
48
- head: (
49
- <>
50
- <meta name="viewport" content="width=device-width, initial-scale=1" />
51
- <link
52
- rel="shortcut icon"
53
- href={`${process.env.WEBPACK_PUBLIC_PATH ?? '/'}favicon.ico`}
54
- />
55
- </>
56
- ),
57
- charSet: 'utf-8',
58
- rootId: 'anansi-root',
59
- scripts: null,
60
- };
46
+ const defaultHead = (
47
+ <>
48
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
49
+ <link
50
+ rel="shortcut icon"
51
+ href={`${process.env.WEBPACK_PUBLIC_PATH ?? '/'}favicon.ico`}
52
+ />
53
+ </>
54
+ );