@ably/ui 8.7.0-dev.6dec76a → 8.7.0-dev.7072b07

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 (137) hide show
  1. package/core/.DS_Store +0 -0
  2. package/core/Code/component.css +2 -0
  3. package/core/Code/component.js +739 -1
  4. package/core/Code.jsx +557 -410
  5. package/core/CompanyAutocomplete/component.css +2 -0
  6. package/core/CompanyAutocomplete/component.js +1161 -1
  7. package/core/ConnectStateWrapper/component.js +22 -1
  8. package/core/ConnectStateWrapper.jsx +29 -15
  9. package/core/ContactFooter/component.css +2 -0
  10. package/core/ContactFooter/component.js +211 -1
  11. package/core/ContactFooter.jsx +221 -144
  12. package/core/CookieMessage/component.css +2 -0
  13. package/core/CookieMessage/component.js +82 -1
  14. package/core/CookieMessage.jsx +62 -45
  15. package/core/CustomerLogos/component.js +22 -1
  16. package/core/CustomerLogos.jsx +16 -7
  17. package/core/DropdownMenu/component.js +22 -1
  18. package/core/DropdownMenu.jsx +26 -13
  19. package/core/FeatureFooter/component.css +2 -0
  20. package/core/FeatureFooter/component.js +211 -1
  21. package/core/FeaturedLink/component.css +2 -0
  22. package/core/FeaturedLink/component.js +82 -1
  23. package/core/FeaturedLink.jsx +25 -12
  24. package/core/Flash/component.css +2 -0
  25. package/core/Flash/component.js +82 -1
  26. package/core/Flash.jsx +132 -101
  27. package/core/Footer/component.css +2 -0
  28. package/core/Footer/component.js +82 -1
  29. package/core/Footer.jsx +216 -203
  30. package/core/Icon/component.js +22 -1
  31. package/core/Icon.jsx +16 -7
  32. package/core/Loader/component.js +22 -1
  33. package/core/Loader.jsx +16 -7
  34. package/core/Logo/component.js +22 -1
  35. package/core/Logo.jsx +16 -7
  36. package/core/Meganav/component.css +3 -3
  37. package/core/Meganav/component.js +992 -1
  38. package/core/Meganav/component.json +1 -1
  39. package/core/Meganav.jsx +2688 -2342
  40. package/core/MeganavBlogPostsList/component.js +1159 -1
  41. package/core/MeganavBlogPostsList.jsx +34 -17
  42. package/core/MeganavContentCompany/component.js +22 -1
  43. package/core/MeganavContentCompany.jsx +293 -216
  44. package/core/MeganavContentDevelopers/component.js +22 -1
  45. package/core/MeganavContentDevelopers.jsx +58 -20
  46. package/core/MeganavContentPlatform/component.js +1 -1
  47. package/core/MeganavContentPlatform.jsx +26 -50
  48. package/core/MeganavContentProducts/component.js +22 -0
  49. package/core/MeganavContentProducts.jsx +350 -0
  50. package/core/MeganavContentUseCases/component.js +22 -1
  51. package/core/MeganavContentUseCases.jsx +54 -31
  52. package/core/MeganavControl/component.js +241 -1
  53. package/core/MeganavControl.jsx +25 -12
  54. package/core/MeganavControlMobileDropdown/component.js +180 -1
  55. package/core/MeganavControlMobileDropdown.jsx +26 -13
  56. package/core/MeganavControlMobilePanelClose/component.js +142 -1
  57. package/core/MeganavControlMobilePanelClose.jsx +25 -12
  58. package/core/MeganavControlMobilePanelOpen/component.js +170 -1
  59. package/core/MeganavControlMobilePanelOpen.jsx +25 -12
  60. package/core/MeganavItemsDesktop/component.js +22 -1
  61. package/core/MeganavItemsDesktop.jsx +42 -22
  62. package/core/MeganavItemsMobile/component.js +22 -1
  63. package/core/MeganavItemsMobile.jsx +104 -60
  64. package/core/MeganavItemsSignedIn/component.js +22 -1
  65. package/core/MeganavItemsSignedIn.jsx +93 -52
  66. package/core/MeganavSearch/component.js +22 -1
  67. package/core/MeganavSearch.jsx +64 -35
  68. package/core/MeganavSearchAutocomplete/component.js +295 -1
  69. package/core/MeganavSearchAutocomplete.jsx +10 -4
  70. package/core/MeganavSearchPanel/component.js +22 -1
  71. package/core/MeganavSearchPanel.jsx +53 -28
  72. package/core/MeganavSearchSuggestions/component.js +258 -1
  73. package/core/MeganavSearchSuggestions.jsx +34 -17
  74. package/core/Notice/component.css +2 -0
  75. package/core/Notice/component.js +872 -1
  76. package/core/Notice.jsx +380 -307
  77. package/core/Showcase/component.css +2 -0
  78. package/core/Showcase/component.js +343 -1
  79. package/core/Showcase.jsx +4 -1
  80. package/core/SignOutLink/component.js +22 -1
  81. package/core/SignOutLink.jsx +16 -7
  82. package/core/Slider/component.css +2 -0
  83. package/core/Slider/component.js +255 -1
  84. package/core/Slider.jsx +208 -156
  85. package/core/Uptime/component.css +2 -0
  86. package/core/Uptime/component.js +82 -1
  87. package/core/Uptime.jsx +46 -23
  88. package/core/images/best-support-2023.svg +1 -0
  89. package/core/images/fastest-implementation-2023.svg +1 -0
  90. package/core/images/high-performer-2023.svg +1 -0
  91. package/core/images/highest-user-adoption-2023.svg +1 -0
  92. package/core/scripts.js +1465 -1
  93. package/core/sprites.svg +84 -0
  94. package/core/styles.css +3 -7
  95. package/package.json +5 -3
  96. package/reset/scripts.js +1 -1
  97. package/reset/styles.css +1 -11
  98. package/src/.DS_Store +0 -0
  99. package/src/core/.DS_Store +0 -0
  100. package/src/core/Footer/component.html.erb +7 -12
  101. package/src/core/Footer/component.jsx +9 -17
  102. package/src/core/Meganav/component.css +1 -1
  103. package/src/core/Meganav/component.json +1 -1
  104. package/src/core/Meganav/component.jsx +2 -2
  105. package/src/core/Meganav/component.rb +4 -4
  106. package/src/core/MeganavContentCompany/component.html.erb +9 -0
  107. package/src/core/MeganavContentCompany/component.jsx +9 -0
  108. package/src/core/MeganavContentDevelopers/component.html.erb +18 -2
  109. package/src/core/MeganavContentDevelopers/component.jsx +20 -1
  110. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.html.erb +15 -33
  111. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.jsx +18 -39
  112. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.rb +1 -1
  113. package/src/core/MeganavContentUseCases/component.html.erb +21 -14
  114. package/src/core/MeganavContentUseCases/component.jsx +20 -14
  115. package/src/core/MeganavItemsDesktop/component.jsx +1 -1
  116. package/src/core/MeganavItemsDesktop/component.rb +1 -1
  117. package/src/core/core.rb +8 -4
  118. package/src/core/icons/icon-display-asset-tracking-col.svg +18 -0
  119. package/src/core/icons/icon-display-data-broadcast-col.svg +26 -0
  120. package/src/core/icons/icon-display-data-synchronization-col.svg +14 -0
  121. package/src/core/icons/icon-display-events-col.svg +13 -0
  122. package/src/core/icons/icon-display-examples-col.svg +11 -0
  123. package/src/core/icons/icon-display-push-notifications-col.svg +6 -0
  124. package/src/core/icons/icon-social-x.svg +3 -0
  125. package/src/core/images/best-support-2023.svg +1 -0
  126. package/src/core/images/fastest-implementation-2023.svg +1 -0
  127. package/src/core/images/high-performer-2023.svg +1 -0
  128. package/src/core/images/highest-user-adoption-2023.svg +1 -0
  129. package/src/core/styles/text.css +1 -1
  130. package/src/core/utils/syntax-highlighter-registry.js +2 -0
  131. package/src/core/utils/syntax-highlighter.js +5 -0
  132. package/core/Meganav/component.js.LICENSE.txt +0 -7
  133. package/core/MeganavContentWhyAbly/component.js +0 -22
  134. package/core/MeganavContentWhyAbly.jsx +0 -3279
  135. package/core/MeganavSearchAutocomplete/component.js.LICENSE.txt +0 -7
  136. package/core/Notice/component.js.LICENSE.txt +0 -9
  137. /package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.js +0 -0
@@ -1 +1,241 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AblyUi=t():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavControl=t())}(this,(function(){return(()=>{"use strict";var e={9581:(e,t,r)=>{r.d(t,{A:()=>n,n:()=>o});var n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return t.querySelector("[data-id=".concat(e,"]"))},o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return t.querySelectorAll("[data-id=".concat(e,"]"))}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var n={};return(()=>{r.d(n,{default:()=>o});var e=r(9581);function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}const o=function(){var r=Array.from((0,e.n)("meganav-control")),n=Array.from((0,e.n)("meganav-panel")),o=getComputedStyle(document.documentElement).getPropertyValue("--bp-md"),a=function(e){return"search"===e.dataset.control},i=function(e,n,a){if(window.matchMedia("(hover: hover) and (pointer: fine) and (min-width: ".concat(o,")")).matches&&!r.some((function(e){return e===document.activeElement}))&&!function(){var e=document.querySelector('[data-id="meganav-panel"]#panel-search');if(e)return!e.classList.contains("invisible")}()){var i,c=["invisible","visible"];(i=n.classList).replace.apply(i,function(e){if(Array.isArray(e))return t(e)}(u=a?c:c.reverse())||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(u)||function(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}(u)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),e.setAttribute("aria-expanded",a),e.dataset.hover=a}var u};return r.map((function(t){var o,c,u=t.parentNode,s=document.querySelector("#".concat(t.getAttribute("aria-controls"))),l=function(t,o){return function(){r.forEach((function(e){return e!==t&&e.setAttribute("aria-expanded",!1)})),n.forEach((function(e){return e!==o&&e.classList.replace("visible","invisible")}));var i=t.getAttribute("aria-expanded"),c="true"===t.dataset.hover;if("true"!==i||c?(t.setAttribute("aria-expanded",!0),o.classList.replace("invisible","visible")):(t.setAttribute("aria-expanded",!1),o.classList.replace("visible","invisible")),c&&(t.dataset.hover=!1),a(t)){var u=(0,e.A)("meganav-search-input",o);if(!u)return;u.focus()}else t.focus()}}(t,s);return t.addEventListener("click",l),a(t)||(o=function(e,t){return function(){return i(e,t,!0)}}(t,s),c=function(e,t){return function(){return i(e,t,!1)}}(t,s),u.addEventListener("mouseenter",o),u.addEventListener("mouseleave",c)),[{teardown:function(){o&&c&&(u.removeEventListener("mouseenter",o),u.removeEventListener("mouseleave",c)),t.removeEventListener("click",l)},clear:function(){t.setAttribute("aria-expanded",!1),s.classList.replace("visible","invisible")}}]})).flat()}})(),n.default})()}));
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["AblyUi"] = factory();
8
+ else
9
+ root["AblyUi"] = root["AblyUi"] || {}, root["AblyUi"]["Core"] = root["AblyUi"]["Core"] || {}, root["AblyUi"]["Core"]["MeganavControl"] = factory();
10
+ })(this, () => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ /******/ "use strict";
13
+ /******/ var __webpack_modules__ = ({
14
+
15
+ /***/ "./src/core/dom-query.js":
16
+ /*!*******************************!*\
17
+ !*** ./src/core/dom-query.js ***!
18
+ \*******************************/
19
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
20
+
21
+ __webpack_require__.r(__webpack_exports__);
22
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23
+ /* harmony export */ "queryId": () => (/* binding */ queryId),
24
+ /* harmony export */ "queryIdAll": () => (/* binding */ queryIdAll)
25
+ /* harmony export */ });
26
+ var queryId = function queryId(val) {
27
+ var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
28
+ return root.querySelector("[data-id=".concat(val, "]"));
29
+ };
30
+ var queryIdAll = function queryIdAll(val) {
31
+ var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
32
+ return root.querySelectorAll("[data-id=".concat(val, "]"));
33
+ };
34
+
35
+ /***/ })
36
+
37
+ /******/ });
38
+ /************************************************************************/
39
+ /******/ // The module cache
40
+ /******/ var __webpack_module_cache__ = {};
41
+ /******/
42
+ /******/ // The require function
43
+ /******/ function __webpack_require__(moduleId) {
44
+ /******/ // Check if module is in cache
45
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
46
+ /******/ if (cachedModule !== undefined) {
47
+ /******/ return cachedModule.exports;
48
+ /******/ }
49
+ /******/ // Create a new module (and put it into the cache)
50
+ /******/ var module = __webpack_module_cache__[moduleId] = {
51
+ /******/ // no module.id needed
52
+ /******/ // no module.loaded needed
53
+ /******/ exports: {}
54
+ /******/ };
55
+ /******/
56
+ /******/ // Execute the module function
57
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
58
+ /******/
59
+ /******/ // Return the exports of the module
60
+ /******/ return module.exports;
61
+ /******/ }
62
+ /******/
63
+ /************************************************************************/
64
+ /******/ /* webpack/runtime/define property getters */
65
+ /******/ (() => {
66
+ /******/ // define getter functions for harmony exports
67
+ /******/ __webpack_require__.d = (exports, definition) => {
68
+ /******/ for(var key in definition) {
69
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
70
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
71
+ /******/ }
72
+ /******/ }
73
+ /******/ };
74
+ /******/ })();
75
+ /******/
76
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
77
+ /******/ (() => {
78
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
79
+ /******/ })();
80
+ /******/
81
+ /******/ /* webpack/runtime/make namespace object */
82
+ /******/ (() => {
83
+ /******/ // define __esModule on exports
84
+ /******/ __webpack_require__.r = (exports) => {
85
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
86
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
87
+ /******/ }
88
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
89
+ /******/ };
90
+ /******/ })();
91
+ /******/
92
+ /************************************************************************/
93
+ var __webpack_exports__ = {};
94
+ // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
95
+ (() => {
96
+ /*!**********************************************!*\
97
+ !*** ./src/core/MeganavControl/component.js ***!
98
+ \**********************************************/
99
+ __webpack_require__.r(__webpack_exports__);
100
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
101
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
102
+ /* harmony export */ });
103
+ /* harmony import */ var _dom_query__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom-query */ "./src/core/dom-query.js");
104
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
105
+
106
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
107
+
108
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
109
+
110
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
111
+
112
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
113
+
114
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
115
+
116
+
117
+
118
+ var MeganavControl = function MeganavControl() {
119
+ var controls = Array.from((0,_dom_query__WEBPACK_IMPORTED_MODULE_0__.queryIdAll)("meganav-control"));
120
+ var panels = Array.from((0,_dom_query__WEBPACK_IMPORTED_MODULE_0__.queryIdAll)("meganav-panel"));
121
+ var mdBreakpoint = getComputedStyle(document.documentElement).getPropertyValue("--bp-md");
122
+
123
+ var hoverEnabled = function hoverEnabled() {
124
+ return window.matchMedia("(hover: hover) and (pointer: fine) and (min-width: ".concat(mdBreakpoint, ")")).matches;
125
+ };
126
+
127
+ var isSearchControl = function isSearchControl(node) {
128
+ return node.dataset.control === "search";
129
+ };
130
+
131
+ var isSearchPanelOpen = function isSearchPanelOpen() {
132
+ var searchPanel = document.querySelector('[data-id="meganav-panel"]#panel-search');
133
+ if (!searchPanel) return;
134
+ return !searchPanel.classList.contains("invisible");
135
+ };
136
+
137
+ var controlsHaveFocus = function controlsHaveFocus() {
138
+ return controls.some(function (control) {
139
+ return control === document.activeElement;
140
+ });
141
+ };
142
+
143
+ var hover = function hover(control, panel, open) {
144
+ if (hoverEnabled() && !controlsHaveFocus() && !isSearchPanelOpen()) {
145
+ var _panel$classList;
146
+
147
+ var classes = ["invisible", "visible"];
148
+
149
+ (_panel$classList = panel.classList).replace.apply(_panel$classList, _toConsumableArray(open ? classes : classes.reverse()));
150
+
151
+ control.setAttribute("aria-expanded", open);
152
+ control.dataset.hover = open;
153
+ }
154
+ };
155
+
156
+ var mouseenterHandler = function mouseenterHandler(control, panel) {
157
+ return function () {
158
+ return hover(control, panel, true);
159
+ };
160
+ };
161
+
162
+ var mouseleaveHandler = function mouseleaveHandler(control, panel) {
163
+ return function () {
164
+ return hover(control, panel, false);
165
+ };
166
+ };
167
+
168
+ var clickHandler = function clickHandler(control, panel) {
169
+ return function () {
170
+ controls.forEach(function (node) {
171
+ return node !== control && node.setAttribute("aria-expanded", false);
172
+ });
173
+ panels.forEach(function (node) {
174
+ return node !== panel && node.classList.replace("visible", "invisible");
175
+ });
176
+ var ariaExpanded = control.getAttribute("aria-expanded"); // Prevent closing of the panel if it was already opened by hovering
177
+
178
+ var openedByHover = control.dataset.hover === "true";
179
+
180
+ if (ariaExpanded === "true" && !openedByHover) {
181
+ control.setAttribute("aria-expanded", false);
182
+ panel.classList.replace("visible", "invisible");
183
+ } else {
184
+ control.setAttribute("aria-expanded", true);
185
+ panel.classList.replace("invisible", "visible");
186
+ }
187
+
188
+ if (openedByHover) {
189
+ control.dataset.hover = false;
190
+ }
191
+
192
+ if (isSearchControl(control)) {
193
+ var searchInput = (0,_dom_query__WEBPACK_IMPORTED_MODULE_0__.queryId)("meganav-search-input", panel);
194
+ if (!searchInput) return;
195
+ searchInput.focus();
196
+ } else {
197
+ control.focus();
198
+ }
199
+ };
200
+ };
201
+
202
+ return controls.map(function (control) {
203
+ var item = control.parentNode;
204
+ var panel = document.querySelector("#".concat(control.getAttribute("aria-controls")));
205
+ var click = clickHandler(control, panel);
206
+ control.addEventListener("click", click);
207
+ var mouseenter, mouseleave;
208
+
209
+ if (!isSearchControl(control)) {
210
+ mouseenter = mouseenterHandler(control, panel);
211
+ mouseleave = mouseleaveHandler(control, panel);
212
+ item.addEventListener("mouseenter", mouseenter);
213
+ item.addEventListener("mouseleave", mouseleave);
214
+ }
215
+
216
+ return [{
217
+ teardown: function teardown() {
218
+ if (mouseenter && mouseleave) {
219
+ item.removeEventListener("mouseenter", mouseenter);
220
+ item.removeEventListener("mouseleave", mouseleave);
221
+ }
222
+
223
+ control.removeEventListener("click", click);
224
+ },
225
+ clear: function clear() {
226
+ control.setAttribute("aria-expanded", false);
227
+ panel.classList.replace("visible", "invisible");
228
+ }
229
+ }];
230
+ }).flat();
231
+ };
232
+
233
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavControl);
234
+ })();
235
+
236
+ __webpack_exports__ = __webpack_exports__["default"];
237
+ /******/ return __webpack_exports__;
238
+ /******/ })()
239
+ ;
240
+ });
241
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9NZWdhbmF2Q29udHJvbC9jb21wb25lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qyx1REFBdUQ7QUFDOUYsQ0FBQztBQUNELE87Ozs7Ozs7Ozs7Ozs7OztBQ1ZPLElBQU1BLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLEdBQUQ7QUFBQSxNQUFNQyxJQUFOLHVFQUFhQyxRQUFiO0FBQUEsU0FDckJELElBQUksQ0FBQ0UsYUFBTCxvQkFBK0JILEdBQS9CLE9BRHFCO0FBQUEsQ0FBaEI7QUFHQSxJQUFNSSxVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFDSixHQUFEO0FBQUEsTUFBTUMsSUFBTix1RUFBYUMsUUFBYjtBQUFBLFNBQ3hCRCxJQUFJLENBQUNJLGdCQUFMLG9CQUFrQ0wsR0FBbEMsT0FEd0I7QUFBQSxDQUFuQjs7Ozs7O1VDSFA7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTs7VUFFQTtVQUNBOztVQUVBO1VBQ0E7VUFDQTs7Ozs7V0N0QkE7V0FDQTtXQUNBO1dBQ0E7V0FDQSx5Q0FBeUMsd0NBQXdDO1dBQ2pGO1dBQ0E7V0FDQTs7Ozs7V0NQQTs7Ozs7V0NBQTtXQUNBO1dBQ0E7V0FDQSx1REFBdUQsaUJBQWlCO1dBQ3hFO1dBQ0EsZ0RBQWdELGFBQWE7V0FDN0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ05BOztBQUVBLElBQU1NLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsR0FBTTtBQUMzQixNQUFNQyxRQUFRLEdBQUdDLEtBQUssQ0FBQ0MsSUFBTixDQUFXTCxzREFBVSxDQUFDLGlCQUFELENBQXJCLENBQWpCO0FBQ0EsTUFBTU0sTUFBTSxHQUFHRixLQUFLLENBQUNDLElBQU4sQ0FBV0wsc0RBQVUsQ0FBQyxlQUFELENBQXJCLENBQWY7QUFDQSxNQUFNTyxZQUFZLEdBQUdDLGdCQUFnQixDQUNuQ1YsUUFBUSxDQUFDVyxlQUQwQixDQUFoQixDQUVuQkMsZ0JBRm1CLENBRUYsU0FGRSxDQUFyQjs7QUFJQSxNQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZTtBQUFBLFdBQ25CQyxNQUFNLENBQUNDLFVBQVAsOERBQ3dETixZQUR4RCxRQUVFTyxPQUhpQjtBQUFBLEdBQXJCOztBQUtBLE1BQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0MsSUFBRDtBQUFBLFdBQVVBLElBQUksQ0FBQ0MsT0FBTCxDQUFhQyxPQUFiLEtBQXlCLFFBQW5DO0FBQUEsR0FBeEI7O0FBRUEsTUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixHQUFNO0FBQzlCLFFBQU1DLFdBQVcsR0FBR3RCLFFBQVEsQ0FBQ0MsYUFBVCxDQUNsQix3Q0FEa0IsQ0FBcEI7QUFHQSxRQUFJLENBQUNxQixXQUFMLEVBQWtCO0FBQ2xCLFdBQU8sQ0FBQ0EsV0FBVyxDQUFDQyxTQUFaLENBQXNCQyxRQUF0QixDQUErQixXQUEvQixDQUFSO0FBQ0QsR0FORDs7QUFRQSxNQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CO0FBQUEsV0FDeEJwQixRQUFRLENBQUNxQixJQUFULENBQWMsVUFBQ04sT0FBRDtBQUFBLGFBQWFBLE9BQU8sS0FBS3BCLFFBQVEsQ0FBQzJCLGFBQWxDO0FBQUEsS0FBZCxDQUR3QjtBQUFBLEdBQTFCOztBQUdBLE1BQU1DLEtBQUssR0FBRyxTQUFSQSxLQUFRLENBQUNSLE9BQUQsRUFBVVMsS0FBVixFQUFpQkMsSUFBakIsRUFBMEI7QUFDdEMsUUFBSWpCLFlBQVksTUFBTSxDQUFDWSxpQkFBaUIsRUFBcEMsSUFBMEMsQ0FBQ0osaUJBQWlCLEVBQWhFLEVBQW9FO0FBQUE7O0FBQ2xFLFVBQU1VLE9BQU8sR0FBRyxDQUFDLFdBQUQsRUFBYyxTQUFkLENBQWhCOztBQUNBLDBCQUFBRixLQUFLLENBQUNOLFNBQU4sRUFBZ0JTLE9BQWhCLDRDQUE0QkYsSUFBSSxHQUFHQyxPQUFILEdBQWFBLE9BQU8sQ0FBQ0UsT0FBUixFQUE3Qzs7QUFDQWIsTUFBQUEsT0FBTyxDQUFDYyxZQUFSLENBQXFCLGVBQXJCLEVBQXNDSixJQUF0QztBQUNBVixNQUFBQSxPQUFPLENBQUNELE9BQVIsQ0FBZ0JTLEtBQWhCLEdBQXdCRSxJQUF4QjtBQUNEO0FBQ0YsR0FQRDs7QUFTQSxNQUFNSyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLENBQUNmLE9BQUQsRUFBVVMsS0FBVjtBQUFBLFdBQW9CO0FBQUEsYUFDNUNELEtBQUssQ0FBQ1IsT0FBRCxFQUFVUyxLQUFWLEVBQWlCLElBQWpCLENBRHVDO0FBQUEsS0FBcEI7QUFBQSxHQUExQjs7QUFHQSxNQUFNTyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLENBQUNoQixPQUFELEVBQVVTLEtBQVY7QUFBQSxXQUFvQjtBQUFBLGFBQzVDRCxLQUFLLENBQUNSLE9BQUQsRUFBVVMsS0FBVixFQUFpQixLQUFqQixDQUR1QztBQUFBLEtBQXBCO0FBQUEsR0FBMUI7O0FBR0EsTUFBTVEsWUFBWSxHQUFHLFNBQWZBLFlBQWUsQ0FBQ2pCLE9BQUQsRUFBVVMsS0FBVjtBQUFBLFdBQW9CLFlBQU07QUFDN0N4QixNQUFBQSxRQUFRLENBQUNpQyxPQUFULENBQ0UsVUFBQ3BCLElBQUQ7QUFBQSxlQUFVQSxJQUFJLEtBQUtFLE9BQVQsSUFBb0JGLElBQUksQ0FBQ2dCLFlBQUwsQ0FBa0IsZUFBbEIsRUFBbUMsS0FBbkMsQ0FBOUI7QUFBQSxPQURGO0FBSUExQixNQUFBQSxNQUFNLENBQUM4QixPQUFQLENBQ0UsVUFBQ3BCLElBQUQ7QUFBQSxlQUFVQSxJQUFJLEtBQUtXLEtBQVQsSUFBa0JYLElBQUksQ0FBQ0ssU0FBTCxDQUFlUyxPQUFmLENBQXVCLFNBQXZCLEVBQWtDLFdBQWxDLENBQTVCO0FBQUEsT0FERjtBQUlBLFVBQU1PLFlBQVksR0FBR25CLE9BQU8sQ0FBQ29CLFlBQVIsQ0FBcUIsZUFBckIsQ0FBckIsQ0FUNkMsQ0FXN0M7O0FBQ0EsVUFBTUMsYUFBYSxHQUFHckIsT0FBTyxDQUFDRCxPQUFSLENBQWdCUyxLQUFoQixLQUEwQixNQUFoRDs7QUFFQSxVQUFJVyxZQUFZLEtBQUssTUFBakIsSUFBMkIsQ0FBQ0UsYUFBaEMsRUFBK0M7QUFDN0NyQixRQUFBQSxPQUFPLENBQUNjLFlBQVIsQ0FBcUIsZUFBckIsRUFBc0MsS0FBdEM7QUFDQUwsUUFBQUEsS0FBSyxDQUFDTixTQUFOLENBQWdCUyxPQUFoQixDQUF3QixTQUF4QixFQUFtQyxXQUFuQztBQUNELE9BSEQsTUFHTztBQUNMWixRQUFBQSxPQUFPLENBQUNjLFlBQVIsQ0FBcUIsZUFBckIsRUFBc0MsSUFBdEM7QUFDQUwsUUFBQUEsS0FBSyxDQUFDTixTQUFOLENBQWdCUyxPQUFoQixDQUF3QixXQUF4QixFQUFxQyxTQUFyQztBQUNEOztBQUVELFVBQUlTLGFBQUosRUFBbUI7QUFDakJyQixRQUFBQSxPQUFPLENBQUNELE9BQVIsQ0FBZ0JTLEtBQWhCLEdBQXdCLEtBQXhCO0FBQ0Q7O0FBRUQsVUFBSVgsZUFBZSxDQUFDRyxPQUFELENBQW5CLEVBQThCO0FBQzVCLFlBQU1zQixXQUFXLEdBQUc3QyxtREFBTyxDQUFDLHNCQUFELEVBQXlCZ0MsS0FBekIsQ0FBM0I7QUFDQSxZQUFJLENBQUNhLFdBQUwsRUFBa0I7QUFDbEJBLFFBQUFBLFdBQVcsQ0FBQ0MsS0FBWjtBQUNELE9BSkQsTUFJTztBQUNMdkIsUUFBQUEsT0FBTyxDQUFDdUIsS0FBUjtBQUNEO0FBQ0YsS0FqQ29CO0FBQUEsR0FBckI7O0FBbUNBLFNBQU90QyxRQUFRLENBQ1p1QyxHQURJLENBQ0EsVUFBQ3hCLE9BQUQsRUFBYTtBQUNoQixRQUFNeUIsSUFBSSxHQUFHekIsT0FBTyxDQUFDMEIsVUFBckI7QUFDQSxRQUFNakIsS0FBSyxHQUFHN0IsUUFBUSxDQUFDQyxhQUFULFlBQ1JtQixPQUFPLENBQUNvQixZQUFSLENBQXFCLGVBQXJCLENBRFEsRUFBZDtBQUdBLFFBQU1PLEtBQUssR0FBR1YsWUFBWSxDQUFDakIsT0FBRCxFQUFVUyxLQUFWLENBQTFCO0FBQ0FULElBQUFBLE9BQU8sQ0FBQzRCLGdCQUFSLENBQXlCLE9BQXpCLEVBQWtDRCxLQUFsQztBQUNBLFFBQUlFLFVBQUosRUFBZ0JDLFVBQWhCOztBQUVBLFFBQUksQ0FBQ2pDLGVBQWUsQ0FBQ0csT0FBRCxDQUFwQixFQUErQjtBQUM3QjZCLE1BQUFBLFVBQVUsR0FBR2QsaUJBQWlCLENBQUNmLE9BQUQsRUFBVVMsS0FBVixDQUE5QjtBQUNBcUIsTUFBQUEsVUFBVSxHQUFHZCxpQkFBaUIsQ0FBQ2hCLE9BQUQsRUFBVVMsS0FBVixDQUE5QjtBQUVBZ0IsTUFBQUEsSUFBSSxDQUFDRyxnQkFBTCxDQUFzQixZQUF0QixFQUFvQ0MsVUFBcEM7QUFDQUosTUFBQUEsSUFBSSxDQUFDRyxnQkFBTCxDQUFzQixZQUF0QixFQUFvQ0UsVUFBcEM7QUFDRDs7QUFFRCxXQUFPLENBQ0w7QUFDRUMsTUFBQUEsUUFBUSxFQUFFLG9CQUFNO0FBQ2QsWUFBSUYsVUFBVSxJQUFJQyxVQUFsQixFQUE4QjtBQUM1QkwsVUFBQUEsSUFBSSxDQUFDTyxtQkFBTCxDQUF5QixZQUF6QixFQUF1Q0gsVUFBdkM7QUFDQUosVUFBQUEsSUFBSSxDQUFDTyxtQkFBTCxDQUF5QixZQUF6QixFQUF1Q0YsVUFBdkM7QUFDRDs7QUFFRDlCLFFBQUFBLE9BQU8sQ0FBQ2dDLG1CQUFSLENBQTRCLE9BQTVCLEVBQXFDTCxLQUFyQztBQUNELE9BUkg7QUFTRU0sTUFBQUEsS0FBSyxFQUFFLGlCQUFNO0FBQ1hqQyxRQUFBQSxPQUFPLENBQUNjLFlBQVIsQ0FBcUIsZUFBckIsRUFBc0MsS0FBdEM7QUFDQUwsUUFBQUEsS0FBSyxDQUFDTixTQUFOLENBQWdCUyxPQUFoQixDQUF3QixTQUF4QixFQUFtQyxXQUFuQztBQUNEO0FBWkgsS0FESyxDQUFQO0FBZ0JELEdBbENJLEVBbUNKc0IsSUFuQ0ksRUFBUDtBQW9DRCxDQS9HRDs7QUFpSEEsaUVBQWVsRCxjQUFmLEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9BYmx5VWkuQ29yZS93ZWJwYWNrL3VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24iLCJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvLi9zcmMvY29yZS9kb20tcXVlcnkuanMiLCJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL0FibHlVaS5Db3JlL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2s6Ly9BYmx5VWkuQ29yZS8uL3NyYy9jb3JlL01lZ2FuYXZDb250cm9sL2NvbXBvbmVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJBYmx5VWlcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiQWJseVVpXCJdID0gcm9vdFtcIkFibHlVaVwiXSB8fCB7fSwgcm9vdFtcIkFibHlVaVwiXVtcIkNvcmVcIl0gPSByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXSB8fCB7fSwgcm9vdFtcIkFibHlVaVwiXVtcIkNvcmVcIl1bXCJNZWdhbmF2Q29udHJvbFwiXSA9IGZhY3RvcnkoKTtcbn0pKHRoaXMsICgpID0+IHtcbnJldHVybiAiLCJleHBvcnQgY29uc3QgcXVlcnlJZCA9ICh2YWwsIHJvb3QgPSBkb2N1bWVudCkgPT5cbiAgcm9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1pZD0ke3ZhbH1dYCk7XG5cbmV4cG9ydCBjb25zdCBxdWVyeUlkQWxsID0gKHZhbCwgcm9vdCA9IGRvY3VtZW50KSA9PlxuICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoYFtkYXRhLWlkPSR7dmFsfV1gKTtcbiIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0obW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwiLy8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5yID0gKGV4cG9ydHMpID0+IHtcblx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5cdH1cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbn07IiwiaW1wb3J0IHsgcXVlcnlJZCwgcXVlcnlJZEFsbCB9IGZyb20gXCIuLi9kb20tcXVlcnlcIjtcblxuY29uc3QgTWVnYW5hdkNvbnRyb2wgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRyb2xzID0gQXJyYXkuZnJvbShxdWVyeUlkQWxsKFwibWVnYW5hdi1jb250cm9sXCIpKTtcbiAgY29uc3QgcGFuZWxzID0gQXJyYXkuZnJvbShxdWVyeUlkQWxsKFwibWVnYW5hdi1wYW5lbFwiKSk7XG4gIGNvbnN0IG1kQnJlYWtwb2ludCA9IGdldENvbXB1dGVkU3R5bGUoXG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XG4gICkuZ2V0UHJvcGVydHlWYWx1ZShcIi0tYnAtbWRcIik7XG5cbiAgY29uc3QgaG92ZXJFbmFibGVkID0gKCkgPT5cbiAgICB3aW5kb3cubWF0Y2hNZWRpYShcbiAgICAgIGAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIGFuZCAobWluLXdpZHRoOiAke21kQnJlYWtwb2ludH0pYFxuICAgICkubWF0Y2hlcztcblxuICBjb25zdCBpc1NlYXJjaENvbnRyb2wgPSAobm9kZSkgPT4gbm9kZS5kYXRhc2V0LmNvbnRyb2wgPT09IFwic2VhcmNoXCI7XG5cbiAgY29uc3QgaXNTZWFyY2hQYW5lbE9wZW4gPSAoKSA9PiB7XG4gICAgY29uc3Qgc2VhcmNoUGFuZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJ1tkYXRhLWlkPVwibWVnYW5hdi1wYW5lbFwiXSNwYW5lbC1zZWFyY2gnXG4gICAgKTtcbiAgICBpZiAoIXNlYXJjaFBhbmVsKSByZXR1cm47XG4gICAgcmV0dXJuICFzZWFyY2hQYW5lbC5jbGFzc0xpc3QuY29udGFpbnMoXCJpbnZpc2libGVcIik7XG4gIH07XG5cbiAgY29uc3QgY29udHJvbHNIYXZlRm9jdXMgPSAoKSA9PlxuICAgIGNvbnRyb2xzLnNvbWUoKGNvbnRyb2wpID0+IGNvbnRyb2wgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO1xuXG4gIGNvbnN0IGhvdmVyID0gKGNvbnRyb2wsIHBhbmVsLCBvcGVuKSA9PiB7XG4gICAgaWYgKGhvdmVyRW5hYmxlZCgpICYmICFjb250cm9sc0hhdmVGb2N1cygpICYmICFpc1NlYXJjaFBhbmVsT3BlbigpKSB7XG4gICAgICBjb25zdCBjbGFzc2VzID0gW1wiaW52aXNpYmxlXCIsIFwidmlzaWJsZVwiXTtcbiAgICAgIHBhbmVsLmNsYXNzTGlzdC5yZXBsYWNlKC4uLihvcGVuID8gY2xhc3NlcyA6IGNsYXNzZXMucmV2ZXJzZSgpKSk7XG4gICAgICBjb250cm9sLnNldEF0dHJpYnV0ZShcImFyaWEtZXhwYW5kZWRcIiwgb3Blbik7XG4gICAgICBjb250cm9sLmRhdGFzZXQuaG92ZXIgPSBvcGVuO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBtb3VzZWVudGVySGFuZGxlciA9IChjb250cm9sLCBwYW5lbCkgPT4gKCkgPT5cbiAgICBob3Zlcihjb250cm9sLCBwYW5lbCwgdHJ1ZSk7XG5cbiAgY29uc3QgbW91c2VsZWF2ZUhhbmRsZXIgPSAoY29udHJvbCwgcGFuZWwpID0+ICgpID0+XG4gICAgaG92ZXIoY29udHJvbCwgcGFuZWwsIGZhbHNlKTtcblxuICBjb25zdCBjbGlja0hhbmRsZXIgPSAoY29udHJvbCwgcGFuZWwpID0+ICgpID0+IHtcbiAgICBjb250cm9scy5mb3JFYWNoKFxuICAgICAgKG5vZGUpID0+IG5vZGUgIT09IGNvbnRyb2wgJiYgbm9kZS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsIGZhbHNlKVxuICAgICk7XG5cbiAgICBwYW5lbHMuZm9yRWFjaChcbiAgICAgIChub2RlKSA9PiBub2RlICE9PSBwYW5lbCAmJiBub2RlLmNsYXNzTGlzdC5yZXBsYWNlKFwidmlzaWJsZVwiLCBcImludmlzaWJsZVwiKVxuICAgICk7XG5cbiAgICBjb25zdCBhcmlhRXhwYW5kZWQgPSBjb250cm9sLmdldEF0dHJpYnV0ZShcImFyaWEtZXhwYW5kZWRcIik7XG5cbiAgICAvLyBQcmV2ZW50IGNsb3Npbmcgb2YgdGhlIHBhbmVsIGlmIGl0IHdhcyBhbHJlYWR5IG9wZW5lZCBieSBob3ZlcmluZ1xuICAgIGNvbnN0IG9wZW5lZEJ5SG92ZXIgPSBjb250cm9sLmRhdGFzZXQuaG92ZXIgPT09IFwidHJ1ZVwiO1xuXG4gICAgaWYgKGFyaWFFeHBhbmRlZCA9PT0gXCJ0cnVlXCIgJiYgIW9wZW5lZEJ5SG92ZXIpIHtcbiAgICAgIGNvbnRyb2wuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCBmYWxzZSk7XG4gICAgICBwYW5lbC5jbGFzc0xpc3QucmVwbGFjZShcInZpc2libGVcIiwgXCJpbnZpc2libGVcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRyb2wuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCB0cnVlKTtcbiAgICAgIHBhbmVsLmNsYXNzTGlzdC5yZXBsYWNlKFwiaW52aXNpYmxlXCIsIFwidmlzaWJsZVwiKTtcbiAgICB9XG5cbiAgICBpZiAob3BlbmVkQnlIb3Zlcikge1xuICAgICAgY29udHJvbC5kYXRhc2V0LmhvdmVyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKGlzU2VhcmNoQ29udHJvbChjb250cm9sKSkge1xuICAgICAgY29uc3Qgc2VhcmNoSW5wdXQgPSBxdWVyeUlkKFwibWVnYW5hdi1zZWFyY2gtaW5wdXRcIiwgcGFuZWwpO1xuICAgICAgaWYgKCFzZWFyY2hJbnB1dCkgcmV0dXJuO1xuICAgICAgc2VhcmNoSW5wdXQuZm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udHJvbC5mb2N1cygpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gY29udHJvbHNcbiAgICAubWFwKChjb250cm9sKSA9PiB7XG4gICAgICBjb25zdCBpdGVtID0gY29udHJvbC5wYXJlbnROb2RlO1xuICAgICAgY29uc3QgcGFuZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICBgIyR7Y29udHJvbC5nZXRBdHRyaWJ1dGUoXCJhcmlhLWNvbnRyb2xzXCIpfWBcbiAgICAgICk7XG4gICAgICBjb25zdCBjbGljayA9IGNsaWNrSGFuZGxlcihjb250cm9sLCBwYW5lbCk7XG4gICAgICBjb250cm9sLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBjbGljayk7XG4gICAgICBsZXQgbW91c2VlbnRlciwgbW91c2VsZWF2ZTtcblxuICAgICAgaWYgKCFpc1NlYXJjaENvbnRyb2woY29udHJvbCkpIHtcbiAgICAgICAgbW91c2VlbnRlciA9IG1vdXNlZW50ZXJIYW5kbGVyKGNvbnRyb2wsIHBhbmVsKTtcbiAgICAgICAgbW91c2VsZWF2ZSA9IG1vdXNlbGVhdmVIYW5kbGVyKGNvbnRyb2wsIHBhbmVsKTtcblxuICAgICAgICBpdGVtLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWVudGVyXCIsIG1vdXNlZW50ZXIpO1xuICAgICAgICBpdGVtLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIsIG1vdXNlbGVhdmUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgdGVhcmRvd246ICgpID0+IHtcbiAgICAgICAgICAgIGlmIChtb3VzZWVudGVyICYmIG1vdXNlbGVhdmUpIHtcbiAgICAgICAgICAgICAgaXRlbS5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2VlbnRlclwiLCBtb3VzZWVudGVyKTtcbiAgICAgICAgICAgICAgaXRlbS5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2VsZWF2ZVwiLCBtb3VzZWxlYXZlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29udHJvbC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgY2xpY2spO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgY2xlYXI6ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnRyb2wuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCBmYWxzZSk7XG4gICAgICAgICAgICBwYW5lbC5jbGFzc0xpc3QucmVwbGFjZShcInZpc2libGVcIiwgXCJpbnZpc2libGVcIik7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgfSlcbiAgICAuZmxhdCgpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTWVnYW5hdkNvbnRyb2w7XG4iXSwibmFtZXMiOlsicXVlcnlJZCIsInZhbCIsInJvb3QiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJxdWVyeUlkQWxsIiwicXVlcnlTZWxlY3RvckFsbCIsIk1lZ2FuYXZDb250cm9sIiwiY29udHJvbHMiLCJBcnJheSIsImZyb20iLCJwYW5lbHMiLCJtZEJyZWFrcG9pbnQiLCJnZXRDb21wdXRlZFN0eWxlIiwiZG9jdW1lbnRFbGVtZW50IiwiZ2V0UHJvcGVydHlWYWx1ZSIsImhvdmVyRW5hYmxlZCIsIndpbmRvdyIsIm1hdGNoTWVkaWEiLCJtYXRjaGVzIiwiaXNTZWFyY2hDb250cm9sIiwibm9kZSIsImRhdGFzZXQiLCJjb250cm9sIiwiaXNTZWFyY2hQYW5lbE9wZW4iLCJzZWFyY2hQYW5lbCIsImNsYXNzTGlzdCIsImNvbnRhaW5zIiwiY29udHJvbHNIYXZlRm9jdXMiLCJzb21lIiwiYWN0aXZlRWxlbWVudCIsImhvdmVyIiwicGFuZWwiLCJvcGVuIiwiY2xhc3NlcyIsInJlcGxhY2UiLCJyZXZlcnNlIiwic2V0QXR0cmlidXRlIiwibW91c2VlbnRlckhhbmRsZXIiLCJtb3VzZWxlYXZlSGFuZGxlciIsImNsaWNrSGFuZGxlciIsImZvckVhY2giLCJhcmlhRXhwYW5kZWQiLCJnZXRBdHRyaWJ1dGUiLCJvcGVuZWRCeUhvdmVyIiwic2VhcmNoSW5wdXQiLCJmb2N1cyIsIm1hcCIsIml0ZW0iLCJwYXJlbnROb2RlIiwiY2xpY2siLCJhZGRFdmVudExpc3RlbmVyIiwibW91c2VlbnRlciIsIm1vdXNlbGVhdmUiLCJ0ZWFyZG93biIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjbGVhciIsImZsYXQiXSwic291cmNlUm9vdCI6IiJ9
@@ -7,20 +7,24 @@
7
7
  var a = typeof exports === 'object' ? factory(require("react"), require("prop-types")) : factory(root[undefined], root[undefined]);
8
8
  for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
9
  }
10
- })(this, function(__WEBPACK_EXTERNAL_MODULE__9281__, __WEBPACK_EXTERNAL_MODULE__3474__) {
10
+ })(this, (__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_prop_types__) => {
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ "use strict";
13
13
  /******/ var __webpack_modules__ = ({
14
14
 
15
- /***/ 9008:
15
+ /***/ "./src/core/Icon/component.jsx":
16
+ /*!*************************************!*\
17
+ !*** ./src/core/Icon/component.jsx ***!
18
+ \*************************************/
16
19
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
17
20
 
21
+ __webpack_require__.r(__webpack_exports__);
18
22
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19
23
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
20
24
  /* harmony export */ });
21
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
25
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
22
26
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
23
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
27
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
24
28
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
25
29
  var _excluded = ["name", "size", "color", "additionalCSS"];
26
30
 
@@ -64,17 +68,23 @@ Icon.propTypes = {
64
68
 
65
69
  /***/ }),
66
70
 
67
- /***/ 3474:
71
+ /***/ "prop-types":
72
+ /*!*******************************************************************!*\
73
+ !*** external {"commonjs":"prop-types","commonjs2":"prop-types"} ***!
74
+ \*******************************************************************/
68
75
  /***/ ((module) => {
69
76
 
70
- module.exports = __WEBPACK_EXTERNAL_MODULE__3474__;
77
+ module.exports = __WEBPACK_EXTERNAL_MODULE_prop_types__;
71
78
 
72
79
  /***/ }),
73
80
 
74
- /***/ 9281:
81
+ /***/ "react":
82
+ /*!*********************************************************!*\
83
+ !*** external {"commonjs":"react","commonjs2":"react"} ***!
84
+ \*********************************************************/
75
85
  /***/ ((module) => {
76
86
 
77
- module.exports = __WEBPACK_EXTERNAL_MODULE__9281__;
87
+ module.exports = __WEBPACK_EXTERNAL_MODULE_react__;
78
88
 
79
89
  /***/ })
80
90
 
@@ -149,15 +159,18 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__9281__;
149
159
  var __webpack_exports__ = {};
150
160
  // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
151
161
  (() => {
162
+ /*!***********************************************!*\
163
+ !*** ./src/core/MeganavControl/component.jsx ***!
164
+ \***********************************************/
152
165
  __webpack_require__.r(__webpack_exports__);
153
166
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
154
167
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
155
168
  /* harmony export */ });
156
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
169
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
157
170
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
158
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
171
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
159
172
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
160
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
173
+ /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Icon/component.jsx */ "./src/core/Icon/component.jsx");
161
174
 
162
175
 
163
176
 
@@ -175,7 +188,7 @@ var MeganavControl = function MeganavControl(_ref) {
175
188
  "aria-expanded": "false",
176
189
  "aria-controls": ariaControls,
177
190
  "aria-label": "Show ".concat(ariaLabel, " panel")
178
- }, children, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
191
+ }, children, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
179
192
  name: "icon-gui-disclosure-arrow",
180
193
  color: "text-cool-black",
181
194
  size: "1.5rem",
@@ -1 +1,180 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("scroll-lock")):"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AblyUi=t(require("scroll-lock")):(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavControlMobileDropdown=t(e[void 0]))}(this,(function(e){return(()=>{"use strict";var t={9581:(e,t,o)=>{o.d(t,{A:()=>r});var r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return t.querySelector("[data-id=".concat(e,"]"))}},6833:t=>{t.exports=e}},o={};function r(e){var i=o[e];if(void 0!==i)return i.exports;var n=o[e]={exports:{}};return t[e](n,n.exports,r),n.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var i={};return(()=>{r.d(i,{default:()=>n});var e=r(6833),t=r.n(e),o=r(9581);const n=function(e){var r=e.clearPanels,i=(0,o.A)("meganav-control-mobile-dropdown"),n=(0,o.A)("meganav-mobile-dropdown"),l=(0,o.A)("meganav-control-mobile-dropdown-menu"),a=(0,o.A)("meganav-control-mobile-dropdown-close"),s=function(){"false"===i.getAttribute("aria-expanded")?(n.classList.replace("invisible","visible"),i.setAttribute("aria-expanded",!0),t().disablePageScroll()):(n.classList.replace("visible","invisible"),i.setAttribute("aria-expanded",!1),t().enablePageScroll(),r()),l.classList.toggle("hidden"),a.classList.toggle("hidden")};return i.addEventListener("click",s),{teardown:function(){i.removeEventListener("click",s),t().enablePageScroll()},clear:function(){n.classList.replace("visible","invisible"),i.setAttribute("aria-expanded",!1),l.classList.remove("hidden"),a.classList.add("hidden"),t().enablePageScroll()}}}})(),i.default})()}));
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory(require("scroll-lock"));
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["AblyUi"] = factory(require("scroll-lock"));
8
+ else
9
+ root["AblyUi"] = root["AblyUi"] || {}, root["AblyUi"]["Core"] = root["AblyUi"]["Core"] || {}, root["AblyUi"]["Core"]["MeganavControlMobileDropdown"] = factory(root[undefined]);
10
+ })(this, (__WEBPACK_EXTERNAL_MODULE_scroll_lock__) => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ /******/ "use strict";
13
+ /******/ var __webpack_modules__ = ({
14
+
15
+ /***/ "./src/core/dom-query.js":
16
+ /*!*******************************!*\
17
+ !*** ./src/core/dom-query.js ***!
18
+ \*******************************/
19
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
20
+
21
+ __webpack_require__.r(__webpack_exports__);
22
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23
+ /* harmony export */ "queryId": () => (/* binding */ queryId),
24
+ /* harmony export */ "queryIdAll": () => (/* binding */ queryIdAll)
25
+ /* harmony export */ });
26
+ var queryId = function queryId(val) {
27
+ var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
28
+ return root.querySelector("[data-id=".concat(val, "]"));
29
+ };
30
+ var queryIdAll = function queryIdAll(val) {
31
+ var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
32
+ return root.querySelectorAll("[data-id=".concat(val, "]"));
33
+ };
34
+
35
+ /***/ }),
36
+
37
+ /***/ "scroll-lock":
38
+ /*!*********************************************************************!*\
39
+ !*** external {"commonjs":"scroll-lock","commonjs2":"scroll-lock"} ***!
40
+ \*********************************************************************/
41
+ /***/ ((module) => {
42
+
43
+ module.exports = __WEBPACK_EXTERNAL_MODULE_scroll_lock__;
44
+
45
+ /***/ })
46
+
47
+ /******/ });
48
+ /************************************************************************/
49
+ /******/ // The module cache
50
+ /******/ var __webpack_module_cache__ = {};
51
+ /******/
52
+ /******/ // The require function
53
+ /******/ function __webpack_require__(moduleId) {
54
+ /******/ // Check if module is in cache
55
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
56
+ /******/ if (cachedModule !== undefined) {
57
+ /******/ return cachedModule.exports;
58
+ /******/ }
59
+ /******/ // Create a new module (and put it into the cache)
60
+ /******/ var module = __webpack_module_cache__[moduleId] = {
61
+ /******/ // no module.id needed
62
+ /******/ // no module.loaded needed
63
+ /******/ exports: {}
64
+ /******/ };
65
+ /******/
66
+ /******/ // Execute the module function
67
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
68
+ /******/
69
+ /******/ // Return the exports of the module
70
+ /******/ return module.exports;
71
+ /******/ }
72
+ /******/
73
+ /************************************************************************/
74
+ /******/ /* webpack/runtime/compat get default export */
75
+ /******/ (() => {
76
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
77
+ /******/ __webpack_require__.n = (module) => {
78
+ /******/ var getter = module && module.__esModule ?
79
+ /******/ () => (module['default']) :
80
+ /******/ () => (module);
81
+ /******/ __webpack_require__.d(getter, { a: getter });
82
+ /******/ return getter;
83
+ /******/ };
84
+ /******/ })();
85
+ /******/
86
+ /******/ /* webpack/runtime/define property getters */
87
+ /******/ (() => {
88
+ /******/ // define getter functions for harmony exports
89
+ /******/ __webpack_require__.d = (exports, definition) => {
90
+ /******/ for(var key in definition) {
91
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
92
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
93
+ /******/ }
94
+ /******/ }
95
+ /******/ };
96
+ /******/ })();
97
+ /******/
98
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
99
+ /******/ (() => {
100
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
101
+ /******/ })();
102
+ /******/
103
+ /******/ /* webpack/runtime/make namespace object */
104
+ /******/ (() => {
105
+ /******/ // define __esModule on exports
106
+ /******/ __webpack_require__.r = (exports) => {
107
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
108
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
109
+ /******/ }
110
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
111
+ /******/ };
112
+ /******/ })();
113
+ /******/
114
+ /************************************************************************/
115
+ var __webpack_exports__ = {};
116
+ // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
117
+ (() => {
118
+ /*!************************************************************!*\
119
+ !*** ./src/core/MeganavControlMobileDropdown/component.js ***!
120
+ \************************************************************/
121
+ __webpack_require__.r(__webpack_exports__);
122
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
123
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
124
+ /* harmony export */ });
125
+ /* harmony import */ var scroll_lock__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! scroll-lock */ "scroll-lock");
126
+ /* harmony import */ var scroll_lock__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(scroll_lock__WEBPACK_IMPORTED_MODULE_0__);
127
+ /* harmony import */ var _dom_query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom-query */ "./src/core/dom-query.js");
128
+
129
+
130
+
131
+ var MeganavControlMobileDropdown = function MeganavControlMobileDropdown(_ref) {
132
+ var clearPanels = _ref.clearPanels;
133
+ var control = (0,_dom_query__WEBPACK_IMPORTED_MODULE_1__.queryId)("meganav-control-mobile-dropdown");
134
+ var dropdown = (0,_dom_query__WEBPACK_IMPORTED_MODULE_1__.queryId)("meganav-mobile-dropdown");
135
+ var menuIcon = (0,_dom_query__WEBPACK_IMPORTED_MODULE_1__.queryId)("meganav-control-mobile-dropdown-menu");
136
+ var closeIcon = (0,_dom_query__WEBPACK_IMPORTED_MODULE_1__.queryId)("meganav-control-mobile-dropdown-close");
137
+
138
+ var clickHandler = function clickHandler() {
139
+ var ariaExpanded = control.getAttribute("aria-expanded");
140
+
141
+ if (ariaExpanded === "false") {
142
+ dropdown.classList.replace("invisible", "visible");
143
+ control.setAttribute("aria-expanded", true);
144
+ scroll_lock__WEBPACK_IMPORTED_MODULE_0___default().disablePageScroll();
145
+ } else {
146
+ dropdown.classList.replace("visible", "invisible");
147
+ control.setAttribute("aria-expanded", false);
148
+ scroll_lock__WEBPACK_IMPORTED_MODULE_0___default().enablePageScroll();
149
+ clearPanels();
150
+ }
151
+
152
+ menuIcon.classList.toggle("hidden");
153
+ closeIcon.classList.toggle("hidden");
154
+ };
155
+
156
+ control.addEventListener("click", clickHandler);
157
+ return {
158
+ teardown: function teardown() {
159
+ control.removeEventListener("click", clickHandler);
160
+ scroll_lock__WEBPACK_IMPORTED_MODULE_0___default().enablePageScroll();
161
+ },
162
+ clear: function clear() {
163
+ dropdown.classList.replace("visible", "invisible");
164
+ control.setAttribute("aria-expanded", false);
165
+ menuIcon.classList.remove("hidden");
166
+ closeIcon.classList.add("hidden");
167
+ scroll_lock__WEBPACK_IMPORTED_MODULE_0___default().enablePageScroll();
168
+ }
169
+ };
170
+ };
171
+
172
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavControlMobileDropdown);
173
+ })();
174
+
175
+ __webpack_exports__ = __webpack_exports__["default"];
176
+ /******/ return __webpack_exports__;
177
+ /******/ })()
178
+ ;
179
+ });
180
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9NZWdhbmF2Q29udHJvbE1vYmlsZURyb3Bkb3duL2NvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLHVEQUF1RDtBQUM5RixDQUFDO0FBQ0QsTzs7Ozs7Ozs7Ozs7Ozs7O0FDVk8sSUFBTUEsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ0MsR0FBRDtBQUFBLE1BQU1DLElBQU4sdUVBQWFDLFFBQWI7QUFBQSxTQUNyQkQsSUFBSSxDQUFDRSxhQUFMLG9CQUErQkgsR0FBL0IsT0FEcUI7QUFBQSxDQUFoQjtBQUdBLElBQU1JLFVBQVUsR0FBRyxTQUFiQSxVQUFhLENBQUNKLEdBQUQ7QUFBQSxNQUFNQyxJQUFOLHVFQUFhQyxRQUFiO0FBQUEsU0FDeEJELElBQUksQ0FBQ0ksZ0JBQUwsb0JBQWtDTCxHQUFsQyxPQUR3QjtBQUFBLENBQW5COzs7Ozs7Ozs7O0FDSFA7Ozs7OztVQ0FBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7O1VBRUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7Ozs7O1dDdEJBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQSxpQ0FBaUMsV0FBVztXQUM1QztXQUNBOzs7OztXQ1BBO1dBQ0E7V0FDQTtXQUNBO1dBQ0EseUNBQXlDLHdDQUF3QztXQUNqRjtXQUNBO1dBQ0E7Ozs7O1dDUEE7Ozs7O1dDQUE7V0FDQTtXQUNBO1dBQ0EsdURBQXVELGlCQUFpQjtXQUN4RTtXQUNBLGdEQUFnRCxhQUFhO1dBQzdEOzs7Ozs7Ozs7Ozs7Ozs7OztBQ05BO0FBRUE7O0FBRUEsSUFBTU8sNEJBQTRCLEdBQUcsU0FBL0JBLDRCQUErQixPQUFxQjtBQUFBLE1BQWxCQyxXQUFrQixRQUFsQkEsV0FBa0I7QUFDeEQsTUFBTUMsT0FBTyxHQUFHVixtREFBTyxDQUFDLGlDQUFELENBQXZCO0FBQ0EsTUFBTVcsUUFBUSxHQUFHWCxtREFBTyxDQUFDLHlCQUFELENBQXhCO0FBQ0EsTUFBTVksUUFBUSxHQUFHWixtREFBTyxDQUFDLHNDQUFELENBQXhCO0FBQ0EsTUFBTWEsU0FBUyxHQUFHYixtREFBTyxDQUFDLHVDQUFELENBQXpCOztBQUVBLE1BQU1jLFlBQVksR0FBRyxTQUFmQSxZQUFlLEdBQU07QUFDekIsUUFBTUMsWUFBWSxHQUFHTCxPQUFPLENBQUNNLFlBQVIsQ0FBcUIsZUFBckIsQ0FBckI7O0FBRUEsUUFBSUQsWUFBWSxLQUFLLE9BQXJCLEVBQThCO0FBQzVCSixNQUFBQSxRQUFRLENBQUNNLFNBQVQsQ0FBbUJDLE9BQW5CLENBQTJCLFdBQTNCLEVBQXdDLFNBQXhDO0FBQ0FSLE1BQUFBLE9BQU8sQ0FBQ1MsWUFBUixDQUFxQixlQUFyQixFQUFzQyxJQUF0QztBQUNBWixNQUFBQSxvRUFBQTtBQUNELEtBSkQsTUFJTztBQUNMSSxNQUFBQSxRQUFRLENBQUNNLFNBQVQsQ0FBbUJDLE9BQW5CLENBQTJCLFNBQTNCLEVBQXNDLFdBQXRDO0FBQ0FSLE1BQUFBLE9BQU8sQ0FBQ1MsWUFBUixDQUFxQixlQUFyQixFQUFzQyxLQUF0QztBQUNBWixNQUFBQSxtRUFBQTtBQUNBRSxNQUFBQSxXQUFXO0FBQ1o7O0FBRURHLElBQUFBLFFBQVEsQ0FBQ0ssU0FBVCxDQUFtQkssTUFBbkIsQ0FBMEIsUUFBMUI7QUFDQVQsSUFBQUEsU0FBUyxDQUFDSSxTQUFWLENBQW9CSyxNQUFwQixDQUEyQixRQUEzQjtBQUNELEdBaEJEOztBQWtCQVosRUFBQUEsT0FBTyxDQUFDYSxnQkFBUixDQUF5QixPQUF6QixFQUFrQ1QsWUFBbEM7QUFFQSxTQUFPO0FBQ0xVLElBQUFBLFFBQVEsRUFBRSxvQkFBTTtBQUNkZCxNQUFBQSxPQUFPLENBQUNlLG1CQUFSLENBQTRCLE9BQTVCLEVBQXFDWCxZQUFyQztBQUNBUCxNQUFBQSxtRUFBQTtBQUNELEtBSkk7QUFLTG1CLElBQUFBLEtBQUssRUFBRSxpQkFBTTtBQUNYZixNQUFBQSxRQUFRLENBQUNNLFNBQVQsQ0FBbUJDLE9BQW5CLENBQTJCLFNBQTNCLEVBQXNDLFdBQXRDO0FBQ0FSLE1BQUFBLE9BQU8sQ0FBQ1MsWUFBUixDQUFxQixlQUFyQixFQUFzQyxLQUF0QztBQUNBUCxNQUFBQSxRQUFRLENBQUNLLFNBQVQsQ0FBbUJVLE1BQW5CLENBQTBCLFFBQTFCO0FBQ0FkLE1BQUFBLFNBQVMsQ0FBQ0ksU0FBVixDQUFvQlcsR0FBcEIsQ0FBd0IsUUFBeEI7QUFDQXJCLE1BQUFBLG1FQUFBO0FBQ0Q7QUFYSSxHQUFQO0FBYUQsQ0F2Q0Q7O0FBeUNBLGlFQUFlQyw0QkFBZixFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovL0FibHlVaS5Db3JlLy4vc3JjL2NvcmUvZG9tLXF1ZXJ5LmpzIiwid2VicGFjazovL0FibHlVaS5Db3JlL2V4dGVybmFsIHVtZCB7XCJjb21tb25qc1wiOlwic2Nyb2xsLWxvY2tcIixcImNvbW1vbmpzMlwiOlwic2Nyb2xsLWxvY2tcIn0iLCJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL0FibHlVaS5Db3JlL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2s6Ly9BYmx5VWkuQ29yZS8uL3NyYy9jb3JlL01lZ2FuYXZDb250cm9sTW9iaWxlRHJvcGRvd24vY29tcG9uZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkocmVxdWlyZShcInNjcm9sbC1sb2NrXCIpKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkFibHlVaVwiXSA9IGZhY3RvcnkocmVxdWlyZShcInNjcm9sbC1sb2NrXCIpKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJBYmx5VWlcIl0gPSByb290W1wiQWJseVVpXCJdIHx8IHt9LCByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXSA9IHJvb3RbXCJBYmx5VWlcIl1bXCJDb3JlXCJdIHx8IHt9LCByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXVtcIk1lZ2FuYXZDb250cm9sTW9iaWxlRHJvcGRvd25cIl0gPSBmYWN0b3J5KHJvb3RbdW5kZWZpbmVkXSk7XG59KSh0aGlzLCAoX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV9zY3JvbGxfbG9ja19fKSA9PiB7XG5yZXR1cm4gIiwiZXhwb3J0IGNvbnN0IHF1ZXJ5SWQgPSAodmFsLCByb290ID0gZG9jdW1lbnQpID0+XG4gIHJvb3QucXVlcnlTZWxlY3RvcihgW2RhdGEtaWQ9JHt2YWx9XWApO1xuXG5leHBvcnQgY29uc3QgcXVlcnlJZEFsbCA9ICh2YWwsIHJvb3QgPSBkb2N1bWVudCkgPT5cbiAgcm9vdC5xdWVyeVNlbGVjdG9yQWxsKGBbZGF0YS1pZD0ke3ZhbH1dYCk7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IF9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfc2Nyb2xsX2xvY2tfXzsiLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiLy8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbl9fd2VicGFja19yZXF1aXJlX18ubiA9IChtb2R1bGUpID0+IHtcblx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG5cdFx0KCkgPT4gKG1vZHVsZVsnZGVmYXVsdCddKSA6XG5cdFx0KCkgPT4gKG1vZHVsZSk7XG5cdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsIHsgYTogZ2V0dGVyIH0pO1xuXHRyZXR1cm4gZ2V0dGVyO1xufTsiLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwiLy8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5yID0gKGV4cG9ydHMpID0+IHtcblx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5cdH1cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbn07IiwiaW1wb3J0IHNjcm9sbExvY2sgZnJvbSBcInNjcm9sbC1sb2NrXCI7XG5cbmltcG9ydCB7IHF1ZXJ5SWQgfSBmcm9tIFwiLi4vZG9tLXF1ZXJ5XCI7XG5cbmNvbnN0IE1lZ2FuYXZDb250cm9sTW9iaWxlRHJvcGRvd24gPSAoeyBjbGVhclBhbmVscyB9KSA9PiB7XG4gIGNvbnN0IGNvbnRyb2wgPSBxdWVyeUlkKFwibWVnYW5hdi1jb250cm9sLW1vYmlsZS1kcm9wZG93blwiKTtcbiAgY29uc3QgZHJvcGRvd24gPSBxdWVyeUlkKFwibWVnYW5hdi1tb2JpbGUtZHJvcGRvd25cIik7XG4gIGNvbnN0IG1lbnVJY29uID0gcXVlcnlJZChcIm1lZ2FuYXYtY29udHJvbC1tb2JpbGUtZHJvcGRvd24tbWVudVwiKTtcbiAgY29uc3QgY2xvc2VJY29uID0gcXVlcnlJZChcIm1lZ2FuYXYtY29udHJvbC1tb2JpbGUtZHJvcGRvd24tY2xvc2VcIik7XG5cbiAgY29uc3QgY2xpY2tIYW5kbGVyID0gKCkgPT4ge1xuICAgIGNvbnN0IGFyaWFFeHBhbmRlZCA9IGNvbnRyb2wuZ2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiKTtcblxuICAgIGlmIChhcmlhRXhwYW5kZWQgPT09IFwiZmFsc2VcIikge1xuICAgICAgZHJvcGRvd24uY2xhc3NMaXN0LnJlcGxhY2UoXCJpbnZpc2libGVcIiwgXCJ2aXNpYmxlXCIpO1xuICAgICAgY29udHJvbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsIHRydWUpO1xuICAgICAgc2Nyb2xsTG9jay5kaXNhYmxlUGFnZVNjcm9sbCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkcm9wZG93bi5jbGFzc0xpc3QucmVwbGFjZShcInZpc2libGVcIiwgXCJpbnZpc2libGVcIik7XG4gICAgICBjb250cm9sLnNldEF0dHJpYnV0ZShcImFyaWEtZXhwYW5kZWRcIiwgZmFsc2UpO1xuICAgICAgc2Nyb2xsTG9jay5lbmFibGVQYWdlU2Nyb2xsKCk7XG4gICAgICBjbGVhclBhbmVscygpO1xuICAgIH1cblxuICAgIG1lbnVJY29uLmNsYXNzTGlzdC50b2dnbGUoXCJoaWRkZW5cIik7XG4gICAgY2xvc2VJY29uLmNsYXNzTGlzdC50b2dnbGUoXCJoaWRkZW5cIik7XG4gIH07XG5cbiAgY29udHJvbC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgY2xpY2tIYW5kbGVyKTtcblxuICByZXR1cm4ge1xuICAgIHRlYXJkb3duOiAoKSA9PiB7XG4gICAgICBjb250cm9sLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBjbGlja0hhbmRsZXIpO1xuICAgICAgc2Nyb2xsTG9jay5lbmFibGVQYWdlU2Nyb2xsKCk7XG4gICAgfSxcbiAgICBjbGVhcjogKCkgPT4ge1xuICAgICAgZHJvcGRvd24uY2xhc3NMaXN0LnJlcGxhY2UoXCJ2aXNpYmxlXCIsIFwiaW52aXNpYmxlXCIpO1xuICAgICAgY29udHJvbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsIGZhbHNlKTtcbiAgICAgIG1lbnVJY29uLmNsYXNzTGlzdC5yZW1vdmUoXCJoaWRkZW5cIik7XG4gICAgICBjbG9zZUljb24uY2xhc3NMaXN0LmFkZChcImhpZGRlblwiKTtcbiAgICAgIHNjcm9sbExvY2suZW5hYmxlUGFnZVNjcm9sbCgpO1xuICAgIH0sXG4gIH07XG59O1xuXG5leHBvcnQgZGVmYXVsdCBNZWdhbmF2Q29udHJvbE1vYmlsZURyb3Bkb3duO1xuIl0sIm5hbWVzIjpbInF1ZXJ5SWQiLCJ2YWwiLCJyb290IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwicXVlcnlJZEFsbCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJzY3JvbGxMb2NrIiwiTWVnYW5hdkNvbnRyb2xNb2JpbGVEcm9wZG93biIsImNsZWFyUGFuZWxzIiwiY29udHJvbCIsImRyb3Bkb3duIiwibWVudUljb24iLCJjbG9zZUljb24iLCJjbGlja0hhbmRsZXIiLCJhcmlhRXhwYW5kZWQiLCJnZXRBdHRyaWJ1dGUiLCJjbGFzc0xpc3QiLCJyZXBsYWNlIiwic2V0QXR0cmlidXRlIiwiZGlzYWJsZVBhZ2VTY3JvbGwiLCJlbmFibGVQYWdlU2Nyb2xsIiwidG9nZ2xlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInRlYXJkb3duIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNsZWFyIiwicmVtb3ZlIiwiYWRkIl0sInNvdXJjZVJvb3QiOiIifQ==