@react-magma/charts 15.0.0-rc.1 → 15.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/charts.js +62 -6
- package/dist/charts.js.map +1 -1
- package/dist/charts.modern.module.js +62 -6
- package/dist/charts.modern.module.js.map +1 -1
- package/dist/charts.umd.js +64 -8
- package/dist/charts.umd.js.map +1 -1
- package/dist/components/ChartTable/chartToolbarI18n.d.ts +1 -0
- package/package.json +1 -1
- package/src/components/CarbonChart/CarbonChart.test.js +134 -1
- package/src/components/CarbonChart/CarbonChart.tsx +87 -0
- package/src/components/ChartTable/chartToolbarI18n.ts +4 -0
package/dist/charts.umd.js
CHANGED
|
@@ -24819,7 +24819,7 @@
|
|
|
24819
24819
|
styles: "position:relative"
|
|
24820
24820
|
} : {
|
|
24821
24821
|
name: "bjn8wh",
|
|
24822
|
-
styles: "position:relative/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQnVDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyBhdXRvVXBkYXRlIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0LWRvbSc7XHJcbmltcG9ydCB7IGFkZERheXMsIGVuZE9mRGF5LCBpc0FmdGVyLCBpc0JlZm9yZSwgaXNNYXRjaCwgaXNWYWxpZCwgcGFyc2UsIHNldEhvdXJzLCBzdGFydE9mRGF5LCB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IEV2ZW50SWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJDb250ZXh0IH0gZnJvbSAnLi9DYWxlbmRhckNvbnRleHQnO1xyXG5pbXBvcnQgeyBDYWxlbmRhck1vbnRoIH0gZnJvbSAnLi9DYWxlbmRhck1vbnRoJztcclxuaW1wb3J0IHsgdXNlTWFnbWFGbG9hdGluZyB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZU1hZ21hRmxvYXRpbmcnO1xyXG5pbXBvcnQgeyBJMThuQ29udGV4dCB9IGZyb20gJy4uLy4uL2kxOG4nO1xyXG5pbXBvcnQgeyBJbnZlcnNlQ29udGV4dCwgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IEFubm91bmNlIH0gZnJvbSAnLi4vQW5ub3VuY2UnO1xyXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJy4uL0lucHV0JztcclxuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgVmlzdWFsbHlIaWRkZW4gfSBmcm9tICcuLi9WaXN1YWxseUhpZGRlbic7XHJcbmltcG9ydCB7IERhdGVGaWVsZElucHV0IH0gZnJvbSAnLi9EYXRlRmllbGQvRGF0ZUZpZWxkSW5wdXQnO1xyXG5pbXBvcnQgeyBnZXRDYWxlbmRhck1vbnRoV2Vla3MsIGdldERhdGVGcm9tU3RyaW5nLCBnZXROZXh0TW9udGhGcm9tRGF0ZSwgZ2V0UHJldk1vbnRoRnJvbURhdGUsIGhhbmRsZUtleVByZXNzLCBzZXRNb250aEZvckRhdGUsIHNldFllYXJGb3JEYXRlLCBpMThuRm9ybWF0IGFzIGZvcm1hdCwgaW5EYXRlUmFuZ2UsIH0gZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCB7IG9taXQsIHVzZUZvcmtlZFJlZiwgdXNlR2VuZXJhdGVJZCB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuY29uc3QgRGF0ZVBpY2tlckNvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xyXG5jb25zdCBEYXRlUGlja2VyQ2FsZW5kYXIgPSBzdHlsZWQuZGl2IGBcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogJHtwcm9wcyA9PiAocHJvcHMub3BlbmVkID8gJ2Jsb2NrJyA6ICdub25lJyl9O1xuICBtYXJnaW46ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDF9IDBweDtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMub3BlbmVkID8gJzEnIDogJzAnKX07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCAwcztcbiAgd2lkdGg6IDMyMHB4O1xuYDtcclxuZXhwb3J0IGNvbnN0IERhdGVQaWNrZXIgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IGljb25SZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHByZXZpb3VzSWNvblJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IGxhc3RGb2N1cyA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgaWQgPSB1c2VHZW5lcmF0ZUlkKHByb3BzLmlkKTtcclxuICAgIGNvbnN0IGlzSW52ZXJzZSA9IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpO1xyXG4gICAgY29uc3QgbWluRGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKHByb3BzLm1pbkRhdGUpO1xyXG4gICAgY29uc3QgbWF4RGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKHByb3BzLm1heERhdGUpO1xyXG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IGkxOG4uZGF0ZUZvcm1hdDtcclxuICAgIGNvbnN0IFtoZWxwZXJJbmZvcm1hdGlvblNob3duLCBzZXRIZWxwZXJJbmZvcm1hdGlvblNob3duXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IFtjYWxlbmRhck9wZW5lZCwgc2V0Q2FsZW5kYXJPcGVuZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgW2RhdGVGb2N1c2VkLCBzZXREYXRlRm9jdXNlZF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBbZm9jdXNlZERhdGUsIHNldEZvY3VzZWREYXRlXSA9IFJlYWN0LnVzZVN0YXRlKHNldERhdGVGcm9tQ29uc3VtZXIocHJvcHMudmFsdWUgfHwgcHJvcHMuZGVmYXVsdERhdGUpIHx8XHJcbiAgICAgICAgc2V0RGVmYXVsdEZvY3VzZWREYXRlKCkpO1xyXG4gICAgY29uc3QgW2Nob3NlbkRhdGUsIHNldENob3NlbkRhdGVdID0gUmVhY3QudXNlU3RhdGUoc2V0RGF0ZUZyb21Db25zdW1lcihwcm9wcy52YWx1ZSB8fCBwcm9wcy5kZWZhdWx0RGF0ZSkpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMuYXBpUmVmKSB7XHJcbiAgICAgICAgICAgIHByb3BzLmFwaVJlZi5jdXJyZW50ID0ge1xyXG4gICAgICAgICAgICAgICAgY2xvc2VEYXRlUGlja2VyTWFudWFsbHkoZXZlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDbG9zZUJ1dHRvbkNsaWNrKGV2ZW50KTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBvcGVuRGF0ZVBpY2tlck1hbnVhbGx5KGV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9nZ2xlQ2FsZW5kYXJPcGVuZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtdKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGVUaW1lUGlja2VyQ29udGVudCAmJlxyXG4gICAgICAgICAgICBjaG9zZW5EYXRlICYmXHJcbiAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQgIT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgaWYgKCFwcm9wcy5hZGRpdGlvbmFsSW5wdXRDb250ZW50ICYmIHByb3BzLnNldEFkZGl0aW9uYWxJbnB1dENvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgIHByb3BzLnNldEFkZGl0aW9uYWxJbnB1dENvbnRlbnQoJzEyOjAwIEFNJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUoY2hvc2VuRGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW2Nob3NlbkRhdGVdKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFjYWxlbmRhck9wZW5lZCkge1xyXG4gICAgICAgICAgICBzZXREYXRlRm9jdXNlZChmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW2NhbGVuZGFyT3BlbmVkXSk7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSkge1xyXG4gICAgICAgICAgICBzZXRGb2N1c2VkRGF0ZShzZXREYXRlRnJvbUNvbnN1bWVyKHByb3BzLnZhbHVlKSB8fCBzZXREZWZhdWx0Rm9jdXNlZERhdGUoKSk7XHJcbiAgICAgICAgICAgIHNldENob3NlbkRhdGUoc2V0RGF0ZUZyb21Db25zdW1lcihwcm9wcy52YWx1ZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgPT09IG51bGwpXHJcbiAgICAgICAgICAgIHNldENob3NlbkRhdGUodW5kZWZpbmVkKTtcclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBwcmV2aW91c0ljb25SZWYuY3VycmVudCA9IGljb25SZWYuY3VycmVudDtcclxuICAgIH0sIFtdKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFmb2N1c2VkRGF0ZSB8fCAhbWluRGF0ZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIGlmIChpc0JlZm9yZShmb2N1c2VkRGF0ZSwgbWluRGF0ZSkgJiYgIWNob3NlbkRhdGUpIHtcclxuICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUobWluRGF0ZSk7XHJcbiAgICAgICAgICAgIHNldERhdGVGb2N1c2VkKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtmb2N1c2VkRGF0ZSwgbWluRGF0ZSwgY2hvc2VuRGF0ZV0pO1xyXG4gICAgZnVuY3Rpb24gc2hvd0hlbHBlckluZm9ybWF0aW9uKCkge1xyXG4gICAgICAgIGxhc3RGb2N1cy5jdXJyZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcclxuICAgICAgICBzZXRIZWxwZXJJbmZvcm1hdGlvblNob3duKHRydWUpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGlkZUhlbHBlckluZm9ybWF0aW9uKCkge1xyXG4gICAgICAgIGxhc3RGb2N1cy5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgc2V0SGVscGVySW5mb3JtYXRpb25TaG93bihmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBjbG9zZUhlbHBlckluZm9ybWF0aW9uKCkge1xyXG4gICAgICAgIHNldEhlbHBlckluZm9ybWF0aW9uU2hvd24oZmFsc2UpO1xyXG4gICAgICAgIGljb25SZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgICAgIHNldENhbGVuZGFyT3BlbmVkKGZhbHNlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHNldEZvY3VzZWRUb2RheURhdGUgPSAoZXZlbnQpID0+IHtcclxuICAgICAgICBjb25zdCBpc0tleWJvYXJkRXZlbnQgPSBldmVudC50eXBlID09PSAna2V5ZG93bic7XHJcbiAgICAgICAgaWYgKChpc0tleWJvYXJkRXZlbnQgJiZcclxuICAgICAgICAgICAgKGV2ZW50LmtleSA9PT0gJyAnIHx8XHJcbiAgICAgICAgICAgICAgICBldmVudC5rZXkgPT09ICdFbnRlcicpKSB8fFxyXG4gICAgICAgICAgICBldmVudC50eXBlID09PSAnY2xpY2snKSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIHNldEZvY3VzZWREYXRlKHNldERlZmF1bHRGb2N1c2VkRGF0ZSgpKTtcclxuICAgICAgICAgICAgc2V0RGF0ZUZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIGZ1bmN0aW9uIHNldERhdGVGcm9tQ29uc3VtZXIoZGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZERhdGUgPSBnZXREYXRlRnJvbVN0cmluZyhkYXRlKTtcclxuICAgICAgICBjb25zdCBjb252ZXJ0ZWRNaW5EYXRlID0gZ2V0RGF0ZUZyb21TdHJpbmcobWluRGF0ZSk7XHJcbiAgICAgICAgY29uc3QgY29udmVydGVkTWF4RGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKG1heERhdGUpO1xyXG4gICAgICAgIHJldHVybiBkYXRlICYmXHJcbiAgICAgICAgICAgIGluRGF0ZVJhbmdlKGNvbnZlcnRlZERhdGUsIGNvbnZlcnRlZE1pbkRhdGUsIGNvbnZlcnRlZE1heERhdGUpXHJcbiAgICAgICAgICAgID8gY29udmVydGVkRGF0ZVxyXG4gICAgICAgICAgICA6IG51bGw7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBzZXREZWZhdWx0Rm9jdXNlZERhdGUoKSB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgY29uc3QgY29udmVydGVkTWluRGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKG1pbkRhdGUpO1xyXG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZE1heERhdGUgPSBnZXREYXRlRnJvbVN0cmluZyhtYXhEYXRlKTtcclxuICAgICAgICBpZiAoaW5EYXRlUmFuZ2UobmV3RGF0ZSwgY29udmVydGVkTWluRGF0ZSwgY29udmVydGVkTWF4RGF0ZSkpIHtcclxuICAgICAgICAgICAgaWYgKGlzQmVmb3JlKHN0YXJ0T2ZEYXkobmV3RGF0ZSksIGNvbnZlcnRlZE1pbkRhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYWRkRGF5cyhuZXdEYXRlLCAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gbmV3RGF0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoY29udmVydGVkTWF4RGF0ZSB8fCBjb252ZXJ0ZWRNaW5EYXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZWRNaW5EYXRlID8gY29udmVydGVkTWluRGF0ZSA6IGNvbnZlcnRlZE1heERhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gYnVpbGRDYWxlbmRhck1vbnRoKGRhdGUsIGVuYWJsZU91dHNpZGVEYXRlcykge1xyXG4gICAgICAgIGNvbnN0IGRheXMgPSBbXHJcbiAgICAgICAgICAgICdzdW5kYXknLFxyXG4gICAgICAgICAgICAnbW9uZGF5JyxcclxuICAgICAgICAgICAgJ3R1ZXNkYXknLFxyXG4gICAgICAgICAgICAnd2VkbmVzZGF5JyxcclxuICAgICAgICAgICAgJ3RodXJzZGF5JyxcclxuICAgICAgICAgICAgJ2ZyaWRheScsXHJcbiAgICAgICAgICAgICdzYXR1cmRheScsXHJcbiAgICAgICAgXTtcclxuICAgICAgICBjb25zdCB7IHN0YXJ0T2ZXZWVrIH0gPSBpMThuLmRhdGVQaWNrZXI7XHJcbiAgICAgICAgcmV0dXJuIGdldENhbGVuZGFyTW9udGhXZWVrcyhkYXRlLCBlbmFibGVPdXRzaWRlRGF0ZXMsIGRheXMuaW5kZXhPZihzdGFydE9mV2VlaykpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gb25QcmV2TW9udGhDbGljaygpIHtcclxuICAgICAgICBjb25zdCBuZXdEYXRlID0gZ2V0UHJldk1vbnRoRnJvbURhdGUoZm9jdXNlZERhdGUpO1xyXG4gICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0RhdGUpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gb25OZXh0TW9udGhDbGljaygpIHtcclxuICAgICAgICBjb25zdCBuZXdEYXRlID0gZ2V0TmV4dE1vbnRoRnJvbURhdGUoZm9jdXNlZERhdGUpO1xyXG4gICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0RhdGUpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gc2V0TW9udGhGb2N1c2VkRGF0ZShtb250aE51bWJlcikge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGUgPSBzZXRNb250aEZvckRhdGUoZm9jdXNlZERhdGUsIG1vbnRoTnVtYmVyKTtcclxuICAgICAgICBzZXRGb2N1c2VkRGF0ZShuZXdEYXRlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIHNldFllYXJGb2N1c2VkRGF0ZSh5ZWFyTnVtYmVyKSB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0ZSA9IHNldFllYXJGb3JEYXRlKGZvY3VzZWREYXRlLCB5ZWFyTnVtYmVyKTtcclxuICAgICAgICBzZXRGb2N1c2VkRGF0ZShuZXdEYXRlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIG9uRGF0ZUNoYW5nZShkYXkpIHtcclxuICAgICAgICBzZXRDaG9zZW5EYXRlKGRheSk7XHJcbiAgICAgICAgaWYgKGRhdGVUaW1lUGlja2VyQ29udGVudClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHNldENhbGVuZGFyT3BlbmVkKGZhbHNlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIHJlc2V0KCkge1xyXG4gICAgICAgIHNldEZvY3VzZWREYXRlKHNldERlZmF1bHRGb2N1c2VkRGF0ZSgpKTtcclxuICAgICAgICBzZXRDaG9zZW5EYXRlKG51bGwpO1xyXG4gICAgICAgIHNldERhdGVGb2N1c2VkKGZhbHNlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGlzVmFsaWREYXRlRnJvbVN0cmluZyh2YWx1ZSkge1xyXG4gICAgICAgIGNvbnN0IGlzVmFsaWREYXRlRm9ybWF0ID0gaXNNYXRjaCh2YWx1ZSwgaTE4bi5kYXRlRm9ybWF0KTtcclxuICAgICAgICBjb25zdCBwYXJzZWREYXRlID0gcGFyc2UodmFsdWUsIGkxOG4uZGF0ZUZvcm1hdCwgbmV3IERhdGUoKSk7XHJcbiAgICAgICAgY29uc3QgaXNWYWxpZERhdGUgPSBpc1ZhbGlkKHBhcnNlZERhdGUpO1xyXG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZUZvcm1hdCAmJiBpc1ZhbGlkRGF0ZTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUlucHV0Q2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgICAgIGNvbnN0IGRheSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICBzZXRDYWxlbmRhck9wZW5lZChmYWxzZSk7XHJcbiAgICAgICAgcHJvcHMub25JbnB1dENoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25JbnB1dENoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbklucHV0Q2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBsZXQgaXNWYWxpZERheTtcclxuICAgICAgICBpZiAoZGF0ZVRpbWVQaWNrZXJDb250ZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNwbGl0VmFsdWUgPSB2YWx1ZS5zcGxpdCgnICcpWzBdO1xyXG4gICAgICAgICAgICBpc1ZhbGlkRGF5ID0gaXNWYWxpZERhdGVGcm9tU3RyaW5nKHNwbGl0VmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zdCB2YWxpZERheSA9IG5ldyBEYXRlKHNwbGl0VmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zdCBwYXR0ZXJuID0gL15cXGR7Mn1cXC9cXGR7Mn1cXC9cXGR7NH0kLztcclxuICAgICAgICAgICAgaWYgKHBhdHRlcm4udGVzdChzcGxpdFZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgc2V0Q2hvc2VuRGF0ZSh2YWxpZERheSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoaXNWYWxpZERheSA/IHZhbGlkRGF5LnRvSVNPU3RyaW5nKCkgOiBzcGxpdFZhbHVlLCBldmVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpc1ZhbGlkRGF5ID0gaXNWYWxpZERhdGVGcm9tU3RyaW5nKHZhbHVlKTtcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoaXNWYWxpZERheSA/IGRheS50b0lTT1N0cmluZygpIDogdmFsdWUsIGV2ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVJbnB1dEZvY3VzKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25JbnB1dEZvY3VzICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbklucHV0Rm9jdXMgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25JbnB1dEZvY3VzKGV2ZW50KTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUlucHV0Qmx1cihldmVudCkge1xyXG4gICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGlucHV0UmVmLmN1cnJlbnQ7XHJcbiAgICAgICAgY29uc3QgZGF5ID0gcGFyc2UoZGF0ZVRpbWVQaWNrZXJDb250ZW50ID8gdmFsdWUuc3BsaXQoJyAnKVswXSA6IHZhbHVlLCBpMThuLmRhdGVGb3JtYXQsIG5ldyBEYXRlKCkpO1xyXG4gICAgICAgIGxldCBpc1ZhbGlkRGF5O1xyXG4gICAgICAgIGlmIChkYXRlVGltZVBpY2tlckNvbnRlbnQpIHtcclxuICAgICAgICAgICAgY29uc3Qgc3BsaXRWYWx1ZSA9IHZhbHVlLnNwbGl0KCcgJylbMF07XHJcbiAgICAgICAgICAgIGlzVmFsaWREYXkgPSBpc1ZhbGlkRGF0ZUZyb21TdHJpbmcoc3BsaXRWYWx1ZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkRGF5ID0gbmV3IERhdGUoc3BsaXRWYWx1ZSk7XHJcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRGF5KSB7XHJcbiAgICAgICAgICAgICAgICBoYW5kbGVEYXRlQ2hhbmdlKHZhbGlkRGF5LCBldmVudCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlzVmFsaWREYXkgPSBpc1ZhbGlkRGF0ZUZyb21TdHJpbmcodmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoaXNWYWxpZERheSkge1xyXG4gICAgICAgICAgICAgICAgaGFuZGxlRGF0ZUNoYW5nZShkYXksIGV2ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJlc2V0ICYmIHR5cGVvZiByZXNldCA9PT0gJ2Z1bmN0aW9uJyAmJiByZXNldCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHByb3BzLm9uSW5wdXRCbHVyICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbklucHV0Qmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbklucHV0Qmx1cihldmVudCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVJbnB1dEtleURvd24oZXZlbnQpIHtcclxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBzZXRDYWxlbmRhck9wZW5lZChmYWxzZSk7XHJcbiAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVLZXlEb3duKGV2ZW50KSB7XHJcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcclxuICAgICAgICAgICAgZXZlbnQubmF0aXZlRXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIHNldENhbGVuZGFyT3BlbmVkKGZhbHNlKTtcclxuICAgICAgICAgICAgaWNvblJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkYXRlRm9jdXNlZCAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmNsb3Nlc3QoJ3RhYmxlJykpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3Q2hvc2VuRGF0ZSA9IGhhbmRsZUtleVByZXNzKGV2ZW50LCBmb2N1c2VkRGF0ZSwgc2V0Q2FsZW5kYXJPcGVuZWQsIHNob3dIZWxwZXJJbmZvcm1hdGlvbiwgb25EYXRlQ2hhbmdlLCBpY29uUmVmKTtcclxuICAgICAgICAgICAgaWYgKG5ld0Nob3NlbkRhdGUpIHtcclxuICAgICAgICAgICAgICAgIGlmIChtaW5EYXRlICYmIG1heERhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNBZnRlcihzZXRIb3VycyhuZXdDaG9zZW5EYXRlLCAxMiksIHN0YXJ0T2ZEYXkobWluRGF0ZSkpICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzQmVmb3JlKHNldEhvdXJzKG5ld0Nob3NlbkRhdGUsIDEyKSwgZW5kT2ZEYXkobWF4RGF0ZSkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0Nob3NlbkRhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1pbkRhdGUgJiYgIW1heERhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNBZnRlcihzZXRIb3VycyhuZXdDaG9zZW5EYXRlLCAxMiksIHN0YXJ0T2ZEYXkobWluRGF0ZSkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0Nob3NlbkRhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1heERhdGUgJiYgIW1pbkRhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNCZWZvcmUoc2V0SG91cnMobmV3Q2hvc2VuRGF0ZSwgMTIpLCBlbmRPZkRheShtYXhEYXRlKSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUobmV3Q2hvc2VuRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUobmV3Q2hvc2VuRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVEYXRlQ2hhbmdlKGRheSwgZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkRhdGVDaGFuZ2UoZGF5LCBldmVudCk7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGRheT8udG9JU09TdHJpbmcoKSwgZXZlbnQpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZShkYXkpO1xyXG4gICAgICAgIGlmIChkYXRlVGltZVBpY2tlckNvbnRlbnQpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBzZXRGb2N1c2VkRGF0ZShkYXkpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlRGF5U2VsZWN0aW9uKGRheSwgZXZlbnQpIHtcclxuICAgICAgICBoYW5kbGVEYXRlQ2hhbmdlKGRheSwgZXZlbnQpO1xyXG4gICAgICAgIGlmIChkYXRlVGltZVBpY2tlckNvbnRlbnQpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDYWxlbmRhckJsdXIoZXZlbnQpIHtcclxuICAgICAgICBjb25zdCB7IGN1cnJlbnRUYXJnZXQgfSA9IGV2ZW50O1xyXG4gICAgICAgIC8vIHRpbWVvdXQgbmVlZGVkIGZvciBhY3RpdmUgZWxlbWVudCB0byB1cGRhdGUuIEJyb3dzZXIgYmVoYXZpb3IuXHJcbiAgICAgICAgLy8gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUyMzA3XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzSW5DYWxlbmRhciA9IGN1cnJlbnRUYXJnZXQuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgICAgIGlmICghaXNJbkNhbGVuZGFyICYmICFoZWxwZXJJbmZvcm1hdGlvblNob3duKSB7XHJcbiAgICAgICAgICAgICAgICBzZXRDYWxlbmRhck9wZW5lZChmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAwKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsb3NlQnV0dG9uQ2xpY2soZXZlbnQpIHtcclxuICAgICAgICBpZiAoIWljb25SZWYuY3VycmVudCAmJiBwcmV2aW91c0ljb25SZWYuY3VycmVudCkge1xyXG4gICAgICAgICAgICBpY29uUmVmLmN1cnJlbnQgPSBwcmV2aW91c0ljb25SZWYuY3VycmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWNvblJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgc2V0Q2FsZW5kYXJPcGVuZWQoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gdG9nZ2xlQ2FsZW5kYXJPcGVuZWQoKSB7XHJcbiAgICAgICAgc2V0Q2FsZW5kYXJPcGVuZWQob3BlbmVkID0+IHtcclxuICAgICAgICAgICAgLy8gRm9jdXMgb24gdG9kYXkgd2hlbiBvcGVuaW5nIGNhbGVuZGFyIHdpdGhvdXQgYSBjaG9zZW4gZGF0ZVxyXG4gICAgICAgICAgICBpZiAoIW9wZW5lZCAmJiAhY2hvc2VuRGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUoc2V0RGVmYXVsdEZvY3VzZWREYXRlKCkpO1xyXG4gICAgICAgICAgICAgICAgc2V0RGF0ZUZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuICFvcGVuZWQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IHBsYWNlaG9sZGVyLCB0ZXN0SWQsIGRhdGVUaW1lUGlja2VyQ29udGVudCwgLi4ucmVzdCB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBvdGhlciA9IG9taXQoWydvbkRhdGVDaGFuZ2UnLCAnb25JbnB1dENoYW5nZScsICdvbklucHV0Qmx1cicsICdvbklucHV0Rm9jdXMnXSwgcmVzdCk7XHJcbiAgICBjb25zdCBkYXRlRmllbGRWYWx1ZSA9IGRhdGVGb3JtYXQgPT09ICdNTU1NIGQsIHl5eXknICYmIGNob3NlbkRhdGVcclxuICAgICAgICA/IGZvcm1hdChjaG9zZW5EYXRlLCBkYXRlRm9ybWF0KVxyXG4gICAgICAgIDogY2hvc2VuRGF0ZTtcclxuICAgIGNvbnN0IGlucHV0RGF0ZVZhbHVlID0gY2hvc2VuRGF0ZSA/IGZvcm1hdChjaG9zZW5EYXRlLCBkYXRlRm9ybWF0KSA6ICcnO1xyXG4gICAgbGV0IGlucHV0VmFsdWUgPSBwcm9wcy5pc0RhdGVGaWVsZElucHV0ID8gZGF0ZUZpZWxkVmFsdWUgOiBpbnB1dERhdGVWYWx1ZTtcclxuICAgIGlmIChpbnB1dFZhbHVlICYmIHByb3BzLmFkZGl0aW9uYWxJbnB1dENvbnRlbnQpIHtcclxuICAgICAgICBpbnB1dFZhbHVlID0gYCR7aW5wdXRWYWx1ZX0gJHtwcm9wcy5hZGRpdGlvbmFsSW5wdXRDb250ZW50fWA7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChwcm9wcy5hZGRpdGlvbmFsSW5wdXRDb250ZW50KSB7XHJcbiAgICAgICAgc2V0Q2hvc2VuRGF0ZShuZXcgRGF0ZSgpKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsgZmxvYXRpbmdTdHlsZXMsIHJlZnMsIGVsZW1lbnRzLCB1cGRhdGUgfSA9IHVzZU1hZ21hRmxvYXRpbmcoKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlRGF0ZUlucHV0ID0gZWxlbWVudHMucmVmZXJlbmNlO1xyXG4gICAgICAgIGNvbnN0IGZsb2F0aW5nQ2FsZW5kYXIgPSBlbGVtZW50cy5mbG9hdGluZztcclxuICAgICAgICBpZiAoY2FsZW5kYXJPcGVuZWQgJiYgcmVmZXJlbmNlRGF0ZUlucHV0ICYmIGZsb2F0aW5nQ2FsZW5kYXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGF1dG9VcGRhdGUocmVmZXJlbmNlRGF0ZUlucHV0LCBmbG9hdGluZ0NhbGVuZGFyLCB1cGRhdGUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtjYWxlbmRhck9wZW5lZCwgZWxlbWVudHMsIHVwZGF0ZV0pO1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KENhbGVuZGFyQ29udGV4dC5Qcm92aWRlciwgeyB2YWx1ZToge1xyXG4gICAgICAgICAgICBjaG9zZW5EYXRlLFxyXG4gICAgICAgICAgICBmb2N1c2VkRGF0ZSxcclxuICAgICAgICAgICAgZGF0ZUZvY3VzZWQsXHJcbiAgICAgICAgICAgIG1heERhdGUsXHJcbiAgICAgICAgICAgIG1pbkRhdGUsXHJcbiAgICAgICAgICAgIGhlbHBlckluZm9ybWF0aW9uU2hvd24sXHJcbiAgICAgICAgICAgIGlzSW52ZXJzZSxcclxuICAgICAgICAgICAgYnVpbGRDYWxlbmRhck1vbnRoLFxyXG4gICAgICAgICAgICBzaG93SGVscGVySW5mb3JtYXRpb24sXHJcbiAgICAgICAgICAgIGhpZGVIZWxwZXJJbmZvcm1hdGlvbixcclxuICAgICAgICAgICAgb25LZXlEb3duOiBoYW5kbGVLZXlEb3duLFxyXG4gICAgICAgICAgICBvblByZXZNb250aENsaWNrLFxyXG4gICAgICAgICAgICBvbk5leHRNb250aENsaWNrLFxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2U6IGhhbmRsZURheVNlbGVjdGlvbixcclxuICAgICAgICAgICAgc2V0RGF0ZUZvY3VzZWQsXHJcbiAgICAgICAgICAgIHNldEZvY3VzZWRUb2RheURhdGUsXHJcbiAgICAgICAgICAgIHNldEZvY3VzZWREYXRlLFxyXG4gICAgICAgICAgICBzZXRNb250aEZvY3VzZWREYXRlLFxyXG4gICAgICAgICAgICBzZXRZZWFyRm9jdXNlZERhdGUsXHJcbiAgICAgICAgICAgIG9uQ2xvc2U6IGNsb3NlSGVscGVySW5mb3JtYXRpb24sXHJcbiAgICAgICAgfSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRGF0ZVBpY2tlckNvbnRhaW5lciwgeyBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgb25CbHVyOiBoYW5kbGVDYWxlbmRhckJsdXIgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChBbm5vdW5jZSwgbnVsbCwgY2FsZW5kYXJPcGVuZWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoVmlzdWFsbHlIaWRkZW4sIG51bGwsIGkxOG4uZGF0ZVBpY2tlci5jYWxlbmRhck9wZW5Bbm5vdW5jZSkpKSxcclxuICAgICAgICAgICAgcHJvcHMuaXNEYXRlRmllbGRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KERhdGVGaWVsZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBpZDogaWQsIGRhdGVGb3JtYXQ6IGRhdGVGb3JtYXQsIGlucHV0VmFsdWU6IGlucHV0VmFsdWUsIG9uSWNvbkNsaWNrOiB0b2dnbGVDYWxlbmRhck9wZW5lZCwgc2V0UmVmZXJlbmNlOiByZWZzLnNldFJlZmVyZW5jZSwgaWNvblJlZjogaWNvblJlZiwgaW5wdXRSZWY6IGlucHV0UmVmLCBoYW5kbGVEYXRlQ2hhbmdlOiBoYW5kbGVEYXRlQ2hhbmdlLCBvbkNsZWFyRGF0ZTogcmVzZXQsIG9uSW5wdXRCbHVyOiBwcm9wcy5vbklucHV0Qmx1ciwgb25JbnB1dEZvY3VzOiBoYW5kbGVJbnB1dEZvY3VzLCBvbkljb25LZXlEb3duOiBoYW5kbGVJbnB1dEtleURvd24gfSkpKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KEV2ZW50SWNvbiwgbnVsbCksIGljb25BcmlhTGFiZWw6IGkxOG4uZGF0ZVBpY2tlci5jYWxlbmRhckljb25BcmlhTGFiZWwsIGljb25SZWY6IGljb25SZWYsIG9uSWNvbkNsaWNrOiB0b2dnbGVDYWxlbmRhck9wZW5lZCwgb25JY29uS2V5RG93bjogaGFuZGxlSW5wdXRLZXlEb3duLCBpZDogaWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCByZWY6IHJlZiwgb25DaGFuZ2U6IGhhbmRsZUlucHV0Q2hhbmdlLCBvbkJsdXI6IGhhbmRsZUlucHV0Qmx1ciwgb25Gb2N1czogaGFuZGxlSW5wdXRGb2N1cywgb25LZXlEb3duOiBoYW5kbGVJbnB1dEtleURvd24sIG9uRGF0ZUNoYW5nZTogaGFuZGxlRGF0ZUNoYW5nZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiBkYXRlRm9ybWF0LnRvTG93ZXJDYXNlKCksIHR5cGU6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogaW5wdXRWYWx1ZSwgc2V0UmVmZXJlbmNlOiByZWZzLnNldFJlZmVyZW5jZSB9KSkpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEludmVyc2VDb250ZXh0LlByb3ZpZGVyLCB7IHZhbHVlOiB7IGlzSW52ZXJzZSB9IH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBlbCA9PiBjYWxlbmRhck9wZW5lZCAmJiByZWZzLnNldEZsb2F0aW5nKGVsKSwgc3R5bGU6IHsgLi4uZmxvYXRpbmdTdHlsZXMsIHpJbmRleDogJzk5OCcgfSB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRGF0ZVBpY2tlckNhbGVuZGFyLCB7IFwiZGF0YS10ZXN0aWRcIjogXCJjYWxlbmRhckNvbnRhaW5lclwiLCBvcGVuZWQ6IGNhbGVuZGFyT3BlbmVkLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgdGhlbWU6IHRoZW1lIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2FsZW5kYXJNb250aCwgeyBmb2N1c09uT3BlbjogY2FsZW5kYXJPcGVuZWQgJiYgQm9vbGVhbihmb2N1c2VkRGF0ZSksIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBoYW5kbGVDbG9zZUJ1dHRvbkNsaWNrOiBoYW5kbGVDbG9zZUJ1dHRvbkNsaWNrLCBjYWxlbmRhck9wZW5lZDogY2FsZW5kYXJPcGVuZWQsIHNldERhdGVGb2N1c2VkOiBzZXREYXRlRm9jdXNlZCwgZGF0ZVRpbWVQaWNrZXJDb250ZW50OiBkYXRlVGltZVBpY2tlckNvbnRlbnQgfSkpKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */",
|
|
24822
|
+
styles: "position:relative/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQnVDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyBhdXRvVXBkYXRlIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0LWRvbSc7XHJcbmltcG9ydCB7IGFkZERheXMsIGVuZE9mRGF5LCBpc0FmdGVyLCBpc0JlZm9yZSwgaXNNYXRjaCwgaXNWYWxpZCwgcGFyc2UsIHNldEhvdXJzLCBzdGFydE9mRGF5LCB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IEV2ZW50SWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJDb250ZXh0IH0gZnJvbSAnLi9DYWxlbmRhckNvbnRleHQnO1xyXG5pbXBvcnQgeyBDYWxlbmRhck1vbnRoIH0gZnJvbSAnLi9DYWxlbmRhck1vbnRoJztcclxuaW1wb3J0IHsgdXNlTWFnbWFGbG9hdGluZyB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZU1hZ21hRmxvYXRpbmcnO1xyXG5pbXBvcnQgeyBJMThuQ29udGV4dCB9IGZyb20gJy4uLy4uL2kxOG4nO1xyXG5pbXBvcnQgeyBJbnZlcnNlQ29udGV4dCwgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IEFubm91bmNlIH0gZnJvbSAnLi4vQW5ub3VuY2UnO1xyXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJy4uL0lucHV0JztcclxuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgVmlzdWFsbHlIaWRkZW4gfSBmcm9tICcuLi9WaXN1YWxseUhpZGRlbic7XHJcbmltcG9ydCB7IERhdGVGaWVsZElucHV0IH0gZnJvbSAnLi9EYXRlRmllbGQvRGF0ZUZpZWxkSW5wdXQnO1xyXG5pbXBvcnQgeyBnZXRDYWxlbmRhck1vbnRoV2Vla3MsIGdldERhdGVGcm9tU3RyaW5nLCBnZXROZXh0TW9udGhGcm9tRGF0ZSwgZ2V0UHJldk1vbnRoRnJvbURhdGUsIGhhbmRsZUtleVByZXNzLCBzZXRNb250aEZvckRhdGUsIHNldFllYXJGb3JEYXRlLCBpMThuRm9ybWF0IGFzIGZvcm1hdCwgaW5EYXRlUmFuZ2UsIH0gZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCB7IG9taXQsIHVzZUZvcmtlZFJlZiwgdXNlR2VuZXJhdGVJZCB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuY29uc3QgRGF0ZVBpY2tlckNvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xyXG5jb25zdCBEYXRlUGlja2VyQ2FsZW5kYXIgPSBzdHlsZWQuZGl2IGBcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogJHtwcm9wcyA9PiAocHJvcHMub3BlbmVkID8gJ2Jsb2NrJyA6ICdub25lJyl9O1xuICBtYXJnaW46ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDF9IDBweDtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMub3BlbmVkID8gJzEnIDogJzAnKX07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCAwcztcbiAgd2lkdGg6IDMyMHB4O1xuYDtcclxuZXhwb3J0IGNvbnN0IERhdGVQaWNrZXIgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IGljb25SZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHByZXZpb3VzSWNvblJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IGxhc3RGb2N1cyA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgaWQgPSB1c2VHZW5lcmF0ZUlkKHByb3BzLmlkKTtcclxuICAgIGNvbnN0IGlzSW52ZXJzZSA9IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpO1xyXG4gICAgY29uc3QgbWluRGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKHByb3BzLm1pbkRhdGUpO1xyXG4gICAgY29uc3QgbWF4RGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKHByb3BzLm1heERhdGUpO1xyXG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IGkxOG4uZGF0ZUZvcm1hdDtcclxuICAgIGNvbnN0IFtoZWxwZXJJbmZvcm1hdGlvblNob3duLCBzZXRIZWxwZXJJbmZvcm1hdGlvblNob3duXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IFtjYWxlbmRhck9wZW5lZCwgc2V0Q2FsZW5kYXJPcGVuZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgW2RhdGVGb2N1c2VkLCBzZXREYXRlRm9jdXNlZF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBbZm9jdXNlZERhdGUsIHNldEZvY3VzZWREYXRlXSA9IFJlYWN0LnVzZVN0YXRlKHNldERhdGVGcm9tQ29uc3VtZXIocHJvcHMudmFsdWUgfHwgcHJvcHMuZGVmYXVsdERhdGUpIHx8XHJcbiAgICAgICAgc2V0RGVmYXVsdEZvY3VzZWREYXRlKCkpO1xyXG4gICAgY29uc3QgW2Nob3NlbkRhdGUsIHNldENob3NlbkRhdGVdID0gUmVhY3QudXNlU3RhdGUoc2V0RGF0ZUZyb21Db25zdW1lcihwcm9wcy52YWx1ZSB8fCBwcm9wcy5kZWZhdWx0RGF0ZSkpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMuYXBpUmVmKSB7XHJcbiAgICAgICAgICAgIHByb3BzLmFwaVJlZi5jdXJyZW50ID0ge1xyXG4gICAgICAgICAgICAgICAgY2xvc2VEYXRlUGlja2VyTWFudWFsbHkoZXZlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDbG9zZUJ1dHRvbkNsaWNrKGV2ZW50KTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBvcGVuRGF0ZVBpY2tlck1hbnVhbGx5KGV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9nZ2xlQ2FsZW5kYXJPcGVuZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtdKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGVUaW1lUGlja2VyQ29udGVudCAmJlxyXG4gICAgICAgICAgICBjaG9zZW5EYXRlICYmXHJcbiAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQgIT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgaWYgKCFwcm9wcy5hZGRpdGlvbmFsSW5wdXRDb250ZW50ICYmIHByb3BzLnNldEFkZGl0aW9uYWxJbnB1dENvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgIHByb3BzLnNldEFkZGl0aW9uYWxJbnB1dENvbnRlbnQoJzEyOjAwIEFNJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUoY2hvc2VuRGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW2Nob3NlbkRhdGVdKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFjYWxlbmRhck9wZW5lZCkge1xyXG4gICAgICAgICAgICBzZXREYXRlRm9jdXNlZChmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW2NhbGVuZGFyT3BlbmVkXSk7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSkge1xyXG4gICAgICAgICAgICBzZXRGb2N1c2VkRGF0ZShzZXREYXRlRnJvbUNvbnN1bWVyKHByb3BzLnZhbHVlKSB8fCBzZXREZWZhdWx0Rm9jdXNlZERhdGUoKSk7XHJcbiAgICAgICAgICAgIHNldENob3NlbkRhdGUoc2V0RGF0ZUZyb21Db25zdW1lcihwcm9wcy52YWx1ZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgPT09IG51bGwpXHJcbiAgICAgICAgICAgIHNldENob3NlbkRhdGUodW5kZWZpbmVkKTtcclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBwcmV2aW91c0ljb25SZWYuY3VycmVudCA9IGljb25SZWYuY3VycmVudDtcclxuICAgIH0sIFtdKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFmb2N1c2VkRGF0ZSB8fCAhbWluRGF0ZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIGlmIChpc0JlZm9yZShmb2N1c2VkRGF0ZSwgbWluRGF0ZSkgJiYgIWNob3NlbkRhdGUpIHtcclxuICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUobWluRGF0ZSk7XHJcbiAgICAgICAgICAgIHNldERhdGVGb2N1c2VkKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtmb2N1c2VkRGF0ZSwgbWluRGF0ZSwgY2hvc2VuRGF0ZV0pO1xyXG4gICAgZnVuY3Rpb24gc2hvd0hlbHBlckluZm9ybWF0aW9uKCkge1xyXG4gICAgICAgIGxhc3RGb2N1cy5jdXJyZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcclxuICAgICAgICBzZXRIZWxwZXJJbmZvcm1hdGlvblNob3duKHRydWUpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGlkZUhlbHBlckluZm9ybWF0aW9uKCkge1xyXG4gICAgICAgIGxhc3RGb2N1cy5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgc2V0SGVscGVySW5mb3JtYXRpb25TaG93bihmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBjbG9zZUhlbHBlckluZm9ybWF0aW9uKCkge1xyXG4gICAgICAgIHNldEhlbHBlckluZm9ybWF0aW9uU2hvd24oZmFsc2UpO1xyXG4gICAgICAgIGljb25SZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgICAgIHNldENhbGVuZGFyT3BlbmVkKGZhbHNlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHNldEZvY3VzZWRUb2RheURhdGUgPSAoZXZlbnQpID0+IHtcclxuICAgICAgICBjb25zdCBpc0tleWJvYXJkRXZlbnQgPSBldmVudC50eXBlID09PSAna2V5ZG93bic7XHJcbiAgICAgICAgaWYgKChpc0tleWJvYXJkRXZlbnQgJiZcclxuICAgICAgICAgICAgKGV2ZW50LmtleSA9PT0gJyAnIHx8XHJcbiAgICAgICAgICAgICAgICBldmVudC5rZXkgPT09ICdFbnRlcicpKSB8fFxyXG4gICAgICAgICAgICBldmVudC50eXBlID09PSAnY2xpY2snKSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIHNldEZvY3VzZWREYXRlKHNldERlZmF1bHRGb2N1c2VkRGF0ZSgpKTtcclxuICAgICAgICAgICAgc2V0RGF0ZUZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIGZ1bmN0aW9uIHNldERhdGVGcm9tQ29uc3VtZXIoZGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZERhdGUgPSBnZXREYXRlRnJvbVN0cmluZyhkYXRlKTtcclxuICAgICAgICBjb25zdCBjb252ZXJ0ZWRNaW5EYXRlID0gZ2V0RGF0ZUZyb21TdHJpbmcobWluRGF0ZSk7XHJcbiAgICAgICAgY29uc3QgY29udmVydGVkTWF4RGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKG1heERhdGUpO1xyXG4gICAgICAgIHJldHVybiBkYXRlICYmXHJcbiAgICAgICAgICAgIGluRGF0ZVJhbmdlKGNvbnZlcnRlZERhdGUsIGNvbnZlcnRlZE1pbkRhdGUsIGNvbnZlcnRlZE1heERhdGUpXHJcbiAgICAgICAgICAgID8gY29udmVydGVkRGF0ZVxyXG4gICAgICAgICAgICA6IG51bGw7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBzZXREZWZhdWx0Rm9jdXNlZERhdGUoKSB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgY29uc3QgY29udmVydGVkTWluRGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKG1pbkRhdGUpO1xyXG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZE1heERhdGUgPSBnZXREYXRlRnJvbVN0cmluZyhtYXhEYXRlKTtcclxuICAgICAgICBpZiAoaW5EYXRlUmFuZ2UobmV3RGF0ZSwgY29udmVydGVkTWluRGF0ZSwgY29udmVydGVkTWF4RGF0ZSkpIHtcclxuICAgICAgICAgICAgaWYgKGlzQmVmb3JlKHN0YXJ0T2ZEYXkobmV3RGF0ZSksIGNvbnZlcnRlZE1pbkRhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYWRkRGF5cyhuZXdEYXRlLCAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gbmV3RGF0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoY29udmVydGVkTWF4RGF0ZSB8fCBjb252ZXJ0ZWRNaW5EYXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZWRNaW5EYXRlID8gY29udmVydGVkTWluRGF0ZSA6IGNvbnZlcnRlZE1heERhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gYnVpbGRDYWxlbmRhck1vbnRoKGRhdGUsIGVuYWJsZU91dHNpZGVEYXRlcykge1xyXG4gICAgICAgIGNvbnN0IGRheXMgPSBbXHJcbiAgICAgICAgICAgICdzdW5kYXknLFxyXG4gICAgICAgICAgICAnbW9uZGF5JyxcclxuICAgICAgICAgICAgJ3R1ZXNkYXknLFxyXG4gICAgICAgICAgICAnd2VkbmVzZGF5JyxcclxuICAgICAgICAgICAgJ3RodXJzZGF5JyxcclxuICAgICAgICAgICAgJ2ZyaWRheScsXHJcbiAgICAgICAgICAgICdzYXR1cmRheScsXHJcbiAgICAgICAgXTtcclxuICAgICAgICBjb25zdCB7IHN0YXJ0T2ZXZWVrIH0gPSBpMThuLmRhdGVQaWNrZXI7XHJcbiAgICAgICAgcmV0dXJuIGdldENhbGVuZGFyTW9udGhXZWVrcyhkYXRlLCBlbmFibGVPdXRzaWRlRGF0ZXMsIGRheXMuaW5kZXhPZihzdGFydE9mV2VlaykpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gb25QcmV2TW9udGhDbGljaygpIHtcclxuICAgICAgICBjb25zdCBuZXdEYXRlID0gZ2V0UHJldk1vbnRoRnJvbURhdGUoZm9jdXNlZERhdGUpO1xyXG4gICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0RhdGUpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gb25OZXh0TW9udGhDbGljaygpIHtcclxuICAgICAgICBjb25zdCBuZXdEYXRlID0gZ2V0TmV4dE1vbnRoRnJvbURhdGUoZm9jdXNlZERhdGUpO1xyXG4gICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0RhdGUpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gc2V0TW9udGhGb2N1c2VkRGF0ZShtb250aE51bWJlcikge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGUgPSBzZXRNb250aEZvckRhdGUoZm9jdXNlZERhdGUsIG1vbnRoTnVtYmVyKTtcclxuICAgICAgICBzZXRGb2N1c2VkRGF0ZShuZXdEYXRlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIHNldFllYXJGb2N1c2VkRGF0ZSh5ZWFyTnVtYmVyKSB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0ZSA9IHNldFllYXJGb3JEYXRlKGZvY3VzZWREYXRlLCB5ZWFyTnVtYmVyKTtcclxuICAgICAgICBzZXRGb2N1c2VkRGF0ZShuZXdEYXRlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIG9uRGF0ZUNoYW5nZShkYXkpIHtcclxuICAgICAgICBzZXRDaG9zZW5EYXRlKGRheSk7XHJcbiAgICAgICAgaWYgKGRhdGVUaW1lUGlja2VyQ29udGVudClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHNldENhbGVuZGFyT3BlbmVkKGZhbHNlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIHJlc2V0KCkge1xyXG4gICAgICAgIHNldEZvY3VzZWREYXRlKHNldERlZmF1bHRGb2N1c2VkRGF0ZSgpKTtcclxuICAgICAgICBzZXRDaG9zZW5EYXRlKG51bGwpO1xyXG4gICAgICAgIHNldERhdGVGb2N1c2VkKGZhbHNlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGlzVmFsaWREYXRlRnJvbVN0cmluZyh2YWx1ZSkge1xyXG4gICAgICAgIGNvbnN0IGlzVmFsaWREYXRlRm9ybWF0ID0gaXNNYXRjaCh2YWx1ZSwgaTE4bi5kYXRlRm9ybWF0KTtcclxuICAgICAgICBjb25zdCBwYXJzZWREYXRlID0gcGFyc2UodmFsdWUsIGkxOG4uZGF0ZUZvcm1hdCwgbmV3IERhdGUoKSk7XHJcbiAgICAgICAgY29uc3QgaXNWYWxpZERhdGUgPSBpc1ZhbGlkKHBhcnNlZERhdGUpO1xyXG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZUZvcm1hdCAmJiBpc1ZhbGlkRGF0ZTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUlucHV0Q2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgICAgIGNvbnN0IGRheSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICBzZXRDYWxlbmRhck9wZW5lZChmYWxzZSk7XHJcbiAgICAgICAgcHJvcHMub25JbnB1dENoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25JbnB1dENoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbklucHV0Q2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBsZXQgaXNWYWxpZERheTtcclxuICAgICAgICBpZiAoZGF0ZVRpbWVQaWNrZXJDb250ZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNwbGl0VmFsdWUgPSB2YWx1ZS5zcGxpdCgnICcpWzBdO1xyXG4gICAgICAgICAgICBpc1ZhbGlkRGF5ID0gaXNWYWxpZERhdGVGcm9tU3RyaW5nKHNwbGl0VmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zdCB2YWxpZERheSA9IG5ldyBEYXRlKHNwbGl0VmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zdCBwYXR0ZXJuID0gL15cXGR7Mn1cXC9cXGR7Mn1cXC9cXGR7NH0kLztcclxuICAgICAgICAgICAgaWYgKHBhdHRlcm4udGVzdChzcGxpdFZhbHVlKSAmJiBpc1ZhbGlkKHZhbGlkRGF5KSkge1xyXG4gICAgICAgICAgICAgICAgc2V0Q2hvc2VuRGF0ZSh2YWxpZERheSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoaXNWYWxpZERheSA/IHZhbGlkRGF5LnRvSVNPU3RyaW5nKCkgOiBzcGxpdFZhbHVlLCBldmVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpc1ZhbGlkRGF5ID0gaXNWYWxpZERhdGVGcm9tU3RyaW5nKHZhbHVlKTtcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoaXNWYWxpZERheSA/IGRheS50b0lTT1N0cmluZygpIDogdmFsdWUsIGV2ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVJbnB1dEZvY3VzKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25JbnB1dEZvY3VzICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbklucHV0Rm9jdXMgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25JbnB1dEZvY3VzKGV2ZW50KTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUlucHV0Qmx1cihldmVudCkge1xyXG4gICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGlucHV0UmVmLmN1cnJlbnQ7XHJcbiAgICAgICAgY29uc3QgZGF5ID0gcGFyc2UoZGF0ZVRpbWVQaWNrZXJDb250ZW50ID8gdmFsdWUuc3BsaXQoJyAnKVswXSA6IHZhbHVlLCBpMThuLmRhdGVGb3JtYXQsIG5ldyBEYXRlKCkpO1xyXG4gICAgICAgIGxldCBpc1ZhbGlkRGF5O1xyXG4gICAgICAgIGlmIChkYXRlVGltZVBpY2tlckNvbnRlbnQpIHtcclxuICAgICAgICAgICAgY29uc3Qgc3BsaXRWYWx1ZSA9IHZhbHVlLnNwbGl0KCcgJylbMF07XHJcbiAgICAgICAgICAgIGlzVmFsaWREYXkgPSBpc1ZhbGlkRGF0ZUZyb21TdHJpbmcoc3BsaXRWYWx1ZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkRGF5ID0gbmV3IERhdGUoc3BsaXRWYWx1ZSk7XHJcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRGF5KSB7XHJcbiAgICAgICAgICAgICAgICBoYW5kbGVEYXRlQ2hhbmdlKHZhbGlkRGF5LCBldmVudCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlzVmFsaWREYXkgPSBpc1ZhbGlkRGF0ZUZyb21TdHJpbmcodmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoaXNWYWxpZERheSkge1xyXG4gICAgICAgICAgICAgICAgaGFuZGxlRGF0ZUNoYW5nZShkYXksIGV2ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJlc2V0ICYmIHR5cGVvZiByZXNldCA9PT0gJ2Z1bmN0aW9uJyAmJiByZXNldCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHByb3BzLm9uSW5wdXRCbHVyICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbklucHV0Qmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbklucHV0Qmx1cihldmVudCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVJbnB1dEtleURvd24oZXZlbnQpIHtcclxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBzZXRDYWxlbmRhck9wZW5lZChmYWxzZSk7XHJcbiAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVLZXlEb3duKGV2ZW50KSB7XHJcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcclxuICAgICAgICAgICAgZXZlbnQubmF0aXZlRXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIHNldENhbGVuZGFyT3BlbmVkKGZhbHNlKTtcclxuICAgICAgICAgICAgaWNvblJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkYXRlRm9jdXNlZCAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmNsb3Nlc3QoJ3RhYmxlJykpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3Q2hvc2VuRGF0ZSA9IGhhbmRsZUtleVByZXNzKGV2ZW50LCBmb2N1c2VkRGF0ZSwgc2V0Q2FsZW5kYXJPcGVuZWQsIHNob3dIZWxwZXJJbmZvcm1hdGlvbiwgb25EYXRlQ2hhbmdlLCBpY29uUmVmKTtcclxuICAgICAgICAgICAgaWYgKG5ld0Nob3NlbkRhdGUpIHtcclxuICAgICAgICAgICAgICAgIGlmIChtaW5EYXRlICYmIG1heERhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNBZnRlcihzZXRIb3VycyhuZXdDaG9zZW5EYXRlLCAxMiksIHN0YXJ0T2ZEYXkobWluRGF0ZSkpICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzQmVmb3JlKHNldEhvdXJzKG5ld0Nob3NlbkRhdGUsIDEyKSwgZW5kT2ZEYXkobWF4RGF0ZSkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0Nob3NlbkRhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1pbkRhdGUgJiYgIW1heERhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNBZnRlcihzZXRIb3VycyhuZXdDaG9zZW5EYXRlLCAxMiksIHN0YXJ0T2ZEYXkobWluRGF0ZSkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0Nob3NlbkRhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1heERhdGUgJiYgIW1pbkRhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNCZWZvcmUoc2V0SG91cnMobmV3Q2hvc2VuRGF0ZSwgMTIpLCBlbmRPZkRheShtYXhEYXRlKSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUobmV3Q2hvc2VuRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUobmV3Q2hvc2VuRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVEYXRlQ2hhbmdlKGRheSwgZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkRhdGVDaGFuZ2UoZGF5LCBldmVudCk7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGRheT8udG9JU09TdHJpbmcoKSwgZXZlbnQpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZShkYXkpO1xyXG4gICAgICAgIGlmIChkYXRlVGltZVBpY2tlckNvbnRlbnQpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBzZXRGb2N1c2VkRGF0ZShkYXkpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlRGF5U2VsZWN0aW9uKGRheSwgZXZlbnQpIHtcclxuICAgICAgICBoYW5kbGVEYXRlQ2hhbmdlKGRheSwgZXZlbnQpO1xyXG4gICAgICAgIGlmIChkYXRlVGltZVBpY2tlckNvbnRlbnQpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDYWxlbmRhckJsdXIoZXZlbnQpIHtcclxuICAgICAgICBjb25zdCB7IGN1cnJlbnRUYXJnZXQgfSA9IGV2ZW50O1xyXG4gICAgICAgIC8vIHRpbWVvdXQgbmVlZGVkIGZvciBhY3RpdmUgZWxlbWVudCB0byB1cGRhdGUuIEJyb3dzZXIgYmVoYXZpb3IuXHJcbiAgICAgICAgLy8gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUyMzA3XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzSW5DYWxlbmRhciA9IGN1cnJlbnRUYXJnZXQuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgICAgIGlmICghaXNJbkNhbGVuZGFyICYmICFoZWxwZXJJbmZvcm1hdGlvblNob3duKSB7XHJcbiAgICAgICAgICAgICAgICBzZXRDYWxlbmRhck9wZW5lZChmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAwKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsb3NlQnV0dG9uQ2xpY2soZXZlbnQpIHtcclxuICAgICAgICBpZiAoIWljb25SZWYuY3VycmVudCAmJiBwcmV2aW91c0ljb25SZWYuY3VycmVudCkge1xyXG4gICAgICAgICAgICBpY29uUmVmLmN1cnJlbnQgPSBwcmV2aW91c0ljb25SZWYuY3VycmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWNvblJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgc2V0Q2FsZW5kYXJPcGVuZWQoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gdG9nZ2xlQ2FsZW5kYXJPcGVuZWQoKSB7XHJcbiAgICAgICAgc2V0Q2FsZW5kYXJPcGVuZWQob3BlbmVkID0+IHtcclxuICAgICAgICAgICAgLy8gRm9jdXMgb24gdG9kYXkgd2hlbiBvcGVuaW5nIGNhbGVuZGFyIHdpdGhvdXQgYSBjaG9zZW4gZGF0ZVxyXG4gICAgICAgICAgICBpZiAoIW9wZW5lZCAmJiAhY2hvc2VuRGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUoc2V0RGVmYXVsdEZvY3VzZWREYXRlKCkpO1xyXG4gICAgICAgICAgICAgICAgc2V0RGF0ZUZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuICFvcGVuZWQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IHBsYWNlaG9sZGVyLCB0ZXN0SWQsIGRhdGVUaW1lUGlja2VyQ29udGVudCwgLi4ucmVzdCB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBvdGhlciA9IG9taXQoWydvbkRhdGVDaGFuZ2UnLCAnb25JbnB1dENoYW5nZScsICdvbklucHV0Qmx1cicsICdvbklucHV0Rm9jdXMnXSwgcmVzdCk7XHJcbiAgICBjb25zdCBkYXRlRmllbGRWYWx1ZSA9IGRhdGVGb3JtYXQgPT09ICdNTU1NIGQsIHl5eXknICYmIGNob3NlbkRhdGVcclxuICAgICAgICA/IGZvcm1hdChjaG9zZW5EYXRlLCBkYXRlRm9ybWF0KVxyXG4gICAgICAgIDogY2hvc2VuRGF0ZTtcclxuICAgIGNvbnN0IGlucHV0RGF0ZVZhbHVlID0gY2hvc2VuRGF0ZSA/IGZvcm1hdChjaG9zZW5EYXRlLCBkYXRlRm9ybWF0KSA6ICcnO1xyXG4gICAgbGV0IGlucHV0VmFsdWUgPSBwcm9wcy5pc0RhdGVGaWVsZElucHV0ID8gZGF0ZUZpZWxkVmFsdWUgOiBpbnB1dERhdGVWYWx1ZTtcclxuICAgIGlmIChpbnB1dFZhbHVlICYmIHByb3BzLmFkZGl0aW9uYWxJbnB1dENvbnRlbnQpIHtcclxuICAgICAgICBpbnB1dFZhbHVlID0gYCR7aW5wdXRWYWx1ZX0gJHtwcm9wcy5hZGRpdGlvbmFsSW5wdXRDb250ZW50fWA7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChwcm9wcy5hZGRpdGlvbmFsSW5wdXRDb250ZW50KSB7XHJcbiAgICAgICAgc2V0Q2hvc2VuRGF0ZShuZXcgRGF0ZSgpKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsgZmxvYXRpbmdTdHlsZXMsIHJlZnMsIGVsZW1lbnRzLCB1cGRhdGUgfSA9IHVzZU1hZ21hRmxvYXRpbmcoKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlRGF0ZUlucHV0ID0gZWxlbWVudHMucmVmZXJlbmNlO1xyXG4gICAgICAgIGNvbnN0IGZsb2F0aW5nQ2FsZW5kYXIgPSBlbGVtZW50cy5mbG9hdGluZztcclxuICAgICAgICBpZiAoY2FsZW5kYXJPcGVuZWQgJiYgcmVmZXJlbmNlRGF0ZUlucHV0ICYmIGZsb2F0aW5nQ2FsZW5kYXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGF1dG9VcGRhdGUocmVmZXJlbmNlRGF0ZUlucHV0LCBmbG9hdGluZ0NhbGVuZGFyLCB1cGRhdGUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtjYWxlbmRhck9wZW5lZCwgZWxlbWVudHMsIHVwZGF0ZV0pO1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KENhbGVuZGFyQ29udGV4dC5Qcm92aWRlciwgeyB2YWx1ZToge1xyXG4gICAgICAgICAgICBjaG9zZW5EYXRlLFxyXG4gICAgICAgICAgICBmb2N1c2VkRGF0ZSxcclxuICAgICAgICAgICAgZGF0ZUZvY3VzZWQsXHJcbiAgICAgICAgICAgIG1heERhdGUsXHJcbiAgICAgICAgICAgIG1pbkRhdGUsXHJcbiAgICAgICAgICAgIGhlbHBlckluZm9ybWF0aW9uU2hvd24sXHJcbiAgICAgICAgICAgIGlzSW52ZXJzZSxcclxuICAgICAgICAgICAgYnVpbGRDYWxlbmRhck1vbnRoLFxyXG4gICAgICAgICAgICBzaG93SGVscGVySW5mb3JtYXRpb24sXHJcbiAgICAgICAgICAgIGhpZGVIZWxwZXJJbmZvcm1hdGlvbixcclxuICAgICAgICAgICAgb25LZXlEb3duOiBoYW5kbGVLZXlEb3duLFxyXG4gICAgICAgICAgICBvblByZXZNb250aENsaWNrLFxyXG4gICAgICAgICAgICBvbk5leHRNb250aENsaWNrLFxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2U6IGhhbmRsZURheVNlbGVjdGlvbixcclxuICAgICAgICAgICAgc2V0RGF0ZUZvY3VzZWQsXHJcbiAgICAgICAgICAgIHNldEZvY3VzZWRUb2RheURhdGUsXHJcbiAgICAgICAgICAgIHNldEZvY3VzZWREYXRlLFxyXG4gICAgICAgICAgICBzZXRNb250aEZvY3VzZWREYXRlLFxyXG4gICAgICAgICAgICBzZXRZZWFyRm9jdXNlZERhdGUsXHJcbiAgICAgICAgICAgIG9uQ2xvc2U6IGNsb3NlSGVscGVySW5mb3JtYXRpb24sXHJcbiAgICAgICAgfSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRGF0ZVBpY2tlckNvbnRhaW5lciwgeyBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgb25CbHVyOiBoYW5kbGVDYWxlbmRhckJsdXIgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChBbm5vdW5jZSwgbnVsbCwgY2FsZW5kYXJPcGVuZWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoVmlzdWFsbHlIaWRkZW4sIG51bGwsIGkxOG4uZGF0ZVBpY2tlci5jYWxlbmRhck9wZW5Bbm5vdW5jZSkpKSxcclxuICAgICAgICAgICAgcHJvcHMuaXNEYXRlRmllbGRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KERhdGVGaWVsZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBpZDogaWQsIGRhdGVGb3JtYXQ6IGRhdGVGb3JtYXQsIGlucHV0VmFsdWU6IGlucHV0VmFsdWUsIG9uSWNvbkNsaWNrOiB0b2dnbGVDYWxlbmRhck9wZW5lZCwgc2V0UmVmZXJlbmNlOiByZWZzLnNldFJlZmVyZW5jZSwgaWNvblJlZjogaWNvblJlZiwgaW5wdXRSZWY6IGlucHV0UmVmLCBoYW5kbGVEYXRlQ2hhbmdlOiBoYW5kbGVEYXRlQ2hhbmdlLCBvbkNsZWFyRGF0ZTogcmVzZXQsIG9uSW5wdXRCbHVyOiBwcm9wcy5vbklucHV0Qmx1ciwgb25JbnB1dEZvY3VzOiBoYW5kbGVJbnB1dEZvY3VzLCBvbkljb25LZXlEb3duOiBoYW5kbGVJbnB1dEtleURvd24gfSkpKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KEV2ZW50SWNvbiwgbnVsbCksIGljb25BcmlhTGFiZWw6IGkxOG4uZGF0ZVBpY2tlci5jYWxlbmRhckljb25BcmlhTGFiZWwsIGljb25SZWY6IGljb25SZWYsIG9uSWNvbkNsaWNrOiB0b2dnbGVDYWxlbmRhck9wZW5lZCwgb25JY29uS2V5RG93bjogaGFuZGxlSW5wdXRLZXlEb3duLCBpZDogaWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCByZWY6IHJlZiwgb25DaGFuZ2U6IGhhbmRsZUlucHV0Q2hhbmdlLCBvbkJsdXI6IGhhbmRsZUlucHV0Qmx1ciwgb25Gb2N1czogaGFuZGxlSW5wdXRGb2N1cywgb25LZXlEb3duOiBoYW5kbGVJbnB1dEtleURvd24sIG9uRGF0ZUNoYW5nZTogaGFuZGxlRGF0ZUNoYW5nZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiBkYXRlRm9ybWF0LnRvTG93ZXJDYXNlKCksIHR5cGU6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogaW5wdXRWYWx1ZSwgc2V0UmVmZXJlbmNlOiByZWZzLnNldFJlZmVyZW5jZSB9KSkpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEludmVyc2VDb250ZXh0LlByb3ZpZGVyLCB7IHZhbHVlOiB7IGlzSW52ZXJzZSB9IH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBlbCA9PiBjYWxlbmRhck9wZW5lZCAmJiByZWZzLnNldEZsb2F0aW5nKGVsKSwgc3R5bGU6IHsgLi4uZmxvYXRpbmdTdHlsZXMsIHpJbmRleDogJzk5OCcgfSB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRGF0ZVBpY2tlckNhbGVuZGFyLCB7IFwiZGF0YS10ZXN0aWRcIjogXCJjYWxlbmRhckNvbnRhaW5lclwiLCBvcGVuZWQ6IGNhbGVuZGFyT3BlbmVkLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgdGhlbWU6IHRoZW1lIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2FsZW5kYXJNb250aCwgeyBmb2N1c09uT3BlbjogY2FsZW5kYXJPcGVuZWQgJiYgQm9vbGVhbihmb2N1c2VkRGF0ZSksIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBoYW5kbGVDbG9zZUJ1dHRvbkNsaWNrOiBoYW5kbGVDbG9zZUJ1dHRvbkNsaWNrLCBjYWxlbmRhck9wZW5lZDogY2FsZW5kYXJPcGVuZWQsIHNldERhdGVGb2N1c2VkOiBzZXREYXRlRm9jdXNlZCwgZGF0ZVRpbWVQaWNrZXJDb250ZW50OiBkYXRlVGltZVBpY2tlckNvbnRlbnQgfSkpKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */",
|
|
24823
24823
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$l
|
|
24824
24824
|
});
|
|
24825
24825
|
/*#__PURE__*/createStyled("div", {
|
|
@@ -24837,7 +24837,7 @@
|
|
|
24837
24837
|
return props.theme.spaceScale.spacing01;
|
|
24838
24838
|
}, " 0px;opacity:", function (props) {
|
|
24839
24839
|
return props.opened ? '1' : '0';
|
|
24840
|
-
}, ";overflow:hidden;transition:opacity 0.2s ease-in-out 0s;width:320px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQnNDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyBhdXRvVXBkYXRlIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0LWRvbSc7XHJcbmltcG9ydCB7IGFkZERheXMsIGVuZE9mRGF5LCBpc0FmdGVyLCBpc0JlZm9yZSwgaXNNYXRjaCwgaXNWYWxpZCwgcGFyc2UsIHNldEhvdXJzLCBzdGFydE9mRGF5LCB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IEV2ZW50SWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJDb250ZXh0IH0gZnJvbSAnLi9DYWxlbmRhckNvbnRleHQnO1xyXG5pbXBvcnQgeyBDYWxlbmRhck1vbnRoIH0gZnJvbSAnLi9DYWxlbmRhck1vbnRoJztcclxuaW1wb3J0IHsgdXNlTWFnbWFGbG9hdGluZyB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZU1hZ21hRmxvYXRpbmcnO1xyXG5pbXBvcnQgeyBJMThuQ29udGV4dCB9IGZyb20gJy4uLy4uL2kxOG4nO1xyXG5pbXBvcnQgeyBJbnZlcnNlQ29udGV4dCwgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IEFubm91bmNlIH0gZnJvbSAnLi4vQW5ub3VuY2UnO1xyXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJy4uL0lucHV0JztcclxuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgVmlzdWFsbHlIaWRkZW4gfSBmcm9tICcuLi9WaXN1YWxseUhpZGRlbic7XHJcbmltcG9ydCB7IERhdGVGaWVsZElucHV0IH0gZnJvbSAnLi9EYXRlRmllbGQvRGF0ZUZpZWxkSW5wdXQnO1xyXG5pbXBvcnQgeyBnZXRDYWxlbmRhck1vbnRoV2Vla3MsIGdldERhdGVGcm9tU3RyaW5nLCBnZXROZXh0TW9udGhGcm9tRGF0ZSwgZ2V0UHJldk1vbnRoRnJvbURhdGUsIGhhbmRsZUtleVByZXNzLCBzZXRNb250aEZvckRhdGUsIHNldFllYXJGb3JEYXRlLCBpMThuRm9ybWF0IGFzIGZvcm1hdCwgaW5EYXRlUmFuZ2UsIH0gZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCB7IG9taXQsIHVzZUZvcmtlZFJlZiwgdXNlR2VuZXJhdGVJZCB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuY29uc3QgRGF0ZVBpY2tlckNvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xyXG5jb25zdCBEYXRlUGlja2VyQ2FsZW5kYXIgPSBzdHlsZWQuZGl2IGBcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogJHtwcm9wcyA9PiAocHJvcHMub3BlbmVkID8gJ2Jsb2NrJyA6ICdub25lJyl9O1xuICBtYXJnaW46ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDF9IDBweDtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMub3BlbmVkID8gJzEnIDogJzAnKX07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCAwcztcbiAgd2lkdGg6IDMyMHB4O1xuYDtcclxuZXhwb3J0IGNvbnN0IERhdGVQaWNrZXIgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IGljb25SZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHByZXZpb3VzSWNvblJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IGxhc3RGb2N1cyA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgaWQgPSB1c2VHZW5lcmF0ZUlkKHByb3BzLmlkKTtcclxuICAgIGNvbnN0IGlzSW52ZXJzZSA9IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpO1xyXG4gICAgY29uc3QgbWluRGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKHByb3BzLm1pbkRhdGUpO1xyXG4gICAgY29uc3QgbWF4RGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKHByb3BzLm1heERhdGUpO1xyXG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IGkxOG4uZGF0ZUZvcm1hdDtcclxuICAgIGNvbnN0IFtoZWxwZXJJbmZvcm1hdGlvblNob3duLCBzZXRIZWxwZXJJbmZvcm1hdGlvblNob3duXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IFtjYWxlbmRhck9wZW5lZCwgc2V0Q2FsZW5kYXJPcGVuZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgW2RhdGVGb2N1c2VkLCBzZXREYXRlRm9jdXNlZF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBbZm9jdXNlZERhdGUsIHNldEZvY3VzZWREYXRlXSA9IFJlYWN0LnVzZVN0YXRlKHNldERhdGVGcm9tQ29uc3VtZXIocHJvcHMudmFsdWUgfHwgcHJvcHMuZGVmYXVsdERhdGUpIHx8XHJcbiAgICAgICAgc2V0RGVmYXVsdEZvY3VzZWREYXRlKCkpO1xyXG4gICAgY29uc3QgW2Nob3NlbkRhdGUsIHNldENob3NlbkRhdGVdID0gUmVhY3QudXNlU3RhdGUoc2V0RGF0ZUZyb21Db25zdW1lcihwcm9wcy52YWx1ZSB8fCBwcm9wcy5kZWZhdWx0RGF0ZSkpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMuYXBpUmVmKSB7XHJcbiAgICAgICAgICAgIHByb3BzLmFwaVJlZi5jdXJyZW50ID0ge1xyXG4gICAgICAgICAgICAgICAgY2xvc2VEYXRlUGlja2VyTWFudWFsbHkoZXZlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDbG9zZUJ1dHRvbkNsaWNrKGV2ZW50KTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBvcGVuRGF0ZVBpY2tlck1hbnVhbGx5KGV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9nZ2xlQ2FsZW5kYXJPcGVuZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtdKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGVUaW1lUGlja2VyQ29udGVudCAmJlxyXG4gICAgICAgICAgICBjaG9zZW5EYXRlICYmXHJcbiAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQgIT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgaWYgKCFwcm9wcy5hZGRpdGlvbmFsSW5wdXRDb250ZW50ICYmIHByb3BzLnNldEFkZGl0aW9uYWxJbnB1dENvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgIHByb3BzLnNldEFkZGl0aW9uYWxJbnB1dENvbnRlbnQoJzEyOjAwIEFNJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUoY2hvc2VuRGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW2Nob3NlbkRhdGVdKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFjYWxlbmRhck9wZW5lZCkge1xyXG4gICAgICAgICAgICBzZXREYXRlRm9jdXNlZChmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW2NhbGVuZGFyT3BlbmVkXSk7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSkge1xyXG4gICAgICAgICAgICBzZXRGb2N1c2VkRGF0ZShzZXREYXRlRnJvbUNvbnN1bWVyKHByb3BzLnZhbHVlKSB8fCBzZXREZWZhdWx0Rm9jdXNlZERhdGUoKSk7XHJcbiAgICAgICAgICAgIHNldENob3NlbkRhdGUoc2V0RGF0ZUZyb21Db25zdW1lcihwcm9wcy52YWx1ZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgPT09IG51bGwpXHJcbiAgICAgICAgICAgIHNldENob3NlbkRhdGUodW5kZWZpbmVkKTtcclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBwcmV2aW91c0ljb25SZWYuY3VycmVudCA9IGljb25SZWYuY3VycmVudDtcclxuICAgIH0sIFtdKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFmb2N1c2VkRGF0ZSB8fCAhbWluRGF0ZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIGlmIChpc0JlZm9yZShmb2N1c2VkRGF0ZSwgbWluRGF0ZSkgJiYgIWNob3NlbkRhdGUpIHtcclxuICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUobWluRGF0ZSk7XHJcbiAgICAgICAgICAgIHNldERhdGVGb2N1c2VkKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtmb2N1c2VkRGF0ZSwgbWluRGF0ZSwgY2hvc2VuRGF0ZV0pO1xyXG4gICAgZnVuY3Rpb24gc2hvd0hlbHBlckluZm9ybWF0aW9uKCkge1xyXG4gICAgICAgIGxhc3RGb2N1cy5jdXJyZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcclxuICAgICAgICBzZXRIZWxwZXJJbmZvcm1hdGlvblNob3duKHRydWUpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGlkZUhlbHBlckluZm9ybWF0aW9uKCkge1xyXG4gICAgICAgIGxhc3RGb2N1cy5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgc2V0SGVscGVySW5mb3JtYXRpb25TaG93bihmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBjbG9zZUhlbHBlckluZm9ybWF0aW9uKCkge1xyXG4gICAgICAgIHNldEhlbHBlckluZm9ybWF0aW9uU2hvd24oZmFsc2UpO1xyXG4gICAgICAgIGljb25SZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgICAgIHNldENhbGVuZGFyT3BlbmVkKGZhbHNlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHNldEZvY3VzZWRUb2RheURhdGUgPSAoZXZlbnQpID0+IHtcclxuICAgICAgICBjb25zdCBpc0tleWJvYXJkRXZlbnQgPSBldmVudC50eXBlID09PSAna2V5ZG93bic7XHJcbiAgICAgICAgaWYgKChpc0tleWJvYXJkRXZlbnQgJiZcclxuICAgICAgICAgICAgKGV2ZW50LmtleSA9PT0gJyAnIHx8XHJcbiAgICAgICAgICAgICAgICBldmVudC5rZXkgPT09ICdFbnRlcicpKSB8fFxyXG4gICAgICAgICAgICBldmVudC50eXBlID09PSAnY2xpY2snKSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIHNldEZvY3VzZWREYXRlKHNldERlZmF1bHRGb2N1c2VkRGF0ZSgpKTtcclxuICAgICAgICAgICAgc2V0RGF0ZUZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIGZ1bmN0aW9uIHNldERhdGVGcm9tQ29uc3VtZXIoZGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZERhdGUgPSBnZXREYXRlRnJvbVN0cmluZyhkYXRlKTtcclxuICAgICAgICBjb25zdCBjb252ZXJ0ZWRNaW5EYXRlID0gZ2V0RGF0ZUZyb21TdHJpbmcobWluRGF0ZSk7XHJcbiAgICAgICAgY29uc3QgY29udmVydGVkTWF4RGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKG1heERhdGUpO1xyXG4gICAgICAgIHJldHVybiBkYXRlICYmXHJcbiAgICAgICAgICAgIGluRGF0ZVJhbmdlKGNvbnZlcnRlZERhdGUsIGNvbnZlcnRlZE1pbkRhdGUsIGNvbnZlcnRlZE1heERhdGUpXHJcbiAgICAgICAgICAgID8gY29udmVydGVkRGF0ZVxyXG4gICAgICAgICAgICA6IG51bGw7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBzZXREZWZhdWx0Rm9jdXNlZERhdGUoKSB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgY29uc3QgY29udmVydGVkTWluRGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKG1pbkRhdGUpO1xyXG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZE1heERhdGUgPSBnZXREYXRlRnJvbVN0cmluZyhtYXhEYXRlKTtcclxuICAgICAgICBpZiAoaW5EYXRlUmFuZ2UobmV3RGF0ZSwgY29udmVydGVkTWluRGF0ZSwgY29udmVydGVkTWF4RGF0ZSkpIHtcclxuICAgICAgICAgICAgaWYgKGlzQmVmb3JlKHN0YXJ0T2ZEYXkobmV3RGF0ZSksIGNvbnZlcnRlZE1pbkRhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYWRkRGF5cyhuZXdEYXRlLCAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gbmV3RGF0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoY29udmVydGVkTWF4RGF0ZSB8fCBjb252ZXJ0ZWRNaW5EYXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZWRNaW5EYXRlID8gY29udmVydGVkTWluRGF0ZSA6IGNvbnZlcnRlZE1heERhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gYnVpbGRDYWxlbmRhck1vbnRoKGRhdGUsIGVuYWJsZU91dHNpZGVEYXRlcykge1xyXG4gICAgICAgIGNvbnN0IGRheXMgPSBbXHJcbiAgICAgICAgICAgICdzdW5kYXknLFxyXG4gICAgICAgICAgICAnbW9uZGF5JyxcclxuICAgICAgICAgICAgJ3R1ZXNkYXknLFxyXG4gICAgICAgICAgICAnd2VkbmVzZGF5JyxcclxuICAgICAgICAgICAgJ3RodXJzZGF5JyxcclxuICAgICAgICAgICAgJ2ZyaWRheScsXHJcbiAgICAgICAgICAgICdzYXR1cmRheScsXHJcbiAgICAgICAgXTtcclxuICAgICAgICBjb25zdCB7IHN0YXJ0T2ZXZWVrIH0gPSBpMThuLmRhdGVQaWNrZXI7XHJcbiAgICAgICAgcmV0dXJuIGdldENhbGVuZGFyTW9udGhXZWVrcyhkYXRlLCBlbmFibGVPdXRzaWRlRGF0ZXMsIGRheXMuaW5kZXhPZihzdGFydE9mV2VlaykpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gb25QcmV2TW9udGhDbGljaygpIHtcclxuICAgICAgICBjb25zdCBuZXdEYXRlID0gZ2V0UHJldk1vbnRoRnJvbURhdGUoZm9jdXNlZERhdGUpO1xyXG4gICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0RhdGUpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gb25OZXh0TW9udGhDbGljaygpIHtcclxuICAgICAgICBjb25zdCBuZXdEYXRlID0gZ2V0TmV4dE1vbnRoRnJvbURhdGUoZm9jdXNlZERhdGUpO1xyXG4gICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0RhdGUpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gc2V0TW9udGhGb2N1c2VkRGF0ZShtb250aE51bWJlcikge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGUgPSBzZXRNb250aEZvckRhdGUoZm9jdXNlZERhdGUsIG1vbnRoTnVtYmVyKTtcclxuICAgICAgICBzZXRGb2N1c2VkRGF0ZShuZXdEYXRlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIHNldFllYXJGb2N1c2VkRGF0ZSh5ZWFyTnVtYmVyKSB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0ZSA9IHNldFllYXJGb3JEYXRlKGZvY3VzZWREYXRlLCB5ZWFyTnVtYmVyKTtcclxuICAgICAgICBzZXRGb2N1c2VkRGF0ZShuZXdEYXRlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIG9uRGF0ZUNoYW5nZShkYXkpIHtcclxuICAgICAgICBzZXRDaG9zZW5EYXRlKGRheSk7XHJcbiAgICAgICAgaWYgKGRhdGVUaW1lUGlja2VyQ29udGVudClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHNldENhbGVuZGFyT3BlbmVkKGZhbHNlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIHJlc2V0KCkge1xyXG4gICAgICAgIHNldEZvY3VzZWREYXRlKHNldERlZmF1bHRGb2N1c2VkRGF0ZSgpKTtcclxuICAgICAgICBzZXRDaG9zZW5EYXRlKG51bGwpO1xyXG4gICAgICAgIHNldERhdGVGb2N1c2VkKGZhbHNlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGlzVmFsaWREYXRlRnJvbVN0cmluZyh2YWx1ZSkge1xyXG4gICAgICAgIGNvbnN0IGlzVmFsaWREYXRlRm9ybWF0ID0gaXNNYXRjaCh2YWx1ZSwgaTE4bi5kYXRlRm9ybWF0KTtcclxuICAgICAgICBjb25zdCBwYXJzZWREYXRlID0gcGFyc2UodmFsdWUsIGkxOG4uZGF0ZUZvcm1hdCwgbmV3IERhdGUoKSk7XHJcbiAgICAgICAgY29uc3QgaXNWYWxpZERhdGUgPSBpc1ZhbGlkKHBhcnNlZERhdGUpO1xyXG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZUZvcm1hdCAmJiBpc1ZhbGlkRGF0ZTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUlucHV0Q2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgICAgIGNvbnN0IGRheSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICBzZXRDYWxlbmRhck9wZW5lZChmYWxzZSk7XHJcbiAgICAgICAgcHJvcHMub25JbnB1dENoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25JbnB1dENoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbklucHV0Q2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBsZXQgaXNWYWxpZERheTtcclxuICAgICAgICBpZiAoZGF0ZVRpbWVQaWNrZXJDb250ZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNwbGl0VmFsdWUgPSB2YWx1ZS5zcGxpdCgnICcpWzBdO1xyXG4gICAgICAgICAgICBpc1ZhbGlkRGF5ID0gaXNWYWxpZERhdGVGcm9tU3RyaW5nKHNwbGl0VmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zdCB2YWxpZERheSA9IG5ldyBEYXRlKHNwbGl0VmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zdCBwYXR0ZXJuID0gL15cXGR7Mn1cXC9cXGR7Mn1cXC9cXGR7NH0kLztcclxuICAgICAgICAgICAgaWYgKHBhdHRlcm4udGVzdChzcGxpdFZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgc2V0Q2hvc2VuRGF0ZSh2YWxpZERheSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoaXNWYWxpZERheSA/IHZhbGlkRGF5LnRvSVNPU3RyaW5nKCkgOiBzcGxpdFZhbHVlLCBldmVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpc1ZhbGlkRGF5ID0gaXNWYWxpZERhdGVGcm9tU3RyaW5nKHZhbHVlKTtcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoaXNWYWxpZERheSA/IGRheS50b0lTT1N0cmluZygpIDogdmFsdWUsIGV2ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVJbnB1dEZvY3VzKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25JbnB1dEZvY3VzICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbklucHV0Rm9jdXMgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25JbnB1dEZvY3VzKGV2ZW50KTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUlucHV0Qmx1cihldmVudCkge1xyXG4gICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGlucHV0UmVmLmN1cnJlbnQ7XHJcbiAgICAgICAgY29uc3QgZGF5ID0gcGFyc2UoZGF0ZVRpbWVQaWNrZXJDb250ZW50ID8gdmFsdWUuc3BsaXQoJyAnKVswXSA6IHZhbHVlLCBpMThuLmRhdGVGb3JtYXQsIG5ldyBEYXRlKCkpO1xyXG4gICAgICAgIGxldCBpc1ZhbGlkRGF5O1xyXG4gICAgICAgIGlmIChkYXRlVGltZVBpY2tlckNvbnRlbnQpIHtcclxuICAgICAgICAgICAgY29uc3Qgc3BsaXRWYWx1ZSA9IHZhbHVlLnNwbGl0KCcgJylbMF07XHJcbiAgICAgICAgICAgIGlzVmFsaWREYXkgPSBpc1ZhbGlkRGF0ZUZyb21TdHJpbmcoc3BsaXRWYWx1ZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkRGF5ID0gbmV3IERhdGUoc3BsaXRWYWx1ZSk7XHJcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRGF5KSB7XHJcbiAgICAgICAgICAgICAgICBoYW5kbGVEYXRlQ2hhbmdlKHZhbGlkRGF5LCBldmVudCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlzVmFsaWREYXkgPSBpc1ZhbGlkRGF0ZUZyb21TdHJpbmcodmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoaXNWYWxpZERheSkge1xyXG4gICAgICAgICAgICAgICAgaGFuZGxlRGF0ZUNoYW5nZShkYXksIGV2ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJlc2V0ICYmIHR5cGVvZiByZXNldCA9PT0gJ2Z1bmN0aW9uJyAmJiByZXNldCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHByb3BzLm9uSW5wdXRCbHVyICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbklucHV0Qmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbklucHV0Qmx1cihldmVudCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVJbnB1dEtleURvd24oZXZlbnQpIHtcclxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBzZXRDYWxlbmRhck9wZW5lZChmYWxzZSk7XHJcbiAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVLZXlEb3duKGV2ZW50KSB7XHJcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcclxuICAgICAgICAgICAgZXZlbnQubmF0aXZlRXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIHNldENhbGVuZGFyT3BlbmVkKGZhbHNlKTtcclxuICAgICAgICAgICAgaWNvblJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkYXRlRm9jdXNlZCAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmNsb3Nlc3QoJ3RhYmxlJykpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3Q2hvc2VuRGF0ZSA9IGhhbmRsZUtleVByZXNzKGV2ZW50LCBmb2N1c2VkRGF0ZSwgc2V0Q2FsZW5kYXJPcGVuZWQsIHNob3dIZWxwZXJJbmZvcm1hdGlvbiwgb25EYXRlQ2hhbmdlLCBpY29uUmVmKTtcclxuICAgICAgICAgICAgaWYgKG5ld0Nob3NlbkRhdGUpIHtcclxuICAgICAgICAgICAgICAgIGlmIChtaW5EYXRlICYmIG1heERhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNBZnRlcihzZXRIb3VycyhuZXdDaG9zZW5EYXRlLCAxMiksIHN0YXJ0T2ZEYXkobWluRGF0ZSkpICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzQmVmb3JlKHNldEhvdXJzKG5ld0Nob3NlbkRhdGUsIDEyKSwgZW5kT2ZEYXkobWF4RGF0ZSkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0Nob3NlbkRhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1pbkRhdGUgJiYgIW1heERhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNBZnRlcihzZXRIb3VycyhuZXdDaG9zZW5EYXRlLCAxMiksIHN0YXJ0T2ZEYXkobWluRGF0ZSkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0Nob3NlbkRhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1heERhdGUgJiYgIW1pbkRhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNCZWZvcmUoc2V0SG91cnMobmV3Q2hvc2VuRGF0ZSwgMTIpLCBlbmRPZkRheShtYXhEYXRlKSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUobmV3Q2hvc2VuRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUobmV3Q2hvc2VuRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVEYXRlQ2hhbmdlKGRheSwgZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkRhdGVDaGFuZ2UoZGF5LCBldmVudCk7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGRheT8udG9JU09TdHJpbmcoKSwgZXZlbnQpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZShkYXkpO1xyXG4gICAgICAgIGlmIChkYXRlVGltZVBpY2tlckNvbnRlbnQpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBzZXRGb2N1c2VkRGF0ZShkYXkpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlRGF5U2VsZWN0aW9uKGRheSwgZXZlbnQpIHtcclxuICAgICAgICBoYW5kbGVEYXRlQ2hhbmdlKGRheSwgZXZlbnQpO1xyXG4gICAgICAgIGlmIChkYXRlVGltZVBpY2tlckNvbnRlbnQpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDYWxlbmRhckJsdXIoZXZlbnQpIHtcclxuICAgICAgICBjb25zdCB7IGN1cnJlbnRUYXJnZXQgfSA9IGV2ZW50O1xyXG4gICAgICAgIC8vIHRpbWVvdXQgbmVlZGVkIGZvciBhY3RpdmUgZWxlbWVudCB0byB1cGRhdGUuIEJyb3dzZXIgYmVoYXZpb3IuXHJcbiAgICAgICAgLy8gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUyMzA3XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzSW5DYWxlbmRhciA9IGN1cnJlbnRUYXJnZXQuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgICAgIGlmICghaXNJbkNhbGVuZGFyICYmICFoZWxwZXJJbmZvcm1hdGlvblNob3duKSB7XHJcbiAgICAgICAgICAgICAgICBzZXRDYWxlbmRhck9wZW5lZChmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAwKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsb3NlQnV0dG9uQ2xpY2soZXZlbnQpIHtcclxuICAgICAgICBpZiAoIWljb25SZWYuY3VycmVudCAmJiBwcmV2aW91c0ljb25SZWYuY3VycmVudCkge1xyXG4gICAgICAgICAgICBpY29uUmVmLmN1cnJlbnQgPSBwcmV2aW91c0ljb25SZWYuY3VycmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWNvblJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgc2V0Q2FsZW5kYXJPcGVuZWQoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gdG9nZ2xlQ2FsZW5kYXJPcGVuZWQoKSB7XHJcbiAgICAgICAgc2V0Q2FsZW5kYXJPcGVuZWQob3BlbmVkID0+IHtcclxuICAgICAgICAgICAgLy8gRm9jdXMgb24gdG9kYXkgd2hlbiBvcGVuaW5nIGNhbGVuZGFyIHdpdGhvdXQgYSBjaG9zZW4gZGF0ZVxyXG4gICAgICAgICAgICBpZiAoIW9wZW5lZCAmJiAhY2hvc2VuRGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUoc2V0RGVmYXVsdEZvY3VzZWREYXRlKCkpO1xyXG4gICAgICAgICAgICAgICAgc2V0RGF0ZUZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuICFvcGVuZWQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IHBsYWNlaG9sZGVyLCB0ZXN0SWQsIGRhdGVUaW1lUGlja2VyQ29udGVudCwgLi4ucmVzdCB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBvdGhlciA9IG9taXQoWydvbkRhdGVDaGFuZ2UnLCAnb25JbnB1dENoYW5nZScsICdvbklucHV0Qmx1cicsICdvbklucHV0Rm9jdXMnXSwgcmVzdCk7XHJcbiAgICBjb25zdCBkYXRlRmllbGRWYWx1ZSA9IGRhdGVGb3JtYXQgPT09ICdNTU1NIGQsIHl5eXknICYmIGNob3NlbkRhdGVcclxuICAgICAgICA/IGZvcm1hdChjaG9zZW5EYXRlLCBkYXRlRm9ybWF0KVxyXG4gICAgICAgIDogY2hvc2VuRGF0ZTtcclxuICAgIGNvbnN0IGlucHV0RGF0ZVZhbHVlID0gY2hvc2VuRGF0ZSA/IGZvcm1hdChjaG9zZW5EYXRlLCBkYXRlRm9ybWF0KSA6ICcnO1xyXG4gICAgbGV0IGlucHV0VmFsdWUgPSBwcm9wcy5pc0RhdGVGaWVsZElucHV0ID8gZGF0ZUZpZWxkVmFsdWUgOiBpbnB1dERhdGVWYWx1ZTtcclxuICAgIGlmIChpbnB1dFZhbHVlICYmIHByb3BzLmFkZGl0aW9uYWxJbnB1dENvbnRlbnQpIHtcclxuICAgICAgICBpbnB1dFZhbHVlID0gYCR7aW5wdXRWYWx1ZX0gJHtwcm9wcy5hZGRpdGlvbmFsSW5wdXRDb250ZW50fWA7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChwcm9wcy5hZGRpdGlvbmFsSW5wdXRDb250ZW50KSB7XHJcbiAgICAgICAgc2V0Q2hvc2VuRGF0ZShuZXcgRGF0ZSgpKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsgZmxvYXRpbmdTdHlsZXMsIHJlZnMsIGVsZW1lbnRzLCB1cGRhdGUgfSA9IHVzZU1hZ21hRmxvYXRpbmcoKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlRGF0ZUlucHV0ID0gZWxlbWVudHMucmVmZXJlbmNlO1xyXG4gICAgICAgIGNvbnN0IGZsb2F0aW5nQ2FsZW5kYXIgPSBlbGVtZW50cy5mbG9hdGluZztcclxuICAgICAgICBpZiAoY2FsZW5kYXJPcGVuZWQgJiYgcmVmZXJlbmNlRGF0ZUlucHV0ICYmIGZsb2F0aW5nQ2FsZW5kYXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGF1dG9VcGRhdGUocmVmZXJlbmNlRGF0ZUlucHV0LCBmbG9hdGluZ0NhbGVuZGFyLCB1cGRhdGUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtjYWxlbmRhck9wZW5lZCwgZWxlbWVudHMsIHVwZGF0ZV0pO1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KENhbGVuZGFyQ29udGV4dC5Qcm92aWRlciwgeyB2YWx1ZToge1xyXG4gICAgICAgICAgICBjaG9zZW5EYXRlLFxyXG4gICAgICAgICAgICBmb2N1c2VkRGF0ZSxcclxuICAgICAgICAgICAgZGF0ZUZvY3VzZWQsXHJcbiAgICAgICAgICAgIG1heERhdGUsXHJcbiAgICAgICAgICAgIG1pbkRhdGUsXHJcbiAgICAgICAgICAgIGhlbHBlckluZm9ybWF0aW9uU2hvd24sXHJcbiAgICAgICAgICAgIGlzSW52ZXJzZSxcclxuICAgICAgICAgICAgYnVpbGRDYWxlbmRhck1vbnRoLFxyXG4gICAgICAgICAgICBzaG93SGVscGVySW5mb3JtYXRpb24sXHJcbiAgICAgICAgICAgIGhpZGVIZWxwZXJJbmZvcm1hdGlvbixcclxuICAgICAgICAgICAgb25LZXlEb3duOiBoYW5kbGVLZXlEb3duLFxyXG4gICAgICAgICAgICBvblByZXZNb250aENsaWNrLFxyXG4gICAgICAgICAgICBvbk5leHRNb250aENsaWNrLFxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2U6IGhhbmRsZURheVNlbGVjdGlvbixcclxuICAgICAgICAgICAgc2V0RGF0ZUZvY3VzZWQsXHJcbiAgICAgICAgICAgIHNldEZvY3VzZWRUb2RheURhdGUsXHJcbiAgICAgICAgICAgIHNldEZvY3VzZWREYXRlLFxyXG4gICAgICAgICAgICBzZXRNb250aEZvY3VzZWREYXRlLFxyXG4gICAgICAgICAgICBzZXRZZWFyRm9jdXNlZERhdGUsXHJcbiAgICAgICAgICAgIG9uQ2xvc2U6IGNsb3NlSGVscGVySW5mb3JtYXRpb24sXHJcbiAgICAgICAgfSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRGF0ZVBpY2tlckNvbnRhaW5lciwgeyBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgb25CbHVyOiBoYW5kbGVDYWxlbmRhckJsdXIgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChBbm5vdW5jZSwgbnVsbCwgY2FsZW5kYXJPcGVuZWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoVmlzdWFsbHlIaWRkZW4sIG51bGwsIGkxOG4uZGF0ZVBpY2tlci5jYWxlbmRhck9wZW5Bbm5vdW5jZSkpKSxcclxuICAgICAgICAgICAgcHJvcHMuaXNEYXRlRmllbGRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KERhdGVGaWVsZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBpZDogaWQsIGRhdGVGb3JtYXQ6IGRhdGVGb3JtYXQsIGlucHV0VmFsdWU6IGlucHV0VmFsdWUsIG9uSWNvbkNsaWNrOiB0b2dnbGVDYWxlbmRhck9wZW5lZCwgc2V0UmVmZXJlbmNlOiByZWZzLnNldFJlZmVyZW5jZSwgaWNvblJlZjogaWNvblJlZiwgaW5wdXRSZWY6IGlucHV0UmVmLCBoYW5kbGVEYXRlQ2hhbmdlOiBoYW5kbGVEYXRlQ2hhbmdlLCBvbkNsZWFyRGF0ZTogcmVzZXQsIG9uSW5wdXRCbHVyOiBwcm9wcy5vbklucHV0Qmx1ciwgb25JbnB1dEZvY3VzOiBoYW5kbGVJbnB1dEZvY3VzLCBvbkljb25LZXlEb3duOiBoYW5kbGVJbnB1dEtleURvd24gfSkpKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KEV2ZW50SWNvbiwgbnVsbCksIGljb25BcmlhTGFiZWw6IGkxOG4uZGF0ZVBpY2tlci5jYWxlbmRhckljb25BcmlhTGFiZWwsIGljb25SZWY6IGljb25SZWYsIG9uSWNvbkNsaWNrOiB0b2dnbGVDYWxlbmRhck9wZW5lZCwgb25JY29uS2V5RG93bjogaGFuZGxlSW5wdXRLZXlEb3duLCBpZDogaWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCByZWY6IHJlZiwgb25DaGFuZ2U6IGhhbmRsZUlucHV0Q2hhbmdlLCBvbkJsdXI6IGhhbmRsZUlucHV0Qmx1ciwgb25Gb2N1czogaGFuZGxlSW5wdXRGb2N1cywgb25LZXlEb3duOiBoYW5kbGVJbnB1dEtleURvd24sIG9uRGF0ZUNoYW5nZTogaGFuZGxlRGF0ZUNoYW5nZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiBkYXRlRm9ybWF0LnRvTG93ZXJDYXNlKCksIHR5cGU6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogaW5wdXRWYWx1ZSwgc2V0UmVmZXJlbmNlOiByZWZzLnNldFJlZmVyZW5jZSB9KSkpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEludmVyc2VDb250ZXh0LlByb3ZpZGVyLCB7IHZhbHVlOiB7IGlzSW52ZXJzZSB9IH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBlbCA9PiBjYWxlbmRhck9wZW5lZCAmJiByZWZzLnNldEZsb2F0aW5nKGVsKSwgc3R5bGU6IHsgLi4uZmxvYXRpbmdTdHlsZXMsIHpJbmRleDogJzk5OCcgfSB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRGF0ZVBpY2tlckNhbGVuZGFyLCB7IFwiZGF0YS10ZXN0aWRcIjogXCJjYWxlbmRhckNvbnRhaW5lclwiLCBvcGVuZWQ6IGNhbGVuZGFyT3BlbmVkLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgdGhlbWU6IHRoZW1lIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2FsZW5kYXJNb250aCwgeyBmb2N1c09uT3BlbjogY2FsZW5kYXJPcGVuZWQgJiYgQm9vbGVhbihmb2N1c2VkRGF0ZSksIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBoYW5kbGVDbG9zZUJ1dHRvbkNsaWNrOiBoYW5kbGVDbG9zZUJ1dHRvbkNsaWNrLCBjYWxlbmRhck9wZW5lZDogY2FsZW5kYXJPcGVuZWQsIHNldERhdGVGb2N1c2VkOiBzZXREYXRlRm9jdXNlZCwgZGF0ZVRpbWVQaWNrZXJDb250ZW50OiBkYXRlVGltZVBpY2tlckNvbnRlbnQgfSkpKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
24840
|
+
}, ";overflow:hidden;transition:opacity 0.2s ease-in-out 0s;width:320px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQnNDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyBhdXRvVXBkYXRlIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0LWRvbSc7XHJcbmltcG9ydCB7IGFkZERheXMsIGVuZE9mRGF5LCBpc0FmdGVyLCBpc0JlZm9yZSwgaXNNYXRjaCwgaXNWYWxpZCwgcGFyc2UsIHNldEhvdXJzLCBzdGFydE9mRGF5LCB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IEV2ZW50SWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJDb250ZXh0IH0gZnJvbSAnLi9DYWxlbmRhckNvbnRleHQnO1xyXG5pbXBvcnQgeyBDYWxlbmRhck1vbnRoIH0gZnJvbSAnLi9DYWxlbmRhck1vbnRoJztcclxuaW1wb3J0IHsgdXNlTWFnbWFGbG9hdGluZyB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZU1hZ21hRmxvYXRpbmcnO1xyXG5pbXBvcnQgeyBJMThuQ29udGV4dCB9IGZyb20gJy4uLy4uL2kxOG4nO1xyXG5pbXBvcnQgeyBJbnZlcnNlQ29udGV4dCwgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IEFubm91bmNlIH0gZnJvbSAnLi4vQW5ub3VuY2UnO1xyXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJy4uL0lucHV0JztcclxuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgVmlzdWFsbHlIaWRkZW4gfSBmcm9tICcuLi9WaXN1YWxseUhpZGRlbic7XHJcbmltcG9ydCB7IERhdGVGaWVsZElucHV0IH0gZnJvbSAnLi9EYXRlRmllbGQvRGF0ZUZpZWxkSW5wdXQnO1xyXG5pbXBvcnQgeyBnZXRDYWxlbmRhck1vbnRoV2Vla3MsIGdldERhdGVGcm9tU3RyaW5nLCBnZXROZXh0TW9udGhGcm9tRGF0ZSwgZ2V0UHJldk1vbnRoRnJvbURhdGUsIGhhbmRsZUtleVByZXNzLCBzZXRNb250aEZvckRhdGUsIHNldFllYXJGb3JEYXRlLCBpMThuRm9ybWF0IGFzIGZvcm1hdCwgaW5EYXRlUmFuZ2UsIH0gZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCB7IG9taXQsIHVzZUZvcmtlZFJlZiwgdXNlR2VuZXJhdGVJZCB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuY29uc3QgRGF0ZVBpY2tlckNvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xyXG5jb25zdCBEYXRlUGlja2VyQ2FsZW5kYXIgPSBzdHlsZWQuZGl2IGBcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogJHtwcm9wcyA9PiAocHJvcHMub3BlbmVkID8gJ2Jsb2NrJyA6ICdub25lJyl9O1xuICBtYXJnaW46ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDF9IDBweDtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMub3BlbmVkID8gJzEnIDogJzAnKX07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCAwcztcbiAgd2lkdGg6IDMyMHB4O1xuYDtcclxuZXhwb3J0IGNvbnN0IERhdGVQaWNrZXIgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IGljb25SZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHByZXZpb3VzSWNvblJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IGxhc3RGb2N1cyA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgaWQgPSB1c2VHZW5lcmF0ZUlkKHByb3BzLmlkKTtcclxuICAgIGNvbnN0IGlzSW52ZXJzZSA9IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpO1xyXG4gICAgY29uc3QgbWluRGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKHByb3BzLm1pbkRhdGUpO1xyXG4gICAgY29uc3QgbWF4RGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKHByb3BzLm1heERhdGUpO1xyXG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IGkxOG4uZGF0ZUZvcm1hdDtcclxuICAgIGNvbnN0IFtoZWxwZXJJbmZvcm1hdGlvblNob3duLCBzZXRIZWxwZXJJbmZvcm1hdGlvblNob3duXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IFtjYWxlbmRhck9wZW5lZCwgc2V0Q2FsZW5kYXJPcGVuZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgW2RhdGVGb2N1c2VkLCBzZXREYXRlRm9jdXNlZF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBbZm9jdXNlZERhdGUsIHNldEZvY3VzZWREYXRlXSA9IFJlYWN0LnVzZVN0YXRlKHNldERhdGVGcm9tQ29uc3VtZXIocHJvcHMudmFsdWUgfHwgcHJvcHMuZGVmYXVsdERhdGUpIHx8XHJcbiAgICAgICAgc2V0RGVmYXVsdEZvY3VzZWREYXRlKCkpO1xyXG4gICAgY29uc3QgW2Nob3NlbkRhdGUsIHNldENob3NlbkRhdGVdID0gUmVhY3QudXNlU3RhdGUoc2V0RGF0ZUZyb21Db25zdW1lcihwcm9wcy52YWx1ZSB8fCBwcm9wcy5kZWZhdWx0RGF0ZSkpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMuYXBpUmVmKSB7XHJcbiAgICAgICAgICAgIHByb3BzLmFwaVJlZi5jdXJyZW50ID0ge1xyXG4gICAgICAgICAgICAgICAgY2xvc2VEYXRlUGlja2VyTWFudWFsbHkoZXZlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDbG9zZUJ1dHRvbkNsaWNrKGV2ZW50KTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBvcGVuRGF0ZVBpY2tlck1hbnVhbGx5KGV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9nZ2xlQ2FsZW5kYXJPcGVuZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtdKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGVUaW1lUGlja2VyQ29udGVudCAmJlxyXG4gICAgICAgICAgICBjaG9zZW5EYXRlICYmXHJcbiAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQgIT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgaWYgKCFwcm9wcy5hZGRpdGlvbmFsSW5wdXRDb250ZW50ICYmIHByb3BzLnNldEFkZGl0aW9uYWxJbnB1dENvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgIHByb3BzLnNldEFkZGl0aW9uYWxJbnB1dENvbnRlbnQoJzEyOjAwIEFNJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUoY2hvc2VuRGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW2Nob3NlbkRhdGVdKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFjYWxlbmRhck9wZW5lZCkge1xyXG4gICAgICAgICAgICBzZXREYXRlRm9jdXNlZChmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW2NhbGVuZGFyT3BlbmVkXSk7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSkge1xyXG4gICAgICAgICAgICBzZXRGb2N1c2VkRGF0ZShzZXREYXRlRnJvbUNvbnN1bWVyKHByb3BzLnZhbHVlKSB8fCBzZXREZWZhdWx0Rm9jdXNlZERhdGUoKSk7XHJcbiAgICAgICAgICAgIHNldENob3NlbkRhdGUoc2V0RGF0ZUZyb21Db25zdW1lcihwcm9wcy52YWx1ZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgPT09IG51bGwpXHJcbiAgICAgICAgICAgIHNldENob3NlbkRhdGUodW5kZWZpbmVkKTtcclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBwcmV2aW91c0ljb25SZWYuY3VycmVudCA9IGljb25SZWYuY3VycmVudDtcclxuICAgIH0sIFtdKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFmb2N1c2VkRGF0ZSB8fCAhbWluRGF0ZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIGlmIChpc0JlZm9yZShmb2N1c2VkRGF0ZSwgbWluRGF0ZSkgJiYgIWNob3NlbkRhdGUpIHtcclxuICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUobWluRGF0ZSk7XHJcbiAgICAgICAgICAgIHNldERhdGVGb2N1c2VkKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtmb2N1c2VkRGF0ZSwgbWluRGF0ZSwgY2hvc2VuRGF0ZV0pO1xyXG4gICAgZnVuY3Rpb24gc2hvd0hlbHBlckluZm9ybWF0aW9uKCkge1xyXG4gICAgICAgIGxhc3RGb2N1cy5jdXJyZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcclxuICAgICAgICBzZXRIZWxwZXJJbmZvcm1hdGlvblNob3duKHRydWUpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGlkZUhlbHBlckluZm9ybWF0aW9uKCkge1xyXG4gICAgICAgIGxhc3RGb2N1cy5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgc2V0SGVscGVySW5mb3JtYXRpb25TaG93bihmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBjbG9zZUhlbHBlckluZm9ybWF0aW9uKCkge1xyXG4gICAgICAgIHNldEhlbHBlckluZm9ybWF0aW9uU2hvd24oZmFsc2UpO1xyXG4gICAgICAgIGljb25SZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgICAgIHNldENhbGVuZGFyT3BlbmVkKGZhbHNlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHNldEZvY3VzZWRUb2RheURhdGUgPSAoZXZlbnQpID0+IHtcclxuICAgICAgICBjb25zdCBpc0tleWJvYXJkRXZlbnQgPSBldmVudC50eXBlID09PSAna2V5ZG93bic7XHJcbiAgICAgICAgaWYgKChpc0tleWJvYXJkRXZlbnQgJiZcclxuICAgICAgICAgICAgKGV2ZW50LmtleSA9PT0gJyAnIHx8XHJcbiAgICAgICAgICAgICAgICBldmVudC5rZXkgPT09ICdFbnRlcicpKSB8fFxyXG4gICAgICAgICAgICBldmVudC50eXBlID09PSAnY2xpY2snKSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIHNldEZvY3VzZWREYXRlKHNldERlZmF1bHRGb2N1c2VkRGF0ZSgpKTtcclxuICAgICAgICAgICAgc2V0RGF0ZUZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIGZ1bmN0aW9uIHNldERhdGVGcm9tQ29uc3VtZXIoZGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZERhdGUgPSBnZXREYXRlRnJvbVN0cmluZyhkYXRlKTtcclxuICAgICAgICBjb25zdCBjb252ZXJ0ZWRNaW5EYXRlID0gZ2V0RGF0ZUZyb21TdHJpbmcobWluRGF0ZSk7XHJcbiAgICAgICAgY29uc3QgY29udmVydGVkTWF4RGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKG1heERhdGUpO1xyXG4gICAgICAgIHJldHVybiBkYXRlICYmXHJcbiAgICAgICAgICAgIGluRGF0ZVJhbmdlKGNvbnZlcnRlZERhdGUsIGNvbnZlcnRlZE1pbkRhdGUsIGNvbnZlcnRlZE1heERhdGUpXHJcbiAgICAgICAgICAgID8gY29udmVydGVkRGF0ZVxyXG4gICAgICAgICAgICA6IG51bGw7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBzZXREZWZhdWx0Rm9jdXNlZERhdGUoKSB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgY29uc3QgY29udmVydGVkTWluRGF0ZSA9IGdldERhdGVGcm9tU3RyaW5nKG1pbkRhdGUpO1xyXG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZE1heERhdGUgPSBnZXREYXRlRnJvbVN0cmluZyhtYXhEYXRlKTtcclxuICAgICAgICBpZiAoaW5EYXRlUmFuZ2UobmV3RGF0ZSwgY29udmVydGVkTWluRGF0ZSwgY29udmVydGVkTWF4RGF0ZSkpIHtcclxuICAgICAgICAgICAgaWYgKGlzQmVmb3JlKHN0YXJ0T2ZEYXkobmV3RGF0ZSksIGNvbnZlcnRlZE1pbkRhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYWRkRGF5cyhuZXdEYXRlLCAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gbmV3RGF0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoY29udmVydGVkTWF4RGF0ZSB8fCBjb252ZXJ0ZWRNaW5EYXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZWRNaW5EYXRlID8gY29udmVydGVkTWluRGF0ZSA6IGNvbnZlcnRlZE1heERhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gYnVpbGRDYWxlbmRhck1vbnRoKGRhdGUsIGVuYWJsZU91dHNpZGVEYXRlcykge1xyXG4gICAgICAgIGNvbnN0IGRheXMgPSBbXHJcbiAgICAgICAgICAgICdzdW5kYXknLFxyXG4gICAgICAgICAgICAnbW9uZGF5JyxcclxuICAgICAgICAgICAgJ3R1ZXNkYXknLFxyXG4gICAgICAgICAgICAnd2VkbmVzZGF5JyxcclxuICAgICAgICAgICAgJ3RodXJzZGF5JyxcclxuICAgICAgICAgICAgJ2ZyaWRheScsXHJcbiAgICAgICAgICAgICdzYXR1cmRheScsXHJcbiAgICAgICAgXTtcclxuICAgICAgICBjb25zdCB7IHN0YXJ0T2ZXZWVrIH0gPSBpMThuLmRhdGVQaWNrZXI7XHJcbiAgICAgICAgcmV0dXJuIGdldENhbGVuZGFyTW9udGhXZWVrcyhkYXRlLCBlbmFibGVPdXRzaWRlRGF0ZXMsIGRheXMuaW5kZXhPZihzdGFydE9mV2VlaykpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gb25QcmV2TW9udGhDbGljaygpIHtcclxuICAgICAgICBjb25zdCBuZXdEYXRlID0gZ2V0UHJldk1vbnRoRnJvbURhdGUoZm9jdXNlZERhdGUpO1xyXG4gICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0RhdGUpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gb25OZXh0TW9udGhDbGljaygpIHtcclxuICAgICAgICBjb25zdCBuZXdEYXRlID0gZ2V0TmV4dE1vbnRoRnJvbURhdGUoZm9jdXNlZERhdGUpO1xyXG4gICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0RhdGUpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gc2V0TW9udGhGb2N1c2VkRGF0ZShtb250aE51bWJlcikge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGUgPSBzZXRNb250aEZvckRhdGUoZm9jdXNlZERhdGUsIG1vbnRoTnVtYmVyKTtcclxuICAgICAgICBzZXRGb2N1c2VkRGF0ZShuZXdEYXRlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIHNldFllYXJGb2N1c2VkRGF0ZSh5ZWFyTnVtYmVyKSB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0ZSA9IHNldFllYXJGb3JEYXRlKGZvY3VzZWREYXRlLCB5ZWFyTnVtYmVyKTtcclxuICAgICAgICBzZXRGb2N1c2VkRGF0ZShuZXdEYXRlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIG9uRGF0ZUNoYW5nZShkYXkpIHtcclxuICAgICAgICBzZXRDaG9zZW5EYXRlKGRheSk7XHJcbiAgICAgICAgaWYgKGRhdGVUaW1lUGlja2VyQ29udGVudClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHNldENhbGVuZGFyT3BlbmVkKGZhbHNlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIHJlc2V0KCkge1xyXG4gICAgICAgIHNldEZvY3VzZWREYXRlKHNldERlZmF1bHRGb2N1c2VkRGF0ZSgpKTtcclxuICAgICAgICBzZXRDaG9zZW5EYXRlKG51bGwpO1xyXG4gICAgICAgIHNldERhdGVGb2N1c2VkKGZhbHNlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGlzVmFsaWREYXRlRnJvbVN0cmluZyh2YWx1ZSkge1xyXG4gICAgICAgIGNvbnN0IGlzVmFsaWREYXRlRm9ybWF0ID0gaXNNYXRjaCh2YWx1ZSwgaTE4bi5kYXRlRm9ybWF0KTtcclxuICAgICAgICBjb25zdCBwYXJzZWREYXRlID0gcGFyc2UodmFsdWUsIGkxOG4uZGF0ZUZvcm1hdCwgbmV3IERhdGUoKSk7XHJcbiAgICAgICAgY29uc3QgaXNWYWxpZERhdGUgPSBpc1ZhbGlkKHBhcnNlZERhdGUpO1xyXG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZUZvcm1hdCAmJiBpc1ZhbGlkRGF0ZTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUlucHV0Q2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgICAgIGNvbnN0IGRheSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICBzZXRDYWxlbmRhck9wZW5lZChmYWxzZSk7XHJcbiAgICAgICAgcHJvcHMub25JbnB1dENoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25JbnB1dENoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbklucHV0Q2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBsZXQgaXNWYWxpZERheTtcclxuICAgICAgICBpZiAoZGF0ZVRpbWVQaWNrZXJDb250ZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNwbGl0VmFsdWUgPSB2YWx1ZS5zcGxpdCgnICcpWzBdO1xyXG4gICAgICAgICAgICBpc1ZhbGlkRGF5ID0gaXNWYWxpZERhdGVGcm9tU3RyaW5nKHNwbGl0VmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zdCB2YWxpZERheSA9IG5ldyBEYXRlKHNwbGl0VmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zdCBwYXR0ZXJuID0gL15cXGR7Mn1cXC9cXGR7Mn1cXC9cXGR7NH0kLztcclxuICAgICAgICAgICAgaWYgKHBhdHRlcm4udGVzdChzcGxpdFZhbHVlKSAmJiBpc1ZhbGlkKHZhbGlkRGF5KSkge1xyXG4gICAgICAgICAgICAgICAgc2V0Q2hvc2VuRGF0ZSh2YWxpZERheSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoaXNWYWxpZERheSA/IHZhbGlkRGF5LnRvSVNPU3RyaW5nKCkgOiBzcGxpdFZhbHVlLCBldmVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpc1ZhbGlkRGF5ID0gaXNWYWxpZERhdGVGcm9tU3RyaW5nKHZhbHVlKTtcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoaXNWYWxpZERheSA/IGRheS50b0lTT1N0cmluZygpIDogdmFsdWUsIGV2ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVJbnB1dEZvY3VzKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25JbnB1dEZvY3VzICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbklucHV0Rm9jdXMgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25JbnB1dEZvY3VzKGV2ZW50KTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUlucHV0Qmx1cihldmVudCkge1xyXG4gICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGlucHV0UmVmLmN1cnJlbnQ7XHJcbiAgICAgICAgY29uc3QgZGF5ID0gcGFyc2UoZGF0ZVRpbWVQaWNrZXJDb250ZW50ID8gdmFsdWUuc3BsaXQoJyAnKVswXSA6IHZhbHVlLCBpMThuLmRhdGVGb3JtYXQsIG5ldyBEYXRlKCkpO1xyXG4gICAgICAgIGxldCBpc1ZhbGlkRGF5O1xyXG4gICAgICAgIGlmIChkYXRlVGltZVBpY2tlckNvbnRlbnQpIHtcclxuICAgICAgICAgICAgY29uc3Qgc3BsaXRWYWx1ZSA9IHZhbHVlLnNwbGl0KCcgJylbMF07XHJcbiAgICAgICAgICAgIGlzVmFsaWREYXkgPSBpc1ZhbGlkRGF0ZUZyb21TdHJpbmcoc3BsaXRWYWx1ZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkRGF5ID0gbmV3IERhdGUoc3BsaXRWYWx1ZSk7XHJcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRGF5KSB7XHJcbiAgICAgICAgICAgICAgICBoYW5kbGVEYXRlQ2hhbmdlKHZhbGlkRGF5LCBldmVudCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlzVmFsaWREYXkgPSBpc1ZhbGlkRGF0ZUZyb21TdHJpbmcodmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoaXNWYWxpZERheSkge1xyXG4gICAgICAgICAgICAgICAgaGFuZGxlRGF0ZUNoYW5nZShkYXksIGV2ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJlc2V0ICYmIHR5cGVvZiByZXNldCA9PT0gJ2Z1bmN0aW9uJyAmJiByZXNldCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHByb3BzLm9uSW5wdXRCbHVyICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbklucHV0Qmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbklucHV0Qmx1cihldmVudCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVJbnB1dEtleURvd24oZXZlbnQpIHtcclxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBzZXRDYWxlbmRhck9wZW5lZChmYWxzZSk7XHJcbiAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVLZXlEb3duKGV2ZW50KSB7XHJcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcclxuICAgICAgICAgICAgZXZlbnQubmF0aXZlRXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIHNldENhbGVuZGFyT3BlbmVkKGZhbHNlKTtcclxuICAgICAgICAgICAgaWNvblJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkYXRlRm9jdXNlZCAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmNsb3Nlc3QoJ3RhYmxlJykpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3Q2hvc2VuRGF0ZSA9IGhhbmRsZUtleVByZXNzKGV2ZW50LCBmb2N1c2VkRGF0ZSwgc2V0Q2FsZW5kYXJPcGVuZWQsIHNob3dIZWxwZXJJbmZvcm1hdGlvbiwgb25EYXRlQ2hhbmdlLCBpY29uUmVmKTtcclxuICAgICAgICAgICAgaWYgKG5ld0Nob3NlbkRhdGUpIHtcclxuICAgICAgICAgICAgICAgIGlmIChtaW5EYXRlICYmIG1heERhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNBZnRlcihzZXRIb3VycyhuZXdDaG9zZW5EYXRlLCAxMiksIHN0YXJ0T2ZEYXkobWluRGF0ZSkpICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzQmVmb3JlKHNldEhvdXJzKG5ld0Nob3NlbkRhdGUsIDEyKSwgZW5kT2ZEYXkobWF4RGF0ZSkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0Nob3NlbkRhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1pbkRhdGUgJiYgIW1heERhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNBZnRlcihzZXRIb3VycyhuZXdDaG9zZW5EYXRlLCAxMiksIHN0YXJ0T2ZEYXkobWluRGF0ZSkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEZvY3VzZWREYXRlKG5ld0Nob3NlbkRhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1heERhdGUgJiYgIW1pbkRhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNCZWZvcmUoc2V0SG91cnMobmV3Q2hvc2VuRGF0ZSwgMTIpLCBlbmRPZkRheShtYXhEYXRlKSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUobmV3Q2hvc2VuRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUobmV3Q2hvc2VuRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVEYXRlQ2hhbmdlKGRheSwgZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkRhdGVDaGFuZ2UoZGF5LCBldmVudCk7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGRheT8udG9JU09TdHJpbmcoKSwgZXZlbnQpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZShkYXkpO1xyXG4gICAgICAgIGlmIChkYXRlVGltZVBpY2tlckNvbnRlbnQpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBzZXRGb2N1c2VkRGF0ZShkYXkpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlRGF5U2VsZWN0aW9uKGRheSwgZXZlbnQpIHtcclxuICAgICAgICBoYW5kbGVEYXRlQ2hhbmdlKGRheSwgZXZlbnQpO1xyXG4gICAgICAgIGlmIChkYXRlVGltZVBpY2tlckNvbnRlbnQpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDYWxlbmRhckJsdXIoZXZlbnQpIHtcclxuICAgICAgICBjb25zdCB7IGN1cnJlbnRUYXJnZXQgfSA9IGV2ZW50O1xyXG4gICAgICAgIC8vIHRpbWVvdXQgbmVlZGVkIGZvciBhY3RpdmUgZWxlbWVudCB0byB1cGRhdGUuIEJyb3dzZXIgYmVoYXZpb3IuXHJcbiAgICAgICAgLy8gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUyMzA3XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzSW5DYWxlbmRhciA9IGN1cnJlbnRUYXJnZXQuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgICAgIGlmICghaXNJbkNhbGVuZGFyICYmICFoZWxwZXJJbmZvcm1hdGlvblNob3duKSB7XHJcbiAgICAgICAgICAgICAgICBzZXRDYWxlbmRhck9wZW5lZChmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAwKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsb3NlQnV0dG9uQ2xpY2soZXZlbnQpIHtcclxuICAgICAgICBpZiAoIWljb25SZWYuY3VycmVudCAmJiBwcmV2aW91c0ljb25SZWYuY3VycmVudCkge1xyXG4gICAgICAgICAgICBpY29uUmVmLmN1cnJlbnQgPSBwcmV2aW91c0ljb25SZWYuY3VycmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWNvblJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgc2V0Q2FsZW5kYXJPcGVuZWQoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gdG9nZ2xlQ2FsZW5kYXJPcGVuZWQoKSB7XHJcbiAgICAgICAgc2V0Q2FsZW5kYXJPcGVuZWQob3BlbmVkID0+IHtcclxuICAgICAgICAgICAgLy8gRm9jdXMgb24gdG9kYXkgd2hlbiBvcGVuaW5nIGNhbGVuZGFyIHdpdGhvdXQgYSBjaG9zZW4gZGF0ZVxyXG4gICAgICAgICAgICBpZiAoIW9wZW5lZCAmJiAhY2hvc2VuRGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgc2V0Rm9jdXNlZERhdGUoc2V0RGVmYXVsdEZvY3VzZWREYXRlKCkpO1xyXG4gICAgICAgICAgICAgICAgc2V0RGF0ZUZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuICFvcGVuZWQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IHBsYWNlaG9sZGVyLCB0ZXN0SWQsIGRhdGVUaW1lUGlja2VyQ29udGVudCwgLi4ucmVzdCB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBvdGhlciA9IG9taXQoWydvbkRhdGVDaGFuZ2UnLCAnb25JbnB1dENoYW5nZScsICdvbklucHV0Qmx1cicsICdvbklucHV0Rm9jdXMnXSwgcmVzdCk7XHJcbiAgICBjb25zdCBkYXRlRmllbGRWYWx1ZSA9IGRhdGVGb3JtYXQgPT09ICdNTU1NIGQsIHl5eXknICYmIGNob3NlbkRhdGVcclxuICAgICAgICA/IGZvcm1hdChjaG9zZW5EYXRlLCBkYXRlRm9ybWF0KVxyXG4gICAgICAgIDogY2hvc2VuRGF0ZTtcclxuICAgIGNvbnN0IGlucHV0RGF0ZVZhbHVlID0gY2hvc2VuRGF0ZSA/IGZvcm1hdChjaG9zZW5EYXRlLCBkYXRlRm9ybWF0KSA6ICcnO1xyXG4gICAgbGV0IGlucHV0VmFsdWUgPSBwcm9wcy5pc0RhdGVGaWVsZElucHV0ID8gZGF0ZUZpZWxkVmFsdWUgOiBpbnB1dERhdGVWYWx1ZTtcclxuICAgIGlmIChpbnB1dFZhbHVlICYmIHByb3BzLmFkZGl0aW9uYWxJbnB1dENvbnRlbnQpIHtcclxuICAgICAgICBpbnB1dFZhbHVlID0gYCR7aW5wdXRWYWx1ZX0gJHtwcm9wcy5hZGRpdGlvbmFsSW5wdXRDb250ZW50fWA7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChwcm9wcy5hZGRpdGlvbmFsSW5wdXRDb250ZW50KSB7XHJcbiAgICAgICAgc2V0Q2hvc2VuRGF0ZShuZXcgRGF0ZSgpKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsgZmxvYXRpbmdTdHlsZXMsIHJlZnMsIGVsZW1lbnRzLCB1cGRhdGUgfSA9IHVzZU1hZ21hRmxvYXRpbmcoKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlRGF0ZUlucHV0ID0gZWxlbWVudHMucmVmZXJlbmNlO1xyXG4gICAgICAgIGNvbnN0IGZsb2F0aW5nQ2FsZW5kYXIgPSBlbGVtZW50cy5mbG9hdGluZztcclxuICAgICAgICBpZiAoY2FsZW5kYXJPcGVuZWQgJiYgcmVmZXJlbmNlRGF0ZUlucHV0ICYmIGZsb2F0aW5nQ2FsZW5kYXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGF1dG9VcGRhdGUocmVmZXJlbmNlRGF0ZUlucHV0LCBmbG9hdGluZ0NhbGVuZGFyLCB1cGRhdGUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtjYWxlbmRhck9wZW5lZCwgZWxlbWVudHMsIHVwZGF0ZV0pO1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KENhbGVuZGFyQ29udGV4dC5Qcm92aWRlciwgeyB2YWx1ZToge1xyXG4gICAgICAgICAgICBjaG9zZW5EYXRlLFxyXG4gICAgICAgICAgICBmb2N1c2VkRGF0ZSxcclxuICAgICAgICAgICAgZGF0ZUZvY3VzZWQsXHJcbiAgICAgICAgICAgIG1heERhdGUsXHJcbiAgICAgICAgICAgIG1pbkRhdGUsXHJcbiAgICAgICAgICAgIGhlbHBlckluZm9ybWF0aW9uU2hvd24sXHJcbiAgICAgICAgICAgIGlzSW52ZXJzZSxcclxuICAgICAgICAgICAgYnVpbGRDYWxlbmRhck1vbnRoLFxyXG4gICAgICAgICAgICBzaG93SGVscGVySW5mb3JtYXRpb24sXHJcbiAgICAgICAgICAgIGhpZGVIZWxwZXJJbmZvcm1hdGlvbixcclxuICAgICAgICAgICAgb25LZXlEb3duOiBoYW5kbGVLZXlEb3duLFxyXG4gICAgICAgICAgICBvblByZXZNb250aENsaWNrLFxyXG4gICAgICAgICAgICBvbk5leHRNb250aENsaWNrLFxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2U6IGhhbmRsZURheVNlbGVjdGlvbixcclxuICAgICAgICAgICAgc2V0RGF0ZUZvY3VzZWQsXHJcbiAgICAgICAgICAgIHNldEZvY3VzZWRUb2RheURhdGUsXHJcbiAgICAgICAgICAgIHNldEZvY3VzZWREYXRlLFxyXG4gICAgICAgICAgICBzZXRNb250aEZvY3VzZWREYXRlLFxyXG4gICAgICAgICAgICBzZXRZZWFyRm9jdXNlZERhdGUsXHJcbiAgICAgICAgICAgIG9uQ2xvc2U6IGNsb3NlSGVscGVySW5mb3JtYXRpb24sXHJcbiAgICAgICAgfSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRGF0ZVBpY2tlckNvbnRhaW5lciwgeyBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgb25CbHVyOiBoYW5kbGVDYWxlbmRhckJsdXIgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChBbm5vdW5jZSwgbnVsbCwgY2FsZW5kYXJPcGVuZWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoVmlzdWFsbHlIaWRkZW4sIG51bGwsIGkxOG4uZGF0ZVBpY2tlci5jYWxlbmRhck9wZW5Bbm5vdW5jZSkpKSxcclxuICAgICAgICAgICAgcHJvcHMuaXNEYXRlRmllbGRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KERhdGVGaWVsZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBpZDogaWQsIGRhdGVGb3JtYXQ6IGRhdGVGb3JtYXQsIGlucHV0VmFsdWU6IGlucHV0VmFsdWUsIG9uSWNvbkNsaWNrOiB0b2dnbGVDYWxlbmRhck9wZW5lZCwgc2V0UmVmZXJlbmNlOiByZWZzLnNldFJlZmVyZW5jZSwgaWNvblJlZjogaWNvblJlZiwgaW5wdXRSZWY6IGlucHV0UmVmLCBoYW5kbGVEYXRlQ2hhbmdlOiBoYW5kbGVEYXRlQ2hhbmdlLCBvbkNsZWFyRGF0ZTogcmVzZXQsIG9uSW5wdXRCbHVyOiBwcm9wcy5vbklucHV0Qmx1ciwgb25JbnB1dEZvY3VzOiBoYW5kbGVJbnB1dEZvY3VzLCBvbkljb25LZXlEb3duOiBoYW5kbGVJbnB1dEtleURvd24gfSkpKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KEV2ZW50SWNvbiwgbnVsbCksIGljb25BcmlhTGFiZWw6IGkxOG4uZGF0ZVBpY2tlci5jYWxlbmRhckljb25BcmlhTGFiZWwsIGljb25SZWY6IGljb25SZWYsIG9uSWNvbkNsaWNrOiB0b2dnbGVDYWxlbmRhck9wZW5lZCwgb25JY29uS2V5RG93bjogaGFuZGxlSW5wdXRLZXlEb3duLCBpZDogaWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCByZWY6IHJlZiwgb25DaGFuZ2U6IGhhbmRsZUlucHV0Q2hhbmdlLCBvbkJsdXI6IGhhbmRsZUlucHV0Qmx1ciwgb25Gb2N1czogaGFuZGxlSW5wdXRGb2N1cywgb25LZXlEb3duOiBoYW5kbGVJbnB1dEtleURvd24sIG9uRGF0ZUNoYW5nZTogaGFuZGxlRGF0ZUNoYW5nZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiBkYXRlRm9ybWF0LnRvTG93ZXJDYXNlKCksIHR5cGU6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogaW5wdXRWYWx1ZSwgc2V0UmVmZXJlbmNlOiByZWZzLnNldFJlZmVyZW5jZSB9KSkpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEludmVyc2VDb250ZXh0LlByb3ZpZGVyLCB7IHZhbHVlOiB7IGlzSW52ZXJzZSB9IH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBlbCA9PiBjYWxlbmRhck9wZW5lZCAmJiByZWZzLnNldEZsb2F0aW5nKGVsKSwgc3R5bGU6IHsgLi4uZmxvYXRpbmdTdHlsZXMsIHpJbmRleDogJzk5OCcgfSB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRGF0ZVBpY2tlckNhbGVuZGFyLCB7IFwiZGF0YS10ZXN0aWRcIjogXCJjYWxlbmRhckNvbnRhaW5lclwiLCBvcGVuZWQ6IGNhbGVuZGFyT3BlbmVkLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgdGhlbWU6IHRoZW1lIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2FsZW5kYXJNb250aCwgeyBmb2N1c09uT3BlbjogY2FsZW5kYXJPcGVuZWQgJiYgQm9vbGVhbihmb2N1c2VkRGF0ZSksIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBoYW5kbGVDbG9zZUJ1dHRvbkNsaWNrOiBoYW5kbGVDbG9zZUJ1dHRvbkNsaWNrLCBjYWxlbmRhck9wZW5lZDogY2FsZW5kYXJPcGVuZWQsIHNldERhdGVGb2N1c2VkOiBzZXREYXRlRm9jdXNlZCwgZGF0ZVRpbWVQaWNrZXJDb250ZW50OiBkYXRlVGltZVBpY2tlckNvbnRlbnQgfSkpKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
24841
24841
|
/*#__PURE__*/createStyled("div", {
|
|
24842
24842
|
target: "e19df3bi0",
|
|
24843
24843
|
label: "DoneButtonWrapper"
|
|
@@ -29764,6 +29764,7 @@
|
|
|
29764
29764
|
downloadAsJpg: 'Download as JPG',
|
|
29765
29765
|
downloadAsPng: 'Download as PNG',
|
|
29766
29766
|
exitFullScreen: 'Exit full screen',
|
|
29767
|
+
legendInstructions: 'Checking these checkboxes will update the chart.',
|
|
29767
29768
|
makeFullScreen: 'Make full screen',
|
|
29768
29769
|
moreOptionsAriaLabel: 'More options',
|
|
29769
29770
|
showAsTableTooltip: 'Show as table',
|
|
@@ -29774,7 +29775,7 @@
|
|
|
29774
29775
|
* falling back to English defaults.
|
|
29775
29776
|
*/
|
|
29776
29777
|
function useChartToolbarI18n() {
|
|
29777
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
29778
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
29778
29779
|
var i18n = React__default__namespace.useContext(I18nContext);
|
|
29779
29780
|
var toolbar = (_a = i18n.charts) === null || _a === void 0 ? void 0 : _a.toolbar;
|
|
29780
29781
|
if (!toolbar)
|
|
@@ -29785,10 +29786,11 @@
|
|
|
29785
29786
|
downloadAsJpg: (_d = toolbar.downloadAsJpg) !== null && _d !== void 0 ? _d : defaults.downloadAsJpg,
|
|
29786
29787
|
downloadAsPng: (_e = toolbar.downloadAsPng) !== null && _e !== void 0 ? _e : defaults.downloadAsPng,
|
|
29787
29788
|
exitFullScreen: (_f = toolbar.exitFullScreen) !== null && _f !== void 0 ? _f : defaults.exitFullScreen,
|
|
29788
|
-
|
|
29789
|
-
|
|
29790
|
-
|
|
29791
|
-
|
|
29789
|
+
legendInstructions: (_g = toolbar.legendInstructions) !== null && _g !== void 0 ? _g : defaults.legendInstructions,
|
|
29790
|
+
makeFullScreen: (_h = toolbar.makeFullScreen) !== null && _h !== void 0 ? _h : defaults.makeFullScreen,
|
|
29791
|
+
moreOptionsAriaLabel: (_j = toolbar.moreOptionsAriaLabel) !== null && _j !== void 0 ? _j : defaults.moreOptionsAriaLabel,
|
|
29792
|
+
showAsTableTooltip: (_k = toolbar.showAsTableTooltip) !== null && _k !== void 0 ? _k : defaults.showAsTableTooltip,
|
|
29793
|
+
tabularRepresentationLabel: (_l = toolbar.tabularRepresentationLabel) !== null && _l !== void 0 ? _l : defaults.tabularRepresentationLabel,
|
|
29792
29794
|
};
|
|
29793
29795
|
}
|
|
29794
29796
|
|
|
@@ -29887,7 +29889,7 @@
|
|
|
29887
29889
|
? props.theme.colors.primary700
|
|
29888
29890
|
: props.theme.colors.neutral100;
|
|
29889
29891
|
});
|
|
29890
|
-
var CarbonChartWrapper = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n &:fullscreen,\n &:-webkit-full-screen {\n background: ", ";\n\n .cds--chart-holder {\n height: 100vh !important;\n }\n }\n\n .cds--data-table thead tr th {\n background: ", " !important;\n }\n .cds--data-table td,\n .cds--data-table tbody th {\n color: ", ";\n }\n .cds--data-table tbody tr,\n .cds--data-table tbody tr td,\n .cds--data-table tbody tr th {\n color: ", ";\n }\n .cds--data-table tr {\n block-size: 2.5rem;\n }\n\n .cds--cc--tooltip .content-box .datapoint-tooltip p {\n font-size: ", ";\n padding: ", ";\n color: ", ";\n max-width: 142px;\n white-space: normal;\n }\n\n .cds--modal-container {\n clip-path: inset(0% 0% 0% 0% round ", ");\n background: ", ";\n .cds--data-table th {\n background: ", ";\n }\n .cds--data-table td {\n border-top: 1px solid\n ", ";\n border-bottom: 1px solid\n ", ";\n background: ", ";\n }\n .cds--data-table tr:hover td {\n background: ", ";\n }\n }\n\n .chart-holder p,\n .chart-holder div,\n .chart-holder text,\n .cds--cc--axes g.axis .axis-title,\n .cds--cc--title p.title,\n .cds--cc--axes g.axis g.tick text {\n font-family: ", " !important;\n color: ", ";\n }\n\n .cds--cc--axes {\n overflow: visible;\n }\n\n div.cds--cc--legend {\n div.legend-item {\n div.checkbox {\n background: ", ";\n border: none;\n width: ", ";\n height: ", ";\n svg {\n left: 2px;\n position: relative;\n }\n }\n p {\n font-size: ", ";\n margin: 0 ", " 0 0;\n }\n }\n }\n div.cds--cc--legend.has-deactivated-items {\n div.legend-item {\n div.checkbox {\n border: 1px solid\n ", ";\n }\n div.checkbox.active {\n border: 1px solid transparent;\n }\n }\n }\n .chart-holder {\n .cds--cc--axes g.axis g.tick text {\n fill: ", ";\n }\n .cds--cc--axes g.axis path.domain {\n stroke: ", ";\n }\n .cds--cc--grid g.x.grid g.tick line,\n .cds--cc--grid g.y.grid g.tick line {\n stroke: ", ";\n }\n .cds--cc--grid rect.chart-grid-backdrop.stroked {\n stroke: ", ";\n }\n .cds--cc--skeleton .shimmer-effect-lines {\n filter: ", ";\n }\n /* .chart-holder.cds--chart-holder.filled,\n .cds--cc--skeleton rect.chart-skeleton-backdrop,\n .cds--cc--grid rect.chart-grid-backdrop {\n } */\n\n .cds--cc--grid rect.chart-grid-backdrop {\n fill: transparent;\n }\n .cds--cc--scatter circle.dot,\n .cds--cc--scatter circle.dot.hovered {\n padding: 10px;\n }\n .cds--cc--scatter-stacked circle.dot.hovered,\n .cds--cc--scatter-stacked circle.dot.unfilled,\n .cds--cc--scatter circle.dot.unfilled {\n stroke-width: 6px;\n transition: 0.1s all linear;\n }\n .cds--cc--scatter circle.dot {\n filter: drop-shadow(\n 1px 0px 0px\n ", "\n )\n drop-shadow(\n -1px 0px 0px\n ", "\n )\n drop-shadow(\n 0px 1px 0px\n ", "\n )\n drop-shadow(\n 0px -1px 0px\n ", "\n );\n }\n .cds--cc--scatter circle.dot.hovered {\n stroke-width: 0.5em;\n transition: 0.1s all linear;\n filter: drop-shadow(\n 1px 0px 0px\n ", "\n )\n drop-shadow(\n -1px 0px 0px\n ", "\n )\n drop-shadow(\n 0px 1px 0px\n ", "\n )\n drop-shadow(\n 0px -1px 0px\n ", "\n );\n }\n .cds--cc--lollipop circle.dot,\n .cds--cc--lollipop circle.dot.filled,\n .cds--cc--lollipop circle.dot.hovered {\n stroke-width: 15px;\n }\n .cds--cc--scatter-stacked circle.dot,\n .cds--cc--scatter-stacked circle.dot.hovered,\n .cds--cc--scatter-stacked circle.dot.unfilled,\n .cds--cc--scatter circle.dot.unfilled,\n .cds--cc--lollipop circle.dot.filled,\n .cds--cc--lollipop circle.dot,\n .cds--cc--lollipop circle.dot.hovered {\n transition: 0.1s all linear;\n filter: drop-shadow(\n 1px 0px 0px\n ", "\n )\n drop-shadow(\n -1px 0px 0px\n ", "\n )\n drop-shadow(\n 0px 1px 0px\n ", "\n )\n drop-shadow(\n 0px -1px 0px\n ", "\n );\n }\n .cds--cc--lollipop .cds--cc--scatter circle.dot.hovered {\n transition: 0.1s all linear;\n stroke-width: 1.1em;\n }\n\n .cds--cc--tooltip {\n ", "\n }\n\n .cds--overflow-menu-options__btn:focus {\n outline-color: ", ";\n }\n\n .cds--btn {\n min-height: auto;\n display: flex;\n flex: 0 auto;\n align-items: center;\n text-align: center;\n padding: 20px;\n margin: 0;\n line-height: ", ";\n margin: 0;\n min-width: ", ";\n overflow: hidden;\n position: relative;\n right: ", ";\n text-align: center;\n height: 40px;\n font-family: ", ";\n font-size: ", ";\n border-radius: ", ";\n font-weight: 500;\n }\n\n .cds--btn--primary {\n background: ", ";\n color: ", ";\n }\n\n *:focus {\n outline: 2px solid\n ", " !important;\n outline-offset: 0;\n }\n .cds--overflow-menu-options__btn:focus,\n .cds--overflow-menu:focus,\n .cds--overflow-menu__trigger:focus,\n .toolbar-control:focus {\n outline: 2px solid\n ", " !important;\n }\n div.cds--cc--legend.clickable\n div.legend-item:not(.additional):focus\n div.checkbox,\n div.cds--cc--legend.clickable\n div.legend-item:not(.additional):hover\n div.checkbox {\n border: ", ";\n }\n div.cds--cc--legend.clickable\n div.legend-item:not(.additional):hover\n div.checkbox {\n box-shadow: 0 0 0 2px\n ", " !important;\n }\n\n .cds--btn--primary {\n &:focus {\n outline: 2px solid\n ", ";\n }\n outline-offset: 2px;\n border: none;\n box-shadow: none;\n }\n .cds--modal-header {\n background: ", ";\n margin-bottom: 0;\n border-bottom: 1px solid\n ", ";\n }\n .cds--modal-header__heading {\n font-weight: 600;\n }\n\n .cds--modal-close {\n position: absolute;\n top: 0;\n right: 0;\n &:focus {\n outline: 2px solid\n ", ";\n border-color: none;\n }\n outline-offset: 0;\n border: none;\n }\n }\n\n .cds--modal-footer.cds--modal-footer {\n display: flex;\n align-items: center;\n border-top: 1px solid\n ", ";\n background: ", " !important;\n }\n .layout-child.header {\n height: auto !important;\n p {\n text-overflow: inherit;\n overflow: auto;\n white-space: normal;\n }\n }\n\n &.has-magma-toolbar .cds--cc--title p.title {\n visibility: hidden;\n }\n\n svg:not(:root) {\n overflow: visible;\n }\n\n .cds--cc--chart-wrapper text {\n font-size: ", ";\n }\n\n g.center text,\n .pie-label {\n fill: ", ";\n }\n\n // Zoom responsive tweaks\n\n @media screen and (max-width: 760px) {\n .cds--modal-container {\n overflow-y: auto;\n }\n .cds--chart-holder .cds--modal .cds--modal-container .cds--modal-content {\n overflow: visible;\n }\n .cds--chart-holder\n .cds--modal\n .cds--modal-container\n .cds--modal-content\n table\n th {\n position: relative;\n }\n }\n"], ["\n &:fullscreen,\n &:-webkit-full-screen {\n background: ", ";\n\n .cds--chart-holder {\n height: 100vh !important;\n }\n }\n\n .cds--data-table thead tr th {\n background: ", " !important;\n }\n .cds--data-table td,\n .cds--data-table tbody th {\n color: ", ";\n }\n .cds--data-table tbody tr,\n .cds--data-table tbody tr td,\n .cds--data-table tbody tr th {\n color: ", ";\n }\n .cds--data-table tr {\n block-size: 2.5rem;\n }\n\n .cds--cc--tooltip .content-box .datapoint-tooltip p {\n font-size: ", ";\n padding: ", ";\n color: ", ";\n max-width: 142px;\n white-space: normal;\n }\n\n .cds--modal-container {\n clip-path: inset(0% 0% 0% 0% round ", ");\n background: ", ";\n .cds--data-table th {\n background: ", ";\n }\n .cds--data-table td {\n border-top: 1px solid\n ", ";\n border-bottom: 1px solid\n ", ";\n background: ", ";\n }\n .cds--data-table tr:hover td {\n background: ", ";\n }\n }\n\n .chart-holder p,\n .chart-holder div,\n .chart-holder text,\n .cds--cc--axes g.axis .axis-title,\n .cds--cc--title p.title,\n .cds--cc--axes g.axis g.tick text {\n font-family: ", " !important;\n color: ", ";\n }\n\n .cds--cc--axes {\n overflow: visible;\n }\n\n div.cds--cc--legend {\n div.legend-item {\n div.checkbox {\n background: ", ";\n border: none;\n width: ", ";\n height: ", ";\n svg {\n left: 2px;\n position: relative;\n }\n }\n p {\n font-size: ", ";\n margin: 0 ", " 0 0;\n }\n }\n }\n div.cds--cc--legend.has-deactivated-items {\n div.legend-item {\n div.checkbox {\n border: 1px solid\n ", ";\n }\n div.checkbox.active {\n border: 1px solid transparent;\n }\n }\n }\n .chart-holder {\n .cds--cc--axes g.axis g.tick text {\n fill: ", ";\n }\n .cds--cc--axes g.axis path.domain {\n stroke: ", ";\n }\n .cds--cc--grid g.x.grid g.tick line,\n .cds--cc--grid g.y.grid g.tick line {\n stroke: ", ";\n }\n .cds--cc--grid rect.chart-grid-backdrop.stroked {\n stroke: ", ";\n }\n .cds--cc--skeleton .shimmer-effect-lines {\n filter: ", ";\n }\n /* .chart-holder.cds--chart-holder.filled,\n .cds--cc--skeleton rect.chart-skeleton-backdrop,\n .cds--cc--grid rect.chart-grid-backdrop {\n } */\n\n .cds--cc--grid rect.chart-grid-backdrop {\n fill: transparent;\n }\n .cds--cc--scatter circle.dot,\n .cds--cc--scatter circle.dot.hovered {\n padding: 10px;\n }\n .cds--cc--scatter-stacked circle.dot.hovered,\n .cds--cc--scatter-stacked circle.dot.unfilled,\n .cds--cc--scatter circle.dot.unfilled {\n stroke-width: 6px;\n transition: 0.1s all linear;\n }\n .cds--cc--scatter circle.dot {\n filter: drop-shadow(\n 1px 0px 0px\n ", "\n )\n drop-shadow(\n -1px 0px 0px\n ", "\n )\n drop-shadow(\n 0px 1px 0px\n ", "\n )\n drop-shadow(\n 0px -1px 0px\n ", "\n );\n }\n .cds--cc--scatter circle.dot.hovered {\n stroke-width: 0.5em;\n transition: 0.1s all linear;\n filter: drop-shadow(\n 1px 0px 0px\n ", "\n )\n drop-shadow(\n -1px 0px 0px\n ", "\n )\n drop-shadow(\n 0px 1px 0px\n ", "\n )\n drop-shadow(\n 0px -1px 0px\n ", "\n );\n }\n .cds--cc--lollipop circle.dot,\n .cds--cc--lollipop circle.dot.filled,\n .cds--cc--lollipop circle.dot.hovered {\n stroke-width: 15px;\n }\n .cds--cc--scatter-stacked circle.dot,\n .cds--cc--scatter-stacked circle.dot.hovered,\n .cds--cc--scatter-stacked circle.dot.unfilled,\n .cds--cc--scatter circle.dot.unfilled,\n .cds--cc--lollipop circle.dot.filled,\n .cds--cc--lollipop circle.dot,\n .cds--cc--lollipop circle.dot.hovered {\n transition: 0.1s all linear;\n filter: drop-shadow(\n 1px 0px 0px\n ", "\n )\n drop-shadow(\n -1px 0px 0px\n ", "\n )\n drop-shadow(\n 0px 1px 0px\n ", "\n )\n drop-shadow(\n 0px -1px 0px\n ", "\n );\n }\n .cds--cc--lollipop .cds--cc--scatter circle.dot.hovered {\n transition: 0.1s all linear;\n stroke-width: 1.1em;\n }\n\n .cds--cc--tooltip {\n ", "\n }\n\n .cds--overflow-menu-options__btn:focus {\n outline-color: ", ";\n }\n\n .cds--btn {\n min-height: auto;\n display: flex;\n flex: 0 auto;\n align-items: center;\n text-align: center;\n padding: 20px;\n margin: 0;\n line-height: ", ";\n margin: 0;\n min-width: ", ";\n overflow: hidden;\n position: relative;\n right: ", ";\n text-align: center;\n height: 40px;\n font-family: ", ";\n font-size: ", ";\n border-radius: ", ";\n font-weight: 500;\n }\n\n .cds--btn--primary {\n background: ", ";\n color: ", ";\n }\n\n *:focus {\n outline: 2px solid\n ", " !important;\n outline-offset: 0;\n }\n .cds--overflow-menu-options__btn:focus,\n .cds--overflow-menu:focus,\n .cds--overflow-menu__trigger:focus,\n .toolbar-control:focus {\n outline: 2px solid\n ", " !important;\n }\n div.cds--cc--legend.clickable\n div.legend-item:not(.additional):focus\n div.checkbox,\n div.cds--cc--legend.clickable\n div.legend-item:not(.additional):hover\n div.checkbox {\n border: ", ";\n }\n div.cds--cc--legend.clickable\n div.legend-item:not(.additional):hover\n div.checkbox {\n box-shadow: 0 0 0 2px\n ", " !important;\n }\n\n .cds--btn--primary {\n &:focus {\n outline: 2px solid\n ", ";\n }\n outline-offset: 2px;\n border: none;\n box-shadow: none;\n }\n .cds--modal-header {\n background: ", ";\n margin-bottom: 0;\n border-bottom: 1px solid\n ", ";\n }\n .cds--modal-header__heading {\n font-weight: 600;\n }\n\n .cds--modal-close {\n position: absolute;\n top: 0;\n right: 0;\n &:focus {\n outline: 2px solid\n ", ";\n border-color: none;\n }\n outline-offset: 0;\n border: none;\n }\n }\n\n .cds--modal-footer.cds--modal-footer {\n display: flex;\n align-items: center;\n border-top: 1px solid\n ", ";\n background: ", " !important;\n }\n .layout-child.header {\n height: auto !important;\n p {\n text-overflow: inherit;\n overflow: auto;\n white-space: normal;\n }\n }\n\n &.has-magma-toolbar .cds--cc--title p.title {\n visibility: hidden;\n }\n\n svg:not(:root) {\n overflow: visible;\n }\n\n .cds--cc--chart-wrapper text {\n font-size: ", ";\n }\n\n g.center text,\n .pie-label {\n fill: ", ";\n }\n\n // Zoom responsive tweaks\n\n @media screen and (max-width: 760px) {\n .cds--modal-container {\n overflow-y: auto;\n }\n .cds--chart-holder .cds--modal .cds--modal-container .cds--modal-content {\n overflow: visible;\n }\n .cds--chart-holder\n .cds--modal\n .cds--modal-container\n .cds--modal-content\n table\n th {\n position: relative;\n }\n }\n"])), function (props) {
|
|
29892
|
+
var CarbonChartWrapper = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n .cds--cc--legend-fieldset {\n border: 0;\n margin: 0;\n min-inline-size: 0;\n padding: 0;\n }\n\n .cds--cc--legend-fieldset > legend {\n clip: rect(1px, 1px, 1px, 1px);\n height: 1px;\n overflow: hidden;\n position: absolute;\n top: auto;\n white-space: nowrap;\n width: 1px;\n }\n\n &:fullscreen,\n &:-webkit-full-screen {\n background: ", ";\n\n .cds--chart-holder {\n height: 100vh !important;\n }\n }\n\n .cds--data-table thead tr th {\n background: ", " !important;\n }\n .cds--data-table td,\n .cds--data-table tbody th {\n color: ", ";\n }\n .cds--data-table tbody tr,\n .cds--data-table tbody tr td,\n .cds--data-table tbody tr th {\n color: ", ";\n }\n .cds--data-table tr {\n block-size: 2.5rem;\n }\n\n .cds--cc--tooltip .content-box .datapoint-tooltip p {\n font-size: ", ";\n padding: ", ";\n color: ", ";\n max-width: 142px;\n white-space: normal;\n }\n\n .cds--modal-container {\n clip-path: inset(0% 0% 0% 0% round ", ");\n background: ", ";\n .cds--data-table th {\n background: ", ";\n }\n .cds--data-table td {\n border-top: 1px solid\n ", ";\n border-bottom: 1px solid\n ", ";\n background: ", ";\n }\n .cds--data-table tr:hover td {\n background: ", ";\n }\n }\n\n .chart-holder p,\n .chart-holder div,\n .chart-holder text,\n .cds--cc--axes g.axis .axis-title,\n .cds--cc--title p.title,\n .cds--cc--axes g.axis g.tick text {\n font-family: ", " !important;\n color: ", ";\n }\n\n .cds--cc--axes {\n overflow: visible;\n }\n\n div.cds--cc--legend {\n div.legend-item {\n div.checkbox {\n background: ", ";\n border: none;\n width: ", ";\n height: ", ";\n svg {\n left: 2px;\n position: relative;\n }\n }\n p {\n font-size: ", ";\n margin: 0 ", " 0 0;\n }\n }\n }\n div.cds--cc--legend.has-deactivated-items {\n div.legend-item {\n div.checkbox {\n border: 1px solid\n ", ";\n }\n div.checkbox.active {\n border: 1px solid transparent;\n }\n }\n }\n .chart-holder {\n .cds--cc--axes g.axis g.tick text {\n fill: ", ";\n }\n .cds--cc--axes g.axis path.domain {\n stroke: ", ";\n }\n .cds--cc--grid g.x.grid g.tick line,\n .cds--cc--grid g.y.grid g.tick line {\n stroke: ", ";\n }\n .cds--cc--grid rect.chart-grid-backdrop.stroked {\n stroke: ", ";\n }\n .cds--cc--skeleton .shimmer-effect-lines {\n filter: ", ";\n }\n /* .chart-holder.cds--chart-holder.filled,\n .cds--cc--skeleton rect.chart-skeleton-backdrop,\n .cds--cc--grid rect.chart-grid-backdrop {\n } */\n\n .cds--cc--grid rect.chart-grid-backdrop {\n fill: transparent;\n }\n .cds--cc--scatter circle.dot,\n .cds--cc--scatter circle.dot.hovered {\n padding: 10px;\n }\n .cds--cc--scatter-stacked circle.dot.hovered,\n .cds--cc--scatter-stacked circle.dot.unfilled,\n .cds--cc--scatter circle.dot.unfilled {\n stroke-width: 6px;\n transition: 0.1s all linear;\n }\n .cds--cc--scatter circle.dot {\n filter: drop-shadow(\n 1px 0px 0px\n ", "\n )\n drop-shadow(\n -1px 0px 0px\n ", "\n )\n drop-shadow(\n 0px 1px 0px\n ", "\n )\n drop-shadow(\n 0px -1px 0px\n ", "\n );\n }\n .cds--cc--scatter circle.dot.hovered {\n stroke-width: 0.5em;\n transition: 0.1s all linear;\n filter: drop-shadow(\n 1px 0px 0px\n ", "\n )\n drop-shadow(\n -1px 0px 0px\n ", "\n )\n drop-shadow(\n 0px 1px 0px\n ", "\n )\n drop-shadow(\n 0px -1px 0px\n ", "\n );\n }\n .cds--cc--lollipop circle.dot,\n .cds--cc--lollipop circle.dot.filled,\n .cds--cc--lollipop circle.dot.hovered {\n stroke-width: 15px;\n }\n .cds--cc--scatter-stacked circle.dot,\n .cds--cc--scatter-stacked circle.dot.hovered,\n .cds--cc--scatter-stacked circle.dot.unfilled,\n .cds--cc--scatter circle.dot.unfilled,\n .cds--cc--lollipop circle.dot.filled,\n .cds--cc--lollipop circle.dot,\n .cds--cc--lollipop circle.dot.hovered {\n transition: 0.1s all linear;\n filter: drop-shadow(\n 1px 0px 0px\n ", "\n )\n drop-shadow(\n -1px 0px 0px\n ", "\n )\n drop-shadow(\n 0px 1px 0px\n ", "\n )\n drop-shadow(\n 0px -1px 0px\n ", "\n );\n }\n .cds--cc--lollipop .cds--cc--scatter circle.dot.hovered {\n transition: 0.1s all linear;\n stroke-width: 1.1em;\n }\n\n .cds--cc--tooltip {\n ", "\n }\n\n .cds--overflow-menu-options__btn:focus {\n outline-color: ", ";\n }\n\n .cds--btn {\n min-height: auto;\n display: flex;\n flex: 0 auto;\n align-items: center;\n text-align: center;\n padding: 20px;\n margin: 0;\n line-height: ", ";\n margin: 0;\n min-width: ", ";\n overflow: hidden;\n position: relative;\n right: ", ";\n text-align: center;\n height: 40px;\n font-family: ", ";\n font-size: ", ";\n border-radius: ", ";\n font-weight: 500;\n }\n\n .cds--btn--primary {\n background: ", ";\n color: ", ";\n }\n\n *:focus {\n outline: 2px solid\n ", " !important;\n outline-offset: 0;\n }\n .cds--overflow-menu-options__btn:focus,\n .cds--overflow-menu:focus,\n .cds--overflow-menu__trigger:focus,\n .toolbar-control:focus {\n outline: 2px solid\n ", " !important;\n }\n div.cds--cc--legend.clickable\n div.legend-item:not(.additional):focus\n div.checkbox,\n div.cds--cc--legend.clickable\n div.legend-item:not(.additional):hover\n div.checkbox {\n border: ", ";\n }\n div.cds--cc--legend.clickable\n div.legend-item:not(.additional):hover\n div.checkbox {\n box-shadow: 0 0 0 2px\n ", " !important;\n }\n\n .cds--btn--primary {\n &:focus {\n outline: 2px solid\n ", ";\n }\n outline-offset: 2px;\n border: none;\n box-shadow: none;\n }\n .cds--modal-header {\n background: ", ";\n margin-bottom: 0;\n border-bottom: 1px solid\n ", ";\n }\n .cds--modal-header__heading {\n font-weight: 600;\n }\n\n .cds--modal-close {\n position: absolute;\n top: 0;\n right: 0;\n &:focus {\n outline: 2px solid\n ", ";\n border-color: none;\n }\n outline-offset: 0;\n border: none;\n }\n }\n\n .cds--modal-footer.cds--modal-footer {\n display: flex;\n align-items: center;\n border-top: 1px solid\n ", ";\n background: ", " !important;\n }\n .layout-child.header {\n height: auto !important;\n p {\n text-overflow: inherit;\n overflow: auto;\n white-space: normal;\n }\n }\n\n &.has-magma-toolbar .cds--cc--title p.title {\n visibility: hidden;\n }\n\n svg:not(:root) {\n overflow: visible;\n }\n\n .cds--cc--chart-wrapper text {\n font-size: ", ";\n }\n\n g.center text,\n .pie-label {\n fill: ", ";\n }\n\n // Zoom responsive tweaks\n\n @media screen and (max-width: 760px) {\n .cds--modal-container {\n overflow-y: auto;\n }\n .cds--chart-holder .cds--modal .cds--modal-container .cds--modal-content {\n overflow: visible;\n }\n .cds--chart-holder\n .cds--modal\n .cds--modal-container\n .cds--modal-content\n table\n th {\n position: relative;\n }\n }\n"], ["\n .cds--cc--legend-fieldset {\n border: 0;\n margin: 0;\n min-inline-size: 0;\n padding: 0;\n }\n\n .cds--cc--legend-fieldset > legend {\n clip: rect(1px, 1px, 1px, 1px);\n height: 1px;\n overflow: hidden;\n position: absolute;\n top: auto;\n white-space: nowrap;\n width: 1px;\n }\n\n &:fullscreen,\n &:-webkit-full-screen {\n background: ", ";\n\n .cds--chart-holder {\n height: 100vh !important;\n }\n }\n\n .cds--data-table thead tr th {\n background: ", " !important;\n }\n .cds--data-table td,\n .cds--data-table tbody th {\n color: ", ";\n }\n .cds--data-table tbody tr,\n .cds--data-table tbody tr td,\n .cds--data-table tbody tr th {\n color: ", ";\n }\n .cds--data-table tr {\n block-size: 2.5rem;\n }\n\n .cds--cc--tooltip .content-box .datapoint-tooltip p {\n font-size: ", ";\n padding: ", ";\n color: ", ";\n max-width: 142px;\n white-space: normal;\n }\n\n .cds--modal-container {\n clip-path: inset(0% 0% 0% 0% round ", ");\n background: ", ";\n .cds--data-table th {\n background: ", ";\n }\n .cds--data-table td {\n border-top: 1px solid\n ", ";\n border-bottom: 1px solid\n ", ";\n background: ", ";\n }\n .cds--data-table tr:hover td {\n background: ", ";\n }\n }\n\n .chart-holder p,\n .chart-holder div,\n .chart-holder text,\n .cds--cc--axes g.axis .axis-title,\n .cds--cc--title p.title,\n .cds--cc--axes g.axis g.tick text {\n font-family: ", " !important;\n color: ", ";\n }\n\n .cds--cc--axes {\n overflow: visible;\n }\n\n div.cds--cc--legend {\n div.legend-item {\n div.checkbox {\n background: ", ";\n border: none;\n width: ", ";\n height: ", ";\n svg {\n left: 2px;\n position: relative;\n }\n }\n p {\n font-size: ", ";\n margin: 0 ", " 0 0;\n }\n }\n }\n div.cds--cc--legend.has-deactivated-items {\n div.legend-item {\n div.checkbox {\n border: 1px solid\n ", ";\n }\n div.checkbox.active {\n border: 1px solid transparent;\n }\n }\n }\n .chart-holder {\n .cds--cc--axes g.axis g.tick text {\n fill: ", ";\n }\n .cds--cc--axes g.axis path.domain {\n stroke: ", ";\n }\n .cds--cc--grid g.x.grid g.tick line,\n .cds--cc--grid g.y.grid g.tick line {\n stroke: ", ";\n }\n .cds--cc--grid rect.chart-grid-backdrop.stroked {\n stroke: ", ";\n }\n .cds--cc--skeleton .shimmer-effect-lines {\n filter: ", ";\n }\n /* .chart-holder.cds--chart-holder.filled,\n .cds--cc--skeleton rect.chart-skeleton-backdrop,\n .cds--cc--grid rect.chart-grid-backdrop {\n } */\n\n .cds--cc--grid rect.chart-grid-backdrop {\n fill: transparent;\n }\n .cds--cc--scatter circle.dot,\n .cds--cc--scatter circle.dot.hovered {\n padding: 10px;\n }\n .cds--cc--scatter-stacked circle.dot.hovered,\n .cds--cc--scatter-stacked circle.dot.unfilled,\n .cds--cc--scatter circle.dot.unfilled {\n stroke-width: 6px;\n transition: 0.1s all linear;\n }\n .cds--cc--scatter circle.dot {\n filter: drop-shadow(\n 1px 0px 0px\n ", "\n )\n drop-shadow(\n -1px 0px 0px\n ", "\n )\n drop-shadow(\n 0px 1px 0px\n ", "\n )\n drop-shadow(\n 0px -1px 0px\n ", "\n );\n }\n .cds--cc--scatter circle.dot.hovered {\n stroke-width: 0.5em;\n transition: 0.1s all linear;\n filter: drop-shadow(\n 1px 0px 0px\n ", "\n )\n drop-shadow(\n -1px 0px 0px\n ", "\n )\n drop-shadow(\n 0px 1px 0px\n ", "\n )\n drop-shadow(\n 0px -1px 0px\n ", "\n );\n }\n .cds--cc--lollipop circle.dot,\n .cds--cc--lollipop circle.dot.filled,\n .cds--cc--lollipop circle.dot.hovered {\n stroke-width: 15px;\n }\n .cds--cc--scatter-stacked circle.dot,\n .cds--cc--scatter-stacked circle.dot.hovered,\n .cds--cc--scatter-stacked circle.dot.unfilled,\n .cds--cc--scatter circle.dot.unfilled,\n .cds--cc--lollipop circle.dot.filled,\n .cds--cc--lollipop circle.dot,\n .cds--cc--lollipop circle.dot.hovered {\n transition: 0.1s all linear;\n filter: drop-shadow(\n 1px 0px 0px\n ", "\n )\n drop-shadow(\n -1px 0px 0px\n ", "\n )\n drop-shadow(\n 0px 1px 0px\n ", "\n )\n drop-shadow(\n 0px -1px 0px\n ", "\n );\n }\n .cds--cc--lollipop .cds--cc--scatter circle.dot.hovered {\n transition: 0.1s all linear;\n stroke-width: 1.1em;\n }\n\n .cds--cc--tooltip {\n ", "\n }\n\n .cds--overflow-menu-options__btn:focus {\n outline-color: ", ";\n }\n\n .cds--btn {\n min-height: auto;\n display: flex;\n flex: 0 auto;\n align-items: center;\n text-align: center;\n padding: 20px;\n margin: 0;\n line-height: ", ";\n margin: 0;\n min-width: ", ";\n overflow: hidden;\n position: relative;\n right: ", ";\n text-align: center;\n height: 40px;\n font-family: ", ";\n font-size: ", ";\n border-radius: ", ";\n font-weight: 500;\n }\n\n .cds--btn--primary {\n background: ", ";\n color: ", ";\n }\n\n *:focus {\n outline: 2px solid\n ", " !important;\n outline-offset: 0;\n }\n .cds--overflow-menu-options__btn:focus,\n .cds--overflow-menu:focus,\n .cds--overflow-menu__trigger:focus,\n .toolbar-control:focus {\n outline: 2px solid\n ", " !important;\n }\n div.cds--cc--legend.clickable\n div.legend-item:not(.additional):focus\n div.checkbox,\n div.cds--cc--legend.clickable\n div.legend-item:not(.additional):hover\n div.checkbox {\n border: ", ";\n }\n div.cds--cc--legend.clickable\n div.legend-item:not(.additional):hover\n div.checkbox {\n box-shadow: 0 0 0 2px\n ", " !important;\n }\n\n .cds--btn--primary {\n &:focus {\n outline: 2px solid\n ", ";\n }\n outline-offset: 2px;\n border: none;\n box-shadow: none;\n }\n .cds--modal-header {\n background: ", ";\n margin-bottom: 0;\n border-bottom: 1px solid\n ", ";\n }\n .cds--modal-header__heading {\n font-weight: 600;\n }\n\n .cds--modal-close {\n position: absolute;\n top: 0;\n right: 0;\n &:focus {\n outline: 2px solid\n ", ";\n border-color: none;\n }\n outline-offset: 0;\n border: none;\n }\n }\n\n .cds--modal-footer.cds--modal-footer {\n display: flex;\n align-items: center;\n border-top: 1px solid\n ", ";\n background: ", " !important;\n }\n .layout-child.header {\n height: auto !important;\n p {\n text-overflow: inherit;\n overflow: auto;\n white-space: normal;\n }\n }\n\n &.has-magma-toolbar .cds--cc--title p.title {\n visibility: hidden;\n }\n\n svg:not(:root) {\n overflow: visible;\n }\n\n .cds--cc--chart-wrapper text {\n font-size: ", ";\n }\n\n g.center text,\n .pie-label {\n fill: ", ";\n }\n\n // Zoom responsive tweaks\n\n @media screen and (max-width: 760px) {\n .cds--modal-container {\n overflow-y: auto;\n }\n .cds--chart-holder .cds--modal .cds--modal-container .cds--modal-content {\n overflow: visible;\n }\n .cds--chart-holder\n .cds--modal\n .cds--modal-container\n .cds--modal-content\n table\n th {\n position: relative;\n }\n }\n"])), function (props) {
|
|
29891
29893
|
return props.isInverse
|
|
29892
29894
|
? props.theme.colors.primary700
|
|
29893
29895
|
: props.theme.colors.neutral100;
|
|
@@ -30322,6 +30324,42 @@
|
|
|
30322
30324
|
}
|
|
30323
30325
|
}, []);
|
|
30324
30326
|
var chartTitle = options.title || toolbarI18n.defaultTitle;
|
|
30327
|
+
var legendLabel = "".concat(ariaLabel || chartTitle, ". ").concat(toolbarI18n.legendInstructions);
|
|
30328
|
+
React__default__namespace.useEffect(function () {
|
|
30329
|
+
var container = internalRef.current;
|
|
30330
|
+
if (!container)
|
|
30331
|
+
return;
|
|
30332
|
+
var applyListSemantics = function (legend) {
|
|
30333
|
+
legend.removeAttribute('aria-label');
|
|
30334
|
+
legend.setAttribute('role', 'list');
|
|
30335
|
+
legend
|
|
30336
|
+
.querySelectorAll('.legend-item')
|
|
30337
|
+
.forEach(function (item) { return item.setAttribute('role', 'listitem'); });
|
|
30338
|
+
};
|
|
30339
|
+
var wrapLegend = function () {
|
|
30340
|
+
var legend = container.querySelector('.cds--cc--legend');
|
|
30341
|
+
if (!legend)
|
|
30342
|
+
return;
|
|
30343
|
+
applyListSemantics(legend);
|
|
30344
|
+
var parent = legend.parentElement;
|
|
30345
|
+
if ((parent === null || parent === void 0 ? void 0 : parent.tagName) === 'FIELDSET') {
|
|
30346
|
+
var existingCaption = parent.querySelector('legend');
|
|
30347
|
+
if (existingCaption)
|
|
30348
|
+
existingCaption.textContent = legendLabel;
|
|
30349
|
+
return;
|
|
30350
|
+
}
|
|
30351
|
+
var fieldset = document.createElement('fieldset');
|
|
30352
|
+
var caption = document.createElement('legend');
|
|
30353
|
+
fieldset.className = 'cds--cc--legend-fieldset';
|
|
30354
|
+
caption.textContent = legendLabel;
|
|
30355
|
+
legend.before(fieldset);
|
|
30356
|
+
fieldset.append(caption, legend);
|
|
30357
|
+
};
|
|
30358
|
+
wrapLegend();
|
|
30359
|
+
var observer = new MutationObserver(wrapLegend);
|
|
30360
|
+
observer.observe(container, { childList: true, subtree: true });
|
|
30361
|
+
return function () { return observer.disconnect(); };
|
|
30362
|
+
}, [legendLabel]);
|
|
30325
30363
|
var handleModalDownloadCsv = React__default__namespace.useCallback(function () {
|
|
30326
30364
|
downloadCsv(dataSet, chartTitle);
|
|
30327
30365
|
}, [dataSet, chartTitle]);
|
|
@@ -30371,6 +30409,24 @@
|
|
|
30371
30409
|
type: 'none',
|
|
30372
30410
|
} }) }), (chartToolbar ? { toolbar: { enabled: false } } : {}));
|
|
30373
30411
|
var ChartType = allCharts[type];
|
|
30412
|
+
React__default__namespace.useEffect(function () {
|
|
30413
|
+
var timer = setTimeout(function () {
|
|
30414
|
+
if (internalRef.current) {
|
|
30415
|
+
internalRef.current
|
|
30416
|
+
.querySelectorAll('g[aria-label]')
|
|
30417
|
+
.forEach(function (g) {
|
|
30418
|
+
var role = g.getAttribute('role');
|
|
30419
|
+
if (!role) {
|
|
30420
|
+
g.setAttribute('role', 'img');
|
|
30421
|
+
}
|
|
30422
|
+
else if (role === 'graphics-object group') {
|
|
30423
|
+
g.setAttribute('role', 'graphics-object');
|
|
30424
|
+
}
|
|
30425
|
+
});
|
|
30426
|
+
}
|
|
30427
|
+
}, 0);
|
|
30428
|
+
return function () { return clearTimeout(timer); };
|
|
30429
|
+
}, [type, dataSet]);
|
|
30374
30430
|
var groupsLength = Object.keys(buildColors()).length;
|
|
30375
30431
|
var showTable = (chartToolbar === null || chartToolbar === void 0 ? void 0 : chartToolbar.showAsTable) !== false;
|
|
30376
30432
|
return (React__default__namespace.createElement(FullscreenRoot, { ref: mergedRef, isInverse: isInverse, theme: theme },
|