Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-menu-list

Package Overview
Dependencies
Maintainers
1
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-menu-list - npm Package Compare versions

Comparing version 2.0.1 to 2.1.0

2

js/Dropdown.js

@@ -64,2 +64,2 @@ 'use strict';

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Ecm9wZG93bi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7Ozs7SUFFcUI7Ozs7Ozs7Ozs7NkJBS1Y7QUFDUCxhQUNFOztVQUFLLE9BQU87QUFDVix3QkFBWSxPQUFaO0FBQ0Esb0JBQVEsMEJBQVI7QUFDQSx1QkFBVywyQkFBWDtBQUNBLHFCQUFTLE9BQVQ7V0FKRyxFQUFMO1FBTUcsS0FBSyxLQUFMLENBQVcsUUFBWDtPQVBMLENBRE87OztTQUxVO0VBQWlCLGdCQUFNLFNBQU47O0FBQWpCLFNBQ1osWUFBWTtBQUNqQixZQUFVLGlCQUFVLElBQVY7O2tCQUZPIiwiZmlsZSI6IkRyb3Bkb3duLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IFJlYWN0LCB7UHJvcFR5cGVzfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyb3Bkb3duIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGVcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgYmFja2dyb3VuZDogJ3doaXRlJyxcbiAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpJyxcbiAgICAgICAgYm94U2hhZG93OiAnMCAycHggNHB4IHJnYmEoMCwwLDAsMC4yKScsXG4gICAgICAgIHBhZGRpbmc6ICc2cHggMCdcbiAgICAgIH19PlxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Ecm9wZG93bi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7Ozs7SUFFcUIsUTs7Ozs7Ozs7Ozs2QkFLVjtBQUNQLGFBQ0U7QUFBQTtRQUFBLEVBQUssT0FBTztBQUNWLHdCQUFZLE9BREY7QUFFVixvQkFBUSwwQkFGRTtBQUdWLHVCQUFXLDJCQUhEO0FBSVYscUJBQVM7QUFKQyxXQUFaO1FBTUcsS0FBSyxLQUFMLENBQVc7QUFOZCxPQURGO0FBVUQ7OztFQWhCbUMsZ0JBQU0sUzs7QUFBdkIsUSxDQUNaLFMsR0FBWTtBQUNqQixZQUFVLGlCQUFVO0FBREgsQztrQkFEQSxRIiwiZmlsZSI6IkRyb3Bkb3duLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IFJlYWN0LCB7UHJvcFR5cGVzfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyb3Bkb3duIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGVcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgYmFja2dyb3VuZDogJ3doaXRlJyxcbiAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpJyxcbiAgICAgICAgYm94U2hhZG93OiAnMCAycHggNHB4IHJnYmEoMCwwLDAsMC4yKScsXG4gICAgICAgIHBhZGRpbmc6ICc2cHggMCdcbiAgICAgIH19PlxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ==

@@ -46,2 +46,2 @@ 'use strict';

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldmVudHMvQ2hvc2VuRXZlbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7Ozs7SUFFcUI7OztBQUduQixXQUhtQixXQUduQixDQUFZLElBQVosRUFBMEIsVUFBMUIsRUFBK0M7d0NBSDVCLGFBRzRCOzs2RkFINUIsd0JBSVgsT0FEdUM7O0FBRTdDLFVBQUssVUFBTCxHQUFrQixVQUFsQixDQUY2Qzs7R0FBL0M7O1NBSG1CIiwiZmlsZSI6IkNob3NlbkV2ZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IE1lbnVFdmVudCBmcm9tICcuL01lbnVFdmVudCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENob3NlbkV2ZW50IGV4dGVuZHMgTWVudUV2ZW50IHtcbiAgYnlLZXlib2FyZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcih0eXBlOiBzdHJpbmcsIGJ5S2V5Ym9hcmQ6IGJvb2xlYW4pIHtcbiAgICBzdXBlcih0eXBlKTtcbiAgICB0aGlzLmJ5S2V5Ym9hcmQgPSBieUtleWJvYXJkO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldmVudHMvQ2hvc2VuRXZlbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7Ozs7SUFFcUIsVzs7O0FBR25CLHVCQUFZLElBQVosRUFBMEIsVUFBMUIsRUFBK0M7QUFBQTs7QUFBQSxxSEFDdkMsSUFEdUM7O0FBRTdDLFVBQUssVUFBTCxHQUFrQixVQUFsQjtBQUY2QztBQUc5Qzs7Ozs7a0JBTmtCLFciLCJmaWxlIjoiQ2hvc2VuRXZlbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgTWVudUV2ZW50IGZyb20gJy4vTWVudUV2ZW50JztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2hvc2VuRXZlbnQgZXh0ZW5kcyBNZW51RXZlbnQge1xuICBieUtleWJvYXJkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHR5cGU6IHN0cmluZywgYnlLZXlib2FyZDogYm9vbGVhbikge1xuICAgIHN1cGVyKHR5cGUpO1xuICAgIHRoaXMuYnlLZXlib2FyZCA9IGJ5S2V5Ym9hcmQ7XG4gIH1cbn1cbiJdfQ==

@@ -42,2 +42,2 @@ "use strict";

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldmVudHMvTWVudUV2ZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFcUI7QUFLbkIsV0FMbUIsU0FLbkIsQ0FBWSxJQUFaLEVBQTBCO3dDQUxQLFdBS087U0FIMUIsZUFBd0IsTUFHRTtTQUYxQixtQkFBNEIsTUFFRjs7QUFDeEIsU0FBSyxJQUFMLEdBQVksSUFBWixDQUR3QjtHQUExQjs7NkJBTG1COztzQ0FTRDtBQUNoQixXQUFLLFlBQUwsR0FBb0IsSUFBcEIsQ0FEZ0I7Ozs7cUNBSUQ7QUFDZixXQUFLLGdCQUFMLEdBQXdCLElBQXhCLENBRGU7OztTQWJFIiwiZmlsZSI6Ik1lbnVFdmVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1lbnVFdmVudCB7XG4gIHR5cGU6IHN0cmluZztcbiAgY2FuY2VsQnViYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGRlZmF1bHRQcmV2ZW50ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcih0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICB9XG5cbiAgc3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHRoaXMuY2FuY2VsQnViYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIHByZXZlbnREZWZhdWx0KCkge1xuICAgIHRoaXMuZGVmYXVsdFByZXZlbnRlZCA9IHRydWU7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldmVudHMvTWVudUV2ZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFcUIsUztBQUtuQixxQkFBWSxJQUFaLEVBQTBCO0FBQUE7QUFBQSxTQUgxQixZQUcwQixHQUhGLEtBR0U7QUFBQSxTQUYxQixnQkFFMEIsR0FGRSxLQUVGOztBQUN4QixTQUFLLElBQUwsR0FBWSxJQUFaO0FBQ0Q7Ozs7c0NBRWlCO0FBQ2hCLFdBQUssWUFBTCxHQUFvQixJQUFwQjtBQUNEOzs7cUNBRWdCO0FBQ2YsV0FBSyxnQkFBTCxHQUF3QixJQUF4QjtBQUNEOzs7OztrQkFma0IsUyIsImZpbGUiOiJNZW51RXZlbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZW51RXZlbnQge1xuICB0eXBlOiBzdHJpbmc7XG4gIGNhbmNlbEJ1YmJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBkZWZhdWx0UHJldmVudGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IodHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIHN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICB0aGlzLmNhbmNlbEJ1YmJsZSA9IHRydWU7XG4gIH1cblxuICBwcmV2ZW50RGVmYXVsdCgpIHtcbiAgICB0aGlzLmRlZmF1bHRQcmV2ZW50ZWQgPSB0cnVlO1xuICB9XG59XG4iXX0=

@@ -62,2 +62,2 @@ 'use strict';

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs2Q0FFUTs7Ozs7Ozs7OzZDQUNBOzs7Ozs7Ozs7c0RBQ0E7Ozs7Ozs7Ozs2Q0FDQTs7Ozs7Ozs7OytDQUNBOzs7Ozs7Ozs7Z0RBQ0EiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5leHBvcnQge2RlZmF1bHQgYXMgTWVudUxpc3R9IGZyb20gJy4vTWVudUxpc3QnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1lbnVJdGVtfSBmcm9tICcuL01lbnVJdGVtJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNZW51TGlzdEluc3BlY3Rvcn0gZnJvbSAnLi9NZW51TGlzdEluc3BlY3Rvcic7XG5leHBvcnQge2RlZmF1bHQgYXMgRHJvcGRvd259IGZyb20gJy4vRHJvcGRvd24nO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1lbnVCdXR0b259IGZyb20gJy4vTWVudUJ1dHRvbic7XG5leHBvcnQge2RlZmF1bHQgYXMgU3ViTWVudUl0ZW19IGZyb20gJy4vU3ViTWVudUl0ZW0nO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs2Q0FFUSxPOzs7Ozs7Ozs7NkNBQ0EsTzs7Ozs7Ozs7O3NEQUNBLE87Ozs7Ozs7Ozs2Q0FDQSxPOzs7Ozs7Ozs7K0NBQ0EsTzs7Ozs7Ozs7O2dEQUNBLE8iLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5leHBvcnQge2RlZmF1bHQgYXMgTWVudUxpc3R9IGZyb20gJy4vTWVudUxpc3QnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1lbnVJdGVtfSBmcm9tICcuL01lbnVJdGVtJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNZW51TGlzdEluc3BlY3Rvcn0gZnJvbSAnLi9NZW51TGlzdEluc3BlY3Rvcic7XG5leHBvcnQge2RlZmF1bHQgYXMgRHJvcGRvd259IGZyb20gJy4vRHJvcGRvd24nO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1lbnVCdXR0b259IGZyb20gJy4vTWVudUJ1dHRvbic7XG5leHBvcnQge2RlZmF1bHQgYXMgU3ViTWVudUl0ZW19IGZyb20gJy4vU3ViTWVudUl0ZW0nO1xuIl19

@@ -23,2 +23,2 @@ 'use strict';

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZnJvbUV2ZW50c0NhcHR1cmUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBU3dCOztBQVB4Qjs7Ozs7O0FBT2UsU0FBUyxpQkFBVCxDQUEyQixNQUEzQixFQUE0QyxTQUE1QyxFQUF1RTtBQUNwRixTQUFPLGdCQUFNLE1BQU4sQ0FBYSxtQkFBVztBQUM3QixXQUFPLGdCQUFQLENBQXdCLFNBQXhCLEVBQW1DLFFBQVEsSUFBUixFQUFjLElBQWpELEVBRDZCO0FBRTdCLFdBQU8sWUFBTTtBQUNYLGFBQU8sbUJBQVAsQ0FBMkIsU0FBM0IsRUFBc0MsUUFBUSxJQUFSLEVBQWMsSUFBcEQsRUFEVztLQUFOLENBRnNCO0dBQVgsQ0FBcEIsQ0FEb0Y7Q0FBdkUiLCJmaWxlIjoiZnJvbUV2ZW50c0NhcHR1cmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgS2VmaXIgZnJvbSAna2VmaXInO1xuXG50eXBlIEVtaXR0ZXIgPSB7XG4gIGFkZEV2ZW50TGlzdGVuZXI6IEZ1bmN0aW9uO1xuICByZW1vdmVFdmVudExpc3RlbmVyOiBGdW5jdGlvbjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZyb21FdmVudHNDYXB0dXJlKHRhcmdldDogRW1pdHRlciwgZXZlbnROYW1lOiBzdHJpbmcpOiBPYmplY3Qge1xuICByZXR1cm4gS2VmaXIuc3RyZWFtKGVtaXR0ZXIgPT4ge1xuICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZW1pdHRlci5lbWl0LCB0cnVlKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBlbWl0dGVyLmVtaXQsIHRydWUpO1xuICAgIH07XG4gIH0pO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZnJvbUV2ZW50c0NhcHR1cmUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBU3dCLGlCOztBQVB4Qjs7Ozs7O0FBT2UsU0FBUyxpQkFBVCxDQUEyQixNQUEzQixFQUE0QyxTQUE1QyxFQUF1RTtBQUNwRixTQUFPLGdCQUFNLE1BQU4sQ0FBYSxtQkFBVztBQUM3QixXQUFPLGdCQUFQLENBQXdCLFNBQXhCLEVBQW1DLFFBQVEsSUFBM0MsRUFBaUQsSUFBakQ7QUFDQSxXQUFPLFlBQU07QUFDWCxhQUFPLG1CQUFQLENBQTJCLFNBQTNCLEVBQXNDLFFBQVEsSUFBOUMsRUFBb0QsSUFBcEQ7QUFDRCxLQUZEO0FBR0QsR0FMTSxDQUFQO0FBTUQiLCJmaWxlIjoiZnJvbUV2ZW50c0NhcHR1cmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgS2VmaXIgZnJvbSAna2VmaXInO1xuXG50eXBlIEVtaXR0ZXIgPSB7XG4gIGFkZEV2ZW50TGlzdGVuZXI6IEZ1bmN0aW9uO1xuICByZW1vdmVFdmVudExpc3RlbmVyOiBGdW5jdGlvbjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZyb21FdmVudHNDYXB0dXJlKHRhcmdldDogRW1pdHRlciwgZXZlbnROYW1lOiBzdHJpbmcpOiBPYmplY3Qge1xuICByZXR1cm4gS2VmaXIuc3RyZWFtKGVtaXR0ZXIgPT4ge1xuICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZW1pdHRlci5lbWl0LCB0cnVlKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBlbWl0dGVyLmVtaXQsIHRydWUpO1xuICAgIH07XG4gIH0pO1xufVxuIl19

@@ -13,2 +13,2 @@ "use strict";

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcG9pbnRSZWN0RGlzdGFuY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBRXdCO0FBQVQsU0FBUyxpQkFBVCxDQUNiLEVBRGEsRUFDRCxFQURDLEVBQ1csRUFEWCxFQUN1QixFQUR2QixFQUNtQyxNQURuQyxFQUNtRCxPQURuRCxFQUVMO0FBQ1IsTUFBTSxLQUFLLEtBQUssR0FBTCxDQUFTLEtBQUssR0FBTCxDQUFTLEVBQVQsRUFBYSxLQUFHLE1BQUgsQ0FBdEIsRUFBa0MsRUFBbEMsQ0FBTCxDQURFO0FBRVIsTUFBTSxLQUFLLEtBQUssR0FBTCxDQUFTLEtBQUssR0FBTCxDQUFTLEVBQVQsRUFBYSxLQUFHLE9BQUgsQ0FBdEIsRUFBbUMsRUFBbkMsQ0FBTCxDQUZFO0FBR1IsU0FBTyxLQUFLLElBQUwsQ0FBVSxDQUFDLEtBQUcsRUFBSCxDQUFELElBQVMsS0FBRyxFQUFILENBQVQsR0FBa0IsQ0FBQyxLQUFHLEVBQUgsQ0FBRCxJQUFTLEtBQUcsRUFBSCxDQUFULENBQW5DLENBSFE7Q0FGSyIsImZpbGUiOiJwb2ludFJlY3REaXN0YW5jZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHBvaW50UmVjdERpc3RhbmNlKFxuICBweDogbnVtYmVyLCBweTogbnVtYmVyLCByeDogbnVtYmVyLCByeTogbnVtYmVyLCByd2lkdGg6IG51bWJlciwgcmhlaWdodDogbnVtYmVyXG4pOiBudW1iZXIge1xuICBjb25zdCBjeCA9IE1hdGgubWF4KE1hdGgubWluKHB4LCByeCtyd2lkdGgpLCByeCk7XG4gIGNvbnN0IGN5ID0gTWF0aC5tYXgoTWF0aC5taW4ocHksIHJ5K3JoZWlnaHQpLCByeSk7XG4gIHJldHVybiBNYXRoLnNxcnQoKHB4LWN4KSoocHgtY3gpICsgKHB5LWN5KSoocHktY3kpKTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcG9pbnRSZWN0RGlzdGFuY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBRXdCLGlCO0FBQVQsU0FBUyxpQkFBVCxDQUNiLEVBRGEsRUFDRCxFQURDLEVBQ1csRUFEWCxFQUN1QixFQUR2QixFQUNtQyxNQURuQyxFQUNtRCxPQURuRCxFQUVMO0FBQ1IsTUFBTSxLQUFLLEtBQUssR0FBTCxDQUFTLEtBQUssR0FBTCxDQUFTLEVBQVQsRUFBYSxLQUFHLE1BQWhCLENBQVQsRUFBa0MsRUFBbEMsQ0FBWDtBQUNBLE1BQU0sS0FBSyxLQUFLLEdBQUwsQ0FBUyxLQUFLLEdBQUwsQ0FBUyxFQUFULEVBQWEsS0FBRyxPQUFoQixDQUFULEVBQW1DLEVBQW5DLENBQVg7QUFDQSxTQUFPLEtBQUssSUFBTCxDQUFVLENBQUMsS0FBRyxFQUFKLEtBQVMsS0FBRyxFQUFaLElBQWtCLENBQUMsS0FBRyxFQUFKLEtBQVMsS0FBRyxFQUFaLENBQTVCLENBQVA7QUFDRCIsImZpbGUiOiJwb2ludFJlY3REaXN0YW5jZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHBvaW50UmVjdERpc3RhbmNlKFxuICBweDogbnVtYmVyLCBweTogbnVtYmVyLCByeDogbnVtYmVyLCByeTogbnVtYmVyLCByd2lkdGg6IG51bWJlciwgcmhlaWdodDogbnVtYmVyXG4pOiBudW1iZXIge1xuICBjb25zdCBjeCA9IE1hdGgubWF4KE1hdGgubWluKHB4LCByeCtyd2lkdGgpLCByeCk7XG4gIGNvbnN0IGN5ID0gTWF0aC5tYXgoTWF0aC5taW4ocHksIHJ5K3JoZWlnaHQpLCByeSk7XG4gIHJldHVybiBNYXRoLnNxcnQoKHB4LWN4KSoocHgtY3gpICsgKHB5LWN5KSoocHktY3kpKTtcbn1cbiJdfQ==

@@ -240,2 +240,2 @@ 'use strict';

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51QnV0dG9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7O0lBTXFCOzs7Ozs7Ozs7Ozs7Ozs4TkF1Qm5CLFFBQWU7QUFDYixjQUFRLEtBQVI7YUFNRixxQkFBMEIsWUFJMUIsWUFBcUI7Ozs7Ozs7Ozs7Ozs2QkFsQ0Y7OzJCQW9DWjtBQUNMLFVBQUksS0FBSyxLQUFMLENBQVcsTUFBWCxFQUFtQixPQUF2QjtBQUNBLFVBQUksS0FBSyxLQUFMLENBQVcsVUFBWCxFQUF1QixLQUFLLEtBQUwsQ0FBVyxVQUFYLEdBQTNCO0FBQ0EsV0FBSyxRQUFMLENBQWMsRUFBQyxRQUFRLElBQVIsRUFBZixFQUE4QixLQUFLLEtBQUwsQ0FBVyxTQUFYLENBQTlCLENBSEs7Ozs7NEJBTUM7QUFDTixVQUFJLENBQUMsS0FBSyxLQUFMLENBQVcsTUFBWCxFQUFtQixPQUF4QjtBQUNBLFVBQUksS0FBSyxLQUFMLENBQVcsV0FBWCxFQUF3QixLQUFLLEtBQUwsQ0FBVyxXQUFYLEdBQTVCO0FBQ0EsV0FBSyxRQUFMLENBQWMsRUFBQyxRQUFRLEtBQVIsRUFBZixFQUhNOzs7OzZCQU1DO0FBQ1AsVUFBSSxLQUFLLEtBQUwsQ0FBVyxNQUFYLEVBQW1CO0FBQ3JCLGFBQUssS0FBTCxHQURxQjtPQUF2QixNQUVPO0FBQ0wsYUFBSyxJQUFMLEdBREs7T0FGUDs7OztpQ0FPVztBQUNYLFdBQUssSUFBTCxDQUFVLFdBQVYsQ0FBc0IsVUFBdEIsR0FEVzs7OztrQ0FJQztBQUNaLFdBQUssS0FBTCxHQURZOzs7OzJDQUlTO0FBQ3JCLG1CQUFhLEtBQUssa0JBQUwsQ0FBYixDQURxQjs7Ozs2QkFJZDs7O21CQUtILEtBQUssS0FBTCxDQUxHO1VBRUwsMkJBRks7VUFFSyxtQkFGTDtVQUdMLHlDQUhLO1VBR1ksK0JBSFo7VUFJTCwyQkFKSztVQUlLLHFCQUpMO1VBTUEsU0FB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QUFVLE1BQVY7QUFDakIsZUFBYSxpQkFBVSxNQUFWOztBQUViLG1CQUFpQixpQkFBVSxNQUFWO0FBQ2pCLGNBQVksaUJBQVUsU0FBVixDQUFvQixDQUFDLGlCQUFVLE1BQVYsRUFBa0IsaUJBQVUsTUFBVixDQUF2QyxDQUFaOztBQUVBLFlBQVUsaUJBQVUsSUFBVjtBQUNWLFFBQU0saUJBQVUsT0FBVjtBQUNOLGNBQVksaUJBQVUsSUFBVjtBQUNaLGFBQVcsaUJBQVUsSUFBVjtBQUNYLGVBQWEsaUJBQVUsSUFBVjs7QUFoQkksV0FtQlosZUFBZTtBQUNwQixtQkFBaUIsRUFBQyxVQUFTLFFBQVQsRUFBbUIsUUFBTyxNQUFQLEVBQXJDOztrQkFwQmlCIiwiZmlsZSI6Ik1lbnVCdXR0b24uanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgUmVhY3QsIHtQcm9wVHlwZXN9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBGbG9hdEFuY2hvciBmcm9tICdyZWFjdC1mbG9hdC1hbmNob3InO1xuaW1wb3J0IE1lbnVMaXN0SW5zcGVjdG9yIGZyb20gJy4vTWVudUxpc3RJbnNwZWN0b3InO1xuXG50eXBlIFN0YXRlID0ge1xuICBvcGVuZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZW51QnV0dG9uIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9wZW5lZENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvcGVuZWRTdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIHBvc2l0aW9uT3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtZW51WkluZGV4OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG5cbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gICAgbWVudTogUHJvcFR5cGVzLmVsZW1lbnQsXG4gICAgb25XaWxsT3BlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25EaWRPcGVuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbldpbGxDbG9zZTogUHJvcFR5cGVzLmZ1bmNcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHBvc2l0aW9uT3B0aW9uczoge3Bvc2l0aW9uOidib3R0b20nLCBoQWxpZ246J2xlZnQnfVxuICB9O1xuXG4gIHN0YXRlOiBTdGF0ZSA9IHtcbiAgICBvcGVuZWQ6IGZhbHNlXG4gIH07XG5cbiAgLy8gU2FmYXJpIGFuZCBGaXJlZm94IG9uIE9TIFggZG9uJ3QgZm9jdXMgdGhlIGJ1dHRvbiBvbiBtb3VzZWRvd24sIHNvIG9uXG4gIC8vIG1vdXNlZG93biB3ZSBkbyBhIHF1aWNrIHNldFRpbWVvdXQgYW5kIGZvY3VzIGEgZHVtbXkgY2hpbGQgZWxlbWVudCBpZiB0aGVcbiAgLy8gYnV0dG9uIHdhc24ndCBmb2N1c2VkLlxuICBfZm9jdXNGaXhlclRpbWVvdXQ6IGFueSA9IG51bGw7XG5cbiAgLy8gU2V0IHRvIHRydWUgYWZ0ZXIgbW91c2Vkb3duIHVudGlsIHRoZSBmb2N1cyBldmVudCBoYXBwZW5zLiBXaGVuIGl0J3MgdHJ1ZSxcbiAgLy8gYmx1ciBldmVudHMgb24gdGhlIGR1bW15IGNoaWxkIGVsZW1lbnQgc2hvdWxkIG5vdCBjYXVzZSB0aGUgbWVudSB0byBjbG9zZS5cbiAgX2ZvY3VzaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgb3BlbigpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5vcGVuZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5wcm9wcy5vbldpbGxPcGVuKSB0aGlzLnByb3BzLm9uV2lsbE9wZW4oKTtcbiAgICB0aGlzLnNldFN0YXRlKHtvcGVuZWQ6IHRydWV9LCB0aGlzLnByb3BzLm9uRGlkT3Blbik7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICBpZiAoIXRoaXMuc3RhdGUub3BlbmVkKSByZXR1cm47XG4gICAgaWYgKHRoaXMucHJvcHMub25XaWxsQ2xvc2UpIHRoaXMucHJvcHMub25XaWxsQ2xvc2UoKTtcbiAgICB0aGlzLnNldFN0YXRlKHtvcGVuZWQ6IGZhbHNlfSk7XG4gIH1cblxuICB0b2dnbGUoKSB7XG4gICAgaWYgKHRoaXMuc3RhdGUub3BlbmVkKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIHJlcG9zaXRpb24oKSB7XG4gICAgdGhpcy5yZWZzLmZsb2F0QW5jaG9yLnJlcG9zaXRpb24oKTtcbiAgfVxuXG4gIF9pdGVtQ2hvc2VuKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9mb2N1c0ZpeGVyVGltZW91dCk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgY2hpbGRyZW4sIG1lbnUsXG4gICAgICBwb3NpdGlvbk9wdGlvbnMsIG1lbnVaSW5kZXgsXG4gICAgICBkaXNhYmxlZCwgdGl0bGVcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7b3BlbmVkfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBsZXQgc3R5bGUgPSB0aGlzLnByb3BzLnN0eWxlO1xuICAgIGxldCBjbGFzc05hbWUgPSB0aGlzLnByb3BzLmNsYXNzTmFtZTtcbiAgICBpZiAob3BlbmVkKSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5vcGVuZWRTdHlsZSkge1xuICAgICAgICBzdHlsZSA9IHsuLi5zdHlsZSwgLi4udGhpcy5wcm9wcy5vcGVuZWRTdHlsZX07XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wcm9wcy5vcGVuZWRDbGFzc05hbWUpIHtcbiAgICAgICAgY2xhc3NOYW1lID0gYCR7Y2xhc3NOYW1lfHwnJ30gJHt0aGlzLnByb3BzLm9wZW5lZENsYXNzTmFtZX1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8RmxvYXRBbmNob3JcbiAgICAgICAgcmVmPVwiZmxvYXRBbmNob3JcIlxuICAgICAgICBvcHRpb25zPXtwb3NpdGlvbk9wdGlvbnN9XG4gICAgICAgIHpJbmRleD17bWVudVpJbmRleH1cbiAgICAgICAgYW5jaG9yPXtcbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIHJlZj1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgICAgIG9uRm9jdXM9eygpPT57XG4gICAgICAgICAgICAgIHRoaXMuX2ZvY3VzaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9mb2N1c0ZpeGVyVGltZW91dCk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25CbHVyPXsoKT0+e1xuICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fZm9jdXNGaXhlclRpbWVvdXQpO1xuICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25Nb3VzZURvd249e2UgPT4ge1xuICAgICAgICAgICAgICBpZiAoZS5idXR0b24gIT09IDApIHJldHVybjtcbiAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2ZvY3VzRml4ZXJUaW1lb3V0KTtcbiAgICAgICAgICAgICAgaWYgKCFvcGVuZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9mb2N1c2luZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fZm9jdXNGaXhlclRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSB0aGlzLnJlZnMuYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVmcy5mb2N1c0hvbGRlci5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25LZXlQcmVzcz17ZT0+e1xuICAgICAgICAgICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgfHwgZS5rZXkgPT09ICcgJykge1xuICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbktleURvd249e2U9PntcbiAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnRXNjYXBlJyAmJiBvcGVuZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBhcmlhLWhhc3BvcHVwPXt0cnVlfVxuICAgICAgICAgICAgYXJpYS1leHBhbmRlZD17b3BlbmVkfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgcmVmPVwiZm9jdXNIb2xkZXJcIlxuICAgICAgICAgICAgICB0YWJJbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgYXJpYS1oaWRkZW49e3RydWV9XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJzAnLFxuICAgICAgICAgICAgICAgIG91dGxpbmU6ICdub25lJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogJzBweCcsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnMHB4JyxcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbidcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25CbHVyPXtlPT57XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2ZvY3VzaW5nKSB7XG4gICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgZmxvYXQ9e1xuICAgICAgICAgICFvcGVuZWQgPyBudWxsIDpcbiAgICAgICAgICAgIDxNZW51TGlzdEluc3BlY3RvciBvbkl0ZW1DaG9zZW49eygpID0+IHRoaXMuX2l0ZW1DaG9zZW4oKX0+XG4gICAgICAgICAgICAgIHttZW51fVxuICAgICAgICAgICAgPC9NZW51TGlzdEluc3BlY3Rvcj5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICApO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51QnV0dG9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7O0lBTXFCLFU7Ozs7Ozs7Ozs7Ozs7OzhOQXVCbkIsSyxHQUFlO0FBQ2IsY0FBUTtBQURLLEssUUFPZixrQixHQUEwQixJLFFBSTFCLFMsR0FBcUIsSzs7Ozs7Ozs7Ozs7Ozs7MkJBRWQ7QUFDTCxVQUFJLEtBQUssS0FBTCxDQUFXLE1BQWYsRUFBdUI7QUFDdkIsVUFBSSxLQUFLLEtBQUwsQ0FBVyxVQUFmLEVBQTJCLEtBQUssS0FBTCxDQUFXLFVBQVg7QUFDM0IsV0FBSyxRQUFMLENBQWMsRUFBQyxRQUFRLElBQVQsRUFBZCxFQUE4QixLQUFLLEtBQUwsQ0FBVyxTQUF6QztBQUNEOzs7NEJBRU87QUFDTixVQUFJLENBQUMsS0FBSyxLQUFMLENBQVcsTUFBaEIsRUFBd0I7QUFDeEIsVUFBSSxLQUFLLEtBQUwsQ0FBVyxXQUFmLEVBQTRCLEtBQUssS0FBTCxDQUFXLFdBQVg7QUFDNUIsV0FBSyxRQUFMLENBQWMsRUFBQyxRQUFRLEtBQVQsRUFBZDtBQUNEOzs7NkJBRVE7QUFDUCxVQUFJLEtBQUssS0FBTCxDQUFXLE1BQWYsRUFBdUI7QUFDckIsYUFBSyxLQUFMO0FBQ0QsT0FGRCxNQUVPO0FBQ0wsYUFBSyxJQUFMO0FBQ0Q7QUFDRjs7O2lDQUVZO0FBQ1gsV0FBSyxJQUFMLENBQVUsV0FBVixDQUFzQixVQUF0QjtBQUNEOzs7a0NBRWE7QUFDWixXQUFLLEtBQUw7QUFDRDs7OzJDQUVzQjtBQUNyQixtQkFBYSxLQUFLLGtCQUFsQjtBQUNEOzs7NkJBRVE7QUFBQTs7QUFBQSxtQkFLSCxLQUFLLEtBTEY7QUFBQSxVQUVMLFFBRkssVUFFTCxRQUZLO0FBQUEsVUFFSyxJQUZMLFVBRUssSUFGTDtBQUFBLFVBR0wsZUFISyxVQUdMLGVBSEs7QUFBQSxVQUdZLFVBSFosVUFHWSxVQUha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S2pCLG1CQUFpQixpQkFBVSxNQUxWO0FBTWpCLGVBQWEsaUJBQVUsTUFOTjs7QUFRakIsbUJBQWlCLGlCQUFVLE1BUlY7QUFTakIsY0FBWSxpQkFBVSxTQUFWLENBQW9CLENBQUMsaUJBQVUsTUFBWCxFQUFtQixpQkFBVSxNQUE3QixDQUFwQixDQVRLOztBQVdqQixZQUFVLGlCQUFVLElBWEg7QUFZakIsUUFBTSxpQkFBVSxPQVpDO0FBYWpCLGNBQVksaUJBQVUsSUFiTDtBQWNqQixhQUFXLGlCQUFVLElBZEo7QUFlakIsZUFBYSxpQkFBVTtBQWZOLEM7QUFEQSxVLENBbUJaLFksR0FBZTtBQUNwQixtQkFBaUIsRUFBQyxVQUFTLFFBQVYsRUFBb0IsUUFBTyxNQUEzQjtBQURHLEM7a0JBbkJILFUiLCJmaWxlIjoiTWVudUJ1dHRvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmltcG9ydCBSZWFjdCwge1Byb3BUeXBlc30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IEZsb2F0QW5jaG9yIGZyb20gJ3JlYWN0LWZsb2F0LWFuY2hvcic7XG5pbXBvcnQgTWVudUxpc3RJbnNwZWN0b3IgZnJvbSAnLi9NZW51TGlzdEluc3BlY3Rvcic7XG5cbnR5cGUgU3RhdGUgPSB7XG4gIG9wZW5lZDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1lbnVCdXR0b24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb3BlbmVkQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9wZW5lZFN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgcG9zaXRpb25PcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1lbnVaSW5kZXg6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5udW1iZXJdKSxcblxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgICBtZW51OiBQcm9wVHlwZXMuZWxlbWVudCxcbiAgICBvbldpbGxPcGVuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkRpZE9wZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uV2lsbENsb3NlOiBQcm9wVHlwZXMuZnVuY1xuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcG9zaXRpb25PcHRpb25zOiB7cG9zaXRpb246J2JvdHRvbScsIGhBbGlnbjonbGVmdCd9XG4gIH07XG5cbiAgc3RhdGU6IFN0YXRlID0ge1xuICAgIG9wZW5lZDogZmFsc2VcbiAgfTtcblxuICAvLyBTYWZhcmkgYW5kIEZpcmVmb3ggb24gT1MgWCBkb24ndCBmb2N1cyB0aGUgYnV0dG9uIG9uIG1vdXNlZG93biwgc28gb25cbiAgLy8gbW91c2Vkb3duIHdlIGRvIGEgcXVpY2sgc2V0VGltZW91dCBhbmQgZm9jdXMgYSBkdW1teSBjaGlsZCBlbGVtZW50IGlmIHRoZVxuICAvLyBidXR0b24gd2Fzbid0IGZvY3VzZWQuXG4gIF9mb2N1c0ZpeGVyVGltZW91dDogYW55ID0gbnVsbDtcblxuICAvLyBTZXQgdG8gdHJ1ZSBhZnRlciBtb3VzZWRvd24gdW50aWwgdGhlIGZvY3VzIGV2ZW50IGhhcHBlbnMuIFdoZW4gaXQncyB0cnVlLFxuICAvLyBibHVyIGV2ZW50cyBvbiB0aGUgZHVtbXkgY2hpbGQgZWxlbWVudCBzaG91bGQgbm90IGNhdXNlIHRoZSBtZW51IHRvIGNsb3NlLlxuICBfZm9jdXNpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBvcGVuKCkge1xuICAgIGlmICh0aGlzLnN0YXRlLm9wZW5lZCkgcmV0dXJuO1xuICAgIGlmICh0aGlzLnByb3BzLm9uV2lsbE9wZW4pIHRoaXMucHJvcHMub25XaWxsT3BlbigpO1xuICAgIHRoaXMuc2V0U3RhdGUoe29wZW5lZDogdHJ1ZX0sIHRoaXMucHJvcHMub25EaWRPcGVuKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGlmICghdGhpcy5zdGF0ZS5vcGVuZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5wcm9wcy5vbldpbGxDbG9zZSkgdGhpcy5wcm9wcy5vbldpbGxDbG9zZSgpO1xuICAgIHRoaXMuc2V0U3RhdGUoe29wZW5lZDogZmFsc2V9KTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5vcGVuZWQpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgcmVwb3NpdGlvbigpIHtcbiAgICB0aGlzLnJlZnMuZmxvYXRBbmNob3IucmVwb3NpdGlvbigpO1xuICB9XG5cbiAgX2l0ZW1DaG9zZW4oKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2ZvY3VzRml4ZXJUaW1lb3V0KTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjaGlsZHJlbiwgbWVudSxcbiAgICAgIHBvc2l0aW9uT3B0aW9ucywgbWVudVpJbmRleCxcbiAgICAgIGRpc2FibGVkLCB0aXRsZVxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHtvcGVuZWR9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGxldCBzdHlsZSA9IHRoaXMucHJvcHMuc3R5bGU7XG4gICAgbGV0IGNsYXNzTmFtZSA9IHRoaXMucHJvcHMuY2xhc3NOYW1lO1xuICAgIGlmIChvcGVuZWQpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLm9wZW5lZFN0eWxlKSB7XG4gICAgICAgIHN0eWxlID0gey4uLnN0eWxlLCAuLi50aGlzLnByb3BzLm9wZW5lZFN0eWxlfTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLm9wZW5lZENsYXNzTmFtZSkge1xuICAgICAgICBjbGFzc05hbWUgPSBgJHtjbGFzc05hbWV8fCcnfSAke3RoaXMucHJvcHMub3BlbmVkQ2xhc3NOYW1lfWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxGbG9hdEFuY2hvclxuICAgICAgICByZWY9XCJmbG9hdEFuY2hvclwiXG4gICAgICAgIG9wdGlvbnM9e3Bvc2l0aW9uT3B0aW9uc31cbiAgICAgICAgekluZGV4PXttZW51WkluZGV4fVxuICAgICAgICBhbmNob3I9e1xuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgcmVmPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgb25Gb2N1cz17KCk9PntcbiAgICAgICAgICAgICAgdGhpcy5fZm9jdXNpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2ZvY3VzRml4ZXJUaW1lb3V0KTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkJsdXI9eygpPT57XG4gICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9mb2N1c0ZpeGVyVGltZW91dCk7XG4gICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17ZSA9PiB7XG4gICAgICAgICAgICAgIGlmIChlLmJ1dHRvbiAhPT0gMCkgcmV0dXJuO1xuICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fZm9jdXNGaXhlclRpbWVvdXQpO1xuICAgICAgICAgICAgICBpZiAoIW9wZW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLl9mb2N1c0ZpeGVyVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgIT09IHRoaXMucmVmcy5idXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZzLmZvY3VzSG9sZGVyLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbktleVByZXNzPXtlPT57XG4gICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyB8fCBlLmtleSA9PT0gJyAnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uS2V5RG93bj17ZT0+e1xuICAgICAgICAgICAgICBpZiAoZS5rZXkgPT09ICdFc2NhcGUnICYmIG9wZW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9e3RydWV9XG4gICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXtvcGVuZWR9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICB0aXRsZT17dGl0bGV9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICByZWY9XCJmb2N1c0hvbGRlclwiXG4gICAgICAgICAgICAgIHRhYkluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICBhcmlhLWhpZGRlbj17dHJ1ZX1cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAnMCcsXG4gICAgICAgICAgICAgICAgb3V0bGluZTogJ25vbmUnLFxuICAgICAgICAgICAgICAgIHdpZHRoOiAnMHB4JyxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcwcHgnLFxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJ1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvbkJsdXI9e2U9PntcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fZm9jdXNpbmcpIHtcbiAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgICBmbG9hdD17XG4gICAgICAgICAgIW9wZW5lZCA/IG51bGwgOlxuICAgICAgICAgICAgPE1lbnVMaXN0SW5zcGVjdG9yIG9uSXRlbUNob3Nlbj17KCkgPT4gdGhpcy5faXRlbUNob3NlbigpfT5cbiAgICAgICAgICAgICAge21lbnV9XG4gICAgICAgICAgICA8L01lbnVMaXN0SW5zcGVjdG9yPlxuICAgICAgICB9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbn1cbiJdfQ==

@@ -59,2 +59,7 @@ 'use strict';

(0, _createClass3.default)(MenuItem, [{
key: 'hasHighlight',
value: function hasHighlight() {
return this.state.highlighted;
}
}, {
key: 'takeKeyboard',

@@ -218,2 +223,2 @@ value: function takeKeyboard() {

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,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InNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmltcG9ydCBSZWFjdCwge1Byb3BUeXBlc30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtmaW5kRE9NTm9kZX0gZnJvbSAncmVhY3QtZG9tJztcblxuaW1wb3J0IHR5cGUgTWVudUV2ZW50IGZyb20gJy4vZXZlbnRzL01lbnVFdmVudCc7XG5pbXBvcnQgdHlwZSB7TWVudUxpc3RDb250ZXh0LCBNZW51TGlzdEhhbmRsZX0gZnJvbSAnLi9NZW51TGlzdCc7XG5pbXBvcnQgdHlwZSB7RGlyZWN0aW9uLCBSZWN0fSBmcm9tICcuL3R5cGVzJztcblxudHlwZSBTdGF0ZSA9IHtcbiAgaGlnaGxpZ2h0ZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBQcm9wcyA9IHtcbiAgb25JdGVtQ2hvc2VuPzogP0Z1bmN0aW9uO1xuICBvbkhpZ2hsaWdodENoYW5nZT86ID9GdW5jdGlvbjtcbiAgb25MZWZ0UHVzaGVkPzogP0Z1bmN0aW9uO1xuICBvblJpZ2h0UHVzaGVkPzogP0Z1bmN0aW9uO1xuXG4gIGNsYXNzTmFtZT86ID9zdHJpbmc7XG4gIHN0eWxlPzogP09iamVjdDtcbiAgaGlnaGxpZ2h0ZWRDbGFzc05hbWU/OiA/c3RyaW5nO1xuICBoaWdobGlnaHRlZFN0eWxlPzogP09iamVjdDtcblxuICBpbmRleD86ID9udW1iZXI7XG4gIG9uTW91c2VMZWF2ZT86ID9GdW5jdGlvbjtcblxuICBjaGlsZHJlbjogYW55O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWVudUl0ZW0gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBfbWVudUxpc3RIYW5kbGU6IE1lbnVMaXN0SGFuZGxlO1xuICBzdGF0ZTogU3RhdGUgPSB7XG4gICAgaGlnaGxpZ2h0ZWQ6IGZhbHNlXG4gIH07XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgb25JdGVtQ2hvc2VuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkhpZ2hsaWdodENoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25MZWZ0UHVzaGVkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvblJpZ2h0UHVzaGVkOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoaWdobGlnaHRlZENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBoaWdobGlnaHRlZFN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgaW5kZXg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25Nb3VzZUxlYXZlOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcblxuICAgICdhcmlhLWhhc3BvcHVwJzogUHJvcFR5cGVzLmJvb2wsXG4gICAgJ2FyaWEtZXhwYW5kZWQnOiBQcm9wVHlwZXMuYm9vbFxuICB9O1xuXG4gIHN0YXRpYyBjb250ZXh0VHlwZXMgPSB7XG4gICAgbWVudUxpc3Q6IFJlYWN0LlByb3BUeXBlcy5vYmplY3RcbiAgfTtcblxuICB0YWtlS2V5Ym9hcmQoKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUudGFrZUtleWJvYXJkKCk7XG4gIH1cblxuICByZWxlYXNlS2V5Ym9hcmQoKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUucmVsZWFzZUtleWJvYXJkKCk7XG4gIH1cblxuICBsb2NrSGlnaGxpZ2h0KCkge1xuICAgIHRoaXMuX21lbnVMaXN0SGFuZGxlLmxvY2tIaWdobGlnaHQoKTtcbiAgfVxuXG4gIHVubG9ja0hpZ2hsaWdodCgpIHtcbiAgICB0aGlzLl9tZW51TGlzdEhhbmRsZS51bmxvY2tIaWdobGlnaHQoKTtcbiAgfVxuXG4gIC8vIGJ5S2V5Ym9hcmQgZm9yY2VzIGZvY3VzIGltbWVkaWF0ZWx5IGFuZCBzY3JvbGxzIHRoZSBpdGVtIGludG8gdmlldy5cbiAgLy8gV2l0aCBpdCBmYWxzZSwgdGhlIGhpZ2hsaWdodCBtaWdodCBiZSBkZWxheWVkIGRlcGVuZGluZyBvbiBtb3VzZSBtb3ZlbWVudFxuICAvLyBhbmQgd29uJ3QgY2F1c2UgYW55dGhpbmcgdG8gc2Nyb2xsLlxuICBoaWdobGlnaHQoYnlLZXlib2FyZDogYm9vbGVhbj10cnVlKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUuaGlnaGxpZ2h0KGJ5S2V5Ym9hcmQpO1xuICB9XG5cbiAgdW5oaWdobGlnaHQoKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUudW5oaWdobGlnaHQoKTtcbiAgfVxuXG4gIG1vdmVDdXJzb3IoZGlyZWN0aW9uOiBEaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QpIHtcbiAgICB0aGlzLl9tZW51TGlzdEhhbmRsZS5tb3ZlQ3Vyc29yKGRpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMuX21lbnVMaXN0SGFuZGxlID0gKHRoaXMuY29udGV4dC5tZW51TGlzdDpNZW51TGlzdENvbnRleHQpLnJlZ2lzdGVySXRlbSh0aGlzLnByb3BzLCB7XG4gICAgICBub3RpZnlIaWdobGlnaHRlZDogKGhpZ2hsaWdodGVkOiBib29sZWFuLCBieUtleWJvYXJkOiA/Ym9vbGVhbiwgZGlyZWN0aW9uOiA/RGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSA9PiB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe2hpZ2hsaWdodGVkfSwgKCkgPT4ge1xuICAgICAgICAgIGlmIChoaWdobGlnaHRlZCAmJiBieUtleWJvYXJkKSB7XG4gICAgICAgICAgICBjb25zdCBlbCA9IGZpbmRET01Ob2RlKHRoaXMpO1xuICAgICAgICAgICAgaWYgKGVsLnNjcm9sbEludG9WaWV3SWZOZWVkZWQpIHtcbiAgICAgICAgICAgICAgZWwuc2Nyb2xsSW50b1ZpZXdJZk5lZWRlZCgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChlbC5zY3JvbGxJbnRvVmlldykge1xuICAgICAgICAgICAgICBlbC5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9uSGlnaGxpZ2h0Q2hhbmdlKSB7XG4gICAgICAgICAgdGhpcy5wcm9wcy5vbkhpZ2hsaWdodENoYW5nZShoaWdobGlnaHRlZCwge2J5S2V5Ym9hcmQsIHByZXZDdXJzb3JMb2NhdGlvbiwgZGlyZWN0aW9ufSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBub3RpZnlFdmVudDogKGV2ZW50OiBNZW51RXZlbnQpID0+IHtcbiAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2Nob3Nlbic6XG4gICAgICAgICAgaWYgKHRoaXMucHJvcHMub25JdGVtQ2hvc2VuKSB0aGlzLnByb3BzLm9uSXRlbUNob3NlbihldmVudCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uTGVmdFB1c2hlZCkgdGhpcy5wcm9wcy5vbkxlZnRQdXNoZWQoZXZlbnQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgaWYgKHRoaXMucHJvcHMub25SaWdodFB1c2hlZCkgdGhpcy5wcm9wcy5vblJpZ2h0UHVzaGVkKGV2ZW50KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIGZpbmRET01Ob2RlKHRoaXMpKTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMuX21lbnVMaXN0SGFuZGxlLnVucmVnaXN0ZXIoKTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV3UHJvcHM6IFByb3BzKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUudXBkYXRlUHJvcHMobmV3UHJvcHMpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjaGlsZHJlbiwgb25Nb3VzZUxlYXZlfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qge2hpZ2hsaWdodGVkfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBsZXQgc3R5bGUgPSB0aGlzLnByb3BzLnN0eWxlO1xuICAgIGxldCBjbGFzc05hbWUgPSB0aGlzLnByb3BzLmNsYXNzTmFtZTtcbiAgICBpZiAoaGlnaGxpZ2h0ZWQpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLmhpZ2hsaWdodGVkU3R5bGUpIHtcbiAgICAgICAgc3R5bGUgPSB7Li4uc3R5bGUsIC4uLnRoaXMucHJvcHMuaGlnaGxpZ2h0ZWRTdHlsZX07XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wcm9wcy5oaWdobGlnaHRlZENsYXNzTmFtZSkge1xuICAgICAgICBjbGFzc05hbWUgPSBgJHtjbGFzc05hbWV8fCcnfSAke3RoaXMucHJvcHMuaGlnaGxpZ2h0ZWRDbGFzc05hbWV9YDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICBvbkNsaWNrPXsoKT0+dGhpcy5fbWVudUxpc3RIYW5kbGUuaXRlbUNob3NlbigpfVxuICAgICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHRoaXMuaGlnaGxpZ2h0KGZhbHNlKX1cbiAgICAgICAgb25Nb3VzZUxlYXZlPXtvbk1vdXNlTGVhdmUgfHwgKCgpID0+IHRoaXMudW5oaWdobGlnaHQoKSl9XG4gICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgIGFyaWEtaGFzcG9wdXA9e3RoaXMucHJvcHNbJ2FyaWEtaGFzcG9wdXAnXX1cbiAgICAgICAgYXJpYS1leHBhbmRlZD17dGhpcy5wcm9wc1snYXJpYS1leHBhbmRlZCddfVxuICAgICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,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eUJaLFksR0FBZTtBQUNwQixZQUFVLGdCQUFNLFNBQU4sQ0FBZ0I7QUFETixDO2tCQXpCSCxRIiwiZmlsZSI6Ik1lbnVJdGVtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IFJlYWN0LCB7UHJvcFR5cGVzfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2ZpbmRET01Ob2RlfSBmcm9tICdyZWFjdC1kb20nO1xuXG5pbXBvcnQgdHlwZSBNZW51RXZlbnQgZnJvbSAnLi9ldmVudHMvTWVudUV2ZW50JztcbmltcG9ydCB0eXBlIHtNZW51TGlzdENvbnRleHQsIE1lbnVMaXN0SGFuZGxlfSBmcm9tICcuL01lbnVMaXN0JztcbmltcG9ydCB0eXBlIHtEaXJlY3Rpb24sIFJlY3R9IGZyb20gJy4vdHlwZXMnO1xuXG50eXBlIFN0YXRlID0ge1xuICBoaWdobGlnaHRlZDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFByb3BzID0ge1xuICBvbkl0ZW1DaG9zZW4/OiA/RnVuY3Rpb247XG4gIG9uSGlnaGxpZ2h0Q2hhbmdlPzogP0Z1bmN0aW9uO1xuICBvbkxlZnRQdXNoZWQ/OiA/RnVuY3Rpb247XG4gIG9uUmlnaHRQdXNoZWQ/OiA/RnVuY3Rpb247XG5cbiAgY2xhc3NOYW1lPzogP3N0cmluZztcbiAgc3R5bGU/OiA/T2JqZWN0O1xuICBoaWdobGlnaHRlZENsYXNzTmFtZT86ID9zdHJpbmc7XG4gIGhpZ2hsaWdodGVkU3R5bGU/OiA/T2JqZWN0O1xuXG4gIGluZGV4PzogP251bWJlcjtcbiAgb25Nb3VzZUxlYXZlPzogP0Z1bmN0aW9uO1xuXG4gIGNoaWxkcmVuOiBhbnk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZW51SXRlbSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIF9tZW51TGlzdEhhbmRsZTogTWVudUxpc3RIYW5kbGU7XG4gIHN0YXRlOiBTdGF0ZSA9IHtcbiAgICBoaWdobGlnaHRlZDogZmFsc2VcbiAgfTtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBvbkl0ZW1DaG9zZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uSGlnaGxpZ2h0Q2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkxlZnRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uUmlnaHRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGhpZ2hsaWdodGVkQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGhpZ2hsaWdodGVkU3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICBpbmRleDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBvbk1vdXNlTGVhdmU6IFByb3BUeXBlcy5mdW5jLFxuXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuXG4gICAgJ2FyaWEtaGFzcG9wdXAnOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAnYXJpYS1leHBhbmRlZCc6IFByb3BUeXBlcy5ib29sXG4gIH07XG5cbiAgc3RhdGljIGNvbnRleHRUeXBlcyA9IHtcbiAgICBtZW51TGlzdDogUmVhY3QuUHJvcFR5cGVzLm9iamVjdFxuICB9O1xuXG4gIGhhc0hpZ2hsaWdodCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5oaWdobGlnaHRlZDtcbiAgfVxuXG4gIHRha2VLZXlib2FyZCgpIHtcbiAgICB0aGlzLl9tZW51TGlzdEhhbmRsZS50YWtlS2V5Ym9hcmQoKTtcbiAgfVxuXG4gIHJlbGVhc2VLZXlib2FyZCgpIHtcbiAgICB0aGlzLl9tZW51TGlzdEhhbmRsZS5yZWxlYXNlS2V5Ym9hcmQoKTtcbiAgfVxuXG4gIGxvY2tIaWdobGlnaHQoKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUubG9ja0hpZ2hsaWdodCgpO1xuICB9XG5cbiAgdW5sb2NrSGlnaGxpZ2h0KCkge1xuICAgIHRoaXMuX21lbnVMaXN0SGFuZGxlLnVubG9ja0hpZ2hsaWdodCgpO1xuICB9XG5cbiAgLy8gYnlLZXlib2FyZCBmb3JjZXMgZm9jdXMgaW1tZWRpYXRlbHkgYW5kIHNjcm9sbHMgdGhlIGl0ZW0gaW50byB2aWV3LlxuICAvLyBXaXRoIGl0IGZhbHNlLCB0aGUgaGlnaGxpZ2h0IG1pZ2h0IGJlIGRlbGF5ZWQgZGVwZW5kaW5nIG9uIG1vdXNlIG1vdmVtZW50XG4gIC8vIGFuZCB3b24ndCBjYXVzZSBhbnl0aGluZyB0byBzY3JvbGwuXG4gIGhpZ2hsaWdodChieUtleWJvYXJkOiBib29sZWFuPXRydWUpIHtcbiAgICB0aGlzLl9tZW51TGlzdEhhbmRsZS5oaWdobGlnaHQoYnlLZXlib2FyZCk7XG4gIH1cblxuICB1bmhpZ2hsaWdodCgpIHtcbiAgICB0aGlzLl9tZW51TGlzdEhhbmRsZS51bmhpZ2hsaWdodCgpO1xuICB9XG5cbiAgbW92ZUN1cnNvcihkaXJlY3Rpb246IERpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdCkge1xuICAgIHRoaXMuX21lbnVMaXN0SGFuZGxlLm1vdmVDdXJzb3IoZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUgPSAodGhpcy5jb250ZXh0Lm1lbnVMaXN0Ok1lbnVMaXN0Q29udGV4dCkucmVnaXN0ZXJJdGVtKHRoaXMucHJvcHMsIHtcbiAgICAgIG5vdGlmeUhpZ2hsaWdodGVkOiAoaGlnaGxpZ2h0ZWQ6IGJvb2xlYW4sIGJ5S2V5Ym9hcmQ6ID9ib29sZWFuLCBkaXJlY3Rpb246ID9EaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7aGlnaGxpZ2h0ZWR9LCAoKSA9PiB7XG4gICAgICAgICAgaWYgKGhpZ2hsaWdodGVkICYmIGJ5S2V5Ym9hcmQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsID0gZmluZERPTU5vZGUodGhpcyk7XG4gICAgICAgICAgICBpZiAoZWwuc2Nyb2xsSW50b1ZpZXdJZk5lZWRlZCkge1xuICAgICAgICAgICAgICBlbC5zY3JvbGxJbnRvVmlld0lmTmVlZGVkKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVsLnNjcm9sbEludG9WaWV3KSB7XG4gICAgICAgICAgICAgIGVsLnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25IaWdobGlnaHRDaGFuZ2UpIHtcbiAgICAgICAgICB0aGlzLnByb3BzLm9uSGlnaGxpZ2h0Q2hhbmdlKGhpZ2hsaWdodGVkLCB7YnlLZXlib2FyZCwgcHJldkN1cnNvckxvY2F0aW9uLCBkaXJlY3Rpb259KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG5vdGlmeUV2ZW50OiAoZXZlbnQ6IE1lbnVFdmVudCkgPT4ge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgICAgY2FzZSAnY2hvc2VuJzpcbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkl0ZW1DaG9zZW4pIHRoaXMucHJvcHMub25JdGVtQ2hvc2VuKGV2ZW50KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgaWYgKHRoaXMucHJvcHMub25MZWZ0UHVzaGVkKSB0aGlzLnByb3BzLm9uTGVmdFB1c2hlZChldmVudCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblJpZ2h0UHVzaGVkKSB0aGlzLnByb3BzLm9uUmlnaHRQdXNoZWQoZXZlbnQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgZmluZERPTU5vZGUodGhpcykpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUudW5yZWdpc3RlcigpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXdQcm9wczogUHJvcHMpIHtcbiAgICB0aGlzLl9tZW51TGlzdEhhbmRsZS51cGRhdGVQcm9wcyhuZXdQcm9wcyk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NoaWxkcmVuLCBvbk1vdXNlTGVhdmV9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7aGlnaGxpZ2h0ZWR9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGxldCBzdHlsZSA9IHRoaXMucHJvcHMuc3R5bGU7XG4gICAgbGV0IGNsYXNzTmFtZSA9IHRoaXMucHJvcHMuY2xhc3NOYW1lO1xuICAgIGlmIChoaWdobGlnaHRlZCkge1xuICAgICAgaWYgKHRoaXMucHJvcHMuaGlnaGxpZ2h0ZWRTdHlsZSkge1xuICAgICAgICBzdHlsZSA9IHsuLi5zdHlsZSwgLi4udGhpcy5wcm9wcy5oaWdobGlnaHRlZFN0eWxlfTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLmhpZ2hsaWdodGVkQ2xhc3NOYW1lKSB7XG4gICAgICAgIGNsYXNzTmFtZSA9IGAke2NsYXNzTmFtZXx8Jyd9ICR7dGhpcy5wcm9wcy5oaWdobGlnaHRlZENsYXNzTmFtZX1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgIG9uQ2xpY2s9eygpPT50aGlzLl9tZW51TGlzdEhhbmRsZS5pdGVtQ2hvc2VuKCl9XG4gICAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gdGhpcy5oaWdobGlnaHQoZmFsc2UpfVxuICAgICAgICBvbk1vdXNlTGVhdmU9e29uTW91c2VMZWF2ZSB8fCAoKCkgPT4gdGhpcy51bmhpZ2hsaWdodCgpKX1cbiAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgYXJpYS1oYXNwb3B1cD17dGhpcy5wcm9wc1snYXJpYS1oYXNwb3B1cCddfVxuICAgICAgICBhcmlhLWV4cGFuZGVkPXt0aGlzLnByb3BzWydhcmlhLWV4cGFuZGVkJ119XG4gICAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuIl19

@@ -85,2 +85,5 @@ 'use strict';

// The natural highlight is where the highlight would be if no lock is active.
(0, _createClass3.default)(MenuList, [{

@@ -321,3 +324,3 @@ key: '_getVisibleHighlightedIndex',

value: function _key(event) {
if (this._keyboardTakenByIndex != null) {
if (this._keyboardTakenByIndex != null || this._listItems.length === 0) {
return;

@@ -337,13 +340,19 @@ }

//enter
mEvent = new _ChosenEvent2.default('chosen', true);
event.preventDefault();
event.stopPropagation();
if (visibleHighlightedIndex != null) {
mEvent = new _ChosenEvent2.default('chosen', true);
event.preventDefault();
event.stopPropagation();
}
break;
case 37:
//left
mEvent = new _MenuEvent2.default('left');
if (visibleHighlightedIndex != null) {
mEvent = new _MenuEvent2.default('left');
}
break;
case 39:
//right
mEvent = new _MenuEvent2.default('right');
if (visibleHighlightedIndex != null) {
mEvent = new _MenuEvent2.default('right');
}
break;

@@ -394,2 +403,7 @@ case 38:

}, {
key: 'hasHighlight',
value: function hasHighlight() {
return this._getVisibleHighlightedIndex() != null;
}
}, {
key: 'render',

@@ -426,2 +440,2 @@ value: function render() {

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,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O0FBQWpCLFNBQ1osWUFBWTtBQUNqQixnQkFBYyxpQkFBVSxJQUFWO0FBQ2QsZ0JBQWMsaUJBQVUsSUFBVjtBQUNkLGlCQUFlLGlCQUFVLElBQVY7QUFDZixZQUFVLGlCQUFVLElBQVY7O0FBTE8sU0F1Qlosb0JBQW9CO0FBQ3pCLFlBQVUsZ0JBQU0sU0FBTixDQUFnQixNQUFoQjs7QUF4Qk8sU0EyQlosZUFBZTtBQUNwQixxQkFBbUIsZ0JBQU0sU0FBTixDQUFnQixNQUFoQjs7a0JBNUJGIiwiZmlsZSI6Ik1lbnVMaXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IFJlYWN0LCB7UHJvcFR5cGVzfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2ZpbmRET01Ob2RlfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IEtlZmlyIGZyb20gJ2tlZmlyJztcbmltcG9ydCBrZWZpclN0b3BwZXIgZnJvbSAna2VmaXItc3RvcHBlcic7XG5pbXBvcnQgZmluZEluZGV4IGZyb20gJ2FycmF5LWZpbmQtaW5kZXgnO1xuaW1wb3J0IGZyb21FdmVudHNDYXB0dXJlIGZyb20gJy4vbGliL2Zyb21FdmVudHNDYXB0dXJlJztcblxuaW1wb3J0IE1lbnVFdmVudCBmcm9tICcuL2V2ZW50cy9NZW51RXZlbnQnO1xuaW1wb3J0IENob3NlbkV2ZW50IGZyb20gJy4vZXZlbnRzL0Nob3NlbkV2ZW50JztcbmltcG9ydCB0eXBlIHtQcm9wcyBhcyBNZW51SXRlbVByb3BzfSBmcm9tICcuL01lbnVJdGVtJztcbmltcG9ydCB0eXBlIHtNZW51TGlzdEluc3BlY3RvckNvbnRleHR9IGZyb20gJy4vTWVudUxpc3RJbnNwZWN0b3InO1xuaW1wb3J0IHR5cGUge0RpcmVjdGlvbiwgUmVjdH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIFRoaXMgdHlwZSBvZiBvYmplY3QgaXMgZ2l2ZW4gdG8gYSBNZW51SXRlbSB0byB0YWxrIHRvIHRoZSBNZW51TGlzdC5cbmV4cG9ydCB0eXBlIE1lbnVMaXN0SGFuZGxlID0ge1xuICBoaWdobGlnaHQoYnlLZXlib2FyZDogYm9vbGVhbik6IHZvaWQ7XG4gIHVuaGlnaGxpZ2h0KCk6IHZvaWQ7XG4gIG1vdmVDdXJzb3IoZGlyZWN0aW9uOiBEaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QpOiB2b2lkO1xuICBpdGVtQ2hvc2VuKCk6IHZvaWQ7XG4gIHRha2VLZXlib2FyZCgpOiB2b2lkO1xuICByZWxlYXNlS2V5Ym9hcmQoKTogdm9pZDtcbiAgbG9ja0hpZ2hsaWdodCgpOiB2b2lkO1xuICB1bmxvY2tIaWdobGlnaHQoKTogdm9pZDtcbiAgdXBkYXRlUHJvcHMocHJvcHM6IE1lbnVJdGVtUHJvcHMpOiB2b2lkO1xuICB1bnJlZ2lzdGVyKCk6IHZvaWQ7XG59O1xuXG4vLyBUaGlzIHR5cGUgb2Ygb2JqZWN0IGlzIGdpdmVuIHRvIGEgTWVudUxpc3QgdG8gdGFsayB0byBhIE1lbnVJdGVtLlxuZXhwb3J0IHR5cGUgTWVudUl0ZW1Db250cm9sID0ge1xuICBub3RpZnlIaWdobGlnaHRlZChcbiAgICBoaWdobGlnaHRlZDogYm9vbGVhbixcbiAgICBieUtleWJvYXJkOiA/Ym9vbGVhbixcbiAgICBkaXJlY3Rpb246ID9EaXJlY3Rpb24sXG4gICAgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdFxuICApOiB2b2lkO1xuICBub3RpZnlFdmVudChldmVudDogTWVudUV2ZW50KTogdm9pZDtcbn07XG5cbi8vIFRoaXMgaXMgdGhlIHR5cGUgb2YgdGhlIG9iamVjdCB0aGF0IE1lbnVMaXN0IGdpdmVzIGFzIGNvbnRleHQgdG8gaXRzXG4vLyBkZXNjZW5kYW50cy5cbmV4cG9ydCB0eXBlIE1lbnVMaXN0Q29udGV4dCA9IHtcbiAgcmVnaXN0ZXJJdGVtKFxuICAgIHByb3BzOiBNZW51SXRlbVByb3BzLFxuICAgIGNvbnRyb2w6IE1lbnVJdGVtQ29udHJvbCxcbiAgICBlbDogSFRNTEVsZW1lbnRcbiAgKTogTWVudUxpc3RIYW5kbGU7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZW51TGlzdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgb25JdGVtQ2hvc2VuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkxlZnRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uUmlnaHRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZVxuICB9O1xuXG4gIF9zdG9wcGVyOiBPYmplY3QgPSBrZWZpclN0b3BwZXIoKTtcbiAgX2xpc3RJdGVtczogQXJyYXk8e1xuICAgIHByb3BzOiBNZW51SXRlbVByb3BzO1xuICAgIGNvbnRyb2w6IE1lbnVJdGVtQ29udHJvbDtcbiAgfT4gPSBbXTtcblxuICBfbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXg6ID9udW1iZXI7XG4gIF9sb2NrZWRIaWdobGlnaHRlZEluZGV4OiA/bnVtYmVyO1xuICBfa2V5Ym9hcmRUYWtlbkJ5SW5kZXg6ID9udW1iZXI7XG5cbiAgX2dldFZpc2libGVIaWdobGlnaHRlZEluZGV4KCk6ID9udW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgP1xuICAgICAgdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCA6IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4O1xuICB9XG5cbiAgc3RhdGljIGNoaWxkQ29udGV4dFR5cGVzID0ge1xuICAgIG1lbnVMaXN0OiBSZWFjdC5Qcm9wVHlwZXMub2JqZWN0XG4gIH07XG5cbiAgc3RhdGljIGNvbnRleHRUeXBlcyA9IHtcbiAgICBtZW51TGlzdEluc3BlY3RvcjogUmVhY3QuUHJvcFR5cGVzLm9iamVjdFxuICB9O1xuXG4gIGdldENoaWxkQ29udGV4dCgpOiBPYmplY3Qge1xuICAgIGNvbnN0IG1lbnVMaXN0OiBNZW51TGlzdENvbnRleHQgPSB7XG4gICAgICByZWdpc3Rlckl0ZW06IChwcm9wcywgY29udHJvbCwgZWwpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHtwcm9wcywgY29udHJvbCwgZWx9O1xuXG4gICAgICAgIGNvbnN0IHJlZ2lzdGVyID0gKCkgPT4ge1xuICAgICAgICAgIGxldCBpID0gLTE7XG4gICAgICAgICAgaWYgKGl0ZW0ucHJvcHMuaW5kZXggPT0gbnVsbCkge1xuICAgICAgICAgICAgaSA9IGZpbmRJbmRleChcbiAgICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLFxuICAgICAgICAgICAgICBfaXRlbSA9PlxuICAgICAgICAgICAgICAgIChpdGVtLmVsLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKF9pdGVtLmVsKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORykgPT09IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGkgPSBmaW5kSW5kZXgoXG4gICAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcyxcbiAgICAgICAgICAgICAgX2l0ZW0gPT4gX2l0ZW0ucHJvcHMuaW5kZXggIT0gbnVsbCAmJiBpdGVtLnByb3BzLmluZGV4IDwgX2l0ZW0ucHJvcHMuaW5kZXhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcy5zcGxpY2UoaSwgMCwgaXRlbSk7XG4gICAgICAgICAgICBpZiAodGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCAmJiBpIDw9IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIGkgPD0gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggIT0gbnVsbCAmJiBpIDw9IHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHJlZ2lzdGVyKCk7XG5cbiAgICAgICAgY29uc3QgbWVudUxpc3RIYW5kbGU6IE1lbnVMaXN0SGFuZGxlID0ge1xuICAgICAgICAgIGhpZ2hsaWdodDogKGJ5S2V5Ym9hcmQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGkgPSB0aGlzLl9saXN0SXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICAgIGlmIChpIDwgMCkgdGhyb3cgbmV3IEVycm9yKCdBbHJlYWR5IHVucmVnaXN0ZXJlZCBNZW51SXRlbScpO1xuICAgICAgICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodChpLCBieUtleWJvYXJkKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHVuaGlnaGxpZ2h0OiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9PT0gaSkge1xuICAgICAgICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0KG51bGwsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGl0ZW1DaG9zZW46ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoRXZlbnQoY29udHJvbCwgbmV3IENob3NlbkV2ZW50KCdjaG9zZW4nLCBmYWxzZSkpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgdGFrZUtleWJvYXJkOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ID0gaTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlbGVhc2VLZXlib2FyZDogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2xpc3RJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoJ0FscmVhZHkgdW5yZWdpc3RlcmVkIE1lbnVJdGVtJyk7XG4gICAgICAgICAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggPT09IGkpIHtcbiAgICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbG9ja0hpZ2hsaWdodDogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2xpc3RJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoJ0FscmVhZHkgdW5yZWdpc3RlcmVkIE1lbnVJdGVtJyk7XG4gICAgICAgICAgICB0aGlzLl9sb2NrSGlnaGxpZ2h0KGkpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgdW5sb2NrSGlnaGxpZ2h0OiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID09PSBpKSB7XG4gICAgICAgICAgICAgIHRoaXMuX2xvY2tIaWdobGlnaHQobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBtb3ZlQ3Vyc29yOiAoZGlyZWN0aW9uOiBEaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMubW92ZUN1cnNvcihkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICAgICAgfSxcbiAgICAgICAgICB1cGRhdGVQcm9wczogKG5ld1Byb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5wcm9wcy5pbmRleCAhPT0gbmV3UHJvcHMuaW5kZXgpIHtcbiAgICAgICAgICAgICAgbWVudUxpc3RIYW5kbGUudW5yZWdpc3RlcigpO1xuICAgICAgICAgICAgICBwcm9wcyA9IG5ld1Byb3BzO1xuICAgICAgICAgICAgICBpdGVtLnByb3BzID0gbmV3UHJvcHM7XG4gICAgICAgICAgICAgIHJlZ2lzdGVyKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwcm9wcyA9IG5ld1Byb3BzO1xuICAgICAgICAgICAgICBpdGVtLnByb3BzID0gbmV3UHJvcHM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB1bnJlZ2lzdGVyOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIGlmIChpID09PSB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgJiYgaSA8IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4LS07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaSA9PT0gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIGkgPCB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXgtLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpID09PSB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ICE9IG51bGwgJiYgaSA8IHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4LS07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9saXN0SXRlbXMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIG1lbnVMaXN0SGFuZGxlO1xuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHttZW51TGlzdH07XG4gIH1cblxuICBfcGFyZW50Q3R4KCk6ID9NZW51TGlzdEluc3BlY3RvckNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQubWVudUxpc3RJbnNwZWN0b3I7XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCBpc0VudGVyT3JBcnJvd0tleSA9IGUgPT5cbiAgICAgIChlLndoaWNoID09PSAxMykgfHwgKDM3IDw9IGUud2hpY2ggJiYgZS53aGljaCA8PSA0MCk7XG4gICAgY29uc3QgZWwgPSBmaW5kRE9NTm9kZSh0aGlzKTtcblxuICAgIC8vIFRoZSBvbmx5IHRoaW5ncyB0aGF0IHNob3VsZCByZWNlaXZlIGtleWRvd24va2V5cHJlc3MgZXZlbnRzIGJlZm9yZSB1c1xuICAgIC8vIGFyZSBvdXIgY2hpbGRyZW4uIFRoaXMgYWxsb3dzIGEgTWVudUl0ZW0gdG8gY29udGFpbiBhIHRleHQgaW5wdXRcbiAgICAvLyB3aGljaCBzZWxlY3RpdmVseSBzdG9wcyBwcm9wYWdhdGlvbiBvbiBrZXkgZXZlbnRzIGZvciBleGFtcGxlLlxuICAgIEtlZmlyLm1lcmdlKFtcbiAgICAgIEtlZmlyLmZyb21FdmVudHMod2luZG93LCAna2V5ZG93bicpLmZpbHRlcihpc0VudGVyT3JBcnJvd0tleSlcbiAgICAgICAgLmZpbHRlcihlID0+IGVsLmNvbnRhaW5zKGUudGFyZ2V0KSksXG4gICAgICBmcm9tRXZlbnRzQ2FwdHVyZSh3aW5kb3csICdrZXlkb3duJykuZmlsdGVyKGlzRW50ZXJPckFycm93S2V5KVxuICAgICAgICAuZmlsdGVyKGUgPT4gIWVsLmNvbnRhaW5zKGUudGFyZ2V0KSlcbiAgICBdKVxuICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3N0b3BwZXIpXG4gICAgICAub25WYWx1ZShldmVudCA9PiB0aGlzLl9rZXkoZXZlbnQpKTtcblxuICAgIGNvbnN0IHBhcmVudEN0eCA9IHRoaXMuX3BhcmVudEN0eCgpO1xuICAgIGlmIChwYXJlbnRDdHgpIHtcbiAgICAgIHBhcmVudEN0eC5yZWdpc3Rlck1lbnVMaXN0KHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMuX3N0b3BwZXIuZGVzdHJveSgpO1xuXG4gICAgY29uc3QgcGFyZW50Q3R4ID0gdGhpcy5fcGFyZW50Q3R4KCk7XG4gICAgaWYgKHBhcmVudEN0eCkge1xuICAgICAgcGFyZW50Q3R4LnVucmVnaXN0ZXJNZW51TGlzdCh0aGlzKTtcbiAgICB9XG4gIH1cblxuICBfbmF0dXJhbEhpZ2hsaWdodChpbmRleDogP251bWJlciwgYnlLZXlib2FyZDogYm9vbGVhbiwgZGlyZWN0aW9uOiA/RGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSB7XG4gICAgY29uc3QgdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggPSB0aGlzLl9nZXRWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCgpO1xuXG4gICAgaWYgKHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCAmJiBieUtleWJvYXJkKSB7XG4gICAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPSBpbmRleDtcbiAgICBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCA9PSBudWxsKSB7XG4gICAgICBpZiAoaW5kZXggIT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9saXN0SXRlbXNbaW5kZXhdLmNvbnRyb2wubm90aWZ5SGlnaGxpZ2h0ZWQodHJ1ZSwgYnlLZXlib2FyZCwgZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICAgICAgfVxuICAgICAgaWYgKHZpc2libGVIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgJiYgdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gaW5kZXgpIHtcbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1zW3Zpc2libGVIaWdobGlnaHRlZEluZGV4XS5jb250cm9sLm5vdGlmeUhpZ2hsaWdodGVkKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfbG9ja0hpZ2hsaWdodChpbmRleDogP251bWJlcikge1xuICAgIGlmIChpbmRleCA9PT0gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCkgcmV0dXJuO1xuICAgIGNvbnN0IHZpc2libGVIaWdobGlnaHRlZEluZGV4ID0gdGhpcy5fZ2V0VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgoKTtcbiAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID0gaW5kZXg7XG4gICAgY29uc3QgbmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggPSB0aGlzLl9nZXRWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCgpO1xuICAgIGlmICh2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIG5ld1Zpc2libGVIaWdobGlnaHRlZEluZGV4ID09IG51bGwpIHtcbiAgICAgIC8vIFdoZW4gdW5sb2NraW5nLCBwcmVmZXIgdG8ga2VlcCB0aGUgY3VycmVudCBzZWxlY3Rpb24gb3ZlciBkZS1zZWxlY3RpbmdcbiAgICAgIC8vIGV2ZXJ5dGhpbmcuXG4gICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9IHZpc2libGVIaWdobGlnaHRlZEluZGV4O1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgpIHtcbiAgICAgIGlmICh2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1t2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbC5ub3RpZnlIaWdobGlnaHRlZChmYWxzZSk7XG4gICAgICB9XG4gICAgICBpZiAobmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9saXN0SXRlbXNbbmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXhdLmNvbnRyb2wubm90aWZ5SGlnaGxpZ2h0ZWQodHJ1ZSwgZmFsc2UpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1t0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbC5ub3RpZnlIaWdobGlnaHRlZCh0cnVlLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgX2Rpc3BhdGNoRXZlbnQoY29udHJvbDogP01lbnVJdGVtQ29udHJvbCwgZXZlbnQ6IE1lbnVFdmVudCkge1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICBjb250cm9sLm5vdGlmeUV2ZW50KGV2ZW50KTtcbiAgICAgIGlmIChldmVudC5jYW5jZWxCdWJibGUpIHJldHVybjtcbiAgICB9XG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgY2FzZSAnY2hvc2VuJzpcbiAgICAgIGlmICh0aGlzLnByb3BzLm9uSXRlbUNob3NlbikgdGhpcy5wcm9wcy5vbkl0ZW1DaG9zZW4oZXZlbnQpO1xuICAgICAgYnJlYWs7XG4gICAgLy8gY2FzZSAndXAnOlxuICAgIC8vICAgYnJlYWs7XG4gICAgLy8gY2FzZSAnZG93bic6XG4gICAgLy8gICBicmVhaztcbiAgICBjYXNlICdsZWZ0JzpcbiAgICAgIGlmICh0aGlzLnByb3BzLm9uTGVmdFB1c2hlZCkgdGhpcy5wcm9wcy5vbkxlZnRQdXNoZWQoZXZlbnQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAncmlnaHQnOlxuICAgICAgaWYgKHRoaXMucHJvcHMub25SaWdodFB1c2hlZCkgdGhpcy5wcm9wcy5vblJpZ2h0UHVzaGVkKGV2ZW50KTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoZXZlbnQuY2FuY2VsQnViYmxlKSByZXR1cm47XG4gICAgY29uc3QgcGFyZW50Q3R4ID0gdGhpcy5fcGFyZW50Q3R4KCk7XG4gICAgaWYgKHBhcmVudEN0eCkge1xuICAgICAgcGFyZW50Q3R4LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIF9rZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggIT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZpc2libGVIaWdobGlnaHRlZEluZGV4ID0gdGhpcy5fZ2V0VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgoKTtcblxuICAgIC8vIGVudGVyLCBsZWZ0LCByaWdodCBhY3RpdmF0ZSBmb3IgdGhlIGN1cnJlbnQgdmlzaWJseSBzZWxlY3RlZCBpdGVtLlxuICAgIC8vIHVwIGFuZCBkb3duIGRlLWFjdGl2YXRlIGFueSBsb2NrcyBpbiBwbGFjZSwgc28gdGhhdCB0aGV5IGFjdCBmcm9tIHRoZSBsYXN0XG4gICAgLy8gbmF0dXJhbGx5LXNlbGVjdGVkIGl0ZW0uXG5cbiAgICBsZXQgbUV2ZW50ID0gbnVsbDtcblxuICAgIHN3aXRjaCAoZXZlbnQud2hpY2gpIHtcbiAgICBjYXNlIDEzOiAvL2VudGVyXG4gICAgICBtRXZlbnQgPSBuZXcgQ2hvc2VuRXZlbnQoJ2Nob3NlbicsIHRydWUpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAzNzogLy9sZWZ0XG4gICAgICBtRXZlbnQgPSBuZXcgTWVudUV2ZW50KCdsZWZ0Jyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIDM5OiAvL3JpZ2h0XG4gICAgICBtRXZlbnQgPSBuZXcgTWVudUV2ZW50KCdyaWdodCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAzODogLy91cFxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5tb3ZlQ3Vyc29yKCd1cCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSA0MDogLy9kb3duXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLm1vdmVDdXJzb3IoJ2Rvd24nKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChtRXZlbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSB2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCA9PSBudWxsID8gbnVsbCA6XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1t2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbDtcbiAgICAgIHRoaXMuX2Rpc3BhdGNoRXZlbnQoY29udHJvbCwgbUV2ZW50KTtcbiAgICAgIGlmIChtRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGlmIChtRXZlbnQuZGVmYXVsdFByZXZlbnRlZCB8fCBtRXZlbnQuY2FuY2VsQnViYmxlKSBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBtb3ZlQ3Vyc29yKGRpcmVjdGlvbjogRGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSB7XG4gICAgaWYgKHRoaXMuX2xpc3RJdGVtcy5sZW5ndGggPT0gMCkgcmV0dXJuO1xuXG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICBjYXNlICd1cCc6XG4gICAgICBpZiAodGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPT0gbnVsbCB8fCB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9PSAwKSB7XG4gICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHQodGhpcy5fbGlzdEl0ZW1zLmxlbmd0aC0xLCB0cnVlLCBkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0KHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4LTEsIHRydWUsIGRpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgaWYgKHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ID09IG51bGwgfHwgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPT0gdGhpcy5fbGlzdEl0ZW1zLmxlbmd0aC0xKSB7XG4gICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHQoMCwgdHJ1ZSwgZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodCh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCsxLCB0cnVlLCBkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgb25Nb3VzZURvd249e2U9PmUucHJldmVudERlZmF1bHQoKX1cbiAgICAgICAgcm9sZT1cIm1lbnVcIlxuICAgICAgPlxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51TGlzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7O0FBQ0E7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFFQTs7OztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7SUF3Q3FCLFE7Ozs7Ozs7Ozs7Ozs7OzROQVFuQixRLEdBQW1CLDZCLFFBQ25CLFUsR0FHSyxFOzs7Ozs7OztrREFPa0M7QUFDckMsYUFBTyxLQUFLLHVCQUFMLElBQWdDLElBQWhDLEdBQ0wsS0FBSyx1QkFEQSxHQUMwQixLQUFLLHdCQUR0QztBQUVEOzs7c0NBVXlCO0FBQUE7O0FBQ3hCLFVBQU0sV0FBNEI7QUFDaEMsc0JBQWMsc0JBQUMsS0FBRCxFQUFRLE9BQVIsRUFBaUIsRUFBakIsRUFBd0I7QUFDcEMsY0FBTSxPQUFPLEVBQUMsWUFBRCxFQUFRLGdCQUFSLEVBQWlCLE1BQWpCLEVBQWI7O0FBRUEsY0FBTSxXQUFXLFNBQVgsUUFBVyxHQUFNO0FBQ3JCLGdCQUFJLElBQUksQ0FBQyxDQUFUO0FBQ0EsZ0JBQUksS0FBSyxLQUFMLENBQVcsS0FBWCxJQUFvQixJQUF4QixFQUE4QjtBQUM1QixrQkFBSSw4QkFDRixPQUFLLFVBREgsRUFFRjtBQUFBLHVCQUNFLENBQUMsS0FBSyxFQUFMLENBQVEsdUJBQVIsQ0FBZ0MsTUFBTSxFQUF0QyxJQUEwQyxLQUFLLDJCQUFoRCxNQUFpRixDQURuRjtBQUFBLGVBRkUsQ0FBSjtBQUtELGFBTkQsTUFNTztBQUNMLGtCQUFJLDhCQUNGLE9BQUssVUFESCxFQUVGO0FBQUEsdUJBQVMsTUFBTSxLQUFOLENBQVksS0FBWixJQUFxQixJQUFyQixJQUE2QixLQUFLLEtBQUwsQ0FBVyxLQUFYLEdBQW1CLE1BQU0sS0FBTixDQUFZLEtBQXJFO0FBQUEsZUFGRSxDQUFKO0FBSUQ7QUFDRCxnQkFBSSxJQUFJLENBQVIsRUFBVztBQUNULHFCQUFLLFVBQUwsQ0FBZ0IsSUFB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LCJmaWxlIjoiTWVudUxpc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgUmVhY3QsIHtQcm9wVHlwZXN9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7ZmluZERPTU5vZGV9IGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgS2VmaXIgZnJvbSAna2VmaXInO1xuaW1wb3J0IGtlZmlyU3RvcHBlciBmcm9tICdrZWZpci1zdG9wcGVyJztcbmltcG9ydCBmaW5kSW5kZXggZnJvbSAnYXJyYXktZmluZC1pbmRleCc7XG5pbXBvcnQgZnJvbUV2ZW50c0NhcHR1cmUgZnJvbSAnLi9saWIvZnJvbUV2ZW50c0NhcHR1cmUnO1xuXG5pbXBvcnQgTWVudUV2ZW50IGZyb20gJy4vZXZlbnRzL01lbnVFdmVudCc7XG5pbXBvcnQgQ2hvc2VuRXZlbnQgZnJvbSAnLi9ldmVudHMvQ2hvc2VuRXZlbnQnO1xuaW1wb3J0IHR5cGUge1Byb3BzIGFzIE1lbnVJdGVtUHJvcHN9IGZyb20gJy4vTWVudUl0ZW0nO1xuaW1wb3J0IHR5cGUge01lbnVMaXN0SW5zcGVjdG9yQ29udGV4dH0gZnJvbSAnLi9NZW51TGlzdEluc3BlY3Rvcic7XG5pbXBvcnQgdHlwZSB7RGlyZWN0aW9uLCBSZWN0fSBmcm9tICcuL3R5cGVzJztcblxuLy8gVGhpcyB0eXBlIG9mIG9iamVjdCBpcyBnaXZlbiB0byBhIE1lbnVJdGVtIHRvIHRhbGsgdG8gdGhlIE1lbnVMaXN0LlxuZXhwb3J0IHR5cGUgTWVudUxpc3RIYW5kbGUgPSB7XG4gIGhpZ2hsaWdodChieUtleWJvYXJkOiBib29sZWFuKTogdm9pZDtcbiAgdW5oaWdobGlnaHQoKTogdm9pZDtcbiAgbW92ZUN1cnNvcihkaXJlY3Rpb246IERpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdCk6IHZvaWQ7XG4gIGl0ZW1DaG9zZW4oKTogdm9pZDtcbiAgdGFrZUtleWJvYXJkKCk6IHZvaWQ7XG4gIHJlbGVhc2VLZXlib2FyZCgpOiB2b2lkO1xuICBsb2NrSGlnaGxpZ2h0KCk6IHZvaWQ7XG4gIHVubG9ja0hpZ2hsaWdodCgpOiB2b2lkO1xuICB1cGRhdGVQcm9wcyhwcm9wczogTWVudUl0ZW1Qcm9wcyk6IHZvaWQ7XG4gIHVucmVnaXN0ZXIoKTogdm9pZDtcbn07XG5cbi8vIFRoaXMgdHlwZSBvZiBvYmplY3QgaXMgZ2l2ZW4gdG8gYSBNZW51TGlzdCB0byB0YWxrIHRvIGEgTWVudUl0ZW0uXG5leHBvcnQgdHlwZSBNZW51SXRlbUNvbnRyb2wgPSB7XG4gIG5vdGlmeUhpZ2hsaWdodGVkKFxuICAgIGhpZ2hsaWdodGVkOiBib29sZWFuLFxuICAgIGJ5S2V5Ym9hcmQ6ID9ib29sZWFuLFxuICAgIGRpcmVjdGlvbjogP0RpcmVjdGlvbixcbiAgICBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0XG4gICk6IHZvaWQ7XG4gIG5vdGlmeUV2ZW50KGV2ZW50OiBNZW51RXZlbnQpOiB2b2lkO1xufTtcblxuLy8gVGhpcyBpcyB0aGUgdHlwZSBvZiB0aGUgb2JqZWN0IHRoYXQgTWVudUxpc3QgZ2l2ZXMgYXMgY29udGV4dCB0byBpdHNcbi8vIGRlc2NlbmRhbnRzLlxuZXhwb3J0IHR5cGUgTWVudUxpc3RDb250ZXh0ID0ge1xuICByZWdpc3Rlckl0ZW0oXG4gICAgcHJvcHM6IE1lbnVJdGVtUHJvcHMsXG4gICAgY29udHJvbDogTWVudUl0ZW1Db250cm9sLFxuICAgIGVsOiBIVE1MRWxlbWVudFxuICApOiBNZW51TGlzdEhhbmRsZTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1lbnVMaXN0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBvbkl0ZW1DaG9zZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uTGVmdFB1c2hlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25SaWdodFB1c2hlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlXG4gIH07XG5cbiAgX3N0b3BwZXI6IE9iamVjdCA9IGtlZmlyU3RvcHBlcigpO1xuICBfbGlzdEl0ZW1zOiBBcnJheTx7XG4gICAgcHJvcHM6IE1lbnVJdGVtUHJvcHM7XG4gICAgY29udHJvbDogTWVudUl0ZW1Db250cm9sO1xuICB9PiA9IFtdO1xuXG4gIC8vIFRoZSBuYXR1cmFsIGhpZ2hsaWdodCBpcyB3aGVyZSB0aGUgaGlnaGxpZ2h0IHdvdWxkIGJlIGlmIG5vIGxvY2sgaXMgYWN0aXZlLlxuICBfbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXg6ID9udW1iZXI7XG4gIF9sb2NrZWRIaWdobGlnaHRlZEluZGV4OiA/bnVtYmVyO1xuICBfa2V5Ym9hcmRUYWtlbkJ5SW5kZXg6ID9udW1iZXI7XG5cbiAgX2dldFZpc2libGVIaWdobGlnaHRlZEluZGV4KCk6ID9udW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgP1xuICAgICAgdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCA6IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4O1xuICB9XG5cbiAgc3RhdGljIGNoaWxkQ29udGV4dFR5cGVzID0ge1xuICAgIG1lbnVMaXN0OiBSZWFjdC5Qcm9wVHlwZXMub2JqZWN0XG4gIH07XG5cbiAgc3RhdGljIGNvbnRleHRUeXBlcyA9IHtcbiAgICBtZW51TGlzdEluc3BlY3RvcjogUmVhY3QuUHJvcFR5cGVzLm9iamVjdFxuICB9O1xuXG4gIGdldENoaWxkQ29udGV4dCgpOiBPYmplY3Qge1xuICAgIGNvbnN0IG1lbnVMaXN0OiBNZW51TGlzdENvbnRleHQgPSB7XG4gICAgICByZWdpc3Rlckl0ZW06IChwcm9wcywgY29udHJvbCwgZWwpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHtwcm9wcywgY29udHJvbCwgZWx9O1xuXG4gICAgICAgIGNvbnN0IHJlZ2lzdGVyID0gKCkgPT4ge1xuICAgICAgICAgIGxldCBpID0gLTE7XG4gICAgICAgICAgaWYgKGl0ZW0ucHJvcHMuaW5kZXggPT0gbnVsbCkge1xuICAgICAgICAgICAgaSA9IGZpbmRJbmRleChcbiAgICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLFxuICAgICAgICAgICAgICBfaXRlbSA9PlxuICAgICAgICAgICAgICAgIChpdGVtLmVsLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKF9pdGVtLmVsKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORykgPT09IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGkgPSBmaW5kSW5kZXgoXG4gICAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcyxcbiAgICAgICAgICAgICAgX2l0ZW0gPT4gX2l0ZW0ucHJvcHMuaW5kZXggIT0gbnVsbCAmJiBpdGVtLnByb3BzLmluZGV4IDwgX2l0ZW0ucHJvcHMuaW5kZXhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcy5zcGxpY2UoaSwgMCwgaXRlbSk7XG4gICAgICAgICAgICBpZiAodGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCAmJiBpIDw9IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIGkgPD0gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggIT0gbnVsbCAmJiBpIDw9IHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHJlZ2lzdGVyKCk7XG5cbiAgICAgICAgY29uc3QgbWVudUxpc3RIYW5kbGU6IE1lbnVMaXN0SGFuZGxlID0ge1xuICAgICAgICAgIGhpZ2hsaWdodDogKGJ5S2V5Ym9hcmQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGkgPSB0aGlzLl9saXN0SXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICAgIGlmIChpIDwgMCkgdGhyb3cgbmV3IEVycm9yKCdBbHJlYWR5IHVucmVnaXN0ZXJlZCBNZW51SXRlbScpO1xuICAgICAgICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodChpLCBieUtleWJvYXJkKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHVuaGlnaGxpZ2h0OiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9PT0gaSkge1xuICAgICAgICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0KG51bGwsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGl0ZW1DaG9zZW46ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoRXZlbnQoY29udHJvbCwgbmV3IENob3NlbkV2ZW50KCdjaG9zZW4nLCBmYWxzZSkpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgdGFrZUtleWJvYXJkOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ID0gaTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlbGVhc2VLZXlib2FyZDogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2xpc3RJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoJ0FscmVhZHkgdW5yZWdpc3RlcmVkIE1lbnVJdGVtJyk7XG4gICAgICAgICAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggPT09IGkpIHtcbiAgICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbG9ja0hpZ2hsaWdodDogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2xpc3RJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoJ0FscmVhZHkgdW5yZWdpc3RlcmVkIE1lbnVJdGVtJyk7XG4gICAgICAgICAgICB0aGlzLl9sb2NrSGlnaGxpZ2h0KGkpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgdW5sb2NrSGlnaGxpZ2h0OiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID09PSBpKSB7XG4gICAgICAgICAgICAgIHRoaXMuX2xvY2tIaWdobGlnaHQobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBtb3ZlQ3Vyc29yOiAoZGlyZWN0aW9uOiBEaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMubW92ZUN1cnNvcihkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICAgICAgfSxcbiAgICAgICAgICB1cGRhdGVQcm9wczogKG5ld1Byb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5wcm9wcy5pbmRleCAhPT0gbmV3UHJvcHMuaW5kZXgpIHtcbiAgICAgICAgICAgICAgbWVudUxpc3RIYW5kbGUudW5yZWdpc3RlcigpO1xuICAgICAgICAgICAgICBwcm9wcyA9IG5ld1Byb3BzO1xuICAgICAgICAgICAgICBpdGVtLnByb3BzID0gbmV3UHJvcHM7XG4gICAgICAgICAgICAgIHJlZ2lzdGVyKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwcm9wcyA9IG5ld1Byb3BzO1xuICAgICAgICAgICAgICBpdGVtLnByb3BzID0gbmV3UHJvcHM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB1bnJlZ2lzdGVyOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIGlmIChpID09PSB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgJiYgaSA8IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4LS07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaSA9PT0gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIGkgPCB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXgtLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpID09PSB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ICE9IG51bGwgJiYgaSA8IHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4LS07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9saXN0SXRlbXMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIG1lbnVMaXN0SGFuZGxlO1xuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHttZW51TGlzdH07XG4gIH1cblxuICBfcGFyZW50Q3R4KCk6ID9NZW51TGlzdEluc3BlY3RvckNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQubWVudUxpc3RJbnNwZWN0b3I7XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCBpc0VudGVyT3JBcnJvd0tleSA9IGUgPT5cbiAgICAgIChlLndoaWNoID09PSAxMykgfHwgKDM3IDw9IGUud2hpY2ggJiYgZS53aGljaCA8PSA0MCk7XG4gICAgY29uc3QgZWwgPSBmaW5kRE9NTm9kZSh0aGlzKTtcblxuICAgIC8vIFRoZSBvbmx5IHRoaW5ncyB0aGF0IHNob3VsZCByZWNlaXZlIGtleWRvd24va2V5cHJlc3MgZXZlbnRzIGJlZm9yZSB1c1xuICAgIC8vIGFyZSBvdXIgY2hpbGRyZW4uIFRoaXMgYWxsb3dzIGEgTWVudUl0ZW0gdG8gY29udGFpbiBhIHRleHQgaW5wdXRcbiAgICAvLyB3aGljaCBzZWxlY3RpdmVseSBzdG9wcyBwcm9wYWdhdGlvbiBvbiBrZXkgZXZlbnRzIGZvciBleGFtcGxlLlxuICAgIEtlZmlyLm1lcmdlKFtcbiAgICAgIEtlZmlyLmZyb21FdmVudHMod2luZG93LCAna2V5ZG93bicpLmZpbHRlcihpc0VudGVyT3JBcnJvd0tleSlcbiAgICAgICAgLmZpbHRlcihlID0+IGVsLmNvbnRhaW5zKGUudGFyZ2V0KSksXG4gICAgICBmcm9tRXZlbnRzQ2FwdHVyZSh3aW5kb3csICdrZXlkb3duJykuZmlsdGVyKGlzRW50ZXJPckFycm93S2V5KVxuICAgICAgICAuZmlsdGVyKGUgPT4gIWVsLmNvbnRhaW5zKGUudGFyZ2V0KSlcbiAgICBdKVxuICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3N0b3BwZXIpXG4gICAgICAub25WYWx1ZShldmVudCA9PiB0aGlzLl9rZXkoZXZlbnQpKTtcblxuICAgIGNvbnN0IHBhcmVudEN0eCA9IHRoaXMuX3BhcmVudEN0eCgpO1xuICAgIGlmIChwYXJlbnRDdHgpIHtcbiAgICAgIHBhcmVudEN0eC5yZWdpc3Rlck1lbnVMaXN0KHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMuX3N0b3BwZXIuZGVzdHJveSgpO1xuXG4gICAgY29uc3QgcGFyZW50Q3R4ID0gdGhpcy5fcGFyZW50Q3R4KCk7XG4gICAgaWYgKHBhcmVudEN0eCkge1xuICAgICAgcGFyZW50Q3R4LnVucmVnaXN0ZXJNZW51TGlzdCh0aGlzKTtcbiAgICB9XG4gIH1cblxuICBfbmF0dXJhbEhpZ2hsaWdodChpbmRleDogP251bWJlciwgYnlLZXlib2FyZDogYm9vbGVhbiwgZGlyZWN0aW9uOiA/RGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSB7XG4gICAgY29uc3QgdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggPSB0aGlzLl9nZXRWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCgpO1xuXG4gICAgaWYgKHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCAmJiBieUtleWJvYXJkKSB7XG4gICAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPSBpbmRleDtcbiAgICBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCA9PSBudWxsKSB7XG4gICAgICBpZiAoaW5kZXggIT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9saXN0SXRlbXNbaW5kZXhdLmNvbnRyb2wubm90aWZ5SGlnaGxpZ2h0ZWQodHJ1ZSwgYnlLZXlib2FyZCwgZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICAgICAgfVxuICAgICAgaWYgKHZpc2libGVIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgJiYgdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gaW5kZXgpIHtcbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1zW3Zpc2libGVIaWdobGlnaHRlZEluZGV4XS5jb250cm9sLm5vdGlmeUhpZ2hsaWdodGVkKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfbG9ja0hpZ2hsaWdodChpbmRleDogP251bWJlcikge1xuICAgIGlmIChpbmRleCA9PT0gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCkgcmV0dXJuO1xuICAgIGNvbnN0IHZpc2libGVIaWdobGlnaHRlZEluZGV4ID0gdGhpcy5fZ2V0VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgoKTtcbiAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID0gaW5kZXg7XG4gICAgY29uc3QgbmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggPSB0aGlzLl9nZXRWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCgpO1xuICAgIGlmICh2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIG5ld1Zpc2libGVIaWdobGlnaHRlZEluZGV4ID09IG51bGwpIHtcbiAgICAgIC8vIFdoZW4gdW5sb2NraW5nLCBwcmVmZXIgdG8ga2VlcCB0aGUgY3VycmVudCBzZWxlY3Rpb24gb3ZlciBkZS1zZWxlY3RpbmdcbiAgICAgIC8vIGV2ZXJ5dGhpbmcuXG4gICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9IHZpc2libGVIaWdobGlnaHRlZEluZGV4O1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgpIHtcbiAgICAgIGlmICh2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1t2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbC5ub3RpZnlIaWdobGlnaHRlZChmYWxzZSk7XG4gICAgICB9XG4gICAgICBpZiAobmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9saXN0SXRlbXNbbmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXhdLmNvbnRyb2wubm90aWZ5SGlnaGxpZ2h0ZWQodHJ1ZSwgZmFsc2UpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1t0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbC5ub3RpZnlIaWdobGlnaHRlZCh0cnVlLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgX2Rpc3BhdGNoRXZlbnQoY29udHJvbDogP01lbnVJdGVtQ29udHJvbCwgZXZlbnQ6IE1lbnVFdmVudCkge1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICBjb250cm9sLm5vdGlmeUV2ZW50KGV2ZW50KTtcbiAgICAgIGlmIChldmVudC5jYW5jZWxCdWJibGUpIHJldHVybjtcbiAgICB9XG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgY2FzZSAnY2hvc2VuJzpcbiAgICAgIGlmICh0aGlzLnByb3BzLm9uSXRlbUNob3NlbikgdGhpcy5wcm9wcy5vbkl0ZW1DaG9zZW4oZXZlbnQpO1xuICAgICAgYnJlYWs7XG4gICAgLy8gY2FzZSAndXAnOlxuICAgIC8vICAgYnJlYWs7XG4gICAgLy8gY2FzZSAnZG93bic6XG4gICAgLy8gICBicmVhaztcbiAgICBjYXNlICdsZWZ0JzpcbiAgICAgIGlmICh0aGlzLnByb3BzLm9uTGVmdFB1c2hlZCkgdGhpcy5wcm9wcy5vbkxlZnRQdXNoZWQoZXZlbnQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAncmlnaHQnOlxuICAgICAgaWYgKHRoaXMucHJvcHMub25SaWdodFB1c2hlZCkgdGhpcy5wcm9wcy5vblJpZ2h0UHVzaGVkKGV2ZW50KTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoZXZlbnQuY2FuY2VsQnViYmxlKSByZXR1cm47XG4gICAgY29uc3QgcGFyZW50Q3R4ID0gdGhpcy5fcGFyZW50Q3R4KCk7XG4gICAgaWYgKHBhcmVudEN0eCkge1xuICAgICAgcGFyZW50Q3R4LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIF9rZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggIT0gbnVsbCB8fCB0aGlzLl9saXN0SXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggPSB0aGlzLl9nZXRWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCgpO1xuXG4gICAgLy8gZW50ZXIsIGxlZnQsIHJpZ2h0IGFjdGl2YXRlIGZvciB0aGUgY3VycmVudCB2aXNpYmx5IHNlbGVjdGVkIGl0ZW0uXG4gICAgLy8gdXAgYW5kIGRvd24gZGUtYWN0aXZhdGUgYW55IGxvY2tzIGluIHBsYWNlLCBzbyB0aGF0IHRoZXkgYWN0IGZyb20gdGhlIGxhc3RcbiAgICAvLyBuYXR1cmFsbHktc2VsZWN0ZWQgaXRlbS5cblxuICAgIGxldCBtRXZlbnQgPSBudWxsO1xuXG4gICAgc3dpdGNoIChldmVudC53aGljaCkge1xuICAgIGNhc2UgMTM6IC8vZW50ZXJcbiAgICAgIGlmICh2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgIG1FdmVudCA9IG5ldyBDaG9zZW5FdmVudCgnY2hvc2VuJywgdHJ1ZSk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAzNzogLy9sZWZ0XG4gICAgICBpZiAodmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgICBtRXZlbnQgPSBuZXcgTWVudUV2ZW50KCdsZWZ0Jyk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIDM5OiAvL3JpZ2h0XG4gICAgICBpZiAodmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgICBtRXZlbnQgPSBuZXcgTWVudUV2ZW50KCdyaWdodCcpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAzODogLy91cFxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5tb3ZlQ3Vyc29yKCd1cCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSA0MDogLy9kb3duXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLm1vdmVDdXJzb3IoJ2Rvd24nKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChtRXZlbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSB2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCA9PSBudWxsID8gbnVsbCA6XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1t2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbDtcbiAgICAgIHRoaXMuX2Rpc3BhdGNoRXZlbnQoY29udHJvbCwgbUV2ZW50KTtcbiAgICAgIGlmIChtRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGlmIChtRXZlbnQuZGVmYXVsdFByZXZlbnRlZCB8fCBtRXZlbnQuY2FuY2VsQnViYmxlKSBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBtb3ZlQ3Vyc29yKGRpcmVjdGlvbjogRGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSB7XG4gICAgaWYgKHRoaXMuX2xpc3RJdGVtcy5sZW5ndGggPT0gMCkgcmV0dXJuO1xuXG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICBjYXNlICd1cCc6XG4gICAgICBpZiAodGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPT0gbnVsbCB8fCB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9PSAwKSB7XG4gICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHQodGhpcy5fbGlzdEl0ZW1zLmxlbmd0aC0xLCB0cnVlLCBkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0KHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4LTEsIHRydWUsIGRpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgaWYgKHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ID09IG51bGwgfHwgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPT0gdGhpcy5fbGlzdEl0ZW1zLmxlbmd0aC0xKSB7XG4gICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHQoMCwgdHJ1ZSwgZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodCh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCsxLCB0cnVlLCBkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBoYXNIaWdobGlnaHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFZpc2libGVIaWdobGlnaHRlZEluZGV4KCkgIT0gbnVsbDtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICBvbk1vdXNlRG93bj17ZT0+ZS5wcmV2ZW50RGVmYXVsdCgpfVxuICAgICAgICByb2xlPVwibWVudVwiXG4gICAgICA+XG4gICAgICAgIHt0aGlzLnByb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuIl19

@@ -101,2 +101,12 @@ 'use strict';

}, {
key: 'hasHighlight',
value: function hasHighlight() {
for (var i = 0, len = this._descendantMenuLists.length; i < len; i++) {
if (this._descendantMenuLists[i].hasHighlight()) {
return true;
}
}
return false;
}
}, {
key: 'render',

@@ -125,2 +135,2 @@ value: function render() {

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51TGlzdEluc3BlY3Rvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7Ozs7SUFXcUI7Ozs7Ozs7Ozs7Ozs7O3FPQWlCbkIsdUJBQXdDOzs7NkJBakJyQjs7aUNBbUJxQjtBQUN0QyxhQUFPLEtBQUssT0FBTCxDQUFhLGlCQUFiLENBRCtCOzs7O3NDQUlkOzs7QUFDeEIsVUFBTSxvQkFBOEM7QUFDbEQsMEJBQWtCLDBCQUFDLFFBQUQsRUFBd0I7QUFDeEMsaUJBQUssb0JBQUwsQ0FBMEIsSUFBMUIsQ0FBK0IsUUFBL0IsRUFEd0M7U0FBeEI7QUFHbEIsNEJBQW9CLDRCQUFDLFFBQUQsRUFBd0I7QUFDMUMsY0FBTSxJQUFJLE9BQUssb0JBQUwsQ0FBMEIsT0FBMUIsQ0FBa0MsUUFBbEMsQ0FBSixDQURvQztBQUUxQyxjQUFJLElBQUksQ0FBSixFQUFPLE1BQU0sSUFBSSxLQUFKLENBQVUseUJBQVYsQ0FBTixDQUFYO0FBQ0EsaUJBQUssb0JBQUwsQ0FBMEIsTUFBMUIsQ0FBaUMsQ0FBakMsRUFBb0MsQ0FBcEMsRUFIMEM7U0FBeEI7QUFLcEIsdUJBQWUsdUJBQUMsS0FBRCxFQUFzQjtBQUNuQyxrQkFBUSxNQUFNLElBQU47QUFDUixpQkFBSyxRQUFMO0FBQ0Usa0JBQUksT0FBSyxLQUFMLENBQVcsWUFBWCxFQUF5QixPQUFLLEtBQUwsQ0FBVyxZQUFYLENBQXdCLEtBQXhCLEVBQTdCO0FBQ0Esb0JBRkY7QUFEQSxpQkFJSyxNQUFMO0FBQ0Usa0JBQUksT0FBSyxLQUFMLENBQVcsWUFBWCxFQUF5QixPQUFLLEtBQUwsQ0FBVyxZQUFYLENBQXdCLEtBQXhCLEVBQTdCO0FBQ0Esb0JBRkY7QUFKQSxpQkFPSyxPQUFMO0FBQ0Usa0JBQUksT0FBSyxLQUFMLENBQVcsYUFBWCxFQUEwQixPQUFLLEtBQUwsQ0FBVyxhQUFYLENBQXlCLEtBQXpCLEVBQTlCO0FBQ0Esb0JBRkY7QUFQQSxXQURtQztBQVluQyxjQUFJLE1BQU0sWUFBTixFQUFvQixPQUF4QjtBQUNBLGNBQU0sWUFBWSxPQUFLLFVBQUwsRUFBWixDQWI2QjtBQWNuQyxjQUFJLFNBQUosRUFBZTtBQUNiLHNCQUFVLGFBQVYsQ0FBd0IsS0FBeEIsRUFEYTtXQUFmO1NBZGE7T0FUWCxDQURrQjtBQTZCeEIsYUFBTyxFQUFDLG9DQUFELEVBQVAsQ0E3QndCOzs7OytCQWdDZixXQUFzQixvQkFBb0M7QUFDbkUsVUFBTSxXQUFXLEtBQUssb0JBQUwsQ0FBMEIsQ0FBMUIsQ0FBWCxDQUQ2RDtBQUVuRSxVQUFJLENBQUMsUUFBRCxFQUFXO0FBQ2IsZUFBTyxLQUFQLENBRGE7T0FBZjtBQUdBLGVBQVMsVUFBVCxDQUFvQixTQUFwQixFQUErQixrQkFBL0IsRUFMbUU7QUFNbkUsYUFBTyxJQUFQLENBTm1FOzs7OzZCQVM1QztBQUN2QixhQUFPLEtBQUssS0FBTCxDQUFXLFFBQVgsQ0FEZ0I7OztTQWhFTjtFQUEwQixnQkFBTSxTQUFOOztBQUExQixrQkFDWixZQUFZO0FBQ2pCLGdCQUFjLGlCQUFVLElBQVY7QUFDZCxnQkFBYyxpQkFBVSxJQUFWO0FBQ2QsaUJBQWUsaUJBQVUsSUFBVjs7QUFFZixZQUFVLGlCQUFVLE9BQVY7O0FBTk8sa0JBU1osb0JBQW9CO0FBQ3pCLHFCQUFtQixnQkFBTSxTQUFOLENBQWdCLE1BQWhCOztBQVZGLGtCQWFaLGVBQWU7QUFDcEIscUJBQW1CLGdCQUFNLFNBQU4sQ0FBZ0IsTUFBaEI7O2tCQWRGIiwiZmlsZSI6Ik1lbnVMaXN0SW5zcGVjdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IFJlYWN0LCB7UHJvcFR5cGVzfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSBNZW51TGlzdCBmcm9tICcuL01lbnVMaXN0JztcbmltcG9ydCB0eXBlIE1lbnVFdmVudCBmcm9tICcuL2V2ZW50cy9NZW51RXZlbnQnO1xuaW1wb3J0IHR5cGUge0RpcmVjdGlvbiwgUmVjdH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIE1lbnVMaXN0SW5zcGVjdG9yQ29udGV4dCA9IHtcbiAgcmVnaXN0ZXJNZW51TGlzdChtZW51TGlzdDogTWVudUxpc3QpOiB2b2lkO1xuICB1bnJlZ2lzdGVyTWVudUxpc3QobWVudUxpc3Q6IE1lbnVMaXN0KTogdm9pZDtcbiAgZGlzcGF0Y2hFdmVudChldmVudDogTWVudUV2ZW50KTogdm9pZDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1lbnVMaXN0SW5zcGVjdG9yIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBvbkl0ZW1DaG9zZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uTGVmdFB1c2hlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25SaWdodFB1c2hlZDogUHJvcFR5cGVzLmZ1bmMsXG5cbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLmVsZW1lbnRcbiAgfTtcblxuICBzdGF0aWMgY2hpbGRDb250ZXh0VHlwZXMgPSB7XG4gICAgbWVudUxpc3RJbnNwZWN0b3I6IFJlYWN0LlByb3BUeXBlcy5vYmplY3RcbiAgfTtcblxuICBzdGF0aWMgY29udGV4dFR5cGVzID0ge1xuICAgIG1lbnVMaXN0SW5zcGVjdG9yOiBSZWFjdC5Qcm9wVHlwZXMub2JqZWN0XG4gIH07XG5cbiAgX2Rlc2NlbmRhbnRNZW51TGlzdHM6IEFycmF5PE1lbnVMaXN0PiA9IFtdO1xuXG4gIF9wYXJlbnRDdHgoKTogP01lbnVMaXN0SW5zcGVjdG9yQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5tZW51TGlzdEluc3BlY3RvcjtcbiAgfVxuXG4gIGdldENoaWxkQ29udGV4dCgpOiBPYmplY3Qge1xuICAgIGNvbnN0IG1lbnVMaXN0SW5zcGVjdG9yOiBNZW51TGlzdEluc3BlY3RvckNvbnRleHQgPSB7XG4gICAgICByZWdpc3Rlck1lbnVMaXN0OiAobWVudUxpc3Q6IE1lbnVMaXN0KSA9PiB7XG4gICAgICAgIHRoaXMuX2Rlc2NlbmRhbnRNZW51TGlzdHMucHVzaChtZW51TGlzdCk7XG4gICAgICB9LFxuICAgICAgdW5yZWdpc3Rlck1lbnVMaXN0OiAobWVudUxpc3Q6IE1lbnVMaXN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGkgPSB0aGlzLl9kZXNjZW5kYW50TWVudUxpc3RzLmluZGV4T2YobWVudUxpc3QpO1xuICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignTWVudUxpc3Qgbm90IHJlZ2lzdGVyZWQnKTtcbiAgICAgICAgdGhpcy5fZGVzY2VuZGFudE1lbnVMaXN0cy5zcGxpY2UoaSwgMSk7XG4gICAgICB9LFxuICAgICAgZGlzcGF0Y2hFdmVudDogKGV2ZW50OiBNZW51RXZlbnQpID0+IHtcbiAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2Nob3Nlbic6XG4gICAgICAgICAgaWYgKHRoaXMucHJvcHMub25JdGVtQ2hvc2VuKSB0aGlzLnByb3BzLm9uSXRlbUNob3NlbihldmVudCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uTGVmdFB1c2hlZCkgdGhpcy5wcm9wcy5vbkxlZnRQdXNoZWQoZXZlbnQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgaWYgKHRoaXMucHJvcHMub25SaWdodFB1c2hlZCkgdGhpcy5wcm9wcy5vblJpZ2h0UHVzaGVkKGV2ZW50KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQuY2FuY2VsQnViYmxlKSByZXR1cm47XG4gICAgICAgIGNvbnN0IHBhcmVudEN0eCA9IHRoaXMuX3BhcmVudEN0eCgpO1xuICAgICAgICBpZiAocGFyZW50Q3R4KSB7XG4gICAgICAgICAgcGFyZW50Q3R4LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4ge21lbnVMaXN0SW5zcGVjdG9yfTtcbiAgfVxuXG4gIG1vdmVDdXJzb3IoZGlyZWN0aW9uOiBEaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QpOiBib29sZWFuIHtcbiAgICBjb25zdCBtZW51TGlzdCA9IHRoaXMuX2Rlc2NlbmRhbnRNZW51TGlzdHNbMF07XG4gICAgaWYgKCFtZW51TGlzdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBtZW51TGlzdC5tb3ZlQ3Vyc29yKGRpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJlbmRlcigpOiA/UmVhY3QuRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW47XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51TGlzdEluc3BlY3Rvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7Ozs7SUFXcUIsaUI7Ozs7Ozs7Ozs7Ozs7O3FPQWlCbkIsb0IsR0FBd0MsRTs7Ozs7aUNBRUE7QUFDdEMsYUFBTyxLQUFLLE9BQUwsQ0FBYSxpQkFBcEI7QUFDRDs7O3NDQUV5QjtBQUFBOztBQUN4QixVQUFNLG9CQUE4QztBQUNsRCwwQkFBa0IsMEJBQUMsUUFBRCxFQUF3QjtBQUN4QyxpQkFBSyxvQkFBTCxDQUEwQixJQUExQixDQUErQixRQUEvQjtBQUNELFNBSGlEO0FBSWxELDRCQUFvQiw0QkFBQyxRQUFELEVBQXdCO0FBQzFDLGNBQU0sSUFBSSxPQUFLLG9CQUFMLENBQTBCLE9BQTFCLENBQWtDLFFBQWxDLENBQVY7QUFDQSxjQUFJLElBQUksQ0FBUixFQUFXLE1BQU0sSUFBSSxLQUFKLENBQVUseUJBQVYsQ0FBTjtBQUNYLGlCQUFLLG9CQUFMLENBQTBCLE1BQTFCLENBQWlDLENBQWpDLEVBQW9DLENBQXBDO0FBQ0QsU0FSaUQ7QUFTbEQsdUJBQWUsdUJBQUMsS0FBRCxFQUFzQjtBQUNuQyxrQkFBUSxNQUFNLElBQWQ7QUFDQSxpQkFBSyxRQUFMO0FBQ0Usa0JBQUksT0FBSyxLQUFMLENBQVcsWUFBZixFQUE2QixPQUFLLEtBQUwsQ0FBVyxZQUFYLENBQXdCLEtBQXhCO0FBQzdCO0FBQ0YsaUJBQUssTUFBTDtBQUNFLGtCQUFJLE9BQUssS0FBTCxDQUFXLFlBQWYsRUFBNkIsT0FBSyxLQUFMLENBQVcsWUFBWCxDQUF3QixLQUF4QjtBQUM3QjtBQUNGLGlCQUFLLE9BQUw7QUFDRSxrQkFBSSxPQUFLLEtBQUwsQ0FBVyxhQUFmLEVBQThCLE9BQUssS0FBTCxDQUFXLGFBQVgsQ0FBeUIsS0FBekI7QUFDOUI7QUFURjtBQVdBLGNBQUksTUFBTSxZQUFWLEVBQXdCO0FBQ3hCLGNBQU0sWUFBWSxPQUFLLFVBQUwsRUFBbEI7QUFDQSxjQUFJLFNBQUosRUFBZTtBQUNiLHNCQUFVLGFBQVYsQ0FBd0IsS0FBeEI7QUFDRDtBQUNGO0FBMUJpRCxPQUFwRDtBQTRCQSxhQUFPLEVBQUMsb0NBQUQsRUFBUDtBQUNEOzs7K0JBRVUsUyxFQUFzQixrQixFQUFvQztBQUNuRSxVQUFNLFdBQVcsS0FBSyxvQkFBTCxDQUEwQixDQUExQixDQUFqQjtBQUNBLFVBQUksQ0FBQyxRQUFMLEVBQWU7QUFDYixlQUFPLEtBQVA7QUFDRDtBQUNELGVBQVMsVUFBVCxDQUFvQixTQUFwQixFQUErQixrQkFBL0I7QUFDQSxhQUFPLElBQVA7QUFDRDs7O21DQUV1QjtBQUN0QixXQUFLLElBQUksSUFBRSxDQUFOLEVBQVMsTUFBSSxLQUFLLG9CQUFMLENBQTBCLE1BQTVDLEVBQW9ELElBQUUsR0FBdEQsRUFBMkQsR0FBM0QsRUFBZ0U7QUFDOUQsWUFBSSxLQUFLLG9CQUFMLENBQTBCLENBQTFCLEVBQTZCLFlBQTdCLEVBQUosRUFBaUQ7QUFDL0MsaUJBQU8sSUFBUDtBQUNEO0FBQ0Y7QUFDRCxhQUFPLEtBQVA7QUFDRDs7OzZCQUV3QjtBQUN2QixhQUFPLEtBQUssS0FBTCxDQUFXLFFBQWxCO0FBQ0Q7OztFQTNFNEMsZ0JBQU0sUzs7QUFBaEMsaUIsQ0FDWixTLEdBQVk7QUFDakIsZ0JBQWMsaUJBQVUsSUFEUDtBQUVqQixnQkFBYyxpQkFBVSxJQUZQO0FBR2pCLGlCQUFlLGlCQUFVLElBSFI7O0FBS2pCLFlBQVUsaUJBQVU7QUFMSCxDO0FBREEsaUIsQ0FTWixpQixHQUFvQjtBQUN6QixxQkFBbUIsZ0JBQU0sU0FBTixDQUFnQjtBQURWLEM7QUFUUixpQixDQWFaLFksR0FBZTtBQUNwQixxQkFBbUIsZ0JBQU0sU0FBTixDQUFnQjtBQURmLEM7a0JBYkgsaUIiLCJmaWxlIjoiTWVudUxpc3RJbnNwZWN0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgUmVhY3QsIHtQcm9wVHlwZXN9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIE1lbnVMaXN0IGZyb20gJy4vTWVudUxpc3QnO1xuaW1wb3J0IHR5cGUgTWVudUV2ZW50IGZyb20gJy4vZXZlbnRzL01lbnVFdmVudCc7XG5pbXBvcnQgdHlwZSB7RGlyZWN0aW9uLCBSZWN0fSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgTWVudUxpc3RJbnNwZWN0b3JDb250ZXh0ID0ge1xuICByZWdpc3Rlck1lbnVMaXN0KG1lbnVMaXN0OiBNZW51TGlzdCk6IHZvaWQ7XG4gIHVucmVnaXN0ZXJNZW51TGlzdChtZW51TGlzdDogTWVudUxpc3QpOiB2b2lkO1xuICBkaXNwYXRjaEV2ZW50KGV2ZW50OiBNZW51RXZlbnQpOiB2b2lkO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWVudUxpc3RJbnNwZWN0b3IgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9uSXRlbUNob3NlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25MZWZ0UHVzaGVkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvblJpZ2h0UHVzaGVkOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuZWxlbWVudFxuICB9O1xuXG4gIHN0YXRpYyBjaGlsZENvbnRleHRUeXBlcyA9IHtcbiAgICBtZW51TGlzdEluc3BlY3RvcjogUmVhY3QuUHJvcFR5cGVzLm9iamVjdFxuICB9O1xuXG4gIHN0YXRpYyBjb250ZXh0VHlwZXMgPSB7XG4gICAgbWVudUxpc3RJbnNwZWN0b3I6IFJlYWN0LlByb3BUeXBlcy5vYmplY3RcbiAgfTtcblxuICBfZGVzY2VuZGFudE1lbnVMaXN0czogQXJyYXk8TWVudUxpc3Q+ID0gW107XG5cbiAgX3BhcmVudEN0eCgpOiA/TWVudUxpc3RJbnNwZWN0b3JDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0Lm1lbnVMaXN0SW5zcGVjdG9yO1xuICB9XG5cbiAgZ2V0Q2hpbGRDb250ZXh0KCk6IE9iamVjdCB7XG4gICAgY29uc3QgbWVudUxpc3RJbnNwZWN0b3I6IE1lbnVMaXN0SW5zcGVjdG9yQ29udGV4dCA9IHtcbiAgICAgIHJlZ2lzdGVyTWVudUxpc3Q6IChtZW51TGlzdDogTWVudUxpc3QpID0+IHtcbiAgICAgICAgdGhpcy5fZGVzY2VuZGFudE1lbnVMaXN0cy5wdXNoKG1lbnVMaXN0KTtcbiAgICAgIH0sXG4gICAgICB1bnJlZ2lzdGVyTWVudUxpc3Q6IChtZW51TGlzdDogTWVudUxpc3QpID0+IHtcbiAgICAgICAgY29uc3QgaSA9IHRoaXMuX2Rlc2NlbmRhbnRNZW51TGlzdHMuaW5kZXhPZihtZW51TGlzdCk7XG4gICAgICAgIGlmIChpIDwgMCkgdGhyb3cgbmV3IEVycm9yKCdNZW51TGlzdCBub3QgcmVnaXN0ZXJlZCcpO1xuICAgICAgICB0aGlzLl9kZXNjZW5kYW50TWVudUxpc3RzLnNwbGljZShpLCAxKTtcbiAgICAgIH0sXG4gICAgICBkaXNwYXRjaEV2ZW50OiAoZXZlbnQ6IE1lbnVFdmVudCkgPT4ge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgICAgY2FzZSAnY2hvc2VuJzpcbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkl0ZW1DaG9zZW4pIHRoaXMucHJvcHMub25JdGVtQ2hvc2VuKGV2ZW50KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgaWYgKHRoaXMucHJvcHMub25MZWZ0UHVzaGVkKSB0aGlzLnByb3BzLm9uTGVmdFB1c2hlZChldmVudCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblJpZ2h0UHVzaGVkKSB0aGlzLnByb3BzLm9uUmlnaHRQdXNoZWQoZXZlbnQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5jYW5jZWxCdWJibGUpIHJldHVybjtcbiAgICAgICAgY29uc3QgcGFyZW50Q3R4ID0gdGhpcy5fcGFyZW50Q3R4KCk7XG4gICAgICAgIGlmIChwYXJlbnRDdHgpIHtcbiAgICAgICAgICBwYXJlbnRDdHguZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiB7bWVudUxpc3RJbnNwZWN0b3J9O1xuICB9XG5cbiAgbW92ZUN1cnNvcihkaXJlY3Rpb246IERpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1lbnVMaXN0ID0gdGhpcy5fZGVzY2VuZGFudE1lbnVMaXN0c1swXTtcbiAgICBpZiAoIW1lbnVMaXN0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIG1lbnVMaXN0Lm1vdmVDdXJzb3IoZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaGFzSGlnaGxpZ2h0KCk6IGJvb2xlYW4ge1xuICAgIGZvciAobGV0IGk9MCwgbGVuPXRoaXMuX2Rlc2NlbmRhbnRNZW51TGlzdHMubGVuZ3RoOyBpPGxlbjsgaSsrKSB7XG4gICAgICBpZiAodGhpcy5fZGVzY2VuZGFudE1lbnVMaXN0c1tpXS5oYXNIaWdobGlnaHQoKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmVuZGVyKCk6ID9SZWFjdC5FbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbjtcbiAgfVxufVxuIl19

@@ -118,2 +118,24 @@ 'use strict';

}, {
key: 'hasHighlight',
value: function hasHighlight() {
return this.refs.menuItem.hasHighlight();
}
}, {
key: 'highlight',
value: function highlight() {
var byKeyboard = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
this.refs.menuItem.highlight(byKeyboard);
}
}, {
key: 'unhighlight',
value: function unhighlight() {
this.refs.menuItem.unhighlight();
}
}, {
key: 'moveCursor',
value: function moveCursor(direction, prevCursorLocation) {
this.refs.menuItem.moveCursor(direction, prevCursorLocation);
}
}, {
key: '_onHighlightChange',

@@ -324,2 +346,2 @@ value: function _onHighlightChange(highlighted, event) {

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TdWJNZW51SXRlbS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7O0lBU3FCOzs7Ozs7Ozs7Ozs7OzsrTkE2Qm5CLFFBQWU7QUFDYixjQUFRLEtBQVI7YUFHRiwwQkFBa0MsaUNBQ2xDLFdBQW1COzs7NkJBbENBOzsyQ0FvQ0k7QUFDckIsV0FBSyxRQUFMLENBQWMsSUFBZCxDQUFtQixJQUFuQixFQURxQjs7OzsyQkFJaEI7QUFDTCxXQUFLLElBQUwsQ0FBVSxRQUFWLENBQW1CLGFBQW5CLEdBREs7QUFFTCxVQUFJLEtBQUssS0FBTCxDQUFXLE1BQVgsRUFBbUIsT0FBdkI7QUFDQSxVQUFJLEtBQUssS0FBTCxDQUFXLFVBQVgsRUFBdUIsS0FBSyxLQUFMLENBQVcsVUFBWCxHQUEzQjtBQUNBLFdBQUssUUFBTCxDQUFjLEVBQUMsUUFBUSxJQUFSLEVBQWYsRUFBOEIsS0FBSyxLQUFMLENBQVcsU0FBWCxDQUE5QixDQUpLO0FBS0wsV0FBSyxJQUFMLENBQVUsUUFBVixDQUFtQixZQUFuQixHQUxLOzs7OzRCQVFDO0FBQ04sVUFBSSxDQUFDLEtBQUssS0FBTCxDQUFXLE1BQVgsRUFBbUIsT0FBeEI7QUFDQSxVQUFJLEtBQUssS0FBTCxDQUFXLFdBQVgsRUFBd0IsS0FBSyxLQUFMLENBQVcsV0FBWCxHQUE1QjtBQUNBLFdBQUssUUFBTCxDQUFjLEVBQUMsUUFBUSxLQUFSLEVBQWYsRUFITTtBQUlOLFdBQUssSUFBTCxDQUFVLFFBQVYsQ0FBbUIsZUFBbkIsR0FKTTtBQUtOLFdBQUssSUFBTCxDQUFVLFFBQVYsQ0FBbUIsZUFBbkIsR0FMTTs7Ozs2QkFRQztBQUNQLFVBQUksS0FBSyxLQUFMLENBQVcsTUFBWCxFQUFtQjtBQUNyQixhQUFLLEtBQUwsR0FEcUI7T0FBdkIsTUFFTztBQUNMLGFBQUssSUFBTCxHQURLO09BRlA7Ozs7aUNBT1c7QUFDWCxXQUFLLElBQUwsQ0FBVSxXQUFWLENBQXNCLFVBQXRCLEdBRFc7Ozs7dUNBSU0sYUFBc0IsT0FBZTs7O0FBQ3RELFdBQUssdUJBQUwsQ0FBNkIsSUFBN0IsQ0FBa0MsSUFBbEMsRUFEc0Q7O0FBR3RELFVBQUksZUFBZSxDQUFDLE1BQU0sVUFBTixFQUFrQjtBQUNwQyxZQUFNLGFBQWEsR0FBYixDQUQ4Qjs7QUFHcEMsd0JBQU0sS0FBTixDQUFZLFVBQVosRUFDRyxXQURILENBQ2UsS0FBSyx1QkFBTCxDQURmLENBRUcsV0FGSCxDQUVlLEtBQUssUUFBTCxDQUZmLENBR0csT0FISCxDQUdXLFlBQU07QUFDYixpQkFBSyxJQUFMLEdBRGE7U0FBTixDQUhYLENBSG9DO09BQXRDLE1BU08sSUFBSSxDQUFDLFdBQUQsRUFBYztBQUN2QixhQUFLLEtBQUwsR0FEdUI7T0FBbEI7Ozs7c0NBS1MsT0FBZTs7O0FBQy9CLFVBQUksQ0FBQyxLQUFLLEtBQUwsQ0FBVyxNQUFYLEVBQW1CO0FBQ3RCLGFBQUssSUFBTCxDQUFVLFFBQVYsQ0FBbUIsV0FBbkIsR0FEc0I7QUFFdEIsZUFGc0I7T0FBeEI7Ozs7QUFEK0IsVUFRekIsV0FBVyxLQUFLLElBQUwsQ0FBVSxhQUFWLENBQXdCLHFCQUF4QixFQUFYLENBUnlCOztBQVUvQixVQUFNLFlBQVksS0FBSyxHQUFMLEVBQVosQ0FWeUI7QUFXL0IsVUFBTSxTQUFTLE1BQU0sS0FBTjtVQUFhLFNBQVMsTUFBTSxLQUFOLENBWE47O0FBYS9CLGVBQVMsV0FBVCxDQUFxQixDQUFyQixFQUF3QixDQUF4QixFQUEyQjtBQUN6QixlQUFPLGlDQUFrQixDQUFsQixFQUFxQixDQUFyQixFQUF3QixTQUFTLElBQVQsRUFBZSxTQUFTLEdBQVQsRUFBYyxTQUFTLEtBQVQsR0FBZSxTQUFTLEtBQVQsRUFBZ0IsU0FBUyxNQUFULEdBQWdCLFNBQVMsR0FBVCxDQUEzRyxDQUR5QjtPQUEzQjs7QUFJQSxVQUFNLGdCQUFnQixZQUFZLE1BQVosRUFBb0IsTUFBcEIsQ0FBaEIsQ0FqQnlCO0FBa0IvQixVQUFJLGFBQWEsRUFBQyxPQUFPLE1BQVAsRUFBZSxPQUFPLE1BQVAsRUFBN0I7Ozs7QUFsQjJCLFVBc0J6QixZQUFZLEVBQVo7Ozs7QUF0QnlCLFVBMEJ6QixXQUFXLEdBQVg7Ozs7QUExQnlCLFVBOEJ6QixZQUFZLEVBQVo7Ozs7QUE5QnlCLHFCQWtDL0IsQ0FBTSxVQUFOLENBQWlCLE1BQWpCLEVBQXlCLFdBQXpCLEVBQ0csUUFESCxDQUNZLGdCQUFNLFFBQU4sQ0FBZSxFQUFmLEVBQW1CLElBQW5CLENBRFosRUFFRyxHQUZILENBRU8sa0JBQVU7QUFDYixZQUFJLE9BQU8sTUFBUCxFQUFlO0FBQ2pCLGNBQU0sT0FBTyxPQUFPLE9BQU8sTUFBUCxHQUFjLENBQWQsQ0FBZCxDQURXO0FBRWpCLHVCQUFhLEVBQUMsT0FBTyxLQUFLLEtBQUwsRUFBWSxPQUFPLEtBQUssS0FBTCxFQUF4QyxDQUZpQjtTQUFuQjtBQUlBLGVBQU8sVUFBUCxDQUxhO09BQVYsQ0FGUCxDQVNHLE1BVEgsQ0FTVSxnQkFBb0I7WUFBbEIsbUJBQWtCO1lBQVgsbUJBQVc7O0FBQzFCLFlBQU0sV0FBVyxZQUFZLEtBQVosRUFBbUIsS0FBbkIsQ0FBWCxDQURvQjtBQUUxQixZQUFNLGNBQWMsZ0JBQWdCLENBQUMsS0FBSyxHQUFMLEtBQVcsU0FBWCxHQUFxQixTQUFyQixDQUFELEdBQWlDLElBQWpDLEdBQXdDLFNBQXhDLENBRlY7QUFHMUIsZUFBTyxXQUFXLFdBQVgsQ0FIbUI7T0FBcEIsQ0FUVixDQWNHLEtBZEgsQ0FjUyxnQkFBTSxLQUFOLENBQVksV0FBUyxJQUFULENBZHJCLEVBZUcsSUFmSCxDQWVRLENBZlIsRUFnQkcsV0FoQkgsQ0FnQmUsS0FBSyx1QkFBTCxDQWhCZixDQWlCRyxXQWpCSCxDQWlCZSxLQUFLLFFBQUwsQ0FqQmYsQ0FrQkcsT0FsQkgsQ0FrQlcsWUFBTTtBQUNiLGVBQUssS0FBTCxHQURhO0FBRWIsZUFBSyxJQUFMLENBQVUsUUFBVixDQUFtQixXQUFuQixHQUZhO09BQU4sQ0FsQlgsQ0FsQytCOzs7O3NDQTBEZjtBQUNoQixXQUFLLHVCQUFMLENBQTZCLElBQTdCLENBQWtDLElBQWxDLEVBRGdCO0FBRWhCLFdBQUssSUFBTCxDQUFVLFFBQVYsQ0FBbUIsZUFBbkIsR0FGZ0I7Ozs7NkJBS1Q7OzttQkFJSCxLQUFLLEtBQUwsQ0FKRztVQUVMLHFCQUZLO1VBRUUsMkNBRkY7VUFFb0IsbURBRnBCO1VBR0wseUNBSEs7VUFHWSwrQkFIWjtVQUd3QiwyQkFIeEI7VUFHa0MsbUJBSGxDO1VBS0EsU0FBVSxLQUFLLEtBQUwsQ0FBVixPQUxBOzs7QUFPUCxVQUFJLFFBQVEsS0FBSyxLQUFMLENBQVcsS0FBWCxDQVBMO0FBUVAsVUFBSSxZQUFZLEtBQUssS0FBTCxDQUFXLFNBQVgsQ0FSVDtBQVNQLFVBQUksTUFBSixFQUFZO0FBQ1YsWUFBSSxLQUFLLEtBQUwsQ0FBVyxXQUFYLEVBQXdCO0FBQzFCLDZDQUFZLE9BQVUsS0FBSyxLQUFMLENBQVcsV0FBWCxDQUF0QixDQUQwQjtTQUE1QjtBQUdBLFlBQUksS0FBSyxLQUFMLENBQVcsZUFBWCxFQUE0QjtBQUM5Qix1QkFBZSxhQUFXLEVBQVgsVUFBaUIsS0FBSyxLQUFMLENBQVcsZUFBWCxDQURGO1NBQWhDO09BSkY7O0FBU0EsYUFDRTs7O0FBQ0UsZUFBSSxVQUFKO0FBQ0EsaUJBQU8sS0FBUDtBQUNBLGlCQUFPLEtBQVA7QUFDQSxxQkFBVyxTQUFYO0FBQ0EsNEJBQWtCLGdCQUFsQjtBQUNBLGdDQUFzQixvQkFBdEI7QUFDQSw2QkFBbUIsMkJBQUMsQ0FBRCxFQUFHLENBQUg7bUJBQVMsT0FBSyxrQkFBTCxDQUF3QixDQUF4QixFQUEwQixDQUExQjtXQUFUO0FBQ25CLHdCQUFjO21CQUFLLE9BQUssaUJBQUwsQ0FBdUIsQ0FBdkI7V0FBTDtBQUNkLHlCQUFlLHVCQUFDLENBQUQsRUFBa0I7QUFDL0IsZ0JBQUksQ0FBQyxPQUFLLEtBQUwsQ0FBVyxNQUFYLEVBQW1CO0FBQ3RCLGdCQUFFLGVBQUYsR0FEc0I7QUFFdEIsZ0JBQUUsY0FBRixHQUZzQjtBQUd0QixxQkFBSyxJQUFMLEdBSHNCO0FBSXRCLHFCQUFLLElBQUwsQ0FBVSxhQUFWLENBQXdCLFVBQXhCLENBQW1DLE1BQW5DLEVBSnNCO2FBQXhCO1dBRGE7QUFRZix3QkFBYyxzQkFBQyxDQUFELEVBQW9CO0FBQ2hDLGNBQUUsZUFBRixHQURnQztBQUVoQyxjQUFFLGNBQUYsR0FGZ0M7QUFHaEMsbUJBQUssSUFBTCxHQUhnQztBQUloQyxnQkFBSSxFQUFFLFVBQUYsRUFBYztBQUNoQixxQkFBSyxJQUFMLENBQVUsYUFBVixDQUF3QixVQUF4QixDQUFtQyxNQUFuQyxFQURnQjthQUFsQjtXQUpZO0FBUWQsMkJBQWUsSUFBZjtBQUNBLDJCQUFlLE1BQWY7U0ExQkY7UUE0QkU7QUFDRSxlQUFJLGFBQUo7QUFDQSxtQkFBUyxlQUFUO0FBQ0Esa0JBQVEsVUFBUjtBQUNBLGtCQUNFOzs7WUFDRyxRQURIO1dBREY7QUFLQSxpQkFDRSxDQUFDLE1BQUQsR0FBVSxJQUFWLEdBQ0U7OztBQUNFLG1CQUFJLGVBQUo7QUFDQSw0QkFBYyx5QkFBSztBQUNqQixrQkFBRSxlQUFGLEdBRGlCO0FBRWpCLGtCQUFFLGNBQUYsR0FGaUI7QUFHakIsdUJBQUssS0FBTCxHQUhpQjtlQUFMO2FBRmhCO1lBUUU7OztBQUNFLHFCQUFJLGVBQUo7QUFDQSw4QkFBYzt5QkFBSSxPQUFLLGVBQUw7aUJBQUo7ZUFGaEI7Y0FJRyxJQUpIO2FBUkY7V0FERjtTQVZKLENBNUJGO09BREYsQ0FsQk87OztTQXBKVTtFQUFvQixnQkFBTSxTQUFOOztBQUFwQixZQUNaLFlBQVk7QUFDakIsUUFBTSxpQkFBVSxJQUFWO0FBQ04sbUJBQWlCLGlCQUFVLE1BQVY7QUFDakIsY0FBWSxpQkFBVSxTQUFWLENBQW9CLENBQUMsaUJBQVUsTUFBVixFQUFrQixpQkFBVSxNQUFWLENBQXZDLENBQVo7O0FBRUEsY0FBWSxpQkFBVSxJQUFWO0FBQ1osYUFBVyxpQkFBVSxJQUFWO0FBQ1gsZUFBYSxpQkFBVSxJQUFWOztBQUViLGFBQVcsaUJBQVUsTUFBVjtBQUNYLFNBQU8saUJBQVUsTUFBVjtBQUNQLHdCQUFzQixpQkFBVSxNQUFWO0FBQ3RCLG9CQUFrQixpQkFBVSxNQUFWO0FBQ2xCLFNBQU8saUJBQVUsTUFBVjs7QUFFUCxtQkFBaUIsaUJBQVUsTUFBVjtBQUNqQixlQUFhLGlCQUFVLE1BQVY7O0FBRWIsZ0JBQWMsaUJBQVUsSUFBVjtBQUNkLHFCQUFtQixpQkFBVSxJQUFWOztBQUVuQixZQUFVLGlCQUFVLElBQVY7O0FBdEJPLFlBeUJaLGVBQWU7QUFDcEIsbUJBQWlCLEVBQUMsVUFBUyxPQUFULEVBQWtCLFFBQU8sS0FBUCxFQUFjLFFBQVEsTUFBUixFQUFsRDs7a0JBMUJpQiIsImZpbGUiOiJTdWJNZW51SXRlbS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmltcG9ydCBLZWZpciBmcm9tICdrZWZpcic7XG5pbXBvcnQga2VmaXJCdXMgZnJvbSAna2VmaXItYnVzJztcbmltcG9ydCBSZWFjdCwge1Byb3BUeXBlc30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHBvaW50UmVjdERpc3RhbmNlIGZyb20gJy4vbGliL3BvaW50UmVjdERpc3RhbmNlJztcblxuaW1wb3J0IE1lbnVMaXN0SW5zcGVjdG9yIGZyb20gJy4vTWVudUxpc3RJbnNwZWN0b3InO1xuaW1wb3J0IEZsb2F0QW5jaG9yIGZyb20gJ3JlYWN0LWZsb2F0LWFuY2hvcic7XG5pbXBvcnQgTWVudUl0ZW0gZnJvbSAnLi9NZW51SXRlbSc7XG5cbmltcG9ydCB0eXBlIE1lbnVFdmVudCBmcm9tICcuL2V2ZW50cy9NZW51RXZlbnQnO1xuaW1wb3J0IHR5cGUgQ2hvc2VuRXZlbnQgZnJvbSAnLi9ldmVudHMvQ2hvc2VuRXZlbnQnO1xuXG50eXBlIFN0YXRlID0ge1xuICBvcGVuZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWJNZW51SXRlbSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgbWVudTogUHJvcFR5cGVzLm5vZGUsXG4gICAgcG9zaXRpb25PcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1lbnVaSW5kZXg6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5udW1iZXJdKSxcblxuICAgIG9uV2lsbE9wZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uRGlkT3BlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25XaWxsQ2xvc2U6IFByb3BUeXBlcy5mdW5jLFxuXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGhpZ2hsaWdodGVkQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGhpZ2hsaWdodGVkU3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaW5kZXg6IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgICBvcGVuZWRDbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb3BlbmVkU3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICBvbkl0ZW1DaG9zZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uSGlnaGxpZ2h0Q2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZVxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcG9zaXRpb25PcHRpb25zOiB7cG9zaXRpb246J3JpZ2h0JywgdkFsaWduOid0b3AnLCBoQWxpZ246ICdsZWZ0J31cbiAgfTtcblxuICBzdGF0ZTogU3RhdGUgPSB7XG4gICAgb3BlbmVkOiBmYWxzZVxuICB9O1xuXG4gIF9yZXNldE1vdXNlTGVhdmVXYXRjaGVyOiBPYmplY3QgPSBrZWZpckJ1cygpO1xuICBfc3RvcHBlcjogT2JqZWN0ID0ga2VmaXJCdXMoKTtcblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLl9zdG9wcGVyLmVtaXQobnVsbCk7XG4gIH1cblxuICBvcGVuKCkge1xuICAgIHRoaXMucmVmcy5tZW51SXRlbS5sb2NrSGlnaGxpZ2h0KCk7XG4gICAgaWYgKHRoaXMuc3RhdGUub3BlbmVkKSByZXR1cm47XG4gICAgaWYgKHRoaXMucHJvcHMub25XaWxsT3BlbikgdGhpcy5wcm9wcy5vbldpbGxPcGVuKCk7XG4gICAgdGhpcy5zZXRTdGF0ZSh7b3BlbmVkOiB0cnVlfSwgdGhpcy5wcm9wcy5vbkRpZE9wZW4pO1xuICAgIHRoaXMucmVmcy5tZW51SXRlbS50YWtlS2V5Ym9hcmQoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGlmICghdGhpcy5zdGF0ZS5vcGVuZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5wcm9wcy5vbldpbGxDbG9zZSkgdGhpcy5wcm9wcy5vbldpbGxDbG9zZSgpO1xuICAgIHRoaXMuc2V0U3RhdGUoe29wZW5lZDogZmFsc2V9KTtcbiAgICB0aGlzLnJlZnMubWVudUl0ZW0ucmVsZWFzZUtleWJvYXJkKCk7XG4gICAgdGhpcy5yZWZzLm1lbnVJdGVtLnVubG9ja0hpZ2hsaWdodCgpO1xuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIGlmICh0aGlzLnN0YXRlLm9wZW5lZCkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICB9XG4gIH1cblxuICByZXBvc2l0aW9uKCkge1xuICAgIHRoaXMucmVmcy5mbG9hdEFuY2hvci5yZXBvc2l0aW9uKCk7XG4gIH1cblxuICBfb25IaWdobGlnaHRDaGFuZ2UoaGlnaGxpZ2h0ZWQ6IGJvb2xlYW4sIGV2ZW50OiBPYmplY3QpIHtcbiAgICB0aGlzLl9yZXNldE1vdXNlTGVhdmVXYXRjaGVyLmVtaXQobnVsbCk7XG5cbiAgICBpZiAoaGlnaGxpZ2h0ZWQgJiYgIWV2ZW50LmJ5S2V5Ym9hcmQpIHtcbiAgICAgIGNvbnN0IE9QRU5fREVMQVkgPSAyMDA7XG5cbiAgICAgIEtlZmlyLmxhdGVyKE9QRU5fREVMQVkpXG4gICAgICAgIC50YWtlVW50aWxCeSh0aGlzLl9yZXNldE1vdXNlTGVhdmVXYXRjaGVyKVxuICAgICAgICAudGFrZVVudGlsQnkodGhpcy5fc3RvcHBlcilcbiAgICAgICAgLm9uVmFsdWUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKCFoaWdobGlnaHRlZCkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIF9vbk1vdXNlTGVhdmVJdGVtKGV2ZW50OiBPYmplY3QpIHtcbiAgICBpZiAoIXRoaXMuc3RhdGUub3BlbmVkKSB7XG4gICAgICB0aGlzLnJlZnMubWVudUl0ZW0udW5oaWdobGlnaHQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgbW91c2UgaXNuJ3QgZ29pbmcgdG93YXJkIHRoZSBtZW51LCB0aGVuIHVuaGlnaGxpZ2h0IG91cnNlbGYuXG5cbiAgICBjb25zdCBtZW51UmVjdCA9IHRoaXMucmVmcy5tZW51Q29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICBjb25zdCBzdGFydFggPSBldmVudC5wYWdlWCwgc3RhcnRZID0gZXZlbnQucGFnZVk7XG5cbiAgICBmdW5jdGlvbiBnZXREaXN0YW5jZSh4LCB5KSB7XG4gICAgICByZXR1cm4gcG9pbnRSZWN0RGlzdGFuY2UoeCwgeSwgbWVudVJlY3QubGVmdCwgbWVudVJlY3QudG9wLCBtZW51UmVjdC5yaWdodC1tZW51UmVjdC53aWR0aCwgbWVudVJlY3QuYm90dG9tLW1lbnVSZWN0LnRvcCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnREaXN0YW5jZSA9IGdldERpc3RhbmNlKHN0YXJ0WCwgc3RhcnRZKTtcbiAgICBsZXQgbGFzdENvb3JkcyA9IHtwYWdlWDogc3RhcnRYLCBwYWdlWTogc3RhcnRZfTtcblxuICAgIC8vIHBpeGVscyBwZXIgc2Vjb25kIHRoZSB1c2VyIG11c3QgYmUgbW92aW5nIHRoZSBtb3VzZSB0b3dhcmQgdGhlIG1lbnUgZm9yXG4gICAgLy8gdGhlIG1lbnUgdG8gc3RheSBvcGVuLlxuICAgIGNvbnN0IE1JTl9TUEVFRCA9IDYwO1xuXG4gICAgLy8gbXMgYmVmb3JlIHRoZSBtZW51IHdpbGwgY2xvc2UgaWYgdGhlIHVzZXIgaGFzbid0IHJlYWNoZWQgaXQgeWV0LCBub1xuICAgIC8vIG1hdHRlciBob3cgdGhleSdyZSBtb3ZpbmcgdGhlIGN1cnNvciB0b3dhcmQgaXQuXG4gICAgY29uc3QgTUFYX1RJTUUgPSA3NTA7XG5cbiAgICAvLyBtcyB0byBvZmZzZXQgc3RhcnQgdGltZSwgdG8gc2V0IG1heERpc3RhbmNlIGJhY2sgYSBsaXR0bGUgc28gaXQncyBub3Qgc29cbiAgICAvLyB1bmZvcmdpdmluZyBhdCB0aGUgdmVyeSBzdGFydC5cbiAgICBjb25zdCBMRUFEX1RJTUUgPSA1MDtcblxuICAgIC8vIExpc3RlbiB0byBtb3VzZSBtb3ZlcywgZmluZCB0aGUgZmlyc3QgZXZlbnQgbm90IGdvaW5nIHRvd2FyZHMgdGhlIG1lbnUsXG4gICAgLy8gYW5kIGVuZCBpdCB0aGVyZS4gT3IgZW5kIGFmdGVyIGEgdGltZXIuXG4gICAgS2VmaXIuZnJvbUV2ZW50cyh3aW5kb3csICdtb3VzZW1vdmUnKVxuICAgICAgLmJ1ZmZlckJ5KEtlZmlyLmludGVydmFsKDYwLCBudWxsKSlcbiAgICAgIC5tYXAoZXZlbnRzID0+IHtcbiAgICAgICAgaWYgKGV2ZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCBsYXN0ID0gZXZlbnRzW2V2ZW50cy5sZW5ndGgtMV07XG4gICAgICAgICAgbGFzdENvb3JkcyA9IHtwYWdlWDogbGFzdC5wYWdlWCwgcGFnZVk6IGxhc3QucGFnZVl9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsYXN0Q29vcmRzO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKHtwYWdlWCwgcGFnZVl9KSA9PiB7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlID0gZ2V0RGlzdGFuY2UocGFnZVgsIHBhZ2VZKTtcbiAgICAgICAgY29uc3QgbWF4RGlzdGFuY2UgPSBzdGFydERpc3RhbmNlIC0gKERhdGUubm93KCktc3RhcnRUaW1lLUxFQURfVElNRSkvMTAwMCAqIE1JTl9TUEVFRDtcbiAgICAgICAgcmV0dXJuIGRpc3RhbmNlID4gbWF4RGlzdGFuY2U7XG4gICAgICB9KVxuICAgICAgLm1lcmdlKEtlZmlyLmxhdGVyKE1BWF9USU1FKjEwMDApKVxuICAgICAgLnRha2UoMSlcbiAgICAgIC50YWtlVW50aWxCeSh0aGlzLl9yZXNldE1vdXNlTGVhdmVXYXRjaGVyKVxuICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3N0b3BwZXIpXG4gICAgICAub25WYWx1ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5yZWZzLm1lbnVJdGVtLnVuaGlnaGxpZ2h0KCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIF9tb3VzZUVudGVyTWVudSgpIHtcbiAgICB0aGlzLl9yZXNldE1vdXNlTGVhdmVXYXRjaGVyLmVtaXQobnVsbCk7XG4gICAgdGhpcy5yZWZzLm1lbnVJdGVtLnVubG9ja0hpZ2hsaWdodCgpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGluZGV4LCBoaWdobGlnaHRlZFN0eWxlLCBoaWdobGlnaHRlZENsYXNzTmFtZSxcbiAgICAgIHBvc2l0aW9uT3B0aW9ucywgbWVudVpJbmRleCwgY2hpbGRyZW4sIG1lbnVcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7b3BlbmVkfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBsZXQgc3R5bGUgPSB0aGlzLnByb3BzLnN0eWxlO1xuICAgIGxldCBjbGFzc05hbWUgPSB0aGlzLnByb3BzLmNsYXNzTmFtZTtcbiAgICBpZiAob3BlbmVkKSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5vcGVuZWRTdHlsZSkge1xuICAgICAgICBzdHlsZSA9IHsuLi5zdHlsZSwgLi4udGhpcy5wcm9wcy5vcGVuZWRTdHlsZX07XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wcm9wcy5vcGVuZWRDbGFzc05hbWUpIHtcbiAgICAgICAgY2xhc3NOYW1lID0gYCR7Y2xhc3NOYW1lfHwnJ30gJHt0aGlzLnByb3BzLm9wZW5lZENsYXNzTmFtZX1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8TWVudUl0ZW1cbiAgICAgICAgcmVmPVwibWVudUl0ZW1cIlxuICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgIGhpZ2hsaWdodGVkU3R5bGU9e2hpZ2hsaWdodGVkU3R5bGV9XG4gICAgICAgIGhpZ2hsaWdodGVkQ2xhc3NOYW1lPXtoaWdobGlnaHRlZENsYXNzTmFtZX1cbiAgICAgICAgb25IaWdobGlnaHRDaGFuZ2U9eyhoLGUpID0+IHRoaXMuX29uSGlnaGxpZ2h0Q2hhbmdlKGgsZSl9XG4gICAgICAgIG9uTW91c2VMZWF2ZT17ZSA9PiB0aGlzLl9vbk1vdXNlTGVhdmVJdGVtKGUpfVxuICAgICAgICBvblJpZ2h0UHVzaGVkPXsoZTogTWVudUV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLnN0YXRlLm9wZW5lZCkge1xuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgdGhpcy5yZWZzLm1lbnVJbnNwZWN0b3IubW92ZUN1cnNvcignZG93bicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgb25JdGVtQ2hvc2VuPXsoZTogQ2hvc2VuRXZlbnQpID0+IHtcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICBpZiAoZS5ieUtleWJvYXJkKSB7XG4gICAgICAgICAgICB0aGlzLnJlZnMubWVudUluc3BlY3Rvci5tb3ZlQ3Vyc29yKCdkb3duJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICBhcmlhLWhhc3BvcHVwPXt0cnVlfVxuICAgICAgICBhcmlhLWV4cGFuZGVkPXtvcGVuZWR9XG4gICAgICA+XG4gICAgICAgIDxGbG9hdEFuY2hvclxuICAgICAgICAgIHJlZj1cImZsb2F0QW5jaG9yXCJcbiAgICAgICAgICBvcHRpb25zPXtwb3NpdGlvbk9wdGlvbnN9XG4gICAgICAgICAgekluZGV4PXttZW51WkluZGV4fVxuICAgICAgICAgIGFuY2hvcj17XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgZmxvYXQ9e1xuICAgICAgICAgICAgIW9wZW5lZCA/IG51bGwgOlxuICAgICAgICAgICAgICA8TWVudUxpc3RJbnNwZWN0b3JcbiAgICAgICAgICAgICAgICByZWY9XCJtZW51SW5zcGVjdG9yXCJcbiAgICAgICAgICAgICAgICBvbkxlZnRQdXNoZWQ9e2UgPT4ge1xuICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgcmVmPVwibWVudUNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpPT50aGlzLl9tb3VzZUVudGVyTWVudSgpfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge21lbnV9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvTWVudUxpc3RJbnNwZWN0b3I+XG4gICAgICAgICAgfVxuICAgICAgICAgIC8+XG4gICAgICA8L01lbnVJdGVtPlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TdWJNZW51SXRlbS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7O0lBVXFCLFc7Ozs7Ozs7Ozs7Ozs7OytOQTZCbkIsSyxHQUFlO0FBQ2IsY0FBUTtBQURLLEssUUFJZix1QixHQUFrQyx5QixRQUNsQyxRLEdBQW1CLHlCOzs7OzsyQ0FFSTtBQUNyQixXQUFLLFFBQUwsQ0FBYyxJQUFkLENBQW1CLElBQW5CO0FBQ0Q7OzsyQkFFTTtBQUNMLFdBQUssSUFBTCxDQUFVLFFBQVYsQ0FBbUIsYUFBbkI7QUFDQSxVQUFJLEtBQUssS0FBTCxDQUFXLE1BQWYsRUFBdUI7QUFDdkIsVUFBSSxLQUFLLEtBQUwsQ0FBVyxVQUFmLEVBQTJCLEtBQUssS0FBTCxDQUFXLFVBQVg7QUFDM0IsV0FBSyxRQUFMLENBQWMsRUFBQyxRQUFRLElBQVQsRUFBZCxFQUE4QixLQUFLLEtBQUwsQ0FBVyxTQUF6QztBQUNBLFdBQUssSUFBTCxDQUFVLFFBQVYsQ0FBbUIsWUFBbkI7QUFDRDs7OzRCQUVPO0FBQ04sVUFBSSxDQUFDLEtBQUssS0FBTCxDQUFXLE1BQWhCLEVBQXdCO0FBQ3hCLFVBQUksS0FBSyxLQUFMLENBQVcsV0FBZixFQUE0QixLQUFLLEtBQUwsQ0FBVyxXQUFYO0FBQzVCLFdBQUssUUFBTCxDQUFjLEVBQUMsUUFBUSxLQUFULEVBQWQ7QUFDQSxXQUFLLElBQUwsQ0FBVSxRQUFWLENBQW1CLGVBQW5CO0FBQ0EsV0FBSyxJQUFMLENBQVUsUUFBVixDQUFtQixlQUFuQjtBQUNEOzs7NkJBRVE7QUFDUCxVQUFJLEtBQUssS0FBTCxDQUFXLE1BQWYsRUFBdUI7QUFDckIsYUFBSyxLQUFMO0FBQ0QsT0FGRCxNQUVPO0FBQ0wsYUFBSyxJQUFMO0FBQ0Q7QUFDRjs7O2lDQUVZO0FBQ1gsV0FBSyxJQUFMLENB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QUlHO0FBSkg7QUFSRjtBQVhOO0FBNUJGLE9BREY7QUEyREQ7OztFQWpQc0MsZ0JBQU0sUzs7QUFBMUIsVyxDQUNaLFMsR0FBWTtBQUNqQixRQUFNLGlCQUFVLElBREM7QUFFakIsbUJBQWlCLGlCQUFVLE1BRlY7QUFHakIsY0FBWSxpQkFBVSxTQUFWLENBQW9CLENBQUMsaUJBQVUsTUFBWCxFQUFtQixpQkFBVSxNQUE3QixDQUFwQixDQUhLOztBQUtqQixjQUFZLGlCQUFVLElBTEw7QUFNakIsYUFBVyxpQkFBVSxJQU5KO0FBT2pCLGVBQWEsaUJBQVUsSUFQTjs7QUFTakIsYUFBVyxpQkFBVSxNQVRKO0FBVWpCLFNBQU8saUJBQVUsTUFWQTtBQVdqQix3QkFBc0IsaUJBQVUsTUFYZjtBQVlqQixvQkFBa0IsaUJBQVUsTUFaWDtBQWFqQixTQUFPLGlCQUFVLE1BYkE7O0FBZWpCLG1CQUFpQixpQkFBVSxNQWZWO0FBZ0JqQixlQUFhLGlCQUFVLE1BaEJOOztBQWtCakIsZ0JBQWMsaUJBQVUsSUFsQlA7QUFtQmpCLHFCQUFtQixpQkFBVSxJQW5CWjs7QUFxQmpCLFlBQVUsaUJBQVU7QUFyQkgsQztBQURBLFcsQ0F5QlosWSxHQUFlO0FBQ3BCLG1CQUFpQixFQUFDLFVBQVMsT0FBVixFQUFtQixRQUFPLEtBQTFCLEVBQWlDLFFBQVEsTUFBekM7QUFERyxDO2tCQXpCSCxXIiwiZmlsZSI6IlN1Yk1lbnVJdGVtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IEtlZmlyIGZyb20gJ2tlZmlyJztcbmltcG9ydCBrZWZpckJ1cyBmcm9tICdrZWZpci1idXMnO1xuaW1wb3J0IFJlYWN0LCB7UHJvcFR5cGVzfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgcG9pbnRSZWN0RGlzdGFuY2UgZnJvbSAnLi9saWIvcG9pbnRSZWN0RGlzdGFuY2UnO1xuXG5pbXBvcnQgTWVudUxpc3RJbnNwZWN0b3IgZnJvbSAnLi9NZW51TGlzdEluc3BlY3Rvcic7XG5pbXBvcnQgRmxvYXRBbmNob3IgZnJvbSAncmVhY3QtZmxvYXQtYW5jaG9yJztcbmltcG9ydCBNZW51SXRlbSBmcm9tICcuL01lbnVJdGVtJztcblxuaW1wb3J0IHR5cGUge0RpcmVjdGlvbiwgUmVjdH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgdHlwZSBNZW51RXZlbnQgZnJvbSAnLi9ldmVudHMvTWVudUV2ZW50JztcbmltcG9ydCB0eXBlIENob3NlbkV2ZW50IGZyb20gJy4vZXZlbnRzL0Nob3NlbkV2ZW50JztcblxudHlwZSBTdGF0ZSA9IHtcbiAgb3BlbmVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3ViTWVudUl0ZW0gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG1lbnU6IFByb3BUeXBlcy5ub2RlLFxuICAgIHBvc2l0aW9uT3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtZW51WkluZGV4OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG5cbiAgICBvbldpbGxPcGVuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkRpZE9wZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uV2lsbENsb3NlOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoaWdobGlnaHRlZENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBoaWdobGlnaHRlZFN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGluZGV4OiBQcm9wVHlwZXMubnVtYmVyLFxuXG4gICAgb3BlbmVkQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9wZW5lZFN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgb25JdGVtQ2hvc2VuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkhpZ2hsaWdodENoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG5cbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGVcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHBvc2l0aW9uT3B0aW9uczoge3Bvc2l0aW9uOidyaWdodCcsIHZBbGlnbjondG9wJywgaEFsaWduOiAnbGVmdCd9XG4gIH07XG5cbiAgc3RhdGU6IFN0YXRlID0ge1xuICAgIG9wZW5lZDogZmFsc2VcbiAgfTtcblxuICBfcmVzZXRNb3VzZUxlYXZlV2F0Y2hlcjogT2JqZWN0ID0ga2VmaXJCdXMoKTtcbiAgX3N0b3BwZXI6IE9iamVjdCA9IGtlZmlyQnVzKCk7XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5fc3RvcHBlci5lbWl0KG51bGwpO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLnJlZnMubWVudUl0ZW0ubG9ja0hpZ2hsaWdodCgpO1xuICAgIGlmICh0aGlzLnN0YXRlLm9wZW5lZCkgcmV0dXJuO1xuICAgIGlmICh0aGlzLnByb3BzLm9uV2lsbE9wZW4pIHRoaXMucHJvcHMub25XaWxsT3BlbigpO1xuICAgIHRoaXMuc2V0U3RhdGUoe29wZW5lZDogdHJ1ZX0sIHRoaXMucHJvcHMub25EaWRPcGVuKTtcbiAgICB0aGlzLnJlZnMubWVudUl0ZW0udGFrZUtleWJvYXJkKCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICBpZiAoIXRoaXMuc3RhdGUub3BlbmVkKSByZXR1cm47XG4gICAgaWYgKHRoaXMucHJvcHMub25XaWxsQ2xvc2UpIHRoaXMucHJvcHMub25XaWxsQ2xvc2UoKTtcbiAgICB0aGlzLnNldFN0YXRlKHtvcGVuZWQ6IGZhbHNlfSk7XG4gICAgdGhpcy5yZWZzLm1lbnVJdGVtLnJlbGVhc2VLZXlib2FyZCgpO1xuICAgIHRoaXMucmVmcy5tZW51SXRlbS51bmxvY2tIaWdobGlnaHQoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5vcGVuZWQpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgcmVwb3NpdGlvbigpIHtcbiAgICB0aGlzLnJlZnMuZmxvYXRBbmNob3IucmVwb3NpdGlvbigpO1xuICB9XG5cbiAgaGFzSGlnaGxpZ2h0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlZnMubWVudUl0ZW0uaGFzSGlnaGxpZ2h0KCk7XG4gIH1cblxuICBoaWdobGlnaHQoYnlLZXlib2FyZDogYm9vbGVhbj10cnVlKSB7XG4gICAgdGhpcy5yZWZzLm1lbnVJdGVtLmhpZ2hsaWdodChieUtleWJvYXJkKTtcbiAgfVxuXG4gIHVuaGlnaGxpZ2h0KCkge1xuICAgIHRoaXMucmVmcy5tZW51SXRlbS51bmhpZ2hsaWdodCgpO1xuICB9XG5cbiAgbW92ZUN1cnNvcihkaXJlY3Rpb246IERpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdCkge1xuICAgIHRoaXMucmVmcy5tZW51SXRlbS5tb3ZlQ3Vyc29yKGRpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uKTtcbiAgfVxuXG4gIF9vbkhpZ2hsaWdodENoYW5nZShoaWdobGlnaHRlZDogYm9vbGVhbiwgZXZlbnQ6IE9iamVjdCkge1xuICAgIHRoaXMuX3Jlc2V0TW91c2VMZWF2ZVdhdGNoZXIuZW1pdChudWxsKTtcblxuICAgIGlmIChoaWdobGlnaHRlZCAmJiAhZXZlbnQuYnlLZXlib2FyZCkge1xuICAgICAgY29uc3QgT1BFTl9ERUxBWSA9IDIwMDtcblxuICAgICAgS2VmaXIubGF0ZXIoT1BFTl9ERUxBWSlcbiAgICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3Jlc2V0TW91c2VMZWF2ZVdhdGNoZXIpXG4gICAgICAgIC50YWtlVW50aWxCeSh0aGlzLl9zdG9wcGVyKVxuICAgICAgICAub25WYWx1ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoIWhpZ2hsaWdodGVkKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgX29uTW91c2VMZWF2ZUl0ZW0oZXZlbnQ6IE9iamVjdCkge1xuICAgIGlmICghdGhpcy5zdGF0ZS5vcGVuZWQpIHtcbiAgICAgIHRoaXMucmVmcy5tZW51SXRlbS51bmhpZ2hsaWdodCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBtb3VzZSBpc24ndCBnb2luZyB0b3dhcmQgdGhlIG1lbnUsIHRoZW4gdW5oaWdobGlnaHQgb3Vyc2VsZi5cblxuICAgIGNvbnN0IG1lbnVSZWN0ID0gdGhpcy5yZWZzLm1lbnVDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgIGNvbnN0IHN0YXJ0WCA9IGV2ZW50LnBhZ2VYLCBzdGFydFkgPSBldmVudC5wYWdlWTtcblxuICAgIGZ1bmN0aW9uIGdldERpc3RhbmNlKHgsIHkpIHtcbiAgICAgIHJldHVybiBwb2ludFJlY3REaXN0YW5jZSh4LCB5LCBtZW51UmVjdC5sZWZ0LCBtZW51UmVjdC50b3AsIG1lbnVSZWN0LnJpZ2h0LW1lbnVSZWN0LndpZHRoLCBtZW51UmVjdC5ib3R0b20tbWVudVJlY3QudG9wKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydERpc3RhbmNlID0gZ2V0RGlzdGFuY2Uoc3RhcnRYLCBzdGFydFkpO1xuICAgIGxldCBsYXN0Q29vcmRzID0ge3BhZ2VYOiBzdGFydFgsIHBhZ2VZOiBzdGFydFl9O1xuXG4gICAgLy8gcGl4ZWxzIHBlciBzZWNvbmQgdGhlIHVzZXIgbXVzdCBiZSBtb3ZpbmcgdGhlIG1vdXNlIHRvd2FyZCB0aGUgbWVudSBmb3JcbiAgICAvLyB0aGUgbWVudSB0byBzdGF5IG9wZW4uXG4gICAgY29uc3QgTUlOX1NQRUVEID0gNjA7XG5cbiAgICAvLyBtcyBiZWZvcmUgdGhlIG1lbnUgd2lsbCBjbG9zZSBpZiB0aGUgdXNlciBoYXNuJ3QgcmVhY2hlZCBpdCB5ZXQsIG5vXG4gICAgLy8gbWF0dGVyIGhvdyB0aGV5J3JlIG1vdmluZyB0aGUgY3Vyc29yIHRvd2FyZCBpdC5cbiAgICBjb25zdCBNQVhfVElNRSA9IDc1MDtcblxuICAgIC8vIG1zIHRvIG9mZnNldCBzdGFydCB0aW1lLCB0byBzZXQgbWF4RGlzdGFuY2UgYmFjayBhIGxpdHRsZSBzbyBpdCdzIG5vdCBzb1xuICAgIC8vIHVuZm9yZ2l2aW5nIGF0IHRoZSB2ZXJ5IHN0YXJ0LlxuICAgIGNvbnN0IExFQURfVElNRSA9IDUwO1xuXG4gICAgLy8gTGlzdGVuIHRvIG1vdXNlIG1vdmVzLCBmaW5kIHRoZSBmaXJzdCBldmVudCBub3QgZ29pbmcgdG93YXJkcyB0aGUgbWVudSxcbiAgICAvLyBhbmQgZW5kIGl0IHRoZXJlLiBPciBlbmQgYWZ0ZXIgYSB0aW1lci5cbiAgICBLZWZpci5mcm9tRXZlbnRzKHdpbmRvdywgJ21vdXNlbW92ZScpXG4gICAgICAuYnVmZmVyQnkoS2VmaXIuaW50ZXJ2YWwoNjAsIG51bGwpKVxuICAgICAgLm1hcChldmVudHMgPT4ge1xuICAgICAgICBpZiAoZXZlbnRzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IGxhc3QgPSBldmVudHNbZXZlbnRzLmxlbmd0aC0xXTtcbiAgICAgICAgICBsYXN0Q29vcmRzID0ge3BhZ2VYOiBsYXN0LnBhZ2VYLCBwYWdlWTogbGFzdC5wYWdlWX07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxhc3RDb29yZHM7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcigoe3BhZ2VYLCBwYWdlWX0pID0+IHtcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBnZXREaXN0YW5jZShwYWdlWCwgcGFnZVkpO1xuICAgICAgICBjb25zdCBtYXhEaXN0YW5jZSA9IHN0YXJ0RGlzdGFuY2UgLSAoRGF0ZS5ub3coKS1zdGFydFRpbWUtTEVBRF9USU1FKS8xMDAwICogTUlOX1NQRUVEO1xuICAgICAgICByZXR1cm4gZGlzdGFuY2UgPiBtYXhEaXN0YW5jZTtcbiAgICAgIH0pXG4gICAgICAubWVyZ2UoS2VmaXIubGF0ZXIoTUFYX1RJTUUqMTAwMCkpXG4gICAgICAudGFrZSgxKVxuICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3Jlc2V0TW91c2VMZWF2ZVdhdGNoZXIpXG4gICAgICAudGFrZVVudGlsQnkodGhpcy5fc3RvcHBlcilcbiAgICAgIC5vblZhbHVlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB0aGlzLnJlZnMubWVudUl0ZW0udW5oaWdobGlnaHQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgX21vdXNlRW50ZXJNZW51KCkge1xuICAgIHRoaXMuX3Jlc2V0TW91c2VMZWF2ZVdhdGNoZXIuZW1pdChudWxsKTtcbiAgICB0aGlzLnJlZnMubWVudUl0ZW0udW5sb2NrSGlnaGxpZ2h0KCk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgaW5kZXgsIGhpZ2hsaWdodGVkU3R5bGUsIGhpZ2hsaWdodGVkQ2xhc3NOYW1lLFxuICAgICAgcG9zaXRpb25PcHRpb25zLCBtZW51WkluZGV4LCBjaGlsZHJlbiwgbWVudVxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHtvcGVuZWR9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGxldCBzdHlsZSA9IHRoaXMucHJvcHMuc3R5bGU7XG4gICAgbGV0IGNsYXNzTmFtZSA9IHRoaXMucHJvcHMuY2xhc3NOYW1lO1xuICAgIGlmIChvcGVuZWQpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLm9wZW5lZFN0eWxlKSB7XG4gICAgICAgIHN0eWxlID0gey4uLnN0eWxlLCAuLi50aGlzLnByb3BzLm9wZW5lZFN0eWxlfTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLm9wZW5lZENsYXNzTmFtZSkge1xuICAgICAgICBjbGFzc05hbWUgPSBgJHtjbGFzc05hbWV8fCcnfSAke3RoaXMucHJvcHMub3BlbmVkQ2xhc3NOYW1lfWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxNZW51SXRlbVxuICAgICAgICByZWY9XCJtZW51SXRlbVwiXG4gICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgaGlnaGxpZ2h0ZWRTdHlsZT17aGlnaGxpZ2h0ZWRTdHlsZX1cbiAgICAgICAgaGlnaGxpZ2h0ZWRDbGFzc05hbWU9e2hpZ2hsaWdodGVkQ2xhc3NOYW1lfVxuICAgICAgICBvbkhpZ2hsaWdodENoYW5nZT17KGgsZSkgPT4gdGhpcy5fb25IaWdobGlnaHRDaGFuZ2UoaCxlKX1cbiAgICAgICAgb25Nb3VzZUxlYXZlPXtlID0+IHRoaXMuX29uTW91c2VMZWF2ZUl0ZW0oZSl9XG4gICAgICAgIG9uUmlnaHRQdXNoZWQ9eyhlOiBNZW51RXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuc3RhdGUub3BlbmVkKSB7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgICB0aGlzLnJlZnMubWVudUluc3BlY3Rvci5tb3ZlQ3Vyc29yKCdkb3duJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICBvbkl0ZW1DaG9zZW49eyhlOiBDaG9zZW5FdmVudCkgPT4ge1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgIGlmIChlLmJ5S2V5Ym9hcmQpIHtcbiAgICAgICAgICAgIHRoaXMucmVmcy5tZW51SW5zcGVjdG9yLm1vdmVDdXJzb3IoJ2Rvd24nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIGFyaWEtaGFzcG9wdXA9e3RydWV9XG4gICAgICAgIGFyaWEtZXhwYW5kZWQ9e29wZW5lZH1cbiAgICAgID5cbiAgICAgICAgPEZsb2F0QW5jaG9yXG4gICAgICAgICAgcmVmPVwiZmxvYXRBbmNob3JcIlxuICAgICAgICAgIG9wdGlvbnM9e3Bvc2l0aW9uT3B0aW9uc31cbiAgICAgICAgICB6SW5kZXg9e21lbnVaSW5kZXh9XG4gICAgICAgICAgYW5jaG9yPXtcbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICBmbG9hdD17XG4gICAgICAgICAgICAhb3BlbmVkID8gbnVsbCA6XG4gICAgICAgICAgICAgIDxNZW51TGlzdEluc3BlY3RvclxuICAgICAgICAgICAgICAgIHJlZj1cIm1lbnVJbnNwZWN0b3JcIlxuICAgICAgICAgICAgICAgIG9uTGVmdFB1c2hlZD17ZSA9PiB7XG4gICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICByZWY9XCJtZW51Q29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17KCk9PnRoaXMuX21vdXNlRW50ZXJNZW51KCl9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7bWVudX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9NZW51TGlzdEluc3BlY3Rvcj5cbiAgICAgICAgICB9XG4gICAgICAgICAgLz5cbiAgICAgIDwvTWVudUl0ZW0+XG4gICAgKTtcbiAgfVxufVxuIl19
{
"name": "react-menu-list",
"version": "2.0.1",
"version": "2.1.0",
"description": "React component for menu lists and submenus",

@@ -5,0 +5,0 @@ "main": "js/index.js",

@@ -75,2 +75,4 @@ # react-menu-list

cursor over their own subitems.)
* `hasHighlight()`: Returns true if any items in the list are currently
highlighted.

@@ -128,2 +130,3 @@ ### MenuItem

menuList.moveCursor.
* `hasHighlight()`: Returns true if the item is currently highlighted.

@@ -166,2 +169,10 @@ ### SubMenuItem

size of the menu.
* `highlight(byKeyboard: boolean=true)`: Attempt to highlight the menu item.
If byKeyboard is false, then the attempt may not be successful if a highlight
lock is in place. If byKeyboard is false, then the highlight will trigger the
submenu to display.
* `unhighlight()`: Attempt to unhighlight the menu item.
* `moveCursor(direction: Direction, prevCursorLocation: ?Rect)`: See
menuList.moveCursor.
* `hasHighlight()`: Returns true if the item is currently highlighted.

@@ -185,2 +196,4 @@ ### MenuListInspector

false if no descendant MenuLists were found.
* `hasHighlight()`: Returns true if any descendant lists currently have a
highlighted item.

@@ -236,3 +249,3 @@ ### MenuButton

[Flow Type](http://flowtype.org/) declarations for this module are included! As
of Flow v0.22, you must add the following entries to your `.flowconfig` file's
of Flow v0.23, you must add the following entries to your `.flowconfig` file's
options section for them to work:

@@ -239,0 +252,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc