From 0ea5a1140c52d15ebb7f37862c1fabce5b80547b Mon Sep 17 00:00:00 2001 From: Determinant Date: Sun, 3 Feb 2019 01:38:28 -0500 Subject: abstract out MsgClient --- build/asset-manifest.json | 10 +- build/background.js | 59 ++++++++++- build/index.html | 2 +- ...he-manifest.7787472d2332648716473d80c2ae7c9c.js | 118 +++++++++++++++++++++ ...he-manifest.9a8967d864c6236144515b4cf891e591.js | 118 --------------------- build/service-worker.js | 2 +- build/static/js/1.b6d8b306.chunk.js | 2 + build/static/js/1.b6d8b306.chunk.js.map | 1 + build/static/js/1.e63b6c93.chunk.js | 2 - build/static/js/1.e63b6c93.chunk.js.map | 1 - build/static/js/main.f0bd332c.chunk.js | 2 - build/static/js/main.f0bd332c.chunk.js.map | 1 - build/static/js/main.f88964ab.chunk.js | 2 + build/static/js/main.f88964ab.chunk.js.map | 1 + src/App.js | 47 ++------ src/msg.js | 33 ++++++ 16 files changed, 231 insertions(+), 170 deletions(-) create mode 100644 build/precache-manifest.7787472d2332648716473d80c2ae7c9c.js delete mode 100644 build/precache-manifest.9a8967d864c6236144515b4cf891e591.js create mode 100644 build/static/js/1.b6d8b306.chunk.js create mode 100644 build/static/js/1.b6d8b306.chunk.js.map delete mode 100644 build/static/js/1.e63b6c93.chunk.js delete mode 100644 build/static/js/1.e63b6c93.chunk.js.map delete mode 100644 build/static/js/main.f0bd332c.chunk.js delete mode 100644 build/static/js/main.f0bd332c.chunk.js.map create mode 100644 build/static/js/main.f88964ab.chunk.js create mode 100644 build/static/js/main.f88964ab.chunk.js.map diff --git a/build/asset-manifest.json b/build/asset-manifest.json index c0d14ca..b2ec321 100644 --- a/build/asset-manifest.json +++ b/build/asset-manifest.json @@ -1,14 +1,14 @@ { - "main.js": "/static/js/main.f0bd332c.chunk.js", - "main.js.map": "/static/js/main.f0bd332c.chunk.js.map", + "main.js": "/static/js/main.f88964ab.chunk.js", + "main.js.map": "/static/js/main.f88964ab.chunk.js.map", "static/css/1.01dd4c98.chunk.css": "/static/css/1.01dd4c98.chunk.css", - "static/js/1.e63b6c93.chunk.js": "/static/js/1.e63b6c93.chunk.js", - "static/js/1.e63b6c93.chunk.js.map": "/static/js/1.e63b6c93.chunk.js.map", + "static/js/1.b6d8b306.chunk.js": "/static/js/1.b6d8b306.chunk.js", + "static/js/1.b6d8b306.chunk.js.map": "/static/js/1.b6d8b306.chunk.js.map", "runtime~main.js": "/static/js/runtime~main.229c360f.js", "runtime~main.js.map": "/static/js/runtime~main.229c360f.js.map", "static/media/index.css": "/static/media/roboto-latin-900italic.bc833e72.woff", "static/css/1.01dd4c98.chunk.css.map": "/static/css/1.01dd4c98.chunk.css.map", "index.html": "/index.html", - "precache-manifest.9a8967d864c6236144515b4cf891e591.js": "/precache-manifest.9a8967d864c6236144515b4cf891e591.js", + "precache-manifest.7787472d2332648716473d80c2ae7c9c.js": "/precache-manifest.7787472d2332648716473d80c2ae7c9c.js", "service-worker.js": "/service-worker.js" } \ No newline at end of file diff --git a/build/background.js b/build/background.js index a6e30b8..e7df484 100644 --- a/build/background.js +++ b/build/background.js @@ -1210,7 +1210,7 @@ exports.GCalendar = GCalendar; Object.defineProperty(exports, "__esModule", { value: true }); -exports.Msg = exports.msgType = void 0; +exports.MsgClient = exports.Msg = exports.msgType = void 0; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -1220,6 +1220,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } +/* global chrome */ var _updatePatterns = "updatePatterns"; var _getPatterns = "getPatterns"; var _updateCalendars = "updateCalendars"; @@ -1308,5 +1309,59 @@ _defineProperty(Msg, "inflate", function (obj) { return new Msg(obj.id, parseMsgType(obj.type), obj.data); }); +var MsgClient = function MsgClient(channelName) { + var _this = this; + + _classCallCheck(this, MsgClient); + + _defineProperty(this, "sendMsg", function (_ref) { + var type = _ref.type, + data = _ref.data; + var rcb = _this.requestCallback; + var cb; + var pm = new Promise(function (resolve) { + cb = resolve; + }); + var id; + + if (rcb.ids.length > 0) { + id = rcb.ids.pop(); + } else { + id = rcb.maxId++; + } + + rcb.inFlight[id] = cb; + + _this.port.postMessage(new Msg(id, type, data).deflate()); + + return pm; + }); + + var port = chrome.runtime.connect({ + name: channelName + }); + + var getCallBack = function getCallBack(rcb) { + return _this.requestCallback; + }; + + port.onMessage.addListener(function (msg) { + console.log(msg); + var rcb = getCallBack(msg.type); + var cb = rcb.inFlight[msg.id]; + console.assert(cb !== undefined); + rcb.ids.push(msg.id); + cb(msg); + }); + this.port = port; + this.requestCallback = { + inFlight: {}, + ids: [], + maxId: 0 + }; +}; + +exports.MsgClient = MsgClient; + },{}]},{},[4]) -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvbHJ1LWNhY2hlL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3lhbGxpc3QvaXRlcmF0b3IuanMiLCJub2RlX21vZHVsZXMveWFsbGlzdC95YWxsaXN0LmpzIiwic3JjL2JhY2tncm91bmQuanMiLCJzcmMvZ2FwaS5qcyIsInNyYy9tc2cuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzlVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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TyxJQUFJLEdBQUosQ0FBUSxLQUFLLEVBQWIsRUFBaUIsS0FBSyxJQUF0QixFQUE0QixJQUE1QixDQUFQO0FBQTJDOzs7OEJBQ2pEO0FBQ04sYUFBTztBQUNILFFBQUEsRUFBRSxFQUFFLEtBQUssRUFETjtBQUVILFFBQUEsSUFBSSxFQUFFLGdCQUFnQixDQUFDLEtBQUssSUFBTixDQUZuQjtBQUdILFFBQUEsSUFBSSxFQUFFLEtBQUs7QUFIUixPQUFQO0FBS0g7Ozs7Ozs7O2dCQWJRLEcsYUFjUSxVQUFBLEdBQUc7QUFBQSxTQUFJLElBQUksR0FBSixDQUFRLEdBQUcsQ0FBQyxFQUFaLEVBQWdCLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBTCxDQUE1QixFQUF3QyxHQUFHLENBQUMsSUFBNUMsQ0FBSjtBQUFBLEMiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSxuLHQpe2Z1bmN0aW9uIG8oaSxmKXtpZighbltpXSl7aWYoIWVbaV0pe3ZhciBjPVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmU7aWYoIWYmJmMpcmV0dXJuIGMoaSwhMCk7aWYodSlyZXR1cm4gdShpLCEwKTt2YXIgYT1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK2krXCInXCIpO3Rocm93IGEuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixhfXZhciBwPW5baV09e2V4cG9ydHM6e319O2VbaV1bMF0uY2FsbChwLmV4cG9ydHMsZnVuY3Rpb24ocil7dmFyIG49ZVtpXVsxXVtyXTtyZXR1cm4gbyhufHxyKX0scCxwLmV4cG9ydHMscixlLG4sdCl9cmV0dXJuIG5baV0uZXhwb3J0c31mb3IodmFyIHU9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZSxpPTA7aTx0Lmxlbmd0aDtpKyspbyh0W2ldKTtyZXR1cm4gb31yZXR1cm4gcn0pKCkiLCIndXNlIHN0cmljdCdcblxuLy8gQSBsaW5rZWQgbGlzdCB0byBrZWVwIHRyYWNrIG9mIHJlY2VudGx5LXVzZWQtbmVzc1xuY29uc3QgWWFsbGlzdCA9IHJlcXVpcmUoJ3lhbGxpc3QnKVxuXG5jb25zdCBNQVggPSBTeW1ib2woJ21heCcpXG5jb25zdCBMRU5HVEggPSBTeW1ib2woJ2xlbmd0aCcpXG5jb25zdCBMRU5HVEhfQ0FMQ1VMQVRPUiA9IFN5bWJvbCgnbGVuZ3RoQ2FsY3VsYXRvcicpXG5jb25zdCBBTExPV19TVEFMRSA9IFN5bWJvbCgnYWxsb3dTdGFsZScpXG5jb25zdCBNQVhfQUdFID0gU3ltYm9sKCdtYXhBZ2UnKVxuY29uc3QgRElTUE9TRSA9IFN5bWJvbCgnZGlzcG9zZScpXG5jb25zdCBOT19ESVNQT1NFX09OX1NFVCA9IFN5bWJvbCgnbm9EaXNwb3NlT25TZXQnKVxuY29uc3QgTFJVX0xJU1QgPSBTeW1ib2woJ2xydUxpc3QnKVxuY29uc3QgQ0FDSEUgPSBTeW1ib2woJ2NhY2hlJylcbmNvbnN0IFVQREFURV9BR0VfT05fR0VUID0gU3ltYm9sKCd1cGRhdGVBZ2VPbkdldCcpXG5cbmNvbnN0IG5haXZlTGVuZ3RoID0gKCkgPT4gMVxuXG4vLyBscnVMaXN0IGlzIGEgeWFsbGlzdCB3aGVyZSB0aGUgaGVhZCBpcyB0aGUgeW91bmdlc3Rcbi8vIGl0ZW0sIGFuZCB0aGUgdGFpbCBpcyB0aGUgb2xkZXN0LiAgdGhlIGxpc3QgY29udGFpbnMgdGhlIEhpdFxuLy8gb2JqZWN0cyBhcyB0aGUgZW50cmllcy5cbi8vIEVhY2ggSGl0IG9iamVjdCBoYXMgYSByZWZlcmVuY2UgdG8gaXRzIFlhbGxpc3QuTm9kZS4gIFRoaXNcbi8vIG5ldmVyIGNoYW5nZXMuXG4vL1xuLy8gY2FjaGUgaXMgYSBNYXAgKG9yIFBzZXVkb01hcCkgdGhhdCBtYXRjaGVzIHRoZSBrZXlzIHRvXG4vLyB0aGUgWWFsbGlzdC5Ob2RlIG9iamVjdC5cbmNsYXNzIExSVUNhY2hlIHtcbiAgY29uc3RydWN0b3IgKG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdudW1iZXInKVxuICAgICAgb3B0aW9ucyA9IHsgbWF4OiBvcHRpb25zIH1cblxuICAgIGlmICghb3B0aW9ucylcbiAgICAgIG9wdGlvbnMgPSB7fVxuXG4gICAgaWYgKG9wdGlvbnMubWF4ICYmICh0eXBlb2Ygb3B0aW9ucy5tYXggIT09ICdudW1iZXInIHx8IG9wdGlvbnMubWF4IDwgMCkpXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdtYXggbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXInKVxuICAgIC8vIEtpbmQgb2Ygd2VpcmQgdG8gaGF2ZSBhIGRlZmF1bHQgbWF4IG9mIEluZmluaXR5LCBidXQgb2ggd2VsbC5cbiAgICBjb25zdCBtYXggPSB0aGlzW01BWF0gPSBvcHRpb25zLm1heCB8fCBJbmZpbml0eVxuXG4gICAgY29uc3QgbGMgPSBvcHRpb25zLmxlbmd0aCB8fCBuYWl2ZUxlbmd0aFxuICAgIHRoaXNbTEVOR1RIX0NBTENVTEFUT1JdID0gKHR5cGVvZiBsYyAhPT0gJ2Z1bmN0aW9uJykgPyBuYWl2ZUxlbmd0aCA6IGxjXG4gICAgdGhpc1tBTExPV19TVEFMRV0gPSBvcHRpb25zLnN0YWxlIHx8IGZhbHNlXG4gICAgaWYgKG9wdGlvbnMubWF4QWdlICYmIHR5cGVvZiBvcHRpb25zLm1heEFnZSAhPT0gJ251bWJlcicpXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdtYXhBZ2UgbXVzdCBiZSBhIG51bWJlcicpXG4gICAgdGhpc1tNQVhfQUdFXSA9IG9wdGlvbnMubWF4QWdlIHx8IDBcbiAgICB0aGlzW0RJU1BPU0VdID0gb3B0aW9ucy5kaXNwb3NlXG4gICAgdGhpc1tOT19ESVNQT1NFX09OX1NFVF0gPSBvcHRpb25zLm5vRGlzcG9zZU9uU2V0IHx8IGZhbHNlXG4gICAgdGhpc1tVUERBVEVfQUdFX09OX0dFVF0gPSBvcHRpb25zLnVwZGF0ZUFnZU9uR2V0IHx8IGZhbHNlXG4gICAgdGhpcy5yZXNldCgpXG4gIH1cblxuICAvLyByZXNpemUgdGhlIGNhY2hlIHdoZW4gdGhlIG1heCBjaGFuZ2VzLlxuICBzZXQgbWF4IChtTCkge1xuICAgIGlmICh0eXBlb2YgbUwgIT09ICdudW1iZXInIHx8IG1MIDwgMClcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ21heCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlcicpXG5cbiAgICB0aGlzW01BWF0gPSBtTCB8fCBJbmZpbml0eVxuICAgIHRyaW0odGhpcylcbiAgfVxuICBnZXQgbWF4ICgpIHtcbiAgICByZXR1cm4gdGhpc1tNQVhdXG4gIH1cblxuICBzZXQgYWxsb3dTdGFsZSAoYWxsb3dTdGFsZSkge1xuICAgIHRoaXNbQUxMT1dfU1RBTEVdID0gISFhbGxvd1N0YWxlXG4gIH1cbiAgZ2V0IGFsbG93U3RhbGUgKCkge1xuICAgIHJldHVybiB0aGlzW0FMTE9XX1NUQUxFXVxuICB9XG5cbiAgc2V0IG1heEFnZSAobUEpIHtcbiAgICBpZiAodHlwZW9mIG1BICE9PSAnbnVtYmVyJylcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ21heEFnZSBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlcicpXG5cbiAgICB0aGlzW01BWF9BR0VdID0gbUFcbiAgICB0cmltKHRoaXMpXG4gIH1cbiAgZ2V0IG1heEFnZSAoKSB7XG4gICAgcmV0dXJuIHRoaXNbTUFYX0FHRV1cbiAgfVxuXG4gIC8vIHJlc2l6ZSB0aGUgY2FjaGUgd2hlbiB0aGUgbGVuZ3RoQ2FsY3VsYXRvciBjaGFuZ2VzLlxuICBzZXQgbGVuZ3RoQ2FsY3VsYXRvciAobEMpIHtcbiAgICBpZiAodHlwZW9mIGxDICE9PSAnZnVuY3Rpb24nKVxuICAgICAgbEMgPSBuYWl2ZUxlbmd0aFxuXG4gICAgaWYgKGxDICE9PSB0aGlzW0xFTkdUSF9DQUxDVUxBVE9SXSkge1xuICAgICAgdGhpc1tMRU5HVEhfQ0FMQ1VMQVRPUl0gPSBsQ1xuICAgICAgdGhpc1tMRU5HVEhdID0gMFxuICAgICAgdGhpc1tMUlVfTElTVF0uZm9yRWFjaChoaXQgPT4ge1xuICAgICAgICBoaXQubGVuZ3RoID0gdGhpc1tMRU5HVEhfQ0FMQ1VMQVRPUl0oaGl0LnZhbHVlLCBoaXQua2V5KVxuICAgICAgICB0aGlzW0xFTkdUSF0gKz0gaGl0Lmxlbmd0aFxuICAgICAgfSlcbiAgICB9XG4gICAgdHJpbSh0aGlzKVxuICB9XG4gIGdldCBsZW5ndGhDYWxjdWxhdG9yICgpIHsgcmV0dXJuIHRoaXNbTEVOR1RIX0NBTENVTEFUT1JdIH1cblxuICBnZXQgbGVuZ3RoICgpIHsgcmV0dXJuIHRoaXNbTEVOR1RIXSB9XG4gIGdldCBpdGVtQ291bnQgKCkgeyByZXR1cm4gdGhpc1tMUlVfTElTVF0ubGVuZ3RoIH1cblxuICByZm9yRWFjaCAoZm4sIHRoaXNwKSB7XG4gICAgdGhpc3AgPSB0aGlzcCB8fCB0aGlzXG4gICAgZm9yIChsZXQgd2Fsa2VyID0gdGhpc1tMUlVfTElTVF0udGFpbDsgd2Fsa2VyICE9PSBudWxsOykge1xuICAgICAgY29uc3QgcHJldiA9IHdhbGtlci5wcmV2XG4gICAgICBmb3JFYWNoU3RlcCh0aGlzLCBmbiwgd2Fsa2VyLCB0aGlzcClcbiAgICAgIHdhbGtlciA9IHByZXZcbiAgICB9XG4gIH1cblxuICBmb3JFYWNoIChmbiwgdGhpc3ApIHtcbiAgICB0aGlzcCA9IHRoaXNwIHx8IHRoaXNcbiAgICBmb3IgKGxldCB3YWxrZXIgPSB0aGlzW0xSVV9MSVNUXS5oZWFkOyB3YWxrZXIgIT09IG51bGw7KSB7XG4gICAgICBjb25zdCBuZXh0ID0gd2Fsa2VyLm5leHRcbiAgICAgIGZvckVhY2hTdGVwKHRoaXMsIGZuLCB3YWxrZXIsIHRoaXNwKVxuICAgICAgd2Fsa2VyID0gbmV4dFxuICAgIH1cbiAgfVxuXG4gIGtleXMgKCkge1xuICAgIHJldHVybiB0aGlzW0xSVV9MSVNUXS50b0FycmF5KCkubWFwKGsgPT4gay5rZXkpXG4gIH1cblxuICB2YWx1ZXMgKCkge1xuICAgIHJldHVybiB0aGlzW0xSVV9MSVNUXS50b0FycmF5KCkubWFwKGsgPT4gay52YWx1ZSlcbiAgfVxuXG4gIHJlc2V0ICgpIHtcbiAgICBpZiAodGhpc1tESVNQT1NFXSAmJlxuICAgICAgICB0aGlzW0xSVV9MSVNUXSAmJlxuICAgICAgICB0aGlzW0xSVV9MSVNUXS5sZW5ndGgpIHtcbiAgICAgIHRoaXNbTFJVX0xJU1RdLmZvckVhY2goaGl0ID0+IHRoaXNbRElTUE9TRV0oaGl0LmtleSwgaGl0LnZhbHVlKSlcbiAgICB9XG5cbiAgICB0aGlzW0NBQ0hFXSA9IG5ldyBNYXAoKSAvLyBoYXNoIG9mIGl0ZW1zIGJ5IGtleVxuICAgIHRoaXNbTFJVX0xJU1RdID0gbmV3IFlhbGxpc3QoKSAvLyBsaXN0IG9mIGl0ZW1zIGluIG9yZGVyIG9mIHVzZSByZWNlbmN5XG4gICAgdGhpc1tMRU5HVEhdID0gMCAvLyBsZW5ndGggb2YgaXRlbXMgaW4gdGhlIGxpc3RcbiAgfVxuXG4gIGR1bXAgKCkge1xuICAgIHJldHVybiB0aGlzW0xSVV9MSVNUXS5tYXAoaGl0ID0+XG4gICAgICBpc1N0YWxlKHRoaXMsIGhpdCkgPyBmYWxzZSA6IHtcbiAgICAgICAgazogaGl0LmtleSxcbiAgICAgICAgdjogaGl0LnZhbHVlLFxuICAgICAgICBlOiBoaXQubm93ICsgKGhpdC5tYXhBZ2UgfHwgMClcbiAgICAgIH0pLnRvQXJyYXkoKS5maWx0ZXIoaCA9PiBoKVxuICB9XG5cbiAgZHVtcExydSAoKSB7XG4gICAgcmV0dXJuIHRoaXNbTFJVX0xJU1RdXG4gIH1cblxuICBzZXQgKGtleSwgdmFsdWUsIG1heEFnZSkge1xuICAgIG1heEFnZSA9IG1heEFnZSB8fCB0aGlzW01BWF9BR0VdXG5cbiAgICBpZiAobWF4QWdlICYmIHR5cGVvZiBtYXhBZ2UgIT09ICdudW1iZXInKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignbWF4QWdlIG11c3QgYmUgYSBudW1iZXInKVxuXG4gICAgY29uc3Qgbm93ID0gbWF4QWdlID8gRGF0ZS5ub3coKSA6IDBcbiAgICBjb25zdCBsZW4gPSB0aGlzW0xFTkdUSF9DQUxDVUxBVE9SXSh2YWx1ZSwga2V5KVxuXG4gICAgaWYgKHRoaXNbQ0FDSEVdLmhhcyhrZXkpKSB7XG4gICAgICBpZiAobGVuID4gdGhpc1tNQVhdKSB7XG4gICAgICAgIGRlbCh0aGlzLCB0aGlzW0NBQ0hFXS5nZXQoa2V5KSlcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzW0NBQ0hFXS5nZXQoa2V5KVxuICAgICAgY29uc3QgaXRlbSA9IG5vZGUudmFsdWVcblxuICAgICAgLy8gZGlzcG9zZSBvZiB0aGUgb2xkIG9uZSBiZWZvcmUgb3ZlcndyaXRpbmdcbiAgICAgIC8vIHNwbGl0IG91dCBpbnRvIDIgaWZzIGZvciBiZXR0ZXIgY292ZXJhZ2UgdHJhY2tpbmdcbiAgICAgIGlmICh0aGlzW0RJU1BPU0VdKSB7XG4gICAgICAgIGlmICghdGhpc1tOT19ESVNQT1NFX09OX1NFVF0pXG4gICAgICAgICAgdGhpc1tESVNQT1NFXShrZXksIGl0ZW0udmFsdWUpXG4gICAgICB9XG5cbiAgICAgIGl0ZW0ubm93ID0gbm93XG4gICAgICBpdGVtLm1heEFnZSA9IG1heEFnZVxuICAgICAgaXRlbS52YWx1ZSA9IHZhbHVlXG4gICAgICB0aGlzW0xFTkdUSF0gKz0gbGVuIC0gaXRlbS5sZW5ndGhcbiAgICAgIGl0ZW0ubGVuZ3RoID0gbGVuXG4gICAgICB0aGlzLmdldChrZXkpXG4gICAgICB0cmltKHRoaXMpXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGNvbnN0IGhpdCA9IG5ldyBFbnRyeShrZXksIHZhbHVlLCBsZW4sIG5vdywgbWF4QWdlKVxuXG4gICAgLy8gb3ZlcnNpemVkIG9iamVjdHMgZmFsbCBvdXQgb2YgY2FjaGUgYXV0b21hdGljYWxseS5cbiAgICBpZiAoaGl0Lmxlbmd0aCA+IHRoaXNbTUFYXSkge1xuICAgICAgaWYgKHRoaXNbRElTUE9TRV0pXG4gICAgICAgIHRoaXNbRElTUE9TRV0oa2V5LCB2YWx1ZSlcblxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgdGhpc1tMRU5HVEhdICs9IGhpdC5sZW5ndGhcbiAgICB0aGlzW0xSVV9MSVNUXS51bnNoaWZ0KGhpdClcbiAgICB0aGlzW0NBQ0hFXS5zZXQoa2V5LCB0aGlzW0xSVV9MSVNUXS5oZWFkKVxuICAgIHRyaW0odGhpcylcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgaGFzIChrZXkpIHtcbiAgICBpZiAoIXRoaXNbQ0FDSEVdLmhhcyhrZXkpKSByZXR1cm4gZmFsc2VcbiAgICBjb25zdCBoaXQgPSB0aGlzW0NBQ0hFXS5nZXQoa2V5KS52YWx1ZVxuICAgIHJldHVybiAhaXNTdGFsZSh0aGlzLCBoaXQpXG4gIH1cblxuICBnZXQgKGtleSkge1xuICAgIHJldHVybiBnZXQodGhpcywga2V5LCB0cnVlKVxuICB9XG5cbiAgcGVlayAoa2V5KSB7XG4gICAgcmV0dXJuIGdldCh0aGlzLCBrZXksIGZhbHNlKVxuICB9XG5cbiAgcG9wICgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpc1tMUlVfTElTVF0udGFpbFxuICAgIGlmICghbm9kZSlcbiAgICAgIHJldHVybiBudWxsXG5cbiAgICBkZWwodGhpcywgbm9kZSlcbiAgICByZXR1cm4gbm9kZS52YWx1ZVxuICB9XG5cbiAgZGVsIChrZXkpIHtcbiAgICBkZWwodGhpcywgdGhpc1tDQUNIRV0uZ2V0KGtleSkpXG4gIH1cblxuICBsb2FkIChhcnIpIHtcbiAgICAvLyByZXNldCB0aGUgY2FjaGVcbiAgICB0aGlzLnJlc2V0KClcblxuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KClcbiAgICAvLyBBIHByZXZpb3VzIHNlcmlhbGl6ZWQgY2FjaGUgaGFzIHRoZSBtb3N0IHJlY2VudCBpdGVtcyBmaXJzdFxuICAgIGZvciAobGV0IGwgPSBhcnIubGVuZ3RoIC0gMTsgbCA+PSAwOyBsLS0pIHtcbiAgICAgIGNvbnN0IGhpdCA9IGFycltsXVxuICAgICAgY29uc3QgZXhwaXJlc0F0ID0gaGl0LmUgfHwgMFxuICAgICAgaWYgKGV4cGlyZXNBdCA9PT0gMClcbiAgICAgICAgLy8gdGhlIGl0ZW0gd2FzIGNyZWF0ZWQgd2l0aG91dCBleHBpcmF0aW9uIGluIGEgbm9uIGFnZWQgY2FjaGVcbiAgICAgICAgdGhpcy5zZXQoaGl0LmssIGhpdC52KVxuICAgICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IG1heEFnZSA9IGV4cGlyZXNBdCAtIG5vd1xuICAgICAgICAvLyBkb250IGFkZCBhbHJlYWR5IGV4cGlyZWQgaXRlbXNcbiAgICAgICAgaWYgKG1heEFnZSA+IDApIHtcbiAgICAgICAgICB0aGlzLnNldChoaXQuaywgaGl0LnYsIG1heEFnZSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHBydW5lICgpIHtcbiAgICB0aGlzW0NBQ0hFXS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiBnZXQodGhpcywga2V5LCBmYWxzZSkpXG4gIH1cbn1cblxuY29uc3QgZ2V0ID0gKHNlbGYsIGtleSwgZG9Vc2UpID0+IHtcbiAgY29uc3Qgbm9kZSA9IHNlbGZbQ0FDSEVdLmdldChrZXkpXG4gIGlmIChub2RlKSB7XG4gICAgY29uc3QgaGl0ID0gbm9kZS52YWx1ZVxuICAgIGlmIChpc1N0YWxlKHNlbGYsIGhpdCkpIHtcbiAgICAgIGRlbChzZWxmLCBub2RlKVxuICAgICAgaWYgKCFzZWxmW0FMTE9XX1NUQUxFXSlcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZG9Vc2UpIHtcbiAgICAgICAgaWYgKHNlbGZbVVBEQVRFX0FHRV9PTl9HRVRdKVxuICAgICAgICAgIG5vZGUudmFsdWUubm93ID0gRGF0ZS5ub3coKVxuICAgICAgICBzZWxmW0xSVV9MSVNUXS51bnNoaWZ0Tm9kZShub2RlKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaGl0LnZhbHVlXG4gIH1cbn1cblxuY29uc3QgaXNTdGFsZSA9IChzZWxmLCBoaXQpID0+IHtcbiAgaWYgKCFoaXQgfHwgKCFoaXQubWF4QWdlICYmICFzZWxmW01BWF9BR0VdKSlcbiAgICByZXR1cm4gZmFsc2VcblxuICBjb25zdCBkaWZmID0gRGF0ZS5ub3coKSAtIGhpdC5ub3dcbiAgcmV0dXJuIGhpdC5tYXhBZ2UgPyBkaWZmID4gaGl0Lm1heEFnZVxuICAgIDogc2VsZltNQVhfQUdFXSAmJiAoZGlmZiA+IHNlbGZbTUFYX0FHRV0pXG59XG5cbmNvbnN0IHRyaW0gPSBzZWxmID0+IHtcbiAgaWYgKHNlbGZbTEVOR1RIXSA+IHNlbGZbTUFYXSkge1xuICAgIGZvciAobGV0IHdhbGtlciA9IHNlbGZbTFJVX0xJU1RdLnRhaWw7XG4gICAgICBzZWxmW0xFTkdUSF0gPiBzZWxmW01BWF0gJiYgd2Fsa2VyICE9PSBudWxsOykge1xuICAgICAgLy8gV2Uga25vdyB0aGF0IHdlJ3JlIGFib3V0IHRvIGRlbGV0ZSB0aGlzIG9uZSwgYW5kIGFsc29cbiAgICAgIC8vIHdoYXQgdGhlIG5leHQgbGVhc3QgcmVjZW50bHkgdXNlZCBrZXkgd2lsbCBiZSwgc28ganVzdFxuICAgICAgLy8gZ28gYWhlYWQgYW5kIHNldCBpdCBub3cuXG4gICAgICBjb25zdCBwcmV2ID0gd2Fsa2VyLnByZXZcbiAgICAgIGRlbChzZWxmLCB3YWxrZXIpXG4gICAgICB3YWxrZXIgPSBwcmV2XG4gICAgfVxuICB9XG59XG5cbmNvbnN0IGRlbCA9IChzZWxmLCBub2RlKSA9PiB7XG4gIGlmIChub2RlKSB7XG4gICAgY29uc3QgaGl0ID0gbm9kZS52YWx1ZVxuICAgIGlmIChzZWxmW0RJU1BPU0VdKVxuICAgICAgc2VsZltESVNQT1NFXShoaXQua2V5LCBoaXQudmFsdWUpXG5cbiAgICBzZWxmW0xFTkdUSF0gLT0gaGl0Lmxlbmd0aFxuICAgIHNlbGZbQ0FDSEVdLmRlbGV0ZShoaXQua2V5KVxuICAgIHNlbGZbTFJVX0xJU1RdLnJlbW92ZU5vZGUobm9kZSlcbiAgfVxufVxuXG5jbGFzcyBFbnRyeSB7XG4gIGNvbnN0cnVjdG9yIChrZXksIHZhbHVlLCBsZW5ndGgsIG5vdywgbWF4QWdlKSB7XG4gICAgdGhpcy5rZXkgPSBrZXlcbiAgICB0aGlzLnZhbHVlID0gdmFsdWVcbiAgICB0aGlzLmxlbmd0aCA9IGxlbmd0aFxuICAgIHRoaXMubm93ID0gbm93XG4gICAgdGhpcy5tYXhBZ2UgPSBtYXhBZ2UgfHwgMFxuICB9XG59XG5cbmNvbnN0IGZvckVhY2hTdGVwID0gKHNlbGYsIGZuLCBub2RlLCB0aGlzcCkgPT4ge1xuICBsZXQgaGl0ID0gbm9kZS52YWx1ZVxuICBpZiAoaXNTdGFsZShzZWxmLCBoaXQpKSB7XG4gICAgZGVsKHNlbGYsIG5vZGUpXG4gICAgaWYgKCFzZWxmW0FMTE9XX1NUQUxFXSlcbiAgICAgIGhpdCA9IHVuZGVmaW5lZFxuICB9XG4gIGlmIChoaXQpXG4gICAgZm4uY2FsbCh0aGlzcCwgaGl0LnZhbHVlLCBoaXQua2V5LCBzZWxmKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IExSVUNhY2hlXG4iLCIndXNlIHN0cmljdCdcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKFlhbGxpc3QpIHtcbiAgWWFsbGlzdC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKiAoKSB7XG4gICAgZm9yIChsZXQgd2Fsa2VyID0gdGhpcy5oZWFkOyB3YWxrZXI7IHdhbGtlciA9IHdhbGtlci5uZXh0KSB7XG4gICAgICB5aWVsZCB3YWxrZXIudmFsdWVcbiAgICB9XG4gIH1cbn1cbiIsIid1c2Ugc3RyaWN0J1xubW9kdWxlLmV4cG9ydHMgPSBZYWxsaXN0XG5cbllhbGxpc3QuTm9kZSA9IE5vZGVcbllhbGxpc3QuY3JlYXRlID0gWWFsbGlzdFxuXG5mdW5jdGlvbiBZYWxsaXN0IChsaXN0KSB7XG4gIHZhciBzZWxmID0gdGhpc1xuICBpZiAoIShzZWxmIGluc3RhbmNlb2YgWWFsbGlzdCkpIHtcbiAgICBzZWxmID0gbmV3IFlhbGxpc3QoKVxuICB9XG5cbiAgc2VsZi50YWlsID0gbnVsbFxuICBzZWxmLmhlYWQgPSBudWxsXG4gIHNlbGYubGVuZ3RoID0gMFxuXG4gIGlmIChsaXN0ICYmIHR5cGVvZiBsaXN0LmZvckVhY2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICBsaXN0LmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHNlbGYucHVzaChpdGVtKVxuICAgIH0pXG4gIH0gZWxzZSBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICBmb3IgKHZhciBpID0gMCwgbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIHNlbGYucHVzaChhcmd1bWVudHNbaV0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHNlbGZcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUucmVtb3ZlTm9kZSA9IGZ1bmN0aW9uIChub2RlKSB7XG4gIGlmIChub2RlLmxpc3QgIT09IHRoaXMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlbW92aW5nIG5vZGUgd2hpY2ggZG9lcyBub3QgYmVsb25nIHRvIHRoaXMgbGlzdCcpXG4gIH1cblxuICB2YXIgbmV4dCA9IG5vZGUubmV4dFxuICB2YXIgcHJldiA9IG5vZGUucHJldlxuXG4gIGlmIChuZXh0KSB7XG4gICAgbmV4dC5wcmV2ID0gcHJldlxuICB9XG5cbiAgaWYgKHByZXYpIHtcbiAgICBwcmV2Lm5leHQgPSBuZXh0XG4gIH1cblxuICBpZiAobm9kZSA9PT0gdGhpcy5oZWFkKSB7XG4gICAgdGhpcy5oZWFkID0gbmV4dFxuICB9XG4gIGlmIChub2RlID09PSB0aGlzLnRhaWwpIHtcbiAgICB0aGlzLnRhaWwgPSBwcmV2XG4gIH1cblxuICBub2RlLmxpc3QubGVuZ3RoLS1cbiAgbm9kZS5uZXh0ID0gbnVsbFxuICBub2RlLnByZXYgPSBudWxsXG4gIG5vZGUubGlzdCA9IG51bGxcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUudW5zaGlmdE5vZGUgPSBmdW5jdGlvbiAobm9kZSkge1xuICBpZiAobm9kZSA9PT0gdGhpcy5oZWFkKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBpZiAobm9kZS5saXN0KSB7XG4gICAgbm9kZS5saXN0LnJlbW92ZU5vZGUobm9kZSlcbiAgfVxuXG4gIHZhciBoZWFkID0gdGhpcy5oZWFkXG4gIG5vZGUubGlzdCA9IHRoaXNcbiAgbm9kZS5uZXh0ID0gaGVhZFxuICBpZiAoaGVhZCkge1xuICAgIGhlYWQucHJldiA9IG5vZGVcbiAgfVxuXG4gIHRoaXMuaGVhZCA9IG5vZGVcbiAgaWYgKCF0aGlzLnRhaWwpIHtcbiAgICB0aGlzLnRhaWwgPSBub2RlXG4gIH1cbiAgdGhpcy5sZW5ndGgrK1xufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5wdXNoTm9kZSA9IGZ1bmN0aW9uIChub2RlKSB7XG4gIGlmIChub2RlID09PSB0aGlzLnRhaWwpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGlmIChub2RlLmxpc3QpIHtcbiAgICBub2RlLmxpc3QucmVtb3ZlTm9kZShub2RlKVxuICB9XG5cbiAgdmFyIHRhaWwgPSB0aGlzLnRhaWxcbiAgbm9kZS5saXN0ID0gdGhpc1xuICBub2RlLnByZXYgPSB0YWlsXG4gIGlmICh0YWlsKSB7XG4gICAgdGFpbC5uZXh0ID0gbm9kZVxuICB9XG5cbiAgdGhpcy50YWlsID0gbm9kZVxuICBpZiAoIXRoaXMuaGVhZCkge1xuICAgIHRoaXMuaGVhZCA9IG5vZGVcbiAgfVxuICB0aGlzLmxlbmd0aCsrXG59XG5cbllhbGxpc3QucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiAoKSB7XG4gIGZvciAodmFyIGkgPSAwLCBsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIHB1c2godGhpcywgYXJndW1lbnRzW2ldKVxuICB9XG4gIHJldHVybiB0aGlzLmxlbmd0aFxufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS51bnNoaWZ0ID0gZnVuY3Rpb24gKCkge1xuICBmb3IgKHZhciBpID0gMCwgbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICB1bnNoaWZ0KHRoaXMsIGFyZ3VtZW50c1tpXSlcbiAgfVxuICByZXR1cm4gdGhpcy5sZW5ndGhcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUucG9wID0gZnVuY3Rpb24gKCkge1xuICBpZiAoIXRoaXMudGFpbCkge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIHZhciByZXMgPSB0aGlzLnRhaWwudmFsdWVcbiAgdGhpcy50YWlsID0gdGhpcy50YWlsLnByZXZcbiAgaWYgKHRoaXMudGFpbCkge1xuICAgIHRoaXMudGFpbC5uZXh0ID0gbnVsbFxuICB9IGVsc2Uge1xuICAgIHRoaXMuaGVhZCA9IG51bGxcbiAgfVxuICB0aGlzLmxlbmd0aC0tXG4gIHJldHVybiByZXNcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUuc2hpZnQgPSBmdW5jdGlvbiAoKSB7XG4gIGlmICghdGhpcy5oZWFkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgdmFyIHJlcyA9IHRoaXMuaGVhZC52YWx1ZVxuICB0aGlzLmhlYWQgPSB0aGlzLmhlYWQubmV4dFxuICBpZiAodGhpcy5oZWFkKSB7XG4gICAgdGhpcy5oZWFkLnByZXYgPSBudWxsXG4gIH0gZWxzZSB7XG4gICAgdGhpcy50YWlsID0gbnVsbFxuICB9XG4gIHRoaXMubGVuZ3RoLS1cbiAgcmV0dXJuIHJlc1xufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5mb3JFYWNoID0gZnVuY3Rpb24gKGZuLCB0aGlzcCkge1xuICB0aGlzcCA9IHRoaXNwIHx8IHRoaXNcbiAgZm9yICh2YXIgd2Fsa2VyID0gdGhpcy5oZWFkLCBpID0gMDsgd2Fsa2VyICE9PSBudWxsOyBpKyspIHtcbiAgICBmbi5jYWxsKHRoaXNwLCB3YWxrZXIudmFsdWUsIGksIHRoaXMpXG4gICAgd2Fsa2VyID0gd2Fsa2VyLm5leHRcbiAgfVxufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5mb3JFYWNoUmV2ZXJzZSA9IGZ1bmN0aW9uIChmbiwgdGhpc3ApIHtcbiAgdGhpc3AgPSB0aGlzcCB8fCB0aGlzXG4gIGZvciAodmFyIHdhbGtlciA9IHRoaXMudGFpbCwgaSA9IHRoaXMubGVuZ3RoIC0gMTsgd2Fsa2VyICE9PSBudWxsOyBpLS0pIHtcbiAgICBmbi5jYWxsKHRoaXNwLCB3YWxrZXIudmFsdWUsIGksIHRoaXMpXG4gICAgd2Fsa2VyID0gd2Fsa2VyLnByZXZcbiAgfVxufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAobikge1xuICBmb3IgKHZhciBpID0gMCwgd2Fsa2VyID0gdGhpcy5oZWFkOyB3YWxrZXIgIT09IG51bGwgJiYgaSA8IG47IGkrKykge1xuICAgIC8vIGFib3J0IG91dCBvZiB0aGUgbGlzdCBlYXJseSBpZiB3ZSBoaXQgYSBjeWNsZVxuICAgIHdhbGtlciA9IHdhbGtlci5uZXh0XG4gIH1cbiAgaWYgKGkgPT09IG4gJiYgd2Fsa2VyICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIHdhbGtlci52YWx1ZVxuICB9XG59XG5cbllhbGxpc3QucHJvdG90eXBlLmdldFJldmVyc2UgPSBmdW5jdGlvbiAobikge1xuICBmb3IgKHZhciBpID0gMCwgd2Fsa2VyID0gdGhpcy50YWlsOyB3YWxrZXIgIT09IG51bGwgJiYgaSA8IG47IGkrKykge1xuICAgIC8vIGFib3J0IG91dCBvZiB0aGUgbGlzdCBlYXJseSBpZiB3ZSBoaXQgYSBjeWNsZVxuICAgIHdhbGtlciA9IHdhbGtlci5wcmV2XG4gIH1cbiAgaWYgKGkgPT09IG4gJiYgd2Fsa2VyICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIHdhbGtlci52YWx1ZVxuICB9XG59XG5cbllhbGxpc3QucHJvdG90eXBlLm1hcCA9IGZ1bmN0aW9uIChmbiwgdGhpc3ApIHtcbiAgdGhpc3AgPSB0aGlzcCB8fCB0aGlzXG4gIHZhciByZXMgPSBuZXcgWWFsbGlzdCgpXG4gIGZvciAodmFyIHdhbGtlciA9IHRoaXMuaGVhZDsgd2Fsa2VyICE9PSBudWxsOykge1xuICAgIHJlcy5wdXNoKGZuLmNhbGwodGhpc3AsIHdhbGtlci52YWx1ZSwgdGhpcykpXG4gICAgd2Fsa2VyID0gd2Fsa2VyLm5leHRcbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbllhbGxpc3QucHJvdG90eXBlLm1hcFJldmVyc2UgPSBmdW5jdGlvbiAoZm4sIHRoaXNwKSB7XG4gIHRoaXNwID0gdGhpc3AgfHwgdGhpc1xuICB2YXIgcmVzID0gbmV3IFlhbGxpc3QoKVxuICBmb3IgKHZhciB3YWxrZXIgPSB0aGlzLnRhaWw7IHdhbGtlciAhPT0gbnVsbDspIHtcbiAgICByZXMucHVzaChmbi5jYWxsKHRoaXNwLCB3YWxrZXIudmFsdWUsIHRoaXMpKVxuICAgIHdhbGtlciA9IHdhbGtlci5wcmV2XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5yZWR1Y2UgPSBmdW5jdGlvbiAoZm4sIGluaXRpYWwpIHtcbiAgdmFyIGFjY1xuICB2YXIgd2Fsa2VyID0gdGhpcy5oZWFkXG4gIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xuICAgIGFjYyA9IGluaXRpYWxcbiAgfSBlbHNlIGlmICh0aGlzLmhlYWQpIHtcbiAgICB3YWxrZXIgPSB0aGlzLmhlYWQubmV4dFxuICAgIGFjYyA9IHRoaXMuaGVhZC52YWx1ZVxuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1JlZHVjZSBvZiBlbXB0eSBsaXN0IHdpdGggbm8gaW5pdGlhbCB2YWx1ZScpXG4gIH1cblxuICBmb3IgKHZhciBpID0gMDsgd2Fsa2VyICE9PSBudWxsOyBpKyspIHtcbiAgICBhY2MgPSBmbihhY2MsIHdhbGtlci52YWx1ZSwgaSlcbiAgICB3YWxrZXIgPSB3YWxrZXIubmV4dFxuICB9XG5cbiAgcmV0dXJuIGFjY1xufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5yZWR1Y2VSZXZlcnNlID0gZnVuY3Rpb24gKGZuLCBpbml0aWFsKSB7XG4gIHZhciBhY2NcbiAgdmFyIHdhbGtlciA9IHRoaXMudGFpbFxuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICBhY2MgPSBpbml0aWFsXG4gIH0gZWxzZSBpZiAodGhpcy50YWlsKSB7XG4gICAgd2Fsa2VyID0gdGhpcy50YWlsLnByZXZcbiAgICBhY2MgPSB0aGlzLnRhaWwudmFsdWVcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdSZWR1Y2Ugb2YgZW1wdHkgbGlzdCB3aXRoIG5vIGluaXRpYWwgdmFsdWUnKVxuICB9XG5cbiAgZm9yICh2YXIgaSA9IHRoaXMubGVuZ3RoIC0gMTsgd2Fsa2VyICE9PSBudWxsOyBpLS0pIHtcbiAgICBhY2MgPSBmbihhY2MsIHdhbGtlci52YWx1ZSwgaSlcbiAgICB3YWxrZXIgPSB3YWxrZXIucHJldlxuICB9XG5cbiAgcmV0dXJuIGFjY1xufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gKCkge1xuICB2YXIgYXJyID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKVxuICBmb3IgKHZhciBpID0gMCwgd2Fsa2VyID0gdGhpcy5oZWFkOyB3YWxrZXIgIT09IG51bGw7IGkrKykge1xuICAgIGFycltpXSA9IHdhbGtlci52YWx1ZVxuICAgIHdhbGtlciA9IHdhbGtlci5uZXh0XG4gIH1cbiAgcmV0dXJuIGFyclxufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS50b0FycmF5UmV2ZXJzZSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGFyciA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aClcbiAgZm9yICh2YXIgaSA9IDAsIHdhbGtlciA9IHRoaXMudGFpbDsgd2Fsa2VyICE9PSBudWxsOyBpKyspIHtcbiAgICBhcnJbaV0gPSB3YWxrZXIudmFsdWVcbiAgICB3YWxrZXIgPSB3YWxrZXIucHJldlxuICB9XG4gIHJldHVybiBhcnJcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUuc2xpY2UgPSBmdW5jdGlvbiAoZnJvbSwgdG8pIHtcbiAgdG8gPSB0byB8fCB0aGlzLmxlbmd0aFxuICBpZiAodG8gPCAwKSB7XG4gICAgdG8gKz0gdGhpcy5sZW5ndGhcbiAgfVxuICBmcm9tID0gZnJvbSB8fCAwXG4gIGlmIChmcm9tIDwgMCkge1xuICAgIGZyb20gKz0gdGhpcy5sZW5ndGhcbiAgfVxuICB2YXIgcmV0ID0gbmV3IFlhbGxpc3QoKVxuICBpZiAodG8gPCBmcm9tIHx8IHRvIDwgMCkge1xuICAgIHJldHVybiByZXRcbiAgfVxuICBpZiAoZnJvbSA8IDApIHtcbiAgICBmcm9tID0gMFxuICB9XG4gIGlmICh0byA+IHRoaXMubGVuZ3RoKSB7XG4gICAgdG8gPSB0aGlzLmxlbmd0aFxuICB9XG4gIGZvciAodmFyIGkgPSAwLCB3YWxrZXIgPSB0aGlzLmhlYWQ7IHdhbGtlciAhPT0gbnVsbCAmJiBpIDwgZnJvbTsgaSsrKSB7XG4gICAgd2Fsa2VyID0gd2Fsa2VyLm5leHRcbiAgfVxuICBmb3IgKDsgd2Fsa2VyICE9PSBudWxsICYmIGkgPCB0bzsgaSsrLCB3YWxrZXIgPSB3YWxrZXIubmV4dCkge1xuICAgIHJldC5wdXNoKHdhbGtlci52YWx1ZSlcbiAgfVxuICByZXR1cm4gcmV0XG59XG5cbllhbGxpc3QucHJvdG90eXBlLnNsaWNlUmV2ZXJzZSA9IGZ1bmN0aW9uIChmcm9tLCB0bykge1xuICB0byA9IHRvIHx8IHRoaXMubGVuZ3RoXG4gIGlmICh0byA8IDApIHtcbiAgICB0byArPSB0aGlzLmxlbmd0aFxuICB9XG4gIGZyb20gPSBmcm9tIHx8IDBcbiAgaWYgKGZyb20gPCAwKSB7XG4gICAgZnJvbSArPSB0aGlzLmxlbmd0aFxuICB9XG4gIHZhciByZXQgPSBuZXcgWWFsbGlzdCgpXG4gIGlmICh0byA8IGZyb20gfHwgdG8gPCAwKSB7XG4gICAgcmV0dXJuIHJldFxuICB9XG4gIGlmIChmcm9tIDwgMCkge1xuICAgIGZyb20gPSAwXG4gIH1cbiAgaWYgKHRvID4gdGhpcy5sZW5ndGgpIHtcbiAgICB0byA9IHRoaXMubGVuZ3RoXG4gIH1cbiAgZm9yICh2YXIgaSA9IHRoaXMubGVuZ3RoLCB3YWxrZXIgPSB0aGlzLnRhaWw7IHdhbGtlciAhPT0gbnVsbCAmJiBpID4gdG87IGktLSkge1xuICAgIHdhbGtlciA9IHdhbGtlci5wcmV2XG4gIH1cbiAgZm9yICg7IHdhbGtlciAhPT0gbnVsbCAmJiBpID4gZnJvbTsgaS0tLCB3YWxrZXIgPSB3YWxrZXIucHJldikge1xuICAgIHJldC5wdXNoKHdhbGtlci52YWx1ZSlcbiAgfVxuICByZXR1cm4gcmV0XG59XG5cbllhbGxpc3QucHJvdG90eXBlLnJldmVyc2UgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBoZWFkID0gdGhpcy5oZWFkXG4gIHZhciB0YWlsID0gdGhpcy50YWlsXG4gIGZvciAodmFyIHdhbGtlciA9IGhlYWQ7IHdhbGtlciAhPT0gbnVsbDsgd2Fsa2VyID0gd2Fsa2VyLnByZXYpIHtcbiAgICB2YXIgcCA9IHdhbGtlci5wcmV2XG4gICAgd2Fsa2VyLnByZXYgPSB3YWxrZXIubmV4dFxuICAgIHdhbGtlci5uZXh0ID0gcFxuICB9XG4gIHRoaXMuaGVhZCA9IHRhaWxcbiAgdGhpcy50YWlsID0gaGVhZFxuICByZXR1cm4gdGhpc1xufVxuXG5mdW5jdGlvbiBwdXNoIChzZWxmLCBpdGVtKSB7XG4gIHNlbGYudGFpbCA9IG5ldyBOb2RlKGl0ZW0sIHNlbGYudGFpbCwgbnVsbCwgc2VsZilcbiAgaWYgKCFzZWxmLmhlYWQpIHtcbiAgICBzZWxmLmhlYWQgPSBzZWxmLnRhaWxcbiAgfVxuICBzZWxmLmxlbmd0aCsrXG59XG5cbmZ1bmN0aW9uIHVuc2hpZnQgKHNlbGYsIGl0ZW0pIHtcbiAgc2VsZi5oZWFkID0gbmV3IE5vZGUoaXRlbSwgbnVsbCwgc2VsZi5oZWFkLCBzZWxmKVxuICBpZiAoIXNlbGYudGFpbCkge1xuICAgIHNlbGYudGFpbCA9IHNlbGYuaGVhZFxuICB9XG4gIHNlbGYubGVuZ3RoKytcbn1cblxuZnVuY3Rpb24gTm9kZSAodmFsdWUsIHByZXYsIG5leHQsIGxpc3QpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIE5vZGUpKSB7XG4gICAgcmV0dXJuIG5ldyBOb2RlKHZhbHVlLCBwcmV2LCBuZXh0LCBsaXN0KVxuICB9XG5cbiAgdGhpcy5saXN0ID0gbGlzdFxuICB0aGlzLnZhbHVlID0gdmFsdWVcblxuICBpZiAocHJldikge1xuICAgIHByZXYubmV4dCA9IHRoaXNcbiAgICB0aGlzLnByZXYgPSBwcmV2XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5wcmV2ID0gbnVsbFxuICB9XG5cbiAgaWYgKG5leHQpIHtcbiAgICBuZXh0LnByZXYgPSB0aGlzXG4gICAgdGhpcy5uZXh0ID0gbmV4dFxuICB9IGVsc2Uge1xuICAgIHRoaXMubmV4dCA9IG51bGxcbiAgfVxufVxuXG50cnkge1xuICAvLyBhZGQgaWYgc3VwcG9ydCBmb3IgU3ltYm9sLml0ZXJhdG9yIGlzIHByZXNlbnRcbiAgcmVxdWlyZSgnLi9pdGVyYXRvci5qcycpKFlhbGxpc3QpXG59IGNhdGNoIChlcikge31cbiIsImltcG9ydCAqIGFzIGdhcGkgZnJvbSAnLi9nYXBpJztcbmltcG9ydCB7IG1zZ1R5cGUsIE1zZyB9IGZyb20gJy4vbXNnJztcblxubGV0IHBhdHRlcm5zID0gW107XG5sZXQgY2FsZW5kYXJzID0ge307XG5sZXQgY2FsRGF0YSA9IHt9O1xuXG5jaHJvbWUucnVudGltZS5vbkNvbm5lY3QuYWRkTGlzdGVuZXIoZnVuY3Rpb24ocG9ydCkge1xuICAgIGNvbnNvbGUuYXNzZXJ0KHBvcnQubmFtZSA9PSAnbWFpbicpO1xuICAgIHBvcnQub25NZXNzYWdlLmFkZExpc3RlbmVyKGZ1bmN0aW9uKF9tc2cpIHtcbiAgICAgICAgbGV0IG1zZyA9IE1zZy5pbmZsYXRlKF9tc2cpO1xuICAgICAgICBjb25zb2xlLmxvZyhtc2cpO1xuICAgICAgICBpZiAobXNnLnR5cGUgPT0gbXNnVHlwZS51cGRhdGVQYXR0ZXJucykge1xuICAgICAgICAgICAgcGF0dGVybnMgPSBtc2cuZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtc2cudHlwZSA9PSBtc2dUeXBlLmdldFBhdHRlcm5zKSB7XG4gICAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKG1zZy5nZW5SZXNwKHBhdHRlcm5zKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobXNnLnR5cGUgPT0gbXNnVHlwZS51cGRhdGVDYWxlbmRhcnMpIHtcbiAgICAgICAgICAgIGNhbGVuZGFycyA9IG1zZy5kYXRhO1xuICAgICAgICAgICAgZm9yIChsZXQgaWQgaW4gY2FsZW5kYXJzKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFjYWxEYXRhLmhhc093blByb3BlcnR5KGlkKSlcbiAgICAgICAgICAgICAgICAgICAgY2FsRGF0YVtpZF0gPSBuZXcgZ2FwaS5HQ2FsZW5kYXIoaWQsIGNhbGVuZGFyc1tpZF0uc3VtbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobXNnLnR5cGUgPT0gbXNnVHlwZS5nZXRDYWxlbmRhcnMpIHtcbiAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UobXNnLmdlblJlc3AoY2FsZW5kYXJzKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobXNnLnR5cGUgPT0gbXNnVHlwZS5nZXRDYWxFdmVudHMpIHtcbiAgICAgICAgICAgIGNhbERhdGFbbXNnLmRhdGEuaWRdLmdldEV2ZW50cyhuZXcgRGF0ZShtc2cuZGF0YS5zdGFydCksIG5ldyBEYXRlKG1zZy5kYXRhLmVuZCkpXG4gICAgICAgICAgICAgICAgLmNhdGNoKGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgY2Fubm90IGxvYWQgY2FsZW5kYXIgJHttc2cuZGF0YS5pZH1gLCBlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3AgPSBtc2cuZ2VuUmVzcChkYXRhLm1hcChlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBlLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGUuc3RhcnQuZ2V0VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBlLmVuZC5nZXRUaW1lKClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwKTtcbiAgICAgICAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKHJlc3ApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwidW5rbm93biBtc2cgdHlwZVwiKTtcbiAgICAgICAgfVxuICAgIH0pO1xufSk7XG5cbmNocm9tZS5icm93c2VyQWN0aW9uLm9uQ2xpY2tlZC5hZGRMaXN0ZW5lcihmdW5jdGlvbigpIHtcbiAgICBjaHJvbWUudGFicy5jcmVhdGUoe3VybDogJ2luZGV4Lmh0bWwnfSk7XG59KTtcblxuIiwiLyogZ2xvYmFsIGNocm9tZSAqL1xuaW1wb3J0IExSVSBmcm9tIFwibHJ1LWNhY2hlXCI7XG5jb25zdCBnYXBpX2Jhc2UgPSAnaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vY2FsZW5kYXIvdjMnO1xuXG5jb25zdCBHQXBpRXJyb3IgPSB7XG4gICAgaW52YWxpZFN5bmNUb2tlbjogMSxcbiAgICBvdGhlckVycm9yOiAyLFxufTtcblxuZnVuY3Rpb24gdG9fcGFyYW1zKGRpY3QpIHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoZGljdCkuZmlsdGVyKChbaywgdl0pID0+IHYpLm1hcCgoW2ssIHZdKSA9PiBgJHtlbmNvZGVVUklDb21wb25lbnQoayl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHYpfWApLmpvaW4oJyYnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEF1dGhUb2tlbigpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZXIgPT5cbiAgICAgICAgY2hyb21lLmlkZW50aXR5LmdldEF1dGhUb2tlbihcbiAgICAgICAgICAgIHtpbnRlcmFjdGl2ZTogdHJ1ZX0sIHRva2VuID0+IHJlc29sdmVyKHRva2VuKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2FsZW5kYXJzKHRva2VuKSB7XG4gICAgcmV0dXJuIGZldGNoKGAke2dhcGlfYmFzZX0vdXNlcnMvbWUvY2FsZW5kYXJMaXN0PyR7dG9fcGFyYW1zKHthY2Nlc3NfdG9rZW46IHRva2VufSl9YCxcbiAgICAgICAgICAgIHsgbWV0aG9kOiAnR0VUJywgYXN5bmM6IHRydWUgfSlcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKVxuICAgICAgICAudGhlbihkYXRhID0+IGRhdGEuaXRlbXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29sb3JzKHRva2VuKSB7XG4gICAgcmV0dXJuIGZldGNoKGAke2dhcGlfYmFzZX0vY29sb3JzPyR7dG9fcGFyYW1zKHthY2Nlc3NfdG9rZW46IHRva2VufSl9YCxcbiAgICAgICAgeyBtZXRob2Q6ICdHRVQnLCBhc3luYzogdHJ1ZSB9KVxuICAgICAgICAudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS5qc29uKCkpO1xufVxuXG5mdW5jdGlvbiBnZXRFdmVudChjYWxJZCwgZXZlbnRJZCwgdG9rZW4pIHtcbiAgICByZXR1cm4gZmV0Y2goYCR7Z2FwaV9iYXNlfS9jYWxlbmRhcnMvJHtjYWxJZH0vZXZlbnRzLyR7ZXZlbnRJZH0/JHt0b19wYXJhbXMoe2FjY2Vzc190b2tlbjogdG9rZW59KX1gLFxuICAgICAgICB7IG1ldGhvZDogJ0dFVCcsIGFzeW5jOiB0cnVlIH0pXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmpzb24oKSk7XG59XG5cbmZ1bmN0aW9uIGdldEV2ZW50cyhjYWxJZCwgdG9rZW4sIHN5bmNUb2tlbj1udWxsLCB0aW1lTWluPW51bGwsIHRpbWVNYXg9bnVsbCwgcmVzdWx0c1BlclJlcXVlc3Q9MTAwKSB7XG4gICAgbGV0IHJlc3VsdHMgPSBbXTtcbiAgICBjb25zdCBzaW5nbGVGZXRjaCA9IChwYWdlVG9rZW4sIHN5bmNUb2tlbikgPT4gZmV0Y2goYCR7Z2FwaV9iYXNlfS9jYWxlbmRhcnMvJHtjYWxJZH0vZXZlbnRzPyR7dG9fcGFyYW1zKHtcbiAgICAgICAgICAgIGFjY2Vzc190b2tlbjogdG9rZW4sXG4gICAgICAgICAgICBwYWdlVG9rZW4sXG4gICAgICAgICAgICBzeW5jVG9rZW4sXG4gICAgICAgICAgICB0aW1lTWluLFxuICAgICAgICAgICAgdGltZU1heCxcbiAgICAgICAgICAgIG1heFJlc3VsdHM6IHJlc3VsdHNQZXJSZXF1ZXN0XG4gICAgICAgIH0pfWAsIHsgbWV0aG9kOiAnR0VUJywgYXN5bmM6IHRydWUgfSlcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5qc29uKCk7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MTApXG4gICAgICAgICAgICAgICAgICAgIHRocm93IEdBcGlFcnJvci5pbnZhbGlkU3luY1Rva2VuO1xuICAgICAgICAgICAgICAgIGVsc2UgdGhyb3cgR0FwaUVycm9yLm90aGVyRXJyb3JzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaCguLi5kYXRhLml0ZW1zKTtcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5uZXh0UGFnZVRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzaW5nbGVGZXRjaChkYXRhLm5leHRQYWdlVG9rZW4sICcnKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5leHRTeW5jVG9rZW46IGRhdGEubmV4dFN5bmNUb2tlbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHNcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcblxuICAgIHJldHVybiBzaW5nbGVGZXRjaCgnJywgc3luY1Rva2VuKTtcbn1cblxuZXhwb3J0IGNsYXNzIEdDYWxlbmRhciB7XG4gICAgY29uc3RydWN0b3IoY2FsSWQsIG5hbWUsIG9wdGlvbnM9e21heENhY2hlZEl0ZW1zOiAxMDAsIG5EYXlzUGVyU2xvdDogMTAsIGxhcmdlUXVlcnk6IDEwfSkge1xuICAgICAgICB0aGlzLmNhbElkID0gY2FsSWQ7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMudG9rZW4gPSBnZXRBdXRoVG9rZW4oKTtcbiAgICAgICAgdGhpcy5zeW5jVG9rZW4gPSAnJztcbiAgICAgICAgdGhpcy5jYWNoZSA9IG5ldyBMUlUoe1xuICAgICAgICAgICAgbWF4OiBvcHRpb25zLm1heENhY2hlZEl0ZW1zLFxuICAgICAgICAgICAgZGlzcG9zZTogKGssIHYpID0+IHRoaXMub25SZW1vdmVTbG90KGssIHYpXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmV2ZW50TWV0YSA9IHt9O1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICB0aGlzLmRpdmlkZXIgPSA4LjY0ZTcgKiB0aGlzLm9wdGlvbnMubkRheXNQZXJTbG90O1xuICAgIH1cblxuICAgIGRhdGVUb0NhY2hlS2V5KGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoZGF0ZSAvIHRoaXMuZGl2aWRlcik7XG4gICAgfVxuXG4gICAgZGF0ZVJhbmdlVG9DYWNoZUtleXMocmFuZ2UpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN0YXJ0OiB0aGlzLmRhdGVUb0NhY2hlS2V5KHJhbmdlLnN0YXJ0KSxcbiAgICAgICAgICAgIGVuZDogdGhpcy5kYXRlVG9DYWNoZUtleShuZXcgRGF0ZShyYW5nZS5lbmQuZ2V0VGltZSgpIC0gMSkpXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZ2V0U2xvdChrKSB7XG4gICAgICAgIGlmICghdGhpcy5jYWNoZS5oYXMoaykpXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxldCByZXMgPSB7fTtcbiAgICAgICAgICAgIHRoaXMuY2FjaGUuc2V0KGssIHJlcyk7XG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KGspO1xuICAgIH1cblxuICAgIG9uUmVtb3ZlU2xvdChrLCB2KSB7XG4gICAgICAgIGZvciAobGV0IGlkIGluIHYpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuZXZlbnRNZXRhW2lkXSk7XG4gICAgICAgICAgICBsZXQga2V5cyA9IHRoaXMuZXZlbnRNZXRhW2lkXS5rZXlzO1xuICAgICAgICAgICAga2V5cy5kZWxldGUoayk7XG4gICAgICAgICAgICBpZiAoa2V5cy5zaXplID09PSAwKVxuICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmV2ZW50TWV0YVtpZF07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzbG90U3RhcnREYXRlKGspIHsgcmV0dXJuIG5ldyBEYXRlKGsgKiB0aGlzLmRpdmlkZXIpOyB9XG4gICAgc2xvdEVuZERhdGUoaykgeyByZXR1cm4gbmV3IERhdGUoKGsgKyAxKSAqIHRoaXMuZGl2aWRlcik7IH1cblxuICAgIGFkZEV2ZW50KGUsIGV2aWN0ID0gZmFsc2UpIHtcbiAgICAgICAgLy9jb25zb2xlLmxvZygnYWRkaW5nIGV2ZW50JywgZSk7XG4gICAgICAgIGlmICh0aGlzLmV2ZW50TWV0YS5oYXNPd25Qcm9wZXJ0eShlLmlkKSlcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlRXZlbnQoZSk7XG4gICAgICAgIGxldCByID0gdGhpcy5kYXRlUmFuZ2VUb0NhY2hlS2V5cyhlKTtcbiAgICAgICAgbGV0IGtzID0gci5zdGFydDtcbiAgICAgICAgbGV0IGtlID0gci5lbmQ7XG4gICAgICAgIGxldCB0ID0gdGhpcy5jYWNoZS5sZW5ndGg7XG4gICAgICAgIGxldCBrZXlzID0gbmV3IFNldCgpO1xuICAgICAgICBmb3IgKGxldCBpID0ga3M7IGkgPD0ga2U7IGkrKylcbiAgICAgICAge1xuICAgICAgICAgICAga2V5cy5hZGQoaSk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuY2FjaGUuaGFzKGkpKSB0Kys7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ldmVudE1ldGFbZS5pZF0gPSB7XG4gICAgICAgICAgICBrZXlzLFxuICAgICAgICAgICAgc3VtbWFyeTogZS5zdW1tYXJ5LFxuICAgICAgICB9O1xuICAgICAgICBpZiAoIWV2aWN0ICYmIHQgPiB0aGlzLm9wdGlvbnMubWF4Q2FjaGVkSXRlbXMpIHJldHVybjtcbiAgICAgICAgaWYgKGtzID09PSBrZSlcbiAgICAgICAgICAgIHRoaXMuZ2V0U2xvdChrcylbZS5pZF0gPSB7XG4gICAgICAgICAgICAgICAgc3RhcnQ6IGUuc3RhcnQsXG4gICAgICAgICAgICAgICAgZW5kOiBlLmVuZCxcbiAgICAgICAgICAgICAgICBpZDogZS5pZCB9O1xuICAgICAgICBlbHNlXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0U2xvdChrcylbZS5pZF0gPSB7XG4gICAgICAgICAgICAgICAgc3RhcnQ6IGUuc3RhcnQsXG4gICAgICAgICAgICAgICAgZW5kOiB0aGlzLnNsb3RFbmREYXRlKGtzKSxcbiAgICAgICAgICAgICAgICBpZDogZS5pZCB9O1xuICAgICAgICAgICAgdGhpcy5nZXRTbG90KGtlKVtlLmlkXSA9IHtcbiAgICAgICAgICAgICAgICBzdGFydDogdGhpcy5zbG90U3RhcnREYXRlKGtlKSxcbiAgICAgICAgICAgICAgICBlbmQ6IGUuZW5kLFxuICAgICAgICAgICAgICAgIGlkOiBlLmlkIH07XG4gICAgICAgICAgICBmb3IgKGxldCBrID0ga3MgKyAxOyBrIDwga2U7IGsrKylcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNsb3QoaylbZS5pZF0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiB0aGlzLnNsb3RTdGFydERhdGUoayksXG4gICAgICAgICAgICAgICAgICAgIGVuZDogdGhpcy5zbG90RW5kRGF0ZShrKSxcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGUuaWR9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlRXZlbnQoZSkge1xuICAgICAgICBsZXQga2V5cyA9IHRoaXMuZXZlbnRNZXRhW2UuaWRdLmtleXM7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGtleXMpO1xuICAgICAgICBrZXlzLmZvckVhY2goayA9PiBkZWxldGUgdGhpcy5nZXRTbG90KGspW2UuaWRdKTtcbiAgICAgICAgZGVsZXRlIHRoaXMuZXZlbnRNZXRhW2UuaWRdO1xuICAgIH1cblxuICAgIGdldFNsb3RFdmVudHMoaywgc3RhcnQsIGVuZCkge1xuICAgICAgICBsZXQgcyA9IHRoaXMuZ2V0U2xvdChrKTtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhzKTtcbiAgICAgICAgbGV0IHJlc3VsdHMgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaWQgaW4gcykge1xuICAgICAgICAgICAgaWYgKCEoc1tpZF0uc3RhcnQgPj0gZW5kIHx8IHNbaWRdLmVuZCA8PSBzdGFydCkpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBzW2lkXS5zdGFydCA8IHN0YXJ0ID8gc3RhcnQ6IHNbaWRdLnN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IHNbaWRdLmVuZCA+IGVuZCA/IGVuZDogc1tpZF0uZW5kLFxuICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLmV2ZW50TWV0YVtpZF0uc3VtbWFyeVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgIH1cblxuICAgIGdldENhY2hlZEV2ZW50cyhfcikge1xuICAgICAgICBsZXQgciA9IHRoaXMuZGF0ZVJhbmdlVG9DYWNoZUtleXMoX3IpO1xuICAgICAgICBsZXQga3MgPSByLnN0YXJ0O1xuICAgICAgICBsZXQga2UgPSByLmVuZDtcbiAgICAgICAgbGV0IHJlc3VsdHMgPSB0aGlzLmdldFNsb3RFdmVudHMoa3MsIF9yLnN0YXJ0LCBfci5lbmQpO1xuICAgICAgICBmb3IgKGxldCBrID0ga3MgKyAxOyBrIDwga2U7IGsrKylcbiAgICAgICAge1xuICAgICAgICAgICAgbGV0IHMgPSB0aGlzLmdldFNsb3Qoayk7XG4gICAgICAgICAgICBmb3IgKGxldCBpZCBpbiBzKVxuICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChzW2lkXSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtlID4ga3MpXG4gICAgICAgICAgICByZXN1bHRzLnB1c2goLi4udGhpcy5nZXRTbG90RXZlbnRzKGtlLCBfci5zdGFydCwgX3IuZW5kKSk7XG4gICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgIH1cblxuICAgIHN5bmMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRva2VuLnRoZW4odG9rZW4gPT4gZ2V0RXZlbnRzKHRoaXMuY2FsSWQsIHRva2VuLCB0aGlzLnN5bmNUb2tlbikudGhlbihyID0+IHtcbiAgICAgICAgICAgIGxldCBwbXMgPSByLnJlc3VsdHMubWFwKGUgPT4gZS5zdGFydCA/IFByb21pc2UucmVzb2x2ZShlKSA6IGdldEV2ZW50KHRoaXMuY2FsSWQsIGUuaWQsIHRva2VuKSk7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwocG1zKS50aGVuKHJlc3VsdHMgPT4ge1xuICAgICAgICAgICAgICAgIHJlc3VsdHMuZm9yRWFjaChlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZS5zdGFydCA9IG5ldyBEYXRlKGUuc3RhcnQuZGF0ZVRpbWUpO1xuICAgICAgICAgICAgICAgICAgICBlLmVuZCA9IG5ldyBEYXRlKGUuZW5kLmRhdGVUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUuc3RhdHVzID09PSAnY29uZmlybWVkJylcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkRXZlbnQoZSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGUuc3RhdHVzID09PSAnY2FuY2VsbGVkJylcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlRXZlbnQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zeW5jVG9rZW4gPSByLm5leHRTeW5jVG9rZW47XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkpLmNhdGNoKGUgPT4ge1xuICAgICAgICAgICAgaWYgKGUgPT09IEdBcGlFcnJvci5pbnZhbGlkU3luY1Rva2VuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zeW5jVG9rZW4gPSAnJztcbiAgICAgICAgICAgICAgICB0aGlzLnN5bmMoKTtcbiAgICAgICAgICAgIH0gZWxzZSB0aHJvdyBlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRFdmVudHMoc3RhcnQsIGVuZCkge1xuICAgICAgICBsZXQgciA9IHRoaXMuZGF0ZVJhbmdlVG9DYWNoZUtleXMoeyBzdGFydCwgZW5kIH0pO1xuICAgICAgICBsZXQgcXVlcnkgPSB7fTtcbiAgICAgICAgZm9yIChsZXQgayA9IHIuc3RhcnQ7IGsgPD0gci5lbmQ7IGsrKylcbiAgICAgICAgICAgIGlmICghdGhpcy5jYWNoZS5oYXMoaykpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWYgKCFxdWVyeS5oYXNPd25Qcm9wZXJ0eSgnc3RhcnQnKSlcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkuc3RhcnQgPSBrO1xuICAgICAgICAgICAgICAgIHF1ZXJ5LmVuZCA9IGs7XG4gICAgICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nKGBzdGFydDogJHtzdGFydH0gZW5kOiAke2VuZH1gKTtcbiAgICAgICAgaWYgKHF1ZXJ5Lmhhc093blByb3BlcnR5KCdzdGFydCcpKVxuICAgICAgICB7XG4gICAgICAgICAgICBjb25zb2xlLmFzc2VydChxdWVyeS5zdGFydCA8PSBxdWVyeS5lbmQpO1xuICAgICAgICAgICAgaWYgKHF1ZXJ5LmVuZCAtIHF1ZXJ5LnN0YXJ0ICsgMSA+IHRoaXMub3B0aW9ucy5sYXJnZVF1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYGVuY291bnRlciBsYXJnZSBxdWVyeSwgdXNlIGRpcmVjdCBmZXRjaGApO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRva2VuLnRoZW4odG9rZW4gPT4gZ2V0RXZlbnRzKHRoaXMuY2FsSWQsIHRva2VuLCBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQudG9JU09TdHJpbmcoKSwgZW5kLnRvSVNPU3RyaW5nKCkpLnRoZW4ociA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCByZXN1bHRzID0gW107XG4gICAgICAgICAgICAgICAgICAgIHIucmVzdWx0cy5mb3JFYWNoKGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoZS5zdGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnN0YXJ0ID0gbmV3IERhdGUoZS5zdGFydC5kYXRlVGltZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLmVuZCA9IG5ldyBEYXRlKGUuZW5kLmRhdGVUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChlKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRzLmZpbHRlcihlID0+ICEoZS5zdGFydCA+PSBlbmQgfHwgZS5lbmQgPD0gc3RhcnQpKS5tYXAoZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBlLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBlLnN0YXJ0IDwgc3RhcnQgPyBzdGFydDogZS5zdGFydCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQ6IGUuZW5kID4gZW5kID8gZW5kOiBlLmVuZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5OiBlLnN1bW1hcnksXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBmZXRjaGluZyBzaG9ydCBldmVudCBsaXN0YCk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50b2tlbi50aGVuKHRva2VuID0+IGdldEV2ZW50cyh0aGlzLmNhbElkLCB0b2tlbiwgbnVsbCxcbiAgICAgICAgICAgICAgICB0aGlzLnNsb3RTdGFydERhdGUocXVlcnkuc3RhcnQpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgdGhpcy5zbG90RW5kRGF0ZShxdWVyeS5lbmQpLnRvSVNPU3RyaW5nKCkpLnRoZW4ociA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHIucmVzdWx0cy5mb3JFYWNoKGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUuc3RhdHVzID09PSAnY29uZmlybWVkJylcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChlLnN0YXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnN0YXJ0ID0gbmV3IERhdGUoZS5zdGFydC5kYXRlVGltZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5lbmQgPSBuZXcgRGF0ZShlLmVuZC5kYXRlVGltZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRFdmVudChlLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnN5bmNUb2tlbiA9PT0gJycpXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN5bmNUb2tlbiA9IHIubmV4dFN5bmNUb2tlbjtcbiAgICAgICAgICAgICAgICB9KSkudGhlbigoKSA9PiB0aGlzLnN5bmMoKSlcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB0aGlzLmdldENhY2hlZEV2ZW50cyh7IHN0YXJ0LCBlbmQgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYGNhY2hlIGhpdGApO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3luYygpLnRoZW4oKCkgPT4gdGhpcy5nZXRDYWNoZWRFdmVudHMoeyBzdGFydCwgZW5kIH0pKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImNvbnN0IF91cGRhdGVQYXR0ZXJucyA9IFwidXBkYXRlUGF0dGVybnNcIjtcbmNvbnN0IF9nZXRQYXR0ZXJucyA9IFwiZ2V0UGF0dGVybnNcIjtcbmNvbnN0IF91cGRhdGVDYWxlbmRhcnMgPSBcInVwZGF0ZUNhbGVuZGFyc1wiO1xuY29uc3QgX2dldENhbGVuZGFycyA9IFwiZ2V0Q2FsZW5kYXJzXCI7XG5jb25zdCBfZ2V0Q2FsRXZlbnRzID0gXCJnZXRDYWxFdmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IG1zZ1R5cGUgPSBPYmplY3QuZnJlZXplKHtcbiAgICB1cGRhdGVQYXR0ZXJuczogU3ltYm9sKF91cGRhdGVQYXR0ZXJucyksXG4gICAgZ2V0UGF0dGVybnM6IFN5bWJvbChfZ2V0UGF0dGVybnMpLFxuICAgIHVwZGF0ZUNhbGVuZGFyczogU3ltYm9sKF91cGRhdGVDYWxlbmRhcnMpLFxuICAgIGdldENhbGVuZGFyczogU3ltYm9sKF9nZXRDYWxlbmRhcnMpLFxuICAgIGdldENhbEV2ZW50czogU3ltYm9sKF9nZXRDYWxFdmVudHMpLFxufSk7XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeU1zZ1R5cGUobXQpIHtcbiAgICBzd2l0Y2ggKG10KSB7XG4gICAgICAgIGNhc2UgbXNnVHlwZS51cGRhdGVQYXR0ZXJuczogcmV0dXJuIF91cGRhdGVQYXR0ZXJucztcbiAgICAgICAgY2FzZSBtc2dUeXBlLmdldFBhdHRlcm5zOiByZXR1cm4gX2dldFBhdHRlcm5zO1xuICAgICAgICBjYXNlIG1zZ1R5cGUudXBkYXRlQ2FsZW5kYXJzOiByZXR1cm4gX3VwZGF0ZUNhbGVuZGFycztcbiAgICAgICAgY2FzZSBtc2dUeXBlLmdldENhbGVuZGFyczogcmV0dXJuIF9nZXRDYWxlbmRhcnM7XG4gICAgICAgIGNhc2UgbXNnVHlwZS5nZXRDYWxFdmVudHM6IHJldHVybiBfZ2V0Q2FsRXZlbnRzO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VNc2dUeXBlKHMpIHtcbiAgICBzd2l0Y2gocykge1xuICAgICAgICBjYXNlIF91cGRhdGVQYXR0ZXJuczogcmV0dXJuIG1zZ1R5cGUudXBkYXRlUGF0dGVybnM7XG4gICAgICAgIGNhc2UgX2dldFBhdHRlcm5zOiByZXR1cm4gbXNnVHlwZS5nZXRQYXR0ZXJucztcbiAgICAgICAgY2FzZSBfdXBkYXRlQ2FsZW5kYXJzOiByZXR1cm4gbXNnVHlwZS51cGRhdGVDYWxlbmRhcnM7XG4gICAgICAgIGNhc2UgX2dldENhbGVuZGFyczogcmV0dXJuIG1zZ1R5cGUuZ2V0Q2FsZW5kYXJzO1xuICAgICAgICBjYXNlIF9nZXRDYWxFdmVudHM6IHJldHVybiBtc2dUeXBlLmdldENhbEV2ZW50cztcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNc2cge1xuICAgIGNvbnN0cnVjdG9yKGlkLCB0eXBlLCBkYXRhKSB7XG4gICAgICAgIHRoaXMuaWQgPSBpZDtcbiAgICAgICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG4gICAgZ2VuUmVzcChkYXRhKSB7IHJldHVybiBuZXcgTXNnKHRoaXMuaWQsIHRoaXMudHlwZSwgZGF0YSk7IH1cbiAgICBkZWZsYXRlKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICAgICAgICB0eXBlOiBzdHJpbmdpZnlNc2dUeXBlKHRoaXMudHlwZSksXG4gICAgICAgICAgICBkYXRhOiB0aGlzLmRhdGFcbiAgICAgICAgfVxuICAgIH1cbiAgICBzdGF0aWMgaW5mbGF0ZSA9IG9iaiA9PiBuZXcgTXNnKG9iai5pZCwgcGFyc2VNc2dUeXBlKG9iai50eXBlKSwgb2JqLmRhdGEpO1xufVxuIl19 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvbHJ1LWNhY2hlL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3lhbGxpc3QvaXRlcmF0b3IuanMiLCJub2RlX21vZHVsZXMveWFsbGlzdC95YWxsaXN0LmpzIiwic3JjL2JhY2tncm91bmQuanMiLCJzcmMvZ2FwaS5qcyIsInNyYy9tc2cuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzlVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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LElBQVosRUFBa0IsSUFBbEIsQ0FBRCxDQUEwQixPQUExQixFQUF0Qjs7QUFDQSxXQUFPLEVBQVA7QUFDSCxHQTVCd0I7O0FBQ3JCLE1BQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxPQUFQLENBQWUsT0FBZixDQUF1QjtBQUFDLElBQUEsSUFBSSxFQUFFO0FBQVAsR0FBdkIsQ0FBWDs7QUFDQSxNQUFNLFdBQVcsR0FBRyxTQUFkLFdBQWMsQ0FBQSxHQUFHO0FBQUEsV0FBSSxLQUFJLENBQUMsZUFBVDtBQUFBLEdBQXZCOztBQUNBLEVBQUEsSUFBSSxDQUFDLFNBQUwsQ0FBZSxXQUFmLENBQTJCLFVBQVMsR0FBVCxFQUFjO0FBQ3JDLElBQUEsT0FBTyxDQUFDLEdBQVIsQ0FBWSxHQUFaO0FBQ0EsUUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFMLENBQXJCO0FBQ0EsUUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLFFBQUosQ0FBYSxHQUFHLENBQUMsRUFBakIsQ0FBVDtBQUNBLElBQUEsT0FBTyxDQUFDLE1BQVIsQ0FBZSxFQUFFLEtBQUssU0FBdEI7QUFDQSxJQUFBLEdBQUcsQ0FBQyxHQUFKLENBQVEsSUFBUixDQUFhLEdBQUcsQ0FBQyxFQUFqQjtBQUNBLElBQUEsRUFBRSxDQUFDLEdBQUQsQ0FBRjtBQUNILEdBUEQ7QUFRQSxPQUFLLElBQUwsR0FBWSxJQUFaO0FBQ0EsT0FBSyxlQUFMLEdBQXVCO0FBQUMsSUFBQSxRQUFRLEVBQUUsRUFBWDtBQUFlLElBQUEsR0FBRyxFQUFFLEVBQXBCO0FBQXdCLElBQUEsS0FBSyxFQUFFO0FBQS9CLEdBQXZCO0FBQ0gsQyIsImZpbGUiOiJnZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLG4sdCl7ZnVuY3Rpb24gbyhpLGYpe2lmKCFuW2ldKXtpZighZVtpXSl7dmFyIGM9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighZiYmYylyZXR1cm4gYyhpLCEwKTtpZih1KXJldHVybiB1KGksITApO3ZhciBhPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIraStcIidcIik7dGhyb3cgYS5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGF9dmFyIHA9bltpXT17ZXhwb3J0czp7fX07ZVtpXVswXS5jYWxsKHAuZXhwb3J0cyxmdW5jdGlvbihyKXt2YXIgbj1lW2ldWzFdW3JdO3JldHVybiBvKG58fHIpfSxwLHAuZXhwb3J0cyxyLGUsbix0KX1yZXR1cm4gbltpXS5leHBvcnRzfWZvcih2YXIgdT1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGk9MDtpPHQubGVuZ3RoO2krKylvKHRbaV0pO3JldHVybiBvfXJldHVybiByfSkoKSIsIid1c2Ugc3RyaWN0J1xuXG4vLyBBIGxpbmtlZCBsaXN0IHRvIGtlZXAgdHJhY2sgb2YgcmVjZW50bHktdXNlZC1uZXNzXG5jb25zdCBZYWxsaXN0ID0gcmVxdWlyZSgneWFsbGlzdCcpXG5cbmNvbnN0IE1BWCA9IFN5bWJvbCgnbWF4JylcbmNvbnN0IExFTkdUSCA9IFN5bWJvbCgnbGVuZ3RoJylcbmNvbnN0IExFTkdUSF9DQUxDVUxBVE9SID0gU3ltYm9sKCdsZW5ndGhDYWxjdWxhdG9yJylcbmNvbnN0IEFMTE9XX1NUQUxFID0gU3ltYm9sKCdhbGxvd1N0YWxlJylcbmNvbnN0IE1BWF9BR0UgPSBTeW1ib2woJ21heEFnZScpXG5jb25zdCBESVNQT1NFID0gU3ltYm9sKCdkaXNwb3NlJylcbmNvbnN0IE5PX0RJU1BPU0VfT05fU0VUID0gU3ltYm9sKCdub0Rpc3Bvc2VPblNldCcpXG5jb25zdCBMUlVfTElTVCA9IFN5bWJvbCgnbHJ1TGlzdCcpXG5jb25zdCBDQUNIRSA9IFN5bWJvbCgnY2FjaGUnKVxuY29uc3QgVVBEQVRFX0FHRV9PTl9HRVQgPSBTeW1ib2woJ3VwZGF0ZUFnZU9uR2V0JylcblxuY29uc3QgbmFpdmVMZW5ndGggPSAoKSA9PiAxXG5cbi8vIGxydUxpc3QgaXMgYSB5YWxsaXN0IHdoZXJlIHRoZSBoZWFkIGlzIHRoZSB5b3VuZ2VzdFxuLy8gaXRlbSwgYW5kIHRoZSB0YWlsIGlzIHRoZSBvbGRlc3QuICB0aGUgbGlzdCBjb250YWlucyB0aGUgSGl0XG4vLyBvYmplY3RzIGFzIHRoZSBlbnRyaWVzLlxuLy8gRWFjaCBIaXQgb2JqZWN0IGhhcyBhIHJlZmVyZW5jZSB0byBpdHMgWWFsbGlzdC5Ob2RlLiAgVGhpc1xuLy8gbmV2ZXIgY2hhbmdlcy5cbi8vXG4vLyBjYWNoZSBpcyBhIE1hcCAob3IgUHNldWRvTWFwKSB0aGF0IG1hdGNoZXMgdGhlIGtleXMgdG9cbi8vIHRoZSBZYWxsaXN0Lk5vZGUgb2JqZWN0LlxuY2xhc3MgTFJVQ2FjaGUge1xuICBjb25zdHJ1Y3RvciAob3B0aW9ucykge1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ251bWJlcicpXG4gICAgICBvcHRpb25zID0geyBtYXg6IG9wdGlvbnMgfVxuXG4gICAgaWYgKCFvcHRpb25zKVxuICAgICAgb3B0aW9ucyA9IHt9XG5cbiAgICBpZiAob3B0aW9ucy5tYXggJiYgKHR5cGVvZiBvcHRpb25zLm1heCAhPT0gJ251bWJlcicgfHwgb3B0aW9ucy5tYXggPCAwKSlcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ21heCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlcicpXG4gICAgLy8gS2luZCBvZiB3ZWlyZCB0byBoYXZlIGEgZGVmYXVsdCBtYXggb2YgSW5maW5pdHksIGJ1dCBvaCB3ZWxsLlxuICAgIGNvbnN0IG1heCA9IHRoaXNbTUFYXSA9IG9wdGlvbnMubWF4IHx8IEluZmluaXR5XG5cbiAgICBjb25zdCBsYyA9IG9wdGlvbnMubGVuZ3RoIHx8IG5haXZlTGVuZ3RoXG4gICAgdGhpc1tMRU5HVEhfQ0FMQ1VMQVRPUl0gPSAodHlwZW9mIGxjICE9PSAnZnVuY3Rpb24nKSA/IG5haXZlTGVuZ3RoIDogbGNcbiAgICB0aGlzW0FMTE9XX1NUQUxFXSA9IG9wdGlvbnMuc3RhbGUgfHwgZmFsc2VcbiAgICBpZiAob3B0aW9ucy5tYXhBZ2UgJiYgdHlwZW9mIG9wdGlvbnMubWF4QWdlICE9PSAnbnVtYmVyJylcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ21heEFnZSBtdXN0IGJlIGEgbnVtYmVyJylcbiAgICB0aGlzW01BWF9BR0VdID0gb3B0aW9ucy5tYXhBZ2UgfHwgMFxuICAgIHRoaXNbRElTUE9TRV0gPSBvcHRpb25zLmRpc3Bvc2VcbiAgICB0aGlzW05PX0RJU1BPU0VfT05fU0VUXSA9IG9wdGlvbnMubm9EaXNwb3NlT25TZXQgfHwgZmFsc2VcbiAgICB0aGlzW1VQREFURV9BR0VfT05fR0VUXSA9IG9wdGlvbnMudXBkYXRlQWdlT25HZXQgfHwgZmFsc2VcbiAgICB0aGlzLnJlc2V0KClcbiAgfVxuXG4gIC8vIHJlc2l6ZSB0aGUgY2FjaGUgd2hlbiB0aGUgbWF4IGNoYW5nZXMuXG4gIHNldCBtYXggKG1MKSB7XG4gICAgaWYgKHR5cGVvZiBtTCAhPT0gJ251bWJlcicgfHwgbUwgPCAwKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignbWF4IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyJylcblxuICAgIHRoaXNbTUFYXSA9IG1MIHx8IEluZmluaXR5XG4gICAgdHJpbSh0aGlzKVxuICB9XG4gIGdldCBtYXggKCkge1xuICAgIHJldHVybiB0aGlzW01BWF1cbiAgfVxuXG4gIHNldCBhbGxvd1N0YWxlIChhbGxvd1N0YWxlKSB7XG4gICAgdGhpc1tBTExPV19TVEFMRV0gPSAhIWFsbG93U3RhbGVcbiAgfVxuICBnZXQgYWxsb3dTdGFsZSAoKSB7XG4gICAgcmV0dXJuIHRoaXNbQUxMT1dfU1RBTEVdXG4gIH1cblxuICBzZXQgbWF4QWdlIChtQSkge1xuICAgIGlmICh0eXBlb2YgbUEgIT09ICdudW1iZXInKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignbWF4QWdlIG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyJylcblxuICAgIHRoaXNbTUFYX0FHRV0gPSBtQVxuICAgIHRyaW0odGhpcylcbiAgfVxuICBnZXQgbWF4QWdlICgpIHtcbiAgICByZXR1cm4gdGhpc1tNQVhfQUdFXVxuICB9XG5cbiAgLy8gcmVzaXplIHRoZSBjYWNoZSB3aGVuIHRoZSBsZW5ndGhDYWxjdWxhdG9yIGNoYW5nZXMuXG4gIHNldCBsZW5ndGhDYWxjdWxhdG9yIChsQykge1xuICAgIGlmICh0eXBlb2YgbEMgIT09ICdmdW5jdGlvbicpXG4gICAgICBsQyA9IG5haXZlTGVuZ3RoXG5cbiAgICBpZiAobEMgIT09IHRoaXNbTEVOR1RIX0NBTENVTEFUT1JdKSB7XG4gICAgICB0aGlzW0xFTkdUSF9DQUxDVUxBVE9SXSA9IGxDXG4gICAgICB0aGlzW0xFTkdUSF0gPSAwXG4gICAgICB0aGlzW0xSVV9MSVNUXS5mb3JFYWNoKGhpdCA9PiB7XG4gICAgICAgIGhpdC5sZW5ndGggPSB0aGlzW0xFTkdUSF9DQUxDVUxBVE9SXShoaXQudmFsdWUsIGhpdC5rZXkpXG4gICAgICAgIHRoaXNbTEVOR1RIXSArPSBoaXQubGVuZ3RoXG4gICAgICB9KVxuICAgIH1cbiAgICB0cmltKHRoaXMpXG4gIH1cbiAgZ2V0IGxlbmd0aENhbGN1bGF0b3IgKCkgeyByZXR1cm4gdGhpc1tMRU5HVEhfQ0FMQ1VMQVRPUl0gfVxuXG4gIGdldCBsZW5ndGggKCkgeyByZXR1cm4gdGhpc1tMRU5HVEhdIH1cbiAgZ2V0IGl0ZW1Db3VudCAoKSB7IHJldHVybiB0aGlzW0xSVV9MSVNUXS5sZW5ndGggfVxuXG4gIHJmb3JFYWNoIChmbiwgdGhpc3ApIHtcbiAgICB0aGlzcCA9IHRoaXNwIHx8IHRoaXNcbiAgICBmb3IgKGxldCB3YWxrZXIgPSB0aGlzW0xSVV9MSVNUXS50YWlsOyB3YWxrZXIgIT09IG51bGw7KSB7XG4gICAgICBjb25zdCBwcmV2ID0gd2Fsa2VyLnByZXZcbiAgICAgIGZvckVhY2hTdGVwKHRoaXMsIGZuLCB3YWxrZXIsIHRoaXNwKVxuICAgICAgd2Fsa2VyID0gcHJldlxuICAgIH1cbiAgfVxuXG4gIGZvckVhY2ggKGZuLCB0aGlzcCkge1xuICAgIHRoaXNwID0gdGhpc3AgfHwgdGhpc1xuICAgIGZvciAobGV0IHdhbGtlciA9IHRoaXNbTFJVX0xJU1RdLmhlYWQ7IHdhbGtlciAhPT0gbnVsbDspIHtcbiAgICAgIGNvbnN0IG5leHQgPSB3YWxrZXIubmV4dFxuICAgICAgZm9yRWFjaFN0ZXAodGhpcywgZm4sIHdhbGtlciwgdGhpc3ApXG4gICAgICB3YWxrZXIgPSBuZXh0XG4gICAgfVxuICB9XG5cbiAga2V5cyAoKSB7XG4gICAgcmV0dXJuIHRoaXNbTFJVX0xJU1RdLnRvQXJyYXkoKS5tYXAoayA9PiBrLmtleSlcbiAgfVxuXG4gIHZhbHVlcyAoKSB7XG4gICAgcmV0dXJuIHRoaXNbTFJVX0xJU1RdLnRvQXJyYXkoKS5tYXAoayA9PiBrLnZhbHVlKVxuICB9XG5cbiAgcmVzZXQgKCkge1xuICAgIGlmICh0aGlzW0RJU1BPU0VdICYmXG4gICAgICAgIHRoaXNbTFJVX0xJU1RdICYmXG4gICAgICAgIHRoaXNbTFJVX0xJU1RdLmxlbmd0aCkge1xuICAgICAgdGhpc1tMUlVfTElTVF0uZm9yRWFjaChoaXQgPT4gdGhpc1tESVNQT1NFXShoaXQua2V5LCBoaXQudmFsdWUpKVxuICAgIH1cblxuICAgIHRoaXNbQ0FDSEVdID0gbmV3IE1hcCgpIC8vIGhhc2ggb2YgaXRlbXMgYnkga2V5XG4gICAgdGhpc1tMUlVfTElTVF0gPSBuZXcgWWFsbGlzdCgpIC8vIGxpc3Qgb2YgaXRlbXMgaW4gb3JkZXIgb2YgdXNlIHJlY2VuY3lcbiAgICB0aGlzW0xFTkdUSF0gPSAwIC8vIGxlbmd0aCBvZiBpdGVtcyBpbiB0aGUgbGlzdFxuICB9XG5cbiAgZHVtcCAoKSB7XG4gICAgcmV0dXJuIHRoaXNbTFJVX0xJU1RdLm1hcChoaXQgPT5cbiAgICAgIGlzU3RhbGUodGhpcywgaGl0KSA/IGZhbHNlIDoge1xuICAgICAgICBrOiBoaXQua2V5LFxuICAgICAgICB2OiBoaXQudmFsdWUsXG4gICAgICAgIGU6IGhpdC5ub3cgKyAoaGl0Lm1heEFnZSB8fCAwKVxuICAgICAgfSkudG9BcnJheSgpLmZpbHRlcihoID0+IGgpXG4gIH1cblxuICBkdW1wTHJ1ICgpIHtcbiAgICByZXR1cm4gdGhpc1tMUlVfTElTVF1cbiAgfVxuXG4gIHNldCAoa2V5LCB2YWx1ZSwgbWF4QWdlKSB7XG4gICAgbWF4QWdlID0gbWF4QWdlIHx8IHRoaXNbTUFYX0FHRV1cblxuICAgIGlmIChtYXhBZ2UgJiYgdHlwZW9mIG1heEFnZSAhPT0gJ251bWJlcicpXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdtYXhBZ2UgbXVzdCBiZSBhIG51bWJlcicpXG5cbiAgICBjb25zdCBub3cgPSBtYXhBZ2UgPyBEYXRlLm5vdygpIDogMFxuICAgIGNvbnN0IGxlbiA9IHRoaXNbTEVOR1RIX0NBTENVTEFUT1JdKHZhbHVlLCBrZXkpXG5cbiAgICBpZiAodGhpc1tDQUNIRV0uaGFzKGtleSkpIHtcbiAgICAgIGlmIChsZW4gPiB0aGlzW01BWF0pIHtcbiAgICAgICAgZGVsKHRoaXMsIHRoaXNbQ0FDSEVdLmdldChrZXkpKVxuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cblxuICAgICAgY29uc3Qgbm9kZSA9IHRoaXNbQ0FDSEVdLmdldChrZXkpXG4gICAgICBjb25zdCBpdGVtID0gbm9kZS52YWx1ZVxuXG4gICAgICAvLyBkaXNwb3NlIG9mIHRoZSBvbGQgb25lIGJlZm9yZSBvdmVyd3JpdGluZ1xuICAgICAgLy8gc3BsaXQgb3V0IGludG8gMiBpZnMgZm9yIGJldHRlciBjb3ZlcmFnZSB0cmFja2luZ1xuICAgICAgaWYgKHRoaXNbRElTUE9TRV0pIHtcbiAgICAgICAgaWYgKCF0aGlzW05PX0RJU1BPU0VfT05fU0VUXSlcbiAgICAgICAgICB0aGlzW0RJU1BPU0VdKGtleSwgaXRlbS52YWx1ZSlcbiAgICAgIH1cblxuICAgICAgaXRlbS5ub3cgPSBub3dcbiAgICAgIGl0ZW0ubWF4QWdlID0gbWF4QWdlXG4gICAgICBpdGVtLnZhbHVlID0gdmFsdWVcbiAgICAgIHRoaXNbTEVOR1RIXSArPSBsZW4gLSBpdGVtLmxlbmd0aFxuICAgICAgaXRlbS5sZW5ndGggPSBsZW5cbiAgICAgIHRoaXMuZ2V0KGtleSlcbiAgICAgIHRyaW0odGhpcylcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgY29uc3QgaGl0ID0gbmV3IEVudHJ5KGtleSwgdmFsdWUsIGxlbiwgbm93LCBtYXhBZ2UpXG5cbiAgICAvLyBvdmVyc2l6ZWQgb2JqZWN0cyBmYWxsIG91dCBvZiBjYWNoZSBhdXRvbWF0aWNhbGx5LlxuICAgIGlmIChoaXQubGVuZ3RoID4gdGhpc1tNQVhdKSB7XG4gICAgICBpZiAodGhpc1tESVNQT1NFXSlcbiAgICAgICAgdGhpc1tESVNQT1NFXShrZXksIHZhbHVlKVxuXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICB0aGlzW0xFTkdUSF0gKz0gaGl0Lmxlbmd0aFxuICAgIHRoaXNbTFJVX0xJU1RdLnVuc2hpZnQoaGl0KVxuICAgIHRoaXNbQ0FDSEVdLnNldChrZXksIHRoaXNbTFJVX0xJU1RdLmhlYWQpXG4gICAgdHJpbSh0aGlzKVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBoYXMgKGtleSkge1xuICAgIGlmICghdGhpc1tDQUNIRV0uaGFzKGtleSkpIHJldHVybiBmYWxzZVxuICAgIGNvbnN0IGhpdCA9IHRoaXNbQ0FDSEVdLmdldChrZXkpLnZhbHVlXG4gICAgcmV0dXJuICFpc1N0YWxlKHRoaXMsIGhpdClcbiAgfVxuXG4gIGdldCAoa2V5KSB7XG4gICAgcmV0dXJuIGdldCh0aGlzLCBrZXksIHRydWUpXG4gIH1cblxuICBwZWVrIChrZXkpIHtcbiAgICByZXR1cm4gZ2V0KHRoaXMsIGtleSwgZmFsc2UpXG4gIH1cblxuICBwb3AgKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzW0xSVV9MSVNUXS50YWlsXG4gICAgaWYgKCFub2RlKVxuICAgICAgcmV0dXJuIG51bGxcblxuICAgIGRlbCh0aGlzLCBub2RlKVxuICAgIHJldHVybiBub2RlLnZhbHVlXG4gIH1cblxuICBkZWwgKGtleSkge1xuICAgIGRlbCh0aGlzLCB0aGlzW0NBQ0hFXS5nZXQoa2V5KSlcbiAgfVxuXG4gIGxvYWQgKGFycikge1xuICAgIC8vIHJlc2V0IHRoZSBjYWNoZVxuICAgIHRoaXMucmVzZXQoKVxuXG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKVxuICAgIC8vIEEgcHJldmlvdXMgc2VyaWFsaXplZCBjYWNoZSBoYXMgdGhlIG1vc3QgcmVjZW50IGl0ZW1zIGZpcnN0XG4gICAgZm9yIChsZXQgbCA9IGFyci5sZW5ndGggLSAxOyBsID49IDA7IGwtLSkge1xuICAgICAgY29uc3QgaGl0ID0gYXJyW2xdXG4gICAgICBjb25zdCBleHBpcmVzQXQgPSBoaXQuZSB8fCAwXG4gICAgICBpZiAoZXhwaXJlc0F0ID09PSAwKVxuICAgICAgICAvLyB0aGUgaXRlbSB3YXMgY3JlYXRlZCB3aXRob3V0IGV4cGlyYXRpb24gaW4gYSBub24gYWdlZCBjYWNoZVxuICAgICAgICB0aGlzLnNldChoaXQuaywgaGl0LnYpXG4gICAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgbWF4QWdlID0gZXhwaXJlc0F0IC0gbm93XG4gICAgICAgIC8vIGRvbnQgYWRkIGFscmVhZHkgZXhwaXJlZCBpdGVtc1xuICAgICAgICBpZiAobWF4QWdlID4gMCkge1xuICAgICAgICAgIHRoaXMuc2V0KGhpdC5rLCBoaXQudiwgbWF4QWdlKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJ1bmUgKCkge1xuICAgIHRoaXNbQ0FDSEVdLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IGdldCh0aGlzLCBrZXksIGZhbHNlKSlcbiAgfVxufVxuXG5jb25zdCBnZXQgPSAoc2VsZiwga2V5LCBkb1VzZSkgPT4ge1xuICBjb25zdCBub2RlID0gc2VsZltDQUNIRV0uZ2V0KGtleSlcbiAgaWYgKG5vZGUpIHtcbiAgICBjb25zdCBoaXQgPSBub2RlLnZhbHVlXG4gICAgaWYgKGlzU3RhbGUoc2VsZiwgaGl0KSkge1xuICAgICAgZGVsKHNlbGYsIG5vZGUpXG4gICAgICBpZiAoIXNlbGZbQUxMT1dfU1RBTEVdKVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChkb1VzZSkge1xuICAgICAgICBpZiAoc2VsZltVUERBVEVfQUdFX09OX0dFVF0pXG4gICAgICAgICAgbm9kZS52YWx1ZS5ub3cgPSBEYXRlLm5vdygpXG4gICAgICAgIHNlbGZbTFJVX0xJU1RdLnVuc2hpZnROb2RlKG5vZGUpXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBoaXQudmFsdWVcbiAgfVxufVxuXG5jb25zdCBpc1N0YWxlID0gKHNlbGYsIGhpdCkgPT4ge1xuICBpZiAoIWhpdCB8fCAoIWhpdC5tYXhBZ2UgJiYgIXNlbGZbTUFYX0FHRV0pKVxuICAgIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IGRpZmYgPSBEYXRlLm5vdygpIC0gaGl0Lm5vd1xuICByZXR1cm4gaGl0Lm1heEFnZSA/IGRpZmYgPiBoaXQubWF4QWdlXG4gICAgOiBzZWxmW01BWF9BR0VdICYmIChkaWZmID4gc2VsZltNQVhfQUdFXSlcbn1cblxuY29uc3QgdHJpbSA9IHNlbGYgPT4ge1xuICBpZiAoc2VsZltMRU5HVEhdID4gc2VsZltNQVhdKSB7XG4gICAgZm9yIChsZXQgd2Fsa2VyID0gc2VsZltMUlVfTElTVF0udGFpbDtcbiAgICAgIHNlbGZbTEVOR1RIXSA+IHNlbGZbTUFYXSAmJiB3YWxrZXIgIT09IG51bGw7KSB7XG4gICAgICAvLyBXZSBrbm93IHRoYXQgd2UncmUgYWJvdXQgdG8gZGVsZXRlIHRoaXMgb25lLCBhbmQgYWxzb1xuICAgICAgLy8gd2hhdCB0aGUgbmV4dCBsZWFzdCByZWNlbnRseSB1c2VkIGtleSB3aWxsIGJlLCBzbyBqdXN0XG4gICAgICAvLyBnbyBhaGVhZCBhbmQgc2V0IGl0IG5vdy5cbiAgICAgIGNvbnN0IHByZXYgPSB3YWxrZXIucHJldlxuICAgICAgZGVsKHNlbGYsIHdhbGtlcilcbiAgICAgIHdhbGtlciA9IHByZXZcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgZGVsID0gKHNlbGYsIG5vZGUpID0+IHtcbiAgaWYgKG5vZGUpIHtcbiAgICBjb25zdCBoaXQgPSBub2RlLnZhbHVlXG4gICAgaWYgKHNlbGZbRElTUE9TRV0pXG4gICAgICBzZWxmW0RJU1BPU0VdKGhpdC5rZXksIGhpdC52YWx1ZSlcblxuICAgIHNlbGZbTEVOR1RIXSAtPSBoaXQubGVuZ3RoXG4gICAgc2VsZltDQUNIRV0uZGVsZXRlKGhpdC5rZXkpXG4gICAgc2VsZltMUlVfTElTVF0ucmVtb3ZlTm9kZShub2RlKVxuICB9XG59XG5cbmNsYXNzIEVudHJ5IHtcbiAgY29uc3RydWN0b3IgKGtleSwgdmFsdWUsIGxlbmd0aCwgbm93LCBtYXhBZ2UpIHtcbiAgICB0aGlzLmtleSA9IGtleVxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZVxuICAgIHRoaXMubGVuZ3RoID0gbGVuZ3RoXG4gICAgdGhpcy5ub3cgPSBub3dcbiAgICB0aGlzLm1heEFnZSA9IG1heEFnZSB8fCAwXG4gIH1cbn1cblxuY29uc3QgZm9yRWFjaFN0ZXAgPSAoc2VsZiwgZm4sIG5vZGUsIHRoaXNwKSA9PiB7XG4gIGxldCBoaXQgPSBub2RlLnZhbHVlXG4gIGlmIChpc1N0YWxlKHNlbGYsIGhpdCkpIHtcbiAgICBkZWwoc2VsZiwgbm9kZSlcbiAgICBpZiAoIXNlbGZbQUxMT1dfU1RBTEVdKVxuICAgICAgaGl0ID0gdW5kZWZpbmVkXG4gIH1cbiAgaWYgKGhpdClcbiAgICBmbi5jYWxsKHRoaXNwLCBoaXQudmFsdWUsIGhpdC5rZXksIHNlbGYpXG59XG5cbm1vZHVsZS5leHBvcnRzID0gTFJVQ2FjaGVcbiIsIid1c2Ugc3RyaWN0J1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoWWFsbGlzdCkge1xuICBZYWxsaXN0LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24qICgpIHtcbiAgICBmb3IgKGxldCB3YWxrZXIgPSB0aGlzLmhlYWQ7IHdhbGtlcjsgd2Fsa2VyID0gd2Fsa2VyLm5leHQpIHtcbiAgICAgIHlpZWxkIHdhbGtlci52YWx1ZVxuICAgIH1cbiAgfVxufVxuIiwiJ3VzZSBzdHJpY3QnXG5tb2R1bGUuZXhwb3J0cyA9IFlhbGxpc3RcblxuWWFsbGlzdC5Ob2RlID0gTm9kZVxuWWFsbGlzdC5jcmVhdGUgPSBZYWxsaXN0XG5cbmZ1bmN0aW9uIFlhbGxpc3QgKGxpc3QpIHtcbiAgdmFyIHNlbGYgPSB0aGlzXG4gIGlmICghKHNlbGYgaW5zdGFuY2VvZiBZYWxsaXN0KSkge1xuICAgIHNlbGYgPSBuZXcgWWFsbGlzdCgpXG4gIH1cblxuICBzZWxmLnRhaWwgPSBudWxsXG4gIHNlbGYuaGVhZCA9IG51bGxcbiAgc2VsZi5sZW5ndGggPSAwXG5cbiAgaWYgKGxpc3QgJiYgdHlwZW9mIGxpc3QuZm9yRWFjaCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGxpc3QuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgc2VsZi5wdXNoKGl0ZW0pXG4gICAgfSlcbiAgfSBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMCkge1xuICAgIGZvciAodmFyIGkgPSAwLCBsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgc2VsZi5wdXNoKGFyZ3VtZW50c1tpXSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc2VsZlxufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5yZW1vdmVOb2RlID0gZnVuY3Rpb24gKG5vZGUpIHtcbiAgaWYgKG5vZGUubGlzdCAhPT0gdGhpcykge1xuICAgIHRocm93IG5ldyBFcnJvcigncmVtb3Zpbmcgbm9kZSB3aGljaCBkb2VzIG5vdCBiZWxvbmcgdG8gdGhpcyBsaXN0JylcbiAgfVxuXG4gIHZhciBuZXh0ID0gbm9kZS5uZXh0XG4gIHZhciBwcmV2ID0gbm9kZS5wcmV2XG5cbiAgaWYgKG5leHQpIHtcbiAgICBuZXh0LnByZXYgPSBwcmV2XG4gIH1cblxuICBpZiAocHJldikge1xuICAgIHByZXYubmV4dCA9IG5leHRcbiAgfVxuXG4gIGlmIChub2RlID09PSB0aGlzLmhlYWQpIHtcbiAgICB0aGlzLmhlYWQgPSBuZXh0XG4gIH1cbiAgaWYgKG5vZGUgPT09IHRoaXMudGFpbCkge1xuICAgIHRoaXMudGFpbCA9IHByZXZcbiAgfVxuXG4gIG5vZGUubGlzdC5sZW5ndGgtLVxuICBub2RlLm5leHQgPSBudWxsXG4gIG5vZGUucHJldiA9IG51bGxcbiAgbm9kZS5saXN0ID0gbnVsbFxufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS51bnNoaWZ0Tm9kZSA9IGZ1bmN0aW9uIChub2RlKSB7XG4gIGlmIChub2RlID09PSB0aGlzLmhlYWQpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGlmIChub2RlLmxpc3QpIHtcbiAgICBub2RlLmxpc3QucmVtb3ZlTm9kZShub2RlKVxuICB9XG5cbiAgdmFyIGhlYWQgPSB0aGlzLmhlYWRcbiAgbm9kZS5saXN0ID0gdGhpc1xuICBub2RlLm5leHQgPSBoZWFkXG4gIGlmIChoZWFkKSB7XG4gICAgaGVhZC5wcmV2ID0gbm9kZVxuICB9XG5cbiAgdGhpcy5oZWFkID0gbm9kZVxuICBpZiAoIXRoaXMudGFpbCkge1xuICAgIHRoaXMudGFpbCA9IG5vZGVcbiAgfVxuICB0aGlzLmxlbmd0aCsrXG59XG5cbllhbGxpc3QucHJvdG90eXBlLnB1c2hOb2RlID0gZnVuY3Rpb24gKG5vZGUpIHtcbiAgaWYgKG5vZGUgPT09IHRoaXMudGFpbCkge1xuICAgIHJldHVyblxuICB9XG5cbiAgaWYgKG5vZGUubGlzdCkge1xuICAgIG5vZGUubGlzdC5yZW1vdmVOb2RlKG5vZGUpXG4gIH1cblxuICB2YXIgdGFpbCA9IHRoaXMudGFpbFxuICBub2RlLmxpc3QgPSB0aGlzXG4gIG5vZGUucHJldiA9IHRhaWxcbiAgaWYgKHRhaWwpIHtcbiAgICB0YWlsLm5leHQgPSBub2RlXG4gIH1cblxuICB0aGlzLnRhaWwgPSBub2RlXG4gIGlmICghdGhpcy5oZWFkKSB7XG4gICAgdGhpcy5oZWFkID0gbm9kZVxuICB9XG4gIHRoaXMubGVuZ3RoKytcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUucHVzaCA9IGZ1bmN0aW9uICgpIHtcbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgcHVzaCh0aGlzLCBhcmd1bWVudHNbaV0pXG4gIH1cbiAgcmV0dXJuIHRoaXMubGVuZ3RoXG59XG5cbllhbGxpc3QucHJvdG90eXBlLnVuc2hpZnQgPSBmdW5jdGlvbiAoKSB7XG4gIGZvciAodmFyIGkgPSAwLCBsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIHVuc2hpZnQodGhpcywgYXJndW1lbnRzW2ldKVxuICB9XG4gIHJldHVybiB0aGlzLmxlbmd0aFxufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5wb3AgPSBmdW5jdGlvbiAoKSB7XG4gIGlmICghdGhpcy50YWlsKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgdmFyIHJlcyA9IHRoaXMudGFpbC52YWx1ZVxuICB0aGlzLnRhaWwgPSB0aGlzLnRhaWwucHJldlxuICBpZiAodGhpcy50YWlsKSB7XG4gICAgdGhpcy50YWlsLm5leHQgPSBudWxsXG4gIH0gZWxzZSB7XG4gICAgdGhpcy5oZWFkID0gbnVsbFxuICB9XG4gIHRoaXMubGVuZ3RoLS1cbiAgcmV0dXJuIHJlc1xufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5zaGlmdCA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKCF0aGlzLmhlYWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICB2YXIgcmVzID0gdGhpcy5oZWFkLnZhbHVlXG4gIHRoaXMuaGVhZCA9IHRoaXMuaGVhZC5uZXh0XG4gIGlmICh0aGlzLmhlYWQpIHtcbiAgICB0aGlzLmhlYWQucHJldiA9IG51bGxcbiAgfSBlbHNlIHtcbiAgICB0aGlzLnRhaWwgPSBudWxsXG4gIH1cbiAgdGhpcy5sZW5ndGgtLVxuICByZXR1cm4gcmVzXG59XG5cbllhbGxpc3QucHJvdG90eXBlLmZvckVhY2ggPSBmdW5jdGlvbiAoZm4sIHRoaXNwKSB7XG4gIHRoaXNwID0gdGhpc3AgfHwgdGhpc1xuICBmb3IgKHZhciB3YWxrZXIgPSB0aGlzLmhlYWQsIGkgPSAwOyB3YWxrZXIgIT09IG51bGw7IGkrKykge1xuICAgIGZuLmNhbGwodGhpc3AsIHdhbGtlci52YWx1ZSwgaSwgdGhpcylcbiAgICB3YWxrZXIgPSB3YWxrZXIubmV4dFxuICB9XG59XG5cbllhbGxpc3QucHJvdG90eXBlLmZvckVhY2hSZXZlcnNlID0gZnVuY3Rpb24gKGZuLCB0aGlzcCkge1xuICB0aGlzcCA9IHRoaXNwIHx8IHRoaXNcbiAgZm9yICh2YXIgd2Fsa2VyID0gdGhpcy50YWlsLCBpID0gdGhpcy5sZW5ndGggLSAxOyB3YWxrZXIgIT09IG51bGw7IGktLSkge1xuICAgIGZuLmNhbGwodGhpc3AsIHdhbGtlci52YWx1ZSwgaSwgdGhpcylcbiAgICB3YWxrZXIgPSB3YWxrZXIucHJldlxuICB9XG59XG5cbllhbGxpc3QucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uIChuKSB7XG4gIGZvciAodmFyIGkgPSAwLCB3YWxrZXIgPSB0aGlzLmhlYWQ7IHdhbGtlciAhPT0gbnVsbCAmJiBpIDwgbjsgaSsrKSB7XG4gICAgLy8gYWJvcnQgb3V0IG9mIHRoZSBsaXN0IGVhcmx5IGlmIHdlIGhpdCBhIGN5Y2xlXG4gICAgd2Fsa2VyID0gd2Fsa2VyLm5leHRcbiAgfVxuICBpZiAoaSA9PT0gbiAmJiB3YWxrZXIgIT09IG51bGwpIHtcbiAgICByZXR1cm4gd2Fsa2VyLnZhbHVlXG4gIH1cbn1cblxuWWFsbGlzdC5wcm90b3R5cGUuZ2V0UmV2ZXJzZSA9IGZ1bmN0aW9uIChuKSB7XG4gIGZvciAodmFyIGkgPSAwLCB3YWxrZXIgPSB0aGlzLnRhaWw7IHdhbGtlciAhPT0gbnVsbCAmJiBpIDwgbjsgaSsrKSB7XG4gICAgLy8gYWJvcnQgb3V0IG9mIHRoZSBsaXN0IGVhcmx5IGlmIHdlIGhpdCBhIGN5Y2xlXG4gICAgd2Fsa2VyID0gd2Fsa2VyLnByZXZcbiAgfVxuICBpZiAoaSA9PT0gbiAmJiB3YWxrZXIgIT09IG51bGwpIHtcbiAgICByZXR1cm4gd2Fsa2VyLnZhbHVlXG4gIH1cbn1cblxuWWFsbGlzdC5wcm90b3R5cGUubWFwID0gZnVuY3Rpb24gKGZuLCB0aGlzcCkge1xuICB0aGlzcCA9IHRoaXNwIHx8IHRoaXNcbiAgdmFyIHJlcyA9IG5ldyBZYWxsaXN0KClcbiAgZm9yICh2YXIgd2Fsa2VyID0gdGhpcy5oZWFkOyB3YWxrZXIgIT09IG51bGw7KSB7XG4gICAgcmVzLnB1c2goZm4uY2FsbCh0aGlzcCwgd2Fsa2VyLnZhbHVlLCB0aGlzKSlcbiAgICB3YWxrZXIgPSB3YWxrZXIubmV4dFxuICB9XG4gIHJldHVybiByZXNcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUubWFwUmV2ZXJzZSA9IGZ1bmN0aW9uIChmbiwgdGhpc3ApIHtcbiAgdGhpc3AgPSB0aGlzcCB8fCB0aGlzXG4gIHZhciByZXMgPSBuZXcgWWFsbGlzdCgpXG4gIGZvciAodmFyIHdhbGtlciA9IHRoaXMudGFpbDsgd2Fsa2VyICE9PSBudWxsOykge1xuICAgIHJlcy5wdXNoKGZuLmNhbGwodGhpc3AsIHdhbGtlci52YWx1ZSwgdGhpcykpXG4gICAgd2Fsa2VyID0gd2Fsa2VyLnByZXZcbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbllhbGxpc3QucHJvdG90eXBlLnJlZHVjZSA9IGZ1bmN0aW9uIChmbiwgaW5pdGlhbCkge1xuICB2YXIgYWNjXG4gIHZhciB3YWxrZXIgPSB0aGlzLmhlYWRcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgYWNjID0gaW5pdGlhbFxuICB9IGVsc2UgaWYgKHRoaXMuaGVhZCkge1xuICAgIHdhbGtlciA9IHRoaXMuaGVhZC5uZXh0XG4gICAgYWNjID0gdGhpcy5oZWFkLnZhbHVlXG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignUmVkdWNlIG9mIGVtcHR5IGxpc3Qgd2l0aCBubyBpbml0aWFsIHZhbHVlJylcbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyB3YWxrZXIgIT09IG51bGw7IGkrKykge1xuICAgIGFjYyA9IGZuKGFjYywgd2Fsa2VyLnZhbHVlLCBpKVxuICAgIHdhbGtlciA9IHdhbGtlci5uZXh0XG4gIH1cblxuICByZXR1cm4gYWNjXG59XG5cbllhbGxpc3QucHJvdG90eXBlLnJlZHVjZVJldmVyc2UgPSBmdW5jdGlvbiAoZm4sIGluaXRpYWwpIHtcbiAgdmFyIGFjY1xuICB2YXIgd2Fsa2VyID0gdGhpcy50YWlsXG4gIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xuICAgIGFjYyA9IGluaXRpYWxcbiAgfSBlbHNlIGlmICh0aGlzLnRhaWwpIHtcbiAgICB3YWxrZXIgPSB0aGlzLnRhaWwucHJldlxuICAgIGFjYyA9IHRoaXMudGFpbC52YWx1ZVxuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1JlZHVjZSBvZiBlbXB0eSBsaXN0IHdpdGggbm8gaW5pdGlhbCB2YWx1ZScpXG4gIH1cblxuICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyB3YWxrZXIgIT09IG51bGw7IGktLSkge1xuICAgIGFjYyA9IGZuKGFjYywgd2Fsa2VyLnZhbHVlLCBpKVxuICAgIHdhbGtlciA9IHdhbGtlci5wcmV2XG4gIH1cblxuICByZXR1cm4gYWNjXG59XG5cbllhbGxpc3QucHJvdG90eXBlLnRvQXJyYXkgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBhcnIgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpXG4gIGZvciAodmFyIGkgPSAwLCB3YWxrZXIgPSB0aGlzLmhlYWQ7IHdhbGtlciAhPT0gbnVsbDsgaSsrKSB7XG4gICAgYXJyW2ldID0gd2Fsa2VyLnZhbHVlXG4gICAgd2Fsa2VyID0gd2Fsa2VyLm5leHRcbiAgfVxuICByZXR1cm4gYXJyXG59XG5cbllhbGxpc3QucHJvdG90eXBlLnRvQXJyYXlSZXZlcnNlID0gZnVuY3Rpb24gKCkge1xuICB2YXIgYXJyID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKVxuICBmb3IgKHZhciBpID0gMCwgd2Fsa2VyID0gdGhpcy50YWlsOyB3YWxrZXIgIT09IG51bGw7IGkrKykge1xuICAgIGFycltpXSA9IHdhbGtlci52YWx1ZVxuICAgIHdhbGtlciA9IHdhbGtlci5wcmV2XG4gIH1cbiAgcmV0dXJuIGFyclxufVxuXG5ZYWxsaXN0LnByb3RvdHlwZS5zbGljZSA9IGZ1bmN0aW9uIChmcm9tLCB0bykge1xuICB0byA9IHRvIHx8IHRoaXMubGVuZ3RoXG4gIGlmICh0byA8IDApIHtcbiAgICB0byArPSB0aGlzLmxlbmd0aFxuICB9XG4gIGZyb20gPSBmcm9tIHx8IDBcbiAgaWYgKGZyb20gPCAwKSB7XG4gICAgZnJvbSArPSB0aGlzLmxlbmd0aFxuICB9XG4gIHZhciByZXQgPSBuZXcgWWFsbGlzdCgpXG4gIGlmICh0byA8IGZyb20gfHwgdG8gPCAwKSB7XG4gICAgcmV0dXJuIHJldFxuICB9XG4gIGlmIChmcm9tIDwgMCkge1xuICAgIGZyb20gPSAwXG4gIH1cbiAgaWYgKHRvID4gdGhpcy5sZW5ndGgpIHtcbiAgICB0byA9IHRoaXMubGVuZ3RoXG4gIH1cbiAgZm9yICh2YXIgaSA9IDAsIHdhbGtlciA9IHRoaXMuaGVhZDsgd2Fsa2VyICE9PSBudWxsICYmIGkgPCBmcm9tOyBpKyspIHtcbiAgICB3YWxrZXIgPSB3YWxrZXIubmV4dFxuICB9XG4gIGZvciAoOyB3YWxrZXIgIT09IG51bGwgJiYgaSA8IHRvOyBpKyssIHdhbGtlciA9IHdhbGtlci5uZXh0KSB7XG4gICAgcmV0LnB1c2god2Fsa2VyLnZhbHVlKVxuICB9XG4gIHJldHVybiByZXRcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUuc2xpY2VSZXZlcnNlID0gZnVuY3Rpb24gKGZyb20sIHRvKSB7XG4gIHRvID0gdG8gfHwgdGhpcy5sZW5ndGhcbiAgaWYgKHRvIDwgMCkge1xuICAgIHRvICs9IHRoaXMubGVuZ3RoXG4gIH1cbiAgZnJvbSA9IGZyb20gfHwgMFxuICBpZiAoZnJvbSA8IDApIHtcbiAgICBmcm9tICs9IHRoaXMubGVuZ3RoXG4gIH1cbiAgdmFyIHJldCA9IG5ldyBZYWxsaXN0KClcbiAgaWYgKHRvIDwgZnJvbSB8fCB0byA8IDApIHtcbiAgICByZXR1cm4gcmV0XG4gIH1cbiAgaWYgKGZyb20gPCAwKSB7XG4gICAgZnJvbSA9IDBcbiAgfVxuICBpZiAodG8gPiB0aGlzLmxlbmd0aCkge1xuICAgIHRvID0gdGhpcy5sZW5ndGhcbiAgfVxuICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGgsIHdhbGtlciA9IHRoaXMudGFpbDsgd2Fsa2VyICE9PSBudWxsICYmIGkgPiB0bzsgaS0tKSB7XG4gICAgd2Fsa2VyID0gd2Fsa2VyLnByZXZcbiAgfVxuICBmb3IgKDsgd2Fsa2VyICE9PSBudWxsICYmIGkgPiBmcm9tOyBpLS0sIHdhbGtlciA9IHdhbGtlci5wcmV2KSB7XG4gICAgcmV0LnB1c2god2Fsa2VyLnZhbHVlKVxuICB9XG4gIHJldHVybiByZXRcbn1cblxuWWFsbGlzdC5wcm90b3R5cGUucmV2ZXJzZSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhlYWQgPSB0aGlzLmhlYWRcbiAgdmFyIHRhaWwgPSB0aGlzLnRhaWxcbiAgZm9yICh2YXIgd2Fsa2VyID0gaGVhZDsgd2Fsa2VyICE9PSBudWxsOyB3YWxrZXIgPSB3YWxrZXIucHJldikge1xuICAgIHZhciBwID0gd2Fsa2VyLnByZXZcbiAgICB3YWxrZXIucHJldiA9IHdhbGtlci5uZXh0XG4gICAgd2Fsa2VyLm5leHQgPSBwXG4gIH1cbiAgdGhpcy5oZWFkID0gdGFpbFxuICB0aGlzLnRhaWwgPSBoZWFkXG4gIHJldHVybiB0aGlzXG59XG5cbmZ1bmN0aW9uIHB1c2ggKHNlbGYsIGl0ZW0pIHtcbiAgc2VsZi50YWlsID0gbmV3IE5vZGUoaXRlbSwgc2VsZi50YWlsLCBudWxsLCBzZWxmKVxuICBpZiAoIXNlbGYuaGVhZCkge1xuICAgIHNlbGYuaGVhZCA9IHNlbGYudGFpbFxuICB9XG4gIHNlbGYubGVuZ3RoKytcbn1cblxuZnVuY3Rpb24gdW5zaGlmdCAoc2VsZiwgaXRlbSkge1xuICBzZWxmLmhlYWQgPSBuZXcgTm9kZShpdGVtLCBudWxsLCBzZWxmLmhlYWQsIHNlbGYpXG4gIGlmICghc2VsZi50YWlsKSB7XG4gICAgc2VsZi50YWlsID0gc2VsZi5oZWFkXG4gIH1cbiAgc2VsZi5sZW5ndGgrK1xufVxuXG5mdW5jdGlvbiBOb2RlICh2YWx1ZSwgcHJldiwgbmV4dCwgbGlzdCkge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgTm9kZSkpIHtcbiAgICByZXR1cm4gbmV3IE5vZGUodmFsdWUsIHByZXYsIG5leHQsIGxpc3QpXG4gIH1cblxuICB0aGlzLmxpc3QgPSBsaXN0XG4gIHRoaXMudmFsdWUgPSB2YWx1ZVxuXG4gIGlmIChwcmV2KSB7XG4gICAgcHJldi5uZXh0ID0gdGhpc1xuICAgIHRoaXMucHJldiA9IHByZXZcbiAgfSBlbHNlIHtcbiAgICB0aGlzLnByZXYgPSBudWxsXG4gIH1cblxuICBpZiAobmV4dCkge1xuICAgIG5leHQucHJldiA9IHRoaXNcbiAgICB0aGlzLm5leHQgPSBuZXh0XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5uZXh0ID0gbnVsbFxuICB9XG59XG5cbnRyeSB7XG4gIC8vIGFkZCBpZiBzdXBwb3J0IGZvciBTeW1ib2wuaXRlcmF0b3IgaXMgcHJlc2VudFxuICByZXF1aXJlKCcuL2l0ZXJhdG9yLmpzJykoWWFsbGlzdClcbn0gY2F0Y2ggKGVyKSB7fVxuIiwiaW1wb3J0ICogYXMgZ2FwaSBmcm9tICcuL2dhcGknO1xuaW1wb3J0IHsgbXNnVHlwZSwgTXNnIH0gZnJvbSAnLi9tc2cnO1xuXG5sZXQgcGF0dGVybnMgPSBbXTtcbmxldCBjYWxlbmRhcnMgPSB7fTtcbmxldCBjYWxEYXRhID0ge307XG5cbmNocm9tZS5ydW50aW1lLm9uQ29ubmVjdC5hZGRMaXN0ZW5lcihmdW5jdGlvbihwb3J0KSB7XG4gICAgY29uc29sZS5hc3NlcnQocG9ydC5uYW1lID09ICdtYWluJyk7XG4gICAgcG9ydC5vbk1lc3NhZ2UuYWRkTGlzdGVuZXIoZnVuY3Rpb24oX21zZykge1xuICAgICAgICBsZXQgbXNnID0gTXNnLmluZmxhdGUoX21zZyk7XG4gICAgICAgIGNvbnNvbGUubG9nKG1zZyk7XG4gICAgICAgIGlmIChtc2cudHlwZSA9PSBtc2dUeXBlLnVwZGF0ZVBhdHRlcm5zKSB7XG4gICAgICAgICAgICBwYXR0ZXJucyA9IG1zZy5kYXRhO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG1zZy50eXBlID09IG1zZ1R5cGUuZ2V0UGF0dGVybnMpIHtcbiAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UobXNnLmdlblJlc3AocGF0dGVybnMpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtc2cudHlwZSA9PSBtc2dUeXBlLnVwZGF0ZUNhbGVuZGFycykge1xuICAgICAgICAgICAgY2FsZW5kYXJzID0gbXNnLmRhdGE7XG4gICAgICAgICAgICBmb3IgKGxldCBpZCBpbiBjYWxlbmRhcnMpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWNhbERhdGEuaGFzT3duUHJvcGVydHkoaWQpKVxuICAgICAgICAgICAgICAgICAgICBjYWxEYXRhW2lkXSA9IG5ldyBnYXBpLkdDYWxlbmRhcihpZCwgY2FsZW5kYXJzW2lkXS5zdW1tYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtc2cudHlwZSA9PSBtc2dUeXBlLmdldENhbGVuZGFycykge1xuICAgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShtc2cuZ2VuUmVzcChjYWxlbmRhcnMpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtc2cudHlwZSA9PSBtc2dUeXBlLmdldENhbEV2ZW50cykge1xuICAgICAgICAgICAgY2FsRGF0YVttc2cuZGF0YS5pZF0uZ2V0RXZlbnRzKG5ldyBEYXRlKG1zZy5kYXRhLnN0YXJ0KSwgbmV3IERhdGUobXNnLmRhdGEuZW5kKSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBjYW5ub3QgbG9hZCBjYWxlbmRhciAke21zZy5kYXRhLmlkfWAsIGUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAudGhlbihkYXRhID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhKTtcbiAgICAgICAgICAgICAgICBsZXQgcmVzcCA9IG1zZy5nZW5SZXNwKGRhdGEubWFwKGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGUuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogZS5zdGFydC5nZXRUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmQ6IGUuZW5kLmdldFRpbWUoKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3ApO1xuICAgICAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UocmVzcCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJ1bmtub3duIG1zZyB0eXBlXCIpO1xuICAgICAgICB9XG4gICAgfSk7XG59KTtcblxuY2hyb21lLmJyb3dzZXJBY3Rpb24ub25DbGlja2VkLmFkZExpc3RlbmVyKGZ1bmN0aW9uKCkge1xuICAgIGNocm9tZS50YWJzLmNyZWF0ZSh7dXJsOiAnaW5kZXguaHRtbCd9KTtcbn0pO1xuXG4iLCIvKiBnbG9iYWwgY2hyb21lICovXG5pbXBvcnQgTFJVIGZyb20gXCJscnUtY2FjaGVcIjtcbmNvbnN0IGdhcGlfYmFzZSA9ICdodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9jYWxlbmRhci92Myc7XG5cbmNvbnN0IEdBcGlFcnJvciA9IHtcbiAgICBpbnZhbGlkU3luY1Rva2VuOiAxLFxuICAgIG90aGVyRXJyb3I6IDIsXG59O1xuXG5mdW5jdGlvbiB0b19wYXJhbXMoZGljdCkge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhkaWN0KS5maWx0ZXIoKFtrLCB2XSkgPT4gdikubWFwKChbaywgdl0pID0+IGAke2VuY29kZVVSSUNvbXBvbmVudChrKX09JHtlbmNvZGVVUklDb21wb25lbnQodil9YCkuam9pbignJicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXV0aFRva2VuKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlciA9PlxuICAgICAgICBjaHJvbWUuaWRlbnRpdHkuZ2V0QXV0aFRva2VuKFxuICAgICAgICAgICAge2ludGVyYWN0aXZlOiB0cnVlfSwgdG9rZW4gPT4gcmVzb2x2ZXIodG9rZW4pKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDYWxlbmRhcnModG9rZW4pIHtcbiAgICByZXR1cm4gZmV0Y2goYCR7Z2FwaV9iYXNlfS91c2Vycy9tZS9jYWxlbmRhckxpc3Q/JHt0b19wYXJhbXMoe2FjY2Vzc190b2tlbjogdG9rZW59KX1gLFxuICAgICAgICAgICAgeyBtZXRob2Q6ICdHRVQnLCBhc3luYzogdHJ1ZSB9KVxuICAgICAgICAudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAgIC50aGVuKGRhdGEgPT4gZGF0YS5pdGVtcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2xvcnModG9rZW4pIHtcbiAgICByZXR1cm4gZmV0Y2goYCR7Z2FwaV9iYXNlfS9jb2xvcnM/JHt0b19wYXJhbXMoe2FjY2Vzc190b2tlbjogdG9rZW59KX1gLFxuICAgICAgICB7IG1ldGhvZDogJ0dFVCcsIGFzeW5jOiB0cnVlIH0pXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmpzb24oKSk7XG59XG5cbmZ1bmN0aW9uIGdldEV2ZW50KGNhbElkLCBldmVudElkLCB0b2tlbikge1xuICAgIHJldHVybiBmZXRjaChgJHtnYXBpX2Jhc2V9L2NhbGVuZGFycy8ke2NhbElkfS9ldmVudHMvJHtldmVudElkfT8ke3RvX3BhcmFtcyh7YWNjZXNzX3Rva2VuOiB0b2tlbn0pfWAsXG4gICAgICAgIHsgbWV0aG9kOiAnR0VUJywgYXN5bmM6IHRydWUgfSlcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKTtcbn1cblxuZnVuY3Rpb24gZ2V0RXZlbnRzKGNhbElkLCB0b2tlbiwgc3luY1Rva2VuPW51bGwsIHRpbWVNaW49bnVsbCwgdGltZU1heD1udWxsLCByZXN1bHRzUGVyUmVxdWVzdD0xMDApIHtcbiAgICBsZXQgcmVzdWx0cyA9IFtdO1xuICAgIGNvbnN0IHNpbmdsZUZldGNoID0gKHBhZ2VUb2tlbiwgc3luY1Rva2VuKSA9PiBmZXRjaChgJHtnYXBpX2Jhc2V9L2NhbGVuZGFycy8ke2NhbElkfS9ldmVudHM/JHt0b19wYXJhbXMoe1xuICAgICAgICAgICAgYWNjZXNzX3Rva2VuOiB0b2tlbixcbiAgICAgICAgICAgIHBhZ2VUb2tlbixcbiAgICAgICAgICAgIHN5bmNUb2tlbixcbiAgICAgICAgICAgIHRpbWVNaW4sXG4gICAgICAgICAgICB0aW1lTWF4LFxuICAgICAgICAgICAgbWF4UmVzdWx0czogcmVzdWx0c1BlclJlcXVlc3RcbiAgICAgICAgfSl9YCwgeyBtZXRob2Q6ICdHRVQnLCBhc3luYzogdHJ1ZSB9KVxuICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwMClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQxMClcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgR0FwaUVycm9yLmludmFsaWRTeW5jVG9rZW47XG4gICAgICAgICAgICAgICAgZWxzZSB0aHJvdyBHQXBpRXJyb3Iub3RoZXJFcnJvcnM7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKC4uLmRhdGEuaXRlbXMpO1xuICAgICAgICAgICAgICAgIGlmIChkYXRhLm5leHRQYWdlVG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpbmdsZUZldGNoKGRhdGEubmV4dFBhZ2VUb2tlbiwgJycpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFN5bmNUb2tlbjogZGF0YS5uZXh0U3luY1Rva2VuLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0c1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuXG4gICAgcmV0dXJuIHNpbmdsZUZldGNoKCcnLCBzeW5jVG9rZW4pO1xufVxuXG5leHBvcnQgY2xhc3MgR0NhbGVuZGFyIHtcbiAgICBjb25zdHJ1Y3RvcihjYWxJZCwgbmFtZSwgb3B0aW9ucz17bWF4Q2FjaGVkSXRlbXM6IDEwMCwgbkRheXNQZXJTbG90OiAxMCwgbGFyZ2VRdWVyeTogMTB9KSB7XG4gICAgICAgIHRoaXMuY2FsSWQgPSBjYWxJZDtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy50b2tlbiA9IGdldEF1dGhUb2tlbigpO1xuICAgICAgICB0aGlzLnN5bmNUb2tlbiA9ICcnO1xuICAgICAgICB0aGlzLmNhY2hlID0gbmV3IExSVSh7XG4gICAgICAgICAgICBtYXg6IG9wdGlvbnMubWF4Q2FjaGVkSXRlbXMsXG4gICAgICAgICAgICBkaXNwb3NlOiAoaywgdikgPT4gdGhpcy5vblJlbW92ZVNsb3QoaywgdilcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZXZlbnRNZXRhID0ge307XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMuZGl2aWRlciA9IDguNjRlNyAqIHRoaXMub3B0aW9ucy5uRGF5c1BlclNsb3Q7XG4gICAgfVxuXG4gICAgZGF0ZVRvQ2FjaGVLZXkoZGF0ZSkge1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcihkYXRlIC8gdGhpcy5kaXZpZGVyKTtcbiAgICB9XG5cbiAgICBkYXRlUmFuZ2VUb0NhY2hlS2V5cyhyYW5nZSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc3RhcnQ6IHRoaXMuZGF0ZVRvQ2FjaGVLZXkocmFuZ2Uuc3RhcnQpLFxuICAgICAgICAgICAgZW5kOiB0aGlzLmRhdGVUb0NhY2hlS2V5KG5ldyBEYXRlKHJhbmdlLmVuZC5nZXRUaW1lKCkgLSAxKSlcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRTbG90KGspIHtcbiAgICAgICAgaWYgKCF0aGlzLmNhY2hlLmhhcyhrKSlcbiAgICAgICAge1xuICAgICAgICAgICAgbGV0IHJlcyA9IHt9O1xuICAgICAgICAgICAgdGhpcy5jYWNoZS5zZXQoaywgcmVzKTtcbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSByZXR1cm4gdGhpcy5jYWNoZS5nZXQoayk7XG4gICAgfVxuXG4gICAgb25SZW1vdmVTbG90KGssIHYpIHtcbiAgICAgICAgZm9yIChsZXQgaWQgaW4gdikge1xuICAgICAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5ldmVudE1ldGFbaWRdKTtcbiAgICAgICAgICAgIGxldCBrZXlzID0gdGhpcy5ldmVudE1ldGFbaWRdLmtleXM7XG4gICAgICAgICAgICBrZXlzLmRlbGV0ZShrKTtcbiAgICAgICAgICAgIGlmIChrZXlzLnNpemUgPT09IDApXG4gICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuZXZlbnRNZXRhW2lkXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNsb3RTdGFydERhdGUoaykgeyByZXR1cm4gbmV3IERhdGUoayAqIHRoaXMuZGl2aWRlcik7IH1cbiAgICBzbG90RW5kRGF0ZShrKSB7IHJldHVybiBuZXcgRGF0ZSgoayArIDEpICogdGhpcy5kaXZpZGVyKTsgfVxuXG4gICAgYWRkRXZlbnQoZSwgZXZpY3QgPSBmYWxzZSkge1xuICAgICAgICAvL2NvbnNvbGUubG9nKCdhZGRpbmcgZXZlbnQnLCBlKTtcbiAgICAgICAgaWYgKHRoaXMuZXZlbnRNZXRhLmhhc093blByb3BlcnR5KGUuaWQpKVxuICAgICAgICAgICAgdGhpcy5yZW1vdmVFdmVudChlKTtcbiAgICAgICAgbGV0IHIgPSB0aGlzLmRhdGVSYW5nZVRvQ2FjaGVLZXlzKGUpO1xuICAgICAgICBsZXQga3MgPSByLnN0YXJ0O1xuICAgICAgICBsZXQga2UgPSByLmVuZDtcbiAgICAgICAgbGV0IHQgPSB0aGlzLmNhY2hlLmxlbmd0aDtcbiAgICAgICAgbGV0IGtleXMgPSBuZXcgU2V0KCk7XG4gICAgICAgIGZvciAobGV0IGkgPSBrczsgaSA8PSBrZTsgaSsrKVxuICAgICAgICB7XG4gICAgICAgICAgICBrZXlzLmFkZChpKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5jYWNoZS5oYXMoaSkpIHQrKztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV2ZW50TWV0YVtlLmlkXSA9IHtcbiAgICAgICAgICAgIGtleXMsXG4gICAgICAgICAgICBzdW1tYXJ5OiBlLnN1bW1hcnksXG4gICAgICAgIH07XG4gICAgICAgIGlmICghZXZpY3QgJiYgdCA+IHRoaXMub3B0aW9ucy5tYXhDYWNoZWRJdGVtcykgcmV0dXJuO1xuICAgICAgICBpZiAoa3MgPT09IGtlKVxuICAgICAgICAgICAgdGhpcy5nZXRTbG90KGtzKVtlLmlkXSA9IHtcbiAgICAgICAgICAgICAgICBzdGFydDogZS5zdGFydCxcbiAgICAgICAgICAgICAgICBlbmQ6IGUuZW5kLFxuICAgICAgICAgICAgICAgIGlkOiBlLmlkIH07XG4gICAgICAgIGVsc2VcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5nZXRTbG90KGtzKVtlLmlkXSA9IHtcbiAgICAgICAgICAgICAgICBzdGFydDogZS5zdGFydCxcbiAgICAgICAgICAgICAgICBlbmQ6IHRoaXMuc2xvdEVuZERhdGUoa3MpLFxuICAgICAgICAgICAgICAgIGlkOiBlLmlkIH07XG4gICAgICAgICAgICB0aGlzLmdldFNsb3Qoa2UpW2UuaWRdID0ge1xuICAgICAgICAgICAgICAgIHN0YXJ0OiB0aGlzLnNsb3RTdGFydERhdGUoa2UpLFxuICAgICAgICAgICAgICAgIGVuZDogZS5lbmQsXG4gICAgICAgICAgICAgICAgaWQ6IGUuaWQgfTtcbiAgICAgICAgICAgIGZvciAobGV0IGsgPSBrcyArIDE7IGsgPCBrZTsgaysrKVxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2xvdChrKVtlLmlkXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IHRoaXMuc2xvdFN0YXJ0RGF0ZShrKSxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiB0aGlzLnNsb3RFbmREYXRlKGspLFxuICAgICAgICAgICAgICAgICAgICBpZDogZS5pZH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVFdmVudChlKSB7XG4gICAgICAgIGxldCBrZXlzID0gdGhpcy5ldmVudE1ldGFbZS5pZF0ua2V5cztcbiAgICAgICAgY29uc29sZS5hc3NlcnQoa2V5cyk7XG4gICAgICAgIGtleXMuZm9yRWFjaChrID0+IGRlbGV0ZSB0aGlzLmdldFNsb3QoaylbZS5pZF0pO1xuICAgICAgICBkZWxldGUgdGhpcy5ldmVudE1ldGFbZS5pZF07XG4gICAgfVxuXG4gICAgZ2V0U2xvdEV2ZW50cyhrLCBzdGFydCwgZW5kKSB7XG4gICAgICAgIGxldCBzID0gdGhpcy5nZXRTbG90KGspO1xuICAgICAgICAvL2NvbnNvbGUubG9nKHMpO1xuICAgICAgICBsZXQgcmVzdWx0cyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpZCBpbiBzKSB7XG4gICAgICAgICAgICBpZiAoIShzW2lkXS5zdGFydCA+PSBlbmQgfHwgc1tpZF0uZW5kIDw9IHN0YXJ0KSlcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXN1bHRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IHNbaWRdLnN0YXJ0IDwgc3RhcnQgPyBzdGFydDogc1tpZF0uc3RhcnQsXG4gICAgICAgICAgICAgICAgICAgIGVuZDogc1tpZF0uZW5kID4gZW5kID8gZW5kOiBzW2lkXS5lbmQsXG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMuZXZlbnRNZXRhW2lkXS5zdW1tYXJ5XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuXG4gICAgZ2V0Q2FjaGVkRXZlbnRzKF9yKSB7XG4gICAgICAgIGxldCByID0gdGhpcy5kYXRlUmFuZ2VUb0NhY2hlS2V5cyhfcik7XG4gICAgICAgIGxldCBrcyA9IHIuc3RhcnQ7XG4gICAgICAgIGxldCBrZSA9IHIuZW5kO1xuICAgICAgICBsZXQgcmVzdWx0cyA9IHRoaXMuZ2V0U2xvdEV2ZW50cyhrcywgX3Iuc3RhcnQsIF9yLmVuZCk7XG4gICAgICAgIGZvciAobGV0IGsgPSBrcyArIDE7IGsgPCBrZTsgaysrKVxuICAgICAgICB7XG4gICAgICAgICAgICBsZXQgcyA9IHRoaXMuZ2V0U2xvdChrKTtcbiAgICAgICAgICAgIGZvciAobGV0IGlkIGluIHMpXG4gICAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHNbaWRdKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoa2UgPiBrcylcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaCguLi50aGlzLmdldFNsb3RFdmVudHMoa2UsIF9yLnN0YXJ0LCBfci5lbmQpKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuXG4gICAgc3luYygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW4udGhlbih0b2tlbiA9PiBnZXRFdmVudHModGhpcy5jYWxJZCwgdG9rZW4sIHRoaXMuc3luY1Rva2VuKS50aGVuKHIgPT4ge1xuICAgICAgICAgICAgbGV0IHBtcyA9IHIucmVzdWx0cy5tYXAoZSA9PiBlLnN0YXJ0ID8gUHJvbWlzZS5yZXNvbHZlKGUpIDogZ2V0RXZlbnQodGhpcy5jYWxJZCwgZS5pZCwgdG9rZW4pKTtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChwbXMpLnRoZW4ocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICAgICAgcmVzdWx0cy5mb3JFYWNoKGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlLnN0YXJ0ID0gbmV3IERhdGUoZS5zdGFydC5kYXRlVGltZSk7XG4gICAgICAgICAgICAgICAgICAgIGUuZW5kID0gbmV3IERhdGUoZS5lbmQuZGF0ZVRpbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZS5zdGF0dXMgPT09ICdjb25maXJtZWQnKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRFdmVudChlKTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZS5zdGF0dXMgPT09ICdjYW5jZWxsZWQnKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVFdmVudChlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLnN5bmNUb2tlbiA9IHIubmV4dFN5bmNUb2tlbjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KSkuY2F0Y2goZSA9PiB7XG4gICAgICAgICAgICBpZiAoZSA9PT0gR0FwaUVycm9yLmludmFsaWRTeW5jVG9rZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN5bmNUb2tlbiA9ICcnO1xuICAgICAgICAgICAgICAgIHRoaXMuc3luYygpO1xuICAgICAgICAgICAgfSBlbHNlIHRocm93IGU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldEV2ZW50cyhzdGFydCwgZW5kKSB7XG4gICAgICAgIGxldCByID0gdGhpcy5kYXRlUmFuZ2VUb0NhY2hlS2V5cyh7IHN0YXJ0LCBlbmQgfSk7XG4gICAgICAgIGxldCBxdWVyeSA9IHt9O1xuICAgICAgICBmb3IgKGxldCBrID0gci5zdGFydDsgayA8PSByLmVuZDsgaysrKVxuICAgICAgICAgICAgaWYgKCF0aGlzLmNhY2hlLmhhcyhrKSlcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZiAoIXF1ZXJ5Lmhhc093blByb3BlcnR5KCdzdGFydCcpKVxuICAgICAgICAgICAgICAgICAgICBxdWVyeS5zdGFydCA9IGs7XG4gICAgICAgICAgICAgICAgcXVlcnkuZW5kID0gaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2coYHN0YXJ0OiAke3N0YXJ0fSBlbmQ6ICR7ZW5kfWApO1xuICAgICAgICBpZiAocXVlcnkuaGFzT3duUHJvcGVydHkoJ3N0YXJ0JykpXG4gICAgICAgIHtcbiAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHF1ZXJ5LnN0YXJ0IDw9IHF1ZXJ5LmVuZCk7XG4gICAgICAgICAgICBpZiAocXVlcnkuZW5kIC0gcXVlcnkuc3RhcnQgKyAxID4gdGhpcy5vcHRpb25zLmxhcmdlUXVlcnkpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgZW5jb3VudGVyIGxhcmdlIHF1ZXJ5LCB1c2UgZGlyZWN0IGZldGNoYCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9rZW4udGhlbih0b2tlbiA9PiBnZXRFdmVudHModGhpcy5jYWxJZCwgdG9rZW4sIG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydC50b0lTT1N0cmluZygpLCBlbmQudG9JU09TdHJpbmcoKSkudGhlbihyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdHMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgci5yZXN1bHRzLmZvckVhY2goZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChlLnN0YXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RhcnQgPSBuZXcgRGF0ZShlLnN0YXJ0LmRhdGVUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuZW5kID0gbmV3IERhdGUoZS5lbmQuZGF0ZVRpbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKGUpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHMuZmlsdGVyKGUgPT4gIShlLnN0YXJ0ID49IGVuZCB8fCBlLmVuZCA8PSBzdGFydCkpLm1hcChlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGUuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGUuc3RhcnQgPCBzdGFydCA/IHN0YXJ0OiBlLnN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogZS5lbmQgPiBlbmQgPyBlbmQ6IGUuZW5kLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6IGUuc3VtbWFyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc29sZS5sb2coYGZldGNoaW5nIHNob3J0IGV2ZW50IGxpc3RgKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRva2VuLnRoZW4odG9rZW4gPT4gZ2V0RXZlbnRzKHRoaXMuY2FsSWQsIHRva2VuLCBudWxsLFxuICAgICAgICAgICAgICAgIHRoaXMuc2xvdFN0YXJ0RGF0ZShxdWVyeS5zdGFydCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICB0aGlzLnNsb3RFbmREYXRlKHF1ZXJ5LmVuZCkudG9JU09TdHJpbmcoKSkudGhlbihyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgci5yZXN1bHRzLmZvckVhY2goZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5zdGF0dXMgPT09ICdjb25maXJtZWQnKVxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGUuc3RhcnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RhcnQgPSBuZXcgRGF0ZShlLnN0YXJ0LmRhdGVUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLmVuZCA9IG5ldyBEYXRlKGUuZW5kLmRhdGVUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZEV2ZW50KGUsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc3luY1Rva2VuID09PSAnJylcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3luY1Rva2VuID0gci5uZXh0U3luY1Rva2VuO1xuICAgICAgICAgICAgICAgIH0pKS50aGVuKCgpID0+IHRoaXMuc3luYygpKVxuICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMuZ2V0Q2FjaGVkRXZlbnRzKHsgc3RhcnQsIGVuZCB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgY2FjaGUgaGl0YCk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zeW5jKCkudGhlbigoKSA9PiB0aGlzLmdldENhY2hlZEV2ZW50cyh7IHN0YXJ0LCBlbmQgfSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogZ2xvYmFsIGNocm9tZSAqL1xuY29uc3QgX3VwZGF0ZVBhdHRlcm5zID0gXCJ1cGRhdGVQYXR0ZXJuc1wiO1xuY29uc3QgX2dldFBhdHRlcm5zID0gXCJnZXRQYXR0ZXJuc1wiO1xuY29uc3QgX3VwZGF0ZUNhbGVuZGFycyA9IFwidXBkYXRlQ2FsZW5kYXJzXCI7XG5jb25zdCBfZ2V0Q2FsZW5kYXJzID0gXCJnZXRDYWxlbmRhcnNcIjtcbmNvbnN0IF9nZXRDYWxFdmVudHMgPSBcImdldENhbEV2ZW50c1wiO1xuXG5leHBvcnQgY29uc3QgbXNnVHlwZSA9IE9iamVjdC5mcmVlemUoe1xuICAgIHVwZGF0ZVBhdHRlcm5zOiBTeW1ib2woX3VwZGF0ZVBhdHRlcm5zKSxcbiAgICBnZXRQYXR0ZXJuczogU3ltYm9sKF9nZXRQYXR0ZXJucyksXG4gICAgdXBkYXRlQ2FsZW5kYXJzOiBTeW1ib2woX3VwZGF0ZUNhbGVuZGFycyksXG4gICAgZ2V0Q2FsZW5kYXJzOiBTeW1ib2woX2dldENhbGVuZGFycyksXG4gICAgZ2V0Q2FsRXZlbnRzOiBTeW1ib2woX2dldENhbEV2ZW50cyksXG59KTtcblxuZnVuY3Rpb24gc3RyaW5naWZ5TXNnVHlwZShtdCkge1xuICAgIHN3aXRjaCAobXQpIHtcbiAgICAgICAgY2FzZSBtc2dUeXBlLnVwZGF0ZVBhdHRlcm5zOiByZXR1cm4gX3VwZGF0ZVBhdHRlcm5zO1xuICAgICAgICBjYXNlIG1zZ1R5cGUuZ2V0UGF0dGVybnM6IHJldHVybiBfZ2V0UGF0dGVybnM7XG4gICAgICAgIGNhc2UgbXNnVHlwZS51cGRhdGVDYWxlbmRhcnM6IHJldHVybiBfdXBkYXRlQ2FsZW5kYXJzO1xuICAgICAgICBjYXNlIG1zZ1R5cGUuZ2V0Q2FsZW5kYXJzOiByZXR1cm4gX2dldENhbGVuZGFycztcbiAgICAgICAgY2FzZSBtc2dUeXBlLmdldENhbEV2ZW50czogcmV0dXJuIF9nZXRDYWxFdmVudHM7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZU1zZ1R5cGUocykge1xuICAgIHN3aXRjaChzKSB7XG4gICAgICAgIGNhc2UgX3VwZGF0ZVBhdHRlcm5zOiByZXR1cm4gbXNnVHlwZS51cGRhdGVQYXR0ZXJucztcbiAgICAgICAgY2FzZSBfZ2V0UGF0dGVybnM6IHJldHVybiBtc2dUeXBlLmdldFBhdHRlcm5zO1xuICAgICAgICBjYXNlIF91cGRhdGVDYWxlbmRhcnM6IHJldHVybiBtc2dUeXBlLnVwZGF0ZUNhbGVuZGFycztcbiAgICAgICAgY2FzZSBfZ2V0Q2FsZW5kYXJzOiByZXR1cm4gbXNnVHlwZS5nZXRDYWxlbmRhcnM7XG4gICAgICAgIGNhc2UgX2dldENhbEV2ZW50czogcmV0dXJuIG1zZ1R5cGUuZ2V0Q2FsRXZlbnRzO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1zZyB7XG4gICAgY29uc3RydWN0b3IoaWQsIHR5cGUsIGRhdGEpIHtcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIH1cbiAgICBnZW5SZXNwKGRhdGEpIHsgcmV0dXJuIG5ldyBNc2codGhpcy5pZCwgdGhpcy50eXBlLCBkYXRhKTsgfVxuICAgIGRlZmxhdGUoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgICAgIHR5cGU6IHN0cmluZ2lmeU1zZ1R5cGUodGhpcy50eXBlKSxcbiAgICAgICAgICAgIGRhdGE6IHRoaXMuZGF0YVxuICAgICAgICB9XG4gICAgfVxuICAgIHN0YXRpYyBpbmZsYXRlID0gb2JqID0+IG5ldyBNc2cob2JqLmlkLCBwYXJzZU1zZ1R5cGUob2JqLnR5cGUpLCBvYmouZGF0YSk7XG59XG5cbmV4cG9ydCBjbGFzcyBNc2dDbGllbnQge1xuICAgIGNvbnN0cnVjdG9yKGNoYW5uZWxOYW1lKSB7XG4gICAgICAgIGxldCBwb3J0ID0gY2hyb21lLnJ1bnRpbWUuY29ubmVjdCh7bmFtZTogY2hhbm5lbE5hbWV9KTtcbiAgICAgICAgY29uc3QgZ2V0Q2FsbEJhY2sgPSByY2IgPT4gdGhpcy5yZXF1ZXN0Q2FsbGJhY2s7XG4gICAgICAgIHBvcnQub25NZXNzYWdlLmFkZExpc3RlbmVyKGZ1bmN0aW9uKG1zZykge1xuICAgICAgICAgICAgY29uc29sZS5sb2cobXNnKTtcbiAgICAgICAgICAgIGxldCByY2IgPSBnZXRDYWxsQmFjayhtc2cudHlwZSk7XG4gICAgICAgICAgICBsZXQgY2IgPSByY2IuaW5GbGlnaHRbbXNnLmlkXTtcbiAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGNiICE9PSB1bmRlZmluZWQpO1xuICAgICAgICAgICAgcmNiLmlkcy5wdXNoKG1zZy5pZCk7XG4gICAgICAgICAgICBjYihtc2cpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wb3J0ID0gcG9ydDtcbiAgICAgICAgdGhpcy5yZXF1ZXN0Q2FsbGJhY2sgPSB7aW5GbGlnaHQ6IHt9LCBpZHM6IFtdLCBtYXhJZDogMH07XG4gICAgfVxuXG4gICAgc2VuZE1zZyA9ICh7IHR5cGUsIGRhdGEgfSkgPT4ge1xuICAgICAgICBsZXQgcmNiID0gdGhpcy5yZXF1ZXN0Q2FsbGJhY2s7XG4gICAgICAgIGxldCBjYjtcbiAgICAgICAgbGV0IHBtID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7IGNiID0gcmVzb2x2ZTsgfSk7XG4gICAgICAgIGxldCBpZDtcbiAgICAgICAgaWYgKHJjYi5pZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaWQgPSByY2IuaWRzLnBvcCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWQgPSByY2IubWF4SWQrKztcbiAgICAgICAgfVxuICAgICAgICByY2IuaW5GbGlnaHRbaWRdID0gY2I7XG4gICAgICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZSgobmV3IE1zZyhpZCwgdHlwZSwgZGF0YSkpLmRlZmxhdGUoKSk7XG4gICAgICAgIHJldHVybiBwbTtcbiAgICB9XG59XG4iXX0= diff --git a/build/index.html b/build/index.html index 65594e6..fffdb8d 100644 --- a/build/index.html +++ b/build/index.html @@ -1 +1 @@ -Chromicle
\ No newline at end of file +Chromicle
\ No newline at end of file diff --git a/build/precache-manifest.7787472d2332648716473d80c2ae7c9c.js b/build/precache-manifest.7787472d2332648716473d80c2ae7c9c.js new file mode 100644 index 0000000..7f7d246 --- /dev/null +++ b/build/precache-manifest.7787472d2332648716473d80c2ae7c9c.js @@ -0,0 +1,118 @@ +self.__precacheManifest = [ + { + "revision": "d69924b98acd849cdeba9fbff3f88ea6", + "url": "/static/media/roboto-latin-300italic.d69924b9.woff2" + }, + { + "revision": "f88964ab890ce811c906", + "url": "/static/js/main.f88964ab.chunk.js" + }, + { + "revision": "bc833e725c137257c2c42a789845d82f", + "url": "/static/media/roboto-latin-900italic.bc833e72.woff" + }, + { + "revision": "229c360febb4351a89df", + "url": "/static/js/runtime~main.229c360f.js" + }, + { + "revision": "987b84570ea69ee660455b8d5e91f5f1", + "url": "/static/media/roboto-latin-100.987b8457.woff2" + }, + { + "revision": "55536c8e9e9a532651e3cf374f290ea3", + "url": "/static/media/roboto-latin-300.55536c8e.woff2" + }, + { + "revision": "5d4aeb4e5f5ef754e307d7ffaef688bd", + "url": "/static/media/roboto-latin-400.5d4aeb4e.woff2" + }, + { + "revision": "285467176f7fe6bb6a9c6873b3dad2cc", + "url": "/static/media/roboto-latin-500.28546717.woff2" + }, + { + "revision": "037d830416495def72b7881024c14b7b", + "url": "/static/media/roboto-latin-700.037d8304.woff2" + }, + { + "revision": "19b7a0adfdd4f808b53af7e2ce2ad4e5", + "url": "/static/media/roboto-latin-900.19b7a0ad.woff2" + }, + { + "revision": "e9dbbe8a693dd275c16d32feb101f1c1", + "url": "/static/media/roboto-latin-100.e9dbbe8a.woff" + }, + { + "revision": "d704bb3d579b7d5e40880c75705c8a71", + "url": "/static/media/roboto-latin-100italic.d704bb3d.woff" + }, + { + "revision": "6232f43d15b0e7a0bf0fe82e295bdd06", + "url": "/static/media/roboto-latin-100italic.6232f43d.woff2" + }, + { + "revision": "a1471d1d6431c893582a5f6a250db3f9", + "url": "/static/media/roboto-latin-300.a1471d1d.woff" + }, + { + "revision": "7b770d6c53423deb1a8e49d3c9175184", + "url": "/static/media/roboto-latin-900italic.7b770d6c.woff2" + }, + { + "revision": "210a7c781f5a354a0e4985656ab456d9", + "url": "/static/media/roboto-latin-300italic.210a7c78.woff" + }, + { + "revision": "d8bcbe724fd6f4ba44d0ee6a2675890f", + "url": "/static/media/roboto-latin-400italic.d8bcbe72.woff2" + }, + { + "revision": "9680d5a0c32d2fd084e07bbc4c8b2923", + "url": "/static/media/roboto-latin-400italic.9680d5a0.woff" + }, + { + "revision": "bafb105baeb22d965c70fe52ba6b49d9", + "url": "/static/media/roboto-latin-400.bafb105b.woff" + }, + { + "revision": "de8b7431b74642e830af4d4f4b513ec9", + "url": "/static/media/roboto-latin-500.de8b7431.woff" + }, + { + "revision": "510dec37fa69fba39593e01a469ee018", + "url": "/static/media/roboto-latin-500italic.510dec37.woff2" + }, + { + "revision": "ffcc050b2d92d4b14a4fcb527ee0bcc8", + "url": "/static/media/roboto-latin-500italic.ffcc050b.woff" + }, + { + "revision": "010c1aeee3c6d1cbb1d5761d80353823", + "url": "/static/media/roboto-latin-700italic.010c1aee.woff2" + }, + { + "revision": "846d1890aee87fde5d8ced8eba360c3a", + "url": "/static/media/roboto-latin-700italic.846d1890.woff" + }, + { + "revision": "cf6613d1adf490972c557a8e318e0868", + "url": "/static/media/roboto-latin-700.cf6613d1.woff" + }, + { + "revision": "8c2ade503b34e31430d6c98aa29a52a3", + "url": "/static/media/roboto-latin-900.8c2ade50.woff" + }, + { + "revision": "b6d8b306e9ffecb18ae7", + "url": "/static/js/1.b6d8b306.chunk.js" + }, + { + "revision": "b6d8b306e9ffecb18ae7", + "url": "/static/css/1.01dd4c98.chunk.css" + }, + { + "revision": "33aa8035dd932550ee1188567114e01b", + "url": "/index.html" + } +]; \ No newline at end of file diff --git a/build/precache-manifest.9a8967d864c6236144515b4cf891e591.js b/build/precache-manifest.9a8967d864c6236144515b4cf891e591.js deleted file mode 100644 index 7c70e42..0000000 --- a/build/precache-manifest.9a8967d864c6236144515b4cf891e591.js +++ /dev/null @@ -1,118 +0,0 @@ -self.__precacheManifest = [ - { - "revision": "d69924b98acd849cdeba9fbff3f88ea6", - "url": "/static/media/roboto-latin-300italic.d69924b9.woff2" - }, - { - "revision": "f0bd332c76f793271c26", - "url": "/static/js/main.f0bd332c.chunk.js" - }, - { - "revision": "bc833e725c137257c2c42a789845d82f", - "url": "/static/media/roboto-latin-900italic.bc833e72.woff" - }, - { - "revision": "229c360febb4351a89df", - "url": "/static/js/runtime~main.229c360f.js" - }, - { - "revision": "987b84570ea69ee660455b8d5e91f5f1", - "url": "/static/media/roboto-latin-100.987b8457.woff2" - }, - { - "revision": "55536c8e9e9a532651e3cf374f290ea3", - "url": "/static/media/roboto-latin-300.55536c8e.woff2" - }, - { - "revision": "5d4aeb4e5f5ef754e307d7ffaef688bd", - "url": "/static/media/roboto-latin-400.5d4aeb4e.woff2" - }, - { - "revision": "285467176f7fe6bb6a9c6873b3dad2cc", - "url": "/static/media/roboto-latin-500.28546717.woff2" - }, - { - "revision": "037d830416495def72b7881024c14b7b", - "url": "/static/media/roboto-latin-700.037d8304.woff2" - }, - { - "revision": "19b7a0adfdd4f808b53af7e2ce2ad4e5", - "url": "/static/media/roboto-latin-900.19b7a0ad.woff2" - }, - { - "revision": "e9dbbe8a693dd275c16d32feb101f1c1", - "url": "/static/media/roboto-latin-100.e9dbbe8a.woff" - }, - { - "revision": "d704bb3d579b7d5e40880c75705c8a71", - "url": "/static/media/roboto-latin-100italic.d704bb3d.woff" - }, - { - "revision": "6232f43d15b0e7a0bf0fe82e295bdd06", - "url": "/static/media/roboto-latin-100italic.6232f43d.woff2" - }, - { - "revision": "a1471d1d6431c893582a5f6a250db3f9", - "url": "/static/media/roboto-latin-300.a1471d1d.woff" - }, - { - "revision": "7b770d6c53423deb1a8e49d3c9175184", - "url": "/static/media/roboto-latin-900italic.7b770d6c.woff2" - }, - { - "revision": "210a7c781f5a354a0e4985656ab456d9", - "url": "/static/media/roboto-latin-300italic.210a7c78.woff" - }, - { - "revision": "bafb105baeb22d965c70fe52ba6b49d9", - "url": "/static/media/roboto-latin-400.bafb105b.woff" - }, - { - "revision": "9680d5a0c32d2fd084e07bbc4c8b2923", - "url": "/static/media/roboto-latin-400italic.9680d5a0.woff" - }, - { - "revision": "d8bcbe724fd6f4ba44d0ee6a2675890f", - "url": "/static/media/roboto-latin-400italic.d8bcbe72.woff2" - }, - { - "revision": "de8b7431b74642e830af4d4f4b513ec9", - "url": "/static/media/roboto-latin-500.de8b7431.woff" - }, - { - "revision": "510dec37fa69fba39593e01a469ee018", - "url": "/static/media/roboto-latin-500italic.510dec37.woff2" - }, - { - "revision": "ffcc050b2d92d4b14a4fcb527ee0bcc8", - "url": "/static/media/roboto-latin-500italic.ffcc050b.woff" - }, - { - "revision": "cf6613d1adf490972c557a8e318e0868", - "url": "/static/media/roboto-latin-700.cf6613d1.woff" - }, - { - "revision": "010c1aeee3c6d1cbb1d5761d80353823", - "url": "/static/media/roboto-latin-700italic.010c1aee.woff2" - }, - { - "revision": "846d1890aee87fde5d8ced8eba360c3a", - "url": "/static/media/roboto-latin-700italic.846d1890.woff" - }, - { - "revision": "8c2ade503b34e31430d6c98aa29a52a3", - "url": "/static/media/roboto-latin-900.8c2ade50.woff" - }, - { - "revision": "e63b6c932bb3fe46eb0c", - "url": "/static/js/1.e63b6c93.chunk.js" - }, - { - "revision": "e63b6c932bb3fe46eb0c", - "url": "/static/css/1.01dd4c98.chunk.css" - }, - { - "revision": "032324b4ce00796b8a685c46155105db", - "url": "/index.html" - } -]; \ No newline at end of file diff --git a/build/service-worker.js b/build/service-worker.js index 4e3d84b..57113b3 100644 --- a/build/service-worker.js +++ b/build/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.6.3/workbox-sw.js"); importScripts( - "/precache-manifest.9a8967d864c6236144515b4cf891e591.js" + "/precache-manifest.7787472d2332648716473d80c2ae7c9c.js" ); workbox.clientsClaim(); diff --git a/build/static/js/1.b6d8b306.chunk.js b/build/static/js/1.b6d8b306.chunk.js new file mode 100644 index 0000000..c37f9ed --- /dev/null +++ b/build/static/js/1.b6d8b306.chunk.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],[function(e,t,n){e.exports=n(345)()},function(e,t,n){"use strict";e.exports=n(310)},function(e,t,n){"use strict";n.d(t,"i",function(){return p}),n.d(t,"h",function(){return h}),n.d(t,"g",function(){return y}),n.d(t,"f",function(){return v}),n.d(t,"j",function(){return b}),n.d(t,"c",function(){return g}),n.d(t,"b",function(){return _}),n.d(t,"d",function(){return O}),n.d(t,"e",function(){return w}),n.d(t,"a",function(){return x});var r=n(75),o=n.n(r),i=n(13),a=n.n(i),u=n(94),l=n.n(u),s=n(76),c=n.n(s),f=n(49),d=n.n(f),p=function(e){return 0===e?0:e>0?1:-1},h=function(e){return d()(e)&&e.indexOf("%")===e.length-1},y=function(e){return c()(e)&&!l()(e)},v=function(e){return y(e)||d()(e)},m=0,b=function(e){var t=++m;return"".concat(e||"").concat(t)},g=function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!y(e)&&!d()(e))return r;if(h(e)){var i=e.indexOf("%");n=t*parseFloat(e.slice(0,i))/100}else n=+e;return l()(n)&&(n=r),o&&n>t&&(n=t),n},_=function(e){if(!e)return null;var t=Object.keys(e);return t&&t.length?e[t[0]]:null},O=function(e){if(!a()(e))return!1;for(var t=e.length,n={},r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var O={alignmentBaseline:v.a.string,angle:v.a.number,baselineShift:v.a.string,clip:v.a.string,clipPath:v.a.string,clipRule:v.a.string,color:v.a.string,colorInterpolation:v.a.string,colorInterpolationFilters:v.a.string,colorProfile:v.a.string,colorRendering:v.a.string,cursor:v.a.string,direction:v.a.oneOf(["ltr","rtl","inherit"]),display:v.a.string,dominantBaseline:v.a.string,enableBackground:v.a.string,fill:v.a.string,fillOpacity:v.a.oneOfType([v.a.string,v.a.number]),fillRule:v.a.oneOf(["nonzero","evenodd","inherit"]),filter:v.a.string,floodColor:v.a.string,floodOpacity:v.a.oneOfType([v.a.string,v.a.number]),font:v.a.string,fontFamily:v.a.string,fontSize:v.a.oneOfType([v.a.number,v.a.string]),fontSizeAdjust:v.a.oneOfType([v.a.number,v.a.string]),fontStretch:v.a.oneOf(["normal","wider","narrower","ultra-condensed","extra-condensed","condensed","semi-condensed","semi-expanded","expanded","extra-expanded","ultra-expanded","inherit"]),fontStyle:v.a.oneOf(["normal","italic","oblique","inherit"]),fontVariant:v.a.oneOf(["normal","small-caps","inherit"]),fontWeight:v.a.oneOf(["normal","bold","bolder","lighter",100,200,300,400,500,600,700,800,900,"inherit"]),glyphOrientationHorizontal:v.a.string,glyphOrientationVertical:v.a.string,imageRendering:v.a.oneOf(["auto","optimizeSpeed","optimizeQuality","inherit"]),kerning:v.a.oneOfType([v.a.number,v.a.string]),letterSpacing:v.a.oneOfType([v.a.number,v.a.string]),lightingColor:v.a.string,lineHeight:v.a.oneOfType([v.a.number,v.a.string]),markerEnd:v.a.string,markerMid:v.a.string,markerStart:v.a.string,mask:v.a.string,opacity:v.a.oneOfType([v.a.number,v.a.string]),overflow:v.a.oneOf(["visible","hidden","scroll","auto","inherit"]),pointerEvents:v.a.oneOf(["visiblePainted","visibleFill","visibleStroke","visible","painted","fill","stroke","all","none","inherit"]),shapeRendering:v.a.oneOf(["auto","optimizeSpeed","crispEdges","geometricPrecision","inherit"]),stopColor:v.a.string,stopOpacity:v.a.oneOfType([v.a.number,v.a.string]),stroke:v.a.oneOfType([v.a.number,v.a.string]),strokeDasharray:v.a.string,strokeDashoffset:v.a.oneOfType([v.a.number,v.a.string]),strokeLinecap:v.a.oneOf(["butt","round","square","inherit"]),strokeLinejoin:v.a.oneOf(["miter","round","bevel","inherit"]),strokeMiterlimit:v.a.oneOfType([v.a.number,v.a.string]),strokeOpacity:v.a.oneOfType([v.a.number,v.a.string]),strokeWidth:v.a.oneOfType([v.a.number,v.a.string]),textAnchor:v.a.oneOf(["start","middle","end","inherit"]),textDecoration:v.a.oneOf(["none","underline","overline","line-through","blink","inherit"]),textRendering:v.a.oneOf(["auto","optimizeSpeed","optimizeLegibility","geometricPrecision","inherit"]),unicodeBidi:v.a.oneOf(["normal","embed","bidi-override","inherit"]),visibility:v.a.oneOf(["visible","hidden","collapse","inherit"]),wordSpacing:v.a.oneOfType([v.a.number,v.a.string]),writingMode:v.a.oneOf(["lr-tb","rl-tb","tb-rl","lr","rl","tb","inherit"]),transform:v.a.string,style:v.a.object,width:v.a.number,height:v.a.number,dx:v.a.number,dy:v.a.number,x:v.a.number,y:v.a.number,r:v.a.number,radius:v.a.oneOfType([v.a.number,v.a.array])},w={onClick:v.a.func,onMouseDown:v.a.func,onMouseUp:v.a.func,onMouseOver:v.a.func,onMouseMove:v.a.func,onMouseOut:v.a.func,onMouseEnter:v.a.func,onMouseLeave:v.a.func,onTouchEnd:v.a.func,onTouchMove:v.a.func,onTouchStart:v.a.func,onTouchCancel:v.a.func},x={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},k=["auto","linear","pow","sqrt","log","identity","time","band","point","ordinal","quantile","quantize","utc","sequential","threshold"],S=["plainline","line","square","rect","circle","cross","diamond","star","triangle","wye","none"],P=function(e){return"string"===typeof e?e:e?e.displayName||e.name||"Component":""},M=function(e,t){var n=[],r=[];return r=d()(t)?t.map(function(e){return P(e)}):[P(t)],h.a.Children.forEach(e,function(e){var t=e&&e.type&&(e.type.displayName||e.type.name);-1!==r.indexOf(t)&&n.push(e)}),n},D=function(e,t){var n=M(e,t);return n&&n[0]},T=function(e){if(!e||c()(e))return null;var t=h.a.isValidElement(e)?e.props:e;if(!l()(t))return null;var n=null;for(var r in t)({}).hasOwnProperty.call(t,r)&&O[r]&&(n||(n={}),n[r]=t[r]);return n},C=function(e,t){return function(n){return e(t,n),null}},E=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!e||c()(e))return null;var r=h.a.isValidElement(e)?e.props:e;if(!l()(r))return null;var o=null;for(var i in r)({}).hasOwnProperty.call(r,i)&&w[i]&&(o||(o={}),o[i]=t||(n?C(r[i],r):r[i]));return o},j=function(e,t,n){return function(r){return e(t,n,r),null}},A=function(e,t,n){if(!l()(e))return null;var r=null;for(var o in e)({}).hasOwnProperty.call(e,o)&&w[o]&&c()(e[o])&&(r||(r={}),r[o]=j(e[o],t,n));return r},I=function(e){if(!e||!e.props)return!1;var t=e.props,n=t.width,r=t.height;return!(!Object(m.g)(n)||n<=0||!Object(m.g)(r)||r<=0)},N=function(){return!("undefined"!==typeof window&&window.document&&window.document.createElement&&window.setTimeout)},R=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],F=function(e,t){if(o()(e)&&o()(t))return!0;if(!o()(e)&&!o()(t)){var n=e.props||{},r=n.children,i=_(n,["children"]),a=t.props||{},u=a.children,l=_(a,["children"]);return r&&u?Object(b.b)(i,l)&&L(r,u):!r&&!u&&Object(b.b)(i,l)}return!1},L=function e(t,n){if(t===n)return!0;if(p.Children.count(t)!==p.Children.count(n))return!1;var r=p.Children.count(t);if(0===r)return!0;if(1===r)return F(d()(t)?t[0]:t,d()(n)?n[0]:n);for(var o=0;o=0}(e))n.push(e);else if(e&&t[P(e.type)]){var i=P(e.type),u=t[i],l=u.handler,s=u.once;if(s&&!r[i]||!s){var c=l(e,i,o);d()(c)?n=[n].concat(g(c)):n.push(c),r[i]=!0}}}),n},z=function(e){var t=e&&e.type;return t&&x[t]?x[t]:null},W=function(e,t){var n=-1;return p.Children.forEach(t,function(t,r){t===e&&(n=r)}),n}},function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){var r;!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t1&&void 0!==arguments[1]?arguments[1]:{}).bandAware;if(void 0!==e){if(t){var n=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+n}return this.scale(e)}}},{key:"isInRange",value:function(e){var t=this.range(),n=t[0],r=t[t.length-1];return n<=r?e>=n&&e<=r:e>=r&&e<=n}},{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}}]),e}();$.EPS=1e-4;var q,X,Z,Q=function(){function e(t){V(this,e),this.scales=H()(t,$.create),Object.assign(this,this.scales)}return K(e,null,[{key:"create",value:function(e){return new this(e)}}]),K(e,[{key:"apply",value:function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).bandAware,n=this.scales;return H()(e,function(e,r){return n[r].apply(e,{bandAware:t})})}},{key:"isInRange",value:function(e){var t=this.scales;return W()(e,function(e,n){return t[n].isInRange(e)})}}]),e}(),J=n(48);function ee(e){return(ee="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function te(){return(te=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function We(e,t){for(var n=0;n1){if(r&&"angleAxis"===r.axisType&&Math.abs(Math.abs(r.range[1]-r.range[0])-360)<=1e-6)for(var a=r.range,u=0;u0?n[u-1].coordinate:n[i-1].coordinate,s=n[u].coordinate,c=u>=i-1?n[0].coordinate:n[u+1].coordinate,f=void 0;if(Object(D.i)(s-l)!==Object(D.i)(c-s)){var d=[];if(Object(D.i)(c-s)===Object(D.i)(a[1]-a[0])){f=c;var p=s+a[1]-a[0];d[0]=Math.min(p,(p+l)/2),d[1]=Math.max(p,(p+l)/2)}else{f=l;var h=c+a[1]-a[0];d[0]=Math.min(s,(h+s)/2),d[1]=Math.max(s,(h+s)/2)}var y=[Math.min(s,(f+s)/2),Math.max(s,(f+s)/2)];if(e>y[0]&&e<=y[1]||e>=d[0]&&e<=d[1]){o=n[u].index;break}}else{var v=Math.min(l,c),m=Math.max(l,c);if(e>(v+s)/2&&e<=(m+s)/2){o=n[u].index;break}}}else for(var b=0;b0&&b(t[b].coordinate+t[b-1].coordinate)/2&&e<=(t[b].coordinate+t[b+1].coordinate)/2||b===i-1&&e>(t[b].coordinate+t[b-1].coordinate)/2){o=t[b].index;break}}else o=0;return o},et=function(e){var t;switch(e.type.displayName){case"Line":case"Area":case"Radar":t=e.props.stroke;break;default:t=e.props.fill}return t},tt=function(e){var t,n=e.children,r=e.formatedGraphicalItems,o=e.legendWidth,i=e.legendContent,a=Object(L.h)(n,Ge.a);return a?(t=a.props&&a.props.payload?a.props&&a.props.payload:"children"===i?(r||[]).reduce(function(e,t){var n=t.item,r=t.props,o=r.sectors||r.data||[];return e.concat(o.map(function(e){return{type:a.props.iconType||n.props.legendType,value:e.name,color:e.fill,payload:e}}))},[]):(r||[]).map(function(e){var t=e.item,n=t.props,r=n.dataKey,o=n.name,i=n.legendType;return{inactive:n.hide,dataKey:r,type:a.props.iconType||i||"square",color:et(t),value:o||r,payload:t.props}}),qe({},a.props,Ge.a.getWithHeight(a,o),{payload:t,item:a})):null},nt=function(e){var t=e.barSize,n=e.stackGroups,r=void 0===n?{}:n;if(!r)return{};for(var o={},i=Object.keys(r),a=0,u=i.length;a=0});if(y&&y.length){var v=y[0].props.barSize,m=y[0].props[h];o[m]||(o[m]=[]),o[m].push({item:y[0],stackList:y.slice(1),barSize:k()(v)?t:v})}}return o},rt=function(e){var t=e.barGap,n=e.barCategoryGap,r=e.bandSize,o=e.sizeList,i=void 0===o?[]:o,a=e.maxBarSize,u=i.length;if(u<1)return null;var l,s=Object(D.c)(t,r,0,!0);if(i[0].barSize===+i[0].barSize){var c=!1,f=r/u,d=i.reduce(function(e,t){return e+t.barSize||0},0);(d+=(u-1)*s)>=r&&(d-=(u-1)*s,s=0),d>=r&&f>0&&(c=!0,d=u*(f*=.9));var p={offset:((r-d)/2>>0)-s,size:0};l=i.reduce(function(e,t){var n=$e(e).concat([{item:t.item,position:{offset:p.offset+p.size+s,size:c?f:t.barSize}}]);return p=n[n.length-1].position,t.stackList&&t.stackList.length&&t.stackList.forEach(function(e){n.push({item:e,position:p})}),n},[])}else{var h=Object(D.c)(n,r,0,!0);r-2*h-(u-1)*s<=0&&(s=0);var y=(r-2*h-(u-1)*s)/u;y>1&&(y>>=0);var v=a===+a?Math.min(y,a):y;l=i.reduce(function(e,t,n){var r=$e(e).concat([{item:t.item,position:{offset:h+(y+s)*n+(y-v)/2,size:v}}]);return t.stackList&&t.stackList.length&&t.stackList.forEach(function(e){r.push({item:e,position:r[r.length-1].position})}),r},[])}return l},ot=function(e,t,n,r){var o=n.children,i=n.width,a=n.height,u=n.margin,l=i-(u.left||0)-(u.right||0),s=a-(u.top||0)-(u.bottom||0),c=tt({children:o,items:t,legendWidth:l,legendHeight:s}),f=e;if(c){var d=r||{},p=c.align,h=c.verticalAlign,y=c.layout;("vertical"===y||"horizontal"===y&&"center"===h)&&Object(D.g)(e[p])&&(f=qe({},e,Xe({},p,f[p]+(d.width||0)))),("horizontal"===y||"vertical"===y&&"center"===p)&&Object(D.g)(e[h])&&(f=qe({},e,Xe({},h,f[h]+(d.height||0))))}return f},it=function(e,t,n,r){var o=t.props.children,i=Object(L.g)(o,Ke).filter(function(e){var t=e.props.direction;return!(!k()(t)&&!k()(r))||r.indexOf(t)>=0});if(i&&i.length){var a=i.map(function(e){return e.props.dataKey});return e.reduce(function(e,t){var r=Ze(t,n,0),o=v()(r)?[h()(r),d()(r)]:[r,r],i=a.reduce(function(e,n){var r=Ze(t,n,0),i=o[0]-Math.abs(v()(r)?r[0]:r),a=o[1]+Math.abs(v()(r)?r[1]:r);return[Math.min(i,e[0]),Math.max(a,e[1])]},[1/0,-1/0]);return[Math.min(i[0],e[0]),Math.max(i[1],e[1])]},[1/0,-1/0])}return null},at=function(e,t,n,r){var o=t.map(function(t){return it(e,t,n,r)}).filter(function(e){return!k()(e)});return o&&o.length?o.reduce(function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]},[1/0,-1/0]):null},ut=function(e,t,n,r){var o=t.map(function(t){var o=t.props.dataKey;return"number"===n&&o&&it(e,t,o)||Qe(e,o,n,r)});if("number"===n)return o.reduce(function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]},[1/0,-1/0]);var i={};return o.reduce(function(e,t){for(var n=0,r=t.length;n=0||t.indexOf("AreaChart")>=0)?{scale:P.scalePoint(),realScaleType:"point"}:"category"===r?{scale:P.scaleBand(),realScaleType:"band"}:{scale:P.scaleLinear(),realScaleType:"linear"};if(c()(n)){var a="scale".concat(n.slice(0,1).toUpperCase()).concat(n.slice(1));return{scale:(P[a]||P.scalePoint)(),realScaleType:P[a]?a:"point"}}return _()(n)?{scale:n}:{scale:P.scalePoint(),realScaleType:"point"}},pt=function(e){var t=e.domain();if(t&&!(t.length<=2)){var n=t.length,r=e.range(),o=Math.min(r[0],r[1])-1e-4,i=Math.max(r[0],r[1])+1e-4,a=e(t[0]),u=e(t[n-1]);(ai||ui)&&e.domain([t[0],t[n-1]])}},ht={sign:function(e){var t=e.length;if(!(t<=0))for(var n=0,r=e[0].length;n=0?(e[a][n][0]=o,e[a][n][1]=o+u,o=e[a][n][1]):(e[a][n][0]=i,e[a][n][1]=i+u,i=e[a][n][1])}},expand:M.o,none:M.p,silhouette:M.q,wiggle:M.r},yt=function(e,t,n){var r=t.map(function(e){return e.props.dataKey});return Object(M.n)().keys(r).value(function(e,t){return+Ze(e,t,0)}).order(M.s).offset(ht[n])(e)},vt=function(e,t,n,r,o,i){if(!e)return null;var a=(i?t.reverse():t).reduce(function(e,t){var o=t.props,i=o.stackId;if(o.hide)return e;var a=t.props[n],u=e[a]||{hasStack:!1,stackGroups:{}};if(Object(D.f)(i)){var l=u.stackGroups[i]||{numericAxisId:n,cateAxisId:r,items:[]};l.items.push(t),u.hasStack=!0,u.stackGroups[i]=l}else u.stackGroups[Object(D.j)("_stackId_")]={numericAxisId:n,cateAxisId:r,items:[t]};return qe({},e,Xe({},a,u))},{});return Object.keys(a).reduce(function(t,i){var u=a[i];return u.hasStack&&(u.stackGroups=Object.keys(u.stackGroups).reduce(function(t,i){var a=u.stackGroups[i];return qe({},t,Xe({},i,{numericAxisId:n,cateAxisId:r,items:a.items,stackedData:yt(e,a.items,o)}))},{})),qe({},t,Xe({},i,u))},{})},mt=function(e,t){var n=t.realScaleType,r=t.type,o=t.tickCount,i=t.originalDomain,a=t.allowDecimals,u=n||t.scale;if("auto"!==u&&"linear"!==u)return null;if(o&&"number"===r&&i&&("auto"===i[0]||"auto"===i[1])){var l=e.domain(),s=Object(S.getNiceTickValues)(l,o,a);return e.domain(function(e,t){return"number"===t?[Math.min.apply(null,e),Math.max.apply(null,e)]:e}(s,r)),{niceTicks:s}}if(o&&"number"===r){var c=e.domain();return{niceTicks:Object(S.getTickValuesFixedDomain)(c,o,a)}}return null},bt=function(e,t){var n=e.alwaysShow,r=e.ifOverflow;return n&&(r="extendDomain"),r===t},gt=function(e,t,n,r,o){var i=Object(L.g)(e,Pe),a=Object(L.g)(e,fe),u=i.concat(a),l=Object(L.g)(e,Re),s="".concat(r,"Id"),c=r[0],f=t;if(u.length&&(f=u.reduce(function(e,t){if(t.props[s]===n&&bt(t.props,"extendDomain")&&Object(D.g)(t.props[c])){var r=t.props[c];return[Math.min(e[0],r),Math.max(e[1],r)]}return e},f)),l.length){var d="".concat(c,"1"),p="".concat(c,"2");f=l.reduce(function(e,t){if(t.props[s]===n&&bt(t.props,"extendDomain")&&Object(D.g)(t.props[d])&&Object(D.g)(t.props[p])){var r=t.props[d],o=t.props[p];return[Math.min(e[0],r,o),Math.max(e[1],r,o)]}return e},f)}return o&&o.length&&(f=o.reduce(function(e,t){return Object(D.g)(t)?[Math.min(e[0],t),Math.max(e[1],t)]:e},f)),f},_t=function(e,t){var n=e.props.stackId;if(Object(D.f)(n)){var r=t[n];if(r&&r.items.length){for(var o=-1,i=0,a=r.items.length;i=0?r.stackedData[o]:null}}return null},Ot=function(e,t,n){return Object.keys(e).reduce(function(r,o){var i=e[o].stackedData.reduce(function(e,r){var o=r.slice(t,n+1).reduce(function(e,t){return[Math.min.apply(null,t.concat([e[0]]).filter(D.g)),Math.max.apply(null,t.concat([e[1]]).filter(D.g))]},[1/0,-1/0]);return[Math.min(e[0],o[0]),Math.max(e[1],o[1])]},[1/0,-1/0]);return[Math.min(i[0],r[0]),Math.max(i[1],r[1])]},[1/0,-1/0]).map(function(e){return e===1/0||e===-1/0?0:e})},wt=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,xt=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,kt=function(e,t,n){if(!v()(e))return t;var r=[];if(Object(D.g)(e[0]))r[0]=n?e[0]:Math.min(e[0],t[0]);else if(wt.test(e[0])){var o=+wt.exec(e[0])[1];r[0]=t[0]-o}else _()(e[0])?r[0]=e[0](t[0]):r[0]=t[0];if(Object(D.g)(e[1]))r[1]=n?e[1]:Math.max(e[1],t[1]);else if(xt.test(e[1])){var i=+xt.exec(e[1])[1];r[1]=t[1]+i}else _()(e[1])?r[1]=e[1](t[1]):r[1]=t[1];return r},St=function(e,t){if(e&&e.scale&&e.scale.bandwidth)return e.scale.bandwidth();if(e&&t&&t.length>=2){for(var n=a()(t,function(e){return e.coordinate}),r=1/0,o=1,i=n.length;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}},function(e,t,n){"use strict";function r(e,t){for(var n in e)if({}.hasOwnProperty.call(e,n)&&(!{}.hasOwnProperty.call(t,n)||e[n]!==t[n]))return!1;for(var r in t)if({}.hasOwnProperty.call(t,r)&&!{}.hasOwnProperty.call(e,r))return!1;return!0}function o(e,t){return!r(e,this.props)||!r(t,this.state)}function i(e){e.prototype.shouldComponentUpdate=o}n.d(t,"b",function(){return r}),n.d(t,"a",function(){return i})},function(e,t,n){"use strict";n.r(t);var r=n(222),o=n.n(r);n.d(t,"componentPropType",function(){return o.a});var i=n(224),a=n.n(i);n.d(t,"chainPropTypes",function(){return a.a});var u=n(225),l=n.n(u);n.d(t,"exactProp",function(){return l.a});var s=n(226),c=n.n(s);n.d(t,"getDisplayName",function(){return c.a});var f=n(227),d=n.n(f);n.d(t,"ponyfillGlobal",function(){return d.a})},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){"use strict";n.d(t,"a",function(){return c}),n.d(t,"e",function(){return d}),n.d(t,"c",function(){return p}),n.d(t,"b",function(){return h}),n.d(t,"d",function(){return m});var r=n(7),o=n.n(r),i=n(2),a=n(9);function u(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(e-(n.left||0)-(n.right||0)),Math.abs(t-(n.top||0)-(n.bottom||0)))/2},h=function(e,t,n,r,c){var f=e.width,d=e.height,h=e.startAngle,y=e.endAngle,v=Object(i.c)(e.cx,f,f/2),m=Object(i.c)(e.cy,d,d/2),b=p(f,d,n),g=Object(i.c)(e.innerRadius,b,0),_=Object(i.c)(e.outerRadius,b,.8*b);return Object.keys(t).reduce(function(e,n){var i,f=t[n],d=f.domain,p=f.reversed;if(o()(f.range))"angleAxis"===r?i=[h,y]:"radiusAxis"===r&&(i=[g,_]),p&&(i=[i[1],i[0]]);else{var b=s(i=f.range,2);h=b[0],y=b[1]}var O=Object(a.x)(f,c),w=O.realScaleType,x=O.scale;x.domain(d).range(i),Object(a.c)(x);var k=Object(a.r)(x,u({},f,{realScaleType:w})),S=u({},f,k,{range:i,radius:_,realScaleType:w,scale:x,cx:v,cy:m,innerRadius:g,outerRadius:_,startAngle:h,endAngle:y});return u({},e,l({},n,S))},{})},y=function(e,t){var n=e.x,r=e.y,o=t.cx,i=t.cy,a=function(e,t){var n=e.x,r=e.y,o=t.x,i=t.y;return Math.sqrt(Math.pow(n-o,2)+Math.pow(r-i,2))}({x:n,y:r},{x:o,y:i});if(a<=0)return{radius:a};var u=(n-o)/a,l=Math.acos(u);return r>i&&(l=2*Math.PI-l),{radius:a,angle:f(l),angleInRadian:l}},v=function(e,t){var n=t.startAngle,r=t.endAngle,o=Math.floor(n/360),i=Math.floor(r/360);return e+360*Math.min(o,i)},m=function(e,t){var n=e.x,r=e.y,o=y({x:n,y:r},t),i=o.radius,a=o.angle,l=t.innerRadius,s=t.outerRadius;if(is)return!1;if(0===i)return!0;var c,f=function(e){var t=e.startAngle,n=e.endAngle,r=Math.floor(t/360),o=Math.floor(n/360),i=Math.min(r,o);return{startAngle:t-360*i,endAngle:n-360*i}}(t),d=f.startAngle,p=f.endAngle,h=a;if(d<=p){for(;h>p;)h-=360;for(;h=d&&h<=p}else{for(;h>d;)h-=360;for(;h=p&&h<=d}return c?u({},t,{radius:i,angle:v(h,t)}):null}},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.sheetsManager=void 0;var o=r(n(17)),i=r(n(8)),a=r(n(21)),u=r(n(22)),l=r(n(23)),s=r(n(24)),c=r(n(25)),f=r(n(10)),d=r(n(1)),p=r(n(0)),h=(r(n(27)),r(n(151))),y=n(12),v=n(228),m=r(n(411)),b=r(n(234)),g=r(n(235)),_=r(n(425)),O=r(n(155)),w=r(n(156)),x=r(n(238)),k=r(n(440)),S=r(n(441)),P=(0,v.create)((0,b.default)()),M=(0,x.default)(),D=-1e11,T=new Map;t.sheetsManager=T;var C={},E=(0,O.default)({typography:{suppressWarning:!0}});y.ponyfillGlobal.__MUI_STYLES__||(y.ponyfillGlobal.__MUI_STYLES__={}),y.ponyfillGlobal.__MUI_STYLES__.withStyles||(y.ponyfillGlobal.__MUI_STYLES__.withStyles=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(n){var r,y=t.withTheme,v=void 0!==y&&y,b=t.flip,O=void 0===b?null:b,x=t.name,j=(0,f.default)(t,["withTheme","flip","name"]),A=(0,k.default)(e),I=A.themingEnabled||"string"===typeof x||v;D+=1,A.options.index=D;var N=function(e){function t(e,n){var r;(0,a.default)(this,t),(r=(0,l.default)(this,(0,s.default)(t).call(this,e,n))).jss=n[m.default.jss]||P,r.sheetsManager=T,r.unsubscribeId=null;var o=n.muiThemeProviderOptions;return o&&(o.sheetsManager&&(r.sheetsManager=o.sheetsManager),r.sheetsCache=o.sheetsCache,r.disableStylesGeneration=o.disableStylesGeneration),r.stylesCreatorSaved=A,r.sheetOptions=(0,i.default)({generateClassName:M},n[m.default.sheetOptions]),r.theme=I?w.default.initial(n)||E:C,r.attach(r.theme),r.cacheClasses={value:null,lastProp:null,lastJSS:{}},r}return(0,c.default)(t,e),(0,u.default)(t,[{key:"componentDidMount",value:function(){var e=this;I&&(this.unsubscribeId=w.default.subscribe(this.context,function(t){var n=e.theme;e.theme=t,e.attach(e.theme),e.setState({},function(){e.detach(n)})}))}},{key:"componentDidUpdate",value:function(){this.stylesCreatorSaved}},{key:"componentWillUnmount",value:function(){this.detach(this.theme),null!==this.unsubscribeId&&w.default.unsubscribe(this.context,this.unsubscribeId)}},{key:"getClasses",value:function(){if(this.disableStylesGeneration)return this.props.classes||{};var e=!1,t=_.default.get(this.sheetsManager,this.stylesCreatorSaved,this.theme);return t.sheet.classes!==this.cacheClasses.lastJSS&&(this.cacheClasses.lastJSS=t.sheet.classes,e=!0),this.props.classes!==this.cacheClasses.lastProp&&(this.cacheClasses.lastProp=this.props.classes,e=!0),e&&(this.cacheClasses.value=(0,g.default)({baseClasses:this.cacheClasses.lastJSS,newClasses:this.props.classes,Component:n})),this.cacheClasses.value}},{key:"attach",value:function(e){if(!this.disableStylesGeneration){var t=this.stylesCreatorSaved,n=_.default.get(this.sheetsManager,t,e);if(n||(n={refs:0,sheet:null},_.default.set(this.sheetsManager,t,e,n)),0===n.refs){var r;this.sheetsCache&&(r=_.default.get(this.sheetsCache,t,e)),r||((r=this.createSheet(e)).attach(),this.sheetsCache&&_.default.set(this.sheetsCache,t,e,r)),n.sheet=r;var o=this.context[m.default.sheetsRegistry];o&&o.add(r)}n.refs+=1}}},{key:"createSheet",value:function(e){var t=this.stylesCreatorSaved.create(e,x),r=x;return this.jss.createStyleSheet(t,(0,i.default)({meta:r,classNamePrefix:r,flip:"boolean"===typeof O?O:"rtl"===e.direction,link:!1},this.sheetOptions,this.stylesCreatorSaved.options,{name:x||n.displayName},j))}},{key:"detach",value:function(e){if(!this.disableStylesGeneration){var t=_.default.get(this.sheetsManager,this.stylesCreatorSaved,e);if(t.refs-=1,0===t.refs){_.default.delete(this.sheetsManager,this.stylesCreatorSaved,e),this.jss.removeStyleSheet(t.sheet);var n=this.context[m.default.sheetsRegistry];n&&n.remove(t.sheet)}}}},{key:"render",value:function(){var e=this.props,t=(e.classes,e.innerRef),r=(0,f.default)(e,["classes","innerRef"]),o=(0,S.default)({theme:this.theme,name:x,props:r});return v&&!o.theme&&(o.theme=this.theme),d.default.createElement(n,(0,i.default)({},o,{classes:this.getClasses(),ref:t}))}}]),t}(d.default.Component);return N.contextTypes=(0,i.default)((r={muiThemeProviderOptions:p.default.object},(0,o.default)(r,m.default.jss,p.default.object),(0,o.default)(r,m.default.sheetOptions,p.default.object),(0,o.default)(r,m.default.sheetsRegistry,p.default.object),r),I?w.default.contextTypes:{}),(0,h.default)(N,n),N}});t.default=function(e,t){return y.ponyfillGlobal.__MUI_STYLES__.withStyles(e,(0,i.default)({defaultTheme:E},t))}},function(e,t,n){"use strict";var r=Math.PI,o=2*r,i=o-1e-6;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function u(){return new a}a.prototype=u.prototype={constructor:a,moveTo:function(e,t){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(e,t){this._+="L"+(this._x1=+e)+","+(this._y1=+t)},quadraticCurveTo:function(e,t,n,r){this._+="Q"+ +e+","+ +t+","+(this._x1=+n)+","+(this._y1=+r)},bezierCurveTo:function(e,t,n,r,o,i){this._+="C"+ +e+","+ +t+","+ +n+","+ +r+","+(this._x1=+o)+","+(this._y1=+i)},arcTo:function(e,t,n,o,i){e=+e,t=+t,n=+n,o=+o,i=+i;var a=this._x1,u=this._y1,l=n-e,s=o-t,c=a-e,f=u-t,d=c*c+f*f;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=e)+","+(this._y1=t);else if(d>1e-6)if(Math.abs(f*l-s*c)>1e-6&&i){var p=n-a,h=o-u,y=l*l+s*s,v=p*p+h*h,m=Math.sqrt(y),b=Math.sqrt(d),g=i*Math.tan((r-Math.acos((y+d-v)/(2*m*b)))/2),_=g/b,O=g/m;Math.abs(_-1)>1e-6&&(this._+="L"+(e+_*c)+","+(t+_*f)),this._+="A"+i+","+i+",0,0,"+ +(f*p>c*h)+","+(this._x1=e+O*l)+","+(this._y1=t+O*s)}else this._+="L"+(this._x1=e)+","+(this._y1=t);else;},arc:function(e,t,n,a,u,l){e=+e,t=+t;var s=(n=+n)*Math.cos(a),c=n*Math.sin(a),f=e+s,d=t+c,p=1^l,h=l?a-u:u-a;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+f+","+d:(Math.abs(this._x1-f)>1e-6||Math.abs(this._y1-d)>1e-6)&&(this._+="L"+f+","+d),n&&(h<0&&(h=h%o+o),h>i?this._+="A"+n+","+n+",0,1,"+p+","+(e-s)+","+(t-c)+"A"+n+","+n+",0,1,"+p+","+(this._x1=f)+","+(this._y1=d):h>1e-6&&(this._+="A"+n+","+n+",0,"+ +(h>=r)+","+p+","+(this._x1=e+n*Math.cos(u))+","+(this._y1=t+n*Math.sin(u))))},rect:function(e,t,n,r){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};var l=u,s=function(e){return function(){return e}},c=(Math.abs,Math.atan2,Math.cos,Math.max,Math.min,Math.sin,Math.sqrt,1e-12),f=Math.PI,d=2*f;function p(e){this._context=e}p.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};var h=function(e){return new p(e)};function y(e){return e[0]}function v(e){return e[1]}var m=function(){var e=y,t=v,n=s(!0),r=null,o=h,i=null;function a(a){var u,s,c,f=a.length,d=!1;for(null==r&&(i=o(c=l())),u=0;u<=f;++u)!(u=f;--d)u.point(m[d],b[d]);u.lineEnd(),u.areaEnd()}v&&(m[c]=+e(p,c,s),b[c]=+n(p,c,s),u.point(t?+t(p,c,s):m[c],r?+r(p,c,s):b[c]))}if(h)return u=null,h+""||null}function f(){return m().defined(o).curve(a).context(i)}return c.x=function(n){return arguments.length?(e="function"===typeof n?n:s(+n),t=null,c):e},c.x0=function(t){return arguments.length?(e="function"===typeof t?t:s(+t),c):e},c.x1=function(e){return arguments.length?(t=null==e?null:"function"===typeof e?e:s(+e),c):t},c.y=function(e){return arguments.length?(n="function"===typeof e?e:s(+e),r=null,c):n},c.y0=function(e){return arguments.length?(n="function"===typeof e?e:s(+e),c):n},c.y1=function(e){return arguments.length?(r=null==e?null:"function"===typeof e?e:s(+e),c):r},c.lineX0=c.lineY0=function(){return f().x(e).y(n)},c.lineY1=function(){return f().x(e).y(r)},c.lineX1=function(){return f().x(t).y(n)},c.defined=function(e){return arguments.length?(o="function"===typeof e?e:s(!!e),c):o},c.curve=function(e){return arguments.length?(a=e,null!=i&&(u=a(i)),c):a},c.context=function(e){return arguments.length?(null==e?i=u=null:u=a(i=e),c):i},c};_(h);function g(e){this._curve=e}function _(e){function t(t){return new g(e(t))}return t._curve=e,t}g.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(e,t){this._curve.point(t*Math.sin(e),t*-Math.cos(e))}};var O=Array.prototype.slice;var w={draw:function(e,t){var n=Math.sqrt(t/f);e.moveTo(n,0),e.arc(0,0,n,0,d)}},x={draw:function(e,t){var n=Math.sqrt(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},k=Math.sqrt(1/3),S=2*k,P={draw:function(e,t){var n=Math.sqrt(t/S),r=n*k;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},M=Math.sin(f/10)/Math.sin(7*f/10),D=Math.sin(d/10)*M,T=-Math.cos(d/10)*M,C={draw:function(e,t){var n=Math.sqrt(.8908130915292852*t),r=D*n,o=T*n;e.moveTo(0,-n),e.lineTo(r,o);for(var i=1;i<5;++i){var a=d*i/5,u=Math.cos(a),l=Math.sin(a);e.lineTo(l*n,-u*n),e.lineTo(u*r-l*o,l*r+u*o)}e.closePath()}},E={draw:function(e,t){var n=Math.sqrt(t),r=-n/2;e.rect(r,r,n,n)}},j=Math.sqrt(3),A={draw:function(e,t){var n=-Math.sqrt(t/(3*j));e.moveTo(0,2*n),e.lineTo(-j*n,-n),e.lineTo(j*n,-n),e.closePath()}},I=Math.sqrt(3)/2,N=1/Math.sqrt(12),R=3*(N/2+1),F={draw:function(e,t){var n=Math.sqrt(t/R),r=n/2,o=n*N,i=r,a=n*N+n,u=-i,l=a;e.moveTo(r,o),e.lineTo(i,a),e.lineTo(u,l),e.lineTo(-.5*r-I*o,I*r+-.5*o),e.lineTo(-.5*i-I*a,I*i+-.5*a),e.lineTo(-.5*u-I*l,I*u+-.5*l),e.lineTo(-.5*r+I*o,-.5*o-I*r),e.lineTo(-.5*i+I*a,-.5*a-I*i),e.lineTo(-.5*u+I*l,-.5*l-I*u),e.closePath()}},L=function(){var e=s(w),t=s(64),n=null;function r(){var r;if(n||(n=r=l()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),r)return n=null,r+""||null}return r.type=function(t){return arguments.length?(e="function"===typeof t?t:s(t),r):e},r.size=function(e){return arguments.length?(t="function"===typeof e?e:s(+e),r):t},r.context=function(e){return arguments.length?(n=null==e?null:e,r):n},r},B=function(){};function z(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function W(e){this._context=e}W.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:z(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:z(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};var U=function(e){return new W(e)};function H(e){this._context=e}H.prototype={areaStart:B,areaEnd:B,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:z(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};var V=function(e){return new H(e)};function Y(e){this._context=e}Y.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:z(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};var K=function(e){return new Y(e)};function G(e,t){this._basis=new W(e),this._beta=t}G.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r,o=e[0],i=t[0],a=e[n]-o,u=t[n]-i,l=-1;++l<=n;)r=l/n,this._basis.point(this._beta*e[l]+(1-this._beta)*(o+r*a),this._beta*t[l]+(1-this._beta)*(i+r*u));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};(function e(t){function n(e){return 1===t?new W(e):new G(e,t)}return n.beta=function(t){return e(+t)},n})(.85);function $(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function q(e,t){this._context=e,this._k=(1-t)/6}q.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:$(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:$(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return new q(e,t)}return n.tension=function(t){return e(+t)},n})(0);function X(e,t){this._context=e,this._k=(1-t)/6}X.prototype={areaStart:B,areaEnd:B,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:$(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return new X(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Z(e,t){this._context=e,this._k=(1-t)/6}Z.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:$(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return new Z(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Q(e,t,n){var r=e._x1,o=e._y1,i=e._x2,a=e._y2;if(e._l01_a>c){var u=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*u-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,o=(o*u-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>c){var s=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,f=3*e._l23_a*(e._l23_a+e._l12_a);i=(i*s+e._x1*e._l23_2a-t*e._l12_2a)/f,a=(a*s+e._y1*e._l23_2a-n*e._l12_2a)/f}e._context.bezierCurveTo(r,o,i,a,e._x2,e._y2)}function J(e,t){this._context=e,this._alpha=t}J.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:Q(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return t?new J(e,t):new q(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function ee(e,t){this._context=e,this._alpha=t}ee.prototype={areaStart:B,areaEnd:B,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Q(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return t?new ee(e,t):new X(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function te(e,t){this._context=e,this._alpha=t}te.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Q(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(e){return t?new te(e,t):new Z(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function ne(e){this._context=e}ne.prototype={areaStart:B,areaEnd:B,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};var re=function(e){return new ne(e)};function oe(e){return e<0?-1:1}function ie(e,t,n){var r=e._x1-e._x0,o=t-e._x1,i=(e._y1-e._y0)/(r||o<0&&-0),a=(n-e._y1)/(o||r<0&&-0),u=(i*o+a*r)/(r+o);return(oe(i)+oe(a))*Math.min(Math.abs(i),Math.abs(a),.5*Math.abs(u))||0}function ae(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function ue(e,t,n){var r=e._x0,o=e._y0,i=e._x1,a=e._y1,u=(i-r)/3;e._context.bezierCurveTo(r+u,o+u*t,i-u,a-u*n,i,a)}function le(e){this._context=e}function se(e){this._context=new ce(e)}function ce(e){this._context=e}function fe(e){return new le(e)}function de(e){return new se(e)}function pe(e){this._context=e}function he(e){var t,n,r=e.length-1,o=new Array(r),i=new Array(r),a=new Array(r);for(o[0]=0,i[0]=2,a[0]=e[0]+2*e[1],t=1;t=0;--t)o[t]=(a[t]-o[t+1])/i[t];for(i[r-1]=(e[r]+o[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};var me=function(e){return new ve(e,.5)};function be(e){return new ve(e,0)}function ge(e){return new ve(e,1)}var _e=function(e,t){if((o=e.length)>1)for(var n,r,o,i=1,a=e[t[0]],u=a.length;i=0;)n[t]=t;return n};function we(e,t){return e[t]}var xe=function(){var e=s([]),t=Oe,n=_e,r=we;function o(o){var i,a,u=e.apply(this,arguments),l=o.length,s=u.length,c=new Array(s);for(i=0;i0){for(var n,r,o,i=0,a=e[0].length;i0){for(var n,r=0,o=e[t[0]],i=o.length;r0&&(r=(n=e[t[0]]).length)>0){for(var n,r,o,i=0,a=1;a=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var f={className:a.a.string,children:a.a.oneOfType([a.a.arrayOf(a.a.node),a.a.node])};function d(e){var t=e.children,n=e.className,r=c(e,["children","className"]),i=l()("recharts-layer",n);return o.a.createElement("g",s({className:i},r),t)}d.propTypes=f,t.a=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MODIFIER_KEY_NAMES=t.DEFAULT_VERTICAL_SPACING=t.FANG_HEIGHT_PX=t.FANG_WIDTH_PX=t.WEEKDAYS=t.BLOCKED_MODIFIER=t.DAY_SIZE=t.OPEN_UP=t.OPEN_DOWN=t.ANCHOR_RIGHT=t.ANCHOR_LEFT=t.INFO_POSITION_AFTER=t.INFO_POSITION_BEFORE=t.INFO_POSITION_BOTTOM=t.INFO_POSITION_TOP=t.ICON_AFTER_POSITION=t.ICON_BEFORE_POSITION=t.VERTICAL_SCROLLABLE=t.VERTICAL_ORIENTATION=t.HORIZONTAL_ORIENTATION=t.END_DATE=t.START_DATE=t.ISO_MONTH_FORMAT=t.ISO_FORMAT=t.DISPLAY_FORMAT=void 0;t.DISPLAY_FORMAT="L";t.ISO_FORMAT="YYYY-MM-DD";t.ISO_MONTH_FORMAT="YYYY-MM";t.START_DATE="startDate";t.END_DATE="endDate";t.HORIZONTAL_ORIENTATION="horizontal";t.VERTICAL_ORIENTATION="vertical";t.VERTICAL_SCROLLABLE="verticalScrollable";t.ICON_BEFORE_POSITION="before";t.ICON_AFTER_POSITION="after";t.INFO_POSITION_TOP="top";t.INFO_POSITION_BOTTOM="bottom";t.INFO_POSITION_BEFORE="before";t.INFO_POSITION_AFTER="after";t.ANCHOR_LEFT="left";t.ANCHOR_RIGHT="right";t.OPEN_DOWN="down";t.OPEN_UP="up";t.DAY_SIZE=39;t.BLOCKED_MODIFIER="blocked";t.WEEKDAYS=[0,1,2,3,4,5,6];t.FANG_WIDTH_PX=20;t.FANG_HEIGHT_PX=10;t.DEFAULT_VERTICAL_SPACING=22;var r=new Set(["Shift","Control","Alt","Meta"]);t.MODIFIER_KEY_NAMES=r},function(e,t,n){(function(e){e.exports=function(){"use strict";var t,n;function r(){return t.apply(null,arguments)}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function a(e){return void 0===e}function u(e){return"number"===typeof e||"[object Number]"===Object.prototype.toString.call(e)}function l(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function s(e,t){var n,r=[];for(n=0;n>>0,r=0;r0)for(n=0;n=0;return(i?n?"+":"":"-")+Math.pow(10,Math.max(0,o)).toString().substr(1)+r}var B=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,z=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,W={},U={};function H(e,t,n,r){var o=r;"string"===typeof r&&(o=function(){return this[r]()}),e&&(U[e]=o),t&&(U[t[0]]=function(){return L(o.apply(this,arguments),t[1],t[2])}),n&&(U[n]=function(){return this.localeData().ordinal(o.apply(this,arguments),e)})}function V(e,t){return e.isValid()?(t=Y(t,e.localeData()),W[t]=W[t]||function(e){var t,n,r,o=e.match(B);for(t=0,n=o.length;t=0&&z.test(e);)e=e.replace(z,r),z.lastIndex=0,n-=1;return e}var K=/\d/,G=/\d\d/,$=/\d{3}/,q=/\d{4}/,X=/[+-]?\d{6}/,Z=/\d\d?/,Q=/\d\d\d\d?/,J=/\d\d\d\d\d\d?/,ee=/\d{1,3}/,te=/\d{1,4}/,ne=/[+-]?\d{1,6}/,re=/\d+/,oe=/[+-]?\d+/,ie=/Z|[+-]\d\d:?\d\d/gi,ae=/Z|[+-]\d\d(?::?\d\d)?/gi,ue=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,le={};function se(e,t,n){le[e]=T(t)?t:function(e,r){return e&&n?n:t}}function ce(e,t){return c(le,e)?le[e](t._strict,t._locale):new RegExp(fe(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,r,o){return t||n||r||o})))}function fe(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var de={};function pe(e,t){var n,r=t;for("string"===typeof e&&(e=[e]),u(t)&&(r=function(e,n){n[t]=w(e)}),n=0;n68?1900:2e3)};var Me,De=Te("FullYear",!0);function Te(e,t){return function(n){return null!=n?(Ee(this,e,n),r.updateOffset(this,t),this):Ce(this,e)}}function Ce(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function Ee(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&Pe(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),je(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function je(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,r=(t%(n=12)+n)%n;return e+=(t-r)/12,1===r?Pe(e)?29:28:31-r%7%2}Me=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t=0){var n=Array.prototype.slice.call(arguments);n[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)}else t=new Date(Date.UTC.apply(null,arguments));return t}function Ue(e,t,n){var r=7+t-n,o=(7+We(e,0,r).getUTCDay()-t)%7;return-o+r-1}function He(e,t,n,r,o){var i,a,u=(7+n-r)%7,l=Ue(e,r,o),s=1+7*(t-1)+u+l;return s<=0?a=Se(i=e-1)+s:s>Se(e)?(i=e+1,a=s-Se(e)):(i=e,a=s),{year:i,dayOfYear:a}}function Ve(e,t,n){var r,o,i=Ue(e.year(),t,n),a=Math.floor((e.dayOfYear()-i-1)/7)+1;return a<1?(o=e.year()-1,r=a+Ye(o,t,n)):a>Ye(e.year(),t,n)?(r=a-Ye(e.year(),t,n),o=e.year()+1):(o=e.year(),r=a),{week:r,year:o}}function Ye(e,t,n){var r=Ue(e,t,n),o=Ue(e+1,t,n);return(Se(e)-r+o)/7}function Ke(e,t){return e.slice(t,7).concat(e.slice(0,t))}H("w",["ww",2],"wo","week"),H("W",["WW",2],"Wo","isoWeek"),A("week","w"),A("isoWeek","W"),F("week",5),F("isoWeek",5),se("w",Z),se("ww",Z,G),se("W",Z),se("WW",Z,G),he(["w","ww","W","WW"],function(e,t,n,r){t[r.substr(0,1)]=w(e)}),H("d",0,"do","day"),H("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),H("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),H("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),H("e",0,0,"weekday"),H("E",0,0,"isoWeekday"),A("day","d"),A("weekday","e"),A("isoWeekday","E"),F("day",11),F("weekday",11),F("isoWeekday",11),se("d",Z),se("e",Z),se("E",Z),se("dd",function(e,t){return t.weekdaysMinRegex(e)}),se("ddd",function(e,t){return t.weekdaysShortRegex(e)}),se("dddd",function(e,t){return t.weekdaysRegex(e)}),he(["dd","ddd","dddd"],function(e,t,n,r){var o=n._locale.weekdaysParse(e,r,n._strict);null!=o?t.d=o:p(n).invalidWeekday=e}),he(["d","e","E"],function(e,t,n,r){t[r]=w(e)});var Ge="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),$e="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),qe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Xe=ue,Ze=ue,Qe=ue;function Je(){function e(e,t){return t.length-e.length}var t,n,r,o,i,a=[],u=[],l=[],s=[];for(t=0;t<7;t++)n=d([2e3,1]).day(t),r=this.weekdaysMin(n,""),o=this.weekdaysShort(n,""),i=this.weekdays(n,""),a.push(r),u.push(o),l.push(i),s.push(r),s.push(o),s.push(i);for(a.sort(e),u.sort(e),l.sort(e),s.sort(e),t=0;t<7;t++)u[t]=fe(u[t]),l[t]=fe(l[t]),s[t]=fe(s[t]);this._weekdaysRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function et(){return this.hours()%12||12}function tt(e,t){H(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function nt(e,t){return t._meridiemParse}H("H",["HH",2],0,"hour"),H("h",["hh",2],0,et),H("k",["kk",2],0,function(){return this.hours()||24}),H("hmm",0,0,function(){return""+et.apply(this)+L(this.minutes(),2)}),H("hmmss",0,0,function(){return""+et.apply(this)+L(this.minutes(),2)+L(this.seconds(),2)}),H("Hmm",0,0,function(){return""+this.hours()+L(this.minutes(),2)}),H("Hmmss",0,0,function(){return""+this.hours()+L(this.minutes(),2)+L(this.seconds(),2)}),tt("a",!0),tt("A",!1),A("hour","h"),F("hour",13),se("a",nt),se("A",nt),se("H",Z),se("h",Z),se("k",Z),se("HH",Z,G),se("hh",Z,G),se("kk",Z,G),se("hmm",Q),se("hmmss",J),se("Hmm",Q),se("Hmmss",J),pe(["H","HH"],ge),pe(["k","kk"],function(e,t,n){var r=w(e);t[ge]=24===r?0:r}),pe(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),pe(["h","hh"],function(e,t,n){t[ge]=w(e),p(n).bigHour=!0}),pe("hmm",function(e,t,n){var r=e.length-2;t[ge]=w(e.substr(0,r)),t[_e]=w(e.substr(r)),p(n).bigHour=!0}),pe("hmmss",function(e,t,n){var r=e.length-4,o=e.length-2;t[ge]=w(e.substr(0,r)),t[_e]=w(e.substr(r,2)),t[Oe]=w(e.substr(o)),p(n).bigHour=!0}),pe("Hmm",function(e,t,n){var r=e.length-2;t[ge]=w(e.substr(0,r)),t[_e]=w(e.substr(r))}),pe("Hmmss",function(e,t,n){var r=e.length-4,o=e.length-2;t[ge]=w(e.substr(0,r)),t[_e]=w(e.substr(r,2)),t[Oe]=w(e.substr(o))});var rt,ot=Te("Hours",!0),it={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ie,monthsShort:Ne,week:{dow:0,doy:6},weekdays:Ge,weekdaysMin:qe,weekdaysShort:$e,meridiemParse:/[ap]\.?m?\.?/i},at={},ut={};function lt(e){return e?e.toLowerCase().replace("_","-"):e}function st(t){var n=null;if(!at[t]&&"undefined"!==typeof e&&e&&e.exports)try{n=rt._abbr,!function(){var e=new Error("Cannot find module 'undefined'");throw e.code="MODULE_NOT_FOUND",e}(),ct(n)}catch(r){}return at[t]}function ct(e,t){var n;return e&&((n=a(t)?dt(e):ft(e,t))?rt=n:"undefined"!==typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),rt._abbr}function ft(e,t){if(null!==t){var n,r=it;if(t.abbr=e,null!=at[e])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=at[e]._config;else if(null!=t.parentLocale)if(null!=at[t.parentLocale])r=at[t.parentLocale]._config;else{if(null==(n=st(t.parentLocale)))return ut[t.parentLocale]||(ut[t.parentLocale]=[]),ut[t.parentLocale].push({name:e,config:t}),null;r=n._config}return at[e]=new E(C(r,t)),ut[e]&&ut[e].forEach(function(e){ft(e.name,e.config)}),ct(e),at[e]}return delete at[e],null}function dt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return rt;if(!o(e)){if(t=st(e))return t;e=[e]}return function(e){for(var t,n,r,o,i=0;i0;){if(r=st(o.slice(0,t).join("-")))return r;if(n&&n.length>=t&&x(o,n,!0)>=t-1)break;t--}i++}return rt}(e)}function pt(e){var t,n=e._a;return n&&-2===p(e).overflow&&(t=n[me]<0||n[me]>11?me:n[be]<1||n[be]>je(n[ve],n[me])?be:n[ge]<0||n[ge]>24||24===n[ge]&&(0!==n[_e]||0!==n[Oe]||0!==n[we])?ge:n[_e]<0||n[_e]>59?_e:n[Oe]<0||n[Oe]>59?Oe:n[we]<0||n[we]>999?we:-1,p(e)._overflowDayOfYear&&(tbe)&&(t=be),p(e)._overflowWeeks&&-1===t&&(t=xe),p(e)._overflowWeekday&&-1===t&&(t=ke),p(e).overflow=t),e}function ht(e,t,n){return null!=e?e:null!=t?t:n}function yt(e){var t,n,o,i,a,u=[];if(!e._d){for(o=function(e){var t=new Date(r.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}(e),e._w&&null==e._a[be]&&null==e._a[me]&&function(e){var t,n,r,o,i,a,u,l;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)i=1,a=4,n=ht(t.GG,e._a[ve],Ve(Ct(),1,4).year),r=ht(t.W,1),((o=ht(t.E,1))<1||o>7)&&(l=!0);else{i=e._locale._week.dow,a=e._locale._week.doy;var s=Ve(Ct(),i,a);n=ht(t.gg,e._a[ve],s.year),r=ht(t.w,s.week),null!=t.d?((o=t.d)<0||o>6)&&(l=!0):null!=t.e?(o=t.e+i,(t.e<0||t.e>6)&&(l=!0)):o=i}r<1||r>Ye(n,i,a)?p(e)._overflowWeeks=!0:null!=l?p(e)._overflowWeekday=!0:(u=He(n,r,o,i,a),e._a[ve]=u.year,e._dayOfYear=u.dayOfYear)}(e),null!=e._dayOfYear&&(a=ht(e._a[ve],o[ve]),(e._dayOfYear>Se(a)||0===e._dayOfYear)&&(p(e)._overflowDayOfYear=!0),n=We(a,0,e._dayOfYear),e._a[me]=n.getUTCMonth(),e._a[be]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=u[t]=o[t];for(;t<7;t++)e._a[t]=u[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ge]&&0===e._a[_e]&&0===e._a[Oe]&&0===e._a[we]&&(e._nextDay=!0,e._a[ge]=0),e._d=(e._useUTC?We:function(e,t,n,r,o,i,a){var u;return e<100&&e>=0?(u=new Date(e+400,t,n,r,o,i,a),isFinite(u.getFullYear())&&u.setFullYear(e)):u=new Date(e,t,n,r,o,i,a),u}).apply(null,u),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ge]=24),e._w&&"undefined"!==typeof e._w.d&&e._w.d!==i&&(p(e).weekdayMismatch=!0)}}var vt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,mt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,bt=/Z|[+-]\d\d(?::?\d\d)?/,gt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],_t=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ot=/^\/?Date\((\-?\d+)/i;function wt(e){var t,n,r,o,i,a,u=e._i,l=vt.exec(u)||mt.exec(u);if(l){for(p(e).iso=!0,t=0,n=gt.length;t0&&p(e).unusedInput.push(a),u=u.slice(u.indexOf(n)+n.length),s+=n.length),U[i]?(n?p(e).empty=!1:p(e).unusedTokens.push(i),ye(i,n,e)):e._strict&&!n&&p(e).unusedTokens.push(i);p(e).charsLeftOver=l-s,u.length>0&&p(e).unusedInput.push(u),e._a[ge]<=12&&!0===p(e).bigHour&&e._a[ge]>0&&(p(e).bigHour=void 0),p(e).parsedDateParts=e._a.slice(0),p(e).meridiem=e._meridiem,e._a[ge]=function(e,t,n){var r;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((r=e.isPM(n))&&t<12&&(t+=12),r||12!==t||(t=0),t):t}(e._locale,e._a[ge],e._meridiem),yt(e),pt(e)}else Pt(e);else wt(e)}function Dt(e){var t=e._i,n=e._f;return e._locale=e._locale||dt(e._l),null===t||void 0===n&&""===t?y({nullInput:!0}):("string"===typeof t&&(e._i=t=e._locale.preparse(t)),_(t)?new g(pt(t)):(l(t)?e._d=t:o(n)?function(e){var t,n,r,o,i;if(0===e._f.length)return p(e).invalidFormat=!0,void(e._d=new Date(NaN));for(o=0;othis?this:e:y()});function At(e,t){var n,r;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return Ct();for(n=t[0],r=1;r=0?new Date(e+400,t,n)-un:new Date(e,t,n).valueOf()}function cn(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-un:Date.UTC(e,t,n)}function fn(e,t){H(0,[e,e.length],0,t)}function dn(e,t,n,r,o){var i;return null==e?Ve(this,r,o).year:(i=Ye(e,r,o),t>i&&(t=i),function(e,t,n,r,o){var i=He(e,t,n,r,o),a=We(i.year,0,i.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,r,o))}H(0,["gg",2],0,function(){return this.weekYear()%100}),H(0,["GG",2],0,function(){return this.isoWeekYear()%100}),fn("gggg","weekYear"),fn("ggggg","weekYear"),fn("GGGG","isoWeekYear"),fn("GGGGG","isoWeekYear"),A("weekYear","gg"),A("isoWeekYear","GG"),F("weekYear",1),F("isoWeekYear",1),se("G",oe),se("g",oe),se("GG",Z,G),se("gg",Z,G),se("GGGG",te,q),se("gggg",te,q),se("GGGGG",ne,X),se("ggggg",ne,X),he(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,r){t[r.substr(0,2)]=w(e)}),he(["gg","GG"],function(e,t,n,o){t[o]=r.parseTwoDigitYear(e)}),H("Q",0,"Qo","quarter"),A("quarter","Q"),F("quarter",7),se("Q",K),pe("Q",function(e,t){t[me]=3*(w(e)-1)}),H("D",["DD",2],"Do","date"),A("date","D"),F("date",9),se("D",Z),se("DD",Z,G),se("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),pe(["D","DD"],be),pe("Do",function(e,t){t[be]=w(e.match(Z)[0])});var pn=Te("Date",!0);H("DDD",["DDDD",3],"DDDo","dayOfYear"),A("dayOfYear","DDD"),F("dayOfYear",4),se("DDD",ee),se("DDDD",$),pe(["DDD","DDDD"],function(e,t,n){n._dayOfYear=w(e)}),H("m",["mm",2],0,"minute"),A("minute","m"),F("minute",14),se("m",Z),se("mm",Z,G),pe(["m","mm"],_e);var hn=Te("Minutes",!1);H("s",["ss",2],0,"second"),A("second","s"),F("second",15),se("s",Z),se("ss",Z,G),pe(["s","ss"],Oe);var yn,vn=Te("Seconds",!1);for(H("S",0,0,function(){return~~(this.millisecond()/100)}),H(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),H(0,["SSS",3],0,"millisecond"),H(0,["SSSS",4],0,function(){return 10*this.millisecond()}),H(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),H(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),H(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),H(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),H(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),A("millisecond","ms"),F("millisecond",16),se("S",ee,K),se("SS",ee,G),se("SSS",ee,$),yn="SSSS";yn.length<=9;yn+="S")se(yn,re);function mn(e,t){t[we]=w(1e3*("0."+e))}for(yn="S";yn.length<=9;yn+="S")pe(yn,mn);var bn=Te("Milliseconds",!1);H("z",0,0,"zoneAbbr"),H("zz",0,0,"zoneName");var gn=g.prototype;function _n(e){return e}gn.add=Zt,gn.calendar=function(e,t){var n=e||Ct(),o=Wt(n,this).startOf("day"),i=r.calendarFormat(this,o)||"sameElse",a=t&&(T(t[i])?t[i].call(this,n):t[i]);return this.format(a||this.localeData().calendar(i,this,Ct(n)))},gn.clone=function(){return new g(this)},gn.diff=function(e,t,n){var r,o,i;if(!this.isValid())return NaN;if(!(r=Wt(e,this)).isValid())return NaN;switch(o=6e4*(r.utcOffset()-this.utcOffset()),t=I(t)){case"year":i=Jt(this,r)/12;break;case"month":i=Jt(this,r);break;case"quarter":i=Jt(this,r)/3;break;case"second":i=(this-r)/1e3;break;case"minute":i=(this-r)/6e4;break;case"hour":i=(this-r)/36e5;break;case"day":i=(this-r-o)/864e5;break;case"week":i=(this-r-o)/6048e5;break;default:i=this-r}return n?i:O(i)},gn.endOf=function(e){var t;if(void 0===(e=I(e))||"millisecond"===e||!this.isValid())return this;var n=this._isUTC?cn:sn;switch(e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=an-ln(t+(this._isUTC?0:this.utcOffset()*on),an)-1;break;case"minute":t=this._d.valueOf(),t+=on-ln(t,on)-1;break;case"second":t=this._d.valueOf(),t+=rn-ln(t,rn)-1}return this._d.setTime(t),r.updateOffset(this,!0),this},gn.format=function(e){e||(e=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);var t=V(this,e);return this.localeData().postformat(t)},gn.from=function(e,t){return this.isValid()&&(_(e)&&e.isValid()||Ct(e).isValid())?Kt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},gn.fromNow=function(e){return this.from(Ct(),e)},gn.to=function(e,t){return this.isValid()&&(_(e)&&e.isValid()||Ct(e).isValid())?Kt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},gn.toNow=function(e){return this.to(Ct(),e)},gn.get=function(e){return T(this[e=I(e)])?this[e]():this},gn.invalidAt=function(){return p(this).overflow},gn.isAfter=function(e,t){var n=_(e)?e:Ct(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=I(t)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()9999?V(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):T(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",V(n,"Z")):V(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},gn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",o=t+'[")]';return this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+o)},gn.toJSON=function(){return this.isValid()?this.toISOString():null},gn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},gn.unix=function(){return Math.floor(this.valueOf()/1e3)},gn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},gn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},gn.year=De,gn.isLeapYear=function(){return Pe(this.year())},gn.weekYear=function(e){return dn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},gn.isoWeekYear=function(e){return dn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},gn.quarter=gn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},gn.month=Fe,gn.daysInMonth=function(){return je(this.year(),this.month())},gn.week=gn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},gn.isoWeek=gn.isoWeeks=function(e){var t=Ve(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},gn.weeksInYear=function(){var e=this.localeData()._week;return Ye(this.year(),e.dow,e.doy)},gn.isoWeeksInYear=function(){return Ye(this.year(),1,4)},gn.date=pn,gn.day=gn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=function(e,t){return"string"!==typeof e?e:isNaN(e)?"number"===typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}(e,this.localeData()),this.add(e-t,"d")):t},gn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},gn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=function(e,t){return"string"===typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},gn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},gn.hour=gn.hours=ot,gn.minute=gn.minutes=hn,gn.second=gn.seconds=vn,gn.millisecond=gn.milliseconds=bn,gn.utcOffset=function(e,t,n){var o,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if("string"===typeof e){if(null===(e=zt(ae,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(o=Ut(this)),this._offset=e,this._isUTC=!0,null!=o&&this.add(o,"m"),i!==e&&(!t||this._changeInProgress?Xt(this,Kt(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,r.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?i:Ut(this)},gn.utc=function(e){return this.utcOffset(0,e)},gn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Ut(this),"m")),this},gn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"===typeof this._i){var e=zt(ie,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},gn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Ct(e).utcOffset():0,(this.utcOffset()-e)%60===0)},gn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},gn.isLocal=function(){return!!this.isValid()&&!this._isUTC},gn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},gn.isUtc=Ht,gn.isUTC=Ht,gn.zoneAbbr=function(){return this._isUTC?"UTC":""},gn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},gn.dates=S("dates accessor is deprecated. Use date instead.",pn),gn.months=S("months accessor is deprecated. Use month instead",Fe),gn.years=S("years accessor is deprecated. Use year instead",De),gn.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!==typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),gn.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!a(this._isDSTShifted))return this._isDSTShifted;var e={};if(m(e,this),(e=Dt(e))._a){var t=e._isUTC?d(e._a):Ct(e._a);this._isDSTShifted=this.isValid()&&x(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var On=E.prototype;function wn(e,t,n,r){var o=dt(),i=d().set(r,t);return o[n](i,e)}function xn(e,t,n){if(u(e)&&(t=e,e=void 0),e=e||"",null!=t)return wn(e,t,n,"month");var r,o=[];for(r=0;r<12;r++)o[r]=wn(e,r,n,"month");return o}function kn(e,t,n,r){"boolean"===typeof e?(u(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,u(t)&&(n=t,t=void 0),t=t||"");var o,i=dt(),a=e?i._week.dow:0;if(null!=n)return wn(t,(n+a)%7,r,"day");var l=[];for(o=0;o<7;o++)l[o]=wn(t,(o+a)%7,r,"day");return l}On.calendar=function(e,t,n){var r=this._calendar[e]||this._calendar.sameElse;return T(r)?r.call(t,n):r},On.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},On.invalidDate=function(){return this._invalidDate},On.ordinal=function(e){return this._ordinal.replace("%d",e)},On.preparse=_n,On.postformat=_n,On.relativeTime=function(e,t,n,r){var o=this._relativeTime[n];return T(o)?o(e,t,n,r):o.replace(/%d/i,e)},On.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return T(n)?n(t):n.replace(/%s/i,t)},On.set=function(e){var t,n;for(n in e)T(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},On.months=function(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Ae).test(t)?"format":"standalone"][e.month()]:o(this._months)?this._months:this._months.standalone},On.monthsShort=function(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Ae.test(t)?"format":"standalone"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},On.monthsParse=function(e,t,n){var r,o,i;if(this._monthsParseExact)return function(e,t,n){var r,o,i,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)i=d([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(i,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(i,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(o=Me.call(this._shortMonthsParse,a))?o:null:-1!==(o=Me.call(this._longMonthsParse,a))?o:null:"MMM"===t?-1!==(o=Me.call(this._shortMonthsParse,a))?o:-1!==(o=Me.call(this._longMonthsParse,a))?o:null:-1!==(o=Me.call(this._longMonthsParse,a))?o:-1!==(o=Me.call(this._shortMonthsParse,a))?o:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(o=d([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(o,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(o,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(i="^"+this.months(o,"")+"|^"+this.monthsShort(o,""),this._monthsParse[r]=new RegExp(i.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[r].test(e))return r;if(n&&"MMM"===t&&this._shortMonthsParse[r].test(e))return r;if(!n&&this._monthsParse[r].test(e))return r}},On.monthsRegex=function(e){return this._monthsParseExact?(c(this,"_monthsRegex")||ze.call(this),e?this._monthsStrictRegex:this._monthsRegex):(c(this,"_monthsRegex")||(this._monthsRegex=Be),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},On.monthsShortRegex=function(e){return this._monthsParseExact?(c(this,"_monthsRegex")||ze.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(c(this,"_monthsShortRegex")||(this._monthsShortRegex=Le),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},On.week=function(e){return Ve(e,this._week.dow,this._week.doy).week},On.firstDayOfYear=function(){return this._week.doy},On.firstDayOfWeek=function(){return this._week.dow},On.weekdays=function(e,t){var n=o(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?Ke(n,this._week.dow):e?n[e.day()]:n},On.weekdaysMin=function(e){return!0===e?Ke(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},On.weekdaysShort=function(e){return!0===e?Ke(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},On.weekdaysParse=function(e,t,n){var r,o,i;if(this._weekdaysParseExact)return function(e,t,n){var r,o,i,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)i=d([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(i,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(i,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(i,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(o=Me.call(this._weekdaysParse,a))?o:null:"ddd"===t?-1!==(o=Me.call(this._shortWeekdaysParse,a))?o:null:-1!==(o=Me.call(this._minWeekdaysParse,a))?o:null:"dddd"===t?-1!==(o=Me.call(this._weekdaysParse,a))?o:-1!==(o=Me.call(this._shortWeekdaysParse,a))?o:-1!==(o=Me.call(this._minWeekdaysParse,a))?o:null:"ddd"===t?-1!==(o=Me.call(this._shortWeekdaysParse,a))?o:-1!==(o=Me.call(this._weekdaysParse,a))?o:-1!==(o=Me.call(this._minWeekdaysParse,a))?o:null:-1!==(o=Me.call(this._minWeekdaysParse,a))?o:-1!==(o=Me.call(this._weekdaysParse,a))?o:-1!==(o=Me.call(this._shortWeekdaysParse,a))?o:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(o=d([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(o,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(o,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(o,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(i="^"+this.weekdays(o,"")+"|^"+this.weekdaysShort(o,"")+"|^"+this.weekdaysMin(o,""),this._weekdaysParse[r]=new RegExp(i.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[r].test(e))return r;if(n&&"ddd"===t&&this._shortWeekdaysParse[r].test(e))return r;if(n&&"dd"===t&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}},On.weekdaysRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||Je.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(c(this,"_weekdaysRegex")||(this._weekdaysRegex=Xe),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},On.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||Je.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(c(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Ze),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},On.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||Je.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(c(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Qe),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},On.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},On.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},ct("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===w(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n}}),r.lang=S("moment.lang is deprecated. Use moment.locale instead.",ct),r.langData=S("moment.langData is deprecated. Use moment.localeData instead.",dt);var Sn=Math.abs;function Pn(e,t,n,r){var o=Kt(t,n);return e._milliseconds+=r*o._milliseconds,e._days+=r*o._days,e._months+=r*o._months,e._bubble()}function Mn(e){return e<0?Math.floor(e):Math.ceil(e)}function Dn(e){return 4800*e/146097}function Tn(e){return 146097*e/4800}function Cn(e){return function(){return this.as(e)}}var En=Cn("ms"),jn=Cn("s"),An=Cn("m"),In=Cn("h"),Nn=Cn("d"),Rn=Cn("w"),Fn=Cn("M"),Ln=Cn("Q"),Bn=Cn("y");function zn(e){return function(){return this.isValid()?this._data[e]:NaN}}var Wn=zn("milliseconds"),Un=zn("seconds"),Hn=zn("minutes"),Vn=zn("hours"),Yn=zn("days"),Kn=zn("months"),Gn=zn("years"),$n=Math.round,qn={ss:44,s:45,m:45,h:22,d:26,M:11},Xn=Math.abs;function Zn(e){return(e>0)-(e<0)||+e}function Qn(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=Xn(this._milliseconds)/1e3,r=Xn(this._days),o=Xn(this._months);e=O(n/60),t=O(e/60),n%=60,e%=60;var i=O(o/12),a=o%=12,u=r,l=t,s=e,c=n?n.toFixed(3).replace(/\.?0+$/,""):"",f=this.asSeconds();if(!f)return"P0D";var d=f<0?"-":"",p=Zn(this._months)!==Zn(f)?"-":"",h=Zn(this._days)!==Zn(f)?"-":"",y=Zn(this._milliseconds)!==Zn(f)?"-":"";return d+"P"+(i?p+i+"Y":"")+(a?p+a+"M":"")+(u?h+u+"D":"")+(l||s||c?"T":"")+(l?y+l+"H":"")+(s?y+s+"M":"")+(c?y+c+"S":"")}var Jn=Nt.prototype;return Jn.isValid=function(){return this._isValid},Jn.abs=function(){var e=this._data;return this._milliseconds=Sn(this._milliseconds),this._days=Sn(this._days),this._months=Sn(this._months),e.milliseconds=Sn(e.milliseconds),e.seconds=Sn(e.seconds),e.minutes=Sn(e.minutes),e.hours=Sn(e.hours),e.months=Sn(e.months),e.years=Sn(e.years),this},Jn.add=function(e,t){return Pn(this,e,t,1)},Jn.subtract=function(e,t){return Pn(this,e,t,-1)},Jn.as=function(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if("month"===(e=I(e))||"quarter"===e||"year"===e)switch(t=this._days+r/864e5,n=this._months+Dn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Tn(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return 24*t+r/36e5;case"minute":return 1440*t+r/6e4;case"second":return 86400*t+r/1e3;case"millisecond":return Math.floor(864e5*t)+r;default:throw new Error("Unknown unit "+e)}},Jn.asMilliseconds=En,Jn.asSeconds=jn,Jn.asMinutes=An,Jn.asHours=In,Jn.asDays=Nn,Jn.asWeeks=Rn,Jn.asMonths=Fn,Jn.asQuarters=Ln,Jn.asYears=Bn,Jn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN},Jn._bubble=function(){var e,t,n,r,o,i=this._milliseconds,a=this._days,u=this._months,l=this._data;return i>=0&&a>=0&&u>=0||i<=0&&a<=0&&u<=0||(i+=864e5*Mn(Tn(u)+a),a=0,u=0),l.milliseconds=i%1e3,e=O(i/1e3),l.seconds=e%60,t=O(e/60),l.minutes=t%60,n=O(t/60),l.hours=n%24,a+=O(n/24),o=O(Dn(a)),u+=o,a-=Mn(Tn(o)),r=O(u/12),u%=12,l.days=a,l.months=u,l.years=r,this},Jn.clone=function(){return Kt(this)},Jn.get=function(e){return e=I(e),this.isValid()?this[e+"s"]():NaN},Jn.milliseconds=Wn,Jn.seconds=Un,Jn.minutes=Hn,Jn.hours=Vn,Jn.days=Yn,Jn.weeks=function(){return O(this.days()/7)},Jn.months=Kn,Jn.years=Gn,Jn.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=function(e,t,n){var r=Kt(e).abs(),o=$n(r.as("s")),i=$n(r.as("m")),a=$n(r.as("h")),u=$n(r.as("d")),l=$n(r.as("M")),s=$n(r.as("y")),c=o<=qn.ss&&["s",o]||o0,c[4]=n,function(e,t,n,r,o){return o.relativeTime(t||1,!!n,e,r)}.apply(null,c)}(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)},Jn.toISOString=Qn,Jn.toString=Qn,Jn.toJSON=Qn,Jn.locale=en,Jn.localeData=nn,Jn.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Qn),Jn.lang=tn,H("X",0,0,"unix"),H("x",0,0,"valueOf"),se("x",oe),se("X",/[+-]?\d+(\.\d{1,3})?/),pe("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),pe("x",function(e,t,n){n._d=new Date(w(e))}),r.version="2.24.0",t=Ct,r.fn=gn,r.min=function(){return At("isBefore",[].slice.call(arguments,0))},r.max=function(){return At("isAfter",[].slice.call(arguments,0))},r.now=function(){return Date.now?Date.now():+new Date},r.utc=d,r.unix=function(e){return Ct(1e3*e)},r.months=function(e,t){return xn(e,t,"months")},r.isDate=l,r.locale=ct,r.invalid=y,r.duration=Kt,r.isMoment=_,r.weekdays=function(e,t,n){return kn(e,t,n,"weekdays")},r.parseZone=function(){return Ct.apply(null,arguments).parseZone()},r.localeData=dt,r.isDuration=Rt,r.monthsShort=function(e,t){return xn(e,t,"monthsShort")},r.weekdaysMin=function(e,t,n){return kn(e,t,n,"weekdaysMin")},r.defineLocale=ft,r.updateLocale=function(e,t){if(null!=t){var n,r,o=it;null!=(r=st(e))&&(o=r._config),t=C(o,t),(n=new E(t)).parentLocale=at[e],at[e]=n,ct(e)}else null!=at[e]&&(null!=at[e].parentLocale?at[e]=at[e].parentLocale:null!=at[e]&&delete at[e]);return at[e]},r.locales=function(){return P(at)},r.weekdaysShort=function(e,t,n){return kn(e,t,n,"weekdaysShort")},r.normalizeUnits=I,r.relativeTimeRounding=function(e){return void 0===e?$n:"function"===typeof e&&($n=e,!0)},r.relativeTimeThreshold=function(e,t){return void 0!==qn[e]&&(void 0===t?qn[e]:(qn[e]=t,"s"===e&&(qn.ss=t-1),!0))},r.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},r.prototype=gn,r.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},r}()}).call(this,n(144)(e))},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function n(e,t){for(var n=0;n=0?1:-1;"insideStart"===i?(r=v+k*u,o=O):"insideEnd"===i?(r=g-k*u,o=!O):"end"===i&&(r=g+k*u,o=O),o=x<=0?o:!o;var S=Object(b.e)(f,d,w,r),P=Object(b.e)(f,d,w,r+359*(o?1:-1)),M="M".concat(S.x,",").concat(S.y,"\n A").concat(w,",").concat(w,",0,1,").concat(o?0:1,",\n ").concat(P.x,",").concat(P.y),D=l()(e.id)?Object(m.j)("recharts-radial-line-"):e.id;return c.a.createElement("text",_({},n,{dominantBaseline:"central",className:h()("recharts-radial-bar-label",s)}),c.a.createElement("defs",null,c.a.createElement("path",{id:D,d:M})),c.a.createElement("textPath",{xlinkHref:"#".concat(D)},t))},M=function(e){var t=e.viewBox,n=e.offset,r=e.position,o=t.cx,i=t.cy,a=t.innerRadius,u=t.outerRadius,l=(t.startAngle+t.endAngle)/2;if("outside"===r){var s=Object(b.e)(o,i,u+n,l),c=s.x;return{x:c,y:s.y,textAnchor:c>=o?"start":"end",verticalAnchor:"middle"}}if("center"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"middle"};if("centerTop"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"start"};if("centerBottom"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"end"};var f=(a+u)/2,d=Object(b.e)(o,i,f,l);return{x:d.x,y:d.y,textAnchor:"middle",verticalAnchor:"middle"}},D=function(e){var t=e.viewBox,n=e.offset,r=e.position,i=t.x,a=t.y,u=t.width,l=t.height,s=l>=0?1:-1;return"top"===r?{x:i+u/2,y:a-s*n,textAnchor:"middle",verticalAnchor:s>0?"end":"start"}:"bottom"===r?{x:i+u/2,y:a+l+s*n,textAnchor:"middle",verticalAnchor:"start"}:"left"===r?{x:i-n,y:a+l/2,textAnchor:"end",verticalAnchor:"middle"}:"right"===r?{x:i+u+n,y:a+l/2,textAnchor:"start",verticalAnchor:"middle"}:"insideLeft"===r?{x:i+n,y:a+l/2,textAnchor:"start",verticalAnchor:"middle"}:"insideRight"===r?{x:i+u-n,y:a+l/2,textAnchor:"end",verticalAnchor:"middle"}:"insideTop"===r?{x:i+u/2,y:a+s*n,textAnchor:"middle",verticalAnchor:"start"}:"insideBottom"===r?{x:i+u/2,y:a+l-s*n,textAnchor:"middle",verticalAnchor:"end"}:"insideTopLeft"===r?{x:i+n,y:a+s*n,textAnchor:"start",verticalAnchor:"start"}:"insideTopRight"===r?{x:i+u-n,y:a+s*n,textAnchor:"end",verticalAnchor:"start"}:"insideBottomLeft"===r?{x:i+n,y:a+l-s*n,textAnchor:"start",verticalAnchor:"end"}:"insideBottomRight"===r?{x:i+u-n,y:a+l-s*n,textAnchor:"end",verticalAnchor:"end"}:o()(r)&&(Object(m.g)(r.x)||Object(m.h)(r.x))&&(Object(m.g)(r.y)||Object(m.h)(r.y))?{x:i+Object(m.c)(r.x,u),y:a+Object(m.c)(r.y,l),textAnchor:"end",verticalAnchor:"end"}:{x:i+u/2,y:a+l/2,textAnchor:"middle",verticalAnchor:"middle"}},T=function(e){return Object(m.g)(e.cx)};function C(e){var t,n=e.viewBox,r=e.position,o=e.value,i=e.children,u=e.content,f=e.className,d=void 0===f?"":f;if(!n||l()(o)&&l()(i)&&!Object(s.isValidElement)(u)&&!a()(u))return null;if(Object(s.isValidElement)(u))return Object(s.cloneElement)(u,e);if(a()(u)){if(t=u(e),Object(s.isValidElement)(t))return t}else t=S(e);var p=T(n),m=Object(v.j)(e);if(p&&("insideStart"===r||"insideEnd"===r||"end"===r))return P(e,t,m);var b=p?M(e):D(e);return c.a.createElement(y.a,_({className:h()("recharts-label",d)},m,b),t)}C.displayName="Label",C.defaultProps={offset:5},C.propTypes=k;var E=function(e){var t=e.cx,n=e.cy,r=e.angle,o=e.startAngle,i=e.endAngle,a=e.r,u=e.radius,l=e.innerRadius,s=e.outerRadius,c=e.x,f=e.y,d=e.top,p=e.left,h=e.width,y=e.height,v=e.clockWise;if(Object(m.g)(h)&&Object(m.g)(y)){if(Object(m.g)(c)&&Object(m.g)(f))return{x:c,y:f,width:h,height:y};if(Object(m.g)(d)&&Object(m.g)(p))return{x:d,y:p,width:h,height:y}}return Object(m.g)(c)&&Object(m.g)(f)?{x:c,y:f,width:0,height:0}:Object(m.g)(t)&&Object(m.g)(n)?{cx:t,cy:n,startAngle:o||r||0,endAngle:i||r||0,innerRadius:l||0,outerRadius:s||u||a||0,clockWise:v}:e.viewBox?e.viewBox:{}};C.parseViewBox=E,C.renderCallByParent=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!e||!e.children&&n&&!e.label)return null;var r=e.children,i=E(e),u=Object(v.g)(r,C).map(function(e,n){return Object(s.cloneElement)(e,{viewBox:t||i,key:"label-".concat(n)})});return n?[function(e,t){return e?!0===e?c.a.createElement(C,{key:"label-implicit",viewBox:t}):Object(m.f)(e)?c.a.createElement(C,{key:"label-implicit",viewBox:t,value:e}):Object(s.isValidElement)(e)||a()(e)?c.a.createElement(C,{key:"label-implicit",content:e,viewBox:t}):o()(e)?c.a.createElement(C,_({viewBox:t},e,{key:"label-implicit"})):null:null}(e.label,t||i)].concat(g(u)):u},t.a=C},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,"a",function(){return r})},function(e,t,n){"use strict";var r=n(192);e.exports=function(e,t,n){return!r(e.props,t)||!r(e.state,n)}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.withStylesPropTypes=t.css=void 0;var r=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=t.stylesPropName,a=void 0===n?"styles":n,c=t.themePropName,d=void 0===c?"theme":c,h=t.cssPropName,b=void 0===h?"css":h,g=t.flushBefore,_=void 0!==g&&g,O=t.pureComponent,w=void 0!==O&&O,x=void 0,k=void 0,S=void 0,P=void 0,M=function(e){if(e){if(!i.default.PureComponent)throw new ReferenceError("withStyles() pureComponent option requires React 15.3.0 or later");return i.default.PureComponent}return i.default.Component}(w);function D(e){return e===s.DIRECTIONS.LTR?f.default.resolveLTR:f.default.resolveRTL}function T(t,n){var r=function(e){return e===s.DIRECTIONS.LTR?S:P}(t),o=t===s.DIRECTIONS.LTR?x:k,i=f.default.get();if(o&&r===i)return o;var a=t===s.DIRECTIONS.RTL;return a?(k=e?f.default.createRTL(e):y,P=i,o=k):(x=e?f.default.createLTR(e):y,S=i,o=x),o}function C(e,t){return{resolveMethod:D(e),styleDef:T(e,t)}}return function(){return function(e){var t=e.displayName||e.name||"Component",n=function(n){function u(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}(this,(u.__proto__||Object.getPrototypeOf(u)).call(this,e,n)),o=r.context[s.CHANNEL]?r.context[s.CHANNEL].getState():m;return r.state=C(o,t),r}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(u,n),o(u,[{key:"componentDidMount",value:function(){return function(){var e=this;this.context[s.CHANNEL]&&(this.channelUnsubscribe=this.context[s.CHANNEL].subscribe(function(n){e.setState(C(n,t))}))}}()},{key:"componentWillUnmount",value:function(){return function(){this.channelUnsubscribe&&this.channelUnsubscribe()}}()},{key:"render",value:function(){return function(){var t;_&&f.default.flush();var n=this.state,o=n.resolveMethod,u=n.styleDef;return i.default.createElement(e,r({},this.props,(p(t={},d,f.default.get()),p(t,a,u()),p(t,b,o),t)))}}()}]),u}(M);n.WrappedComponent=e,n.displayName="withStyles("+String(t)+")",n.contextTypes=v,e.propTypes&&(n.propTypes=(0,l.default)({},e.propTypes),delete n.propTypes[a],delete n.propTypes[d],delete n.propTypes[b]);e.defaultProps&&(n.defaultProps=(0,l.default)({},e.defaultProps));return(0,u.default)(n,e)}}()};var i=d(n(1)),a=d(n(0)),u=d(n(350)),l=d(n(351)),s=n(352),c=d(n(353)),f=d(n(190));function d(e){return e&&e.__esModule?e:{default:e}}function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}t.css=f.default.resolveLTR,t.withStylesPropTypes={styles:a.default.object.isRequired,theme:a.default.object.isRequired,css:a.default.func.isRequired};var h={},y=function(){return h};var v=p({},s.CHANNEL,c.default),m=s.DIRECTIONS.LTR},function(e,t,n){"use strict";var r=n(7),o=n.n(r),i=n(1),a=n.n(i),u=n(0),l=n.n(u),s=n(138),c=n.n(s),f=n(5),d=n.n(f),p=n(2),h=n(3),y=n(39);function v(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e){return(m="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function b(){return(b=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function _(e,t){for(var n=0;n=0&&o===+o?"".concat(o,"px"):o),";");var r,o,a},"")},c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e||null===e||Object(r.m)())return{width:0,height:0};var n="".concat(e),i=s(t),l="".concat(n,"-").concat(i);if(a.widthCache[l])return a.widthCache[l];try{var c=document.getElementById("recharts_measurement_span");c||((c=document.createElement("span")).setAttribute("id","recharts_measurement_span"),document.body.appendChild(c));var f=function(e){for(var t=1;t2e3&&(a.cacheCount=0,a.widthCache={}),p}catch(h){return{width:0,height:0}}},f=function(e){var t=e.ownerDocument.documentElement,n={top:0,left:0};return"undefined"!==typeof e.getBoundingClientRect&&(n=e.getBoundingClientRect()),{top:n.top+window.pageYOffset-t.clientTop,left:n.left+window.pageXOffset-t.clientLeft}},d=function(e,t){return{chartX:Math.round(e.pageX-t.left),chartY:Math.round(e.pageY-t.top)}}},function(e,t,n){"use strict";n.r(t);var r=function(e,t){return et?1:e>=t?0:NaN},o=function(e){var t;return 1===e.length&&(t=e,e=function(e,n){return r(t(e),n)}),{left:function(t,n,r,o){for(null==r&&(r=0),null==o&&(o=t.length);r>>1;e(t[i],n)<0?r=i+1:o=i}return r},right:function(t,n,r,o){for(null==r&&(r=0),null==o&&(o=t.length);r>>1;e(t[i],n)>0?o=i:r=i+1}return r}}};var i=o(r),a=i.right,u=(i.left,a);var l=function(e){return null===e?NaN:+e},s=Array.prototype,c=(s.slice,s.map,function(e,t,n){e=+e,t=+t,n=(o=arguments.length)<2?(t=e,e=0,1):o<3?1:+n;for(var r=-1,o=0|Math.max(0,Math.ceil((t-e)/n)),i=new Array(o);++r0)return[e];if((r=t0)for(e=Math.ceil(e/a),t=Math.floor(t/a),i=new Array(o=Math.ceil(t-e+1));++u=0?(i>=f?10:i>=d?5:i>=p?2:1)*Math.pow(10,o):-Math.pow(10,-o)/(i>=f?10:i>=d?5:i>=p?2:1)}function v(e,t,n){var r=Math.abs(t-e)/Math.max(0,n),o=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),i=r/o;return i>=f?o*=10:i>=d?o*=5:i>=p&&(o*=2),t=1)return+n(e[r-1],r-1,e);var r,o=(r-1)*t,i=Math.floor(o),a=+n(e[i],i,e);return a+(+n(e[i+1],i+1,e)-a)*(o-i)}};function b(){}function g(e,t){var n=new b;if(e instanceof b)e.each(function(e,t){n.set(t,e)});else if(Array.isArray(e)){var r,o=-1,i=e.length;if(null==t)for(;++o>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):(t=L.exec(e))?G(parseInt(t[1],16)):(t=B.exec(e))?new Z(t[1],t[2],t[3],1):(t=z.exec(e))?new Z(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=W.exec(e))?$(t[1],t[2],t[3],t[4]):(t=U.exec(e))?$(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=H.exec(e))?J(t[1],t[2]/100,t[3]/100,1):(t=V.exec(e))?J(t[1],t[2]/100,t[3]/100,t[4]):Y.hasOwnProperty(e)?G(Y[e]):"transparent"===e?new Z(NaN,NaN,NaN,0):null}function G(e){return new Z(e>>16&255,e>>8&255,255&e,1)}function $(e,t,n,r){return r<=0&&(e=t=n=NaN),new Z(e,t,n,r)}function q(e){return e instanceof A||(e=K(e)),e?new Z((e=e.rgb()).r,e.g,e.b,e.opacity):new Z}function X(e,t,n,r){return 1===arguments.length?q(e):new Z(e,t,n,null==r?1:r)}function Z(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function Q(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function J(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new te(e,t,n,r)}function ee(e,t,n,r){return 1===arguments.length?function(e){if(e instanceof te)return new te(e.h,e.s,e.l,e.opacity);if(e instanceof A||(e=K(e)),!e)return new te;if(e instanceof te)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,u=i-o,l=(i+o)/2;return u?(a=t===i?(n-r)/u+6*(n0&&l<1?0:a,new te(a,u,l,e.opacity)}(e):new te(e,t,n,null==r?1:r)}function te(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function ne(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}E(A,K,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),E(Z,X,j(A,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new Z(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new Z(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+Q(this.r)+Q(this.g)+Q(this.b)},toString:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}})),E(te,ee,j(A,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new te(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new te(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new Z(ne(e>=240?e-240:e+120,o,r),ne(e,o,r),ne(e<120?e+240:e-120,o,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var re=Math.PI/180,oe=180/Math.PI,ie=.96422,ae=1,ue=.82521,le=4/29,se=6/29,ce=3*se*se,fe=se*se*se;function de(e){if(e instanceof he)return new he(e.l,e.a,e.b,e.opacity);if(e instanceof Oe){if(isNaN(e.h))return new he(e.l,0,0,e.opacity);var t=e.h*re;return new he(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}e instanceof Z||(e=q(e));var n,r,o=be(e.r),i=be(e.g),a=be(e.b),u=ye((.2225045*o+.7168786*i+.0606169*a)/ae);return o===i&&i===a?n=r=u:(n=ye((.4360747*o+.3850649*i+.1430804*a)/ie),r=ye((.0139322*o+.0971045*i+.7141733*a)/ue)),new he(116*u-16,500*(n-u),200*(u-r),e.opacity)}function pe(e,t,n,r){return 1===arguments.length?de(e):new he(e,t,n,null==r?1:r)}function he(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}function ye(e){return e>fe?Math.pow(e,1/3):e/ce+le}function ve(e){return e>se?e*e*e:ce*(e-le)}function me(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function be(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function ge(e){if(e instanceof Oe)return new Oe(e.h,e.c,e.l,e.opacity);if(e instanceof he||(e=de(e)),0===e.a&&0===e.b)return new Oe(NaN,0,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*oe;return new Oe(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function _e(e,t,n,r){return 1===arguments.length?ge(e):new Oe(e,t,n,null==r?1:r)}function Oe(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}E(he,pe,j(A,{brighter:function(e){return new he(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker:function(e){return new he(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb:function(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return new Z(me(3.1338561*(t=ie*ve(t))-1.6168667*(e=ae*ve(e))-.4906146*(n=ue*ve(n))),me(-.9787684*t+1.9161415*e+.033454*n),me(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}})),E(Oe,_e,j(A,{brighter:function(e){return new Oe(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker:function(e){return new Oe(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb:function(){return de(this).rgb()}}));var we=-.14861,xe=1.78277,ke=-.29227,Se=-.90649,Pe=1.97294,Me=Pe*Se,De=Pe*xe,Te=xe*ke-Se*we;function Ce(e,t,n,r){return 1===arguments.length?function(e){if(e instanceof Ee)return new Ee(e.h,e.s,e.l,e.opacity);e instanceof Z||(e=q(e));var t=e.r/255,n=e.g/255,r=e.b/255,o=(Te*r+Me*t-De*n)/(Te+Me-De),i=r-o,a=(Pe*(n-o)-ke*i)/Se,u=Math.sqrt(a*a+i*i)/(Pe*o*(1-o)),l=u?Math.atan2(a,i)*oe-120:NaN;return new Ee(l<0?l+360:l,u,o,e.opacity)}(e):new Ee(e,t,n,null==r?1:r)}function Ee(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function je(e,t,n,r,o){var i=e*e,a=i*e;return((1-3*e+3*i-a)*t+(4-6*i+3*a)*n+(1+3*e+3*i-3*a)*r+a*o)/6}E(Ee,Ce,j(A,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new Ee(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new Ee(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=isNaN(this.h)?0:(this.h+120)*re,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),o=Math.sin(e);return new Z(255*(t+n*(we*r+xe*o)),255*(t+n*(ke*r+Se*o)),255*(t+n*(Pe*r)),this.opacity)}}));var Ae=function(e){return function(){return e}};function Ie(e,t){return function(n){return e+n*t}}function Ne(e,t){var n=t-e;return n?Ie(e,n>180||n<-180?n-360*Math.round(n/360):n):Ae(isNaN(e)?t:e)}function Re(e){return 1===(e=+e)?Fe:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):Ae(isNaN(t)?n:t)}}function Fe(e,t){var n=t-e;return n?Ie(e,n):Ae(isNaN(e)?t:e)}var Le=function e(t){var n=Re(t);function r(e,t){var r=n((e=X(e)).r,(t=X(t)).r),o=n(e.g,t.g),i=n(e.b,t.b),a=Fe(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=o(t),e.b=i(t),e.opacity=a(t),e+""}}return r.gamma=e,r}(1);function Be(e){return function(t){var n,r,o=t.length,i=new Array(o),a=new Array(o),u=new Array(o);for(n=0;n=1?(n=1,t-1):Math.floor(n*t),o=e[r],i=e[r+1],a=r>0?e[r-1]:2*o-i,u=ri&&(o=t.slice(i,o),u[a]?u[a]+=o:u[++a]=o),(n=n[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,l.push({i:a,x:ze(n,r)})),i=Ue.lastIndex;return i180?t+=360:t-e>180&&(e+=360),i.push({i:n.push(o(n)+"rotate(",null,r)-2,x:ze(e,t)})):t&&n.push(o(n)+"rotate("+t+r)}(i.rotate,a.rotate,u,l),function(e,t,n,i){e!==t?i.push({i:n.push(o(n)+"skewX(",null,r)-2,x:ze(e,t)}):t&&n.push(o(n)+"skewX("+t+r)}(i.skewX,a.skewX,u,l),function(e,t,n,r,i,a){if(e!==n||t!==r){var u=i.push(o(i)+"scale(",null,",",null,")");a.push({i:u-4,x:ze(e,n)},{i:u-2,x:ze(t,r)})}else 1===n&&1===r||i.push(o(i)+"scale("+n+","+r+")")}(i.scaleX,i.scaleY,a.scaleX,a.scaleY,u,l),i=a=null,function(e){for(var t,n=-1,r=l.length;++n2?ut:at,r=o=null,c}function c(t){return(r||(r=n(i,a,l?function(e){return function(t,n){var r=e(t=+t,n=+n);return function(e){return e<=t?0:e>=n?1:r(e)}}}(e):e,u)))(+t)}return c.invert=function(e){return(o||(o=n(a,i,it,l?function(e){return function(t,n){var r=e(t=+t,n=+n);return function(e){return e<=0?t:e>=1?n:r(e)}}}(t):t)))(+e)},c.domain=function(e){return arguments.length?(i=S.call(e,rt),s()):i.slice()},c.range=function(e){return arguments.length?(a=P.call(e),s()):a.slice()},c.rangeRound=function(e){return a=P.call(e),u=$e,s()},c.clamp=function(e){return arguments.length?(l=!!e,s()):l},c.interpolate=function(e){return arguments.length?(u=e,s()):u},s()}var ct=function(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]},ft=function(e){return(e=ct(Math.abs(e)))?e[1]:NaN},dt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function pt(e){return new ht(e)}function ht(e){if(!(t=dt.exec(e)))throw new Error("invalid format: "+e);var t;this.fill=t[1]||" ",this.align=t[2]||">",this.sign=t[3]||"-",this.symbol=t[4]||"",this.zero=!!t[5],this.width=t[6]&&+t[6],this.comma=!!t[7],this.precision=t[8]&&+t[8].slice(1),this.trim=!!t[9],this.type=t[10]||""}pt.prototype=ht.prototype,ht.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var yt,vt,mt,bt,gt=function(e){e:for(var t,n=e.length,r=1,o=-1;r0){if(!+e[r])break e;o=0}}return o>0?e.slice(0,o)+e.slice(t+1):e},_t=function(e,t){var n=ct(e,t);if(!n)return e+"";var r=n[0],o=n[1];return o<0?"0."+new Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+new Array(o-r.length+2).join("0")},Ot={"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return Math.round(e).toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return _t(100*e,t)},r:_t,s:function(e,t){var n=ct(e,t);if(!n)return e+"";var r=n[0],o=n[1],i=o-(yt=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,a=r.length;return i===a?r:i>a?r+new Array(i-a+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+ct(e,Math.max(0,t+i-1))[0]},X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}},wt=function(e){return e},xt=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];vt=function(e){var t,n,r=e.grouping&&e.thousands?(t=e.grouping,n=e.thousands,function(e,r){for(var o=e.length,i=[],a=0,u=t[0],l=0;o>0&&u>0&&(l+u+1>r&&(u=Math.max(1,r-l)),i.push(e.substring(o-=u,o+u)),!((l+=u+1)>r));)u=t[a=(a+1)%t.length];return i.reverse().join(n)}):wt,o=e.currency,i=e.decimal,a=e.numerals?function(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}(e.numerals):wt,u=e.percent||"%";function l(e){var t=(e=pt(e)).fill,n=e.align,l=e.sign,s=e.symbol,c=e.zero,f=e.width,d=e.comma,p=e.precision,h=e.trim,y=e.type;"n"===y?(d=!0,y="g"):Ot[y]||(null==p&&(p=12),h=!0,y="g"),(c||"0"===t&&"="===n)&&(c=!0,t="0",n="=");var v="$"===s?o[0]:"#"===s&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",m="$"===s?o[1]:/[%p]/.test(y)?u:"",b=Ot[y],g=/[defgprs%]/.test(y);function _(e){var o,u,s,_=v,O=m;if("c"===y)O=b(e)+O,e="";else{var w=(e=+e)<0;if(e=b(Math.abs(e),p),h&&(e=gt(e)),w&&0===+e&&(w=!1),_=(w?"("===l?l:"-":"-"===l||"("===l?"":l)+_,O=("s"===y?xt[8+yt/3]:"")+O+(w&&"("===l?")":""),g)for(o=-1,u=e.length;++o(s=e.charCodeAt(o))||s>57){O=(46===s?i+e.slice(o+1):e.slice(o))+O,e=e.slice(0,o);break}}d&&!c&&(e=r(e,1/0));var x=_.length+e.length+O.length,k=x>1)+_+e+O+k.slice(x);break;default:e=k+_+e+O}return a(e)}return p=null==p?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,p)):Math.max(0,Math.min(20,p)),_.toString=function(){return e+""},_}return{format:l,formatPrefix:function(e,t){var n=l(((e=pt(e)).type="f",e)),r=3*Math.max(-8,Math.min(8,Math.floor(ft(t)/3))),o=Math.pow(10,-r),i=xt[8+r/3];return function(e){return n(o*e)+i}}}}({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),mt=vt.format,bt=vt.formatPrefix;var kt=function(e,t,n){var r,o=e[0],i=e[e.length-1],a=v(o,i,null==t?10:t);switch((n=pt(null==n?",f":n)).type){case"s":var u=Math.max(Math.abs(o),Math.abs(i));return null!=n.precision||isNaN(r=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(ft(t)/3)))-ft(Math.abs(e)))}(a,u))||(n.precision=r),bt(n,u);case"":case"e":case"g":case"p":case"r":null!=n.precision||isNaN(r=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,ft(t)-ft(e))+1}(a,Math.max(Math.abs(o),Math.abs(i))))||(n.precision=r-("e"===n.type));break;case"f":case"%":null!=n.precision||isNaN(r=function(e){return Math.max(0,-ft(Math.abs(e)))}(a))||(n.precision=r-2*("%"===n.type))}return mt(n)};function St(e){var t=e.domain;return e.ticks=function(e){var n=t();return h(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){return kt(t(),e,n)},e.nice=function(n){null==n&&(n=10);var r,o=t(),i=0,a=o.length-1,u=o[i],l=o[a];return l0?r=y(u=Math.floor(u/r)*r,l=Math.ceil(l/r)*r,n):r<0&&(r=y(u=Math.ceil(u*r)/r,l=Math.floor(l*r)/r,n)),r>0?(o[i]=Math.floor(u/r)*r,o[a]=Math.ceil(l/r)*r,t(o)):r<0&&(o[i]=Math.ceil(u*r)/r,o[a]=Math.floor(l*r)/r,t(o)),e},e}function Pt(){var e=st(it,ze);return e.copy=function(){return lt(e,Pt())},St(e)}function Mt(){var e=[0,1];function t(e){return+e}return t.invert=t,t.domain=t.range=function(n){return arguments.length?(e=S.call(n,rt),t):e.slice()},t.copy=function(){return Mt().domain(e)},St(t)}var Dt=function(e,t){var n,r=0,o=(e=e.slice()).length-1,i=e[r],a=e[o];return a0){for(;dl)break;v.push(f)}}else for(;d=1;--c)if(!((f=s*c)l)break;v.push(f)}}else v=h(d,p,Math.min(p-d,y)).map(o);return i?v.reverse():v},e.tickFormat=function(t,i){if(null==i&&(i=10===n?".0e":","),"function"!==typeof i&&(i=mt(i)),t===1/0)return i;null==t&&(t=10);var a=Math.max(1,n*t/e.ticks().length);return function(e){var t=e/o(Math.round(r(e)));return t*n0?n[o-1]:e[0],o=n?[r[n-1],t]:[r[a-1],r[a]]},i.copy=function(){return zt().domain([e,t]).range(o)},St(i)}function Wt(){var e=[.5],t=[0,1],n=1;function r(r){if(r<=r)return t[u(e,r,0,n)]}return r.domain=function(o){return arguments.length?(e=P.call(o),n=Math.min(e.length,t.length-1),r):e.slice()},r.range=function(o){return arguments.length?(t=P.call(o),n=Math.min(e.length,t.length-1),r):t.slice()},r.invertExtent=function(n){var r=t.indexOf(n);return[e[r-1],e[r]]},r.copy=function(){return Wt().domain(e).range(t)},r}var Ut=new Date,Ht=new Date;function Vt(e,t,n,r){function o(t){return e(t=new Date(+t)),t}return o.floor=o,o.ceil=function(n){return e(n=new Date(n-1)),t(n,1),e(n),n},o.round=function(e){var t=o(e),n=o.ceil(e);return e-t0))return u;do{u.push(a=new Date(+n)),t(n,i),e(n)}while(a=t)for(;e(t),!n(t);)t.setTime(t-1)},function(e,r){if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););})},n&&(o.count=function(t,r){return Ut.setTime(+t),Ht.setTime(+r),e(Ut),e(Ht),Math.floor(n(Ut,Ht))},o.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?o.filter(r?function(t){return r(t)%e===0}:function(t){return o.count(0,t)%e===0}):o:null}),o}var Yt=Vt(function(){},function(e,t){e.setTime(+e+t)},function(e,t){return t-e});Yt.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?Vt(function(t){t.setTime(Math.floor(t/e)*e)},function(t,n){t.setTime(+t+n*e)},function(t,n){return(n-t)/e}):Yt:null};var Kt=Yt,Gt=(Yt.range,6e4),$t=6048e5,qt=Vt(function(e){e.setTime(1e3*Math.floor(e/1e3))},function(e,t){e.setTime(+e+1e3*t)},function(e,t){return(t-e)/1e3},function(e){return e.getUTCSeconds()}),Xt=qt,Zt=(qt.range,Vt(function(e){e.setTime(Math.floor(e/Gt)*Gt)},function(e,t){e.setTime(+e+t*Gt)},function(e,t){return(t-e)/Gt},function(e){return e.getMinutes()})),Qt=Zt,Jt=(Zt.range,Vt(function(e){var t=e.getTimezoneOffset()*Gt%36e5;t<0&&(t+=36e5),e.setTime(36e5*Math.floor((+e-t)/36e5)+t)},function(e,t){e.setTime(+e+36e5*t)},function(e,t){return(t-e)/36e5},function(e){return e.getHours()})),en=Jt,tn=(Jt.range,Vt(function(e){e.setHours(0,0,0,0)},function(e,t){e.setDate(e.getDate()+t)},function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Gt)/864e5},function(e){return e.getDate()-1})),nn=tn;tn.range;function rn(e){return Vt(function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},function(e,t){e.setDate(e.getDate()+7*t)},function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Gt)/$t})}var on=rn(0),an=rn(1),un=rn(2),ln=rn(3),sn=rn(4),cn=rn(5),fn=rn(6),dn=(on.range,an.range,un.range,ln.range,sn.range,cn.range,fn.range,Vt(function(e){e.setDate(1),e.setHours(0,0,0,0)},function(e,t){e.setMonth(e.getMonth()+t)},function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())},function(e){return e.getMonth()})),pn=dn,hn=(dn.range,Vt(function(e){e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,t){e.setFullYear(e.getFullYear()+t)},function(e,t){return t.getFullYear()-e.getFullYear()},function(e){return e.getFullYear()}));hn.every=function(e){return isFinite(e=Math.floor(e))&&e>0?Vt(function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n*e)}):null};var yn=hn,vn=(hn.range,Vt(function(e){e.setUTCSeconds(0,0)},function(e,t){e.setTime(+e+t*Gt)},function(e,t){return(t-e)/Gt},function(e){return e.getUTCMinutes()})),mn=vn,bn=(vn.range,Vt(function(e){e.setUTCMinutes(0,0,0)},function(e,t){e.setTime(+e+36e5*t)},function(e,t){return(t-e)/36e5},function(e){return e.getUTCHours()})),gn=bn,_n=(bn.range,Vt(function(e){e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCDate(e.getUTCDate()+t)},function(e,t){return(t-e)/864e5},function(e){return e.getUTCDate()-1})),On=_n;_n.range;function wn(e){return Vt(function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},function(e,t){e.setUTCDate(e.getUTCDate()+7*t)},function(e,t){return(t-e)/$t})}var xn=wn(0),kn=wn(1),Sn=wn(2),Pn=wn(3),Mn=wn(4),Dn=wn(5),Tn=wn(6),Cn=(xn.range,kn.range,Sn.range,Pn.range,Mn.range,Dn.range,Tn.range,Vt(function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCMonth(e.getUTCMonth()+t)},function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())},function(e){return e.getUTCMonth()})),En=Cn,jn=(Cn.range,Vt(function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)},function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()},function(e){return e.getUTCFullYear()}));jn.every=function(e){return isFinite(e=Math.floor(e))&&e>0?Vt(function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n*e)}):null};var An=jn;jn.range;function In(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function Nn(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Rn(e){return{y:e,m:0,d:1,H:0,M:0,S:0,L:0}}var Fn,Ln,Bn,zn,Wn={"-":"",_:" ",0:"0"},Un=/^\s*\d+/,Hn=/^%/,Vn=/[\\^$*+?|[\]().{}]/g;function Yn(e,t,n){var r=e<0?"-":"",o=(r?-e:e)+"",i=o.length;return r+(i68?1900:2e3),n+r[0].length):-1}function nr(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function rr(e,t,n){var r=Un.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function or(e,t,n){var r=Un.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function ir(e,t,n){var r=Un.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function ar(e,t,n){var r=Un.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function ur(e,t,n){var r=Un.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function lr(e,t,n){var r=Un.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function sr(e,t,n){var r=Un.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function cr(e,t,n){var r=Un.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function fr(e,t,n){var r=Hn.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function dr(e,t,n){var r=Un.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function pr(e,t,n){var r=Un.exec(t.slice(n));return r?(e.Q=1e3*+r[0],n+r[0].length):-1}function hr(e,t){return Yn(e.getDate(),t,2)}function yr(e,t){return Yn(e.getHours(),t,2)}function vr(e,t){return Yn(e.getHours()%12||12,t,2)}function mr(e,t){return Yn(1+nn.count(yn(e),e),t,3)}function br(e,t){return Yn(e.getMilliseconds(),t,3)}function gr(e,t){return br(e,t)+"000"}function _r(e,t){return Yn(e.getMonth()+1,t,2)}function Or(e,t){return Yn(e.getMinutes(),t,2)}function wr(e,t){return Yn(e.getSeconds(),t,2)}function xr(e){var t=e.getDay();return 0===t?7:t}function kr(e,t){return Yn(on.count(yn(e),e),t,2)}function Sr(e,t){var n=e.getDay();return e=n>=4||0===n?sn(e):sn.ceil(e),Yn(sn.count(yn(e),e)+(4===yn(e).getDay()),t,2)}function Pr(e){return e.getDay()}function Mr(e,t){return Yn(an.count(yn(e),e),t,2)}function Dr(e,t){return Yn(e.getFullYear()%100,t,2)}function Tr(e,t){return Yn(e.getFullYear()%1e4,t,4)}function Cr(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Yn(t/60|0,"0",2)+Yn(t%60,"0",2)}function Er(e,t){return Yn(e.getUTCDate(),t,2)}function jr(e,t){return Yn(e.getUTCHours(),t,2)}function Ar(e,t){return Yn(e.getUTCHours()%12||12,t,2)}function Ir(e,t){return Yn(1+On.count(An(e),e),t,3)}function Nr(e,t){return Yn(e.getUTCMilliseconds(),t,3)}function Rr(e,t){return Nr(e,t)+"000"}function Fr(e,t){return Yn(e.getUTCMonth()+1,t,2)}function Lr(e,t){return Yn(e.getUTCMinutes(),t,2)}function Br(e,t){return Yn(e.getUTCSeconds(),t,2)}function zr(e){var t=e.getUTCDay();return 0===t?7:t}function Wr(e,t){return Yn(xn.count(An(e),e),t,2)}function Ur(e,t){var n=e.getUTCDay();return e=n>=4||0===n?Mn(e):Mn.ceil(e),Yn(Mn.count(An(e),e)+(4===An(e).getUTCDay()),t,2)}function Hr(e){return e.getUTCDay()}function Vr(e,t){return Yn(kn.count(An(e),e),t,2)}function Yr(e,t){return Yn(e.getUTCFullYear()%100,t,2)}function Kr(e,t){return Yn(e.getUTCFullYear()%1e4,t,4)}function Gr(){return"+0000"}function $r(){return"%"}function qr(e){return+e}function Xr(e){return Math.floor(+e/1e3)}!function(e){Fn=function(e){var t=e.dateTime,n=e.date,r=e.time,o=e.periods,i=e.days,a=e.shortDays,u=e.months,l=e.shortMonths,s=Gn(o),c=$n(o),f=Gn(i),d=$n(i),p=Gn(a),h=$n(a),y=Gn(u),v=$n(u),m=Gn(l),b=$n(l),g={a:function(e){return a[e.getDay()]},A:function(e){return i[e.getDay()]},b:function(e){return l[e.getMonth()]},B:function(e){return u[e.getMonth()]},c:null,d:hr,e:hr,f:gr,H:yr,I:vr,j:mr,L:br,m:_r,M:Or,p:function(e){return o[+(e.getHours()>=12)]},Q:qr,s:Xr,S:wr,u:xr,U:kr,V:Sr,w:Pr,W:Mr,x:null,X:null,y:Dr,Y:Tr,Z:Cr,"%":$r},_={a:function(e){return a[e.getUTCDay()]},A:function(e){return i[e.getUTCDay()]},b:function(e){return l[e.getUTCMonth()]},B:function(e){return u[e.getUTCMonth()]},c:null,d:Er,e:Er,f:Rr,H:jr,I:Ar,j:Ir,L:Nr,m:Fr,M:Lr,p:function(e){return o[+(e.getUTCHours()>=12)]},Q:qr,s:Xr,S:Br,u:zr,U:Wr,V:Ur,w:Hr,W:Vr,x:null,X:null,y:Yr,Y:Kr,Z:Gr,"%":$r},O={a:function(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=h[r[0].toLowerCase()],n+r[0].length):-1},A:function(e,t,n){var r=f.exec(t.slice(n));return r?(e.w=d[r[0].toLowerCase()],n+r[0].length):-1},b:function(e,t,n){var r=m.exec(t.slice(n));return r?(e.m=b[r[0].toLowerCase()],n+r[0].length):-1},B:function(e,t,n){var r=y.exec(t.slice(n));return r?(e.m=v[r[0].toLowerCase()],n+r[0].length):-1},c:function(e,n,r){return k(e,t,n,r)},d:or,e:or,f:cr,H:ar,I:ar,j:ir,L:sr,m:rr,M:ur,p:function(e,t,n){var r=s.exec(t.slice(n));return r?(e.p=c[r[0].toLowerCase()],n+r[0].length):-1},Q:dr,s:pr,S:lr,u:Xn,U:Zn,V:Qn,w:qn,W:Jn,x:function(e,t,r){return k(e,n,t,r)},X:function(e,t,n){return k(e,r,t,n)},y:tr,Y:er,Z:nr,"%":fr};function w(e,t){return function(n){var r,o,i,a=[],u=-1,l=0,s=e.length;for(n instanceof Date||(n=new Date(+n));++u53)return null;"w"in i||(i.w=1),"Z"in i?(o=(r=Nn(Rn(i.y))).getUTCDay(),r=o>4||0===o?kn.ceil(r):kn(r),r=On.offset(r,7*(i.V-1)),i.y=r.getUTCFullYear(),i.m=r.getUTCMonth(),i.d=r.getUTCDate()+(i.w+6)%7):(o=(r=t(Rn(i.y))).getDay(),r=o>4||0===o?an.ceil(r):an(r),r=nn.offset(r,7*(i.V-1)),i.y=r.getFullYear(),i.m=r.getMonth(),i.d=r.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),o="Z"in i?Nn(Rn(i.y)).getUTCDay():t(Rn(i.y)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(o+5)%7:i.w+7*i.U-(o+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,Nn(i)):t(i)}}function k(e,t,n,r){for(var o,i,a=0,u=t.length,l=n.length;a=l)return-1;if(37===(o=t.charCodeAt(a++))){if(o=t.charAt(a++),!(i=O[o in Wn?t.charAt(a++):o])||(r=i(e,n,r))<0)return-1}else if(o!=n.charCodeAt(r++))return-1}return r}return g.x=w(n,g),g.X=w(r,g),g.c=w(t,g),_.x=w(n,_),_.X=w(r,_),_.c=w(t,_),{format:function(e){var t=w(e+="",g);return t.toString=function(){return e},t},parse:function(e){var t=x(e+="",In);return t.toString=function(){return e},t},utcFormat:function(e){var t=w(e+="",_);return t.toString=function(){return e},t},utcParse:function(e){var t=x(e,Nn);return t.toString=function(){return e},t}}}(e),Ln=Fn.format,Fn.parse,Bn=Fn.utcFormat,zn=Fn.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Date.prototype.toISOString||Bn("%Y-%m-%dT%H:%M:%S.%LZ");+new Date("2000-01-01T00:00:00.000Z")||zn("%Y-%m-%dT%H:%M:%S.%LZ");var Zr=1e3,Qr=60*Zr,Jr=60*Qr,eo=24*Jr,to=7*eo,no=30*eo,ro=365*eo;function oo(e){return new Date(e)}function io(e){return e instanceof Date?+e:+new Date(+e)}function ao(e,t,n,r,i,a,u,l,s){var c=st(it,ze),f=c.invert,d=c.domain,p=s(".%L"),h=s(":%S"),y=s("%I:%M"),m=s("%I %p"),b=s("%a %d"),g=s("%b %d"),_=s("%B"),O=s("%Y"),w=[[u,1,Zr],[u,5,5*Zr],[u,15,15*Zr],[u,30,30*Zr],[a,1,Qr],[a,5,5*Qr],[a,15,15*Qr],[a,30,30*Qr],[i,1,Jr],[i,3,3*Jr],[i,6,6*Jr],[i,12,12*Jr],[r,1,eo],[r,2,2*eo],[n,1,to],[t,1,no],[t,3,3*no],[e,1,ro]];function x(o){return(u(o)-1?e[n]:void 0},t.createChainedFunction=function(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:0,n=-1;c()(function r(o){n<0&&(n=o),o-n>t?(e(o),n=-1):c()(r)})}function d(e){return(d="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e){return function(e){if(Array.isArray(e))return e}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function h(){var e=function(){return null},t=!1;return{stop:function(){t=!0},start:function(n){t=!1,function n(r){if(!t){if(Array.isArray(r)){if(!r.length)return;var o=p(r),i=o[0],a=o.slice(1);return"number"===typeof i?void f(n.bind(null,a),i):(n(i),void f(n.bind(null,a)))}"object"===d(r)&&e(r),"function"===typeof r&&r()}}(n)},subscribe:function(t){return e=t,function(){e=function(){return null}}}}}var y=n(96),v=n.n(y),m=n(13),b=n.n(m);function g(e){return(g="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _(e,t){if(e===t)return!0;if("object"!==g(e)||null===e||"object"!==g(t)||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var i=hasOwnProperty.bind(t),a=0;a=0&&e<=1});var u,l,s=F(r,i),c=F(o,a),f=(u=r,l=i,function(e){var t=I(N(u,l).map(function(e,t){return e*t}).slice(1)).concat([0]);return R(t,e)}),d=function(e){for(var t,n=e>1?1:e,r=n,o=0;o<8;++o){var i=s(r)-n,a=f(r);if(Math.abs(i-n)<1e-4||a<1e-4)return c(r);r=(t=r-i/a)>1?1:t<0?0:t}return c(r)};return d.isStepper=!1,d},B=function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=e.stiff,n=void 0===t?100:t,r=e.damping,o=void 0===r?8:r,i=e.dt,a=void 0===i?17:i,u=function(e,t,r){var i=r+(-(e-t)*n-r*o)*a/1e3,u=r*a/1e3+e;return Math.abs(u-t)<1e-4&&Math.abs(i)<1e-4?[t,0]:[u,i]};return u.isStepper=!0,u.dt=a,u}()}return"function"===typeof r?r:null},z=n(295),W=n.n(z);function U(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ee(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0?n[o-1]:r,d=s||Object.keys(l);if("function"===typeof u||"spring"===u)return ee(e).concat([t.runJSAnimation.bind(t,{from:f.style,to:l,duration:i,easing:u}),i]);var p=A(d,i,u),h=te({},f.style,l,{transition:p});return ee(e).concat([h,i,c]).filter(C)},[a,Math.max(l,r)])),[e.onAnimationEnd]))}},{key:"runAnimation",value:function(e){this.manager||(this.manager=h());var t=e.begin,n=e.duration,r=e.attributeName,o=e.to,i=e.easing,a=e.onAnimationStart,u=e.onAnimationEnd,l=e.steps,s=e.children,c=this.manager;if(this.unSubscribe=c.subscribe(this.handleStyleChange),"function"!==typeof i&&"function"!==typeof s&&"spring"!==i)if(l.length>1)this.runStepAnimation(e);else{var f=r?ne({},r,o):o,d=A(Object.keys(f),n,i);c.start([a,t,te({},f,{transition:d}),n,u])}else this.runJSAnimation(e)}},{key:"handleStyleChange",value:function(e){this.changeStyle(e)}},{key:"changeStyle",value:function(e){this.mounted&&this.setState({style:e})}},{key:"render",value:function(){var e=this.props,t=e.children,n=(e.begin,e.duration,e.attributeName,e.easing,e.isActive),r=(e.steps,e.from,e.to,e.canBegin,e.onAnimationEnd,e.shouldReAnimate,e.onAnimationReStart,J(e,["children","begin","duration","attributeName","easing","isActive","steps","from","to","canBegin","onAnimationEnd","shouldReAnimate","onAnimationReStart"])),o=i.Children.count(t),u=j(this.state.style);if("function"===typeof t)return t(u);if(!n||0===o)return t;var l=function(e){var t=e.props,n=t.style,o=void 0===n?{}:n,a=t.className;return Object(i.cloneElement)(e,te({},r,{style:te({},o,u),className:a}))};return 1===o?l(i.Children.only(t)):a.a.createElement("div",null,i.Children.map(t,function(e){return l(e)}))}}])&&re(n.prototype,r),u&&re(n,u),t}(),G.displayName="Animate",G.propTypes={from:l.a.oneOfType([l.a.object,l.a.string]),to:l.a.oneOfType([l.a.object,l.a.string]),attributeName:l.a.string,duration:l.a.number,begin:l.a.number,easing:l.a.oneOfType([l.a.string,l.a.func]),steps:l.a.arrayOf(l.a.shape({duration:l.a.number.isRequired,style:l.a.object.isRequired,easing:l.a.oneOfType([l.a.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),l.a.func]),properties:l.a.arrayOf("string"),onAnimationEnd:l.a.func})),children:l.a.oneOfType([l.a.node,l.a.func]),isActive:l.a.bool,canBegin:l.a.bool,onAnimationEnd:l.a.func,shouldReAnimate:l.a.bool,onAnimationStart:l.a.func,onAnimationReStart:l.a.func},G.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}},K=$))||K,se=n(136),ce=n(76),fe=n.n(ce);function de(e){return(de="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function pe(){return(pe=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ye(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ve(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=e.steps,n=e.duration;return t&&t.length?t.reduce(function(e,t){return e+(fe()(t.duration)&&t.duration>0?t.duration:0)},0):fe()(n)?n:0},Oe=function(e){function t(){var e,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,o=new Array(r),i=0;i2?arguments[2]:{},i=r(t);o&&(i=a.call(i,Object.getOwnPropertySymbols(t)));for(var u=0;u=0||(o[n]=e[n]);return o}(t,["children"]);if(delete r.in,delete r.mountOnEnter,delete r.unmountOnExit,delete r.appear,delete r.enter,delete r.exit,delete r.timeout,delete r.addEndListener,delete r.onEnter,delete r.onEntering,delete r.onEntered,delete r.onExit,delete r.onExiting,delete r.onExited,"function"===typeof n)return n(e,r);var i=o.default.Children.only(n);return o.default.cloneElement(i,r)},r}(o.default.Component);function p(){}d.contextTypes={transitionGroup:r.object},d.childContextTypes={transitionGroup:function(){}},d.propTypes={},d.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:p,onEntering:p,onEntered:p,onExit:p,onExiting:p,onExited:p},d.UNMOUNTED=0,d.EXITED=1,d.ENTERING=2,d.ENTERED=3,d.EXITING=4;var h=(0,a.polyfill)(d);t.default=h},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(581))},function(e,t,n){var r=n(76);e.exports=function(e){return r(e)&&e!=+e}},function(e,t,n){"use strict";var r=n(1),o=n.n(r),i=n(0),a=n.n(i),u=n(5),l=n.n(u),s=n(3);function c(){return(c=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var d={width:a.a.number.isRequired,height:a.a.number.isRequired,viewBox:a.a.shape({x:a.a.number,y:a.a.number,width:a.a.number,height:a.a.number}),className:a.a.string,style:a.a.object,children:a.a.oneOfType([a.a.arrayOf(a.a.node),a.a.node])};function p(e){var t=e.children,n=e.width,r=e.height,i=e.viewBox,a=e.className,u=e.style,d=f(e,["children","width","height","viewBox","className","style"]),p=i||{width:n,height:r,x:0,y:0},h=l()("recharts-surface",a),y=Object(s.j)(d);return o.a.createElement("svg",c({},y,{className:h,width:n,height:r,style:u,viewBox:"".concat(p.x," ").concat(p.y," ").concat(p.width," ").concat(p.height),version:"1.1"}),t)}p.propTypes=d,t.a=p},function(e,t,n){var r=n(52),o=n(546),i=n(47),a="[object Object]",u=Function.prototype,l=Object.prototype,s=u.toString,c=l.hasOwnProperty,f=s.call(Object);e.exports=function(e){if(!i(e)||r(e)!=a)return!1;var t=o(e);if(null===t)return!0;var n=c.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&s.call(n)==f}},function(e,t,n){"use strict";var r,o,i,a=n(13),u=n.n(a),l=n(6),s=n.n(l),c=n(1),f=n.n(c),d=n(0),p=n.n(d),h=n(16),y=n(5),v=n.n(y),m=n(11),b=n(3),g=n(2);function _(e){return(_="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function O(){return(O=Object.assign||function(e){for(var t=1;t180),",").concat(+(i>u),",\n ").concat(s.x,",").concat(s.y,"\n ");if(r>0){var f=Object(h.e)(t,n,r,i),d=Object(h.e)(t,n,r,u);c+="L ".concat(d.x,",").concat(d.y,"\n A ").concat(r,",").concat(r,",0,\n ").concat(+(Math.abs(a)>180),",").concat(+(i<=u),",\n ").concat(f.x,",").concat(f.y," Z")}else c+="L ".concat(t,",").concat(n," Z");return c},S=Object(d.a)((i=o=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),_(this,O(t).apply(this,arguments))}var n,r,o;return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&w(e,t)}(t,a["Component"]),n=t,(r=[{key:"render",value:function(){var e=this.props,t=e.cx,n=e.cy,r=e.innerRadius,o=e.outerRadius,i=e.cornerRadius,a=e.startAngle,l=e.endAngle,s=e.className;if(o0&&Math.abs(a-l)<360?function(e){var t=e.cx,n=e.cy,r=e.innerRadius,o=e.outerRadius,i=e.cornerRadius,a=e.startAngle,u=e.endAngle,l=Object(y.i)(u-a),s=x({cx:t,cy:n,radius:o,angle:a,sign:l,cornerRadius:i}),c=s.circleTangency,f=s.lineTangency,d=s.theta,p=x({cx:t,cy:n,radius:o,angle:u,sign:-l,cornerRadius:i}),h=p.circleTangency,v=p.lineTangency,m=p.theta,b=Math.abs(a-u)-d-m;if(b<0)return k({cx:t,cy:n,innerRadius:r,outerRadius:o,startAngle:a,endAngle:u});var g="M ".concat(f.x,",").concat(f.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(l<0),",").concat(c.x,",").concat(c.y,"\n A").concat(o,",").concat(o,",0,").concat(+(b>180),",").concat(+(l<0),",").concat(h.x,",").concat(h.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(l<0),",").concat(v.x,",").concat(v.y,"\n ");if(r>0){var _=x({cx:t,cy:n,radius:r,angle:a,sign:l,isExternal:!0,cornerRadius:i}),O=_.circleTangency,w=_.lineTangency,S=_.theta,P=x({cx:t,cy:n,radius:r,angle:u,sign:-l,isExternal:!0,cornerRadius:i}),M=P.circleTangency,D=P.lineTangency,T=P.theta,C=Math.abs(a-u)-S-T;if(C<0)return"".concat(g,"L").concat(t,",").concat(n,"Z");g+="L".concat(D.x,",").concat(D.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(l<0),",").concat(M.x,",").concat(M.y,"\n A").concat(r,",").concat(r,",0,").concat(+(C>180),",").concat(+(l>0),",").concat(O.x,",").concat(O.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(l<0),",").concat(w.x,",").concat(w.y,"Z")}else g+="L".concat(t,",").concat(n,"Z");return g}({cx:t,cy:n,innerRadius:r,outerRadius:o,cornerRadius:Math.min(v,h/2),startAngle:a,endAngle:l}):k({cx:t,cy:n,innerRadius:r,outerRadius:o,startAngle:a,endAngle:l}),u.a.createElement("path",b({},Object(p.j)(this.props),Object(p.e)(this.props),{className:d,d:c}))}}])&&g(n.prototype,r),o&&g(n,o),t}(),o.displayName="Sector",o.propTypes=function(e){for(var t=1;t=0&&n>=0?{width:t,height:n}:null}},{key:"getDefaultPosition",value:function(e){var t,n,r=this.props,o=r.layout,i=r.align,a=r.verticalAlign,u=r.margin,l=r.chartWidth,s=r.chartHeight;e&&(void 0!==e.left&&null!==e.left||void 0!==e.right&&null!==e.right)||(t="center"===i&&"vertical"===o?{left:((l||0)-(this.getBBox()||{width:0}).width)/2}:"right"===i?{right:u&&u.right||0}:{left:u&&u.left||0});e&&(void 0!==e.top&&null!==e.top||void 0!==e.bottom&&null!==e.bottom)||(n="middle"===a?{top:((s||0)-(this.getBBox()||{height:0}).height)/2}:"bottom"===a?{bottom:u&&u.bottom||0}:{top:u&&u.top||0});return Y({},t,n)}},{key:"updateBBox",value:function(){var e=this.state,t=e.boxWidth,n=e.boxHeight,r=this.props.onBBoxUpdate;if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var o=this.wrapperNode.getBoundingClientRect();(Math.abs(o.width-t)>1||Math.abs(o.height-n)>1)&&this.setState({boxWidth:o.width,boxHeight:o.height},function(){r&&r(o)})}else-1===t&&-1===n||this.setState({boxWidth:-1,boxHeight:-1},function(){r&&r(null)})}},{key:"render",value:function(){var e=this,t=this.props,n=t.content,r=t.width,o=t.height,i=t.wrapperStyle,a=Y({position:"absolute",width:r||"auto",height:o||"auto"},this.getDefaultPosition(i),i);return s.a.createElement("div",{className:"recharts-legend-wrapper",style:a,ref:function(t){e.wrapperNode=t}},function(e,t){return s.a.isValidElement(e)?s.a.cloneElement(e,t):u()(e)?e(t):s.a.createElement(U,t)}(n,this.props))}}])&&G(n.prototype,r),o&&G(n,o),t}(),B.displayName="Legend",B.propTypes={content:f.a.oneOfType([f.a.element,f.a.func]),wrapperStyle:f.a.object,chartWidth:f.a.number,chartHeight:f.a.number,width:f.a.number,height:f.a.number,iconSize:f.a.number,iconType:f.a.oneOf(Z),layout:f.a.oneOf(["horizontal","vertical"]),align:f.a.oneOf(["center","left","right"]),verticalAlign:f.a.oneOf(["top","bottom","middle"]),margin:f.a.shape({top:f.a.number,left:f.a.number,bottom:f.a.number,right:f.a.number}),payload:f.a.arrayOf(f.a.shape({value:f.a.any,id:f.a.any,type:f.a.oneOf(m.b)})),formatter:f.a.func,onMouseEnter:f.a.func,onMouseLeave:f.a.func,onClick:f.a.func,onBBoxUpdate:f.a.func},B.defaultProps={iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"},L=z))||L;t.a=Q},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(661))},function(e,t,n){"use strict";var r=Object.getOwnPropertyDescriptor?function(){return Object.getOwnPropertyDescriptor(arguments,"callee").get}():function(){throw new TypeError},o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator,i=Object.getPrototypeOf||function(e){return e.__proto__},a=void 0,u="undefined"===typeof Uint8Array?void 0:i(Uint8Array),l={"$ %Array%":Array,"$ %ArrayBuffer%":"undefined"===typeof ArrayBuffer?void 0:ArrayBuffer,"$ %ArrayBufferPrototype%":"undefined"===typeof ArrayBuffer?void 0:ArrayBuffer.prototype,"$ %ArrayIteratorPrototype%":o?i([][Symbol.iterator]()):void 0,"$ %ArrayPrototype%":Array.prototype,"$ %ArrayProto_entries%":Array.prototype.entries,"$ %ArrayProto_forEach%":Array.prototype.forEach,"$ %ArrayProto_keys%":Array.prototype.keys,"$ %ArrayProto_values%":Array.prototype.values,"$ %AsyncFromSyncIteratorPrototype%":void 0,"$ %AsyncFunction%":void 0,"$ %AsyncFunctionPrototype%":void 0,"$ %AsyncGenerator%":void 0,"$ %AsyncGeneratorFunction%":void 0,"$ %AsyncGeneratorPrototype%":void 0,"$ %AsyncIteratorPrototype%":a&&o&&Symbol.asyncIterator?a[Symbol.asyncIterator]():void 0,"$ %Atomics%":"undefined"===typeof Atomics?void 0:Atomics,"$ %Boolean%":Boolean,"$ %BooleanPrototype%":Boolean.prototype,"$ %DataView%":"undefined"===typeof DataView?void 0:DataView,"$ %DataViewPrototype%":"undefined"===typeof DataView?void 0:DataView.prototype,"$ %Date%":Date,"$ %DatePrototype%":Date.prototype,"$ %decodeURI%":decodeURI,"$ %decodeURIComponent%":decodeURIComponent,"$ %encodeURI%":encodeURI,"$ %encodeURIComponent%":encodeURIComponent,"$ %Error%":Error,"$ %ErrorPrototype%":Error.prototype,"$ %eval%":eval,"$ %EvalError%":EvalError,"$ %EvalErrorPrototype%":EvalError.prototype,"$ %Float32Array%":"undefined"===typeof Float32Array?void 0:Float32Array,"$ %Float32ArrayPrototype%":"undefined"===typeof Float32Array?void 0:Float32Array.prototype,"$ %Float64Array%":"undefined"===typeof Float64Array?void 0:Float64Array,"$ %Float64ArrayPrototype%":"undefined"===typeof Float64Array?void 0:Float64Array.prototype,"$ %Function%":Function,"$ %FunctionPrototype%":Function.prototype,"$ %Generator%":void 0,"$ %GeneratorFunction%":void 0,"$ %GeneratorPrototype%":void 0,"$ %Int8Array%":"undefined"===typeof Int8Array?void 0:Int8Array,"$ %Int8ArrayPrototype%":"undefined"===typeof Int8Array?void 0:Int8Array.prototype,"$ %Int16Array%":"undefined"===typeof Int16Array?void 0:Int16Array,"$ %Int16ArrayPrototype%":"undefined"===typeof Int16Array?void 0:Int8Array.prototype,"$ %Int32Array%":"undefined"===typeof Int32Array?void 0:Int32Array,"$ %Int32ArrayPrototype%":"undefined"===typeof Int32Array?void 0:Int32Array.prototype,"$ %isFinite%":isFinite,"$ %isNaN%":isNaN,"$ %IteratorPrototype%":o?i(i([][Symbol.iterator]())):void 0,"$ %JSON%":JSON,"$ %JSONParse%":JSON.parse,"$ %Map%":"undefined"===typeof Map?void 0:Map,"$ %MapIteratorPrototype%":"undefined"!==typeof Map&&o?i((new Map)[Symbol.iterator]()):void 0,"$ %MapPrototype%":"undefined"===typeof Map?void 0:Map.prototype,"$ %Math%":Math,"$ %Number%":Number,"$ %NumberPrototype%":Number.prototype,"$ %Object%":Object,"$ %ObjectPrototype%":Object.prototype,"$ %ObjProto_toString%":Object.prototype.toString,"$ %ObjProto_valueOf%":Object.prototype.valueOf,"$ %parseFloat%":parseFloat,"$ %parseInt%":parseInt,"$ %Promise%":"undefined"===typeof Promise?void 0:Promise,"$ %PromisePrototype%":"undefined"===typeof Promise?void 0:Promise.prototype,"$ %PromiseProto_then%":"undefined"===typeof Promise?void 0:Promise.prototype.then,"$ %Promise_all%":"undefined"===typeof Promise?void 0:Promise.all,"$ %Promise_reject%":"undefined"===typeof Promise?void 0:Promise.reject,"$ %Promise_resolve%":"undefined"===typeof Promise?void 0:Promise.resolve,"$ %Proxy%":"undefined"===typeof Proxy?void 0:Proxy,"$ %RangeError%":RangeError,"$ %RangeErrorPrototype%":RangeError.prototype,"$ %ReferenceError%":ReferenceError,"$ %ReferenceErrorPrototype%":ReferenceError.prototype,"$ %Reflect%":"undefined"===typeof Reflect?void 0:Reflect,"$ %RegExp%":RegExp,"$ %RegExpPrototype%":RegExp.prototype,"$ %Set%":"undefined"===typeof Set?void 0:Set,"$ %SetIteratorPrototype%":"undefined"!==typeof Set&&o?i((new Set)[Symbol.iterator]()):void 0,"$ %SetPrototype%":"undefined"===typeof Set?void 0:Set.prototype,"$ %SharedArrayBuffer%":"undefined"===typeof SharedArrayBuffer?void 0:SharedArrayBuffer,"$ %SharedArrayBufferPrototype%":"undefined"===typeof SharedArrayBuffer?void 0:SharedArrayBuffer.prototype,"$ %String%":String,"$ %StringIteratorPrototype%":o?i(""[Symbol.iterator]()):void 0,"$ %StringPrototype%":String.prototype,"$ %Symbol%":o?Symbol:void 0,"$ %SymbolPrototype%":o?Symbol.prototype:void 0,"$ %SyntaxError%":SyntaxError,"$ %SyntaxErrorPrototype%":SyntaxError.prototype,"$ %ThrowTypeError%":r,"$ %TypedArray%":u,"$ %TypedArrayPrototype%":u?u.prototype:void 0,"$ %TypeError%":TypeError,"$ %TypeErrorPrototype%":TypeError.prototype,"$ %Uint8Array%":"undefined"===typeof Uint8Array?void 0:Uint8Array,"$ %Uint8ArrayPrototype%":"undefined"===typeof Uint8Array?void 0:Uint8Array.prototype,"$ %Uint8ClampedArray%":"undefined"===typeof Uint8ClampedArray?void 0:Uint8ClampedArray,"$ %Uint8ClampedArrayPrototype%":"undefined"===typeof Uint8ClampedArray?void 0:Uint8ClampedArray.prototype,"$ %Uint16Array%":"undefined"===typeof Uint16Array?void 0:Uint16Array,"$ %Uint16ArrayPrototype%":"undefined"===typeof Uint16Array?void 0:Uint16Array.prototype,"$ %Uint32Array%":"undefined"===typeof Uint32Array?void 0:Uint32Array,"$ %Uint32ArrayPrototype%":"undefined"===typeof Uint32Array?void 0:Uint32Array.prototype,"$ %URIError%":URIError,"$ %URIErrorPrototype%":URIError.prototype,"$ %WeakMap%":"undefined"===typeof WeakMap?void 0:WeakMap,"$ %WeakMapPrototype%":"undefined"===typeof WeakMap?void 0:WeakMap.prototype,"$ %WeakSet%":"undefined"===typeof WeakSet?void 0:WeakSet,"$ %WeakSetPrototype%":"undefined"===typeof WeakSet?void 0:WeakSet.prototype};e.exports=function(e,t){if(arguments.length>1&&"boolean"!==typeof t)throw new TypeError('"allowMissing" argument must be a boolean');var n="$ "+e;if(!(n in l))throw new SyntaxError("intrinsic "+e+" does not exist!");if("undefined"===typeof l[n]&&!t)throw new TypeError("intrinsic "+e+" exists, but is not available. Please file an issue!");return l[n]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(0))&&r.__esModule?r:{default:r};function i(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t2?n-2:0),a=2;a1&&void 0!==arguments[1]&&arguments[1];if(!Array.isArray(e))return e;var n="";if(Array.isArray(e[0]))for(var o=0;o0&&void 0!==arguments[0]?arguments[0]:"unnamed",t=arguments[1],n=arguments[2],a=n.jss,u=(0,i.default)(t),l=a.plugins.onCreateRule(e,u,n);if(l)return l;"@"===e[0]&&(0,r.default)(!1,"[JSS] Unknown at-rule %s",e);return new o.default(e,u,n)};var r=a(n(67)),o=a(n(68)),i=a(n(394));function a(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";n.r(t),n.d(t,"isBrowser",function(){return o});var r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o="object"===("undefined"===typeof window?"undefined":r(window))&&"object"===("undefined"===typeof document?"undefined":r(document))&&9===document.nodeType;t.default=o},function(e,t,n){e.exports=function(){"use strict";var e=function(e){return function(e){return!!e&&"object"===typeof e}(e)&&!function(e){var n=Object.prototype.toString.call(e);return"[object RegExp]"===n||"[object Date]"===n||function(e){return e.$$typeof===t}(e)}(e)},t="function"===typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?o((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function r(e,t,r){return e.concat(t).map(function(e){return n(e,r)})}function o(t,i,a){(a=a||{}).arrayMerge=a.arrayMerge||r,a.isMergeableObject=a.isMergeableObject||e;var u=Array.isArray(i),l=Array.isArray(t),s=u===l;return s?u?a.arrayMerge(t,i,a):function(e,t,r){var i={};return r.isMergeableObject(e)&&Object.keys(e).forEach(function(t){i[t]=n(e[t],r)}),Object.keys(t).forEach(function(a){r.isMergeableObject(t[a])&&e[a]?i[a]=o(e[a],t[a],r):i[a]=n(t[a],r)}),i}(t,i,a):n(i,a)}return o.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(e,n){return o(e,n,t)},{})},o}()},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),t.convertHexToRGB=i,t.rgbToHex=function(e){if(0===e.indexOf("#"))return e;var t=a(e).values;return t=t.map(function(e){return function(e){var t=e.toString(16);return 1===t.length?"0".concat(t):t}(e)}),"#".concat(t.join(""))},t.decomposeColor=a,t.recomposeColor=u,t.getContrastRatio=function(e,t){var n=l(e),r=l(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)},t.getLuminance=l,t.emphasize=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15;return l(e)>.5?s(e,t):c(e,t)},t.fade=function(e,t){if(!e)return e;e=a(e),t=o(t),("rgb"===e.type||"hsl"===e.type)&&(e.type+="a");return e.values[3]=t,u(e)},t.darken=s,t.lighten=c;r(n(27));function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return en?n:e}function i(e){e=e.substr(1);var t=new RegExp(".{1,".concat(e.length/3,"}"),"g"),n=e.match(t);return n&&1===n[0].length&&(n=n.map(function(e){return e+e})),n?"rgb(".concat(n.map(function(e){return parseInt(e,16)}).join(", "),")"):""}function a(e){if("#"===e.charAt(0))return a(i(e));var t=e.indexOf("("),n=e.substring(0,t),r=e.substring(t+1,e.length-1).split(",");return{type:n,values:r=r.map(function(e){return parseFloat(e)})}}function u(e){var t=e.type,n=e.values;return-1!==t.indexOf("rgb")&&(n=n.map(function(e,t){return t<3?parseInt(e,10):e})),-1!==t.indexOf("hsl")&&(n[1]="".concat(n[1],"%"),n[2]="".concat(n[2],"%")),"".concat(e.type,"(").concat(n.join(", "),")")}function l(e){var t=a(e);if(-1!==t.type.indexOf("rgb")){var n=t.values.map(function(e){return(e/=255)<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)});return Number((.2126*n[0]+.7152*n[1]+.0722*n[2]).toFixed(3))}return t.values[2]/100}function s(e,t){if(!e)return e;if(e=a(e),t=o(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb"))for(var n=0;n<3;n+=1)e.values[n]*=1-t;return u(e)}function c(e,t){if(!e)return e;if(e=a(e),t=o(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(var n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;return u(e)}},function(e,t,n){var r=n(239),o=n(456)(r);e.exports=o},function(e,t,n){var r=n(447),o=n(453),i=n(69);e.exports=function(e){return i(e)?r(e):o(e)}},function(e,t,n){var r=n(459),o=n(460),i=n(461),a=n(462),u=n(463);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t1&&a(e,t[0],t[1])?t=[]:n>2&&a(t[0],t[1],t[2])&&(t=[t[0]]),o(e,r(t,1),[])});e.exports=u},function(e,t,n){"use strict";var r,o,i,a=n(1),u=n.n(a),l=n(0),s=n.n(l),c=n(5),f=n.n(c),d=n(54),p=n(11),h=n(3);function y(e){return(y="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function v(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(){return(m=Object.assign||function(e){for(var t=1;t=0?1:-1,l=r>=0?1:0;if(a>0&&o instanceof Array){for(var s=[],c=0;c<4;c++)s[c]=o[c]>a?a:o[c];i="M".concat(e,",").concat(t+u*s[0]),s[0]>0&&(i+="A ".concat(s[0],",").concat(s[0],",0,0,").concat(l,",").concat(e+s[0],",").concat(t)),i+="L ".concat(e+n-s[1],",").concat(t),s[1]>0&&(i+="A ".concat(s[1],",").concat(s[1],",0,0,").concat(l,",\n ").concat(e+n,",").concat(t+u*s[1])),i+="L ".concat(e+n,",").concat(t+r-u*s[2]),s[2]>0&&(i+="A ".concat(s[2],",").concat(s[2],",0,0,").concat(l,",\n ").concat(e+n-s[2],",").concat(t+r)),i+="L ".concat(e+s[3],",").concat(t+r),s[3]>0&&(i+="A ".concat(s[3],",").concat(s[3],",0,0,").concat(l,",\n ").concat(e,",").concat(t+r-u*s[3])),i+="Z"}else if(a>0&&o===+o&&o>0){var f=Math.min(a,o);i="M ".concat(e,",").concat(t+u*f,"\n A ").concat(f,",").concat(f,",0,0,").concat(l,",").concat(e+f,",").concat(t,"\n L ").concat(e+n-f,",").concat(t,"\n A ").concat(f,",").concat(f,",0,0,").concat(l,",").concat(e+n,",").concat(t+u*f,"\n L ").concat(e+n,",").concat(t+r-u*f,"\n A ").concat(f,",").concat(f,",0,0,").concat(l,",").concat(e+n-f,",").concat(t+r,"\n L ").concat(e+f,",").concat(t+r,"\n A ").concat(f,",").concat(f,",0,0,").concat(l,",").concat(e,",").concat(t+r-u*f," Z")}else i="M ".concat(e,",").concat(t," h ").concat(n," v ").concat(r," h ").concat(-n," Z");return i},x=Object(p.a)((i=o=function(e){function t(){var e,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,o=new Array(r),i=0;i0,from:{width:o,height:i,x:n,y:r},to:{width:o,height:i,x:n,y:r},duration:y,animationEasing:p,isActive:g},function(t){var n=t.width,r=t.height,o=t.x,i=t.y;return u.a.createElement(d.a,{canBegin:s>0,from:"0px ".concat(-1===s?1:s,"px"),to:"".concat(s,"px 0px"),attributeName:"strokeDasharray",begin:v,duration:y,isActive:b,easing:p},u.a.createElement("path",m({},Object(h.j)(e.props),Object(h.e)(e.props),{className:_,d:w(o,i,n,r,a),ref:function(t){e.node=t}})))}):u.a.createElement("path",m({},Object(h.j)(this.props),Object(h.e)(this.props),{className:_,d:w(n,r,o,i,a)}))}}])&&b(n.prototype,r),o&&b(n,o),t}(),o.displayName="Rectangle",o.propTypes=function(e){for(var t=1;tu)throw r=0,new Error("Call stack overflow for "+s);if(""===e)throw new Error(i+"(): '"+s+"' must contain a non-whitespace string");var c=function(e){var t=[],n=[],r=/[\.0-9]([%a-z]+)/gi,o=r.exec(e);for(;o;)o&&o[1]&&(-1===n.indexOf(o[1].toLowerCase())&&(t.push(o[1]),n.push(o[1].toLowerCase())),o=r.exec(e));return t}(e=function(e,t){e=e.replace(/((?:\-[a-z]+\-)?calc)/g,"");var r,i="",a=e;for(;r=l.exec(a);){r[0].index>0&&(i+=a.substring(0,r[0].index));var u=o("(",")",a.substring([0].index));if(""===u.body)throw new Error("'"+e+"' must contain a non-whitespace string");var s=n(u.body,"",t);i+=u.pre+s,a=u.post}return i+a}(e,s));if(c.length>1||e.indexOf("var(")>-1)return i+"("+e+")";var f=c[0]||"";"%"===f&&(e=e.replace(/\b[0-9\.]+%/g,function(e){return.01*parseFloat(e.slice(0,-1))}));var d,p=e.replace(new RegExp(f,"gi"),"");try{d=a.eval(p)}catch(h){return i+"("+e+")"}return"%"===f&&(d*=100),(i.length||"%"===f)&&(d=Math.round(d*t)/t),d+=f}return r=0,t=Math.pow(10,void 0===t?5:t),e=e.replace(/\n+/g," "),i(e,/((?:\-[a-z]+\-)?calc)\(/,n)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"};t.default=r},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(646))},function(e,t,n){"use strict";var r=Function.prototype.toString,o=/^\s*class\b/,i=function(e){try{var t=r.call(e);return o.test(t)}catch(n){return!1}},a=Object.prototype.toString,u="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag;e.exports=function(e){if(!e)return!1;if("function"!==typeof e&&"object"!==typeof e)return!1;if("function"===typeof e&&!e.prototype)return!0;if(u)return function(e){try{return!i(e)&&(r.call(e),!0)}catch(t){return!1}}(e);if(i(e))return!1;var t=a.call(e);return"[object Function]"===t||"[object GeneratorFunction]"===t}},function(e,t,n){var r=n(59).call(Function.call,Object.prototype.hasOwnProperty),o=Object.assign;e.exports=function(e,t){if(o)return o(e,t);for(var n in t)r(t,n)&&(e[n]=t[n]);return e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.PureCalendarDay=void 0;var r=c(n(35)),o=c(n(1)),i=(c(n(0)),c(n(42)),n(26),n(36)),a=c(n(20)),u=n(29),l=(c(n(32)),c(n(193))),s=(c(n(106)),n(19));function c(e){return e&&e.__esModule?e:{default:e}}function f(e){return(f="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(){return(d=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:{},r="";if(!t)return r;var o=n.indent,u=void 0===o?0:o,l=t.fallbacks;if(u++,l)if(Array.isArray(l))for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},t=e.breakpoints,n=void 0===t?{}:t,r=e.mixins,m=void 0===r?{}:r,b=e.palette,g=void 0===b?{}:b,_=e.shadows,O=e.spacing,w=void 0===O?{}:O,x=e.typography,k=void 0===x?{}:x,S=(0,i.default)(e,["breakpoints","mixins","palette","shadows","spacing","typography"]),P=(0,c.default)(g),M=(0,l.default)(n),D=(0,o.default)({},h.default,w);return(0,o.default)({breakpoints:M,direction:"ltr",mixins:(0,s.default)(M,D,m),overrides:{},palette:P,props:{},shadows:_||d.default,typography:(0,f.default)(P,k)},(0,a.default)({shape:p.default,spacing:D,transitions:y.default,zIndex:v.default},S,{isMergeableObject:u.default}))};t.default=m},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.CHANNEL=void 0;var o=r(n(17)),i="__THEMING__";t.CHANNEL=i;var a={contextTypes:(0,o.default)({},i,function(){}),initial:function(e){return e[i]?e[i].getState():null},subscribe:function(e,t){return e[i]?e[i].subscribe(t):null},unsubscribe:function(e,t){e[i]&&e[i].unsubscribe(t)}};t.default=a},function(e,t,n){var r=n(449),o=n(47),i=Object.prototype,a=i.hasOwnProperty,u=i.propertyIsEnumerable,l=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!u.call(e,"callee")};e.exports=l},function(e,t){var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;e.exports=function(e,t){var o=typeof e;return!!(t=null==t?n:t)&&("number"==o||"symbol"!=o&&r.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=n}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t){e.exports=function(e,t){return e===t||e!==e&&t!==t}},function(e,t,n){var r=n(58)(n(43),"Map");e.exports=r},function(e,t,n){var r=n(473),o=n(480),i=n(482),a=n(483),u=n(484);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=0||(o[n]=e[n]);return o}(e,["component","childFactory"]),i=c(this.state.children).map(n);return delete r.appear,delete r.enter,delete r.exit,null===t?i:o.default.createElement(t,r,i)},r}(o.default.Component);f.childContextTypes={transitionGroup:r.default.object.isRequired},f.propTypes={},f.defaultProps={component:"div",childFactory:function(e){return e}};var d=(0,i.polyfill)(f);t.default=d,e.exports=t.default},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(570))},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(n(53));var i=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window,n=(0,o.default)(e);return n.defaultView||n.parentView||t};t.default=i},function(e,t,n){"use strict";function r(e){return null!=e&&!(Array.isArray(e)&&0===e.length)}Object.defineProperty(t,"__esModule",{value:!0}),t.hasValue=r,t.isFilled=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e&&(r(e.value)&&""!==e.value||t&&r(e.defaultValue)&&""!==e.defaultValue)},t.isAdornedStart=function(e){return e.startAdornment}},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(n(1)).default.createContext();t.default=o},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(630))},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(567))},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(653))},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(658))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getTickValues",{enumerable:!0,get:function(){return r.getTickValues}}),Object.defineProperty(t,"getNiceTickValues",{enumerable:!0,get:function(){return r.getNiceTickValues}}),Object.defineProperty(t,"getTickValuesFixedDomain",{enumerable:!0,get:function(){return r.getTickValuesFixedDomain}});var r=n(532)},function(e,t,n){var r=n(535),o=n(239),i=n(44);e.exports=function(e,t){var n={};return t=i(t,3),o(e,function(e,o,i){r(n,o,t(e,o,i))}),n}},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(662))},function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(o){return!1}}()?Object.assign:function(e,t){for(var n,a,u=function(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l0&&!r.call(e,0))for(var y=0;y0)for(var v=0;v0&&"undefined"!==typeof arguments[0]&&(n=r.ToInteger(arguments[0]));var i=r.ArraySpeciesCreate(e,0);return function e(t,n,i,a,u){for(var l=a,s=0;s0&&(d=r.IsArray(f)),d)l=e(t,f,r.ToLength(r.Get(f,"length")),l,u-1);else{if(l>=o)throw new TypeError("index too large");r.CreateDataPropertyOrThrow(t,r.ToString(l),f),l+=1}}s+=1}return l}(i,e,t,0,n),i}},function(e,t,n){"use strict";var r=n(325),o=n(142),i=o(o({},r),{SameValueNonNumber:function(e,t){if("number"===typeof e||typeof e!==typeof t)throw new TypeError("SameValueNonNumber requires two non-number values of the same type.");return this.SameValue(e,t)}});e.exports=i},function(e,t){e.exports=function(e){return null===e||"function"!==typeof e&&"object"!==typeof e}},function(e,t,n){"use strict";var r=Object.prototype.toString;if(n(329)()){var o=Symbol.prototype.toString,i=/^Symbol\(.*\)$/;e.exports=function(e){if("symbol"===typeof e)return!0;if("[object Symbol]"!==r.call(e))return!1;try{return function(e){return"symbol"===typeof e.valueOf()&&i.test(o.call(e))}(e)}catch(t){return!1}}}else e.exports=function(e){return!1}},function(e,t,n){"use strict";var r=n(105),o=r("%TypeError%"),i=r("%SyntaxError%"),a=n(83),u={"Property Descriptor":function(e,t){if("Object"!==e.Type(t))return!1;var n={"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Get]]":!0,"[[Set]]":!0,"[[Value]]":!0,"[[Writable]]":!0};for(var r in t)if(a(t,r)&&!n[r])return!1;var i=a(t,"[[Value]]"),u=a(t,"[[Get]]")||a(t,"[[Set]]");if(i&&u)throw new o("Property Descriptors may not be both accessor and data descriptors");return!0}};e.exports=function(e,t,n,r){var a=u[t];if("function"!==typeof a)throw new i("unknown record type: "+t);if(!a(e,r))throw new o(n+" must be a "+t);console.log(a(e,r),r)}},function(e,t){e.exports=Number.isNaN||function(e){return e!==e}},function(e,t){var n=Number.isNaN||function(e){return e!==e};e.exports=Number.isFinite||function(e){return"number"===typeof e&&!n(e)&&e!==1/0&&e!==-1/0}},function(e,t){e.exports=function(e){return e>=0?1:-1}},function(e,t){e.exports=function(e,t){var n=e%t;return Math.floor(n>=0?n:n+t)}},function(e,t,n){"use strict";var r=n(180);e.exports=function(){return Array.prototype.flat||r}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var r=void 0,o=void 0;function i(e,t){var n=t(e(o));return function(){return n}}function a(e){return i(e,r.createLTR||r.create)}function u(){for(var e=arguments.length,t=Array(e),n=0;n2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!e)return 0;var o="width"===t?"Left":"Top",i="width"===t?"Right":"Bottom",a=!n||r?window.getComputedStyle(e):null,u=e.offsetWidth,l=e.offsetHeight,s="width"===t?u:l;n||(s-=parseFloat(a["padding".concat(o)])+parseFloat(a["padding".concat(i)])+parseFloat(a["border".concat(o,"Width")])+parseFloat(a["border".concat(i,"Width")]));r&&(s+=parseFloat(a["margin".concat(o)])+parseFloat(a["margin".concat(i)]));return s}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=b(n(35)),o=b(n(1)),i=(b(n(0)),b(n(42)),n(26),n(36)),a=b(n(20)),u=n(108),l=n(29),s=(b(n(32)),b(n(51))),c=b(n(194)),f=b(n(358)),d=b(n(359)),p=b(n(197)),h=b(n(109)),y=b(n(360)),v=b(n(361)),m=(b(n(106)),b(n(62)),b(n(56)),n(19));function b(e){return e&&e.__esModule?e:{default:e}}function g(e){return(g="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _(){return(_=Object.assign||function(e){for(var t=1;t=r&&d1&&void 0!==arguments[1]?arguments[1]:0;return 7*e+2*t+1}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return!(!o.default.isMoment(e)||!o.default.isMoment(t))&&e.month()===t.month()&&e.year()===t.year()};var r,o=(r=n(20))&&r.__esModule?r:{default:r}},function(e,t,n){"use strict";var r=n(364),o=n(83),i=n(59).call(Function.call,Object.prototype.propertyIsEnumerable);e.exports=function(e){var t=r.RequireObjectCoercible(e),n=[];for(var a in t)o(t,a)&&i(t,a)&&n.push(t[a]);return n}},function(e,t,n){"use strict";var r=n(199);e.exports=function(){return"function"===typeof Object.values?Object.values:r}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=v(n(0)),o=v(n(42)),i=n(26),a=n(29),u=v(n(32)),l=v(n(202)),s=v(n(64)),c=v(n(203)),f=v(n(84)),d=v(n(204)),p=v(n(57)),h=v(n(56)),y=v(n(85));function v(e){return e&&e.__esModule?e:{default:e}}var m={startDate:o.default.momentObj,endDate:o.default.momentObj,onDatesChange:r.default.func.isRequired,focusedInput:l.default,onFocusChange:r.default.func.isRequired,onClose:r.default.func,startDateId:r.default.string.isRequired,startDatePlaceholderText:r.default.string,endDateId:r.default.string.isRequired,endDatePlaceholderText:r.default.string,disabled:f.default,required:r.default.bool,readOnly:r.default.bool,screenReaderInputMessage:r.default.string,showClearDates:r.default.bool,showDefaultInputIcon:r.default.bool,inputIconPosition:s.default,customInputIcon:r.default.node,customArrowIcon:r.default.node,customCloseIcon:r.default.node,noBorder:r.default.bool,block:r.default.bool,small:r.default.bool,regular:r.default.bool,keepFocusOnInput:r.default.bool,renderMonthText:(0,i.mutuallyExclusiveProps)(r.default.func,"renderMonthText","renderMonthElement"),renderMonthElement:(0,i.mutuallyExclusiveProps)(r.default.func,"renderMonthText","renderMonthElement"),orientation:c.default,anchorDirection:d.default,openDirection:p.default,horizontalMargin:r.default.number,withPortal:r.default.bool,withFullScreenPortal:r.default.bool,appendToBody:r.default.bool,disableScroll:r.default.bool,daySize:i.nonNegativeInteger,isRTL:r.default.bool,firstDayOfWeek:h.default,initialVisibleMonth:r.default.func,numberOfMonths:r.default.number,keepOpenOnDateSelect:r.default.bool,reopenPickerOnClearDates:r.default.bool,renderCalendarInfo:r.default.func,calendarInfoPosition:y.default,hideKeyboardShortcutsPanel:r.default.bool,verticalHeight:i.nonNegativeInteger,transitionDuration:i.nonNegativeInteger,verticalSpacing:i.nonNegativeInteger,horizontalMonthPadding:i.nonNegativeInteger,navPrev:r.default.node,navNext:r.default.node,onPrevMonthClick:r.default.func,onNextMonthClick:r.default.func,renderCalendarDay:r.default.func,renderDayContents:r.default.func,minimumNights:r.default.number,enableOutsideDays:r.default.bool,isDayBlocked:r.default.func,isOutsideRange:r.default.func,isDayHighlighted:r.default.func,displayFormat:r.default.oneOfType([r.default.string,r.default.func]),monthFormat:r.default.string,weekDayFormat:r.default.string,phrases:r.default.shape((0,u.default)(a.DateRangePickerPhrases)),dayAriaLabelFormat:r.default.string};t.default=m},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(0))&&r.__esModule?r:{default:r},i=n(19);var a=o.default.oneOf([i.START_DATE,i.END_DATE]);t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(0))&&r.__esModule?r:{default:r},i=n(19);var a=o.default.oneOf([i.HORIZONTAL_ORIENTATION,i.VERTICAL_ORIENTATION]);t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(0))&&r.__esModule?r:{default:r},i=n(19);var a=o.default.oneOf([i.ANCHOR_LEFT,i.ANCHOR_RIGHT]);t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,o){var i="undefined"!==typeof window?window.innerWidth:0,a=e===r.ANCHOR_LEFT?i-n:n,u=o||0;return function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n;return e}({},e,Math.min(t+a-u,0))};var r=n(19)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){var o=n.getBoundingClientRect(),i=o.left,a=o.top;e===r.OPEN_UP&&(a=-(window.innerHeight-o.bottom));t===r.ANCHOR_RIGHT&&(i=-(window.innerWidth-o.right));return{transform:"translate3d(".concat(Math.round(i),"px, ").concat(Math.round(a),"px, 0)")}};var r=n(19)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getScrollParent=o,t.getScrollAncestorsOverflowY=i,t.default=function(e){var t=i(e),n=function(e){return t.forEach(function(t,n){n.style.setProperty("overflow-y",e?"hidden":t)})};return n(!0),function(){return n(!1)}};var r=function(){return document.scrollingElement||document.documentElement};function o(e){var t=e.parentElement;if(null==t)return r();var n=window.getComputedStyle(t).overflowY;return"visible"!==n&&"hidden"!==n&&t.scrollHeight>t.clientHeight?t:o(t)}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Map,n=r(),a=o(e);return t.set(a,a.style.overflowY),a===n?t:i(a,t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=p(n(35)),o=p(n(1)),i=(p(n(0)),p(n(20))),a=(p(n(42)),n(26),p(n(57)),n(29)),u=(p(n(32)),p(n(209))),l=(p(n(64)),p(n(84)),p(n(61))),s=p(n(148)),c=p(n(65)),f=p(n(86)),d=n(19);function p(e){return e&&e.__esModule?e:{default:e}}function h(e){return(h="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(){return function(e){return e.__proto__||Object.getPrototypeOf(e)}}())(e)}function v(e,t){for(var n=0;n0&&(L||R||u!==O)){var K=m||this.today;W=this.deleteModifierFromRange(W,K,K.clone().add(O,"days"),"blocked-minimum-nights"),W=this.deleteModifierFromRange(W,K,K.clone().add(O,"days"),"blocked")}(L||N)&&(0,a.default)(C).forEach(function(e){Object.keys(e).forEach(function(e){var n=(0,i.default)(e),r=!1;(L||E)&&(l(n)?(W=t.addModifier(W,n,"blocked-out-of-range"),r=!0):W=t.deleteModifier(W,n,"blocked-out-of-range")),(L||A)&&(s(n)?(W=t.addModifier(W,n,"blocked-calendar"),r=!0):W=t.deleteModifier(W,n,"blocked-calendar")),W=r?t.addModifier(W,n,"blocked"):t.deleteModifier(W,n,"blocked"),(L||I)&&(W=c(n)?t.addModifier(W,n,"highlighted-calendar"):t.deleteModifier(W,n,"highlighted-calendar"))})}),u>0&&n&&o===g.END_DATE&&(W=this.addModifierToRange(W,n,n.clone().add(u,"days"),"blocked-minimum-nights"),W=this.addModifierToRange(W,n,n.clone().add(u,"days"),"blocked"));var G=(0,i.default)();if((0,f.default)(this.today,G)||(W=this.deleteModifier(W,this.today,"today"),W=this.addModifier(W,G,"today"),this.today=G),Object.keys(W).length>0&&this.setState({visibleDays:k({},C,W)}),L||d!==P){var $=j(d,o);this.setState({phrases:k({},d,{chooseAvailableDate:$})})}}}()},{key:"onDayClick",value:function(){return function(e,t){var n=this.props,r=n.keepOpenOnDateSelect,o=n.minimumNights,i=n.onBlur,a=n.focusedInput,u=n.onFocusChange,l=n.onClose,c=n.onDatesChange,f=n.startDateOffset,h=n.endDateOffset,y=n.disabled;if(t&&t.preventDefault(),!this.isBlocked(e)){var m=this.props,b=m.startDate,_=m.endDate;if(f||h)b=(0,v.default)(f,e),_=(0,v.default)(h,e),r||(u(null),l({startDate:b,endDate:_}));else if(a===g.START_DATE){var O=_&&_.clone().subtract(o,"days"),w=(0,p.default)(O,e)||(0,d.default)(b,_),x=y===g.END_DATE;x&&w||(b=e,w&&(_=null)),x&&!w?(u(null),l({startDate:b,endDate:_})):x||u(g.END_DATE)}else if(a===g.END_DATE){var k=b&&b.clone().add(o,"days");b?(0,s.default)(e,k)?(_=e,r||(u(null),l({startDate:b,endDate:_}))):y!==g.START_DATE&&(b=e,_=null):(_=e,u(g.START_DATE))}c({startDate:b,endDate:_}),i()}}}()},{key:"onDayMouseEnter",value:function(){return function(e){if(!this.isTouchDevice){var t=this.props,n=t.startDate,r=t.endDate,o=t.focusedInput,i=t.minimumNights,a=t.startDateOffset,u=t.endDateOffset,l=this.state,s=l.hoverDate,c=l.visibleDays,h=l.dateOffset,y=null;if(o){var m=a||u,b={};if(m){var _=(0,v.default)(a,e),O=(0,v.default)(u,e,function(e){return e.add(1,"day")});y={start:_,end:O},h&&h.start&&h.end&&(b=this.deleteModifierFromRange(b,h.start,h.end,"hovered-offset")),b=this.addModifierToRange(b,_,O,"hovered-offset")}if(!m){if(b=this.deleteModifier(b,s,"hovered"),b=this.addModifier(b,e,"hovered"),n&&!r&&o===g.END_DATE){if((0,d.default)(s,n)){var w=s.clone().add(1,"day");b=this.deleteModifierFromRange(b,n,w,"hovered-span")}if(!this.isBlocked(e)&&(0,d.default)(e,n)){var x=e.clone().add(1,"day");b=this.addModifierToRange(b,n,x,"hovered-span")}}if(!n&&r&&o===g.START_DATE&&((0,p.default)(s,r)&&(b=this.deleteModifierFromRange(b,s,r,"hovered-span")),!this.isBlocked(e)&&(0,p.default)(e,r)&&(b=this.addModifierToRange(b,e,r,"hovered-span"))),n){var S=n.clone().add(1,"day"),P=n.clone().add(i+1,"days");if(b=this.deleteModifierFromRange(b,S,P,"after-hovered-start"),(0,f.default)(e,n)){var M=n.clone().add(1,"day"),D=n.clone().add(i+1,"days");b=this.addModifierToRange(b,M,D,"after-hovered-start")}}}this.setState({hoverDate:e,dateOffset:y,visibleDays:k({},c,b)})}}}}()},{key:"onDayMouseLeave",value:function(){return function(e){var t=this.props,n=t.startDate,r=t.endDate,o=t.minimumNights,i=this.state,a=i.hoverDate,u=i.visibleDays,l=i.dateOffset;if(!this.isTouchDevice&&a){var s={};if(s=this.deleteModifier(s,a,"hovered"),l&&(s=this.deleteModifierFromRange(s,l.start,l.end,"hovered-offset")),n&&!r&&(0,d.default)(a,n)){var c=a.clone().add(1,"day");s=this.deleteModifierFromRange(s,n,c,"hovered-span")}if(!n&&r&&(0,d.default)(r,a)&&(s=this.deleteModifierFromRange(s,a,r,"hovered-span")),n&&(0,f.default)(e,n)){var p=n.clone().add(1,"day"),h=n.clone().add(o+1,"days");s=this.deleteModifierFromRange(s,p,h,"after-hovered-start")}this.setState({hoverDate:null,visibleDays:k({},u,s)})}}}()},{key:"onPrevMonthClick",value:function(){return function(){var e=this.props,t=e.enableOutsideDays,n=e.maxDate,r=e.minDate,o=e.numberOfMonths,i=e.onPrevMonthClick,a=this.state,u=a.currentMonth,l=a.visibleDays,s={};Object.keys(l).sort().slice(0,o+1).forEach(function(e){s[e]=l[e]});var c=u.clone().subtract(2,"months"),f=(0,h.default)(c,1,t,!0),d=u.clone().subtract(1,"month");this.setState({currentMonth:d,disablePrev:this.shouldDisableMonthNavigation(r,d),disableNext:this.shouldDisableMonthNavigation(n,d),visibleDays:k({},s,this.getModifiers(f))},function(){i(d.clone())})}}()},{key:"onNextMonthClick",value:function(){return function(){var e=this.props,t=e.enableOutsideDays,n=e.maxDate,r=e.minDate,o=e.numberOfMonths,i=e.onNextMonthClick,a=this.state,u=a.currentMonth,l=a.visibleDays,s={};Object.keys(l).sort().slice(1).forEach(function(e){s[e]=l[e]});var c=u.clone().add(o+1,"month"),f=(0,h.default)(c,1,t,!0),d=u.clone().add(1,"month");this.setState({currentMonth:d,disablePrev:this.shouldDisableMonthNavigation(r,d),disableNext:this.shouldDisableMonthNavigation(n,d),visibleDays:k({},s,this.getModifiers(f))},function(){i(d.clone())})}}()},{key:"onMonthChange",value:function(){return function(e){var t=this.props,n=t.numberOfMonths,r=t.enableOutsideDays,o=t.orientation===g.VERTICAL_SCROLLABLE,i=(0,h.default)(e,n,r,o);this.setState({currentMonth:e.clone(),visibleDays:this.getModifiers(i)})}}()},{key:"onYearChange",value:function(){return function(e){var t=this.props,n=t.numberOfMonths,r=t.enableOutsideDays,o=t.orientation===g.VERTICAL_SCROLLABLE,i=(0,h.default)(e,n,r,o);this.setState({currentMonth:e.clone(),visibleDays:this.getModifiers(i)})}}()},{key:"onMultiplyScrollableMonths",value:function(){return function(){var e=this.props,t=e.numberOfMonths,n=e.enableOutsideDays,r=this.state,o=r.currentMonth,i=r.visibleDays,a=Object.keys(i).length,u=o.clone().add(a,"month"),l=(0,h.default)(u,t,n,!0);this.setState({visibleDays:k({},i,this.getModifiers(l))})}}()},{key:"getFirstFocusableDay",value:function(){return function(e){var t=this,n=this.props,r=n.startDate,o=n.endDate,i=n.focusedInput,a=n.minimumNights,u=n.numberOfMonths,l=e.clone().startOf("month");if(i===g.START_DATE&&r?l=r.clone():i===g.END_DATE&&!o&&r?l=r.clone().add(a,"days"):i===g.END_DATE&&o&&(l=o.clone()),this.isBlocked(l)){for(var s=[],c=e.clone().add(u-1,"months").endOf("month"),f=l.clone();!(0,d.default)(f,c);)f=f.clone().add(1,"day"),s.push(f);var p=s.filter(function(e){return!t.isBlocked(e)});p.length>0&&(l=x(p,1)[0])}return l}}()},{key:"getModifiers",value:function(){return function(e){var t=this,n={};return Object.keys(e).forEach(function(r){n[r]={},e[r].forEach(function(e){n[r][(0,m.default)(e)]=t.getModifiersForDay(e)})}),n}}()},{key:"getModifiersForDay",value:function(){return function(e){var t=this;return new Set(Object.keys(this.modifiers).filter(function(n){return t.modifiers[n](e)}))}}()},{key:"getStateForNewMonth",value:function(){return function(e){var t=this,n=e.initialVisibleMonth,r=e.numberOfMonths,o=e.enableOutsideDays,i=e.orientation,a=e.startDate,u=(n||(a?function(){return a}:function(){return t.today}))(),l=i===g.VERTICAL_SCROLLABLE;return{currentMonth:u,visibleDays:this.getModifiers((0,h.default)(u,r,o,l))}}}()},{key:"shouldDisableMonthNavigation",value:function(){return function(e,t){if(!e)return!1;var n=this.props,r=n.numberOfMonths,o=n.enableOutsideDays;return(0,y.default)(e,t,r,o)}}()},{key:"addModifier",value:function(){return function(e,t,n){var r=this.props,o=r.numberOfMonths,i=r.enableOutsideDays,a=r.orientation,u=this.state,l=u.currentMonth,s=u.visibleDays,c=l,f=o;if(a===g.VERTICAL_SCROLLABLE?f=Object.keys(s).length:(c=c.clone().subtract(1,"month"),f+=2),!t||!(0,y.default)(t,c,f,i))return e;var d=(0,m.default)(t),p=k({},e);if(i)p=Object.keys(s).filter(function(e){return Object.keys(s[e]).indexOf(d)>-1}).reduce(function(t,r){var o=e[r]||s[r],i=new Set(o[d]);return i.add(n),k({},t,S({},r,k({},o,S({},d,i))))},p);else{var h=(0,b.default)(t),v=e[h]||s[h],_=new Set(v[d]);_.add(n),p=k({},p,S({},h,k({},v,S({},d,_))))}return p}}()},{key:"addModifierToRange",value:function(){return function(e,t,n,r){for(var o=e,i=t.clone();(0,p.default)(i,n);)o=this.addModifier(o,i,r),i=i.clone().add(1,"day");return o}}()},{key:"deleteModifier",value:function(){return function(e,t,n){var r=this.props,o=r.numberOfMonths,i=r.enableOutsideDays,a=r.orientation,u=this.state,l=u.currentMonth,s=u.visibleDays,c=l,f=o;if(a===g.VERTICAL_SCROLLABLE?f=Object.keys(s).length:(c=c.clone().subtract(1,"month"),f+=2),!t||!(0,y.default)(t,c,f,i))return e;var d=(0,m.default)(t),p=k({},e);if(i)p=Object.keys(s).filter(function(e){return Object.keys(s[e]).indexOf(d)>-1}).reduce(function(t,r){var o=e[r]||s[r],i=new Set(o[d]);return i.delete(n),k({},t,S({},r,k({},o,S({},d,i))))},p);else{var h=(0,b.default)(t),v=e[h]||s[h],_=new Set(v[d]);_.delete(n),p=k({},p,S({},h,k({},v,S({},d,_))))}return p}}()},{key:"deleteModifierFromRange",value:function(){return function(e,t,n,r){for(var o=e,i=t.clone();(0,p.default)(i,n);)o=this.deleteModifier(o,i,r),i=i.clone().add(1,"day");return o}}()},{key:"doesNotMeetMinimumNights",value:function(){return function(e){var t=this.props,n=t.startDate,r=t.isOutsideRange,o=t.focusedInput,a=t.minimumNights;if(o!==g.END_DATE)return!1;if(n){var u=e.diff(n.clone().startOf("day").hour(12),"days");return u=0}return r((0,i.default)(e).subtract(a,"days"))}}()},{key:"isDayAfterHoveredStartDate",value:function(){return function(e){var t=this.props,n=t.startDate,r=t.endDate,o=t.minimumNights,i=(this.state||{}).hoverDate;return!!n&&!r&&!this.isBlocked(e)&&(0,c.default)(i,e)&&o>0&&(0,f.default)(i,n)}}()},{key:"isEndDate",value:function(){return function(e){var t=this.props.endDate;return(0,f.default)(e,t)}}()},{key:"isHovered",value:function(){return function(e){var t=(this.state||{}).hoverDate;return!!this.props.focusedInput&&(0,f.default)(e,t)}}()},{key:"isInHoveredSpan",value:function(){return function(e){var t=this.props,n=t.startDate,r=t.endDate,o=(this.state||{}).hoverDate,i=!!n&&!r&&(e.isBetween(n,o)||(0,f.default)(o,e)),a=!!r&&!n&&(e.isBetween(o,r)||(0,f.default)(o,e)),u=o&&!this.isBlocked(o);return(i||a)&&u}}()},{key:"isInSelectedSpan",value:function(){return function(e){var t=this.props,n=t.startDate,r=t.endDate;return e.isBetween(n,r)}}()},{key:"isLastInRange",value:function(){return function(e){var t=this.props.endDate;return this.isInSelectedSpan(e)&&(0,c.default)(e,t)}}()},{key:"isStartDate",value:function(){return function(e){var t=this.props.startDate;return(0,f.default)(e,t)}}()},{key:"isBlocked",value:function(){return function(e){var t=this.props,n=t.isDayBlocked,r=t.isOutsideRange;return n(e)||r(e)||this.doesNotMeetMinimumNights(e)}}()},{key:"isToday",value:function(){return function(e){return(0,f.default)(e,this.today)}}()},{key:"isFirstDayOfWeek",value:function(){return function(e){var t=this.props.firstDayOfWeek;return e.day()===(t||i.default.localeData().firstDayOfWeek())}}()},{key:"isLastDayOfWeek",value:function(){return function(e){var t=this.props.firstDayOfWeek;return e.day()===((t||i.default.localeData().firstDayOfWeek())+6)%7}}()},{key:"render",value:function(){return function(){var e=this.props,t=e.numberOfMonths,n=e.orientation,r=e.monthFormat,i=e.renderMonthText,a=e.navPrev,u=e.navNext,l=e.noNavButtons,s=e.onOutsideClick,c=e.withPortal,f=e.enableOutsideDays,d=e.firstDayOfWeek,p=e.hideKeyboardShortcutsPanel,h=e.daySize,y=e.focusedInput,v=e.renderCalendarDay,m=e.renderDayContents,b=e.renderCalendarInfo,g=e.renderMonthElement,O=e.calendarInfoPosition,w=e.onBlur,x=e.onShiftTab,k=e.onTab,S=e.isFocused,P=e.showKeyboardShortcuts,M=e.isRTL,D=e.weekDayFormat,T=e.dayAriaLabelFormat,C=e.verticalHeight,E=e.noBorder,j=e.transitionDuration,A=e.verticalBorderSpacing,I=e.horizontalMonthPadding,N=this.state,R=N.currentMonth,F=N.phrases,L=N.visibleDays,B=N.disablePrev,z=N.disableNext;return o.default.createElement(_.default,{orientation:n,enableOutsideDays:f,modifiers:L,numberOfMonths:t,onDayClick:this.onDayClick,onDayMouseEnter:this.onDayMouseEnter,onDayMouseLeave:this.onDayMouseLeave,onPrevMonthClick:this.onPrevMonthClick,onNextMonthClick:this.onNextMonthClick,onMonthChange:this.onMonthChange,onTab:k,onShiftTab:x,onYearChange:this.onYearChange,onMultiplyScrollableMonths:this.onMultiplyScrollableMonths,monthFormat:r,renderMonthText:i,withPortal:c,hidden:!y,initialVisibleMonth:function(){return R},daySize:h,onOutsideClick:s,disablePrev:B,disableNext:z,navPrev:a,navNext:u,noNavButtons:l,renderCalendarDay:v,renderDayContents:m,renderCalendarInfo:b,renderMonthElement:g,calendarInfoPosition:O,firstDayOfWeek:d,hideKeyboardShortcutsPanel:p,isFocused:S,getFirstFocusableDay:this.getFirstFocusableDay,onBlur:w,showKeyboardShortcuts:P,phrases:F,isRTL:M,weekDayFormat:D,dayAriaLabelFormat:T,verticalHeight:C,verticalBorderSpacing:A,noBorder:E,transitionDuration:j,horizontalMonthPadding:I})}}()}]),t}();t.default=A,A.propTypes={},A.defaultProps=E},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!r.default.isMoment(e)||!r.default.isMoment(t))return!1;var n=(0,r.default)(e).add(1,"day");return(0,o.default)(n,t)};var r=i(n(20)),o=i(n(60));function i(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,i){if(!r.default.isMoment(e))return{};for(var a={},u=i?e.clone():e.clone().subtract(1,"month"),l=0;l<(i?t:t+2);l+=1){var s=[],c=u.clone(),f=c.clone().startOf("month").hour(12),d=c.clone().endOf("month").hour(12),p=f.clone();if(n)for(var h=0;h0&&this.setState({visibleDays:_({},x,E)})}}()},{key:"componentWillUpdate",value:function(){return function(){this.today=(0,i.default)()}}()},{key:"onDayClick",value:function(){return function(e,t){if(t&&t.preventDefault(),!this.isBlocked(e)){var n=this.props,r=n.onDateChange,o=n.keepOpenOnDateSelect,i=n.onFocusChange,a=n.onClose;r(e),o||(i({focused:!1}),a({date:e}))}}}()},{key:"onDayMouseEnter",value:function(){return function(e){if(!this.isTouchDevice){var t=this.state,n=t.hoverDate,r=t.visibleDays,o=this.deleteModifier({},n,"hovered");o=this.addModifier(o,e,"hovered"),this.setState({hoverDate:e,visibleDays:_({},r,o)})}}}()},{key:"onDayMouseLeave",value:function(){return function(){var e=this.state,t=e.hoverDate,n=e.visibleDays;if(!this.isTouchDevice&&t){var r=this.deleteModifier({},t,"hovered");this.setState({hoverDate:null,visibleDays:_({},n,r)})}}}()},{key:"onPrevMonthClick",value:function(){return function(){var e=this.props,t=e.onPrevMonthClick,n=e.numberOfMonths,r=e.enableOutsideDays,o=this.state,i=o.currentMonth,a=o.visibleDays,u={};Object.keys(a).sort().slice(0,n+1).forEach(function(e){u[e]=a[e]});var l=i.clone().subtract(1,"month"),s=(0,f.default)(l,1,r);this.setState({currentMonth:l,visibleDays:_({},u,this.getModifiers(s))},function(){t(l.clone())})}}()},{key:"onNextMonthClick",value:function(){return function(){var e=this.props,t=e.onNextMonthClick,n=e.numberOfMonths,r=e.enableOutsideDays,o=this.state,i=o.currentMonth,a=o.visibleDays,u={};Object.keys(a).sort().slice(1).forEach(function(e){u[e]=a[e]});var l=i.clone().add(n,"month"),s=(0,f.default)(l,1,r),c=i.clone().add(1,"month");this.setState({currentMonth:c,visibleDays:_({},u,this.getModifiers(s))},function(){t(c.clone())})}}()},{key:"onMonthChange",value:function(){return function(e){var t=this.props,n=t.numberOfMonths,r=t.enableOutsideDays,o=t.orientation===y.VERTICAL_SCROLLABLE,i=(0,f.default)(e,n,r,o);this.setState({currentMonth:e.clone(),visibleDays:this.getModifiers(i)})}}()},{key:"onYearChange",value:function(){return function(e){var t=this.props,n=t.numberOfMonths,r=t.enableOutsideDays,o=t.orientation===y.VERTICAL_SCROLLABLE,i=(0,f.default)(e,n,r,o);this.setState({currentMonth:e.clone(),visibleDays:this.getModifiers(i)})}}()},{key:"getFirstFocusableDay",value:function(){return function(e){var t=this,n=this.props,r=n.date,o=n.numberOfMonths,i=e.clone().startOf("month");if(r&&(i=r.clone()),this.isBlocked(i)){for(var a=[],u=e.clone().add(o-1,"months").endOf("month"),l=i.clone();!(0,c.default)(l,u);)l=l.clone().add(1,"day"),a.push(l);var s=a.filter(function(e){return!t.isBlocked(e)&&(0,c.default)(e,i)});if(s.length>0){var f=g(s,1);i=f[0]}}return i}}()},{key:"getModifiers",value:function(){return function(e){var t=this,n={};return Object.keys(e).forEach(function(r){n[r]={},e[r].forEach(function(e){n[r][(0,p.default)(e)]=t.getModifiersForDay(e)})}),n}}()},{key:"getModifiersForDay",value:function(){return function(e){var t=this;return new Set(Object.keys(this.modifiers).filter(function(n){return t.modifiers[n](e)}))}}()},{key:"getStateForNewMonth",value:function(){return function(e){var t=this,n=e.initialVisibleMonth,r=e.date,o=e.numberOfMonths,i=e.enableOutsideDays,a=(n||(r?function(){return r}:function(){return t.today}))();return{currentMonth:a,visibleDays:this.getModifiers((0,f.default)(a,o,i))}}}()},{key:"addModifier",value:function(){return function(e,t,n){var r=this.props,o=r.numberOfMonths,i=r.enableOutsideDays,a=r.orientation,u=this.state,l=u.currentMonth,s=u.visibleDays,c=l,f=o;if(a===y.VERTICAL_SCROLLABLE?f=Object.keys(s).length:(c=c.clone().subtract(1,"month"),f+=2),!t||!(0,d.default)(t,c,f,i))return e;var v=(0,p.default)(t),m=_({},e);if(i)m=Object.keys(s).filter(function(e){return Object.keys(s[e]).indexOf(v)>-1}).reduce(function(t,r){var o=e[r]||s[r],i=new Set(o[v]);return i.add(n),_({},t,O({},r,_({},o,O({},v,i))))},m);else{var b=(0,h.default)(t),g=e[b]||s[b],w=new Set(g[v]);w.add(n),m=_({},m,O({},b,_({},g,O({},v,w))))}return m}}()},{key:"deleteModifier",value:function(){return function(e,t,n){var r=this.props,o=r.numberOfMonths,i=r.enableOutsideDays,a=r.orientation,u=this.state,l=u.currentMonth,s=u.visibleDays,c=l,f=o;if(a===y.VERTICAL_SCROLLABLE?f=Object.keys(s).length:(c=c.clone().subtract(1,"month"),f+=2),!t||!(0,d.default)(t,c,f,i))return e;var v=(0,p.default)(t),m=_({},e);if(i)m=Object.keys(s).filter(function(e){return Object.keys(s[e]).indexOf(v)>-1}).reduce(function(t,r){var o=e[r]||s[r],i=new Set(o[v]);return i.delete(n),_({},t,O({},r,_({},o,O({},v,i))))},m);else{var b=(0,h.default)(t),g=e[b]||s[b],w=new Set(g[v]);w.delete(n),m=_({},m,O({},b,_({},g,O({},v,w))))}return m}}()},{key:"isBlocked",value:function(){return function(e){var t=this.props,n=t.isDayBlocked,r=t.isOutsideRange;return n(e)||r(e)}}()},{key:"isHovered",value:function(){return function(e){var t=(this.state||{}).hoverDate;return(0,s.default)(e,t)}}()},{key:"isSelected",value:function(){return function(e){var t=this.props.date;return(0,s.default)(e,t)}}()},{key:"isToday",value:function(){return function(e){return(0,s.default)(e,this.today)}}()},{key:"isFirstDayOfWeek",value:function(){return function(e){var t=this.props.firstDayOfWeek;return e.day()===(t||i.default.localeData().firstDayOfWeek())}}()},{key:"isLastDayOfWeek",value:function(){return function(e){var t=this.props.firstDayOfWeek;return e.day()===((t||i.default.localeData().firstDayOfWeek())+6)%7}}()},{key:"render",value:function(){return function(){var e=this.props,t=e.numberOfMonths,n=e.orientation,r=e.monthFormat,i=e.renderMonthText,a=e.navPrev,u=e.navNext,l=e.onOutsideClick,s=e.onShiftTab,c=e.onTab,f=e.withPortal,d=e.focused,p=e.enableOutsideDays,h=e.hideKeyboardShortcutsPanel,y=e.daySize,m=e.firstDayOfWeek,b=e.renderCalendarDay,g=e.renderDayContents,_=e.renderCalendarInfo,O=e.renderMonthElement,w=e.calendarInfoPosition,x=e.isFocused,k=e.isRTL,S=e.phrases,P=e.dayAriaLabelFormat,M=e.onBlur,D=e.showKeyboardShortcuts,T=e.weekDayFormat,C=e.verticalHeight,E=e.noBorder,j=e.transitionDuration,A=e.verticalBorderSpacing,I=e.horizontalMonthPadding,N=this.state,R=N.currentMonth,F=N.visibleDays;return o.default.createElement(v.default,{orientation:n,enableOutsideDays:p,modifiers:F,numberOfMonths:t,onDayClick:this.onDayClick,onDayMouseEnter:this.onDayMouseEnter,onDayMouseLeave:this.onDayMouseLeave,onPrevMonthClick:this.onPrevMonthClick,onNextMonthClick:this.onNextMonthClick,onMonthChange:this.onMonthChange,onYearChange:this.onYearChange,monthFormat:r,withPortal:f,hidden:!d,hideKeyboardShortcutsPanel:h,initialVisibleMonth:function(){return R},firstDayOfWeek:m,onOutsideClick:l,navPrev:a,navNext:u,renderMonthText:i,renderCalendarDay:b,renderDayContents:g,renderCalendarInfo:_,renderMonthElement:O,calendarInfoPosition:w,isFocused:x,getFirstFocusableDay:this.getFirstFocusableDay,onBlur:M,onTab:c,onShiftTab:s,phrases:S,daySize:y,isRTL:k,showKeyboardShortcuts:D,weekDayFormat:T,dayAriaLabelFormat:P,verticalHeight:C,noBorder:E,transitionDuration:j,verticalBorderSpacing:A,horizontalMonthPadding:I})}}()}]),t}();t.default=D,D.propTypes={},D.defaultProps=M},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=h(n(0)),o=h(n(42)),i=n(26),a=n(29),u=h(n(32)),l=h(n(64)),s=h(n(203)),c=h(n(204)),f=h(n(57)),d=h(n(56)),p=h(n(85));function h(e){return e&&e.__esModule?e:{default:e}}var y={date:o.default.momentObj,onDateChange:r.default.func.isRequired,focused:r.default.bool,onFocusChange:r.default.func.isRequired,id:r.default.string.isRequired,placeholder:r.default.string,disabled:r.default.bool,required:r.default.bool,readOnly:r.default.bool,screenReaderInputMessage:r.default.string,showClearDate:r.default.bool,customCloseIcon:r.default.node,showDefaultInputIcon:r.default.bool,inputIconPosition:l.default,customInputIcon:r.default.node,noBorder:r.default.bool,block:r.default.bool,small:r.default.bool,regular:r.default.bool,verticalSpacing:i.nonNegativeInteger,keepFocusOnInput:r.default.bool,renderMonthText:(0,i.mutuallyExclusiveProps)(r.default.func,"renderMonthText","renderMonthElement"),renderMonthElement:(0,i.mutuallyExclusiveProps)(r.default.func,"renderMonthText","renderMonthElement"),orientation:s.default,anchorDirection:c.default,openDirection:f.default,horizontalMargin:r.default.number,withPortal:r.default.bool,withFullScreenPortal:r.default.bool,appendToBody:r.default.bool,disableScroll:r.default.bool,initialVisibleMonth:r.default.func,firstDayOfWeek:d.default,numberOfMonths:r.default.number,keepOpenOnDateSelect:r.default.bool,reopenPickerOnClearDate:r.default.bool,renderCalendarInfo:r.default.func,calendarInfoPosition:p.default,hideKeyboardShortcutsPanel:r.default.bool,daySize:i.nonNegativeInteger,isRTL:r.default.bool,verticalHeight:i.nonNegativeInteger,transitionDuration:i.nonNegativeInteger,horizontalMonthPadding:i.nonNegativeInteger,navPrev:r.default.node,navNext:r.default.node,onPrevMonthClick:r.default.func,onNextMonthClick:r.default.func,onClose:r.default.func,renderCalendarDay:r.default.func,renderDayContents:r.default.func,enableOutsideDays:r.default.bool,isDayBlocked:r.default.func,isOutsideRange:r.default.func,isDayHighlighted:r.default.func,displayFormat:r.default.oneOfType([r.default.string,r.default.func]),monthFormat:r.default.string,weekDayFormat:r.default.string,phrases:r.default.shape((0,u.default)(a.SingleDatePickerPhrases)),dayAriaLabelFormat:r.default.string};t.default=y},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=f(n(1)),o=(f(n(0)),n(26),n(36)),i=n(29),a=(f(n(32)),f(n(51))),u=f(n(210)),l=(f(n(64)),f(n(88))),s=f(n(215)),c=(f(n(57)),n(19));function f(e){return e&&e.__esModule?e:{default:e}}function d(){return(d=Object.assign||function(e){for(var t=1;t=this.index)t.push(e);else for(var r=0;rn)return void t.splice(r,0,e)}},{key:"reset",value:function(){this.registry=[]}},{key:"remove",value:function(e){var t=this.registry.indexOf(e);this.registry.splice(t,1)}},{key:"toString",value:function(e){return this.registry.filter(function(e){return e.attached}).map(function(t){return t.toString(e)}).join("\n")}},{key:"index",get:function(){return 0===this.registry.length?0:this.registry[this.registry.length-1].options.index}}]),e}();t.default=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(395),i=(r=o)&&r.__esModule?r:{default:r};t.default=function(e){return e&&e[i.default]&&e===e[i.default]()}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){e.renderable=t,e.rules&&t.cssRules&&e.rules.link(t.cssRules)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(n(67)),o=(i(n(233)),i(n(398)));function i(e){return e&&e.__esModule?e:{default:e}}t.default=function(){var e=0;return function(t,n){(e+=1)>1e10&&(0,r.default)(!1,"[JSS] You might have a memory leak. Rule counter is at %s.",e);var i="c",a="";return n&&(i=n.options.classNamePrefix||"c",null!=n.options.jss.id&&(a+=n.options.jss.id)),""+i+o.default+a+e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.baseClasses,n=e.newClasses;if(e.Component,!n)return t;var r=(0,o.default)({},t);return Object.keys(n).forEach(function(e){n[e]&&(r[e]="".concat(t[e]," ").concat(n[e]))}),r};t.default=i},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.values,n=void 0===t?{xs:0,sm:600,md:960,lg:1280,xl:1920}:t,r=e.unit,u=void 0===r?"px":r,l=e.step,s=void 0===l?5:l,c=(0,i.default)(e,["values","unit","step"]);function f(e){var t="number"===typeof n[e]?n[e]:e;return"@media (min-width:".concat(t).concat(u,")")}function d(e,t){var r=a.indexOf(t)+1;return r===a.length?f(e):"@media (min-width:".concat(n[e]).concat(u,") and ")+"(max-width:".concat(n[a[r]]-s/100).concat(u,")")}return(0,o.default)({keys:a,values:n,up:f,down:function(e){var t=a.indexOf(e)+1,r=n[a[t]];if(t===a.length)return f("xs");return"@media (max-width:".concat(("number"===typeof r&&t>0?r:e)-s/100).concat(u,")")},between:d,only:function(e){return d(e,e)},width:function(e){return n[e]}},c)},t.keys=void 0;var o=r(n(8)),i=r(n(10)),a=["xs","sm","md","lg","xl"];t.keys=a},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.isNumber=t.isString=t.formatMs=t.duration=t.easing=void 0;var o=r(n(10)),i=(r(n(27)),{easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"});t.easing=i;var a={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};t.duration=a;var u=function(e){return"".concat(Math.round(e),"ms")};t.formatMs=u;t.isString=function(e){return"string"===typeof e};t.isNumber=function(e){return!isNaN(parseFloat(e))};var l={easing:i,duration:a,create:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["all"],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.duration,r=void 0===n?a.standard:n,l=t.easing,s=void 0===l?i.easeInOut:l,c=t.delay,f=void 0===c?0:c;(0,o.default)(t,["duration","easing","delay"]);return(Array.isArray(e)?e:[e]).map(function(e){return"".concat(e," ").concat("string"===typeof r?r:u(r)," ").concat(s," ").concat("string"===typeof f?f:u(f))}).join(",")},getAutoHeightDuration:function(e){if(!e)return 0;var t=e/36;return Math.round(10*(4+15*Math.pow(t,.25)+t/5))}};t.default=l},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.dangerouslyUseGlobalCSS,n=void 0!==t&&t,r=e.productionPrefix,o=void 0===r?"jss":r,a=e.seed,u=void 0===a?"":a,l=0;return function(e,t){return l+=1,n&&t&&t.options.name?"".concat(i(t.options.name),"-").concat(e.key):"".concat(o).concat(u).concat(l)}};r(n(27));var o=/([[\].#*$><+~=|^:(),"'`\s])/g;function i(e){return String(e).replace(o,"-")}},function(e,t,n){var r=n(445),o=n(118);e.exports=function(e,t){return e&&r(e,t,o)}},function(e,t,n){(function(e){var r=n(43),o=n(450),i="object"==typeof t&&t&&!t.nodeType&&t,a=i&&"object"==typeof e&&e&&!e.nodeType&&e,u=a&&a.exports===i?r.Buffer:void 0,l=(u?u.isBuffer:void 0)||o;e.exports=l}).call(this,n(144)(e))},function(e,t,n){var r=n(451),o=n(160),i=n(452),a=i&&i.isTypedArray,u=a?o(a):r;e.exports=u},function(e,t){e.exports=function(e,t){return function(n){return e(t(n))}}},function(e,t,n){var r=n(119),o=n(464),i=n(465),a=n(466),u=n(467),l=n(468);function s(e){var t=this.__data__=new r(e);this.size=t.size}s.prototype.clear=o,s.prototype.delete=i,s.prototype.get=a,s.prototype.has=u,s.prototype.set=l,e.exports=s},function(e,t){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(t){}try{return e+""}catch(t){}}return""}},function(e,t,n){var r=n(246),o=n(247),i=n(248),a=1,u=2;e.exports=function(e,t,n,l,s,c){var f=n&a,d=e.length,p=t.length;if(d!=p&&!(f&&p>d))return!1;var h=c.get(e);if(h&&c.get(t))return h==t;var y=-1,v=!0,m=n&u?new r:void 0;for(c.set(e,t),c.set(t,e);++y0&&i(c)?n>1?e(c,n-1,i,a,u):r(u,c):a||(u[u.length]=c)}return u}},function(e,t,n){var r=n(117),o=n(69);e.exports=function(e,t){var n=-1,i=o(e)?Array(e.length):[];return r(e,function(e,r,o){i[++n]=t(e,r,o)}),i}},function(e,t,n){var r=n(70),o=n(523),i=n(525);e.exports=function(e,t){return i(o(e,t,r),e+"")}},function(e,t,n){var r=n(58),o=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(t){}}();e.exports=o},function(e,t){e.exports=function(e,t){return e>t}},function(e,t){e.exports=function(e,t){return e(u=(a=Math.ceil(d/v))>u?a+1:u+1)&&(i=u,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for((u=s.length)-(i=c.length)<0&&(i=u,r=c,c=s,s=r),n=0;i;)n=(s[--i]=s[i]+c[i]+n)/y|0,s[i]%=y;for(n&&(s.unshift(n),++o),u=s.length;0==s[--u];)s.pop();return t.d=s,t.e=o,l?T(t,d):t}function _(e,t,n){if(e!==~~e||en)throw Error(c+e)}function O(e){var t,n,r,o=e.length-1,i="",a=e[0];if(o>0){for(i+=a,t=1;te.e^i.s<0?1:-1;for(t=0,n=(r=i.d.length)<(o=e.d.length)?r:o;te.d[t]^i.s<0?1:-1;return r===o?0:r>o^i.s<0?1:-1},b.decimalPlaces=b.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*v;if(t=e.d[t])for(;t%10==0;t/=10)n--;return n<0?0:n},b.dividedBy=b.div=function(e){return w(this,new this.constructor(e))},b.dividedToIntegerBy=b.idiv=function(e){var t=this.constructor;return T(w(this,new t(e),0,1),t.precision)},b.equals=b.eq=function(e){return!this.cmp(e)},b.exponent=function(){return k(this)},b.greaterThan=b.gt=function(e){return this.cmp(e)>0},b.greaterThanOrEqualTo=b.gte=function(e){return this.cmp(e)>=0},b.isInteger=b.isint=function(){return this.e>this.d.length-2},b.isNegative=b.isneg=function(){return this.s<0},b.isPositive=b.ispos=function(){return this.s>0},b.isZero=function(){return 0===this.s},b.lessThan=b.lt=function(e){return this.cmp(e)<0},b.lessThanOrEqualTo=b.lte=function(e){return this.cmp(e)<1},b.logarithm=b.log=function(e){var t,n=this,r=n.constructor,o=r.precision,a=o+5;if(void 0===e)e=new r(10);else if((e=new r(e)).s<1||e.eq(i))throw Error(s+"NaN");if(n.s<1)throw Error(s+(n.s?"NaN":"-Infinity"));return n.eq(i)?new r(0):(l=!1,t=w(M(n,a),M(e,a),a),l=!0,T(t,o))},b.minus=b.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?C(t,e):g(t,(e.s=-e.s,e))},b.modulo=b.mod=function(e){var t,n=this,r=n.constructor,o=r.precision;if(!(e=new r(e)).s)throw Error(s+"NaN");return n.s?(l=!1,t=w(n,e,0,1).times(e),l=!0,n.minus(t)):T(new r(n),o)},b.naturalExponential=b.exp=function(){return x(this)},b.naturalLogarithm=b.ln=function(){return M(this)},b.negated=b.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e},b.plus=b.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?g(t,e):C(t,(e.s=-e.s,e))},b.precision=b.sd=function(e){var t,n,r,o=this;if(void 0!==e&&e!==!!e&&1!==e&&0!==e)throw Error(c+e);if(t=k(o)+1,n=(r=o.d.length-1)*v+1,r=o.d[r]){for(;r%10==0;r/=10)n--;for(r=o.d[0];r>=10;r/=10)n++}return e&&t>n?t:n},b.squareRoot=b.sqrt=function(){var e,t,n,r,o,i,a,u=this,c=u.constructor;if(u.s<1){if(!u.s)return new c(0);throw Error(s+"NaN")}for(e=k(u),l=!1,0==(o=Math.sqrt(+u))||o==1/0?(((t=O(u.d)).length+e)%2==0&&(t+="0"),o=Math.sqrt(t),e=d((e+1)/2)-(e<0||e%2),r=new c(t=o==1/0?"1e"+e:(t=o.toExponential()).slice(0,t.indexOf("e")+1)+e)):r=new c(o.toString()),o=a=(n=c.precision)+3;;)if(r=(i=r).plus(w(u,i,a+2)).times(.5),O(i.d).slice(0,a)===(t=O(r.d)).slice(0,a)){if(t=t.slice(a-3,a+1),o==a&&"4999"==t){if(T(i,n+1,0),i.times(i).eq(u)){r=i;break}}else if("9999"!=t)break;a+=4}return l=!0,T(r,n)},b.times=b.mul=function(e){var t,n,r,o,i,a,u,s,c,f=this,d=f.constructor,p=f.d,h=(e=new d(e)).d;if(!f.s||!e.s)return new d(0);for(e.s*=f.s,n=f.e+e.e,(s=p.length)<(c=h.length)&&(i=p,p=h,h=i,a=s,s=c,c=a),i=[],r=a=s+c;r--;)i.push(0);for(r=c;--r>=0;){for(t=0,o=s+r;o>r;)u=i[o]+h[r]*p[o-r-1]+t,i[o--]=u%y|0,t=u/y|0;i[o]=(i[o]+t)%y|0}for(;!i[--a];)i.pop();return t?++n:i.shift(),e.d=i,e.e=n,l?T(e,d.precision):e},b.toDecimalPlaces=b.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),void 0===e?n:(_(e,0,a),void 0===t?t=r.rounding:_(t,0,8),T(n,e+k(n)+1,t))},b.toExponential=function(e,t){var n,r=this,o=r.constructor;return void 0===e?n=E(r,!0):(_(e,0,a),void 0===t?t=o.rounding:_(t,0,8),n=E(r=T(new o(r),e+1,t),!0,e+1)),n},b.toFixed=function(e,t){var n,r,o=this,i=o.constructor;return void 0===e?E(o):(_(e,0,a),void 0===t?t=i.rounding:_(t,0,8),n=E((r=T(new i(o),e+k(o)+1,t)).abs(),!1,e+k(r)+1),o.isneg()&&!o.isZero()?"-"+n:n)},b.toInteger=b.toint=function(){var e=this,t=e.constructor;return T(new t(e),k(e)+1,t.rounding)},b.toNumber=function(){return+this},b.toPower=b.pow=function(e){var t,n,r,o,a,u,c=this,f=c.constructor,p=+(e=new f(e));if(!e.s)return new f(i);if(!(c=new f(c)).s){if(e.s<1)throw Error(s+"Infinity");return c}if(c.eq(i))return c;if(r=f.precision,e.eq(i))return T(c,r);if(u=(t=e.e)>=(n=e.d.length-1),a=c.s,u){if((n=p<0?-p:p)<=9007199254740991){for(o=new f(i),t=Math.ceil(r/v+4),l=!1;n%2&&j((o=o.times(c)).d,t),0!==(n=d(n/2));)j((c=c.times(c)).d,t);return l=!0,e.s<0?new f(i).div(o):T(o,r)}}else if(a<0)throw Error(s+"NaN");return a=a<0&&1&e.d[Math.max(t,n)]?-1:1,c.s=1,l=!1,o=e.times(M(c,r+12)),l=!0,(o=x(o)).s=a,o},b.toPrecision=function(e,t){var n,r,o=this,i=o.constructor;return void 0===e?r=E(o,(n=k(o))<=i.toExpNeg||n>=i.toExpPos):(_(e,1,a),void 0===t?t=i.rounding:_(t,0,8),r=E(o=T(new i(o),e,t),e<=(n=k(o))||n<=i.toExpNeg,e)),r},b.toSignificantDigits=b.tosd=function(e,t){var n=this.constructor;return void 0===e?(e=n.precision,t=n.rounding):(_(e,1,a),void 0===t?t=n.rounding:_(t,0,8)),T(new n(this),e,t)},b.toString=b.valueOf=b.val=b.toJSON=function(){var e=this,t=k(e),n=e.constructor;return E(e,t<=n.toExpNeg||t>=n.toExpPos)};var w=function(){function e(e,t){var n,r=0,o=e.length;for(e=e.slice();o--;)n=e[o]*t+r,e[o]=n%y|0,r=n/y|0;return r&&e.unshift(r),e}function t(e,t,n,r){var o,i;if(n!=r)i=n>r?1:-1;else for(o=i=0;ot[o]?1:-1;break}return i}function n(e,t,n){for(var r=0;n--;)e[n]-=r,r=e[n]1;)e.shift()}return function(r,o,i,a){var u,l,c,f,d,p,h,m,b,g,_,O,w,x,S,P,M,D,C=r.constructor,E=r.s==o.s?1:-1,j=r.d,A=o.d;if(!r.s)return new C(r);if(!o.s)throw Error(s+"Division by zero");for(l=r.e-o.e,M=A.length,S=j.length,m=(h=new C(E)).d=[],c=0;A[c]==(j[c]||0);)++c;if(A[c]>(j[c]||0)&&--l,(O=null==i?i=C.precision:a?i+(k(r)-k(o))+1:i)<0)return new C(0);if(O=O/v+2|0,c=0,1==M)for(f=0,A=A[0],O++;(c1&&(A=e(A,f),j=e(j,f),M=A.length,S=j.length),x=M,g=(b=j.slice(0,M)).length;g=y/2&&++P;do{f=0,(u=t(A,b,M,g))<0?(_=b[0],M!=g&&(_=_*y+(b[1]||0)),(f=_/P|0)>1?(f>=y&&(f=y-1),1==(u=t(d=e(A,f),b,p=d.length,g=b.length))&&(f--,n(d,M16)throw Error(f+k(e));if(!e.s)return new d(i);for(null==t?(l=!1,u=h):u=t,a=new d(.03125);e.abs().gte(.1);)e=e.times(a),c+=5;for(u+=Math.log(p(2,c))/Math.LN10*2+5|0,n=r=o=new d(i),d.precision=u;;){if(r=T(r.times(e),u),n=n.times(++s),O((a=o.plus(w(r,n,u))).d).slice(0,u)===O(o.d).slice(0,u)){for(;c--;)o=T(o.times(o),u);return d.precision=h,null==t?(l=!0,T(o,h)):o}o=a}}function k(e){for(var t=e.e*v,n=e.d[0];n>=10;n/=10)t++;return t}function S(e,t,n){if(t>e.LN10.sd())throw l=!0,n&&(e.precision=n),Error(s+"LN10 precision limit exceeded");return T(new e(e.LN10),t)}function P(e){for(var t="";e--;)t+="0";return t}function M(e,t){var n,r,o,a,u,c,f,d,p,h=1,y=e,v=y.d,m=y.constructor,b=m.precision;if(y.s<1)throw Error(s+(y.s?"NaN":"-Infinity"));if(y.eq(i))return new m(0);if(null==t?(l=!1,d=b):d=t,y.eq(10))return null==t&&(l=!0),S(m,d);if(d+=10,m.precision=d,r=(n=O(v)).charAt(0),a=k(y),!(Math.abs(a)<15e14))return f=S(m,d+2,b).times(a+""),y=M(new m(r+"."+n.slice(1)),d-10).plus(f),m.precision=b,null==t?(l=!0,T(y,b)):y;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=O((y=y.times(e)).d)).charAt(0),h++;for(a=k(y),r>1?(y=new m("0."+n),a++):y=new m(r+"."+n.slice(1)),c=u=y=w(y.minus(i),y.plus(i),d),p=T(y.times(y),d),o=3;;){if(u=T(u.times(p),d),O((f=c.plus(w(u,new m(o),d))).d).slice(0,d)===O(c.d).slice(0,d))return c=c.times(2),0!==a&&(c=c.plus(S(m,d+2,b).times(a+""))),c=w(c,new m(h),d),m.precision=b,null==t?(l=!0,T(c,b)):c;c=f,o+=2}}function D(e,t){var n,r,o;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;48===t.charCodeAt(r);)++r;for(o=t.length;48===t.charCodeAt(o-1);)--o;if(t=t.slice(r,o)){if(o-=r,n=n-r-1,e.e=d(n/v),e.d=[],r=(n+1)%v,n<0&&(r+=v),rm||e.e<-m))throw Error(f+n)}else e.s=0,e.e=0,e.d=[0];return e}function T(e,t,n){var r,o,i,a,u,s,c,h,b=e.d;for(a=1,i=b[0];i>=10;i/=10)a++;if((r=t-a)<0)r+=v,o=t,c=b[h=0];else{if((h=Math.ceil((r+1)/v))>=(i=b.length))return e;for(c=i=b[h],a=1;i>=10;i/=10)a++;o=(r%=v)-v+a}if(void 0!==n&&(u=c/(i=p(10,a-o-1))%10|0,s=t<0||void 0!==b[h+1]||c%i,s=n<4?(u||s)&&(0==n||n==(e.s<0?3:2)):u>5||5==u&&(4==n||s||6==n&&(r>0?o>0?c/p(10,a-o):0:b[h-1])%10&1||n==(e.s<0?8:7))),t<1||!b[0])return s?(i=k(e),b.length=1,t=t-i-1,b[0]=p(10,(v-t%v)%v),e.e=d(-t/v)||0):(b.length=1,b[0]=e.e=e.s=0),e;if(0==r?(b.length=h,i=1,h--):(b.length=h+1,i=p(10,v-r),b[h]=o>0?(c/p(10,a-o)%p(10,o)|0)*i:0),s)for(;;){if(0==h){(b[0]+=i)==y&&(b[0]=1,++e.e);break}if(b[h]+=i,b[h]!=y)break;b[h--]=0,i=1}for(r=b.length;0===b[--r];)b.pop();if(l&&(e.e>m||e.e<-m))throw Error(f+k(e));return e}function C(e,t){var n,r,o,i,a,u,s,c,f,d,p=e.constructor,h=p.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new p(e),l?T(t,h):t;if(s=e.d,d=t.d,r=t.e,c=e.e,s=s.slice(),a=c-r){for((f=a<0)?(n=s,a=-a,u=d.length):(n=d,r=c,u=s.length),a>(o=Math.max(Math.ceil(h/v),u)+2)&&(a=o,n.length=1),n.reverse(),o=a;o--;)n.push(0);n.reverse()}else{for((f=(o=s.length)<(u=d.length))&&(u=o),o=0;o0;--o)s[u++]=0;for(o=d.length;o>a;){if(s[--o]0?i=i.charAt(0)+"."+i.slice(1)+P(r):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(o<0?"e":"e+")+o):o<0?(i="0."+P(-o-1)+i,n&&(r=n-a)>0&&(i+=P(r))):o>=a?(i+=P(o+1-a),n&&(r=n-o-1)>0&&(i=i+"."+P(r))):((r=o+1)0&&(o+1===a&&(i+="."),i+=P(r))),e.s<0?"-"+i:i}function j(e,t){if(e.length>t)return e.length=t,!0}function A(e){if(!e||"object"!==typeof e)throw Error(s+"Object expected");var t,n,r,o=["precision",1,a,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(t=0;t=o[t+1]&&r<=o[t+2]))throw Error(c+n+": "+r);this[n]=r}if(void 0!==(r=e[n="LN10"])){if(r!=Math.LN10)throw Error(c+n+": "+r);this[n]=new this(r)}return this}(u=function e(t){var n,r,o;function i(e){var t=this;if(!(t instanceof i))return new i(e);if(t.constructor=i,e instanceof i)return t.s=e.s,t.e=e.e,void(t.d=(e=e.d)?e.slice():e);if("number"===typeof e){if(0*e!==0)throw Error(c+e);if(e>0)t.s=1;else{if(!(e<0))return t.s=0,t.e=0,void(t.d=[0]);e=-e,t.s=-1}return e===~~e&&e<1e7?(t.e=0,void(t.d=[e])):D(t,e.toString())}if("string"!==typeof e)throw Error(c+e);if(45===e.charCodeAt(0)?(e=e.slice(1),t.s=-1):t.s=1,!h.test(e))throw Error(c+e);D(t,e)}if(i.prototype=b,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=e,i.config=i.set=A,void 0===t&&(t={}),t)for(o=["precision","rounding","toExpNeg","toExpPos","LN10"],n=0;n=t?n.apply(void 0,l):e(t-c,u(function(){for(var e=arguments.length,t=new Array(e),o=0;o=0?r=setTimeout(l,t-s):(r=null,n||(u=e.apply(i,o),i=o=null))}null==t&&(t=100);var s=function(){i=this,o=arguments,a=Date.now();var s=n&&!r;return r||(r=setTimeout(l,t)),s&&(u=e.apply(i,o),i=o=null),u};return s.clear=function(){r&&(clearTimeout(r),r=null)},s.flush=function(){r&&(u=e.apply(i,o),i=o=null,clearTimeout(r),r=null)},s}n.debounce=n,e.exports=n},function(e,t,n){"use strict";function r(e){return e&&"object"===typeof e&&"default"in e?e.default:e}Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(587)),i=r(n(588)),a=r(n(589)),u=r(n(591)),l=r(n(592)),s=r(n(273)),c=r(n(594)),f=r(n(596)),d=r(n(1));r(n(0)),r(n(27));var p=function(){var e=null;return function(){if(null!==e)return e;var t,n,r,o=!1;try{window.addEventListener("test",null,(t={},n="passive",r={get:function(){o=!0}},Object.defineProperty(t,n,r)))}catch(i){}return e=o,o}()}(),h={capture:!1,passive:!1};function y(e){return f({},h,e)}function v(e,t,n){var r=[e,t];return r.push(p?n:n.capture),r}function m(e,t,n,r){e.addEventListener.apply(e,v(t,n,r))}function b(e,t,n,r){e.removeEventListener.apply(e,v(t,n,r))}var g=function(e){function t(){return o(this,t),a(this,u(t).apply(this,arguments))}return l(t,e),i(t,[{key:"componentDidMount",value:function(){this.applyListeners(m)}},{key:"componentDidUpdate",value:function(e){this.applyListeners(b,e),this.applyListeners(m)}},{key:"componentWillUnmount",value:function(){this.applyListeners(b)}},{key:"applyListeners",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props,n=t.target;if(n){var r=n;"string"===typeof n&&(r=window[n]),function(e,t){e.children,e.target;var n=c(e,["children","target"]);Object.keys(n).forEach(function(e){if("on"===e.substring(0,2)){var r=n[e],o=s(r),i="object"===o;if(i||"function"===o){var a="capture"===e.substr(-7).toLowerCase(),u=e.substring(2).toLowerCase();u=a?u.substring(0,u.length-7):u,i?t(u,r.handler,r.options):t(u,r,y({capture:a}))}}})}(t,e.bind(null,r))}}},{key:"render",value:function(){return this.props.children||null}}]),t}(d.PureComponent);g.propTypes={},t.withOptions=function(e,t){return{handler:e,options:y(t)}},t.default=g},function(e,t){function n(e){return(n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(t){return"function"===typeof Symbol&&"symbol"===n(Symbol.iterator)?e.exports=r=function(e){return n(e)}:e.exports=r=function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":n(e)},r(t)}e.exports=r},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(n(21)),i=r(n(22)),a=r(n(603)),u=r(n(269)),l=r(n(53)),s=r(n(611)),c=n(276);function f(e,t){var n=-1;return e.some(function(e,r){return!!t(e)&&(n=r,!0)}),n}function d(e){return parseInt((0,a.default)(e,"paddingRight")||0,10)}var p=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,o.default)(this,e);var n=t.hideSiblingNodes,r=void 0===n||n,i=t.handleContainerOverflow,a=void 0===i||i;this.hideSiblingNodes=r,this.handleContainerOverflow=a,this.modals=[],this.data=[]}return(0,i.default)(e,[{key:"add",value:function(e,t){var n=this.modals.indexOf(e);if(-1!==n)return n;n=this.modals.length,this.modals.push(e),e.modalRef&&(0,c.ariaHidden)(e.modalRef,!1),this.hideSiblingNodes&&(0,c.ariaHiddenSiblings)(t,e.mountNode,e.modalRef,!0);var r=f(this.data,function(e){return e.container===t});if(-1!==r)return this.data[r].modals.push(e),n;var o={modals:[e],container:t,overflowing:(0,s.default)(t),prevPaddings:[]};return this.data.push(o),n}},{key:"mount",value:function(e){var t=f(this.data,function(t){return-1!==t.modals.indexOf(e)}),n=this.data[t];!n.style&&this.handleContainerOverflow&&function(e){e.style={overflow:e.container.style.overflow,paddingRight:e.container.style.paddingRight};var t={overflow:"hidden"};if(e.overflowing){var n=(0,u.default)();t.paddingRight="".concat(d(e.container)+n,"px");for(var r=(0,l.default)(e.container).querySelectorAll(".mui-fixed"),o=0;othis[a])return O(this,this[h].get(e)),!1;var i=this[h].get(e).value;return this[f]&&(this[d]||this[f](e,i.value)),i.now=r,i.maxAge=n,i.value=t,this[u]+=o-i.length,i.length=o,this.get(e),_(this),!0}var s=new w(e,t,o,r,n);return s.length>this[a]?(this[f]&&this[f](e,t),!1):(this[u]+=s.length,this[p].unshift(s),this[h].set(e,this[p].head),_(this),!0)}},{key:"has",value:function(e){if(!this[h].has(e))return!1;var t=this[h].get(e).value;return!g(this,t)}},{key:"get",value:function(e){return b(this,e,!0)}},{key:"peek",value:function(e){return b(this,e,!1)}},{key:"pop",value:function(){var e=this[p].tail;return e?(O(this,e),e.value):null}},{key:"del",value:function(e){O(this,this[h].get(e))}},{key:"load",value:function(e){this.reset();for(var t=Date.now(),n=e.length-1;n>=0;n--){var r=e[n],o=r.e||0;if(0===o)this.set(r.k,r.v);else{var i=o-t;i>0&&this.set(r.k,r.v,i)}}}},{key:"prune",value:function(){var e=this;this[h].forEach(function(t,n){return b(e,n,!1)})}},{key:"max",set:function(e){if("number"!==typeof e||e<0)throw new TypeError("max must be a non-negative number");this[a]=e||1/0,_(this)},get:function(){return this[a]}},{key:"allowStale",set:function(e){this[s]=!!e},get:function(){return this[s]}},{key:"maxAge",set:function(e){if("number"!==typeof e)throw new TypeError("maxAge must be a non-negative number");this[c]=e,_(this)},get:function(){return this[c]}},{key:"lengthCalculator",set:function(e){var t=this;"function"!==typeof e&&(e=v),e!==this[l]&&(this[l]=e,this[u]=0,this[p].forEach(function(e){e.length=t[l](e.value,e.key),t[u]+=e.length})),_(this)},get:function(){return this[l]}},{key:"length",get:function(){return this[u]}},{key:"itemCount",get:function(){return this[p].length}}]),e}(),b=function(e,t,n){var r=e[h].get(t);if(r){var o=r.value;if(g(e,o)){if(O(e,r),!e[s])return}else n&&(e[y]&&(r.value.now=Date.now()),e[p].unshiftNode(r));return o.value}},g=function(e,t){if(!t||!t.maxAge&&!e[c])return!1;var n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[c]&&n>e[c]},_=function(e){if(e[u]>e[a])for(var t=e[p].tail;e[u]>e[a]&&null!==t;){var n=t.prev;O(e,t),t=n}},O=function(e,t){if(t){var n=t.value;e[f]&&e[f](n.key,n.value),e[u]-=n.length,e[h].delete(n.key),e[p].removeNode(t)}},w=function e(t,n,o,i,a){r(this,e),this.key=t,this.value=n,this.length=o,this.now=i,this.maxAge=a||0},x=function(e,t,n,r){var o=n.value;g(e,o)&&(O(e,n),e[s]||(o=void 0)),o&&t.call(r,o.value,o.key,e)};e.exports=m},function(e,t,n){"use strict";function r(e){var t,n=e.Symbol;return"function"===typeof n?n.observable?t=n.observable:(t=n("observable"),n.observable=t):t="@@observable",t}n.d(t,"a",function(){return r})},function(e,t,n){var r=n(515)(n(516));e.exports=r},function(e,t,n){var r=n(125),o=n(261),i=n(70);e.exports=function(e){return e&&e.length?r(e,i,o):void 0}},function(e,t,n){var r=n(125),o=n(262),i=n(70);e.exports=function(e){return e&&e.length?r(e,i,o):void 0}},function(e,t,n){var r=n(257),o=n(531);e.exports=function(e,t){return r(o(e,t),1)}},function(e,t,n){var r=n(247),o=n(44),i=n(534),a=n(13),u=n(124);e.exports=function(e,t,n){var l=a(e)?r:i;return n&&u(e,t,n)&&(t=void 0),l(e,o(t,3))}},function(e,t,n){var r=n(91),o=n(547),i=n(259),a=n(553),u=i(function(e){var t=r(e,a);return t.length&&t[0]===e[0]?o(t):[]});e.exports=u},function(e,t,n){var r=n(250),o=n(555),i=n(44),a=n(13);e.exports=function(e,t){return(a(e)?r:o)(e,i(t,3))}},function(e,t,n){"use strict";var r,o="object"===typeof Reflect?Reflect:null,i=o&&"function"===typeof o.apply?o.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};r=o&&"function"===typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!==e};function u(){u.init.call(this)}e.exports=u,u.EventEmitter=u,u.prototype._events=void 0,u.prototype._eventsCount=0,u.prototype._maxListeners=void 0;var l=10;function s(e){return void 0===e._maxListeners?u.defaultMaxListeners:e._maxListeners}function c(e,t,n,r){var o,i,a,u;if("function"!==typeof n)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof n);if(void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),i=e._events),a=i[t]),void 0===a)a=i[t]=n,++e._eventsCount;else if("function"===typeof a?a=i[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),(o=s(e))>0&&a.length>o&&!a.warned){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,u=l,console&&console.warn&&console.warn(u)}return e}function f(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},o=function(){for(var e=[],t=0;t0&&(a=t[0]),a instanceof Error)throw a;var u=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw u.context=a,u}var l=o[e];if(void 0===l)return!1;if("function"===typeof l)i(l,this,t);else{var s=l.length,c=h(l,s);for(n=0;n=0;i--)if(n[i]===t||n[i].listener===t){a=n[i].listener,o=i;break}if(o<0)return this;0===o?n.shift():function(e,t){for(;t+1=0;r--)this.removeListener(e,t[r]);return this},u.prototype.listeners=function(e){return d(this,e,!0)},u.prototype.rawListeners=function(e){return d(this,e,!1)},u.listenerCount=function(e,t){return"function"===typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},u.prototype.listenerCount=p,u.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(e,t){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},function(e,t,n){var r=n(125),o=n(44),i=n(262);e.exports=function(e,t){return e&&e.length?r(e,o(t,2),i):void 0}},function(e,t,n){var r=n(125),o=n(261),i=n(44);e.exports=function(e,t){return e&&e.length?r(e,i(t,2),o):void 0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c",A100:"#ff9e80",A200:"#ff6e40",A400:"#ff3d00",A700:"#dd2c00"};t.default=r},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(n(1)),i=(0,r(n(284)).default)(o.default.createElement(o.default.Fragment,null,o.default.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),o.default.createElement("g",null,o.default.createElement("path",{d:"M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z"}))),"DeleteOutlined");t.default=i},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(649))},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(650))},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(651))},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(652))},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(659))},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(660))},function(e,t,n){"use strict";var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(n(1)),i=(0,r(n(284)).default)(o.default.createElement(o.default.Fragment,null,o.default.createElement("path",{fill:"none",d:"M0 0h24v24H0z"}),o.default.createElement("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"})),"AddCircle");t.default=i},,function(e,t,n){"use strict";var r=n(178),o="function"===typeof Symbol&&Symbol.for,i=o?Symbol.for("react.element"):60103,a=o?Symbol.for("react.portal"):60106,u=o?Symbol.for("react.fragment"):60107,l=o?Symbol.for("react.strict_mode"):60108,s=o?Symbol.for("react.profiler"):60114,c=o?Symbol.for("react.provider"):60109,f=o?Symbol.for("react.context"):60110,d=o?Symbol.for("react.concurrent_mode"):60111,p=o?Symbol.for("react.forward_ref"):60112,h=o?Symbol.for("react.suspense"):60113,y=o?Symbol.for("react.memo"):60115,v=o?Symbol.for("react.lazy"):60116,m="function"===typeof Symbol&&Symbol.iterator;function b(e){for(var t=arguments.length-1,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rE.length&&E.push(e)}function I(e,t,n){return null==e?0:function e(t,n,r,o){var u=typeof t;"undefined"!==u&&"boolean"!==u||(t=null);var l=!1;if(null===t)l=!0;else switch(u){case"string":case"number":l=!0;break;case"object":switch(t.$$typeof){case i:case a:l=!0}}if(l)return r(o,t,""===n?"."+N(t,0):n),1;if(l=0,n=""===n?".":n+":",Array.isArray(t))for(var s=0;sthis.eventPool.length&&this.eventPool.push(e)}function fe(e){e.eventPool=[],e.getPooled=se,e.release=ce}o(le.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ae)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ae)},persist:function(){this.isPersistent=ae},isPersistent:ue,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=ue,this._dispatchInstances=this._dispatchListeners=null}}),le.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},le.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var i=new t;return o(i,n.prototype),n.prototype=i,n.prototype.constructor=n,n.Interface=o({},r.Interface,e),n.extend=r.extend,fe(n),n},fe(le);var de=le.extend({data:null}),pe=le.extend({data:null}),he=[9,13,27,32],ye=Y&&"CompositionEvent"in window,ve=null;Y&&"documentMode"in document&&(ve=document.documentMode);var me=Y&&"TextEvent"in window&&!ve,be=Y&&(!ye||ve&&8=ve),ge=String.fromCharCode(32),_e={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},Oe=!1;function we(e,t){switch(e){case"keyup":return-1!==he.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function xe(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var ke=!1;var Se={eventTypes:_e,extractEvents:function(e,t,n,r){var o=void 0,i=void 0;if(ye)e:{switch(e){case"compositionstart":o=_e.compositionStart;break e;case"compositionend":o=_e.compositionEnd;break e;case"compositionupdate":o=_e.compositionUpdate;break e}o=void 0}else ke?we(e,n)&&(o=_e.compositionEnd):"keydown"===e&&229===n.keyCode&&(o=_e.compositionStart);return o?(be&&"ko"!==n.locale&&(ke||o!==_e.compositionStart?o===_e.compositionEnd&&ke&&(i=ie()):(re="value"in(ne=r)?ne.value:ne.textContent,ke=!0)),o=de.getPooled(o,t,n,r),i?o.data=i:null!==(i=xe(n))&&(o.data=i),V(o),i=o):i=null,(e=me?function(e,t){switch(e){case"compositionend":return xe(t);case"keypress":return 32!==t.which?null:(Oe=!0,ge);case"textInput":return(e=t.data)===ge&&Oe?null:e;default:return null}}(e,n):function(e,t){if(ke)return"compositionend"===e||!ye&&we(e,t)?(e=ie(),oe=re=ne=null,ke=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1