highmark-markdown 1.0.177 → 1.0.178

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/example.js +1673 -2462
  2. package/lib/example/view/div/preview.js +19 -19
  3. package/lib/example/view/div/sizeable/left.js +2 -2
  4. package/lib/example/view/textarea/plainText.js +3 -3
  5. package/lib/example/view/xmp.js +3 -3
  6. package/lib/example/view.js +7 -8
  7. package/lib/index.js +15 -7
  8. package/lib/map/className.js +4 -45
  9. package/lib/map/node/html.js +12 -5
  10. package/lib/map/node/markdown.js +2 -2
  11. package/lib/map/tagName.js +4 -45
  12. package/lib/node/html/topmost.js +21 -39
  13. package/lib/node/html.js +15 -1
  14. package/lib/node/markdown/directive/embee.js +8 -8
  15. package/lib/node/markdown/directive/include.js +7 -7
  16. package/lib/node/markdown/division.js +21 -220
  17. package/lib/node/markdown/subDivision.js +11 -14
  18. package/lib/node/markdown/topmost.js +3 -3
  19. package/lib/queries.js +4 -3
  20. package/lib/ruleNames.js +11 -6
  21. package/lib/transform/{subDivision/contentsDirective.js → contentsDirective.js} +2 -3
  22. package/lib/transform/contentsList.js +2 -3
  23. package/lib/transform/footnote.js +2 -3
  24. package/lib/transform/{subDivision/footnote.js → footnoteIdentifier.js} +3 -4
  25. package/lib/transform/{subDivision/footnotesDirective.js → footnotesDirective.js} +2 -3
  26. package/lib/transform/footnotesList.js +2 -3
  27. package/lib/transform/{subDivision/indexDirective.js → indexDirective.js} +2 -3
  28. package/lib/transform/{embedDirective.js → markdown/directive/embed.js} +12 -12
  29. package/lib/transform/{ignoreDirective.js → markdown/directive/ignore.js} +12 -12
  30. package/lib/transform/{includeDirective.js → markdown/directive/include.js} +12 -12
  31. package/lib/transform/{subDivision.js → markdown/subDivision.js} +12 -12
  32. package/lib/transform/{subDivision/pageNumberDirective.js → pageNumberDirective.js} +2 -3
  33. package/lib/utilities/dom.js +62 -0
  34. package/lib/utilities/footnotes.js +2 -3
  35. package/lib/utilities/html.js +135 -50
  36. package/lib/utilities/index.js +5 -5
  37. package/lib/utilities/markdown.js +89 -0
  38. package/lib/utilities/query.js +17 -129
  39. package/package.json +4 -4
  40. package/src/example/view/div/preview.js +16 -16
  41. package/src/example/view/div/sizeable/left.js +1 -1
  42. package/src/example/view/textarea/plainText.js +2 -2
  43. package/src/example/view/xmp.js +3 -2
  44. package/src/example/view.js +9 -10
  45. package/src/index.js +2 -0
  46. package/src/map/className.js +3 -6
  47. package/src/map/node/html.js +14 -2
  48. package/src/map/node/markdown.js +2 -2
  49. package/src/map/tagName.js +3 -6
  50. package/src/node/html/topmost.js +16 -47
  51. package/src/node/html.js +12 -0
  52. package/src/node/markdown/directive/embee.js +5 -5
  53. package/src/node/markdown/directive/include.js +5 -5
  54. package/src/node/markdown/division.js +128 -135
  55. package/src/node/markdown/subDivision.js +7 -10
  56. package/src/node/markdown/topmost.js +1 -1
  57. package/src/queries.js +5 -3
  58. package/src/ruleNames.js +4 -2
  59. package/src/transform/{subDivision/contentsDirective.js → contentsDirective.js} +0 -2
  60. package/src/transform/contentsList.js +0 -1
  61. package/src/transform/footnote.js +0 -2
  62. package/src/transform/{subDivision/footnote.js → footnoteIdentifier.js} +0 -2
  63. package/src/transform/{subDivision/footnotesDirective.js → footnotesDirective.js} +0 -2
  64. package/src/transform/footnotesList.js +0 -2
  65. package/src/transform/{subDivision/indexDirective.js → indexDirective.js} +0 -2
  66. package/src/transform/{embedDirective.js → markdown/directive/embed.js} +3 -3
  67. package/src/transform/{ignoreDirective.js → markdown/directive/ignore.js} +3 -3
  68. package/src/transform/{includeDirective.js → markdown/directive/include.js} +3 -3
  69. package/src/transform/{subDivision.js → markdown/subDivision.js} +3 -3
  70. package/src/transform/{subDivision/pageNumberDirective.js → pageNumberDirective.js} +0 -2
  71. package/src/utilities/dom.js +58 -0
  72. package/src/utilities/footnotes.js +0 -2
  73. package/src/utilities/html.js +122 -49
  74. package/src/utilities/index.js +4 -4
  75. package/src/utilities/markdown.js +72 -0
  76. package/src/utilities/query.js +12 -122
@@ -9,12 +9,8 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _markdown = /*#__PURE__*/ _interop_require_default(require("../../node/markdown"));
12
- var _footnote = /*#__PURE__*/ _interop_require_default(require("../../transform/footnote"));
13
- var _subDivision = /*#__PURE__*/ _interop_require_default(require("../../transform/subDivision"));
14
- var _footnotesList = /*#__PURE__*/ _interop_require_default(require("../../transform/footnotesList"));
15
- var _ignoreDirective = /*#__PURE__*/ _interop_require_default(require("../../transform/ignoreDirective"));
16
- var _footnote1 = /*#__PURE__*/ _interop_require_default(require("../../transform/subDivision/footnote"));
17
- var _query = require("../../utilities/query");
12
+ var _ignore = /*#__PURE__*/ _interop_require_default(require("../../transform/markdown/directive/ignore"));
13
+ var _markdown1 = require("../../utilities/markdown");
18
14
  function _assert_this_initialized(self) {
19
15
  if (self === void 0) {
20
16
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -144,6 +140,13 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
144
140
  this.divisionClassName = divisionClassName;
145
141
  }
146
142
  },
143
+ {
144
+ key: "isIgnored",
145
+ value: function isIgnored() {
146
+ var node = this, ignoreDirectiveMarkdownNode = (0, _markdown1.ignoreDirectiveMarkdownNodeFromNode)(node), ignored = ignoreDirectiveMarkdownNode !== null;
147
+ return ignored;
148
+ }
149
+ },
147
150
  {
148
151
  key: "className",
149
152
  value: function className(context) {
@@ -151,13 +154,6 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
151
154
  return className;
152
155
  }
153
156
  },
154
- {
155
- key: "isIgnored",
156
- value: function isIgnored() {
157
- var node = this, ignoreDirectiveMarkdownNode = (0, _query.ignoreDirectiveMarkdownNodeFromNode)(node), ignored = ignoreDirectiveMarkdownNode !== null;
158
- return ignored;
159
- }
160
- },
161
157
  {
162
158
  key: "resolveIgnored",
163
159
  value: function resolveIgnored(topmostMarkdownNode, context) {
@@ -165,22 +161,22 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
165
161
  if (!ignored) {
166
162
  return;
167
163
  }
168
- var divisionMarkdownNode = this, ignoreDirectiveTransform = _ignoreDirective.default.fromDivisionMarkdownNode(divisionMarkdownNode);
169
- ignoreDirectiveTransform.removeFromTopmostMarkdownNode(topmostMarkdownNode, context);
164
+ var divisionMarkdownNode = this, ignoreDirectiveMarkdownTransform = _ignore.default.fromDivisionMarkdownNode(divisionMarkdownNode);
165
+ ignoreDirectiveMarkdownTransform.removeFromTopmostMarkdownNode(topmostMarkdownNode, context);
170
166
  }
171
167
  },
172
168
  {
173
169
  key: "resolveIncludes",
174
170
  value: function resolveIncludes(topmostMarkdownNode, context) {
175
- var node = this, includeDirectiveMarkdownNodes = (0, _query.includeDirectiveMarkdownNodesFromNode)(node), includeDirectiveTransforms = includeDirectiveMarkdownNodes.reduce(function(includeDirectiveTransforms, includeDirectiveMarkdownNode) {
176
- var includeDirectiveTransform = includeDirectiveMarkdownNode.resolveInclude(context);
177
- if (includeDirectiveTransform !== null) {
178
- includeDirectiveTransforms.push(includeDirectiveTransform);
171
+ var node = this, includeDirectiveMarkdownNodes = (0, _markdown1.includeDirectiveMarkdownNodesFromNode)(node), includeDirectiveMarkdownTransforms = includeDirectiveMarkdownNodes.reduce(function(includeDirectiveMarkdownTransforms, includeDirectiveMarkdownNode) {
172
+ var includeDirectiveMarkdownTransform = includeDirectiveMarkdownNode.resolveInclude(context);
173
+ if (includeDirectiveMarkdownTransform !== null) {
174
+ includeDirectiveMarkdownTransforms.push(includeDirectiveMarkdownTransform);
179
175
  }
180
- return includeDirectiveTransforms;
176
+ return includeDirectiveMarkdownTransforms;
181
177
  }, []);
182
- includeDirectiveTransforms.forEach(function(includeDirectiveTransform) {
183
- var divisionMarkdownNode = includeDirectiveTransform.appendToTopmostMarkdownNode(topmostMarkdownNode, context);
178
+ includeDirectiveMarkdownTransforms.forEach(function(includeDirectiveMarkdownTransform) {
179
+ var divisionMarkdownNode = includeDirectiveMarkdownTransform.appendToTopmostMarkdownNode(topmostMarkdownNode, context);
184
180
  divisionMarkdownNode.resolveIncludes(topmostMarkdownNode, context);
185
181
  });
186
182
  }
@@ -192,192 +188,16 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
192
188
  this.forEachSubDivisionMarkdownNode(function(subDivisionMarkdownNode) {
193
189
  var embeddingsResolved = subDivisionMarkdownNode.resolveEmbeddings(divisionMarkdownNode, context);
194
190
  if (embeddingsResolved) {
195
- var subDivisionTransform = _subDivision.default.fromSubDivisionMarkdownNode(subDivisionMarkdownNode);
191
+ var subDivisionTransform = SubDivisionTransform.fromSubDivisionMarkdownNode(subDivisionMarkdownNode);
196
192
  subDivisionTransform.removeFromDivisionMarkdownNode(divisionMarkdownNode, context);
197
193
  }
198
194
  });
199
195
  }
200
196
  },
201
- {
202
- // getPageNumber() {
203
- // let pageNumber = null;
204
- //
205
- // const pageNumberDirectiveMarkdownNode = this.findPageNumberDirectiveMarkdownNode();
206
- //
207
- // if (pageNumberDirectiveMarkdownNode !== null) {
208
- // pageNumber = pageNumberDirectiveMarkdownNode.getPageNumber();
209
- // }
210
- //
211
- // return pageNumber;
212
- // }
213
- //
214
- // setPageNumber(pageNumber) {
215
- // const pageNumberDirectiveMarkdownNode = this.findPageNumberDirectiveMarkdownNode();
216
- //
217
- // if (pageNumberDirectiveMarkdownNode !== null) {
218
- // pageNumberDirectiveMarkdownNode.setPageNumber(pageNumber);
219
- // }
220
- // }
221
- //
222
- // paginate(markdownNodes, context) {
223
- // const footnotesDirectiveDivisionTransform = this.removeDivisionMarkdownNode(FootnotesDirectiveDivisionTransform, context),
224
- // pageNumberDirectiveDivisionTransform = this.removeDivisionMarkdownNode(PageNumberDirectiveDivisionTransform, context),
225
- // subDivisionTransforms = [
226
- // footnotesDirectiveDivisionTransform,
227
- // pageNumberDirectiveDivisionTransform
228
- // ];
229
- //
230
- // filter(subDivisionTransforms, (subDivisionTransform) => {
231
- // if (subDivisionTransform !== null) {
232
- // return true;
233
- // }
234
- // });
235
- //
236
- // const { linesPerPage } = context,
237
- // paginatedChildNodes = [];
238
- //
239
- // let { pageNumber } = context,
240
- // totalLines = 0;
241
- //
242
- // this.forEachChildNode((childNode) => {
243
- // const lines = childNode.lines(context);
244
- //
245
- // if ((totalLines + lines) > linesPerPage) {
246
- // paginateDivisionMarkdownNode(paginatedChildNodes, subDivisionTransforms, this.divisionClassName, markdownNodes, pageNumber, context);
247
- //
248
- // pageNumber++;
249
- //
250
- // totalLines = 0;
251
- //
252
- // clear(paginatedChildNodes);
253
- // }
254
- //
255
- // const paginatedChildNode = childNode; ///
256
- //
257
- // paginatedChildNodes.push(paginatedChildNode);
258
- //
259
- // totalLines += lines;
260
- // });
261
- //
262
- // if (totalLines > 0) {
263
- // paginateDivisionMarkdownNode(paginatedChildNodes, subDivisionTransforms, this.divisionClassName, markdownNodes, pageNumber, context);
264
- //
265
- // pageNumber++;
266
- // }
267
- //
268
- // Object.assign(context, {
269
- // pageNumber
270
- // });
271
- // }
272
- //
273
- // createIndex(divisionMarkdownNodes, context) {
274
- // let indexCreated = false;
275
- //
276
- // const indexDirectiveDivisionTransform = this.findDivisionTransform(IndexDirectiveDivisionTransform, context);
277
- //
278
- // if (indexDirectiveDivisionTransform !== null) {
279
- // const divisionMarkdownNode = this, ///
280
- // indexTransform = IndexTransform.fromDivisionMarkdownNodesAndDivisionMarkdownNode(divisionMarkdownNodes, divisionMarkdownNode, context);
281
- //
282
- // if (indexTransform !== null) {
283
- // indexTransform.replaceIndexDirectiveSubdivisionTransform(indexDirectiveDivisionTransform, divisionMarkdownNode, context);
284
- //
285
- // indexCreated = true;
286
- // }
287
- // }
288
- //
289
- // return indexCreated;
290
- // }
291
- //
292
- // createContents(divisionMarkdownNodes, context) {
293
- // let contentsCreated = false;
294
- //
295
- // const contentsDirectiveDivisionTransform = this.findDivisionTransform(ContentsDirectiveDivisionTransform, context);
296
- //
297
- // if (contentsDirectiveDivisionTransform !== null) {
298
- // const divisionMarkdownNode = this, ///
299
- // contentsListTransform = ContentsListTransform.fromDivisionMarkdownNodesAndDivisionMarkdownNode(divisionMarkdownNodes, divisionMarkdownNode, context);
300
- //
301
- // if (contentsListTransform !== null) {
302
- // contentsListTransform.replaceContentsDirectiveSubdivisionTransform(contentsDirectiveDivisionTransform, divisionMarkdownNode, context);
303
- //
304
- // contentsCreated = true;
305
- // }
306
- // }
307
- //
308
- // return contentsCreated;
309
- // }
310
- //
311
- // createFootnotes(footnoteTransformMap, context) {
312
- // const footnotesDirectiveDivisionTransform = this.findDivisionTransform(FootnotesDirectiveDivisionTransform, context);
313
- //
314
- // if (footnotesDirectiveDivisionTransform !== null) {
315
- // const divisionMarkdownNode = this, ///
316
- // footnotesListDivisionTransform = FootnotesListTransform.fromDivisionMarkdownNodeAndFootnoteTransformMap(divisionMarkdownNode, footnoteTransformMap, context);
317
- //
318
- // if (footnotesListDivisionTransform !== null) {
319
- // footnotesListDivisionTransform.replaceFootnotesDirectiveDivisionTransform(footnotesDirectiveDivisionTransform, divisionMarkdownNode, context);
320
- // }
321
- //
322
- // renumberFootnoteLinkMarkdownNodes(divisionMarkdownNode, footnoteTransformMap, context);
323
- // }
324
- // }
325
- //
326
- // prepareFootnotes(footnoteTransformMap, context) {
327
- // const footnoteDivisionTransforms = this.removeDivisionMarkdownNodes(FootnoteDivisionTransform, context);
328
- //
329
- // footnoteDivisionTransforms.forEach((footnoteDivisionTransform) => {
330
- // const footnoteTransform = FootnoteTransform.fromFootnoteDivisionTransform(footnoteDivisionTransform),
331
- // identifier = footnoteDivisionTransform.identifier(context);
332
- //
333
- // footnoteTransformMap[identifier] = footnoteTransform;
334
- // });
335
- // }
336
- key: "findDivisionTransform",
337
- value: function findDivisionTransform(DivisionTransform, context) {
338
- var subDivisionTransform = null;
339
- var subDivisionMarkdownNodes = this.findDivisionMarkdownNodes();
340
- subDivisionMarkdownNodes.some(function(subDivisionMarkdownNode) {
341
- subDivisionTransform = DivisionTransform.fromDivisionMarkdownNode(subDivisionMarkdownNode, context);
342
- if (subDivisionTransform !== null) {
343
- return true;
344
- }
345
- });
346
- return subDivisionTransform;
347
- }
348
- },
349
- {
350
- key: "findDivisionTransforms",
351
- value: function findDivisionTransforms(DivisionTransform, context) {
352
- var subDivisionMarkdownNodes = this.findDivisionMarkdownNodes(), subDivisionTransforms = subDivisionMarkdownNodes.reduce(function(subDivisionTransforms, subDivisionMarkdownNode) {
353
- var subDivisionTransform = DivisionTransform.fromDivisionMarkdownNode(subDivisionMarkdownNode, context);
354
- if (subDivisionTransform !== null) {
355
- subDivisionTransforms.push(subDivisionTransform);
356
- }
357
- return subDivisionTransforms;
358
- }, []);
359
- return subDivisionTransforms;
360
- }
361
- },
362
- {
363
- key: "findPageNumberDirectiveMarkdownNode",
364
- value: function findPageNumberDirectiveMarkdownNode() {
365
- var pageNumberDirectiveMarkdownNode = null;
366
- var subDivisionMarkdownNodes = this.findDivisionMarkdownNodes();
367
- subDivisionMarkdownNodes.some(function(subDivisionMarkdownNode) {
368
- var node = subDivisionMarkdownNode; ///
369
- pageNumberDirectiveMarkdownNode = (0, _query.pageNumberDirectiveMarkdownNodeFromNode)(node);
370
- if (pageNumberDirectiveMarkdownNode !== null) {
371
- return true;
372
- }
373
- });
374
- return pageNumberDirectiveMarkdownNode;
375
- }
376
- },
377
197
  {
378
198
  key: "getSubDivisionMarkdownNodes",
379
199
  value: function getSubDivisionMarkdownNodes() {
380
- var node = this, subDivisionMarkdownNodes = (0, _query.subDivisionMarkdownNodesFromNode)(node);
200
+ var node = this, subDivisionMarkdownNodes = (0, _markdown1.subDivisionMarkdownNodesFromNode)(node);
381
201
  return subDivisionMarkdownNodes;
382
202
  }
383
203
  },
@@ -388,25 +208,6 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
388
208
  subDivisionMarkdownNodes.forEach(callback);
389
209
  }
390
210
  },
391
- {
392
- key: "removeSubDivisionMarkdownNode",
393
- value: function removeSubDivisionMarkdownNode(subDivisionMarkdownNode) {
394
- var childNode = subDivisionMarkdownNode; ///
395
- this.removeChildNode(childNode);
396
- }
397
- },
398
- {
399
- key: "createFootnotesListTransform",
400
- value: function createFootnotesListTransform(footnoteTransformMap, context) {
401
- var footnoteDivisionTransforms = this.findDivisionTransforms(_footnote1.default, context);
402
- footnoteDivisionTransforms.forEach(function(footnoteDivisionTransform) {
403
- var footnoteTransform = _footnote.default.fromFootnoteDivisionTransform(footnoteDivisionTransform), identifier = footnoteDivisionTransform.identifier(context);
404
- footnoteTransformMap[identifier] = footnoteTransform;
405
- });
406
- var divisionMarkdownNode = this, footnotesListDivisionTransform = _footnotesList.default.fromDivisionMarkdownNodeAndFootnoteTransformMap(divisionMarkdownNode, footnoteTransformMap, context);
407
- return footnotesListDivisionTransform;
408
- }
409
- },
410
211
  {
411
212
  key: "clone",
412
213
  value: function clone() {
@@ -442,4 +243,4 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
442
243
  // }
443
244
  (_markdown.default);
444
245
 
445
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL2RpdmlzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWFya2Rvd25Ob2RlIGZyb20gXCIuLi8uLi9ub2RlL21hcmtkb3duXCI7XG5pbXBvcnQgRm9vdG5vdGVUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9mb290bm90ZVwiO1xuaW1wb3J0IFN1YkRpdmlzaW9uVHJhbnNmb3JtIGZyb20gXCIuLi8uLi90cmFuc2Zvcm0vc3ViRGl2aXNpb25cIjtcbmltcG9ydCBGb290bm90ZXNMaXN0VHJhbnNmb3JtIGZyb20gXCIuLi8uLi90cmFuc2Zvcm0vZm9vdG5vdGVzTGlzdFwiO1xuaW1wb3J0IElnbm9yZURpcmVjdGl2ZVRyYW5zZm9ybSBmcm9tIFwiLi4vLi4vdHJhbnNmb3JtL2lnbm9yZURpcmVjdGl2ZVwiO1xuaW1wb3J0IEZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9zdWJEaXZpc2lvbi9mb290bm90ZVwiO1xuXG5pbXBvcnQgeyBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgICAgICAgIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICAgICAgICAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgICAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGl2aXNpb25NYXJrZG93bk5vZGUgZXh0ZW5kcyBNYXJrZG93bk5vZGUge1xuICBjb25zdHJ1Y3RvcihydWxlTmFtZSwgcGFyZW50Tm9kZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSwgZGl2aXNpb25DbGFzc05hbWUpIHtcbiAgICBzdXBlcihydWxlTmFtZSwgcGFyZW50Tm9kZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7XG5cbiAgICB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lID0gZGl2aXNpb25DbGFzc05hbWU7XG4gIH1cblxuICBnZXREaXZpc2lvbkNsYXNzTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5kaXZpc2lvbkNsYXNzTmFtZTtcbiAgfVxuXG4gIHNldERpdmlzaW9uQ2xhc3NOYW1lKGRpdmlzaW9uQ2xhc3NOYW1lKSB7XG4gICAgdGhpcy5kaXZpc2lvbkNsYXNzTmFtZSA9IGRpdmlzaW9uQ2xhc3NOYW1lO1xuICB9XG5cbiAgY2xhc3NOYW1lKGNvbnRleHQpIHtcbiAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lOyAvLy9cblxuICAgIHJldHVybiBjbGFzc05hbWU7XG4gIH1cblxuICBpc0lnbm9yZWQoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBpZ25vcmVkID0gKGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gaWdub3JlZDtcbiAgfVxuXG4gIHJlc29sdmVJZ25vcmVkKHRvcG1vc3RNYXJrZG93bk5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBpZ25vcmVkID0gdGhpcy5pc0lnbm9yZWQoKTtcblxuICAgIGlmICghaWdub3JlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGlnbm9yZURpcmVjdGl2ZVRyYW5zZm9ybSA9IElnbm9yZURpcmVjdGl2ZVRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGUoZGl2aXNpb25NYXJrZG93bk5vZGUpO1xuXG4gICAgaWdub3JlRGlyZWN0aXZlVHJhbnNmb3JtLnJlbW92ZUZyb21Ub3Btb3N0TWFya2Rvd25Ob2RlKHRvcG1vc3RNYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICB9XG5cbiAgcmVzb2x2ZUluY2x1ZGVzKHRvcG1vc3RNYXJrZG93bk5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzID0gaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBpbmNsdWRlRGlyZWN0aXZlVHJhbnNmb3JtcyA9IGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzLnJlZHVjZSgoaW5jbHVkZURpcmVjdGl2ZVRyYW5zZm9ybXMsIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluY2x1ZGVEaXJlY3RpdmVUcmFuc2Zvcm0gPSBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2RlLnJlc29sdmVJbmNsdWRlKGNvbnRleHQpO1xuXG4gICAgICAgICAgICBpZiAoaW5jbHVkZURpcmVjdGl2ZVRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBpbmNsdWRlRGlyZWN0aXZlVHJhbnNmb3Jtcy5wdXNoKGluY2x1ZGVEaXJlY3RpdmVUcmFuc2Zvcm0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gaW5jbHVkZURpcmVjdGl2ZVRyYW5zZm9ybXM7XG4gICAgICAgICAgfSwgW10pO1xuXG4gICAgaW5jbHVkZURpcmVjdGl2ZVRyYW5zZm9ybXMuZm9yRWFjaCgoaW5jbHVkZURpcmVjdGl2ZVRyYW5zZm9ybSkgPT4ge1xuICAgICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBpbmNsdWRlRGlyZWN0aXZlVHJhbnNmb3JtLmFwcGVuZFRvVG9wbW9zdE1hcmtkb3duTm9kZSh0b3Btb3N0TWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUucmVzb2x2ZUluY2x1ZGVzKHRvcG1vc3RNYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVzb2x2ZUVtYmVkZGluZ3MoY29udGV4dCkge1xuICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpczsgIC8vL1xuXG4gICAgdGhpcy5mb3JFYWNoU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoKHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICBjb25zdCBlbWJlZGRpbmdzUmVzb2x2ZWQgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZS5yZXNvbHZlRW1iZWRkaW5ncyhkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIGlmIChlbWJlZGRpbmdzUmVzb2x2ZWQpIHtcbiAgICAgICAgY29uc3Qgc3ViRGl2aXNpb25UcmFuc2Zvcm0gPSBTdWJEaXZpc2lvblRyYW5zZm9ybS5mcm9tU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUpXG5cbiAgICAgICAgc3ViRGl2aXNpb25UcmFuc2Zvcm0ucmVtb3ZlRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vIGdldFBhZ2VOdW1iZXIoKSB7XG4gIC8vICAgbGV0IHBhZ2VOdW1iZXIgPSBudWxsO1xuICAvL1xuICAvLyAgIGNvbnN0IHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSB0aGlzLmZpbmRQYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlKCk7XG4gIC8vXG4gIC8vICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgIT09IG51bGwpIHtcbiAgLy8gICAgIHBhZ2VOdW1iZXIgPSBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlLmdldFBhZ2VOdW1iZXIoKTtcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgcmV0dXJuIHBhZ2VOdW1iZXI7XG4gIC8vIH1cbiAgLy9cbiAgLy8gc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKSB7XG4gIC8vICAgY29uc3QgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IHRoaXMuZmluZFBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUoKTtcbiAgLy9cbiAgLy8gICBpZiAocGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSAhPT0gbnVsbCkge1xuICAvLyAgICAgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZS5zZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpO1xuICAvLyAgIH1cbiAgLy8gfVxuICAvL1xuICAvLyBwYWdpbmF0ZShtYXJrZG93bk5vZGVzLCBjb250ZXh0KSB7XG4gIC8vICAgY29uc3QgZm9vdG5vdGVzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0gPSB0aGlzLnJlbW92ZURpdmlzaW9uTWFya2Rvd25Ob2RlKEZvb3Rub3Rlc0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KSxcbiAgLy8gICAgICAgICBwYWdlTnVtYmVyRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0gPSB0aGlzLnJlbW92ZURpdmlzaW9uTWFya2Rvd25Ob2RlKFBhZ2VOdW1iZXJEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCksXG4gIC8vICAgICAgICAgc3ViRGl2aXNpb25UcmFuc2Zvcm1zID0gW1xuICAvLyAgICAgICAgICAgZm9vdG5vdGVzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sXG4gIC8vICAgICAgICAgICBwYWdlTnVtYmVyRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm1cbiAgLy8gICAgICAgICBdO1xuICAvL1xuICAvLyAgIGZpbHRlcihzdWJEaXZpc2lvblRyYW5zZm9ybXMsIChzdWJEaXZpc2lvblRyYW5zZm9ybSkgPT4ge1xuICAvLyAgICAgaWYgKHN1YkRpdmlzaW9uVHJhbnNmb3JtICE9PSBudWxsKSB7XG4gIC8vICAgICAgIHJldHVybiB0cnVlO1xuICAvLyAgICAgfVxuICAvLyAgIH0pO1xuICAvL1xuICAvLyAgIGNvbnN0IHsgbGluZXNQZXJQYWdlIH0gPSBjb250ZXh0LFxuICAvLyAgICAgICAgIHBhZ2luYXRlZENoaWxkTm9kZXMgPSBbXTtcbiAgLy9cbiAgLy8gICBsZXQgeyBwYWdlTnVtYmVyIH0gPSBjb250ZXh0LFxuICAvLyAgICAgICB0b3RhbExpbmVzID0gMDtcbiAgLy9cbiAgLy8gICB0aGlzLmZvckVhY2hDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAvLyAgICAgY29uc3QgbGluZXMgPSBjaGlsZE5vZGUubGluZXMoY29udGV4dCk7XG4gIC8vXG4gIC8vICAgICBpZiAoKHRvdGFsTGluZXMgKyBsaW5lcykgPiBsaW5lc1BlclBhZ2UpIHtcbiAgLy8gICAgICAgcGFnaW5hdGVEaXZpc2lvbk1hcmtkb3duTm9kZShwYWdpbmF0ZWRDaGlsZE5vZGVzLCBzdWJEaXZpc2lvblRyYW5zZm9ybXMsIHRoaXMuZGl2aXNpb25DbGFzc05hbWUsIG1hcmtkb3duTm9kZXMsIHBhZ2VOdW1iZXIsIGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgICBwYWdlTnVtYmVyKys7XG4gIC8vXG4gIC8vICAgICAgIHRvdGFsTGluZXMgPSAwO1xuICAvL1xuICAvLyAgICAgICBjbGVhcihwYWdpbmF0ZWRDaGlsZE5vZGVzKTtcbiAgLy8gICAgIH1cbiAgLy9cbiAgLy8gICAgIGNvbnN0IHBhZ2luYXRlZENoaWxkTm9kZSA9IGNoaWxkTm9kZTsgIC8vL1xuICAvL1xuICAvLyAgICAgcGFnaW5hdGVkQ2hpbGROb2Rlcy5wdXNoKHBhZ2luYXRlZENoaWxkTm9kZSk7XG4gIC8vXG4gIC8vICAgICB0b3RhbExpbmVzICs9IGxpbmVzO1xuICAvLyAgIH0pO1xuICAvL1xuICAvLyAgIGlmICh0b3RhbExpbmVzID4gMCkge1xuICAvLyAgICAgcGFnaW5hdGVEaXZpc2lvbk1hcmtkb3duTm9kZShwYWdpbmF0ZWRDaGlsZE5vZGVzLCBzdWJEaXZpc2lvblRyYW5zZm9ybXMsIHRoaXMuZGl2aXNpb25DbGFzc05hbWUsIG1hcmtkb3duTm9kZXMsIHBhZ2VOdW1iZXIsIGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgcGFnZU51bWJlcisrO1xuICAvLyAgIH1cbiAgLy9cbiAgLy8gICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgLy8gICAgIHBhZ2VOdW1iZXJcbiAgLy8gICB9KTtcbiAgLy8gfVxuICAvL1xuICAvLyBjcmVhdGVJbmRleChkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpIHtcbiAgLy8gICBsZXQgaW5kZXhDcmVhdGVkID0gZmFsc2U7XG4gIC8vXG4gIC8vICAgY29uc3QgaW5kZXhEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSA9IHRoaXMuZmluZERpdmlzaW9uVHJhbnNmb3JtKEluZGV4RGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpO1xuICAvL1xuICAvLyAgIGlmIChpbmRleERpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtICE9PSBudWxsKSB7XG4gIC8vICAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvLy9cbiAgLy8gICAgICAgICAgIGluZGV4VHJhbnNmb3JtID0gSW5kZXhUcmFuc2Zvcm0uZnJvbURpdmlzaW9uTWFya2Rvd25Ob2Rlc0FuZERpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgaWYgKGluZGV4VHJhbnNmb3JtICE9PSBudWxsKSB7XG4gIC8vICAgICAgIGluZGV4VHJhbnNmb3JtLnJlcGxhY2VJbmRleERpcmVjdGl2ZVN1YmRpdmlzaW9uVHJhbnNmb3JtKGluZGV4RGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgICAgaW5kZXhDcmVhdGVkID0gdHJ1ZTtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgcmV0dXJuIGluZGV4Q3JlYXRlZDtcbiAgLy8gfVxuICAvL1xuICAvLyBjcmVhdGVDb250ZW50cyhkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpIHtcbiAgLy8gICBsZXQgY29udGVudHNDcmVhdGVkID0gZmFsc2U7XG4gIC8vXG4gIC8vICAgY29uc3QgY29udGVudHNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSA9IHRoaXMuZmluZERpdmlzaW9uVHJhbnNmb3JtKENvbnRlbnRzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpO1xuICAvL1xuICAvLyAgIGlmIChjb250ZW50c0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtICE9PSBudWxsKSB7XG4gIC8vICAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvLy9cbiAgLy8gICAgICAgICAgIGNvbnRlbnRzTGlzdFRyYW5zZm9ybSA9IENvbnRlbnRzTGlzdFRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGVzQW5kRGl2aXNpb25NYXJrZG93bk5vZGUoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgICBpZiAoY29udGVudHNMaXN0VHJhbnNmb3JtICE9PSBudWxsKSB7XG4gIC8vICAgICAgIGNvbnRlbnRzTGlzdFRyYW5zZm9ybS5yZXBsYWNlQ29udGVudHNEaXJlY3RpdmVTdWJkaXZpc2lvblRyYW5zZm9ybShjb250ZW50c0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLCBkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgICAgIGNvbnRlbnRzQ3JlYXRlZCA9IHRydWU7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIHJldHVybiBjb250ZW50c0NyZWF0ZWQ7XG4gIC8vIH1cbiAgLy9cbiAgLy8gY3JlYXRlRm9vdG5vdGVzKGZvb3Rub3RlVHJhbnNmb3JtTWFwLCBjb250ZXh0KSB7XG4gIC8vICAgY29uc3QgZm9vdG5vdGVzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0gPSB0aGlzLmZpbmREaXZpc2lvblRyYW5zZm9ybShGb290bm90ZXNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgaWYgKGZvb3Rub3Rlc0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtICE9PSBudWxsKSB7XG4gIC8vICAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvLy9cbiAgLy8gICAgICAgICAgIGZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybSA9IEZvb3Rub3Rlc0xpc3RUcmFuc2Zvcm0uZnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlQW5kRm9vdG5vdGVUcmFuc2Zvcm1NYXAoZGl2aXNpb25NYXJrZG93bk5vZGUsIGZvb3Rub3RlVHJhbnNmb3JtTWFwLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgIGlmIChmb290bm90ZXNMaXN0RGl2aXNpb25UcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgLy8gICAgICAgZm9vdG5vdGVzTGlzdERpdmlzaW9uVHJhbnNmb3JtLnJlcGxhY2VGb290bm90ZXNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybShmb290bm90ZXNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSwgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAvLyAgICAgfVxuICAvL1xuICAvLyAgICAgcmVudW1iZXJGb290bm90ZUxpbmtNYXJrZG93bk5vZGVzKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBmb290bm90ZVRyYW5zZm9ybU1hcCwgY29udGV4dCk7XG4gIC8vICAgfVxuICAvLyB9XG4gIC8vXG4gIC8vIHByZXBhcmVGb290bm90ZXMoZm9vdG5vdGVUcmFuc2Zvcm1NYXAsIGNvbnRleHQpIHtcbiAgLy8gICBjb25zdCBmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtcyA9IHRoaXMucmVtb3ZlRGl2aXNpb25NYXJrZG93bk5vZGVzKEZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpO1xuICAvL1xuICAvLyAgIGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm1zLmZvckVhY2goKGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0pID0+IHtcbiAgLy8gICAgIGNvbnN0IGZvb3Rub3RlVHJhbnNmb3JtID0gRm9vdG5vdGVUcmFuc2Zvcm0uZnJvbUZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0oZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybSksXG4gIC8vICAgICAgICAgICBpZGVudGlmaWVyID0gZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybS5pZGVudGlmaWVyKGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgZm9vdG5vdGVUcmFuc2Zvcm1NYXBbaWRlbnRpZmllcl0gPSBmb290bm90ZVRyYW5zZm9ybTtcbiAgLy8gICB9KTtcbiAgLy8gfVxuXG4gIGZpbmREaXZpc2lvblRyYW5zZm9ybShEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCkge1xuICAgIGxldCBzdWJEaXZpc2lvblRyYW5zZm9ybSA9IG51bGw7XG5cbiAgICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmREaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcblxuICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5zb21lKChzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgc3ViRGl2aXNpb25UcmFuc2Zvcm0gPSBEaXZpc2lvblRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGUoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoc3ViRGl2aXNpb25UcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25UcmFuc2Zvcm07XG4gIH1cblxuICBmaW5kRGl2aXNpb25UcmFuc2Zvcm1zKERpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KSB7XG4gICAgY29uc3Qgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzID0gdGhpcy5maW5kRGl2aXNpb25NYXJrZG93bk5vZGVzKCksXG4gICAgICAgICAgc3ViRGl2aXNpb25UcmFuc2Zvcm1zID0gc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzLnJlZHVjZSgoc3ViRGl2aXNpb25UcmFuc2Zvcm1zLCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3ViRGl2aXNpb25UcmFuc2Zvcm0gPSBEaXZpc2lvblRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGUoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgICAgICBpZiAoc3ViRGl2aXNpb25UcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgc3ViRGl2aXNpb25UcmFuc2Zvcm1zLnB1c2goc3ViRGl2aXNpb25UcmFuc2Zvcm0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gc3ViRGl2aXNpb25UcmFuc2Zvcm1zO1xuICAgICAgICAgIH0sIFtdKTtcblxuICAgIHJldHVybiBzdWJEaXZpc2lvblRyYW5zZm9ybXM7XG4gIH1cblxuICBmaW5kUGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSgpIHtcbiAgICBsZXQgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IG51bGw7XG5cbiAgICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmREaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcblxuICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5zb21lKChzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlOyAvLy9cblxuICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKTtcblxuICAgICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbiAgfVxuXG4gIGdldFN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcygpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcyxcbiAgICAgICAgICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlKTtcblxuICAgIHJldHVybiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXM7XG4gIH1cblxuICBmb3JFYWNoU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoY2FsbGJhY2spIHtcbiAgICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmdldFN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcygpO1xuXG4gICAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzLmZvckVhY2goY2FsbGJhY2spO1xuICB9XG5cbiAgcmVtb3ZlU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUpIHtcbiAgICBjb25zdCBjaGlsZE5vZGUgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZTsgIC8vL1xuXG4gICAgdGhpcy5yZW1vdmVDaGlsZE5vZGUoY2hpbGROb2RlKTtcbiAgfVxuXG4gIGNyZWF0ZUZvb3Rub3Rlc0xpc3RUcmFuc2Zvcm0oZm9vdG5vdGVUcmFuc2Zvcm1NYXAsIGNvbnRleHQpIHtcbiAgICBjb25zdCBmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtcyA9IHRoaXMuZmluZERpdmlzaW9uVHJhbnNmb3JtcyhGb290bm90ZURpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KTtcblxuICAgIGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm1zLmZvckVhY2goKGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0pID0+IHtcbiAgICAgIGNvbnN0IGZvb3Rub3RlVHJhbnNmb3JtID0gRm9vdG5vdGVUcmFuc2Zvcm0uZnJvbUZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0oZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybSksXG4gICAgICAgICAgICBpZGVudGlmaWVyID0gZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybS5pZGVudGlmaWVyKGNvbnRleHQpO1xuXG4gICAgICBmb290bm90ZVRyYW5zZm9ybU1hcFtpZGVudGlmaWVyXSA9IGZvb3Rub3RlVHJhbnNmb3JtO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgZm9vdG5vdGVzTGlzdERpdmlzaW9uVHJhbnNmb3JtID0gRm9vdG5vdGVzTGlzdFRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGVBbmRGb290bm90ZVRyYW5zZm9ybU1hcChkaXZpc2lvbk1hcmtkb3duTm9kZSwgZm9vdG5vdGVUcmFuc2Zvcm1NYXAsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybTtcbiAgfVxuXG4gIGNsb25lKCkgeyByZXR1cm4gc3VwZXIuY2xvbmUodGhpcy5kaXZpc2lvbkNsYXNzTmFtZSk7IH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHkpIHtcbiAgICBjb25zdCBkaXZpc2lvbkNsYXNzTmFtZSA9IG51bGwsXG4gICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBNYXJrZG93bk5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoRGl2aXNpb25NYXJrZG93bk5vZGUsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBkaXZpc2lvbkNsYXNzTmFtZSk7XG5cbiAgICByZXR1cm4gZGl2aXNpb25NYXJrZG93bk5vZGU7XG4gIH1cbn1cblxuLy8gZnVuY3Rpb24gcGFnaW5hdGVEaXZpc2lvbk1hcmtkb3duTm9kZShwYWdpbmF0ZWRDaGlsZE5vZGVzLCBzdWJEaXZpc2lvblRyYW5zZm9ybXMsIGRpdmlzaW9uQ2xhc3NOYW1lLCBtYXJrZG93bk5vZGVzLCBwYWdlTnVtYmVyLCBjb250ZXh0KSB7XG4vLyAgIGxldCBtYXJrZG93bk5vZGU7XG4vL1xuLy8gICBjb25zdCBpbmRleEFuY2hvclRyYW5zZm9ybSA9IEluZGV4QW5jaG9yVHJhbnNmb3JtLmZyb21QYWdlTnVtYmVyKHBhZ2VOdW1iZXIsIGNvbnRleHQpLFxuLy8gICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IERpdmlzaW9uTWFya2Rvd25Ob2RlLmZyb21QYWdpbmF0ZWRDaGlsZE5vZGVzRGl2aXNpb25UcmFuc2Zvcm1zQW5kRGl2aXNpb25DbGFzc05hbWUocGFnaW5hdGVkQ2hpbGROb2Rlcywgc3ViRGl2aXNpb25UcmFuc2Zvcm1zLCBkaXZpc2lvbkNsYXNzTmFtZSwgY29udGV4dCksXG4vLyAgICAgICAgIGFuY2hvck1hcmtkb3duTm9kZSA9IGluZGV4QW5jaG9yVHJhbnNmb3JtLmdldEFuY2hvck1hcmtkb3duTm9kZSgpO1xuLy9cbi8vICAgZGl2aXNpb25NYXJrZG93bk5vZGUuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKTtcbi8vXG4vLyAgIG1hcmtkb3duTm9kZSA9IGFuY2hvck1hcmtkb3duTm9kZTsgIC8vL1xuLy9cbi8vICAgbWFya2Rvd25Ob2Rlcy5wdXNoKG1hcmtkb3duTm9kZSk7XG4vL1xuLy8gICBtYXJrZG93bk5vZGUgPSBkaXZpc2lvbk1hcmtkb3duTm9kZTsgLy8vXG4vL1xuLy8gICBtYXJrZG93bk5vZGVzLnB1c2gobWFya2Rvd25Ob2RlKTtcbi8vIH0iXSwibmFtZXMiOlsiRGl2aXNpb25NYXJrZG93bk5vZGUiLCJydWxlTmFtZSIsInBhcmVudE5vZGUiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiLCJkaXZpc2lvbkNsYXNzTmFtZSIsImdldERpdmlzaW9uQ2xhc3NOYW1lIiwic2V0RGl2aXNpb25DbGFzc05hbWUiLCJjbGFzc05hbWUiLCJjb250ZXh0IiwiaXNJZ25vcmVkIiwibm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiaWdub3JlZCIsInJlc29sdmVJZ25vcmVkIiwidG9wbW9zdE1hcmtkb3duTm9kZSIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiaWdub3JlRGlyZWN0aXZlVHJhbnNmb3JtIiwiSWdub3JlRGlyZWN0aXZlVHJhbnNmb3JtIiwiZnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlIiwicmVtb3ZlRnJvbVRvcG1vc3RNYXJrZG93bk5vZGUiLCJyZXNvbHZlSW5jbHVkZXMiLCJpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyIsImluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJpbmNsdWRlRGlyZWN0aXZlVHJhbnNmb3JtcyIsInJlZHVjZSIsImluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJpbmNsdWRlRGlyZWN0aXZlVHJhbnNmb3JtIiwicmVzb2x2ZUluY2x1ZGUiLCJwdXNoIiwiZm9yRWFjaCIsImFwcGVuZFRvVG9wbW9zdE1hcmtkb3duTm9kZSIsInJlc29sdmVFbWJlZGRpbmdzIiwiZm9yRWFjaFN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJlbWJlZGRpbmdzUmVzb2x2ZWQiLCJzdWJEaXZpc2lvblRyYW5zZm9ybSIsIlN1YkRpdmlzaW9uVHJhbnNmb3JtIiwiZnJvbVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlIiwicmVtb3ZlRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlIiwiZmluZERpdmlzaW9uVHJhbnNmb3JtIiwiRGl2aXNpb25UcmFuc2Zvcm0iLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJmaW5kRGl2aXNpb25NYXJrZG93bk5vZGVzIiwic29tZSIsImZpbmREaXZpc2lvblRyYW5zZm9ybXMiLCJzdWJEaXZpc2lvblRyYW5zZm9ybXMiLCJmaW5kUGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSIsInBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJnZXRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImNhbGxiYWNrIiwicmVtb3ZlU3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJjaGlsZE5vZGUiLCJyZW1vdmVDaGlsZE5vZGUiLCJjcmVhdGVGb290bm90ZXNMaXN0VHJhbnNmb3JtIiwiZm9vdG5vdGVUcmFuc2Zvcm1NYXAiLCJmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtcyIsIkZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0iLCJmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtIiwiZm9vdG5vdGVUcmFuc2Zvcm0iLCJGb290bm90ZVRyYW5zZm9ybSIsImZyb21Gb290bm90ZURpdmlzaW9uVHJhbnNmb3JtIiwiaWRlbnRpZmllciIsImZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybSIsIkZvb3Rub3Rlc0xpc3RUcmFuc2Zvcm0iLCJmcm9tRGl2aXNpb25NYXJrZG93bk5vZGVBbmRGb290bm90ZVRyYW5zZm9ybU1hcCIsImNsb25lIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkiLCJNYXJrZG93bk5vZGUiXSwibWFwcGlu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
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL2RpdmlzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWFya2Rvd25Ob2RlIGZyb20gXCIuLi8uLi9ub2RlL21hcmtkb3duXCI7XG5pbXBvcnQgSWdub3JlRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9tYXJrZG93bi9kaXJlY3RpdmUvaWdub3JlXCI7XG5cbmltcG9ydCB7IGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSwgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvbWFya2Rvd25cIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGl2aXNpb25NYXJrZG93bk5vZGUgZXh0ZW5kcyBNYXJrZG93bk5vZGUge1xuICAvLyBnZXRQYWdlTnVtYmVyKCkge1xuICAvLyAgIGxldCBwYWdlTnVtYmVyID0gbnVsbDtcbiAgLy9cbiAgLy8gICBjb25zdCBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gdGhpcy5maW5kUGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSgpO1xuICAvL1xuICAvLyAgIGlmIChwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlICE9PSBudWxsKSB7XG4gIC8vICAgICBwYWdlTnVtYmVyID0gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZS5nZXRQYWdlTnVtYmVyKCk7XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIHJldHVybiBwYWdlTnVtYmVyO1xuICAvLyB9XG4gIC8vXG4gIC8vIHNldFBhZ2VOdW1iZXIocGFnZU51bWJlcikge1xuICAvLyAgIGNvbnN0IHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSB0aGlzLmZpbmRQYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlKCk7XG4gIC8vXG4gIC8vICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgIT09IG51bGwpIHtcbiAgLy8gICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKTtcbiAgLy8gICB9XG4gIC8vIH1cbiAgLy9cbiAgLy8gcGFnaW5hdGUobWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICAvLyAgIGNvbnN0IGZvb3Rub3Rlc0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtID0gdGhpcy5yZW1vdmVEaXZpc2lvbk1hcmtkb3duTm9kZShGb290bm90ZXNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCksXG4gIC8vICAgICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtID0gdGhpcy5yZW1vdmVEaXZpc2lvbk1hcmtkb3duTm9kZShQYWdlTnVtYmVyRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpLFxuICAvLyAgICAgICAgIHN1YkRpdmlzaW9uVHJhbnNmb3JtcyA9IFtcbiAgLy8gICAgICAgICAgIGZvb3Rub3Rlc0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLFxuICAvLyAgICAgICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtXG4gIC8vICAgICAgICAgXTtcbiAgLy9cbiAgLy8gICBmaWx0ZXIoc3ViRGl2aXNpb25UcmFuc2Zvcm1zLCAoc3ViRGl2aXNpb25UcmFuc2Zvcm0pID0+IHtcbiAgLy8gICAgIGlmIChzdWJEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgICByZXR1cm4gdHJ1ZTtcbiAgLy8gICAgIH1cbiAgLy8gICB9KTtcbiAgLy9cbiAgLy8gICBjb25zdCB7IGxpbmVzUGVyUGFnZSB9ID0gY29udGV4dCxcbiAgLy8gICAgICAgICBwYWdpbmF0ZWRDaGlsZE5vZGVzID0gW107XG4gIC8vXG4gIC8vICAgbGV0IHsgcGFnZU51bWJlciB9ID0gY29udGV4dCxcbiAgLy8gICAgICAgdG90YWxMaW5lcyA9IDA7XG4gIC8vXG4gIC8vICAgdGhpcy5mb3JFYWNoQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgLy8gICAgIGNvbnN0IGxpbmVzID0gY2hpbGROb2RlLmxpbmVzKGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgaWYgKCh0b3RhbExpbmVzICsgbGluZXMpID4gbGluZXNQZXJQYWdlKSB7XG4gIC8vICAgICAgIHBhZ2luYXRlRGl2aXNpb25NYXJrZG93bk5vZGUocGFnaW5hdGVkQ2hpbGROb2Rlcywgc3ViRGl2aXNpb25UcmFuc2Zvcm1zLCB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lLCBtYXJrZG93bk5vZGVzLCBwYWdlTnVtYmVyLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgICAgcGFnZU51bWJlcisrO1xuICAvL1xuICAvLyAgICAgICB0b3RhbExpbmVzID0gMDtcbiAgLy9cbiAgLy8gICAgICAgY2xlYXIocGFnaW5hdGVkQ2hpbGROb2Rlcyk7XG4gIC8vICAgICB9XG4gIC8vXG4gIC8vICAgICBjb25zdCBwYWdpbmF0ZWRDaGlsZE5vZGUgPSBjaGlsZE5vZGU7ICAvLy9cbiAgLy9cbiAgLy8gICAgIHBhZ2luYXRlZENoaWxkTm9kZXMucHVzaChwYWdpbmF0ZWRDaGlsZE5vZGUpO1xuICAvL1xuICAvLyAgICAgdG90YWxMaW5lcyArPSBsaW5lcztcbiAgLy8gICB9KTtcbiAgLy9cbiAgLy8gICBpZiAodG90YWxMaW5lcyA+IDApIHtcbiAgLy8gICAgIHBhZ2luYXRlRGl2aXNpb25NYXJrZG93bk5vZGUocGFnaW5hdGVkQ2hpbGROb2Rlcywgc3ViRGl2aXNpb25UcmFuc2Zvcm1zLCB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lLCBtYXJrZG93bk5vZGVzLCBwYWdlTnVtYmVyLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgIHBhZ2VOdW1iZXIrKztcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gIC8vICAgICBwYWdlTnVtYmVyXG4gIC8vICAgfSk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gY3JlYXRlSW5kZXgoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBjb250ZXh0KSB7XG4gIC8vICAgbGV0IGluZGV4Q3JlYXRlZCA9IGZhbHNlO1xuICAvL1xuICAvLyAgIGNvbnN0IGluZGV4RGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0gPSB0aGlzLmZpbmREaXZpc2lvblRyYW5zZm9ybShJbmRleERpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICBpZiAoaW5kZXhEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gIC8vICAgICAgICAgICBpbmRleFRyYW5zZm9ybSA9IEluZGV4VHJhbnNmb3JtLmZyb21EaXZpc2lvbk1hcmtkb3duTm9kZXNBbmREaXZpc2lvbk1hcmtkb3duTm9kZShkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgIGlmIChpbmRleFRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgICBpbmRleFRyYW5zZm9ybS5yZXBsYWNlSW5kZXhEaXJlY3RpdmVTdWJkaXZpc2lvblRyYW5zZm9ybShpbmRleERpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLCBkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgICAgIGluZGV4Q3JlYXRlZCA9IHRydWU7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIHJldHVybiBpbmRleENyZWF0ZWQ7XG4gIC8vIH1cbiAgLy9cbiAgLy8gY3JlYXRlQ29udGVudHMoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBjb250ZXh0KSB7XG4gIC8vICAgbGV0IGNvbnRlbnRzQ3JlYXRlZCA9IGZhbHNlO1xuICAvL1xuICAvLyAgIGNvbnN0IGNvbnRlbnRzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0gPSB0aGlzLmZpbmREaXZpc2lvblRyYW5zZm9ybShDb250ZW50c0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICBpZiAoY29udGVudHNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gIC8vICAgICAgICAgICBjb250ZW50c0xpc3RUcmFuc2Zvcm0gPSBDb250ZW50c0xpc3RUcmFuc2Zvcm0uZnJvbURpdmlzaW9uTWFya2Rvd25Ob2Rlc0FuZERpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgaWYgKGNvbnRlbnRzTGlzdFRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgICBjb250ZW50c0xpc3RUcmFuc2Zvcm0ucmVwbGFjZUNvbnRlbnRzRGlyZWN0aXZlU3ViZGl2aXNpb25UcmFuc2Zvcm0oY29udGVudHNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSwgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgICBjb250ZW50c0NyZWF0ZWQgPSB0cnVlO1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy9cbiAgLy8gICByZXR1cm4gY29udGVudHNDcmVhdGVkO1xuICAvLyB9XG4gIC8vXG4gIC8vIGNyZWF0ZUZvb3Rub3Rlcyhmb290bm90ZVRyYW5zZm9ybU1hcCwgY29udGV4dCkge1xuICAvLyAgIGNvbnN0IGZvb3Rub3Rlc0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtID0gdGhpcy5maW5kRGl2aXNpb25UcmFuc2Zvcm0oRm9vdG5vdGVzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpO1xuICAvL1xuICAvLyAgIGlmIChmb290bm90ZXNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gIC8vICAgICAgICAgICBmb290bm90ZXNMaXN0RGl2aXNpb25UcmFuc2Zvcm0gPSBGb290bm90ZXNMaXN0VHJhbnNmb3JtLmZyb21EaXZpc2lvbk1hcmtkb3duTm9kZUFuZEZvb3Rub3RlVHJhbnNmb3JtTWFwKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBmb290bm90ZVRyYW5zZm9ybU1hcCwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgICBpZiAoZm9vdG5vdGVzTGlzdERpdmlzaW9uVHJhbnNmb3JtICE9PSBudWxsKSB7XG4gIC8vICAgICAgIGZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybS5yZXBsYWNlRm9vdG5vdGVzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0oZm9vdG5vdGVzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgLy8gICAgIH1cbiAgLy9cbiAgLy8gICAgIHJlbnVtYmVyRm9vdG5vdGVMaW5rTWFya2Rvd25Ob2RlcyhkaXZpc2lvbk1hcmtkb3duTm9kZSwgZm9vdG5vdGVUcmFuc2Zvcm1NYXAsIGNvbnRleHQpO1xuICAvLyAgIH1cbiAgLy8gfVxuICAvL1xuICAvLyBwcmVwYXJlRm9vdG5vdGVzKGZvb3Rub3RlVHJhbnNmb3JtTWFwLCBjb250ZXh0KSB7XG4gIC8vICAgY29uc3QgZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybXMgPSB0aGlzLnJlbW92ZURpdmlzaW9uTWFya2Rvd25Ob2RlcyhGb290bm90ZURpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICBmb290bm90ZURpdmlzaW9uVHJhbnNmb3Jtcy5mb3JFYWNoKChmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtKSA9PiB7XG4gIC8vICAgICBjb25zdCBmb290bm90ZVRyYW5zZm9ybSA9IEZvb3Rub3RlVHJhbnNmb3JtLmZyb21Gb290bm90ZURpdmlzaW9uVHJhbnNmb3JtKGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0pLFxuICAvLyAgICAgICAgICAgaWRlbnRpZmllciA9IGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0uaWRlbnRpZmllcihjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgIGZvb3Rub3RlVHJhbnNmb3JtTWFwW2lkZW50aWZpZXJdID0gZm9vdG5vdGVUcmFuc2Zvcm07XG4gIC8vICAgfSk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gZmluZERpdmlzaW9uVHJhbnNmb3JtKERpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KSB7XG4gIC8vICAgbGV0IHN1YkRpdmlzaW9uVHJhbnNmb3JtID0gbnVsbDtcbiAgLy9cbiAgLy8gICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmREaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcbiAgLy9cbiAgLy8gICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMuc29tZSgoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgLy8gICAgIHN1YkRpdmlzaW9uVHJhbnNmb3JtID0gRGl2aXNpb25UcmFuc2Zvcm0uZnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlKHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgIGlmIChzdWJEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgICByZXR1cm4gdHJ1ZTtcbiAgLy8gICAgIH1cbiAgLy8gICB9KTtcbiAgLy9cbiAgLy8gICByZXR1cm4gc3ViRGl2aXNpb25UcmFuc2Zvcm07XG4gIC8vIH1cbiAgLy9cbiAgLy8gZmluZERpdmlzaW9uVHJhbnNmb3JtcyhEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCkge1xuICAvLyAgIGNvbnN0IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IHRoaXMuZmluZERpdmlzaW9uTWFya2Rvd25Ob2RlcygpLFxuICAvLyAgICAgICAgIHN1YkRpdmlzaW9uVHJhbnNmb3JtcyA9IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5yZWR1Y2UoKHN1YkRpdmlzaW9uVHJhbnNmb3Jtcywgc3ViRGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgLy8gICAgICAgICAgIGNvbnN0IHN1YkRpdmlzaW9uVHJhbnNmb3JtID0gRGl2aXNpb25UcmFuc2Zvcm0uZnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlKHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgICAgICAgIGlmIChzdWJEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgICAgICAgICBzdWJEaXZpc2lvblRyYW5zZm9ybXMucHVzaChzdWJEaXZpc2lvblRyYW5zZm9ybSk7XG4gIC8vICAgICAgICAgICB9XG4gIC8vXG4gIC8vICAgICAgICAgICByZXR1cm4gc3ViRGl2aXNpb25UcmFuc2Zvcm1zO1xuICAvLyAgICAgICAgIH0sIFtdKTtcbiAgLy9cbiAgLy8gICByZXR1cm4gc3ViRGl2aXNpb25UcmFuc2Zvcm1zO1xuICAvLyB9XG4gIC8vXG4gIC8vIGZpbmRQYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlKCkge1xuICAvLyAgIGxldCBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbnVsbDtcbiAgLy9cbiAgLy8gICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmREaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcbiAgLy9cbiAgLy8gICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMuc29tZSgoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgLy8gICAgIGNvbnN0IG5vZGUgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZTsgLy8vXG4gIC8vXG4gIC8vICAgICBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpO1xuICAvL1xuICAvLyAgICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgIT09IG51bGwpIHtcbiAgLy8gICAgICAgcmV0dXJuIHRydWU7XG4gIC8vICAgICB9XG4gIC8vICAgfSk7XG4gIC8vXG4gIC8vICAgcmV0dXJuIHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG4gIC8vIH1cbiAgLy9cbiAgLy8gcmVtb3ZlU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUpIHtcbiAgLy8gICBjb25zdCBjaGlsZE5vZGUgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZTsgIC8vL1xuICAvL1xuICAvLyAgIHRoaXMucmVtb3ZlQ2hpbGROb2RlKGNoaWxkTm9kZSk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gY3JlYXRlRm9vdG5vdGVzTGlzdFRyYW5zZm9ybShmb290bm90ZVRyYW5zZm9ybU1hcCwgY29udGV4dCkge1xuICAvLyAgIGNvbnN0IGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm1zID0gdGhpcy5maW5kRGl2aXNpb25UcmFuc2Zvcm1zKEZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpO1xuICAvL1xuICAvLyAgIGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm1zLmZvckVhY2goKGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0pID0+IHtcbiAgLy8gICAgIGNvbnN0IGZvb3Rub3RlVHJhbnNmb3JtID0gRm9vdG5vdGVUcmFuc2Zvcm0uZnJvbUZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0oZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybSksXG4gIC8vICAgICAgICAgICBpZGVudGlmaWVyID0gZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybS5pZGVudGlmaWVyKGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgZm9vdG5vdGVUcmFuc2Zvcm1NYXBbaWRlbnRpZmllcl0gPSBmb290bm90ZVRyYW5zZm9ybTtcbiAgLy8gICB9KTtcbiAgLy9cbiAgLy8gICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvLy9cbiAgLy8gICAgICAgICBmb290bm90ZXNMaXN0RGl2aXNpb25UcmFuc2Zvcm0gPSBGb290bm90ZXNMaXN0VHJhbnNmb3JtLmZyb21EaXZpc2lvbk1hcmtkb3duTm9kZUFuZEZvb3Rub3RlVHJhbnNmb3JtTWFwKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBmb290bm90ZVRyYW5zZm9ybU1hcCwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgcmV0dXJuIGZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybTtcbiAgLy8gfVxuXG4gIGNvbnN0cnVjdG9yKHJ1bGVOYW1lLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlLCBkaXZpc2lvbkNsYXNzTmFtZSkge1xuICAgIHN1cGVyKHJ1bGVOYW1lLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKTtcblxuICAgIHRoaXMuZGl2aXNpb25DbGFzc05hbWUgPSBkaXZpc2lvbkNsYXNzTmFtZTtcbiAgfVxuXG4gIGdldERpdmlzaW9uQ2xhc3NOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lO1xuICB9XG5cbiAgc2V0RGl2aXNpb25DbGFzc05hbWUoZGl2aXNpb25DbGFzc05hbWUpIHtcbiAgICB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lID0gZGl2aXNpb25DbGFzc05hbWU7XG4gIH1cblxuICBpc0lnbm9yZWQoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBpZ25vcmVkID0gKGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gaWdub3JlZDtcbiAgfVxuXG4gIGNsYXNzTmFtZShjb250ZXh0KSB7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gdGhpcy5kaXZpc2lvbkNsYXNzTmFtZTsgLy8vXG5cbiAgICByZXR1cm4gY2xhc3NOYW1lO1xuICB9XG5cbiAgcmVzb2x2ZUlnbm9yZWQodG9wbW9zdE1hcmtkb3duTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IGlnbm9yZWQgPSB0aGlzLmlzSWdub3JlZCgpO1xuXG4gICAgaWYgKCFpZ25vcmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm0gPSBJZ25vcmVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGUoZGl2aXNpb25NYXJrZG93bk5vZGUpO1xuXG4gICAgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm0ucmVtb3ZlRnJvbVRvcG1vc3RNYXJrZG93bk5vZGUodG9wbW9zdE1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gIH1cblxuICByZXNvbHZlSW5jbHVkZXModG9wbW9zdE1hcmtkb3duTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMgPSBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUpLFxuICAgICAgICAgIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybXMgPSBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcy5yZWR1Y2UoKGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybXMsIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybSA9IGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGUucmVzb2x2ZUluY2x1ZGUoY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duVHJhbnNmb3Jtcy5wdXNoKGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm1zO1xuICAgICAgICAgIH0sIFtdKTtcblxuICAgIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybXMuZm9yRWFjaCgoaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duVHJhbnNmb3JtKSA9PiB7XG4gICAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybS5hcHBlbmRUb1RvcG1vc3RNYXJrZG93bk5vZGUodG9wbW9zdE1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlLnJlc29sdmVJbmNsdWRlcyh0b3Btb3N0TWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlc29sdmVFbWJlZGRpbmdzKGNvbnRleHQpIHtcbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXM7ICAvLy9cblxuICAgIHRoaXMuZm9yRWFjaFN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKChzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgY29uc3QgZW1iZWRkaW5nc1Jlc29sdmVkID0gc3ViRGl2aXNpb25NYXJrZG93bk5vZGUucmVzb2x2ZUVtYmVkZGluZ3MoZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoZW1iZWRkaW5nc1Jlc29sdmVkKSB7XG4gICAgICAgIGNvbnN0IHN1YkRpdmlzaW9uVHJhbnNmb3JtID0gU3ViRGl2aXNpb25UcmFuc2Zvcm0uZnJvbVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKVxuXG4gICAgICAgIHN1YkRpdmlzaW9uVHJhbnNmb3JtLnJlbW92ZUZyb21EaXZpc2lvbk1hcmtkb3duTm9kZShkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMsXG4gICAgICAgICAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzID0gc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSk7XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzO1xuICB9XG5cbiAgZm9yRWFjaFN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKGNhbGxiYWNrKSB7XG4gICAgY29uc3Qgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzID0gdGhpcy5nZXRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcblxuICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5mb3JFYWNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIGNsb25lKCkgeyByZXR1cm4gc3VwZXIuY2xvbmUodGhpcy5kaXZpc2lvbkNsYXNzTmFtZSk7IH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHkpIHtcbiAgICBjb25zdCBkaXZpc2lvbkNsYXNzTmFtZSA9IG51bGwsXG4gICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBNYXJrZG93bk5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoRGl2aXNpb25NYXJrZG93bk5vZGUsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBkaXZpc2lvbkNsYXNzTmFtZSk7XG5cbiAgICByZXR1cm4gZGl2aXNpb25NYXJrZG93bk5vZGU7XG4gIH1cbn1cblxuLy8gZnVuY3Rpb24gcGFnaW5hdGVEaXZpc2lvbk1hcmtkb3duTm9kZShwYWdpbmF0ZWRDaGlsZE5vZGVzLCBzdWJEaXZpc2lvblRyYW5zZm9ybXMsIGRpdmlzaW9uQ2xhc3NOYW1lLCBtYXJrZG93bk5vZGVzLCBwYWdlTnVtYmVyLCBjb250ZXh0KSB7XG4vLyAgIGxldCBtYXJrZG93bk5vZGU7XG4vL1xuLy8gICBjb25zdCBpbmRleEFuY2hvclRyYW5zZm9ybSA9IEluZGV4QW5jaG9yVHJhbnNmb3JtLmZyb21QYWdlTnVtYmVyKHBhZ2VOdW1iZXIsIGNvbnRleHQpLFxuLy8gICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IERpdmlzaW9uTWFya2Rvd25Ob2RlLmZyb21QYWdpbmF0ZWRDaGlsZE5vZGVzRGl2aXNpb25UcmFuc2Zvcm1zQW5kRGl2aXNpb25DbGFzc05hbWUocGFnaW5hdGVkQ2hpbGROb2Rlcywgc3ViRGl2aXNpb25UcmFuc2Zvcm1zLCBkaXZpc2lvbkNsYXNzTmFtZSwgY29udGV4dCksXG4vLyAgICAgICAgIGFuY2hvck1hcmtkb3duTm9kZSA9IGluZGV4QW5jaG9yVHJhbnNmb3JtLmdldEFuY2hvck1hcmtkb3duTm9kZSgpO1xuLy9cbi8vICAgZGl2aXNpb25NYXJrZG93bk5vZGUuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKTtcbi8vXG4vLyAgIG1hcmtkb3duTm9kZSA9IGFuY2hvck1hcmtkb3duTm9kZTsgIC8vL1xuLy9cbi8vICAgbWFya2Rvd25Ob2Rlcy5wdXNoKG1hcmtkb3duTm9kZSk7XG4vL1xuLy8gICBtYXJrZG93bk5vZGUgPSBkaXZpc2lvbk1hcmtkb3duTm9kZTsgLy8vXG4vL1xuLy8gICBtYXJrZG93bk5vZGVzLnB1c2gobWFya2Rvd25Ob2RlKTtcbi8vIH0iXSwibmFtZXMiOlsiRGl2aXNpb25NYXJrZG93bk5vZGUiLCJydWxlTmFtZSIsInBhcmVudE5vZGUiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiLCJkaXZpc2lvbkNsYXNzTmFtZSIsImdldERpdmlzaW9uQ2xhc3NOYW1lIiwic2V0RGl2aXNpb25DbGFzc05hbWUiLCJpc0lnbm9yZWQiLCJub2RlIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJpZ25vcmVkIiwiY2xhc3NOYW1lIiwiY29udGV4dCIsInJlc29sdmVJZ25vcmVkIiwidG9wbW9zdE1hcmtkb3duTm9kZSIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm0iLCJJZ25vcmVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybSIsImZyb21EaXZpc2lvbk1hcmtkb3duTm9kZSIsInJlbW92ZUZyb21Ub3Btb3N0TWFya2Rvd25Ob2RlIiwicmVzb2x2ZUluY2x1ZGVzIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMiLCJpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duVHJhbnNmb3JtcyIsInJlZHVjZSIsImluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm0iLCJyZXNvbHZlSW5jbHVkZSIsInB1c2giLCJmb3JFYWNoIiwiYXBwZW5kVG9Ub3Btb3N0TWFya2Rvd25Ob2RlIiwicmVzb2x2ZUVtYmVkZGluZ3MiLCJmb3JFYWNoU3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSIsImVtYmVkZGluZ3NSZXNvbHZlZCIsInN1YkRpdmlzaW9uVHJhbnNmb3JtIiwiU3ViRGl2aXNpb25UcmFuc2Zvcm0iLCJmcm9tU3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJyZW1vdmVGcm9tRGl2aXNpb25NYXJrZG93bk5vZGUiLCJnZXRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImNhbGxiYWNrIiwiY2xvbmUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eSIsIk1hcmtkb3duTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFPcUJBOzs7K0RBTEk7NkRBQ29CO3lCQUVnRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTlHLElBQUEsQUFBTUEscUNBQU47Y0FBTUE7YUFBQUEscUJBK01QQyxRQUFRLEVBQUVDLFVBQVUsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsaUJBQWlCO2dDQS9NakVOOztnQkFnTmpCLGtCQWhOaUJBO1lBZ05YQztZQUFVQztZQUFZQztZQUFZQztZQUFTQzs7UUFFakQsTUFBS0MsaUJBQWlCLEdBQUdBOzs7a0JBbE5STjs7WUFxTm5CTyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNELGlCQUFpQjtZQUMvQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxxQkFBcUJGLGlCQUFpQjtnQkFDcEMsSUFBSSxDQUFDQSxpQkFBaUIsR0FBR0E7WUFDM0I7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsT0FBTyxJQUFJLEVBQ1hDLDhCQUE4QkMsSUFBQUEsOENBQW1DLEVBQUNGLE9BQ2xFRyxVQUFXRixnQ0FBZ0M7Z0JBRWpE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
@@ -10,10 +10,7 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _necessary = require("necessary");
12
12
  var _markdown = /*#__PURE__*/ _interop_require_default(require("../../node/markdown"));
13
- var _footnote = /*#__PURE__*/ _interop_require_default(require("../../transform/footnote"));
14
- var _footnotesList = /*#__PURE__*/ _interop_require_default(require("../../transform/footnotesList"));
15
- var _footnote1 = /*#__PURE__*/ _interop_require_default(require("../../transform/subDivision/footnote"));
16
- var _query = require("../../utilities/query");
13
+ var _markdown1 = require("../../utilities/markdown");
17
14
  function _assert_this_initialized(self) {
18
15
  if (self === void 0) {
19
16
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -104,16 +101,16 @@ var SubDivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
104
101
  key: "resolveEmbeddings",
105
102
  value: function resolveEmbeddings(divisionMarkdownNode, context) {
106
103
  var embeddingsResolved = false;
107
- var node = this, embedDirectiveMarkdownNodes = (0, _query.embedDirectiveMarkdownNodesFromNode)(node), embedDirectiveTransforms = embedDirectiveMarkdownNodes.reduce(function(embedDirectiveTransforms, embedDirectiveMarkdownNode) {
104
+ var node = this, embedDirectiveMarkdownNodes = (0, _markdown1.embedDirectiveMarkdownNodesFromNode)(node), embedDirectiveMarkdownTransforms = embedDirectiveMarkdownNodes.reduce(function(embedDirectiveMarkdownTransforms, embedDirectiveMarkdownNode) {
108
105
  var embedDirectiveTransform = embedDirectiveMarkdownNode.resolveEmbedding(context);
109
106
  if (embedDirectiveTransform !== null) {
110
- embedDirectiveTransforms.push(embedDirectiveTransform);
107
+ embedDirectiveMarkdownTransforms.push(embedDirectiveTransform);
111
108
  }
112
- return embedDirectiveTransforms;
113
- }, []), embedDirectiveTransformsLength = embedDirectiveTransforms.length;
114
- if (embedDirectiveTransformsLength > 0) {
109
+ return embedDirectiveMarkdownTransforms;
110
+ }, []), embedDirectiveMarkdownTransformsLength = embedDirectiveMarkdownTransforms.length;
111
+ if (embedDirectiveMarkdownTransformsLength > 0) {
115
112
  var subDivisionMarkdownNode = this; ///
116
- backwardsForEach(embedDirectiveTransforms, function(embedDirectiveTransform) {
113
+ backwardsForEach(embedDirectiveMarkdownTransforms, function(embedDirectiveTransform) {
117
114
  embedDirectiveTransform.addAfterSubDivisionMarkdownNode(subDivisionMarkdownNode, divisionMarkdownNode, context);
118
115
  });
119
116
  embeddingsResolved = true;
@@ -124,12 +121,12 @@ var SubDivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
124
121
  {
125
122
  key: "createFootnotesListTransform",
126
123
  value: function createFootnotesListTransform(footnoteTransformMap, context) {
127
- var footnoteDivisionTransforms = this.findDivisionTransforms(_footnote1.default, context);
124
+ var footnoteDivisionTransforms = this.findDivisionTransforms(FootnoteDivisionTransform, context);
128
125
  footnoteDivisionTransforms.forEach(function(footnoteDivisionTransform) {
129
- var footnoteTransform = _footnote.default.fromFootnoteDivisionTransform(footnoteDivisionTransform), identifier = footnoteDivisionTransform.identifier(context);
126
+ var footnoteTransform = FootnoteTransform.fromFootnoteDivisionTransform(footnoteDivisionTransform), identifier = footnoteDivisionTransform.identifier(context);
130
127
  footnoteTransformMap[identifier] = footnoteTransform;
131
128
  });
132
- var divisionMarkdownNode = this, footnotesListDivisionTransform = _footnotesList.default.fromDivisionMarkdownNodeAndFootnoteTransformMap(divisionMarkdownNode, footnoteTransformMap, context);
129
+ var divisionMarkdownNode = this, footnotesListDivisionTransform = FootnotesListTransform.fromDivisionMarkdownNodeAndFootnoteTransformMap(divisionMarkdownNode, footnoteTransformMap, context);
133
130
  return footnotesListDivisionTransform;
134
131
  }
135
132
  }
@@ -144,4 +141,4 @@ var SubDivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
144
141
  return SubDivisionMarkdownNode;
145
142
  }(_markdown.default);
146
143
 
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL3N1YkRpdmlzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IE1hcmtkb3duTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9tYXJrZG93blwiO1xuaW1wb3J0IEZvb3Rub3RlVHJhbnNmb3JtIGZyb20gXCIuLi8uLi90cmFuc2Zvcm0vZm9vdG5vdGVcIjtcbmltcG9ydCBGb290bm90ZXNMaXN0VHJhbnNmb3JtIGZyb20gXCIuLi8uLi90cmFuc2Zvcm0vZm9vdG5vdGVzTGlzdFwiO1xuaW1wb3J0IEZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9zdWJEaXZpc2lvbi9mb290bm90ZVwiO1xuXG5pbXBvcnQgeyBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgeyBiYWNrd2FyZHNGb3JFYWNoIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3ViRGl2aXNpb25NYXJrZG93bk5vZGUgZXh0ZW5kcyBNYXJrZG93bk5vZGUge1xuICByZXNvbHZlRW1iZWRkaW5ncyhkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBlbWJlZGRpbmdzUmVzb2x2ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzID0gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSksXG4gICAgICAgICAgZW1iZWREaXJlY3RpdmVUcmFuc2Zvcm1zID0gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzLnJlZHVjZSgoZW1iZWREaXJlY3RpdmVUcmFuc2Zvcm1zLCBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZW1iZWREaXJlY3RpdmVUcmFuc2Zvcm0gPSBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZS5yZXNvbHZlRW1iZWRkaW5nKGNvbnRleHQpO1xuXG4gICAgICAgICAgICBpZiAoZW1iZWREaXJlY3RpdmVUcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgZW1iZWREaXJlY3RpdmVUcmFuc2Zvcm1zLnB1c2goZW1iZWREaXJlY3RpdmVUcmFuc2Zvcm0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZW1iZWREaXJlY3RpdmVUcmFuc2Zvcm1zO1xuICAgICAgICAgIH0sIFtdKSxcbiAgICAgICAgICBlbWJlZERpcmVjdGl2ZVRyYW5zZm9ybXNMZW5ndGggPSBlbWJlZERpcmVjdGl2ZVRyYW5zZm9ybXMubGVuZ3RoO1xuXG4gICAgaWYgKGVtYmVkRGlyZWN0aXZlVHJhbnNmb3Jtc0xlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpczsgLy8vXG5cbiAgICAgIGJhY2t3YXJkc0ZvckVhY2goZW1iZWREaXJlY3RpdmVUcmFuc2Zvcm1zLCAoZW1iZWREaXJlY3RpdmVUcmFuc2Zvcm0pID0+IHtcbiAgICAgICAgZW1iZWREaXJlY3RpdmVUcmFuc2Zvcm0uYWRkQWZ0ZXJTdWJEaXZpc2lvbk1hcmtkb3duTm9kZShzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSwgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAgICAgfSk7XG5cbiAgICAgIGVtYmVkZGluZ3NSZXNvbHZlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVtYmVkZGluZ3NSZXNvbHZlZDtcbiAgfVxuXG4gIGNyZWF0ZUZvb3Rub3Rlc0xpc3RUcmFuc2Zvcm0oZm9vdG5vdGVUcmFuc2Zvcm1NYXAsIGNvbnRleHQpIHtcbiAgICBjb25zdCBmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtcyA9IHRoaXMuZmluZERpdmlzaW9uVHJhbnNmb3JtcyhGb290bm90ZURpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KTtcblxuICAgIGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm1zLmZvckVhY2goKGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0pID0+IHtcbiAgICAgIGNvbnN0IGZvb3Rub3RlVHJhbnNmb3JtID0gRm9vdG5vdGVUcmFuc2Zvcm0uZnJvbUZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0oZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybSksXG4gICAgICAgICAgICBpZGVudGlmaWVyID0gZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybS5pZGVudGlmaWVyKGNvbnRleHQpO1xuXG4gICAgICBmb290bm90ZVRyYW5zZm9ybU1hcFtpZGVudGlmaWVyXSA9IGZvb3Rub3RlVHJhbnNmb3JtO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgZm9vdG5vdGVzTGlzdERpdmlzaW9uVHJhbnNmb3JtID0gRm9vdG5vdGVzTGlzdFRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGVBbmRGb290bm90ZVRyYW5zZm9ybU1hcChkaXZpc2lvbk1hcmtkb3duTm9kZSwgZm9vdG5vdGVUcmFuc2Zvcm1NYXAsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eShydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSkgeyByZXR1cm4gTWFya2Rvd25Ob2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KFN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJTdWJEaXZpc2lvbk1hcmtkb3duTm9kZSIsImJhY2t3YXJkc0ZvckVhY2giLCJhcnJheVV0aWxpdGllcyIsInJlc29sdmVFbWJlZGRpbmdzIiwiZGl2aXNpb25NYXJrZG93bk5vZGUiLCJjb250ZXh0IiwiZW1iZWRkaW5nc1Jlc29sdmVkIiwibm9kZSIsImVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyIsImVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiZW1iZWREaXJlY3RpdmVUcmFuc2Zvcm1zIiwicmVkdWNlIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJlbWJlZERpcmVjdGl2ZVRyYW5zZm9ybSIsInJlc29sdmVFbWJlZGRpbmciLCJwdXNoIiwiZW1iZWREaXJlY3RpdmVUcmFuc2Zvcm1zTGVuZ3RoIiwibGVuZ3RoIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJhZGRBZnRlclN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiY3JlYXRlRm9vdG5vdGVzTGlzdFRyYW5zZm9ybSIsImZvb3Rub3RlVHJhbnNmb3JtTWFwIiwiZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybXMiLCJmaW5kRGl2aXNpb25UcmFuc2Zvcm1zIiwiRm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybSIsImZvckVhY2giLCJmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtIiwiZm9vdG5vdGVUcmFuc2Zvcm0iLCJGb290bm90ZVRyYW5zZm9ybSIsImZyb21Gb290bm90ZURpdmlzaW9uVHJhbnNmb3JtIiwiaWRlbnRpZmllciIsImZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybSIsIkZvb3Rub3Rlc0xpc3RUcmFuc2Zvcm0iLCJmcm9tRGl2aXNpb25NYXJrZG93bk5vZGVBbmRGb290bm90ZVRyYW5zZm9ybU1hcCIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5IiwicnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsIk1hcmtkb3duTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFhcUJBOzs7eUJBWFU7K0RBRU47K0RBQ0s7b0VBQ0s7Z0VBQ0c7cUJBRWM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFcEQsSUFBTSxBQUFFQyxtQkFBcUJDLHlCQUFjLENBQW5DRDtBQUVPLElBQUEsQUFBTUQsd0NBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2VBQU4sa0JBQU1BOztrQkFBQUE7O1lBQ25CRyxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCQyxvQkFBb0IsRUFBRUMsT0FBTztnQkFDN0MsSUFBSUMscUJBQXFCO2dCQUV6QixJQUFNQyxPQUFPLElBQUksRUFDWEMsOEJBQThCQyxJQUFBQSwwQ0FBbUMsRUFBQ0YsT0FDbEVHLDJCQUEyQkYsNEJBQTRCRyxNQUFNLENBQUMsU0FBQ0QsMEJBQTBCRTtvQkFDdkYsSUFBTUMsMEJBQTBCRCwyQkFBMkJFLGdCQUFnQixDQUFDVDtvQkFFNUUsSUFBSVEsNEJBQTRCLE1BQU07d0JBQ3BDSCx5QkFBeUJLLElBQUksQ0FBQ0Y7b0JBQ2hDO29CQUVBLE9BQU9IO2dCQUNULEdBQUcsRUFBRSxHQUNMTSxpQ0FBaUNOLHlCQUF5Qk8sTUFBTTtnQkFFdEUsSUFBSUQsaUNBQWlDLEdBQUc7b0JBQ3RDLElBQU1FLDBCQUEwQixJQUFJLEVBQUUsR0FBRztvQkFFekNqQixpQkFBaUJTLDBCQUEwQixTQUFDRzt3QkFDMUNBLHdCQUF3Qk0sK0JBQStCLENBQUNELHlCQUF5QmQsc0JBQXNCQztvQkFDekc7b0JBRUFDLHFCQUFxQjtnQkFDdkI7Z0JBRUEsT0FBT0E7WUFDVDs7O1lBRUFjLEtBQUFBO21CQUFBQSxTQUFBQSw2QkFBNkJDLG9CQUFvQixFQUFFaEIsT0FBTztnQkFDeEQsSUFBTWlCLDZCQUE2QixJQUFJLENBQUNDLHNCQUFzQixDQUFDQyxrQkFBeUIsRUFBRW5CO2dCQUUxRmlCLDJCQUEyQkcsT0FBTyxDQUFDLFNBQUNDO29CQUNsQyxJQUFNQyxvQkFBb0JDLGlCQUFpQixDQUFDQyw2QkFBNkIsQ0FBQ0gsNEJBQ3BFSSxhQUFhSiwwQkFBMEJJLFVBQVUsQ0FBQ3pCO29CQUV4RGdCLG9CQUFvQixDQUFDUyxXQUFXLEdBQUdIO2dCQUNyQztnQkFFQSxJQUFNdkIsdUJBQXVCLElBQUksRUFDM0IyQixpQ0FBaUNDLHNCQUFzQixDQUFDQywrQ0FBK0MsQ0FBQzdCLHNCQUFzQmlCLHNCQUFzQmhCO2dCQUUxSixPQUFPMEI7WUFDVDs7OztZQUVPRyxLQUFBQTttQkFBUCxTQUFPQSxpQ0FBaUNDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPO2dCQUFJLE9BQU9DLGlCQUFZLENBQUNKLGdDQUFnQyxDQTlDMUdsQyx5QkE4Q29JbUMsVUFBVUMsWUFBWUM7WUFBVTs7O1dBOUNwS3JDO0VBQWdDc0MsaUJBQVkifQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL3N1YkRpdmlzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IE1hcmtkb3duTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9tYXJrZG93blwiO1xuXG5pbXBvcnQgeyBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvbWFya2Rvd25cIjtcblxuY29uc3QgeyBiYWNrd2FyZHNGb3JFYWNoIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3ViRGl2aXNpb25NYXJrZG93bk5vZGUgZXh0ZW5kcyBNYXJrZG93bk5vZGUge1xuICByZXNvbHZlRW1iZWRkaW5ncyhkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBlbWJlZGRpbmdzUmVzb2x2ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzID0gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSksXG4gICAgICAgICAgZW1iZWREaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybXMgPSBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXMucmVkdWNlKChlbWJlZERpcmVjdGl2ZU1hcmtkb3duVHJhbnNmb3JtcywgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVtYmVkRGlyZWN0aXZlVHJhbnNmb3JtID0gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGUucmVzb2x2ZUVtYmVkZGluZyhjb250ZXh0KTtcblxuICAgICAgICAgICAgaWYgKGVtYmVkRGlyZWN0aXZlVHJhbnNmb3JtICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm1zLnB1c2goZW1iZWREaXJlY3RpdmVUcmFuc2Zvcm0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZW1iZWREaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybXM7XG4gICAgICAgICAgfSwgW10pLFxuICAgICAgICAgIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm1zTGVuZ3RoID0gZW1iZWREaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybXMubGVuZ3RoO1xuXG4gICAgaWYgKGVtYmVkRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm1zTGVuZ3RoID4gMCkge1xuICAgICAgY29uc3Qgc3ViRGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzOyAvLy9cblxuICAgICAgYmFja3dhcmRzRm9yRWFjaChlbWJlZERpcmVjdGl2ZU1hcmtkb3duVHJhbnNmb3JtcywgKGVtYmVkRGlyZWN0aXZlVHJhbnNmb3JtKSA9PiB7XG4gICAgICAgIGVtYmVkRGlyZWN0aXZlVHJhbnNmb3JtLmFkZEFmdGVyU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUsIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICAgIH0pO1xuXG4gICAgICBlbWJlZGRpbmdzUmVzb2x2ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBlbWJlZGRpbmdzUmVzb2x2ZWQ7XG4gIH1cblxuICBjcmVhdGVGb290bm90ZXNMaXN0VHJhbnNmb3JtKGZvb3Rub3RlVHJhbnNmb3JtTWFwLCBjb250ZXh0KSB7XG4gICAgY29uc3QgZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybXMgPSB0aGlzLmZpbmREaXZpc2lvblRyYW5zZm9ybXMoRm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCk7XG5cbiAgICBmb290bm90ZURpdmlzaW9uVHJhbnNmb3Jtcy5mb3JFYWNoKChmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtKSA9PiB7XG4gICAgICBjb25zdCBmb290bm90ZVRyYW5zZm9ybSA9IEZvb3Rub3RlVHJhbnNmb3JtLmZyb21Gb290bm90ZURpdmlzaW9uVHJhbnNmb3JtKGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0pLFxuICAgICAgICAgICAgaWRlbnRpZmllciA9IGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0uaWRlbnRpZmllcihjb250ZXh0KTtcblxuICAgICAgZm9vdG5vdGVUcmFuc2Zvcm1NYXBbaWRlbnRpZmllcl0gPSBmb290bm90ZVRyYW5zZm9ybTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybSA9IEZvb3Rub3Rlc0xpc3RUcmFuc2Zvcm0uZnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlQW5kRm9vdG5vdGVUcmFuc2Zvcm1NYXAoZGl2aXNpb25NYXJrZG93bk5vZGUsIGZvb3Rub3RlVHJhbnNmb3JtTWFwLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBmb290bm90ZXNMaXN0RGl2aXNpb25UcmFuc2Zvcm07XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHkpIHsgcmV0dXJuIE1hcmtkb3duTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eShTdWJEaXZpc2lvbk1hcmtkb3duTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHkpOyB9XG59XG4iXSwibmFtZXMiOlsiU3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJiYWNrd2FyZHNGb3JFYWNoIiwiYXJyYXlVdGlsaXRpZXMiLCJyZXNvbHZlRW1iZWRkaW5ncyIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiY29udGV4dCIsImVtYmVkZGluZ3NSZXNvbHZlZCIsIm5vZGUiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXMiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImVtYmVkRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm1zIiwicmVkdWNlIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJlbWJlZERpcmVjdGl2ZVRyYW5zZm9ybSIsInJlc29sdmVFbWJlZGRpbmciLCJwdXNoIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybXNMZW5ndGgiLCJsZW5ndGgiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSIsImFkZEFmdGVyU3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJjcmVhdGVGb290bm90ZXNMaXN0VHJhbnNmb3JtIiwiZm9vdG5vdGVUcmFuc2Zvcm1NYXAiLCJmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtcyIsImZpbmREaXZpc2lvblRyYW5zZm9ybXMiLCJGb290bm90ZURpdmlzaW9uVHJhbnNmb3JtIiwiZm9yRWFjaCIsImZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0iLCJmb290bm90ZVRyYW5zZm9ybSIsIkZvb3Rub3RlVHJhbnNmb3JtIiwiZnJvbUZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0iLCJpZGVudGlmaWVyIiwiZm9vdG5vdGVzTGlzdERpdmlzaW9uVHJhbnNmb3JtIiwiRm9vdG5vdGVzTGlzdFRyYW5zZm9ybSIsImZyb21EaXZpc2lvbk1hcmtkb3duTm9kZUFuZEZvb3Rub3RlVHJhbnNmb3JtTWFwIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkiLCJydWxlTmFtZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwiTWFya2Rvd25Ob2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7Ozt5QkFSVTsrREFFTjt5QkFFMkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFcEQsSUFBTSxBQUFFQyxtQkFBcUJDLHlCQUFjLENBQW5DRDtBQUVPLElBQUEsQUFBTUQsd0NBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2VBQU4sa0JBQU1BOztrQkFBQUE7O1lBQ25CRyxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCQyxvQkFBb0IsRUFBRUMsT0FBTztnQkFDN0MsSUFBSUMscUJBQXFCO2dCQUV6QixJQUFNQyxPQUFPLElBQUksRUFDWEMsOEJBQThCQyxJQUFBQSw4Q0FBbUMsRUFBQ0YsT0FDbEVHLG1DQUFtQ0YsNEJBQTRCRyxNQUFNLENBQUMsU0FBQ0Qsa0NBQWtDRTtvQkFDdkcsSUFBTUMsMEJBQTBCRCwyQkFBMkJFLGdCQUFnQixDQUFDVDtvQkFFNUUsSUFBSVEsNEJBQTRCLE1BQU07d0JBQ3BDSCxpQ0FBaUNLLElBQUksQ0FBQ0Y7b0JBQ3hDO29CQUVBLE9BQU9IO2dCQUNULEdBQUcsRUFBRSxHQUNMTSx5Q0FBeUNOLGlDQUFpQ08sTUFBTTtnQkFFdEYsSUFBSUQseUNBQXlDLEdBQUc7b0JBQzlDLElBQU1FLDBCQUEwQixJQUFJLEVBQUUsR0FBRztvQkFFekNqQixpQkFBaUJTLGtDQUFrQyxTQUFDRzt3QkFDbERBLHdCQUF3Qk0sK0JBQStCLENBQUNELHlCQUF5QmQsc0JBQXNCQztvQkFDekc7b0JBRUFDLHFCQUFxQjtnQkFDdkI7Z0JBRUEsT0FBT0E7WUFDVDs7O1lBRUFjLEtBQUFBO21CQUFBQSxTQUFBQSw2QkFBNkJDLG9CQUFvQixFQUFFaEIsT0FBTztnQkFDeEQsSUFBTWlCLDZCQUE2QixJQUFJLENBQUNDLHNCQUFzQixDQUFDQywyQkFBMkJuQjtnQkFFMUZpQiwyQkFBMkJHLE9BQU8sQ0FBQyxTQUFDQztvQkFDbEMsSUFBTUMsb0JBQW9CQyxrQkFBa0JDLDZCQUE2QixDQUFDSCw0QkFDcEVJLGFBQWFKLDBCQUEwQkksVUFBVSxDQUFDekI7b0JBRXhEZ0Isb0JBQW9CLENBQUNTLFdBQVcsR0FBR0g7Z0JBQ3JDO2dCQUVBLElBQU12Qix1QkFBdUIsSUFBSSxFQUMzQjJCLGlDQUFpQ0MsdUJBQXVCQywrQ0FBK0MsQ0FBQzdCLHNCQUFzQmlCLHNCQUFzQmhCO2dCQUUxSixPQUFPMEI7WUFDVDs7OztZQUVPRyxLQUFBQTttQkFBUCxTQUFPQSxpQ0FBaUNDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPO2dCQUFJLE9BQU9DLGlCQUFZLENBQUNKLGdDQUFnQyxDQTlDMUdsQyx5QkE4Q29JbUMsVUFBVUMsWUFBWUM7WUFBVTs7O1dBOUNwS3JDO0VBQWdDc0MsaUJBQVkifQ==
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _necessary = require("necessary");
12
12
  var _markdown = /*#__PURE__*/ _interop_require_default(require("../../node/markdown"));
13
- var _query = require("../../utilities/query");
13
+ var _markdown1 = require("../../utilities/markdown");
14
14
  function _assert_this_initialized(self) {
15
15
  if (self === void 0) {
16
16
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -117,7 +117,7 @@ var TopmostMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
117
117
  {
118
118
  key: "getDivisionMarkdownNodes",
119
119
  value: function getDivisionMarkdownNodes() {
120
- var node = this, divisionMarkdownNodes = (0, _query.divisionMarkdownNodesFromNode)(node);
120
+ var node = this, divisionMarkdownNodes = (0, _markdown1.divisionMarkdownNodesFromNode)(node);
121
121
  return divisionMarkdownNodes;
122
122
  }
123
123
  },
@@ -155,4 +155,4 @@ var TopmostMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
155
155
  return TopmostMarkdownNode;
156
156
  }(_markdown.default);
157
157
 
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL3RvcG1vc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgTWFya2Rvd25Ob2RlIGZyb20gXCIuLi8uLi9ub2RlL21hcmtkb3duXCI7XG5cbmltcG9ydCB7IGRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVG9wbW9zdE1hcmtkb3duTm9kZSBleHRlbmRzIE1hcmtkb3duTm9kZSB7XG4gIHJlc29sdmUoY29udGV4dCkge1xuICAgIGNvbnN0IGZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLmdldEZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGUoKTtcblxuICAgIGlmIChmaXJzdERpdmlzaW9uTWFya2Rvd25Ob2RlID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdG9wbW9zdE1hcmtkb3duTm9kZSA9IHRoaXM7IC8vL1xuXG4gICAgZmlyc3REaXZpc2lvbk1hcmtkb3duTm9kZS5yZXNvbHZlSW5jbHVkZXModG9wbW9zdE1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICB0aGlzLmZvckVhY2hEaXZpc2lvbk1hcmtkb3duTm9kZSgoZGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlLnJlc29sdmVJZ25vcmVkKHRvcG1vc3RNYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5mb3JFYWNoRGl2aXNpb25NYXJrZG93bk5vZGUoKGRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZS5yZXNvbHZlRW1iZWRkaW5ncyhjb250ZXh0KTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldERpdmlzaW9uTWFya2Rvd25Ob2RlcygpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IGRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUpO1xuXG4gICAgcmV0dXJuIGRpdmlzaW9uTWFya2Rvd25Ob2RlcztcbiAgfVxuXG4gIGdldEZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGUoKSB7XG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGVzID0gdGhpcy5nZXREaXZpc2lvbk1hcmtkb3duTm9kZXMoKSxcbiAgICAgICAgICBmaXJzdERpdmlzaW9uTWFya2Rvd25Ob2RlID0gZmlyc3QoZGl2aXNpb25NYXJrZG93bk5vZGVzKSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIGZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGU7XG4gIH1cblxuICBmb3JFYWNoRGl2aXNpb25NYXJrZG93bk5vZGUoY2FsbGJhY2spIHtcbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmdldERpdmlzaW9uTWFya2Rvd25Ob2RlcygpO1xuXG4gICAgZGl2aXNpb25NYXJrZG93bk5vZGVzLmZvckVhY2goKGRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICBjYWxsYmFjayhkaXZpc2lvbk1hcmtkb3duTm9kZSk7XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVEaXZpc2lvbk1hcmtkb3duTm9kZShkaXZpc2lvbk1hcmtkb3duTm9kZSkge1xuICAgIGNvbnN0IGNoaWxkTm9kZSA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlOyAgLy8vXG5cbiAgICB0aGlzLnJlbW92ZUNoaWxkTm9kZShjaGlsZE5vZGUpO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5KSB7IHJldHVybiBNYXJrZG93bk5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoVG9wbW9zdE1hcmtkb3duTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHkpOyB9XG59XG4iXSwibmFtZXMiOlsiVG9wbW9zdE1hcmtkb3duTm9kZSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJyZXNvbHZlIiwiY29udGV4dCIsImZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGUiLCJnZXRGaXJzdERpdmlzaW9uTWFya2Rvd25Ob2RlIiwidG9wbW9zdE1hcmtkb3duTm9kZSIsInJlc29sdmVJbmNsdWRlcyIsImZvckVhY2hEaXZpc2lvbk1hcmtkb3duTm9kZSIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwicmVzb2x2ZUlnbm9yZWQiLCJyZXNvbHZlRW1iZWRkaW5ncyIsImdldERpdmlzaW9uTWFya2Rvd25Ob2RlcyIsIm5vZGUiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImNhbGxiYWNrIiwiZm9yRWFjaCIsInJlbW92ZURpdmlzaW9uTWFya2Rvd25Ob2RlIiwiY2hpbGROb2RlIiwicmVtb3ZlQ2hpbGROb2RlIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkiLCJydWxlTmFtZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwiTWFya2Rvd25Ob2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7Ozt5QkFSVTsrREFFTjtxQkFFcUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOUMsSUFBTSxBQUFFQyxRQUFVQyx5QkFBYyxDQUF4QkQ7QUFFTyxJQUFBLEFBQU1ELG9DQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtlQUFOLGtCQUFNQTs7a0JBQUFBOztZQUNuQkcsS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFDLE9BQU87Z0JBQ2IsSUFBTUMsNEJBQTRCLElBQUksQ0FBQ0MsNEJBQTRCO2dCQUVuRSxJQUFJRCw4QkFBOEIsTUFBTTtvQkFDdEM7Z0JBQ0Y7Z0JBRUEsSUFBTUUsc0JBQXNCLElBQUksRUFBRSxHQUFHO2dCQUVyQ0YsMEJBQTBCRyxlQUFlLENBQUNELHFCQUFxQkg7Z0JBRS9ELElBQUksQ0FBQ0ssMkJBQTJCLENBQUMsU0FBQ0M7b0JBQ2hDQSxxQkFBcUJDLGNBQWMsQ0FBQ0oscUJBQXFCSDtnQkFDM0Q7Z0JBRUEsSUFBSSxDQUFDSywyQkFBMkIsQ0FBQyxTQUFDQztvQkFDaENBLHFCQUFxQkUsaUJBQWlCLENBQUNSO2dCQUN6QztZQUNGOzs7WUFFQVMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLE9BQU8sSUFBSSxFQUNYQyx3QkFBd0JDLElBQUFBLG9DQUE2QixFQUFDRjtnQkFFNUQsT0FBT0M7WUFDVDs7O1lBRUFULEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNUyx3QkFBd0IsSUFBSSxDQUFDRix3QkFBd0IsSUFDckRSLDRCQUE0QkosTUFBTWMsMEJBQTBCO2dCQUVsRSxPQUFPVjtZQUNUOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLDRCQUE0QlEsUUFBUTtnQkFDbEMsSUFBTUYsd0JBQXdCLElBQUksQ0FBQ0Ysd0JBQXdCO2dCQUUzREUsc0JBQXNCRyxPQUFPLENBQUMsU0FBQ1I7b0JBQzdCTyxTQUFTUDtnQkFDWDtZQUNGOzs7WUFFQVMsS0FBQUE7bUJBQUFBLFNBQUFBLDJCQUEyQlQsb0JBQW9CO2dCQUM3QyxJQUFNVSxZQUFZVixzQkFBdUIsR0FBRztnQkFFNUMsSUFBSSxDQUFDVyxlQUFlLENBQUNEO1lBQ3ZCOzs7O1lBRU9FLEtBQUFBO21CQUFQLFNBQU9BLGlDQUFpQ0MsUUFBUSxFQUFFQyxVQUFVLEVBQUVDLE9BQU87Z0JBQUksT0FBT0MsaUJBQVksQ0FBQ0osZ0NBQWdDLENBakQxR3RCLHFCQWlEZ0l1QixVQUFVQyxZQUFZQztZQUFVOzs7V0FqRGhLekI7RUFBNEIwQixpQkFBWSJ9
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL3RvcG1vc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgTWFya2Rvd25Ob2RlIGZyb20gXCIuLi8uLi9ub2RlL21hcmtkb3duXCI7XG5cbmltcG9ydCB7IGRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9tYXJrZG93blwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVG9wbW9zdE1hcmtkb3duTm9kZSBleHRlbmRzIE1hcmtkb3duTm9kZSB7XG4gIHJlc29sdmUoY29udGV4dCkge1xuICAgIGNvbnN0IGZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLmdldEZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGUoKTtcblxuICAgIGlmIChmaXJzdERpdmlzaW9uTWFya2Rvd25Ob2RlID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdG9wbW9zdE1hcmtkb3duTm9kZSA9IHRoaXM7IC8vL1xuXG4gICAgZmlyc3REaXZpc2lvbk1hcmtkb3duTm9kZS5yZXNvbHZlSW5jbHVkZXModG9wbW9zdE1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICB0aGlzLmZvckVhY2hEaXZpc2lvbk1hcmtkb3duTm9kZSgoZGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlLnJlc29sdmVJZ25vcmVkKHRvcG1vc3RNYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5mb3JFYWNoRGl2aXNpb25NYXJrZG93bk5vZGUoKGRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZS5yZXNvbHZlRW1iZWRkaW5ncyhjb250ZXh0KTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldERpdmlzaW9uTWFya2Rvd25Ob2RlcygpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IGRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUpO1xuXG4gICAgcmV0dXJuIGRpdmlzaW9uTWFya2Rvd25Ob2RlcztcbiAgfVxuXG4gIGdldEZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGUoKSB7XG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGVzID0gdGhpcy5nZXREaXZpc2lvbk1hcmtkb3duTm9kZXMoKSxcbiAgICAgICAgICBmaXJzdERpdmlzaW9uTWFya2Rvd25Ob2RlID0gZmlyc3QoZGl2aXNpb25NYXJrZG93bk5vZGVzKSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIGZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGU7XG4gIH1cblxuICBmb3JFYWNoRGl2aXNpb25NYXJrZG93bk5vZGUoY2FsbGJhY2spIHtcbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmdldERpdmlzaW9uTWFya2Rvd25Ob2RlcygpO1xuXG4gICAgZGl2aXNpb25NYXJrZG93bk5vZGVzLmZvckVhY2goKGRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICBjYWxsYmFjayhkaXZpc2lvbk1hcmtkb3duTm9kZSk7XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVEaXZpc2lvbk1hcmtkb3duTm9kZShkaXZpc2lvbk1hcmtkb3duTm9kZSkge1xuICAgIGNvbnN0IGNoaWxkTm9kZSA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlOyAgLy8vXG5cbiAgICB0aGlzLnJlbW92ZUNoaWxkTm9kZShjaGlsZE5vZGUpO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5KSB7IHJldHVybiBNYXJrZG93bk5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoVG9wbW9zdE1hcmtkb3duTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHkpOyB9XG59XG4iXSwibmFtZXMiOlsiVG9wbW9zdE1hcmtkb3duTm9kZSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJyZXNvbHZlIiwiY29udGV4dCIsImZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGUiLCJnZXRGaXJzdERpdmlzaW9uTWFya2Rvd25Ob2RlIiwidG9wbW9zdE1hcmtkb3duTm9kZSIsInJlc29sdmVJbmNsdWRlcyIsImZvckVhY2hEaXZpc2lvbk1hcmtkb3duTm9kZSIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwicmVzb2x2ZUlnbm9yZWQiLCJyZXNvbHZlRW1iZWRkaW5ncyIsImdldERpdmlzaW9uTWFya2Rvd25Ob2RlcyIsIm5vZGUiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImNhbGxiYWNrIiwiZm9yRWFjaCIsInJlbW92ZURpdmlzaW9uTWFya2Rvd25Ob2RlIiwiY2hpbGROb2RlIiwicmVtb3ZlQ2hpbGROb2RlIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkiLCJydWxlTmFtZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwiTWFya2Rvd25Ob2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7Ozt5QkFSVTsrREFFTjt5QkFFcUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOUMsSUFBTSxBQUFFQyxRQUFVQyx5QkFBYyxDQUF4QkQ7QUFFTyxJQUFBLEFBQU1ELG9DQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtlQUFOLGtCQUFNQTs7a0JBQUFBOztZQUNuQkcsS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFDLE9BQU87Z0JBQ2IsSUFBTUMsNEJBQTRCLElBQUksQ0FBQ0MsNEJBQTRCO2dCQUVuRSxJQUFJRCw4QkFBOEIsTUFBTTtvQkFDdEM7Z0JBQ0Y7Z0JBRUEsSUFBTUUsc0JBQXNCLElBQUksRUFBRSxHQUFHO2dCQUVyQ0YsMEJBQTBCRyxlQUFlLENBQUNELHFCQUFxQkg7Z0JBRS9ELElBQUksQ0FBQ0ssMkJBQTJCLENBQUMsU0FBQ0M7b0JBQ2hDQSxxQkFBcUJDLGNBQWMsQ0FBQ0oscUJBQXFCSDtnQkFDM0Q7Z0JBRUEsSUFBSSxDQUFDSywyQkFBMkIsQ0FBQyxTQUFDQztvQkFDaENBLHFCQUFxQkUsaUJBQWlCLENBQUNSO2dCQUN6QztZQUNGOzs7WUFFQVMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLE9BQU8sSUFBSSxFQUNYQyx3QkFBd0JDLElBQUFBLHdDQUE2QixFQUFDRjtnQkFFNUQsT0FBT0M7WUFDVDs7O1lBRUFULEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNUyx3QkFBd0IsSUFBSSxDQUFDRix3QkFBd0IsSUFDckRSLDRCQUE0QkosTUFBTWMsMEJBQTBCO2dCQUVsRSxPQUFPVjtZQUNUOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLDRCQUE0QlEsUUFBUTtnQkFDbEMsSUFBTUYsd0JBQXdCLElBQUksQ0FBQ0Ysd0JBQXdCO2dCQUUzREUsc0JBQXNCRyxPQUFPLENBQUMsU0FBQ1I7b0JBQzdCTyxTQUFTUDtnQkFDWDtZQUNGOzs7WUFFQVMsS0FBQUE7bUJBQUFBLFNBQUFBLDJCQUEyQlQsb0JBQW9CO2dCQUM3QyxJQUFNVSxZQUFZVixzQkFBdUIsR0FBRztnQkFFNUMsSUFBSSxDQUFDVyxlQUFlLENBQUNEO1lBQ3ZCOzs7O1lBRU9FLEtBQUFBO21CQUFQLFNBQU9BLGlDQUFpQ0MsUUFBUSxFQUFFQyxVQUFVLEVBQUVDLE9BQU87Z0JBQUksT0FBT0MsaUJBQVksQ0FBQ0osZ0NBQWdDLENBakQxR3RCLHFCQWlEZ0l1QixVQUFVQyxZQUFZQztZQUFVOzs7V0FqRGhLekI7RUFBNEIwQixpQkFBWSJ9
package/lib/queries.js CHANGED
@@ -10,10 +10,11 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _occamquery = require("occam-query");
12
12
  var _html = require("./map/node//html");
13
- var queries = _html.ruleNames.map(function(ruleName) {
13
+ var queries = [];
14
+ (0, _html.forEachHTMLNode)(function(Class, ruleName) {
14
15
  var expressionString = "//".concat(ruleName), query = _occamquery.Query.fromExpressionString(expressionString);
15
- return query;
16
+ queries.push(query);
16
17
  });
17
18
  var _default = queries;
18
19
 
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWVyaWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBRdWVyeSB9IGZyb20gXCJvY2NhbS1xdWVyeVwiO1xuXG5pbXBvcnQgeyBydWxlTmFtZXMgfSBmcm9tIFwiLi9tYXAvbm9kZS8vaHRtbFwiO1xuXG5jb25zdCBxdWVyaWVzID0gcnVsZU5hbWVzLm1hcCgocnVsZU5hbWUpID0+IHtcbiAgY29uc3QgZXhwcmVzc2lvblN0cmluZyA9IGAvLyR7cnVsZU5hbWV9YCxcbiAgICAgICAgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhleHByZXNzaW9uU3RyaW5nKTtcblxuICByZXR1cm4gcXVlcnk7XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgcXVlcmllczsiXSwibmFtZXMiOlsicXVlcmllcyIsInJ1bGVOYW1lcyIsIm1hcCIsInJ1bGVOYW1lIiwiZXhwcmVzc2lvblN0cmluZyIsInF1ZXJ5IiwiUXVlcnkiLCJmcm9tRXhwcmVzc2lvblN0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBYUE7OztlQUFBOzs7MEJBWHNCO29CQUVJO0FBRTFCLElBQU1BLFVBQVVDLGVBQVMsQ0FBQ0MsR0FBRyxDQUFDLFNBQUNDO0lBQzdCLElBQU1DLG1CQUFtQixBQUFDLEtBQWEsT0FBVEQsV0FDeEJFLFFBQVFDLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDSDtJQUV6QyxPQUFPQztBQUNUO0lBRUEsV0FBZUwifQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWVyaWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBRdWVyeSB9IGZyb20gXCJvY2NhbS1xdWVyeVwiO1xuXG5pbXBvcnQgeyBmb3JFYWNoSFRNTE5vZGUgfSBmcm9tIFwiLi9tYXAvbm9kZS8vaHRtbFwiO1xuXG5jb25zdCBxdWVyaWVzID0gW107XG5cbmZvckVhY2hIVE1MTm9kZSgoQ2xhc3MsIHJ1bGVOYW1lKSA9PiB7XG4gIGNvbnN0IGV4cHJlc3Npb25TdHJpbmcgPSBgLy8ke3J1bGVOYW1lfWAsXG4gICAgICAgIHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvblN0cmluZyk7XG5cbiAgcXVlcmllcy5wdXNoKHF1ZXJ5KTtcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBxdWVyaWVzOyJdLCJuYW1lcyI6WyJxdWVyaWVzIiwiZm9yRWFjaEhUTUxOb2RlIiwiQ2xhc3MiLCJydWxlTmFtZSIsImV4cHJlc3Npb25TdHJpbmciLCJxdWVyeSIsIlF1ZXJ5IiwiZnJvbUV4cHJlc3Npb25TdHJpbmciLCJwdXNoIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFlQTs7O2VBQUE7OzswQkFic0I7b0JBRVU7QUFFaEMsSUFBTUEsVUFBVSxFQUFFO0FBRWxCQyxJQUFBQSxxQkFBZSxFQUFDLFNBQUNDLE9BQU9DO0lBQ3RCLElBQU1DLG1CQUFtQixBQUFDLEtBQWEsT0FBVEQsV0FDeEJFLFFBQVFDLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDSDtJQUV6Q0osUUFBUVEsSUFBSSxDQUFDSDtBQUNmO0lBRUEsV0FBZUwifQ==