yapp 2.2.117 → 2.2.120

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/example.js +2900 -2757
  2. package/lib/element/scrollable.js +7 -7
  3. package/lib/example/div/sizeable/left.js +4 -4
  4. package/lib/example/div/sizeable/middle.js +4 -4
  5. package/lib/example/div/sizeable/right.js +4 -4
  6. package/lib/example/div/sizeable/top.js +4 -4
  7. package/lib/example/textarea/bnf.js +4 -4
  8. package/lib/example/textarea/lexicalEntries.js +4 -4
  9. package/lib/example/textarea/parseTree.js +4 -4
  10. package/lib/example/textarea/tokens.js +7 -7
  11. package/lib/example/view/javascript.js +4 -4
  12. package/lib/example/view/json.js +4 -4
  13. package/lib/example/view/xml.js +4 -4
  14. package/lib/example/view.js +7 -7
  15. package/lib/example/yapp.js +9 -9
  16. package/lib/gutter.js +7 -7
  17. package/lib/lexer/javascript.js +7 -7
  18. package/lib/lexer/json.js +7 -7
  19. package/lib/lexer/plainText.js +7 -7
  20. package/lib/lexer/xml.js +7 -7
  21. package/lib/lexer/yapp.js +4 -4
  22. package/lib/lineNumbers.js +7 -7
  23. package/lib/parser/javascript.js +7 -7
  24. package/lib/parser/json.js +7 -7
  25. package/lib/parser/plainText.js +7 -7
  26. package/lib/parser/xml.js +7 -7
  27. package/lib/parser/yapp.js +4 -4
  28. package/lib/plugin/javascript.js +7 -7
  29. package/lib/plugin/json.js +7 -7
  30. package/lib/plugin/plainText.js +7 -7
  31. package/lib/plugin/xml.js +7 -7
  32. package/lib/prettyPrinter.js +9 -9
  33. package/lib/processor/javascript.js +4 -4
  34. package/lib/processor/json.js +4 -4
  35. package/lib/processor/plainText.js +4 -4
  36. package/lib/processor/xml.js +4 -4
  37. package/lib/processor.js +5 -5
  38. package/lib/richTextarea.js +15 -15
  39. package/lib/syntax.js +7 -7
  40. package/lib/token/significant/argument.js +4 -4
  41. package/lib/token/significant/attribute.js +4 -4
  42. package/lib/token/significant/comment.js +4 -4
  43. package/lib/token/significant/error.js +4 -4
  44. package/lib/token/significant/jsx.js +4 -4
  45. package/lib/token/significant/name.js +4 -4
  46. package/lib/token/significant/string.js +4 -4
  47. package/lib/token/significant/variable.js +4 -4
  48. package/lib/utilities/rules.js +3 -3
  49. package/lib/yapp.js +13 -13
  50. package/package.json +5 -5
@@ -30,11 +30,11 @@ function _createClass(Constructor, protoProps, staticProps) {
30
30
  if (staticProps) _defineProperties(Constructor, staticProps);
31
31
  return Constructor;
32
32
  }
33
- function _getPrototypeOf(o1) {
33
+ function _getPrototypeOf(o) {
34
34
  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
35
35
  return o.__proto__ || Object.getPrototypeOf(o);
36
36
  };
37
- return _getPrototypeOf(o1);
37
+ return _getPrototypeOf(o);
38
38
  }
39
39
  function _inherits(subClass, superClass) {
40
40
  if (typeof superClass !== "function" && superClass !== null) {
@@ -55,12 +55,12 @@ function _possibleConstructorReturn(self, call) {
55
55
  }
56
56
  return _assertThisInitialized(self);
57
57
  }
58
- function _setPrototypeOf(o2, p1) {
58
+ function _setPrototypeOf(o, p) {
59
59
  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
60
60
  o.__proto__ = p;
61
61
  return o;
62
62
  };
63
- return _setPrototypeOf(o2, p1);
63
+ return _setPrototypeOf(o, p);
64
64
  }
65
65
  var _typeof = function(obj) {
66
66
  "@swc/helpers - typeof";
@@ -30,11 +30,11 @@ function _createClass(Constructor, protoProps, staticProps) {
30
30
  if (staticProps) _defineProperties(Constructor, staticProps);
31
31
  return Constructor;
32
32
  }
33
- function _getPrototypeOf(o1) {
33
+ function _getPrototypeOf(o) {
34
34
  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
35
35
  return o.__proto__ || Object.getPrototypeOf(o);
36
36
  };
37
- return _getPrototypeOf(o1);
37
+ return _getPrototypeOf(o);
38
38
  }
39
39
  function _inherits(subClass, superClass) {
40
40
  if (typeof superClass !== "function" && superClass !== null) {
@@ -55,12 +55,12 @@ function _possibleConstructorReturn(self, call) {
55
55
  }
56
56
  return _assertThisInitialized(self);
57
57
  }
58
- function _setPrototypeOf(o2, p1) {
58
+ function _setPrototypeOf(o, p) {
59
59
  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
60
60
  o.__proto__ = p;
61
61
  return o;
62
62
  };
63
- return _setPrototypeOf(o2, p1);
63
+ return _setPrototypeOf(o, p);
64
64
  }
65
65
  var _typeof = function(obj) {
66
66
  "@swc/helpers - typeof";
@@ -30,11 +30,11 @@ function _createClass(Constructor, protoProps, staticProps) {
30
30
  if (staticProps) _defineProperties(Constructor, staticProps);
31
31
  return Constructor;
32
32
  }
33
- function _getPrototypeOf(o1) {
33
+ function _getPrototypeOf(o) {
34
34
  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
35
35
  return o.__proto__ || Object.getPrototypeOf(o);
36
36
  };
37
- return _getPrototypeOf(o1);
37
+ return _getPrototypeOf(o);
38
38
  }
39
39
  function _inherits(subClass, superClass) {
40
40
  if (typeof superClass !== "function" && superClass !== null) {
@@ -55,12 +55,12 @@ function _possibleConstructorReturn(self, call) {
55
55
  }
56
56
  return _assertThisInitialized(self);
57
57
  }
58
- function _setPrototypeOf(o2, p1) {
58
+ function _setPrototypeOf(o, p) {
59
59
  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
60
60
  o.__proto__ = p;
61
61
  return o;
62
62
  };
63
- return _setPrototypeOf(o2, p1);
63
+ return _setPrototypeOf(o, p);
64
64
  }
65
65
  var _typeof = function(obj) {
66
66
  "@swc/helpers - typeof";
@@ -30,11 +30,11 @@ function _createClass(Constructor, protoProps, staticProps) {
30
30
  if (staticProps) _defineProperties(Constructor, staticProps);
31
31
  return Constructor;
32
32
  }
33
- function _getPrototypeOf(o1) {
33
+ function _getPrototypeOf(o) {
34
34
  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
35
35
  return o.__proto__ || Object.getPrototypeOf(o);
36
36
  };
37
- return _getPrototypeOf(o1);
37
+ return _getPrototypeOf(o);
38
38
  }
39
39
  function _inherits(subClass, superClass) {
40
40
  if (typeof superClass !== "function" && superClass !== null) {
@@ -55,12 +55,12 @@ function _possibleConstructorReturn(self, call) {
55
55
  }
56
56
  return _assertThisInitialized(self);
57
57
  }
58
- function _setPrototypeOf(o2, p1) {
58
+ function _setPrototypeOf(o, p) {
59
59
  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
60
60
  o.__proto__ = p;
61
61
  return o;
62
62
  };
63
- return _setPrototypeOf(o2, p1);
63
+ return _setPrototypeOf(o, p);
64
64
  }
65
65
  var _typeof = function(obj) {
66
66
  "@swc/helpers - typeof";
@@ -30,11 +30,11 @@ function _createClass(Constructor, protoProps, staticProps) {
30
30
  if (staticProps) _defineProperties(Constructor, staticProps);
31
31
  return Constructor;
32
32
  }
33
- function _getPrototypeOf(o1) {
33
+ function _getPrototypeOf(o) {
34
34
  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
35
35
  return o.__proto__ || Object.getPrototypeOf(o);
36
36
  };
37
- return _getPrototypeOf(o1);
37
+ return _getPrototypeOf(o);
38
38
  }
39
39
  function _inherits(subClass, superClass) {
40
40
  if (typeof superClass !== "function" && superClass !== null) {
@@ -55,12 +55,12 @@ function _possibleConstructorReturn(self, call) {
55
55
  }
56
56
  return _assertThisInitialized(self);
57
57
  }
58
- function _setPrototypeOf(o2, p1) {
58
+ function _setPrototypeOf(o, p) {
59
59
  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
60
60
  o.__proto__ = p;
61
61
  return o;
62
62
  };
63
- return _setPrototypeOf(o2, p1);
63
+ return _setPrototypeOf(o, p);
64
64
  }
65
65
  var _typeof = function(obj) {
66
66
  "@swc/helpers - typeof";
@@ -29,11 +29,11 @@ function _createClass(Constructor, protoProps, staticProps) {
29
29
  if (staticProps) _defineProperties(Constructor, staticProps);
30
30
  return Constructor;
31
31
  }
32
- function _getPrototypeOf(o1) {
32
+ function _getPrototypeOf(o) {
33
33
  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
34
34
  return o.__proto__ || Object.getPrototypeOf(o);
35
35
  };
36
- return _getPrototypeOf(o1);
36
+ return _getPrototypeOf(o);
37
37
  }
38
38
  function _inherits(subClass, superClass) {
39
39
  if (typeof superClass !== "function" && superClass !== null) {
@@ -54,12 +54,12 @@ function _possibleConstructorReturn(self, call) {
54
54
  }
55
55
  return _assertThisInitialized(self);
56
56
  }
57
- function _setPrototypeOf(o2, p1) {
57
+ function _setPrototypeOf(o, p) {
58
58
  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
59
59
  o.__proto__ = p;
60
60
  return o;
61
61
  };
62
- return _setPrototypeOf(o2, p1);
62
+ return _setPrototypeOf(o, p);
63
63
  }
64
64
  var _typeof = function(obj) {
65
65
  "@swc/helpers - typeof";
@@ -30,11 +30,11 @@ function _createClass(Constructor, protoProps, staticProps) {
30
30
  if (staticProps) _defineProperties(Constructor, staticProps);
31
31
  return Constructor;
32
32
  }
33
- function _getPrototypeOf(o1) {
33
+ function _getPrototypeOf(o) {
34
34
  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
35
35
  return o.__proto__ || Object.getPrototypeOf(o);
36
36
  };
37
- return _getPrototypeOf(o1);
37
+ return _getPrototypeOf(o);
38
38
  }
39
39
  function _inherits(subClass, superClass) {
40
40
  if (typeof superClass !== "function" && superClass !== null) {
@@ -55,12 +55,12 @@ function _possibleConstructorReturn(self, call) {
55
55
  }
56
56
  return _assertThisInitialized(self);
57
57
  }
58
- function _setPrototypeOf(o2, p1) {
58
+ function _setPrototypeOf(o, p) {
59
59
  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
60
60
  o.__proto__ = p;
61
61
  return o;
62
62
  };
63
- return _setPrototypeOf(o2, p1);
63
+ return _setPrototypeOf(o, p);
64
64
  }
65
65
  var _typeof = function(obj) {
66
66
  "@swc/helpers - typeof";
@@ -11,12 +11,12 @@ function startRuleFromRules(rules) {
11
11
  return startRule;
12
12
  }
13
13
  function ruleMapFromRules(rules) {
14
- var ruleMap1 = rules.reduce(function(ruleMap, rule) {
14
+ var ruleMap = rules.reduce(function(ruleMap, rule) {
15
15
  var ruleName = rule.getName();
16
16
  ruleMap[ruleName] = rule;
17
17
  return ruleMap;
18
18
  }, {});
19
- return ruleMap1;
19
+ return ruleMap;
20
20
  }
21
21
 
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcnVsZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXJ0UnVsZUZyb21SdWxlcyhydWxlcykge1xuICBjb25zdCBmaXJzdFJ1bGUgPSBmaXJzdChydWxlcyksXG4gICAgICAgIHN0YXJ0UnVsZSA9IGZpcnN0UnVsZTsgIC8vL1xuXG4gIHJldHVybiBzdGFydFJ1bGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBydWxlTWFwRnJvbVJ1bGVzKHJ1bGVzKSB7XG4gIGNvbnN0IHJ1bGVNYXAgPSBydWxlcy5yZWR1Y2UoKHJ1bGVNYXAsIHJ1bGUpID0+IHtcbiAgICBjb25zdCBydWxlTmFtZSA9IHJ1bGUuZ2V0TmFtZSgpO1xuXG4gICAgcnVsZU1hcFtydWxlTmFtZV0gPSBydWxlO1xuXG4gICAgcmV0dXJuIHJ1bGVNYXA7XG4gIH0sIHt9KTtcblxuICByZXR1cm4gcnVsZU1hcDtcbn1cbiJdLCJuYW1lcyI6WyJzdGFydFJ1bGVGcm9tUnVsZXMiLCJydWxlTWFwRnJvbVJ1bGVzIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsInJ1bGVzIiwiZmlyc3RSdWxlIiwic3RhcnRSdWxlIiwicnVsZU1hcCIsInJlZHVjZSIsInJ1bGUiLCJydWxlTmFtZSIsImdldE5hbWUiXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7OztRQU1HQSxrQkFBa0IsR0FBbEJBLGtCQUFrQjtRQU9sQkMsZ0JBQWdCLEdBQWhCQSxnQkFBZ0I7QUFYRCxJQUFBLFVBQVcsV0FBWCxXQUFXLENBQUE7QUFFMUMsSUFBTSxBQUFFQyxLQUFLLEdBQUtDLFVBQWMsZUFBQSxDQUF4QkQsS0FBSyxBQUFtQixBQUFDO0FBRTFCLFNBQVNGLGtCQUFrQixDQUFDSSxLQUFLLEVBQUU7SUFDeEMsSUFBTUMsU0FBUyxHQUFHSCxLQUFLLENBQUNFLEtBQUssQ0FBQyxFQUN4QkUsU0FBUyxHQUFHRCxTQUFTLEFBQUMsRUFBRSxHQUFHO0lBRWpDLE9BQU9DLFNBQVMsQ0FBQztDQUNsQjtBQUVNLFNBQVNMLGdCQUFnQixDQUFDRyxLQUFLLEVBQUU7SUFDdEMsSUFBTUcsUUFBTyxHQUFHSCxLQUFLLENBQUNJLE1BQU0sQ0FBQyxTQUFDRCxPQUFPLEVBQUVFLElBQUksRUFBSztRQUM5QyxJQUFNQyxRQUFRLEdBQUdELElBQUksQ0FBQ0UsT0FBTyxFQUFFLEFBQUM7UUFFaENKLE9BQU8sQ0FBQ0csUUFBUSxDQUFDLEdBQUdELElBQUksQ0FBQztRQUV6QixPQUFPRixPQUFPLENBQUM7S0FDaEIsRUFBRSxFQUFFLENBQUMsQUFBQztJQUVQLE9BQU9BLFFBQU8sQ0FBQztDQUNoQiJ9
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcnVsZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXJ0UnVsZUZyb21SdWxlcyhydWxlcykge1xuICBjb25zdCBmaXJzdFJ1bGUgPSBmaXJzdChydWxlcyksXG4gICAgICAgIHN0YXJ0UnVsZSA9IGZpcnN0UnVsZTsgIC8vL1xuXG4gIHJldHVybiBzdGFydFJ1bGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBydWxlTWFwRnJvbVJ1bGVzKHJ1bGVzKSB7XG4gIGNvbnN0IHJ1bGVNYXAgPSBydWxlcy5yZWR1Y2UoKHJ1bGVNYXAsIHJ1bGUpID0+IHtcbiAgICBjb25zdCBydWxlTmFtZSA9IHJ1bGUuZ2V0TmFtZSgpO1xuXG4gICAgcnVsZU1hcFtydWxlTmFtZV0gPSBydWxlO1xuXG4gICAgcmV0dXJuIHJ1bGVNYXA7XG4gIH0sIHt9KTtcblxuICByZXR1cm4gcnVsZU1hcDtcbn1cbiJdLCJuYW1lcyI6WyJzdGFydFJ1bGVGcm9tUnVsZXMiLCJydWxlTWFwRnJvbVJ1bGVzIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsInJ1bGVzIiwiZmlyc3RSdWxlIiwic3RhcnRSdWxlIiwicnVsZU1hcCIsInJlZHVjZSIsInJ1bGUiLCJydWxlTmFtZSIsImdldE5hbWUiXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7OztRQU1HQSxrQkFBa0IsR0FBbEJBLGtCQUFrQjtRQU9sQkMsZ0JBQWdCLEdBQWhCQSxnQkFBZ0I7QUFYRCxJQUFBLFVBQVcsV0FBWCxXQUFXLENBQUE7QUFFMUMsSUFBTSxBQUFFQyxLQUFLLEdBQUtDLFVBQWMsZUFBQSxDQUF4QkQsS0FBSyxBQUFtQixBQUFDO0FBRTFCLFNBQVNGLGtCQUFrQixDQUFDSSxLQUFLLEVBQUU7SUFDeEMsSUFBTUMsU0FBUyxHQUFHSCxLQUFLLENBQUNFLEtBQUssQ0FBQyxFQUN4QkUsU0FBUyxHQUFHRCxTQUFTLEFBQUMsRUFBRSxHQUFHO0lBRWpDLE9BQU9DLFNBQVMsQ0FBQztDQUNsQjtBQUVNLFNBQVNMLGdCQUFnQixDQUFDRyxLQUFLLEVBQUU7SUFDdEMsSUFBTUcsT0FBTyxHQUFHSCxLQUFLLENBQUNJLE1BQU0sQ0FBQyxTQUFDRCxPQUFPLEVBQUVFLElBQUksRUFBSztRQUM5QyxJQUFNQyxRQUFRLEdBQUdELElBQUksQ0FBQ0UsT0FBTyxFQUFFLEFBQUM7UUFFaENKLE9BQU8sQ0FBQ0csUUFBUSxDQUFDLEdBQUdELElBQUksQ0FBQztRQUV6QixPQUFPRixPQUFPLENBQUM7S0FDaEIsRUFBRSxFQUFFLENBQUMsQUFBQztJQUVQLE9BQU9BLE9BQU8sQ0FBQztDQUNoQiJ9
package/lib/yapp.js CHANGED
@@ -36,7 +36,7 @@ function isNativeReflectConstruct() {
36
36
  return false;
37
37
  }
38
38
  }
39
- function _construct(Parent1, args1, Class1) {
39
+ function _construct(Parent, args, Class) {
40
40
  if (isNativeReflectConstruct()) {
41
41
  _construct = Reflect.construct;
42
42
  } else {
@@ -80,11 +80,11 @@ function _defineProperty(obj, key, value) {
80
80
  }
81
81
  return obj;
82
82
  }
83
- function _getPrototypeOf(o1) {
83
+ function _getPrototypeOf(o) {
84
84
  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
85
85
  return o.__proto__ || Object.getPrototypeOf(o);
86
86
  };
87
- return _getPrototypeOf(o1);
87
+ return _getPrototypeOf(o);
88
88
  }
89
89
  function _inherits(subClass, superClass) {
90
90
  if (typeof superClass !== "function" && superClass !== null) {
@@ -113,12 +113,12 @@ function _possibleConstructorReturn(self, call) {
113
113
  }
114
114
  return _assertThisInitialized(self);
115
115
  }
116
- function _setPrototypeOf(o2, p1) {
116
+ function _setPrototypeOf(o, p) {
117
117
  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
118
118
  o.__proto__ = p;
119
119
  return o;
120
120
  };
121
- return _setPrototypeOf(o2, p1);
121
+ return _setPrototypeOf(o, p);
122
122
  }
123
123
  function _taggedTemplateLiteral(strings, raw) {
124
124
  if (!raw) {
@@ -134,7 +134,7 @@ var _typeof = function(obj) {
134
134
  "@swc/helpers - typeof";
135
135
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
136
136
  };
137
- function _wrapNativeSuper(Class2) {
137
+ function _wrapNativeSuper(Class) {
138
138
  var _cache = typeof Map === "function" ? new Map() : undefined;
139
139
  _wrapNativeSuper = function _wrapNativeSuper(Class) {
140
140
  if (Class === null || !_isNativeFunction(Class)) return Class;
@@ -158,7 +158,7 @@ function _wrapNativeSuper(Class2) {
158
158
  });
159
159
  return _setPrototypeOf(Wrapper, Class);
160
160
  };
161
- return _wrapNativeSuper(Class2);
161
+ return _wrapNativeSuper(Class);
162
162
  }
163
163
  function _isNativeReflectConstruct() {
164
164
  if (typeof Reflect === "undefined" || !Reflect.construct) return false;
@@ -249,7 +249,7 @@ var Yapp = /*#__PURE__*/ function(Element) {
249
249
  key: "getScrollbarThickness",
250
250
  value: function getScrollbarThickness() {
251
251
  var scrollbarThickness = 0;
252
- var _properties2 = this.properties, _hiddenScrollbars = _properties2.hiddenScrollbars, hiddenScrollbars = _hiddenScrollbars === void 0 ? _defaults.DEFAULT_HIDDEN_SCROLLBARS : _hiddenScrollbars;
252
+ var _properties = this.properties, _hiddenScrollbars = _properties.hiddenScrollbars, hiddenScrollbars = _hiddenScrollbars === void 0 ? _defaults.DEFAULT_HIDDEN_SCROLLBARS : _hiddenScrollbars;
253
253
  if (!hiddenScrollbars) {
254
254
  var _properties1 = this.properties, _fancyScrollbars = _properties1.fancyScrollbars, fancyScrollbars = _fancyScrollbars === void 0 ? _defaults.DEFAULT_FANCY_SCROLLBARS : _fancyScrollbars;
255
255
  scrollbarThickness = (0, _scrollbarThickness).getScrollbarThickness(fancyScrollbars);
@@ -326,7 +326,7 @@ var Yapp = /*#__PURE__*/ function(Element) {
326
326
  {
327
327
  key: "didMount",
328
328
  value: function didMount() {
329
- var _properties3 = this.properties, _firaCode = _properties3.firaCode, firaCode = _firaCode === void 0 ? _defaults.DEFAULT_FIRA_CODE : _firaCode, _deferRender = _properties3.deferRender, deferRender = _deferRender === void 0 ? _defaults.DEFAULT_DEFER_RENDER : _deferRender;
329
+ var _properties = this.properties, _firaCode = _properties.firaCode, firaCode = _firaCode === void 0 ? _defaults.DEFAULT_FIRA_CODE : _firaCode, _deferRender = _properties.deferRender, deferRender = _deferRender === void 0 ? _defaults.DEFAULT_DEFER_RENDER : _deferRender;
330
330
  if (firaCode) {
331
331
  this.addClass("fira-code");
332
332
  }
@@ -339,7 +339,7 @@ var Yapp = /*#__PURE__*/ function(Element) {
339
339
  {
340
340
  key: "willUnmount",
341
341
  value: function willUnmount() {
342
- var _properties4 = this.properties, _firaCode = _properties4.firaCode, firaCode = _firaCode === void 0 ? _defaults.DEFAULT_FIRA_CODE : _firaCode;
342
+ var _properties = this.properties, _firaCode = _properties.firaCode, firaCode = _firaCode === void 0 ? _defaults.DEFAULT_FIRA_CODE : _firaCode;
343
343
  if (firaCode) {
344
344
  this.removeClass("fira-code");
345
345
  }
@@ -348,7 +348,7 @@ var Yapp = /*#__PURE__*/ function(Element) {
348
348
  {
349
349
  key: "childElements",
350
350
  value: function childElements() {
351
- var _properties5 = this.properties, _hiddenGutter = _properties5.hiddenGutter, hiddenGutter = _hiddenGutter === void 0 ? _defaults.DEFAULT_HIDDEN_GUTTER : _hiddenGutter, _hiddenScrollbars = _properties5.hiddenScrollbars, hiddenScrollbars = _hiddenScrollbars === void 0 ? _defaults.DEFAULT_HIDDEN_SCROLLBARS : _hiddenScrollbars, _fancyScrollbars = _properties5.fancyScrollbars, fancyScrollbars = _fancyScrollbars === void 0 ? _defaults.DEFAULT_FANCY_SCROLLBARS : _fancyScrollbars, changeHandler = this.changeHandler.bind(this), scrollHandler = this.scrollHandler.bind(this), scrollbarThickness = this.getScrollbarThickness();
351
+ var _properties = this.properties, _hiddenGutter = _properties.hiddenGutter, hiddenGutter = _hiddenGutter === void 0 ? _defaults.DEFAULT_HIDDEN_GUTTER : _hiddenGutter, _hiddenScrollbars = _properties.hiddenScrollbars, hiddenScrollbars = _hiddenScrollbars === void 0 ? _defaults.DEFAULT_HIDDEN_SCROLLBARS : _hiddenScrollbars, _fancyScrollbars = _properties.fancyScrollbars, fancyScrollbars = _fancyScrollbars === void 0 ? _defaults.DEFAULT_FANCY_SCROLLBARS : _fancyScrollbars, changeHandler = this.changeHandler.bind(this), scrollHandler = this.scrollHandler.bind(this), scrollbarThickness = this.getScrollbarThickness();
352
352
  return [
353
353
  /*#__PURE__*/ _easy.React.createElement(_prettyPrinter.default, {
354
354
  hiddenGutter: hiddenGutter,
@@ -385,7 +385,7 @@ var Yapp = /*#__PURE__*/ function(Element) {
385
385
  value: function initialise() {
386
386
  var _this = this;
387
387
  this.assignContext();
388
- var _properties6 = this.properties, childElements = _properties6.childElements, _editable = _properties6.editable, editable = _editable === void 0 ? _defaults.DEFAULT_EDITABLE : _editable, language = this.plugin.getLanguage(), content = (0, _content).contentFromChildElements(childElements), readOnly = !editable, scrollTop = 0, scrollLeft = 0; ///
388
+ var _properties = this.properties, childElements = _properties.childElements, _editable = _properties.editable, editable = _editable === void 0 ? _defaults.DEFAULT_EDITABLE : _editable, language = this.plugin.getLanguage(), content = (0, _content).contentFromChildElements(childElements), readOnly = !editable, scrollTop = 0, scrollLeft = 0; ///
389
389
  this.setLanguage(language);
390
390
  this.scrollPrettyPrinter(scrollTop, scrollLeft);
391
391
  this.setRichTextareaContent(content);
@@ -431,4 +431,4 @@ Object.assign(Yapp.prototype, _style.default);
431
431
  var _default = (0, _easyWithStyle).default(Yapp)(_templateObject(), _colour.colour, _colour.caretColour, _colour.borderColour, _colour.backgroundColour);
432
432
  exports.default = _default;
433
433
 
434
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy95YXBwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBSZWFjdCwgQm91bmRzLCBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcblxuaW1wb3J0IHN0eWxlTWl4aW5zIGZyb20gXCIuL21peGlucy9zdHlsZVwiO1xuaW1wb3J0IFJpY2hUZXh0YXJlYSBmcm9tIFwiLi9yaWNoVGV4dGFyZWFcIjtcbmltcG9ydCBQcmV0dHlQcmludGVyIGZyb20gXCIuL3ByZXR0eVByaW50ZXJcIjtcblxuaW1wb3J0IHsgZ2V0U2Nyb2xsYmFyVGhpY2tuZXNzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3Njcm9sbGJhclRoaWNrbmVzc1wiO1xuaW1wb3J0IHsgcGx1Z2luRnJvbUxhbmd1YWdlQW5kUGx1Z2luIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3BsdWdpblwiO1xuaW1wb3J0IHsgcHJvcGVydGllc0Zyb21Db250ZW50TGFuZ3VhZ2VQbHVnaW5BbmRPcHRpb25zIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3Byb3BlcnRpZXNcIjtcbmltcG9ydCB7IGxpbmVDb3VudEZyb21Db250ZW50LCBjb250ZW50RnJvbUNoaWxkRWxlbWVudHMgfSBmcm9tIFwiLi91dGlsaXRpZXMvY29udGVudFwiO1xuaW1wb3J0IHsgY29sb3VyLCBjYXJldENvbG91ciwgYm9yZGVyQ29sb3VyLCBiYWNrZ3JvdW5kQ29sb3VyIH0gZnJvbSBcIi4vc2NoZW1lL2NvbG91clwiO1xuaW1wb3J0IHsgREVGQVVMVF9FRElUQUJMRSwgREVGQVVMVF9GSVJBX0NPREUsIERFRkFVTFRfREVGRVJfUkVOREVSLCBERUZBVUxUX0hJRERFTl9HVVRURVIsIERFRkFVTFRfSElEREVOX1NDUk9MTEJBUlMsIERFRkFVTFRfRkFOQ1lfU0NST0xMQkFSUyB9IGZyb20gXCIuL2RlZmF1bHRzXCI7XG5cbmNsYXNzIFlhcHAgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3Ioc2VsZWN0b3IsIHBsdWdpbikge1xuICAgIHN1cGVyKHNlbGVjdG9yKTtcblxuICAgIHRoaXMucGx1Z2luID0gcGx1Z2luO1xuICB9XG5cbiAgZ2V0UGx1Z2luKCkge1xuICAgIHJldHVybiB0aGlzLnBsdWdpbjtcbiAgfVxuXG4gIGdldENvbnRlbnQoKSB7XG4gICAgY29uc3QgcmljaFRleHRhcmVhQ29udGVudCA9IHRoaXMuZ2V0UmljaFRleHRhcmVhQ29udGVudCgpLFxuICAgICAgICAgIGNvbnRlbnQgPSByaWNoVGV4dGFyZWFDb250ZW50OyAgLy8vXG5cbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIGdldElubmVyQm91bmRzKGd1dHRlcldpZHRoKSB7XG4gICAgbGV0IHRvcCxcbiAgICAgICAgbGVmdCxcbiAgICAgICAgd2lkdGggPSB0aGlzLmdldFdpZHRoKCksXG4gICAgICAgIGhlaWdodCA9IHRoaXMuZ2V0SGVpZ2h0KCk7XG5cbiAgICBjb25zdCBwYWRkaW5nVG9wID0gdGhpcy5nZXRQYWRkaW5nVG9wKCksXG4gICAgICAgICAgcGFkZGluZ0xlZnQgPSB0aGlzLmdldFBhZGRpbmdMZWZ0KCksXG4gICAgICAgICAgcGFkZGluZ1JpZ2h0ID0gdGhpcy5nZXRQYWRkaW5nUmlnaHQoKSxcbiAgICAgICAgICBwYWRkaW5nQm90dG9tID0gdGhpcy5nZXRQYWRkaW5nQm90dG9tKCksXG4gICAgICAgICAgYm9yZGVyVG9wV2lkdGggPSB0aGlzLmdldEJvcmRlclRvcFdpZHRoKCksXG4gICAgICAgICAgYm9yZGVyTGVmdFdpZHRoID0gdGhpcy5nZXRCb3JkZXJMZWZ0V2lkdGgoKSxcbiAgICAgICAgICBib3JkZXJSaWdodFdpZHRoID0gdGhpcy5nZXRCb3JkZXJSaWdodFdpZHRoKCksXG4gICAgICAgICAgYm9yZGVyQm90dG9tV2lkdGggPSB0aGlzLmdldEJvcmRlckJvdHRvbVdpZHRoKCk7XG5cbiAgICB0b3AgPSBib3JkZXJUb3BXaWR0aCArIHBhZGRpbmdUb3A7XG4gICAgbGVmdCA9IGJvcmRlckxlZnRXaWR0aCArIHBhZGRpbmdMZWZ0O1xuXG4gICAgd2lkdGggLT0gKCBib3JkZXJMZWZ0V2lkdGggKyBwYWRkaW5nTGVmdCArIHBhZGRpbmdSaWdodCArIGJvcmRlclJpZ2h0V2lkdGggKTtcbiAgICBoZWlnaHQgLT0gKCBib3JkZXJUb3BXaWR0aCArIHBhZGRpbmdUb3AgKyBwYWRkaW5nQm90dG9tICsgYm9yZGVyQm90dG9tV2lkdGggKTtcblxuICAgIGlmIChndXR0ZXJXaWR0aCAhPT0gbnVsbCkge1xuICAgICAgbGVmdCArPSBndXR0ZXJXaWR0aDtcbiAgICAgIHdpZHRoIC09IGd1dHRlcldpZHRoO1xuICAgIH1cblxuICAgIGNvbnN0IGJvdW5kcyA9IEJvdW5kcy5mcm9tVG9wTGVmdFdpZHRoQW5kSGVpZ2h0KHRvcCwgbGVmdCwgd2lkdGgsIGhlaWdodCksXG4gICAgICAgICAgaW5uZXJCb3VuZHMgPSBib3VuZHM7IC8vL1xuXG4gICAgcmV0dXJuIGlubmVyQm91bmRzO1xuICB9XG5cbiAgZ2V0SW5pdGlhbExpbmVDb3VudCgpIHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXG4gICAgICAgICAgbGluZUNvdW50ID0gbGluZUNvdW50RnJvbUNvbnRlbnQoY29udGVudCksXG4gICAgICAgICAgaW5pdGlhbExpbmVDb3VudCA9IGxpbmVDb3VudDsgLy8vXG5cbiAgICByZXR1cm4gaW5pdGlhbExpbmVDb3VudDtcbiAgfVxuXG4gIGdldFNjcm9sbGJhclRoaWNrbmVzcygpIHtcbiAgICBsZXQgc2Nyb2xsYmFyVGhpY2tuZXNzID0gMDtcblxuICAgIGNvbnN0IHsgaGlkZGVuU2Nyb2xsYmFycyA9IERFRkFVTFRfSElEREVOX1NDUk9MTEJBUlMgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIGlmICghaGlkZGVuU2Nyb2xsYmFycykge1xuICAgICAgY29uc3QgeyBmYW5jeVNjcm9sbGJhcnMgPSBERUZBVUxUX0ZBTkNZX1NDUk9MTEJBUlMgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgICAgc2Nyb2xsYmFyVGhpY2tuZXNzID0gZ2V0U2Nyb2xsYmFyVGhpY2tuZXNzKGZhbmN5U2Nyb2xsYmFycyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNjcm9sbGJhclRoaWNrbmVzcztcbiAgfVxuXG4gIHNldExleGVyKGxleGVyKSB7IHRoaXMucGx1Z2luLnNldExleGVyKGxleGVyKTsgfVxuXG4gIHNldFBhcnNlcihwYXJzZXIpIHsgdGhpcy5wbHVnaW4uc2V0UGFyc2VyKHBhcnNlcik7IH1cblxuICBjaGFuZ2VIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gICAgY29uc3QgcmljaFRleHRhcmVhID0gZWxlbWVudCwgLy8vXG4gICAgICAgICAgY29udGVudENoYW5nZWQgPSByaWNoVGV4dGFyZWEuaGFzQ29udGVudENoYW5nZWQoKTtcblxuICAgIGlmIChjb250ZW50Q2hhbmdlZCkge1xuICAgICAgY29uc3QgeyBvbkNvbnRlbnRDaGFuZ2UgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICAgIGNvbnRlbnRDaGFuZ2VIYW5kbGVyID0gb25Db250ZW50Q2hhbmdlOyAvLy9cblxuICAgICAgdGhpcy51cGRhdGUoKTtcblxuICAgICAgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgICBjb250ZW50Q2hhbmdlSGFuZGxlciAmJiBjb250ZW50Q2hhbmdlSGFuZGxlcihldmVudCwgZWxlbWVudCk7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHNjcm9sbEhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgICBjb25zdCByaWNoVGV4dGFyZWEgPSBlbGVtZW50LCAvLy9cbiAgICAgICAgICBzY3JvbGxUb3AgPSByaWNoVGV4dGFyZWEuZ2V0U2Nyb2xsVG9wKCksXG4gICAgICAgICAgc2Nyb2xsTGVmdCA9IHJpY2hUZXh0YXJlYS5nZXRTY3JvbGxMZWZ0KCk7XG5cbiAgICB0aGlzLnNjcm9sbFByZXR0eVByaW50ZXIoc2Nyb2xsVG9wLCBzY3JvbGxMZWZ0KTtcbiAgfVxuXG4gIHVwZGF0ZSgpIHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCk7XG5cbiAgICB0aGlzLnBsdWdpbi51cGRhdGUoY29udGVudCk7XG5cbiAgICBjb25zdCB0b2tlbnMgPSB0aGlzLnBsdWdpbi5nZXRUb2tlbnMoKSxcbiAgICAgICAgICBndXR0ZXJXaWR0aCA9IHRoaXMudXBkYXRlUHJldHR5UHJpbnRlcih0b2tlbnMpO1xuXG4gICAgaWYgKGd1dHRlcldpZHRoICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBpbm5lckJvdW5kcyA9IHRoaXMuZ2V0SW5uZXJCb3VuZHMoZ3V0dGVyV2lkdGgpLFxuICAgICAgICAgICAgcmljaFRleHRhcmVhQm91bmRzID0gaW5uZXJCb3VuZHM7IC8vL1xuXG4gICAgICB0aGlzLnNldFJpY2hUZXh0YXJlYUJvdW5kcyhyaWNoVGV4dGFyZWFCb3VuZHMpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2l6ZSgpIHtcbiAgICBsZXQgaW5uZXJCb3VuZHMsXG4gICAgICAgIGd1dHRlcldpZHRoO1xuXG4gICAgZ3V0dGVyV2lkdGggPSBudWxsO1xuXG4gICAgaW5uZXJCb3VuZHMgPSB0aGlzLmdldElubmVyQm91bmRzKGd1dHRlcldpZHRoKTtcblxuICAgIGNvbnN0IHByZXR0eVByaW50ZXJCb3VuZHMgPSBpbm5lckJvdW5kczsgIC8vL1xuXG4gICAgdGhpcy5zZXRQcmV0dHlQcmludGVyQm91bmRzKHByZXR0eVByaW50ZXJCb3VuZHMpO1xuXG4gICAgZ3V0dGVyV2lkdGggPSB0aGlzLnJlc2l6ZVByZXR0eVByaW50ZXIoKTtcblxuICAgIGlubmVyQm91bmRzID0gdGhpcy5nZXRJbm5lckJvdW5kcyhndXR0ZXJXaWR0aCk7XG5cbiAgICBjb25zdCByaWNoVGV4dGFyZWFCb3VuZHMgPSBpbm5lckJvdW5kczsgLy8vXG5cbiAgICB0aGlzLnNldFJpY2hUZXh0YXJlYUJvdW5kcyhyaWNoVGV4dGFyZWFCb3VuZHMpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGxpbmVIZWlnaHQgPSB0aGlzLmdldExpbmVIZWlnaHQoKSxcbiAgICAgICAgICBwYWRkaW5nVG9wID0gdGhpcy5nZXRQYWRkaW5nVG9wKCksXG4gICAgICAgICAgcGFkZGluZ0JvdHRvbSA9IHRoaXMuZ2V0UGFkZGluZ0JvdHRvbSgpLFxuICAgICAgICAgIGJvcmRlclRvcFdpZHRoID0gdGhpcy5nZXRCb3JkZXJUb3BXaWR0aCgpLFxuICAgICAgICAgIGluaXRpYWxMaW5lQ291bnQgPSB0aGlzLmdldEluaXRpYWxMaW5lQ291bnQoKSxcbiAgICAgICAgICBib3JkZXJCb3R0b21XaWR0aCA9IHRoaXMuZ2V0Qm9yZGVyQm90dG9tV2lkdGgoKSxcbiAgICAgICAgICBzY3JvbGxiYXJUaGlja25lc3MgPSB0aGlzLmdldFNjcm9sbGJhclRoaWNrbmVzcygpLFxuICAgICAgICAgIGhlaWdodCA9IGJvcmRlclRvcFdpZHRoICsgcGFkZGluZ1RvcCArIGluaXRpYWxMaW5lQ291bnQgKiBsaW5lSGVpZ2h0ICsgcGFkZGluZ0JvdHRvbSArIGJvcmRlckJvdHRvbVdpZHRoICsgc2Nyb2xsYmFyVGhpY2tuZXNzO1xuXG4gICAgdGhpcy5zZXRIZWlnaHQoaGVpZ2h0KTtcblxuICAgIHRoaXMucmVzaXplKCk7XG5cbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgY29uc3QgeyBmaXJhQ29kZSA9IERFRkFVTFRfRklSQV9DT0RFLCBkZWZlclJlbmRlciA9IERFRkFVTFRfREVGRVJfUkVOREVSIH0gPSB0aGlzLnByb3BlcnRpZXM7XG5cbiAgICBpZiAoZmlyYUNvZGUpIHtcbiAgICAgIHRoaXMuYWRkQ2xhc3MoXCJmaXJhLWNvZGVcIik7XG4gICAgfVxuXG4gICAgaWYgKGRlZmVyUmVuZGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIHdpbGxVbm1vdW50KCkge1xuICAgIGNvbnN0IHsgZmlyYUNvZGUgPSBERUZBVUxUX0ZJUkFfQ09ERSB9ID0gdGhpcy5wcm9wZXJ0aWVzO1xuXG4gICAgaWYgKGZpcmFDb2RlKSB7XG4gICAgICB0aGlzLnJlbW92ZUNsYXNzKFwiZmlyYS1jb2RlXCIpO1xuICAgIH1cbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgY29uc3QgeyBoaWRkZW5HdXR0ZXIgPSBERUZBVUxUX0hJRERFTl9HVVRURVIsIGhpZGRlblNjcm9sbGJhcnMgPSBERUZBVUxUX0hJRERFTl9TQ1JPTExCQVJTLCBmYW5jeVNjcm9sbGJhcnMgPSBERUZBVUxUX0ZBTkNZX1NDUk9MTEJBUlMgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICBjaGFuZ2VIYW5kbGVyID0gdGhpcy5jaGFuZ2VIYW5kbGVyLmJpbmQodGhpcyksXG4gICAgICAgICAgc2Nyb2xsSGFuZGxlciA9IHRoaXMuc2Nyb2xsSGFuZGxlci5iaW5kKHRoaXMpLFxuICAgICAgICAgIHNjcm9sbGJhclRoaWNrbmVzcyA9IHRoaXMuZ2V0U2Nyb2xsYmFyVGhpY2tuZXNzKCk7XG5cbiAgICByZXR1cm4gKFtcblxuICAgICAgPFByZXR0eVByaW50ZXIgaGlkZGVuR3V0dGVyPXtoaWRkZW5HdXR0ZXJ9IHNjcm9sbGJhclRoaWNrbmVzcz17c2Nyb2xsYmFyVGhpY2tuZXNzfSAvPixcbiAgICAgIDxSaWNoVGV4dGFyZWEgb25DaGFuZ2U9e2NoYW5nZUhhbmRsZXJ9IG9uU2Nyb2xsPXtzY3JvbGxIYW5kbGVyfSBoaWRkZW5TY3JvbGxiYXJzPXtoaWRkZW5TY3JvbGxiYXJzfSBmYW5jeVNjcm9sbGJhcnM9e2ZhbmN5U2Nyb2xsYmFyc30gYWN0aXZlIC8+XG5cbiAgICBdKTtcbiAgfVxuXG4gIHBhcmVudENvbnRleHQoKSB7XG4gICAgY29uc3QgZ2V0UGx1Z2luID0gdGhpcy5nZXRQbHVnaW4uYmluZCh0aGlzKSxcbiAgICAgICAgICBnZXRDb250ZW50ID0gdGhpcy5nZXRDb250ZW50LmJpbmQodGhpcyksXG4gICAgICAgICAgdXBkYXRlWWFwcCA9IHRoaXMudXBkYXRlLmJpbmQodGhpcyksICAvLy9cbiAgICAgICAgICByZXNpemVZYXBwID0gdGhpcy5yZXNpemUuYmluZCh0aGlzKSwgIC8vL1xuICAgICAgICAgIHNldFlhcHBXaWR0aCA9IHRoaXMuc2V0V2lkdGguYmluZCh0aGlzKSwgIC8vL1xuICAgICAgICAgIHNldFlhcHBIZWlnaHQgPSB0aGlzLnNldEhlaWdodC5iaW5kKHRoaXMpLCAgLy8vXG4gICAgICAgICAgc2V0WWFwcExleGVyID0gdGhpcy5zZXRMZXhlci5iaW5kKHRoaXMpLCAgLy8vXG4gICAgICAgICAgc2V0WWFwcFBhcnNlciA9IHRoaXMuc2V0UGFyc2VyLmJpbmQodGhpcyk7ICAvLy9cblxuICAgIHJldHVybiAoe1xuICAgICAgZ2V0UGx1Z2luLFxuICAgICAgZ2V0Q29udGVudCxcbiAgICAgIHVwZGF0ZVlhcHAsXG4gICAgICByZXNpemVZYXBwLFxuICAgICAgc2V0WWFwcFdpZHRoLFxuICAgICAgc2V0WWFwcEhlaWdodCxcbiAgICAgIHNldFlhcHBMZXhlcixcbiAgICAgIHNldFlhcHBQYXJzZXJcbiAgICB9KTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICBjb25zdCB7IGNoaWxkRWxlbWVudHMsIGVkaXRhYmxlID0gREVGQVVMVF9FRElUQUJMRSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIGxhbmd1YWdlID0gdGhpcy5wbHVnaW4uZ2V0TGFuZ3VhZ2UoKSxcbiAgICAgICAgICBjb250ZW50ID0gY29udGVudEZyb21DaGlsZEVsZW1lbnRzKGNoaWxkRWxlbWVudHMpLFxuICAgICAgICAgIHJlYWRPbmx5ID0gIWVkaXRhYmxlLFxuICAgICAgICAgIHNjcm9sbFRvcCA9IDAsICAvLy9cbiAgICAgICAgICBzY3JvbGxMZWZ0ID0gMDsgLy8vXG5cbiAgICB0aGlzLnNldExhbmd1YWdlKGxhbmd1YWdlKTtcblxuICAgIHRoaXMuc2Nyb2xsUHJldHR5UHJpbnRlcihzY3JvbGxUb3AsIHNjcm9sbExlZnQpO1xuXG4gICAgdGhpcy5zZXRSaWNoVGV4dGFyZWFDb250ZW50KGNvbnRlbnQpO1xuXG4gICAgdGhpcy5zZXRSaWNoVGV4dGFyZWFSZWFkT25seShyZWFkT25seSk7XG5cbiAgICB0aGlzLm9uUmVzaXplKChldmVudCwgZWxlbWVudCkgPT4gdGhpcy5yZXNpemUoKSk7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJ5YXBwXCJcbiAgfTtcblxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXG4gICAgXCJQbHVnaW5cIixcbiAgICBcImxhbmd1YWdlXCIsXG4gICAgXCJmaXJhQ29kZVwiLFxuICAgIFwiZWRpdGFibGVcIixcbiAgICBcImRlZmVyUmVuZGVyXCIsXG4gICAgXCJoaWRkZW5HdXR0ZXJcIixcbiAgICBcIm5vU2Nyb2xsYmFyc1wiLFxuICAgIFwiZmFuY3lTY3JvbGxiYXJzXCJcbiAgXTtcblxuICBzdGF0aWMgZnJvbUNvbnRlbnQoY29udGVudCwgbGFuZ3VhZ2UsIFBsdWdpbiwgb3B0aW9ucykge1xuICAgIGNvbnN0IENsYXNzID0gWWFwcCxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllc0Zyb21Db250ZW50TGFuZ3VhZ2VQbHVnaW5BbmRPcHRpb25zKGNvbnRlbnQsIGxhbmd1YWdlLCBQbHVnaW4sIG9wdGlvbnMpLFxuICAgICAgICAgIHBsdWdpbiA9IHBsdWdpbkZyb21MYW5ndWFnZUFuZFBsdWdpbihsYW5ndWFnZSwgUGx1Z2luKSxcbiAgICAgICAgICB5YXBwID0gRWxlbWVudC5mcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMsIHBsdWdpbik7XG5cbiAgICByZXR1cm4geWFwcDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMpIHtcbiAgICBjb25zdCB7IGxhbmd1YWdlLCBQbHVnaW4gfSA9IHByb3BlcnRpZXMsXG4gICAgICAgICAgcGx1Z2luID0gcGx1Z2luRnJvbUxhbmd1YWdlQW5kUGx1Z2luKGxhbmd1YWdlLCBQbHVnaW4pLFxuICAgICAgICAgIHlhcHAgPSBFbGVtZW50LmZyb21DbGFzcyhDbGFzcywgcHJvcGVydGllcywgcGx1Z2luKTtcblxuICAgIHJldHVybiB5YXBwO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oWWFwcC5wcm90b3R5cGUsIHN0eWxlTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKFlhcHApYFxuXG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIFxuICBjb2xvcjogJHtjb2xvdXJ9O1xuICBjYXJldC1jb2xvcjogJHtjYXJldENvbG91cn07XG4gIGJvcmRlci1jb2xvcjogJHtib3JkZXJDb2xvdXJ9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2JhY2tncm91bmRDb2xvdXJ9O1xuXG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1lbmxvXCIsIFwiTHVjaWRhIFNhbnMgVHlwZXdyaXRlclwiLCBtb25vc3BhY2U7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsO1xuXG4gIC5maXJhLWNvZGUge1xuXG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZpcmEgQ29kZVwiO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImNhbHRcIiAxO1xuICAgIFxuICB9XG5cbmA7XG4iXSwibmFtZXMiOlsiWWFwcCIsInNlbGVjdG9yIiwicGx1Z2luIiwiZ2V0UGx1Z2luIiwiZ2V0Q29udGVudCIsInJpY2hUZXh0YXJlYUNvbnRlbnQiLCJnZXRSaWNoVGV4dGFyZWFDb250ZW50IiwiY29udGVudCIsImdldElubmVyQm91bmRzIiwiZ3V0dGVyV2lkdGgiLCJ0b3AiLCJsZWZ0Iiwid2lkdGgiLCJnZXRXaWR0aCIsImhlaWdodCIsImdldEhlaWdodCIsInBhZGRpbmdUb3AiLCJnZXRQYWRkaW5nVG9wIiwicGFkZGluZ0xlZnQiLCJnZXRQYWRkaW5nTGVmdCIsInBhZGRpbmdSaWdodCIsImdldFBhZGRpbmdSaWdodCIsInBhZGRpbmdCb3R0b20iLCJnZXRQYWRkaW5nQm90dG9tIiwiYm9yZGVyVG9wV2lkdGgiLCJnZXRCb3JkZXJUb3BXaWR0aCIsImJvcmRlckxlZnRXaWR0aCIsImdldEJvcmRlckxlZnRXaWR0aCIsImJvcmRlclJpZ2h0V2lkdGgiLCJnZXRCb3JkZXJSaWdodFdpZHRoIiwiYm9yZGVyQm90dG9tV2lkdGgiLCJnZXRCb3JkZXJCb3R0b21XaWR0aCIsImJvdW5kcyIsIkJvdW5kcyIsImZyb21Ub3BMZWZ0V2lkdGhBbmRIZWlnaHQiLCJpbm5lckJvdW5kcyIsImdldEluaXRpYWxMaW5lQ291bnQiLCJsaW5lQ291bnQiLCJsaW5lQ291bnRGcm9tQ29udGVudCIsImluaXRpYWxMaW5lQ291bnQiLCJnZXRTY3JvbGxiYXJUaGlja25lc3MiLCJzY3JvbGxiYXJUaGlja25lc3MiLCJwcm9wZXJ0aWVzIiwiaGlkZGVuU2Nyb2xsYmFycyIsIkRFRkFVTFRfSElEREVOX1NDUk9MTEJBUlMiLCJmYW5jeVNjcm9sbGJhcnMiLCJERUZBVUxUX0ZBTkNZX1NDUk9MTEJBUlMiLCJzZXRMZXhlciIsImxleGVyIiwic2V0UGFyc2VyIiwicGFyc2VyIiwiY2hhbmdlSGFuZGxlciIsImV2ZW50IiwiZWxlbWVudCIsInJpY2hUZXh0YXJlYSIsImNvbnRlbnRDaGFuZ2VkIiwiaGFzQ29udGVudENoYW5nZWQiLCJvbkNvbnRlbnRDaGFuZ2UiLCJjb250ZW50Q2hhbmdlSGFuZGxlciIsInVwZGF0ZSIsInNjcm9sbEhhbmRsZXIiLCJzY3JvbGxUb3AiLCJnZXRTY3JvbGxUb3AiLCJzY3JvbGxMZWZ0IiwiZ2V0U2Nyb2xsTGVmdCIsInNjcm9sbFByZXR0eVByaW50ZXIiLCJ0b2tlbnMiLCJnZXRUb2tlbnMiLCJ1cGRhdGVQcmV0dHlQcmludGVyIiwicmljaFRleHRhcmVhQm91bmRzIiwic2V0UmljaFRleHRhcmVhQm91bmRzIiwicmVzaXplIiwicHJldHR5UHJpbnRlckJvdW5kcyIsInNldFByZXR0eVByaW50ZXJCb3VuZHMiLCJyZXNpemVQcmV0dHlQcmludGVyIiwicmVuZGVyIiwibGluZUhlaWdodCIsImdldExpbmVIZWlnaHQiLCJzZXRIZWlnaHQiLCJkaWRNb3VudCIsImZpcmFDb2RlIiwiREVGQVVMVF9GSVJBX0NPREUiLCJkZWZlclJlbmRlciIsIkRFRkFVTFRfREVGRVJfUkVOREVSIiwiYWRkQ2xhc3MiLCJ3aWxsVW5tb3VudCIsInJlbW92ZUNsYXNzIiwiY2hpbGRFbGVtZW50cyIsImhpZGRlbkd1dHRlciIsIkRFRkFVTFRfSElEREVOX0dVVFRFUiIsImJpbmQiLCJQcmV0dHlQcmludGVyIiwiUmljaFRleHRhcmVhIiwib25DaGFuZ2UiLCJvblNjcm9sbCIsImFjdGl2ZSIsInBhcmVudENvbnRleHQiLCJ1cGRhdGVZYXBwIiwicmVzaXplWWFwcCIsInNldFlhcHBXaWR0aCIsInNldFdpZHRoIiwic2V0WWFwcEhlaWdodCIsInNldFlhcHBMZXhlciIsInNldFlhcHBQYXJzZXIiLCJpbml0aWFsaXNlIiwiYXNzaWduQ29udGV4dCIsImVkaXRhYmxlIiwiREVGQVVMVF9FRElUQUJMRSIsImxhbmd1YWdlIiwiZ2V0TGFuZ3VhZ2UiLCJjb250ZW50RnJvbUNoaWxkRWxlbWVudHMiLCJyZWFkT25seSIsInNldExhbmd1YWdlIiwic2V0UmljaFRleHRhcmVhQ29udGVudCIsInNldFJpY2hUZXh0YXJlYVJlYWRPbmx5Iiwib25SZXNpemUiLCJmcm9tQ29udGVudCIsIlBsdWdpbiIsIm9wdGlvbnMiLCJDbGFzcyIsInByb3BlcnRpZXNGcm9tQ29udGVudExhbmd1YWdlUGx1Z2luQW5kT3B0aW9ucyIsInBsdWdpbkZyb21MYW5ndWFnZUFuZFBsdWdpbiIsInlhcHAiLCJFbGVtZW50IiwiZnJvbUNsYXNzIiwidGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJzdHlsZU1peGlucyIsIndpdGhTdHlsZSIsImNvbG91ciIsImNhcmV0Q29sb3VyIiwiYm9yZGVyQ29sb3VyIiwiYmFja2dyb3VuZENvbG91ciJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7OztBQUVTLElBQUEsY0FBaUIsa0NBQWpCLGlCQUFpQixFQUFBO0FBRUEsSUFBQSxLQUFNLFdBQU4sTUFBTSxDQUFBO0FBRXJCLElBQUEsTUFBZ0Isa0NBQWhCLGdCQUFnQixFQUFBO0FBQ2YsSUFBQSxhQUFnQixrQ0FBaEIsZ0JBQWdCLEVBQUE7QUFDZixJQUFBLGNBQWlCLGtDQUFqQixpQkFBaUIsRUFBQTtBQUVMLElBQUEsbUJBQWdDLFdBQWhDLGdDQUFnQyxDQUFBO0FBQzFCLElBQUEsT0FBb0IsV0FBcEIsb0JBQW9CLENBQUE7QUFDRixJQUFBLFdBQXdCLFdBQXhCLHdCQUF3QixDQUFBO0FBQ3ZCLElBQUEsUUFBcUIsV0FBckIscUJBQXFCLENBQUE7QUFDaEIsSUFBQSxPQUFpQixXQUFqQixpQkFBaUIsQ0FBQTtBQUNpRSxJQUFBLFNBQVksV0FBWixZQUFZLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
434
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy95YXBwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBSZWFjdCwgQm91bmRzLCBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcblxuaW1wb3J0IHN0eWxlTWl4aW5zIGZyb20gXCIuL21peGlucy9zdHlsZVwiO1xuaW1wb3J0IFJpY2hUZXh0YXJlYSBmcm9tIFwiLi9yaWNoVGV4dGFyZWFcIjtcbmltcG9ydCBQcmV0dHlQcmludGVyIGZyb20gXCIuL3ByZXR0eVByaW50ZXJcIjtcblxuaW1wb3J0IHsgZ2V0U2Nyb2xsYmFyVGhpY2tuZXNzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3Njcm9sbGJhclRoaWNrbmVzc1wiO1xuaW1wb3J0IHsgcGx1Z2luRnJvbUxhbmd1YWdlQW5kUGx1Z2luIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3BsdWdpblwiO1xuaW1wb3J0IHsgcHJvcGVydGllc0Zyb21Db250ZW50TGFuZ3VhZ2VQbHVnaW5BbmRPcHRpb25zIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3Byb3BlcnRpZXNcIjtcbmltcG9ydCB7IGxpbmVDb3VudEZyb21Db250ZW50LCBjb250ZW50RnJvbUNoaWxkRWxlbWVudHMgfSBmcm9tIFwiLi91dGlsaXRpZXMvY29udGVudFwiO1xuaW1wb3J0IHsgY29sb3VyLCBjYXJldENvbG91ciwgYm9yZGVyQ29sb3VyLCBiYWNrZ3JvdW5kQ29sb3VyIH0gZnJvbSBcIi4vc2NoZW1lL2NvbG91clwiO1xuaW1wb3J0IHsgREVGQVVMVF9FRElUQUJMRSwgREVGQVVMVF9GSVJBX0NPREUsIERFRkFVTFRfREVGRVJfUkVOREVSLCBERUZBVUxUX0hJRERFTl9HVVRURVIsIERFRkFVTFRfSElEREVOX1NDUk9MTEJBUlMsIERFRkFVTFRfRkFOQ1lfU0NST0xMQkFSUyB9IGZyb20gXCIuL2RlZmF1bHRzXCI7XG5cbmNsYXNzIFlhcHAgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3Ioc2VsZWN0b3IsIHBsdWdpbikge1xuICAgIHN1cGVyKHNlbGVjdG9yKTtcblxuICAgIHRoaXMucGx1Z2luID0gcGx1Z2luO1xuICB9XG5cbiAgZ2V0UGx1Z2luKCkge1xuICAgIHJldHVybiB0aGlzLnBsdWdpbjtcbiAgfVxuXG4gIGdldENvbnRlbnQoKSB7XG4gICAgY29uc3QgcmljaFRleHRhcmVhQ29udGVudCA9IHRoaXMuZ2V0UmljaFRleHRhcmVhQ29udGVudCgpLFxuICAgICAgICAgIGNvbnRlbnQgPSByaWNoVGV4dGFyZWFDb250ZW50OyAgLy8vXG5cbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIGdldElubmVyQm91bmRzKGd1dHRlcldpZHRoKSB7XG4gICAgbGV0IHRvcCxcbiAgICAgICAgbGVmdCxcbiAgICAgICAgd2lkdGggPSB0aGlzLmdldFdpZHRoKCksXG4gICAgICAgIGhlaWdodCA9IHRoaXMuZ2V0SGVpZ2h0KCk7XG5cbiAgICBjb25zdCBwYWRkaW5nVG9wID0gdGhpcy5nZXRQYWRkaW5nVG9wKCksXG4gICAgICAgICAgcGFkZGluZ0xlZnQgPSB0aGlzLmdldFBhZGRpbmdMZWZ0KCksXG4gICAgICAgICAgcGFkZGluZ1JpZ2h0ID0gdGhpcy5nZXRQYWRkaW5nUmlnaHQoKSxcbiAgICAgICAgICBwYWRkaW5nQm90dG9tID0gdGhpcy5nZXRQYWRkaW5nQm90dG9tKCksXG4gICAgICAgICAgYm9yZGVyVG9wV2lkdGggPSB0aGlzLmdldEJvcmRlclRvcFdpZHRoKCksXG4gICAgICAgICAgYm9yZGVyTGVmdFdpZHRoID0gdGhpcy5nZXRCb3JkZXJMZWZ0V2lkdGgoKSxcbiAgICAgICAgICBib3JkZXJSaWdodFdpZHRoID0gdGhpcy5nZXRCb3JkZXJSaWdodFdpZHRoKCksXG4gICAgICAgICAgYm9yZGVyQm90dG9tV2lkdGggPSB0aGlzLmdldEJvcmRlckJvdHRvbVdpZHRoKCk7XG5cbiAgICB0b3AgPSBib3JkZXJUb3BXaWR0aCArIHBhZGRpbmdUb3A7XG4gICAgbGVmdCA9IGJvcmRlckxlZnRXaWR0aCArIHBhZGRpbmdMZWZ0O1xuXG4gICAgd2lkdGggLT0gKCBib3JkZXJMZWZ0V2lkdGggKyBwYWRkaW5nTGVmdCArIHBhZGRpbmdSaWdodCArIGJvcmRlclJpZ2h0V2lkdGggKTtcbiAgICBoZWlnaHQgLT0gKCBib3JkZXJUb3BXaWR0aCArIHBhZGRpbmdUb3AgKyBwYWRkaW5nQm90dG9tICsgYm9yZGVyQm90dG9tV2lkdGggKTtcblxuICAgIGlmIChndXR0ZXJXaWR0aCAhPT0gbnVsbCkge1xuICAgICAgbGVmdCArPSBndXR0ZXJXaWR0aDtcbiAgICAgIHdpZHRoIC09IGd1dHRlcldpZHRoO1xuICAgIH1cblxuICAgIGNvbnN0IGJvdW5kcyA9IEJvdW5kcy5mcm9tVG9wTGVmdFdpZHRoQW5kSGVpZ2h0KHRvcCwgbGVmdCwgd2lkdGgsIGhlaWdodCksXG4gICAgICAgICAgaW5uZXJCb3VuZHMgPSBib3VuZHM7IC8vL1xuXG4gICAgcmV0dXJuIGlubmVyQm91bmRzO1xuICB9XG5cbiAgZ2V0SW5pdGlhbExpbmVDb3VudCgpIHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXG4gICAgICAgICAgbGluZUNvdW50ID0gbGluZUNvdW50RnJvbUNvbnRlbnQoY29udGVudCksXG4gICAgICAgICAgaW5pdGlhbExpbmVDb3VudCA9IGxpbmVDb3VudDsgLy8vXG5cbiAgICByZXR1cm4gaW5pdGlhbExpbmVDb3VudDtcbiAgfVxuXG4gIGdldFNjcm9sbGJhclRoaWNrbmVzcygpIHtcbiAgICBsZXQgc2Nyb2xsYmFyVGhpY2tuZXNzID0gMDtcblxuICAgIGNvbnN0IHsgaGlkZGVuU2Nyb2xsYmFycyA9IERFRkFVTFRfSElEREVOX1NDUk9MTEJBUlMgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIGlmICghaGlkZGVuU2Nyb2xsYmFycykge1xuICAgICAgY29uc3QgeyBmYW5jeVNjcm9sbGJhcnMgPSBERUZBVUxUX0ZBTkNZX1NDUk9MTEJBUlMgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgICAgc2Nyb2xsYmFyVGhpY2tuZXNzID0gZ2V0U2Nyb2xsYmFyVGhpY2tuZXNzKGZhbmN5U2Nyb2xsYmFycyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNjcm9sbGJhclRoaWNrbmVzcztcbiAgfVxuXG4gIHNldExleGVyKGxleGVyKSB7IHRoaXMucGx1Z2luLnNldExleGVyKGxleGVyKTsgfVxuXG4gIHNldFBhcnNlcihwYXJzZXIpIHsgdGhpcy5wbHVnaW4uc2V0UGFyc2VyKHBhcnNlcik7IH1cblxuICBjaGFuZ2VIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gICAgY29uc3QgcmljaFRleHRhcmVhID0gZWxlbWVudCwgLy8vXG4gICAgICAgICAgY29udGVudENoYW5nZWQgPSByaWNoVGV4dGFyZWEuaGFzQ29udGVudENoYW5nZWQoKTtcblxuICAgIGlmIChjb250ZW50Q2hhbmdlZCkge1xuICAgICAgY29uc3QgeyBvbkNvbnRlbnRDaGFuZ2UgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICAgIGNvbnRlbnRDaGFuZ2VIYW5kbGVyID0gb25Db250ZW50Q2hhbmdlOyAvLy9cblxuICAgICAgdGhpcy51cGRhdGUoKTtcblxuICAgICAgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgICBjb250ZW50Q2hhbmdlSGFuZGxlciAmJiBjb250ZW50Q2hhbmdlSGFuZGxlcihldmVudCwgZWxlbWVudCk7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHNjcm9sbEhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgICBjb25zdCByaWNoVGV4dGFyZWEgPSBlbGVtZW50LCAvLy9cbiAgICAgICAgICBzY3JvbGxUb3AgPSByaWNoVGV4dGFyZWEuZ2V0U2Nyb2xsVG9wKCksXG4gICAgICAgICAgc2Nyb2xsTGVmdCA9IHJpY2hUZXh0YXJlYS5nZXRTY3JvbGxMZWZ0KCk7XG5cbiAgICB0aGlzLnNjcm9sbFByZXR0eVByaW50ZXIoc2Nyb2xsVG9wLCBzY3JvbGxMZWZ0KTtcbiAgfVxuXG4gIHVwZGF0ZSgpIHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCk7XG5cbiAgICB0aGlzLnBsdWdpbi51cGRhdGUoY29udGVudCk7XG5cbiAgICBjb25zdCB0b2tlbnMgPSB0aGlzLnBsdWdpbi5nZXRUb2tlbnMoKSxcbiAgICAgICAgICBndXR0ZXJXaWR0aCA9IHRoaXMudXBkYXRlUHJldHR5UHJpbnRlcih0b2tlbnMpO1xuXG4gICAgaWYgKGd1dHRlcldpZHRoICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBpbm5lckJvdW5kcyA9IHRoaXMuZ2V0SW5uZXJCb3VuZHMoZ3V0dGVyV2lkdGgpLFxuICAgICAgICAgICAgcmljaFRleHRhcmVhQm91bmRzID0gaW5uZXJCb3VuZHM7IC8vL1xuXG4gICAgICB0aGlzLnNldFJpY2hUZXh0YXJlYUJvdW5kcyhyaWNoVGV4dGFyZWFCb3VuZHMpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2l6ZSgpIHtcbiAgICBsZXQgaW5uZXJCb3VuZHMsXG4gICAgICAgIGd1dHRlcldpZHRoO1xuXG4gICAgZ3V0dGVyV2lkdGggPSBudWxsO1xuXG4gICAgaW5uZXJCb3VuZHMgPSB0aGlzLmdldElubmVyQm91bmRzKGd1dHRlcldpZHRoKTtcblxuICAgIGNvbnN0IHByZXR0eVByaW50ZXJCb3VuZHMgPSBpbm5lckJvdW5kczsgIC8vL1xuXG4gICAgdGhpcy5zZXRQcmV0dHlQcmludGVyQm91bmRzKHByZXR0eVByaW50ZXJCb3VuZHMpO1xuXG4gICAgZ3V0dGVyV2lkdGggPSB0aGlzLnJlc2l6ZVByZXR0eVByaW50ZXIoKTtcblxuICAgIGlubmVyQm91bmRzID0gdGhpcy5nZXRJbm5lckJvdW5kcyhndXR0ZXJXaWR0aCk7XG5cbiAgICBjb25zdCByaWNoVGV4dGFyZWFCb3VuZHMgPSBpbm5lckJvdW5kczsgLy8vXG5cbiAgICB0aGlzLnNldFJpY2hUZXh0YXJlYUJvdW5kcyhyaWNoVGV4dGFyZWFCb3VuZHMpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGxpbmVIZWlnaHQgPSB0aGlzLmdldExpbmVIZWlnaHQoKSxcbiAgICAgICAgICBwYWRkaW5nVG9wID0gdGhpcy5nZXRQYWRkaW5nVG9wKCksXG4gICAgICAgICAgcGFkZGluZ0JvdHRvbSA9IHRoaXMuZ2V0UGFkZGluZ0JvdHRvbSgpLFxuICAgICAgICAgIGJvcmRlclRvcFdpZHRoID0gdGhpcy5nZXRCb3JkZXJUb3BXaWR0aCgpLFxuICAgICAgICAgIGluaXRpYWxMaW5lQ291bnQgPSB0aGlzLmdldEluaXRpYWxMaW5lQ291bnQoKSxcbiAgICAgICAgICBib3JkZXJCb3R0b21XaWR0aCA9IHRoaXMuZ2V0Qm9yZGVyQm90dG9tV2lkdGgoKSxcbiAgICAgICAgICBzY3JvbGxiYXJUaGlja25lc3MgPSB0aGlzLmdldFNjcm9sbGJhclRoaWNrbmVzcygpLFxuICAgICAgICAgIGhlaWdodCA9IGJvcmRlclRvcFdpZHRoICsgcGFkZGluZ1RvcCArIGluaXRpYWxMaW5lQ291bnQgKiBsaW5lSGVpZ2h0ICsgcGFkZGluZ0JvdHRvbSArIGJvcmRlckJvdHRvbVdpZHRoICsgc2Nyb2xsYmFyVGhpY2tuZXNzO1xuXG4gICAgdGhpcy5zZXRIZWlnaHQoaGVpZ2h0KTtcblxuICAgIHRoaXMucmVzaXplKCk7XG5cbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgY29uc3QgeyBmaXJhQ29kZSA9IERFRkFVTFRfRklSQV9DT0RFLCBkZWZlclJlbmRlciA9IERFRkFVTFRfREVGRVJfUkVOREVSIH0gPSB0aGlzLnByb3BlcnRpZXM7XG5cbiAgICBpZiAoZmlyYUNvZGUpIHtcbiAgICAgIHRoaXMuYWRkQ2xhc3MoXCJmaXJhLWNvZGVcIik7XG4gICAgfVxuXG4gICAgaWYgKGRlZmVyUmVuZGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIHdpbGxVbm1vdW50KCkge1xuICAgIGNvbnN0IHsgZmlyYUNvZGUgPSBERUZBVUxUX0ZJUkFfQ09ERSB9ID0gdGhpcy5wcm9wZXJ0aWVzO1xuXG4gICAgaWYgKGZpcmFDb2RlKSB7XG4gICAgICB0aGlzLnJlbW92ZUNsYXNzKFwiZmlyYS1jb2RlXCIpO1xuICAgIH1cbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgY29uc3QgeyBoaWRkZW5HdXR0ZXIgPSBERUZBVUxUX0hJRERFTl9HVVRURVIsIGhpZGRlblNjcm9sbGJhcnMgPSBERUZBVUxUX0hJRERFTl9TQ1JPTExCQVJTLCBmYW5jeVNjcm9sbGJhcnMgPSBERUZBVUxUX0ZBTkNZX1NDUk9MTEJBUlMgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICBjaGFuZ2VIYW5kbGVyID0gdGhpcy5jaGFuZ2VIYW5kbGVyLmJpbmQodGhpcyksXG4gICAgICAgICAgc2Nyb2xsSGFuZGxlciA9IHRoaXMuc2Nyb2xsSGFuZGxlci5iaW5kKHRoaXMpLFxuICAgICAgICAgIHNjcm9sbGJhclRoaWNrbmVzcyA9IHRoaXMuZ2V0U2Nyb2xsYmFyVGhpY2tuZXNzKCk7XG5cbiAgICByZXR1cm4gKFtcblxuICAgICAgPFByZXR0eVByaW50ZXIgaGlkZGVuR3V0dGVyPXtoaWRkZW5HdXR0ZXJ9IHNjcm9sbGJhclRoaWNrbmVzcz17c2Nyb2xsYmFyVGhpY2tuZXNzfSAvPixcbiAgICAgIDxSaWNoVGV4dGFyZWEgb25DaGFuZ2U9e2NoYW5nZUhhbmRsZXJ9IG9uU2Nyb2xsPXtzY3JvbGxIYW5kbGVyfSBoaWRkZW5TY3JvbGxiYXJzPXtoaWRkZW5TY3JvbGxiYXJzfSBmYW5jeVNjcm9sbGJhcnM9e2ZhbmN5U2Nyb2xsYmFyc30gYWN0aXZlIC8+XG5cbiAgICBdKTtcbiAgfVxuXG4gIHBhcmVudENvbnRleHQoKSB7XG4gICAgY29uc3QgZ2V0UGx1Z2luID0gdGhpcy5nZXRQbHVnaW4uYmluZCh0aGlzKSxcbiAgICAgICAgICBnZXRDb250ZW50ID0gdGhpcy5nZXRDb250ZW50LmJpbmQodGhpcyksXG4gICAgICAgICAgdXBkYXRlWWFwcCA9IHRoaXMudXBkYXRlLmJpbmQodGhpcyksICAvLy9cbiAgICAgICAgICByZXNpemVZYXBwID0gdGhpcy5yZXNpemUuYmluZCh0aGlzKSwgIC8vL1xuICAgICAgICAgIHNldFlhcHBXaWR0aCA9IHRoaXMuc2V0V2lkdGguYmluZCh0aGlzKSwgIC8vL1xuICAgICAgICAgIHNldFlhcHBIZWlnaHQgPSB0aGlzLnNldEhlaWdodC5iaW5kKHRoaXMpLCAgLy8vXG4gICAgICAgICAgc2V0WWFwcExleGVyID0gdGhpcy5zZXRMZXhlci5iaW5kKHRoaXMpLCAgLy8vXG4gICAgICAgICAgc2V0WWFwcFBhcnNlciA9IHRoaXMuc2V0UGFyc2VyLmJpbmQodGhpcyk7ICAvLy9cblxuICAgIHJldHVybiAoe1xuICAgICAgZ2V0UGx1Z2luLFxuICAgICAgZ2V0Q29udGVudCxcbiAgICAgIHVwZGF0ZVlhcHAsXG4gICAgICByZXNpemVZYXBwLFxuICAgICAgc2V0WWFwcFdpZHRoLFxuICAgICAgc2V0WWFwcEhlaWdodCxcbiAgICAgIHNldFlhcHBMZXhlcixcbiAgICAgIHNldFlhcHBQYXJzZXJcbiAgICB9KTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICBjb25zdCB7IGNoaWxkRWxlbWVudHMsIGVkaXRhYmxlID0gREVGQVVMVF9FRElUQUJMRSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIGxhbmd1YWdlID0gdGhpcy5wbHVnaW4uZ2V0TGFuZ3VhZ2UoKSxcbiAgICAgICAgICBjb250ZW50ID0gY29udGVudEZyb21DaGlsZEVsZW1lbnRzKGNoaWxkRWxlbWVudHMpLFxuICAgICAgICAgIHJlYWRPbmx5ID0gIWVkaXRhYmxlLFxuICAgICAgICAgIHNjcm9sbFRvcCA9IDAsICAvLy9cbiAgICAgICAgICBzY3JvbGxMZWZ0ID0gMDsgLy8vXG5cbiAgICB0aGlzLnNldExhbmd1YWdlKGxhbmd1YWdlKTtcblxuICAgIHRoaXMuc2Nyb2xsUHJldHR5UHJpbnRlcihzY3JvbGxUb3AsIHNjcm9sbExlZnQpO1xuXG4gICAgdGhpcy5zZXRSaWNoVGV4dGFyZWFDb250ZW50KGNvbnRlbnQpO1xuXG4gICAgdGhpcy5zZXRSaWNoVGV4dGFyZWFSZWFkT25seShyZWFkT25seSk7XG5cbiAgICB0aGlzLm9uUmVzaXplKChldmVudCwgZWxlbWVudCkgPT4gdGhpcy5yZXNpemUoKSk7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJ5YXBwXCJcbiAgfTtcblxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXG4gICAgXCJQbHVnaW5cIixcbiAgICBcImxhbmd1YWdlXCIsXG4gICAgXCJmaXJhQ29kZVwiLFxuICAgIFwiZWRpdGFibGVcIixcbiAgICBcImRlZmVyUmVuZGVyXCIsXG4gICAgXCJoaWRkZW5HdXR0ZXJcIixcbiAgICBcIm5vU2Nyb2xsYmFyc1wiLFxuICAgIFwiZmFuY3lTY3JvbGxiYXJzXCJcbiAgXTtcblxuICBzdGF0aWMgZnJvbUNvbnRlbnQoY29udGVudCwgbGFuZ3VhZ2UsIFBsdWdpbiwgb3B0aW9ucykge1xuICAgIGNvbnN0IENsYXNzID0gWWFwcCxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllc0Zyb21Db250ZW50TGFuZ3VhZ2VQbHVnaW5BbmRPcHRpb25zKGNvbnRlbnQsIGxhbmd1YWdlLCBQbHVnaW4sIG9wdGlvbnMpLFxuICAgICAgICAgIHBsdWdpbiA9IHBsdWdpbkZyb21MYW5ndWFnZUFuZFBsdWdpbihsYW5ndWFnZSwgUGx1Z2luKSxcbiAgICAgICAgICB5YXBwID0gRWxlbWVudC5mcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMsIHBsdWdpbik7XG5cbiAgICByZXR1cm4geWFwcDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMpIHtcbiAgICBjb25zdCB7IGxhbmd1YWdlLCBQbHVnaW4gfSA9IHByb3BlcnRpZXMsXG4gICAgICAgICAgcGx1Z2luID0gcGx1Z2luRnJvbUxhbmd1YWdlQW5kUGx1Z2luKGxhbmd1YWdlLCBQbHVnaW4pLFxuICAgICAgICAgIHlhcHAgPSBFbGVtZW50LmZyb21DbGFzcyhDbGFzcywgcHJvcGVydGllcywgcGx1Z2luKTtcblxuICAgIHJldHVybiB5YXBwO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oWWFwcC5wcm90b3R5cGUsIHN0eWxlTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKFlhcHApYFxuXG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIFxuICBjb2xvcjogJHtjb2xvdXJ9O1xuICBjYXJldC1jb2xvcjogJHtjYXJldENvbG91cn07XG4gIGJvcmRlci1jb2xvcjogJHtib3JkZXJDb2xvdXJ9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2JhY2tncm91bmRDb2xvdXJ9O1xuXG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1lbmxvXCIsIFwiTHVjaWRhIFNhbnMgVHlwZXdyaXRlclwiLCBtb25vc3BhY2U7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsO1xuXG4gIC5maXJhLWNvZGUge1xuXG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZpcmEgQ29kZVwiO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImNhbHRcIiAxO1xuICAgIFxuICB9XG5cbmA7XG4iXSwibmFtZXMiOlsiWWFwcCIsInNlbGVjdG9yIiwicGx1Z2luIiwiZ2V0UGx1Z2luIiwiZ2V0Q29udGVudCIsInJpY2hUZXh0YXJlYUNvbnRlbnQiLCJnZXRSaWNoVGV4dGFyZWFDb250ZW50IiwiY29udGVudCIsImdldElubmVyQm91bmRzIiwiZ3V0dGVyV2lkdGgiLCJ0b3AiLCJsZWZ0Iiwid2lkdGgiLCJnZXRXaWR0aCIsImhlaWdodCIsImdldEhlaWdodCIsInBhZGRpbmdUb3AiLCJnZXRQYWRkaW5nVG9wIiwicGFkZGluZ0xlZnQiLCJnZXRQYWRkaW5nTGVmdCIsInBhZGRpbmdSaWdodCIsImdldFBhZGRpbmdSaWdodCIsInBhZGRpbmdCb3R0b20iLCJnZXRQYWRkaW5nQm90dG9tIiwiYm9yZGVyVG9wV2lkdGgiLCJnZXRCb3JkZXJUb3BXaWR0aCIsImJvcmRlckxlZnRXaWR0aCIsImdldEJvcmRlckxlZnRXaWR0aCIsImJvcmRlclJpZ2h0V2lkdGgiLCJnZXRCb3JkZXJSaWdodFdpZHRoIiwiYm9yZGVyQm90dG9tV2lkdGgiLCJnZXRCb3JkZXJCb3R0b21XaWR0aCIsImJvdW5kcyIsIkJvdW5kcyIsImZyb21Ub3BMZWZ0V2lkdGhBbmRIZWlnaHQiLCJpbm5lckJvdW5kcyIsImdldEluaXRpYWxMaW5lQ291bnQiLCJsaW5lQ291bnQiLCJsaW5lQ291bnRGcm9tQ29udGVudCIsImluaXRpYWxMaW5lQ291bnQiLCJnZXRTY3JvbGxiYXJUaGlja25lc3MiLCJzY3JvbGxiYXJUaGlja25lc3MiLCJwcm9wZXJ0aWVzIiwiaGlkZGVuU2Nyb2xsYmFycyIsIkRFRkFVTFRfSElEREVOX1NDUk9MTEJBUlMiLCJmYW5jeVNjcm9sbGJhcnMiLCJERUZBVUxUX0ZBTkNZX1NDUk9MTEJBUlMiLCJzZXRMZXhlciIsImxleGVyIiwic2V0UGFyc2VyIiwicGFyc2VyIiwiY2hhbmdlSGFuZGxlciIsImV2ZW50IiwiZWxlbWVudCIsInJpY2hUZXh0YXJlYSIsImNvbnRlbnRDaGFuZ2VkIiwiaGFzQ29udGVudENoYW5nZWQiLCJvbkNvbnRlbnRDaGFuZ2UiLCJjb250ZW50Q2hhbmdlSGFuZGxlciIsInVwZGF0ZSIsInNjcm9sbEhhbmRsZXIiLCJzY3JvbGxUb3AiLCJnZXRTY3JvbGxUb3AiLCJzY3JvbGxMZWZ0IiwiZ2V0U2Nyb2xsTGVmdCIsInNjcm9sbFByZXR0eVByaW50ZXIiLCJ0b2tlbnMiLCJnZXRUb2tlbnMiLCJ1cGRhdGVQcmV0dHlQcmludGVyIiwicmljaFRleHRhcmVhQm91bmRzIiwic2V0UmljaFRleHRhcmVhQm91bmRzIiwicmVzaXplIiwicHJldHR5UHJpbnRlckJvdW5kcyIsInNldFByZXR0eVByaW50ZXJCb3VuZHMiLCJyZXNpemVQcmV0dHlQcmludGVyIiwicmVuZGVyIiwibGluZUhlaWdodCIsImdldExpbmVIZWlnaHQiLCJzZXRIZWlnaHQiLCJkaWRNb3VudCIsImZpcmFDb2RlIiwiREVGQVVMVF9GSVJBX0NPREUiLCJkZWZlclJlbmRlciIsIkRFRkFVTFRfREVGRVJfUkVOREVSIiwiYWRkQ2xhc3MiLCJ3aWxsVW5tb3VudCIsInJlbW92ZUNsYXNzIiwiY2hpbGRFbGVtZW50cyIsImhpZGRlbkd1dHRlciIsIkRFRkFVTFRfSElEREVOX0dVVFRFUiIsImJpbmQiLCJQcmV0dHlQcmludGVyIiwiUmljaFRleHRhcmVhIiwib25DaGFuZ2UiLCJvblNjcm9sbCIsImFjdGl2ZSIsInBhcmVudENvbnRleHQiLCJ1cGRhdGVZYXBwIiwicmVzaXplWWFwcCIsInNldFlhcHBXaWR0aCIsInNldFdpZHRoIiwic2V0WWFwcEhlaWdodCIsInNldFlhcHBMZXhlciIsInNldFlhcHBQYXJzZXIiLCJpbml0aWFsaXNlIiwiYXNzaWduQ29udGV4dCIsImVkaXRhYmxlIiwiREVGQVVMVF9FRElUQUJMRSIsImxhbmd1YWdlIiwiZ2V0TGFuZ3VhZ2UiLCJjb250ZW50RnJvbUNoaWxkRWxlbWVudHMiLCJyZWFkT25seSIsInNldExhbmd1YWdlIiwic2V0UmljaFRleHRhcmVhQ29udGVudCIsInNldFJpY2hUZXh0YXJlYVJlYWRPbmx5Iiwib25SZXNpemUiLCJmcm9tQ29udGVudCIsIlBsdWdpbiIsIm9wdGlvbnMiLCJDbGFzcyIsInByb3BlcnRpZXNGcm9tQ29udGVudExhbmd1YWdlUGx1Z2luQW5kT3B0aW9ucyIsInBsdWdpbkZyb21MYW5ndWFnZUFuZFBsdWdpbiIsInlhcHAiLCJFbGVtZW50IiwiZnJvbUNsYXNzIiwidGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJzdHlsZU1peGlucyIsIndpdGhTdHlsZSIsImNvbG91ciIsImNhcmV0Q29sb3VyIiwiYm9yZGVyQ29sb3VyIiwiYmFja2dyb3VuZENvbG91ciJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7OztBQUVTLElBQUEsY0FBaUIsa0NBQWpCLGlCQUFpQixFQUFBO0FBRUEsSUFBQSxLQUFNLFdBQU4sTUFBTSxDQUFBO0FBRXJCLElBQUEsTUFBZ0Isa0NBQWhCLGdCQUFnQixFQUFBO0FBQ2YsSUFBQSxhQUFnQixrQ0FBaEIsZ0JBQWdCLEVBQUE7QUFDZixJQUFBLGNBQWlCLGtDQUFqQixpQkFBaUIsRUFBQTtBQUVMLElBQUEsbUJBQWdDLFdBQWhDLGdDQUFnQyxDQUFBO0FBQzFCLElBQUEsT0FBb0IsV0FBcEIsb0JBQW9CLENBQUE7QUFDRixJQUFBLFdBQXdCLFdBQXhCLHdCQUF3QixDQUFBO0FBQ3ZCLElBQUEsUUFBcUIsV0FBckIscUJBQXFCLENBQUE7QUFDaEIsSUFBQSxPQUFpQixXQUFqQixpQkFBaUIsQ0FBQTtBQUNpRSxJQUFBLFNBQVksV0FBWixZQUFZLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEssSUFBQSxBQUFNQSxJQUFJLGlCQTRRUCxBQTVRSDs7O2FBQU1BLElBQUksQ0FDSUMsUUFBUSxFQUFFQyxNQUFNOzs7a0NBQ3BCRCxRQUFRLEVBQUU7UUFFaEIsTUFBS0MsTUFBTSxHQUFHQSxNQUFNLENBQUM7Ozs7O1lBR3ZCQyxHQUFTLEVBQVRBLFdBQVM7bUJBQVRBLFNBQUFBLFNBQVMsR0FBRztnQkFDVixPQUFPLElBQUksQ0FBQ0QsTUFBTSxDQUFDO2FBQ3BCOzs7WUFFREUsR0FBVSxFQUFWQSxZQUFVO21CQUFWQSxTQUFBQSxVQUFVLEdBQUc7Z0JBQ1gsSUFBTUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDQyxzQkFBc0IsRUFBRSxFQUNuREMsT0FBTyxHQUFHRixtQkFBbUIsQUFBQyxFQUFFLEdBQUc7Z0JBRXpDLE9BQU9FLE9BQU8sQ0FBQzthQUNoQjs7O1lBRURDLEdBQWMsRUFBZEEsZ0JBQWM7bUJBQWRBLFNBQUFBLGNBQWMsQ0FBQ0MsV0FBVyxFQUFFO2dCQUMxQixJQUFJQyxHQUFHLEVBQ0hDLElBQUksRUFDSkMsS0FBSyxHQUFHLElBQUksQ0FBQ0MsUUFBUSxFQUFFLEVBQ3ZCQyxNQUFNLEdBQUcsSUFBSSxDQUFDQyxTQUFTLEVBQUUsQUFBQztnQkFFOUIsSUFBTUMsVUFBVSxHQUFHLElBQUksQ0FBQ0MsYUFBYSxFQUFFLEVBQ2pDQyxXQUFXLEdBQUcsSUFBSSxDQUFDQyxjQUFjLEVBQUUsRUFDbkNDLFlBQVksR0FBRyxJQUFJLENBQUNDLGVBQWUsRUFBRSxFQUNyQ0MsYUFBYSxHQUFHLElBQUksQ0FBQ0MsZ0JBQWdCLEVBQUUsRUFDdkNDLGNBQWMsR0FBRyxJQUFJLENBQUNDLGlCQUFpQixFQUFFLEVBQ3pDQyxlQUFlLEdBQUcsSUFBSSxDQUFDQyxrQkFBa0IsRUFBRSxFQUMzQ0MsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDQyxtQkFBbUIsRUFBRSxFQUM3Q0MsaUJBQWlCLEdBQUcsSUFBSSxDQUFDQyxvQkFBb0IsRUFBRSxBQUFDO2dCQUV0RHJCLEdBQUcsR0FBR2MsY0FBYyxHQUFHUixVQUFVLENBQUM7Z0JBQ2xDTCxJQUFJLEdBQUdlLGVBQWUsR0FBR1IsV0FBVyxDQUFDO2dCQUVyQ04sS0FBSyxJQUFNYyxlQUFlLEdBQUdSLFdBQVcsR0FBR0UsWUFBWSxHQUFHUSxnQkFBZ0IsQUFBRSxDQUFDO2dCQUM3RWQsTUFBTSxJQUFNVSxjQUFjLEdBQUdSLFVBQVUsR0FBR00sYUFBYSxHQUFHUSxpQkFBaUIsQUFBRSxDQUFDO2dCQUU5RSxJQUFJckIsV0FBVyxLQUFLLElBQUksRUFBRTtvQkFDeEJFLElBQUksSUFBSUYsV0FBVyxDQUFDO29CQUNwQkcsS0FBSyxJQUFJSCxXQUFXLENBQUM7aUJBQ3RCO2dCQUVELElBQU11QixNQUFNLEdBQUdDLEtBQU0sT0FBQSxDQUFDQyx5QkFBeUIsQ0FBQ3hCLEdBQUcsRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVFLE1BQU0sQ0FBQyxFQUNuRXFCLFdBQVcsR0FBR0gsTUFBTSxBQUFDLEVBQUMsR0FBRztnQkFFL0IsT0FBT0csV0FBVyxDQUFDO2FBQ3BCOzs7WUFFREMsR0FBbUIsRUFBbkJBLHFCQUFtQjttQkFBbkJBLFNBQUFBLG1CQUFtQixHQUFHO2dCQUNwQixJQUFNN0IsT0FBTyxHQUFHLElBQUksQ0FBQ0gsVUFBVSxFQUFFLEVBQzNCaUMsU0FBUyxHQUFHQyxDQUFBQSxHQUFBQSxRQUFvQixBQUFTLENBQUEscUJBQVQsQ0FBQy9CLE9BQU8sQ0FBQyxFQUN6Q2dDLGdCQUFnQixHQUFHRixTQUFTLEFBQUMsRUFBQyxHQUFHO2dCQUV2QyxPQUFPRSxnQkFBZ0IsQ0FBQzthQUN6Qjs7O1lBRURDLEdBQXFCLEVBQXJCQSx1QkFBcUI7bUJBQXJCQSxTQUFBQSxxQkFBcUIsR0FBRztnQkFDdEIsSUFBSUMsa0JBQWtCLEdBQUcsQ0FBQyxBQUFDO2dCQUUzQixJQUF5RCxXQUFlLEdBQWYsSUFBSSxDQUFDQyxVQUFVLHNCQUFmLFdBQWUsQ0FBaEVDLGdCQUFnQixFQUFoQkEsZ0JBQWdCLGtDQUFHQyxTQUF5QiwwQkFBQSxvQkFBQSxBQUFxQjtnQkFFekUsSUFBSSxDQUFDRCxnQkFBZ0IsRUFBRTtvQkFDckIsSUFBdUQsWUFBZSxHQUFmLElBQUksQ0FBQ0QsVUFBVSxxQkFBZixZQUFlLENBQTlERyxlQUFlLEVBQWZBLGVBQWUsaUNBQUdDLFNBQXdCLHlCQUFBLG1CQUFBLEFBQXFCO29CQUV2RUwsa0JBQWtCLEdBQUdELENBQUFBLEdBQUFBLG1CQUFxQixBQUFpQixDQUFBLHNCQUFqQixDQUFDSyxlQUFlLENBQUMsQ0FBQztpQkFDN0Q7Z0JBRUQsT0FBT0osa0JBQWtCLENBQUM7YUFDM0I7OztZQUVETSxHQUFRLEVBQVJBLFVBQVE7bUJBQVJBLFNBQUFBLFFBQVEsQ0FBQ0MsS0FBSyxFQUFFO2dCQUFFLElBQUksQ0FBQzlDLE1BQU0sQ0FBQzZDLFFBQVEsQ0FBQ0MsS0FBSyxDQUFDLENBQUM7YUFBRTs7O1lBRWhEQyxHQUFTLEVBQVRBLFdBQVM7bUJBQVRBLFNBQUFBLFNBQVMsQ0FBQ0MsTUFBTSxFQUFFO2dCQUFFLElBQUksQ0FBQ2hELE1BQU0sQ0FBQytDLFNBQVMsQ0FBQ0MsTUFBTSxDQUFDLENBQUM7YUFBRTs7O1lBRXBEQyxHQUFhLEVBQWJBLGVBQWE7bUJBQWJBLFNBQUFBLGFBQWEsQ0FBQ0MsS0FBSyxFQUFFQyxPQUFPLEVBQUU7Z0JBQzVCLElBQU1DLFlBQVksR0FBR0QsT0FBTyxFQUN0QkUsY0FBYyxHQUFHRCxZQUFZLENBQUNFLGlCQUFpQixFQUFFLEFBQUM7Z0JBRXhELElBQUlELGNBQWMsRUFBRTtvQkFDbEIsSUFBTSxBQUFFRSxlQUFlLEdBQUssSUFBSSxDQUFDZixVQUFVLENBQW5DZSxlQUFlLEFBQW9CLEVBQ3JDQyxvQkFBb0IsR0FBR0QsZUFBZSxBQUFDLEVBQUMsR0FBRztvQkFFakQsSUFBSSxDQUFDRSxNQUFNLEVBQUUsQ0FBQztvQkFFZE4sT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUc7b0JBRW5CSyxvQkFBb0IsSUFBSUEsb0JBQW9CLENBQUNOLEtBQUssRUFBRUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHO2lCQUNsRTthQUNGOzs7WUFFRE8sR0FBYSxFQUFiQSxlQUFhO21CQUFiQSxTQUFBQSxhQUFhLENBQUNSLEtBQUssRUFBRUMsT0FBTyxFQUFFO2dCQUM1QixJQUFNQyxZQUFZLEdBQUdELE9BQU8sRUFDdEJRLFNBQVMsR0FBR1AsWUFBWSxDQUFDUSxZQUFZLEVBQUUsRUFDdkNDLFVBQVUsR0FBR1QsWUFBWSxDQUFDVSxhQUFhLEVBQUUsQUFBQztnQkFFaEQsSUFBSSxDQUFDQyxtQkFBbUIsQ0FBQ0osU0FBUyxFQUFFRSxVQUFVLENBQUMsQ0FBQzthQUNqRDs7O1lBRURKLEdBQU0sRUFBTkEsUUFBTTttQkFBTkEsU0FBQUEsTUFBTSxHQUFHO2dCQUNQLElBQU1wRCxPQUFPLEdBQUcsSUFBSSxDQUFDSCxVQUFVLEVBQUUsQUFBQztnQkFFbEMsSUFBSSxDQUFDRixNQUFNLENBQUN5RCxNQUFNLENBQUNwRCxPQUFPLENBQUMsQ0FBQztnQkFFNUIsSUFBTTJELE1BQU0sR0FBRyxJQUFJLENBQUNoRSxNQUFNLENBQUNpRSxTQUFTLEVBQUUsRUFDaEMxRCxXQUFXLEdBQUcsSUFBSSxDQUFDMkQsbUJBQW1CLENBQUNGLE1BQU0sQ0FBQyxBQUFDO2dCQUVyRCxJQUFJekQsV0FBVyxLQUFLLElBQUksRUFBRTtvQkFDeEIsSUFBTTBCLFdBQVcsR0FBRyxJQUFJLENBQUMzQixjQUFjLENBQUNDLFdBQVcsQ0FBQyxFQUM5QzRELGtCQUFrQixHQUFHbEMsV0FBVyxBQUFDLEVBQUMsR0FBRztvQkFFM0MsSUFBSSxDQUFDbUMscUJBQXFCLENBQUNELGtCQUFrQixDQUFDLENBQUM7aUJBQ2hEO2FBQ0Y7OztZQUVERSxHQUFNLEVBQU5BLFFBQU07bUJBQU5BLFNBQUFBLE1BQU0sR0FBRztnQkFDUCxJQUFJcEMsV0FBVyxFQUNYMUIsV0FBVyxBQUFDO2dCQUVoQkEsV0FBVyxHQUFHLElBQUksQ0FBQztnQkFFbkIwQixXQUFXLEdBQUcsSUFBSSxDQUFDM0IsY0FBYyxDQUFDQyxXQUFXLENBQUMsQ0FBQztnQkFFL0MsSUFBTStELG1CQUFtQixHQUFHckMsV0FBVyxBQUFDLEVBQUUsR0FBRztnQkFFN0MsSUFBSSxDQUFDc0Msc0JBQXNCLENBQUNELG1CQUFtQixDQUFDLENBQUM7Z0JBRWpEL0QsV0FBVyxHQUFHLElBQUksQ0FBQ2lFLG1CQUFtQixFQUFFLENBQUM7Z0JBRXpDdkMsV0FBVyxHQUFHLElBQUksQ0FBQzNCLGNBQWMsQ0FBQ0MsV0FBVyxDQUFDLENBQUM7Z0JBRS9DLElBQU00RCxrQkFBa0IsR0FBR2xDLFdBQVcsQUFBQyxFQUFDLEdBQUc7Z0JBRTNDLElBQUksQ0FBQ21DLHFCQUFxQixDQUFDRCxrQkFBa0IsQ0FBQyxDQUFDO2FBQ2hEOzs7WUFFRE0sR0FBTSxFQUFOQSxRQUFNO21CQUFOQSxTQUFBQSxNQUFNLEdBQUc7Z0JBQ1AsSUFBTUMsVUFBVSxHQUFHLElBQUksQ0FBQ0MsYUFBYSxFQUFFLEVBQ2pDN0QsVUFBVSxHQUFHLElBQUksQ0FBQ0MsYUFBYSxFQUFFLEVBQ2pDSyxhQUFhLEdBQUcsSUFBSSxDQUFDQyxnQkFBZ0IsRUFBRSxFQUN2Q0MsY0FBYyxHQUFHLElBQUksQ0FBQ0MsaUJBQWlCLEVBQUUsRUFDekNjLGdCQUFnQixHQUFHLElBQUksQ0FBQ0gsbUJBQW1CLEVBQUUsRUFDN0NOLGlCQUFpQixHQUFHLElBQUksQ0FBQ0Msb0JBQW9CLEVBQUUsRUFDL0NVLGtCQUFrQixHQUFHLElBQUksQ0FBQ0QscUJBQXFCLEVBQUUsRUFDakQxQixNQUFNLEdBQUdVLGNBQWMsR0FBR1IsVUFBVSxHQUFHdUIsZ0JBQWdCLEdBQUdxQyxVQUFVLEdBQUd0RCxhQUFhLEdBQUdRLGlCQUFpQixHQUFHVyxrQkFBa0IsQUFBQztnQkFFcEksSUFBSSxDQUFDcUMsU0FBUyxDQUFDaEUsTUFBTSxDQUFDLENBQUM7Z0JBRXZCLElBQUksQ0FBQ3lELE1BQU0sRUFBRSxDQUFDO2dCQUVkLElBQUksQ0FBQ1osTUFBTSxFQUFFLENBQUM7YUFDZjs7O1lBRURvQixHQUFRLEVBQVJBLFVBQVE7bUJBQVJBLFNBQUFBLFFBQVEsR0FBRztnQkFDVCxJQUE2RSxXQUFlLEdBQWYsSUFBSSxDQUFDckMsVUFBVSxjQUFmLFdBQWUsQ0FBcEZzQyxRQUFRLEVBQVJBLFFBQVEsMEJBQUdDLFNBQWlCLGtCQUFBLFlBQUEsaUJBQXlDLFdBQWUsQ0FBdERDLFdBQVcsRUFBWEEsV0FBVyw2QkFBR0MsU0FBb0IscUJBQUEsZUFBQSxBQUFxQjtnQkFFN0YsSUFBSUgsUUFBUSxFQUFFO29CQUNaLElBQUksQ0FBQ0ksUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUM1QjtnQkFFRCxJQUFJRixXQUFXLEVBQUU7b0JBQ2YsT0FBTztpQkFDUjtnQkFFRCxJQUFJLENBQUNQLE1BQU0sRUFBRSxDQUFDO2FBQ2Y7OztZQUVEVSxHQUFXLEVBQVhBLGFBQVc7bUJBQVhBLFNBQUFBLFdBQVcsR0FBRztnQkFDWixJQUF5QyxXQUFlLEdBQWYsSUFBSSxDQUFDM0MsVUFBVSxjQUFmLFdBQWUsQ0FBaERzQyxRQUFRLEVBQVJBLFFBQVEsMEJBQUdDLFNBQWlCLGtCQUFBLFlBQUEsQUFBcUI7Z0JBRXpELElBQUlELFFBQVEsRUFBRTtvQkFDWixJQUFJLENBQUNNLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDL0I7YUFDRjs7O1lBRURDLEdBQWEsRUFBYkEsZUFBYTttQkFBYkEsU0FBQUEsYUFBYSxHQUFHO2dCQUNkLElBQTJJLFdBQWUsR0FBZixJQUFJLENBQUM3QyxVQUFVLGtCQUFmLFdBQWUsQ0FBbEo4QyxZQUFZLEVBQVpBLFlBQVksOEJBQUdDLFNBQXFCLHNCQUFBLGdCQUFBLHNCQUErRixXQUFlLENBQTVHOUMsZ0JBQWdCLEVBQWhCQSxnQkFBZ0Isa0NBQUdDLFNBQXlCLDBCQUFBLG9CQUFBLHFCQUFpRCxXQUFlLENBQTlEQyxlQUFlLEVBQWZBLGVBQWUsaUNBQUdDLFNBQXdCLHlCQUFBLG1CQUFBLEVBQ2hJSyxhQUFhLEdBQUcsSUFBSSxDQUFDQSxhQUFhLENBQUN1QyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQzdDOUIsYUFBYSxHQUFHLElBQUksQ0FBQ0EsYUFBYSxDQUFDOEIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUM3Q2pELGtCQUFrQixHQUFHLElBQUksQ0FBQ0QscUJBQXFCLEVBQUUsQUFBQztnQkFFeEQsT0FBUTtrQ0FFTiwwQkFBQ21ELGNBQWEsUUFBQTt3QkFBQ0gsWUFBWSxFQUFFQSxZQUFZO3dCQUFFL0Msa0JBQWtCLEVBQUVBLGtCQUFrQjtzQkFBSTtrQ0FDckYsMEJBQUNtRCxhQUFZLFFBQUE7d0JBQUNDLFFBQVEsRUFBRTFDLGFBQWE7d0JBQUUyQyxRQUFRLEVBQUVsQyxhQUFhO3dCQUFFakIsZ0JBQWdCLEVBQUVBLGdCQUFnQjt3QkFBRUUsZUFBZSxFQUFFQSxlQUFlO3dCQUFFa0QsTUFBTSxFQUFOQSxJQUFNO3NCQUFHO2lCQUVoSixDQUFFO2FBQ0o7OztZQUVEQyxHQUFhLEVBQWJBLGVBQWE7bUJBQWJBLFNBQUFBLGFBQWEsR0FBRztnQkFDZCxJQUFNN0YsU0FBUyxHQUFHLElBQUksQ0FBQ0EsU0FBUyxDQUFDdUYsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUNyQ3RGLFVBQVUsR0FBRyxJQUFJLENBQUNBLFVBQVUsQ0FBQ3NGLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDdkNPLFVBQVUsR0FBRyxJQUFJLENBQUN0QyxNQUFNLENBQUMrQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQ25DUSxVQUFVLEdBQUcsSUFBSSxDQUFDM0IsTUFBTSxDQUFDbUIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUNuQ1MsWUFBWSxHQUFHLElBQUksQ0FBQ0MsUUFBUSxDQUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQ3ZDVyxhQUFhLEdBQUcsSUFBSSxDQUFDdkIsU0FBUyxDQUFDWSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQ3pDWSxZQUFZLEdBQUcsSUFBSSxDQUFDdkQsUUFBUSxDQUFDMkMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUN2Q2EsYUFBYSxHQUFHLElBQUksQ0FBQ3RELFNBQVMsQ0FBQ3lDLElBQUksQ0FBQyxJQUFJLENBQUMsQUFBQyxFQUFFLEdBQUc7Z0JBRXJELE9BQVE7b0JBQ052RixTQUFTLEVBQVRBLFNBQVM7b0JBQ1RDLFVBQVUsRUFBVkEsVUFBVTtvQkFDVjZGLFVBQVUsRUFBVkEsVUFBVTtvQkFDVkMsVUFBVSxFQUFWQSxVQUFVO29CQUNWQyxZQUFZLEVBQVpBLFlBQVk7b0JBQ1pFLGFBQWEsRUFBYkEsYUFBYTtvQkFDYkMsWUFBWSxFQUFaQSxZQUFZO29CQUNaQyxhQUFhLEVBQWJBLGFBQWE7aUJBQ2QsQ0FBRTthQUNKOzs7WUFFREMsR0FBVSxFQUFWQSxZQUFVO21CQUFWQSxTQUFBQSxVQUFVLEdBQUc7O2dCQUNYLElBQUksQ0FBQ0MsYUFBYSxFQUFFLENBQUM7Z0JBRXJCLElBQXVELFdBQWUsR0FBZixJQUFJLENBQUMvRCxVQUFVLEVBQTlENkMsYUFBYSxHQUFrQyxXQUFlLENBQTlEQSxhQUFhLGNBQWtDLFdBQWUsQ0FBL0NtQixRQUFRLEVBQVJBLFFBQVEsMEJBQUdDLFNBQWdCLGlCQUFBLFlBQUEsRUFDNUNDLFFBQVEsR0FBRyxJQUFJLENBQUMxRyxNQUFNLENBQUMyRyxXQUFXLEVBQUUsRUFDcEN0RyxPQUFPLEdBQUd1RyxDQUFBQSxHQUFBQSxRQUF3QixBQUFlLENBQUEseUJBQWYsQ0FBQ3ZCLGFBQWEsQ0FBQyxFQUNqRHdCLFFBQVEsR0FBRyxDQUFDTCxRQUFRLEVBQ3BCN0MsU0FBUyxHQUFHLENBQUMsRUFDYkUsVUFBVSxHQUFHLENBQUMsQUFBQyxFQUFDLEdBQUc7Z0JBRXpCLElBQUksQ0FBQ2lELFdBQVcsQ0FBQ0osUUFBUSxDQUFDLENBQUM7Z0JBRTNCLElBQUksQ0FBQzNDLG1CQUFtQixDQUFDSixTQUFTLEVBQUVFLFVBQVUsQ0FBQyxDQUFDO2dCQUVoRCxJQUFJLENBQUNrRCxzQkFBc0IsQ0FBQzFHLE9BQU8sQ0FBQyxDQUFDO2dCQUVyQyxJQUFJLENBQUMyRyx1QkFBdUIsQ0FBQ0gsUUFBUSxDQUFDLENBQUM7Z0JBRXZDLElBQUksQ0FBQ0ksUUFBUSxDQUFDLFNBQUMvRCxLQUFLLEVBQUVDLE9BQU87MkJBQUssTUFBS2tCLE1BQU0sRUFBRTtpQkFBQSxDQUFDLENBQUM7YUFDbEQ7Ozs7WUFtQk02QyxHQUFXLEVBQVhBLGFBQVc7bUJBQWxCLFNBQU9BLFdBQVcsQ0FBQzdHLE9BQU8sRUFBRXFHLFFBQVEsRUFBRVMsTUFBTSxFQUFFQyxPQUFPLEVBQUU7Z0JBQ3JELElBQU1DLEtBQUssR0FBR3ZILElBQUksRUFDWjBDLFVBQVUsR0FBRzhFLENBQUFBLEdBQUFBLFdBQTZDLEFBQW9DLENBQUEsOENBQXBDLENBQUNqSCxPQUFPLEVBQUVxRyxRQUFRLEVBQUVTLE1BQU0sRUFBRUMsT0FBTyxDQUFDLEVBQzlGcEgsTUFBTSxHQUFHdUgsQ0FBQUEsR0FBQUEsT0FBMkIsQUFBa0IsQ0FBQSw0QkFBbEIsQ0FBQ2IsUUFBUSxFQUFFUyxNQUFNLENBQUMsRUFDdERLLElBQUksR0FBR0MsS0FBTyxRQUFBLENBQUNDLFNBQVMsQ0FBQ0wsS0FBSyxFQUFFN0UsVUFBVSxFQUFFeEMsTUFBTSxDQUFDLEFBQUM7Z0JBRTFELE9BQU93SCxJQUFJLENBQUM7YUFDYjs7O1lBRU1FLEdBQVMsRUFBVEEsV0FBUzttQkFBaEIsU0FBT0EsU0FBUyxDQUFDTCxLQUFLLEVBQUU3RSxVQUFVLEVBQUU7Z0JBQ2xDLElBQVFrRSxRQUFRLEdBQWFsRSxVQUFVLENBQS9Ca0UsUUFBUSxFQUFFUyxNQUFNLEdBQUszRSxVQUFVLENBQXJCMkUsTUFBTSxFQUNsQm5ILE1BQU0sR0FBR3VILENBQUFBLEdBQUFBLE9BQTJCLEFBQWtCLENBQUEsNEJBQWxCLENBQUNiLFFBQVEsRUFBRVMsTUFBTSxDQUFDLEVBQ3RESyxJQUFJLEdBQUdDLEtBQU8sUUFBQSxDQUFDQyxTQUFTLENBQUNMLEtBQUssRUFBRTdFLFVBQVUsRUFBRXhDLE1BQU0sQ0FBQyxBQUFDO2dCQUUxRCxPQUFPd0gsSUFBSSxDQUFDO2FBQ2I7Ozs7Q0FDRixrQkExUWtCQyxLQUFPLFFBQUEsRUEwUXpCO0FBakNDLGdCQXpPSTNILElBQUksRUF5T0Q2SCxTQUFPLEVBQUcsS0FBSyxDQUFDO0FBRXZCLGdCQTNPSTdILElBQUksRUEyT0Q4SCxtQkFBaUIsRUFBRztJQUN6QkMsU0FBUyxFQUFFLE1BQU07Q0FDbEIsQ0FBQztBQUVGLGdCQS9PSS9ILElBQUksRUErT0RnSSxtQkFBaUIsRUFBRztJQUN6QixRQUFRO0lBQ1IsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsYUFBYTtJQUNiLGNBQWM7SUFDZCxjQUFjO0lBQ2QsaUJBQWlCO0NBQ2xCLENBQUM7QUFvQkpDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDbEksSUFBSSxDQUFDbUksU0FBUyxFQUFFQyxNQUFXLFFBQUEsQ0FBQyxDQUFDO2VBRTVCQyxDQUFBQSxHQUFBQSxjQUFTLEFBQU0sQ0FBQSxRQUFOLENBQUNySSxJQUFJLENBQUMsb0JBT25Cc0ksT0FBTSxPQUFBLEVBQ0FDLE9BQVcsWUFBQSxFQUNWQyxPQUFZLGFBQUEsRUFDUkMsT0FBZ0IsaUJBQUEifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "yapp",
3
3
  "author": "James Smith",
4
- "version": "2.2.117",
4
+ "version": "2.2.120",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/yapp",
7
7
  "description": "Yet Another Pretty Printer.",
@@ -12,16 +12,16 @@
12
12
  "dependencies": {
13
13
  "easy": "^13.0.41",
14
14
  "easy-richtextarea": "^3.0.108",
15
- "easy-with-style": "^3.0.139",
15
+ "easy-with-style": "^3.0.141",
16
16
  "necessary": "^11.0.40",
17
17
  "occam-dom": "^3.0.91",
18
- "occam-grammar-utilities": "^5.0.152",
18
+ "occam-grammar-utilities": "^5.0.157",
19
19
  "occam-lexers": "^16.0.20",
20
- "occam-parsers": "^16.0.45"
20
+ "occam-parsers": "^16.0.51"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@swc/core": "^1.2.106",
24
- "easy-layout": "^5.1.9",
24
+ "easy-layout": "^5.1.10",
25
25
  "esbuild": "^0.11.7",
26
26
  "express": "^4.17.1",
27
27
  "juxtapose": "^4.0.42",