bearychat-rtm-client
Advanced tools
Comparing version 0.2.0-alpha4 to 0.2.0-alpha5
{ | ||
"name": "bearychat-rtm-client", | ||
"version": "0.2.0-alpha4", | ||
"version": "0.2.0-alpha5", | ||
"description": "RTM client for BearyChat", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
@@ -224,3 +224,6 @@ 'use strict'; | ||
var WebSocket = options.WebSocket || window.WebSocket; | ||
var WebSocket = options.WebSocket; | ||
if (!WebSocket && typeof window !== 'undefined') { | ||
WebSocket = window.WebSocket; | ||
} | ||
@@ -467,2 +470,2 @@ (0, _invariant2.default)(WebSocket, 'A Websocket client is required.'); | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9SVE1DbGllbnQuanMiXSwibmFtZXMiOlsidGltZW91dCIsIm1lc3NhZ2UiLCJSVE1UaW1lb3V0RXJyb3IiLCJ0aW1lb3V0RGVsYXkiLCJlcnJvck1lc3NhZ2UiLCJydG1NZXNzYWdlIiwiRXJyb3IiLCJSVE1Ob3RDb25uZWN0ZWRFcnJvciIsIlJUTUNsaWVudCIsIm9wdGlvbnMiLCJfZG9Db25uZWN0IiwiX3N0YXRlIiwiQ09OTkVDVElORyIsIndzVXJsIiwiX2dldFVybCIsIl9yZWNvbm5lY3QiLCJlbWl0IiwiRVJST1IiLCJfcmVjb25uZWN0QXR0ZW1wdHMiLCJfc2V0Q29ubmVjdGlvbiIsInVybCIsIldlYlNvY2tldCIsIl9oYW5kbGVDb25uZWN0aW9uT3BlbiIsIkNPTk5FQ1RFRCIsIk9OTElORSIsIl9oYW5kbGVDb25uZWN0aW9uQ2xvc2UiLCJfcmVtb3ZlQ29ubmVjdGlvbiIsIk9GRkxJTkUiLCJfZm9yY2VDbG9zZSIsIkNMT1NFRCIsIkNMT1NFIiwiX2hhbmRsZUNvbm5lY3Rpb25FcnJvciIsImVycm9yIiwiX2hhbmRsZUNvbm5lY3Rpb25NZXNzYWdlIiwiTUVTU0FHRSIsIndpbmRvdyIsIl91cmwiLCJfY29ubmVjdGlvbkV2ZW50cyIsIk9QRU4iLCJJTklUSUFMIiwiX2Nvbm5lY3Rpb24iLCJjb25uZWN0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiUkVDT05ORUNUIiwiZ2VuZXJhdGVJbnRlcnZhbCIsIkNMT1NJTkciLCJjbG9zZSIsInNlbmQiLCJnZXRTdGF0ZSIsIkluZmluaXR5IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJfc2VuZCIsInNlbmRQcm9taXNlIiwidGltZW91dFByb21pc2UiLCJQcm9taXNlIiwicmFjZSIsImNvbm5lY3Rpb24iLCJmb3JFYWNoIiwibmFtZSIsImhhbmRsZXIiLCJvbiIsInJlbW92ZUxpc3RlbmVyIiwiUlRNQ2xpZW50RXZlbnRzIiwiUlRNQ2xpZW50U3RhdGUiLCJhdHRlbXB0cyIsIm1heEludGVy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dEVtaXR0ZXIgfSBmcm9tICdldmVudHMnO1xuaW1wb3J0IHdhcm5pbmcgZnJvbSAnd2FybmluZyc7XG5pbXBvcnQgaW52YXJpYW50IGZyb20gJ2ludmFyaWFudCc7XG5pbXBvcnQgZGVsYXkgZnJvbSAnZGVsYXknO1xuaW1wb3J0IFJUTUNsaWVudEV2ZW50cyBmcm9tICcuL1JUTUNsaWVudEV2ZW50cyc7XG5pbXBvcnQgUlRNQ2xpZW50U3RhdGUgZnJvbSAnLi9SVE1DbGllbnRTdGF0ZSc7XG5pbXBvcnQgUlRNQ29ubmVjdGlvbkV2ZW50cyBmcm9tICcuL1JUTUNvbm5lY3Rpb25FdmVudHMnO1xuaW1wb3J0IFJUTUNvbm5lY3Rpb24gZnJvbSAnLi9SVE1Db25uZWN0aW9uJztcblxuY2xhc3MgUlRNVGltZW91dEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihlcnJvck1lc3NhZ2UsIHJ0bU1lc3NhZ2UpIHtcbiAgICBzdXBlcihlcnJvck1lc3NhZ2UpO1xuICAgIHRoaXMucnRtTWVzc2FnZSA9IHJ0bU1lc3NhZ2U7XG4gIH1cbn1cblxuY2xhc3MgUlRNTm90Q29ubmVjdGVkRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKGVycm9yTWVzc2FnZSwgcnRtTWVzc2FnZSkge1xuICAgIHN1cGVyKGVycm9yTWVzc2FnZSk7XG4gICAgdGhpcy5ydG1NZXNzYWdlID0gcnRtTWVzc2FnZTtcbiAgfVxufVxuXG4vKipcbiAqIEtlZXAgYW4gUlRNIGNsaWVudCBydW5uaW5nIHdpdGggbXVsdGlwbGUuXG4gKlxuICogU3RhdGUgZGlhZ3JhbTpcbiAqXG4gKiAgICAgICAgICAgICAgICAgICAgSU5JVElBTFxuICogICAgICAgICAgICAgICAgICAgICAgICtcbiAqICAgICAgICAgIGVycm9yICAgICAgICB8XG4gKiAgICAgICstLS0tLS0tLS0tLS0tKyAgfFxuICogICAgICB2ICAgICAgICAgICAgICsgIHYgICAgICAgIGNvbm5lY3RcbiAqICBSRUNPTk5FQ1QrLS0tLS0tLT5DT05ORUNUSU5HPC0tLS0tLS0tLStDTE9TRURcbiAqICAgICAgXiAgICAgICAgICAgICAgICArICAgICAgICAgICAgICAgICAgICBeXG4gKiAgICAgIHwgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgfFxuICogICAgICB8ICAgIHNlcnZlciAgICAgIHwgICAgICAgICAgICAgICAgICAgIHxcbiAqICAgICAgfCAgICBjbG9zZS8gICAgICB2ICAgICAgICBjbG9zZSAgICAgICArXG4gKiAgICAgICstLS0tLS0tLS0tLS0rQ09OTkVDVEVEKy0tLS0tLS0tLS0+Q0xPU0lOR1xuICogICAgICAgICAgIGVycm9yXG4gKlxuICogQGNvbnN0cnVjdG9yXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtIHtzdHJpbmd8RnVuY3Rpb259IG9wdGlvbnMudXJsIC0gQSBzdHJpbmcgb3IgYSBmdW5jdGlvbiByZXR1cm5pbmdcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgc3RyaW5nIG9yIGEgUHJvbWlzZSByZXNvbHZlcyB0b1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBzdHJpbmcuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJUTUNsaWVudCBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG5cbiAgc3RhdGljIFJUTUNsaWVudEV2ZW50cyA9IFJUTUNsaWVudEV2ZW50cztcblxuICBzdGF0aWMgUlRNQ2xpZW50U3RhdGUgPSBSVE1DbGllbnRTdGF0ZTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIGNvbnN0IHsgdXJsIH0gPSBvcHRpb25zO1xuXG4gICAgd2FybmluZyhcbiAgICAgIHVybCxcbiAgICAgICdcInVybFwiIGlzIHJlcXVpcmVkLidcbiAgICApO1xuXG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiB1cmwgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB1cmwgPT09ICdmdW5jdGlvbicsXG4gICAgICAnXCJ1cmxcIiBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgZnVuY3Rpb24gcmV0dXJuaW5nIGEgc3RyaW5nLidcbiAgICApO1xuXG4gICAgY29uc3QgV2ViU29ja2V0ID0gb3B0aW9ucy5XZWJTb2NrZXQgfHwgd2luZG93LldlYlNvY2tldDtcblxuICAgIGludmFyaWFudChcbiAgICAgIFdlYlNvY2tldCxcbiAgICAgICdBIFdlYnNvY2tldCBjbGllbnQgaXMgcmVxdWlyZWQuJ1xuICAgICk7XG5cbiAgICB0aGlzLl91cmwgPSB1cmw7XG4gICAgdGhpcy5XZWJTb2NrZXQgPSBXZWJTb2NrZXQ7XG5cbiAgICB0aGlzLl9jb25uZWN0aW9uRXZlbnRzID0gW1xuICAgICAgW1JUTUNvbm5lY3Rpb25FdmVudHMuT1BFTiwgdGhpcy5faGFuZGxlQ29ubmVjdGlvbk9wZW5dLFxuICAgICAgW1JUTUNvbm5lY3Rpb25FdmVudHMuQ0xPU0UsIHRoaXMuX2hhbmRsZUNvbm5lY3Rpb25DbG9zZV0sXG4gICAgICBbUlRNQ29ubmVjdGlvbkV2ZW50cy5FUlJPUiwgdGhpcy5faGFuZGxlQ29ubmVjdGlvbkVycm9yXSxcbiAgICAgIFtSVE1Db25uZWN0aW9uRXZlbnRzLk1FU1NBR0UsIHRoaXMuX2hhbmRsZUNvbm5lY3Rpb25NZXNzYWdlXSxcbiAgICBdO1xuXG4gICAgdGhpcy5fc3RhdGUgPSBSVE1DbGllbnRTdGF0ZS5JTklUSUFMO1xuICAgIHRoaXMuX2Nvbm5lY3Rpb24gPSBudWxsO1xuICAgIHRoaXMuX2ZvcmNlQ2xvc2UgPSBmYWxzZTtcbiAgICB0aGlzLl9yZWNvbm5lY3RBdHRlbXB0cyA9IDE7XG5cbiAgICB0aGlzLmNvbm5lY3QoKTtcbiAgfVxuXG4gIGNvbm5lY3QoKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGludmFyaWFudChcbiAgICAgICAgdGhpcy5fc3RhdGUgPT09IFJUTUNsaWVudFN0YXRlLklOSVRJQUwgfHxcbiAgICAgICAgdGhpcy5fc3RhdGUgPT09IFJUTUNsaWVudFN0YXRlLkNMT1NFRCB8fFxuICAgICAgICB0aGlzLl9zdGF0ZSA9PT0gUlRNQ2xpZW50U3RhdGUuUkVDT05ORUNULFxuICAgICAgICAnSW52YWxpZCBzdGF0ZTogY29ubmVjdCgpIHNob3VsZCBhbHdheXMgYmUgY2FsbGVkIHdoZW4gY3VycmVudCBzdGF0ZSAnICtcbiAgICAgICAgJ2lzIFwiJXNcIiwgXCIlc1wiIG9yIFwiJXNcIiBidXQgdGhlIGN1cnJlbnQgc3RhdGUgaXMgXCIlc1wiLicsXG4gICAgICAgIFJUTUNsaWVudFN0YXRlLklOSVRJQUwsXG4gICAgICAgIFJUTUNsaWVudFN0YXRlLkNMT1NFRCxcbiAgICAgICAgUlRNQ2xpZW50U3RhdGUuUkVDT05ORUNULFxuICAgICAgICB0aGlzLl9zdGF0ZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kb0Nvbm5lY3QoKTtcbiAgfVxuXG4gIF9kb0Nvbm5lY3QgPSBhc3luYyAoKSA9PiB7XG4gICAgdGhpcy5fc3RhdGUgPSBSVE1DbGllbnRTdGF0ZS5DT05ORUNUSU5HO1xuXG4gICAgbGV0IHdzVXJsO1xuICAgIHRyeSB7XG4gICAgICB3c1VybCA9IGF3YWl0IHRoaXMuX2dldFVybCgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuX3JlY29ubmVjdCgpOyAvLyBpbnRlbnRpb25hbGx5IGlnbm9yZSBcImF3YWl0XCJcbiAgICAgIHRoaXMuZW1pdChSVE1DbGllbnRFdmVudHMuRVJST1IsIGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3JlY29ubmVjdEF0dGVtcHRzID0gMTtcbiAgICB0aGlzLl9zZXRDb25uZWN0aW9uKG5ldyBSVE1Db25uZWN0aW9uKHtcbiAgICAgIHVybDogd3NVcmwsXG4gICAgICBXZWJTb2NrZXQ6IHRoaXMuV2ViU29ja2V0XG4gICAgfSkpO1xuICB9O1xuXG4gIGFzeW5jIF9yZWNvbm5lY3QoKSB7XG4gICAgdGhpcy5fc3RhdGUgPSBSVE1DbGllbnRTdGF0ZS5SRUNPTk5FQ1Q7XG4gICAgYXdhaXQgZGVsYXkoZ2VuZXJhdGVJbnRlcnZhbCh0aGlzLl9yZWNvbm5lY3RBdHRlbXB0cykpO1xuICAgIHRoaXMuX3JlY29ubmVjdEF0dGVtcHRzKys7XG4gICAgdGhpcy5jb25uZWN0KCk7XG4gIH1cblxuICBhc3luYyBfZ2V0VXJsKCkge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuX3VybDtcblxuICAgIGlmICh0eXBlb2YgdXJsID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHVybDtcbiAgICB9XG5cbiAgICAvLyBhc3N1bWUgdXJsIGlzIGEgZnVuY3Rpb25cbiAgICByZXR1cm4gYXdhaXQgdXJsKCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICBpZiAodGhpcy5fY29ubmVjdGlvbiAmJiB0aGlzLl9zdGF0ZSAhPT0gUlRNQ2xpZW50U3RhdGUuQ0xPU0lORykge1xuICAgICAgdGhpcy5fc3RhdGUgPSBSVE1DbGllbnRTdGF0ZS5DTE9TSU5HO1xuICAgICAgdGhpcy5fZm9yY2VDbG9zZSA9IHRydWU7XG4gICAgICB0aGlzLl9jb25uZWN0aW9uLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgX3NlbmQobWVzc2FnZSkge1xuICAgIGlmICh0aGlzLl9jb25uZWN0aW9uKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5fY29ubmVjdGlvbi5zZW5kKG1lc3NhZ2UpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgUlRNTm90Q29ubmVjdGVkRXJyb3IoXG4gICAgICAnQ2xpZW50IGN1cnJlbnRseSBub3QgY29ubmVjdGVkLCB0aGUgY3VycmVudCBzdGF0ZSBpczogJyArIHRoaXMuZ2V0U3RhdGUoKVxuICAgICk7XG4gIH1cblxuXG4gIGFzeW5jIHNlbmQobWVzc2FnZSwgdGltZW91dCkge1xuICAgIGlmICghdGltZW91dCB8fCB0aW1lb3V0IDwgMCkge1xuICAgICAgdGltZW91dCA9IEluZmluaXR5O1xuICAgIH1cblxuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKHRpbWVvdXQpKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2VuZChtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZW5kUHJvbWlzZSA9IHRoaXMuX3NlbmQobWVzc2FnZSk7XG4gICAgY29uc3QgdGltZW91dFByb21pc2UgPSB0aW1lb3V0RGVsYXkodGltZW91dCwgbWVzc2FnZSk7XG4gICAgcmV0dXJuIFByb21pc2UucmFjZShbc2VuZFByb21pc2UsIHRpbWVvdXRQcm9taXNlXSk7XG4gIH1cblxuICBfaGFuZGxlQ29ubmVjdGlvbk9wZW4gPSAoKSA9PiB7XG4gICAgdGhpcy5fc3RhdGUgPSBSVE1DbGllbnRTdGF0ZS5DT05ORUNURUQ7XG4gICAgdGhpcy5lbWl0KFJUTUNsaWVudEV2ZW50cy5PTkxJTkUpO1xuICB9O1xuXG4gIF9oYW5kbGVDb25uZWN0aW9uQ2xvc2UgPSAoKSA9PiB7XG4gICAgdGhpcy5fcmVtb3ZlQ29ubmVjdGlvbigpO1xuICAgIHRoaXMuZW1pdChSVE1DbGllbnRFdmVudHMuT0ZGTElORSk7XG4gICAgaWYgKHRoaXMuX2ZvcmNlQ2xvc2UpIHtcbiAgICAgIC8vIGNsaWVudCBjbG9zZSwgY2xvc2Ugbm9ybWFsbHlcbiAgICAgIHRoaXMuX3N0YXRlID0gUlRNQ2xpZW50U3RhdGUuQ0xPU0VEO1xuICAgICAgdGhpcy5lbWl0KFJUTUNsaWVudEV2ZW50cy5DTE9TRSk7XG4gICAgICB0aGlzLl9mb3JjZUNsb3NlID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHNlcnZlciBjbG9zZSBvciBlcnJvciwgcmUtY29ubmVjdFxuICAgICAgdGhpcy5fcmVjb25uZWN0KCk7XG4gICAgfVxuICB9O1xuXG4gIF9oYW5kbGVDb25uZWN0aW9uRXJyb3IgPSAoZXJyb3IpID0+IHtcbiAgICB0aGlzLmVtaXQoUlRNQ2xpZW50RXZlbnRzLkVSUk9SLCBlcnJvcik7XG4gIH07XG5cbiAgX2hhbmRsZUNvbm5lY3Rpb25NZXNzYWdlID0gKG1lc3NhZ2UpID0+IHtcbiAgICB0aGlzLmVtaXQoUlRNQ2xpZW50RXZlbnRzLk1FU1NBR0UsIG1lc3NhZ2UpO1xuICB9O1xuXG4gIGdldFN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgfVxuXG4gIF9zZXRDb25uZWN0aW9uKGNvbm5lY3Rpb24pIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaW52YXJpYW50KFxuICAgICAgICAhdGhpcy5fY29ubmVjdGlvbixcbiAgICAgICAgJ1Nob3VsZCBub3Qgc2V0IGNvbm5lY3Rpb24gd2hlbiBjb25uZWN0aW9uIGFscmVhZHkgZXhpc3RzLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5fY29ubmVjdGlvbkV2ZW50cy5mb3JFYWNoKChbbmFtZSwgaGFuZGxlcl0pID0+IHtcbiAgICAgIGNvbm5lY3Rpb24ub24obmFtZSwgaGFuZGxlcik7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9jb25uZWN0aW9uID0gY29ubmVjdGlvbjtcbiAgfVxuXG4gIF9yZW1vdmVDb25uZWN0aW9uKCkge1xuICAgIGNvbnN0IGNvbm5lY3Rpb24gPSB0aGlzLl9jb25uZWN0aW9uO1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGludmFyaWFudChcbiAgICAgICAgY29ubmVjdGlvbixcbiAgICAgICAgJ0Nvbm5lY3Rpb24gbm90IHNldCBvciBhbHJlYWR5IHJlbW92ZWQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jb25uZWN0aW9uRXZlbnRzLmZvckVhY2goKFtuYW1lLCBoYW5kbGVyXSkgPT4ge1xuICAgICAgY29ubmVjdGlvbi5yZW1vdmVMaXN0ZW5lcihuYW1lLCBoYW5kbGVyKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2Nvbm5lY3Rpb24gPSBudWxsO1xuICB9XG59XG5cbi8vIGV4cG9uZW50aWFsIGJhY2tvZmYsIDMwIHNlY29uZHMgbWF4XG5mdW5jdGlvbiBnZW5lcmF0ZUludGVydmFsKGF0dGVtcHRzKSB7XG4gIGNvbnN0IG1heEludGVydmFsID0gTWF0aC5taW4oMzAsIChNYXRoLnBvdygyLCBhdHRlbXB0cykgLSAxKSkgKiAxMDAwO1xuICByZXR1cm4gTWF0aC5yYW5kb20oKSAqIG1heEludGVydmFsO1xufVxuXG5hc3luYyBmdW5jdGlvbiB0aW1lb3V0RGVsYXkodGltZW91dCwgbWVzc2FnZSkge1xuICBhd2FpdCBkZWxheSh0aW1lb3V0KTtcbiAgdGhyb3cgbmV3IFJUTVRpbWVvdXRFcnJvcignUlRNIG1lc3NhZ2Ugc2VuZCB0aW1lb3V0LicsIG1lc3NhZ2UpO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9SVE1DbGllbnQuanMiXSwibmFtZXMiOlsidGltZW91dCIsIm1lc3NhZ2UiLCJSVE1UaW1lb3V0RXJyb3IiLCJ0aW1lb3V0RGVsYXkiLCJlcnJvck1lc3NhZ2UiLCJydG1NZXNzYWdlIiwiRXJyb3IiLCJSVE1Ob3RDb25uZWN0ZWRFcnJvciIsIlJUTUNsaWVudCIsIm9wdGlvbnMiLCJfZG9Db25uZWN0IiwiX3N0YXRlIiwiQ09OTkVDVElORyIsIndzVXJsIiwiX2dldFVybCIsIl9yZWNvbm5lY3QiLCJlbWl0IiwiRVJST1IiLCJfcmVjb25uZWN0QXR0ZW1wdHMiLCJfc2V0Q29ubmVjdGlvbiIsInVybCIsIldlYlNvY2tldCIsIl9oYW5kbGVDb25uZWN0aW9uT3BlbiIsIkNPTk5FQ1RFRCIsIk9OTElORSIsIl9oYW5kbGVDb25uZWN0aW9uQ2xvc2UiLCJfcmVtb3ZlQ29ubmVjdGlvbiIsIk9GRkxJTkUiLCJfZm9yY2VDbG9zZSIsIkNMT1NFRCIsIkNMT1NFIiwiX2hhbmRsZUNvbm5lY3Rpb25FcnJvciIsImVycm9yIiwiX2hhbmRsZUNvbm5lY3Rpb25NZXNzYWdlIiwiTUVTU0FHRSIsIndpbmRvdyIsIl91cmwiLCJfY29ubmVjdGlvbkV2ZW50cyIsIk9QRU4iLCJJTklUSUFMIiwiX2Nvbm5lY3Rpb24iLCJjb25uZWN0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiUkVDT05ORUNUIiwiZ2VuZXJhdGVJbnRlcnZhbCIsIkNMT1NJTkciLCJjbG9zZSIsInNlbmQiLCJnZXRTdGF0ZSIsIkluZmluaXR5IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJfc2VuZCIsInNlbmRQcm9taXNlIiwidGltZW91dFByb21pc2UiLCJQcm9taXNlIiwicmFjZSIsImNvbm5lY3Rpb24iLCJmb3JFYWNoIiwibmFtZSIsImhhbmRsZXIiLCJvbiIsInJlbW92ZUxpc3RlbmVyIiwiUlRNQ2xpZW50RXZlbnRzIiwiUlRNQ2xpZW50U3RhdGUiLCJhdHRlbXB0cyIsIm1heEludGVy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SixXQUF2QjtBQUNEIiwiZmlsZSI6IlJUTUNsaWVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ2V2ZW50cyc7XG5pbXBvcnQgd2FybmluZyBmcm9tICd3YXJuaW5nJztcbmltcG9ydCBpbnZhcmlhbnQgZnJvbSAnaW52YXJpYW50JztcbmltcG9ydCBkZWxheSBmcm9tICdkZWxheSc7XG5pbXBvcnQgUlRNQ2xpZW50RXZlbnRzIGZyb20gJy4vUlRNQ2xpZW50RXZlbnRzJztcbmltcG9ydCBSVE1DbGllbnRTdGF0ZSBmcm9tICcuL1JUTUNsaWVudFN0YXRlJztcbmltcG9ydCBSVE1Db25uZWN0aW9uRXZlbnRzIGZyb20gJy4vUlRNQ29ubmVjdGlvbkV2ZW50cyc7XG5pbXBvcnQgUlRNQ29ubmVjdGlvbiBmcm9tICcuL1JUTUNvbm5lY3Rpb24nO1xuXG5jbGFzcyBSVE1UaW1lb3V0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKGVycm9yTWVzc2FnZSwgcnRtTWVzc2FnZSkge1xuICAgIHN1cGVyKGVycm9yTWVzc2FnZSk7XG4gICAgdGhpcy5ydG1NZXNzYWdlID0gcnRtTWVzc2FnZTtcbiAgfVxufVxuXG5jbGFzcyBSVE1Ob3RDb25uZWN0ZWRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoZXJyb3JNZXNzYWdlLCBydG1NZXNzYWdlKSB7XG4gICAgc3VwZXIoZXJyb3JNZXNzYWdlKTtcbiAgICB0aGlzLnJ0bU1lc3NhZ2UgPSBydG1NZXNzYWdlO1xuICB9XG59XG5cbi8qKlxuICogS2VlcCBhbiBSVE0gY2xpZW50IHJ1bm5pbmcgd2l0aCBtdWx0aXBsZS5cbiAqXG4gKiBTdGF0ZSBkaWFncmFtOlxuICpcbiAqICAgICAgICAgICAgICAgICAgICBJTklUSUFMXG4gKiAgICAgICAgICAgICAgICAgICAgICAgK1xuICogICAgICAgICAgZXJyb3IgICAgICAgIHxcbiAqICAgICAgKy0tLS0tLS0tLS0tLS0rICB8XG4gKiAgICAgIHYgICAgICAgICAgICAgKyAgdiAgICAgICAgY29ubmVjdFxuICogIFJFQ09OTkVDVCstLS0tLS0tPkNPTk5FQ1RJTkc8LS0tLS0tLS0tK0NMT1NFRFxuICogICAgICBeICAgICAgICAgICAgICAgICsgICAgICAgICAgICAgICAgICAgIF5cbiAqICAgICAgfCAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICB8XG4gKiAgICAgIHwgICAgc2VydmVyICAgICAgfCAgICAgICAgICAgICAgICAgICAgfFxuICogICAgICB8ICAgIGNsb3NlLyAgICAgIHYgICAgICAgIGNsb3NlICAgICAgICtcbiAqICAgICAgKy0tLS0tLS0tLS0tLStDT05ORUNURUQrLS0tLS0tLS0tLT5DTE9TSU5HXG4gKiAgICAgICAgICAgZXJyb3JcbiAqXG4gKiBAY29uc3RydWN0b3JcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcGFyYW0ge3N0cmluZ3xGdW5jdGlvbn0gb3B0aW9ucy51cmwgLSBBIHN0cmluZyBvciBhIGZ1bmN0aW9uIHJldHVybmluZ1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBzdHJpbmcgb3IgYSBQcm9taXNlIHJlc29sdmVzIHRvXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHN0cmluZy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUlRNQ2xpZW50IGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcblxuICBzdGF0aWMgUlRNQ2xpZW50RXZlbnRzID0gUlRNQ2xpZW50RXZlbnRzO1xuXG4gIHN0YXRpYyBSVE1DbGllbnRTdGF0ZSA9IFJUTUNsaWVudFN0YXRlO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgY29uc3QgeyB1cmwgfSA9IG9wdGlvbnM7XG5cbiAgICB3YXJuaW5nKFxuICAgICAgdXJsLFxuICAgICAgJ1widXJsXCIgaXMgcmVxdWlyZWQuJ1xuICAgICk7XG5cbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHVybCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHVybCA9PT0gJ2Z1bmN0aW9uJyxcbiAgICAgICdcInVybFwiIG11c3QgYmUgYSBzdHJpbmcgb3IgYSBmdW5jdGlvbiByZXR1cm5pbmcgYSBzdHJpbmcuJ1xuICAgICk7XG5cbiAgICBsZXQgV2ViU29ja2V0ID0gb3B0aW9ucy5XZWJTb2NrZXQ7XG4gICAgaWYgKCFXZWJTb2NrZXQgJiYgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIFdlYlNvY2tldCA9IHdpbmRvdy5XZWJTb2NrZXQ7XG4gICAgfVxuXG4gICAgaW52YXJpYW50KFxuICAgICAgV2ViU29ja2V0LFxuICAgICAgJ0EgV2Vic29ja2V0IGNsaWVudCBpcyByZXF1aXJlZC4nXG4gICAgKTtcblxuICAgIHRoaXMuX3VybCA9IHVybDtcbiAgICB0aGlzLldlYlNvY2tldCA9IFdlYlNvY2tldDtcblxuICAgIHRoaXMuX2Nvbm5lY3Rpb25FdmVudHMgPSBbXG4gICAgICBbUlRNQ29ubmVjdGlvbkV2ZW50cy5PUEVOLCB0aGlzLl9oYW5kbGVDb25uZWN0aW9uT3Blbl0sXG4gICAgICBbUlRNQ29ubmVjdGlvbkV2ZW50cy5DTE9TRSwgdGhpcy5faGFuZGxlQ29ubmVjdGlvbkNsb3NlXSxcbiAgICAgIFtSVE1Db25uZWN0aW9uRXZlbnRzLkVSUk9SLCB0aGlzLl9oYW5kbGVDb25uZWN0aW9uRXJyb3JdLFxuICAgICAgW1JUTUNvbm5lY3Rpb25FdmVudHMuTUVTU0FHRSwgdGhpcy5faGFuZGxlQ29ubmVjdGlvbk1lc3NhZ2VdLFxuICAgIF07XG5cbiAgICB0aGlzLl9zdGF0ZSA9IFJUTUNsaWVudFN0YXRlLklOSVRJQUw7XG4gICAgdGhpcy5fY29ubmVjdGlvbiA9IG51bGw7XG4gICAgdGhpcy5fZm9yY2VDbG9zZSA9IGZhbHNlO1xuICAgIHRoaXMuX3JlY29ubmVjdEF0dGVtcHRzID0gMTtcblxuICAgIHRoaXMuY29ubmVjdCgpO1xuICB9XG5cbiAgY29ubmVjdCgpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaW52YXJpYW50KFxuICAgICAgICB0aGlzLl9zdGF0ZSA9PT0gUlRNQ2xpZW50U3RhdGUuSU5JVElBTCB8fFxuICAgICAgICB0aGlzLl9zdGF0ZSA9PT0gUlRNQ2xpZW50U3RhdGUuQ0xPU0VEIHx8XG4gICAgICAgIHRoaXMuX3N0YXRlID09PSBSVE1DbGllbnRTdGF0ZS5SRUNPTk5FQ1QsXG4gICAgICAgICdJbnZhbGlkIHN0YXRlOiBjb25uZWN0KCkgc2hvdWxkIGFsd2F5cyBiZSBjYWxsZWQgd2hlbiBjdXJyZW50IHN0YXRlICcgK1xuICAgICAgICAnaXMgXCIlc1wiLCBcIiVzXCIgb3IgXCIlc1wiIGJ1dCB0aGUgY3VycmVudCBzdGF0ZSBpcyBcIiVzXCIuJyxcbiAgICAgICAgUlRNQ2xpZW50U3RhdGUuSU5JVElBTCxcbiAgICAgICAgUlRNQ2xpZW50U3RhdGUuQ0xPU0VELFxuICAgICAgICBSVE1DbGllbnRTdGF0ZS5SRUNPTk5FQ1QsXG4gICAgICAgIHRoaXMuX3N0YXRlXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuX2RvQ29ubmVjdCgpO1xuICB9XG5cbiAgX2RvQ29ubmVjdCA9IGFzeW5jICgpID0+IHtcbiAgICB0aGlzLl9zdGF0ZSA9IFJUTUNsaWVudFN0YXRlLkNPTk5FQ1RJTkc7XG5cbiAgICBsZXQgd3NVcmw7XG4gICAgdHJ5IHtcbiAgICAgIHdzVXJsID0gYXdhaXQgdGhpcy5fZ2V0VXJsKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5fcmVjb25uZWN0KCk7IC8vIGludGVudGlvbmFsbHkgaWdub3JlIFwiYXdhaXRcIlxuICAgICAgdGhpcy5lbWl0KFJUTUNsaWVudEV2ZW50cy5FUlJPUiwgZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fcmVjb25uZWN0QXR0ZW1wdHMgPSAxO1xuICAgIHRoaXMuX3NldENvbm5lY3Rpb24obmV3IFJUTUNvbm5lY3Rpb24oe1xuICAgICAgdXJsOiB3c1VybCxcbiAgICAgIFdlYlNvY2tldDogdGhpcy5XZWJTb2NrZXRcbiAgICB9KSk7XG4gIH07XG5cbiAgYXN5bmMgX3JlY29ubmVjdCgpIHtcbiAgICB0aGlzLl9zdGF0ZSA9IFJUTUNsaWVudFN0YXRlLlJFQ09OTkVDVDtcbiAgICBhd2FpdCBkZWxheShnZW5lcmF0ZUludGVydmFsKHRoaXMuX3JlY29ubmVjdEF0dGVtcHRzKSk7XG4gICAgdGhpcy5fcmVjb25uZWN0QXR0ZW1wdHMrKztcbiAgICB0aGlzLmNvbm5lY3QoKTtcbiAgfVxuXG4gIGFzeW5jIF9nZXRVcmwoKSB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5fdXJsO1xuXG4gICAgaWYgKHR5cGVvZiB1cmwgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdXJsO1xuICAgIH1cblxuICAgIC8vIGFzc3VtZSB1cmwgaXMgYSBmdW5jdGlvblxuICAgIHJldHVybiBhd2FpdCB1cmwoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGlmICh0aGlzLl9jb25uZWN0aW9uICYmIHRoaXMuX3N0YXRlICE9PSBSVE1DbGllbnRTdGF0ZS5DTE9TSU5HKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9IFJUTUNsaWVudFN0YXRlLkNMT1NJTkc7XG4gICAgICB0aGlzLl9mb3JjZUNsb3NlID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBfc2VuZChtZXNzYWdlKSB7XG4gICAgaWYgKHRoaXMuX2Nvbm5lY3Rpb24pIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLl9jb25uZWN0aW9uLnNlbmQobWVzc2FnZSk7XG4gICAgfVxuICAgIHRocm93IG5ldyBSVE1Ob3RDb25uZWN0ZWRFcnJvcihcbiAgICAgICdDbGllbnQgY3VycmVudGx5IG5vdCBjb25uZWN0ZWQsIHRoZSBjdXJyZW50IHN0YXRlIGlzOiAnICsgdGhpcy5nZXRTdGF0ZSgpXG4gICAgKTtcbiAgfVxuXG5cbiAgYXN5bmMgc2VuZChtZXNzYWdlLCB0aW1lb3V0KSB7XG4gICAgaWYgKCF0aW1lb3V0IHx8IHRpbWVvdXQgPCAwKSB7XG4gICAgICB0aW1lb3V0ID0gSW5maW5pdHk7XG4gICAgfVxuXG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUodGltZW91dCkpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLl9zZW5kKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbmRQcm9taXNlID0gdGhpcy5fc2VuZChtZXNzYWdlKTtcbiAgICBjb25zdCB0aW1lb3V0UHJvbWlzZSA9IHRpbWVvdXREZWxheSh0aW1lb3V0LCBtZXNzYWdlKTtcbiAgICByZXR1cm4gUHJvbWlzZS5yYWNlKFtzZW5kUHJvbWlzZSwgdGltZW91dFByb21pc2VdKTtcbiAgfVxuXG4gIF9oYW5kbGVDb25uZWN0aW9uT3BlbiA9ICgpID0+IHtcbiAgICB0aGlzLl9zdGF0ZSA9IFJUTUNsaWVudFN0YXRlLkNPTk5FQ1RFRDtcbiAgICB0aGlzLmVtaXQoUlRNQ2xpZW50RXZlbnRzLk9OTElORSk7XG4gIH07XG5cbiAgX2hhbmRsZUNvbm5lY3Rpb25DbG9zZSA9ICgpID0+IHtcbiAgICB0aGlzLl9yZW1vdmVDb25uZWN0aW9uKCk7XG4gICAgdGhpcy5lbWl0KFJUTUNsaWVudEV2ZW50cy5PRkZMSU5FKTtcbiAgICBpZiAodGhpcy5fZm9yY2VDbG9zZSkge1xuICAgICAgLy8gY2xpZW50IGNsb3NlLCBjbG9zZSBub3JtYWxseVxuICAgICAgdGhpcy5fc3RhdGUgPSBSVE1DbGllbnRTdGF0ZS5DTE9TRUQ7XG4gICAgICB0aGlzLmVtaXQoUlRNQ2xpZW50RXZlbnRzLkNMT1NFKTtcbiAgICAgIHRoaXMuX2ZvcmNlQ2xvc2UgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gc2VydmVyIGNsb3NlIG9yIGVycm9yLCByZS1jb25uZWN0XG4gICAgICB0aGlzLl9yZWNvbm5lY3QoKTtcbiAgICB9XG4gIH07XG5cbiAgX2hhbmRsZUNvbm5lY3Rpb25FcnJvciA9IChlcnJvcikgPT4ge1xuICAgIHRoaXMuZW1pdChSVE1DbGllbnRFdmVudHMuRVJST1IsIGVycm9yKTtcbiAgfTtcblxuICBfaGFuZGxlQ29ubmVjdGlvbk1lc3NhZ2UgPSAobWVzc2FnZSkgPT4ge1xuICAgIHRoaXMuZW1pdChSVE1DbGllbnRFdmVudHMuTUVTU0FHRSwgbWVzc2FnZSk7XG4gIH07XG5cbiAgZ2V0U3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICB9XG5cbiAgX3NldENvbm5lY3Rpb24oY29ubmVjdGlvbikge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpbnZhcmlhbnQoXG4gICAgICAgICF0aGlzLl9jb25uZWN0aW9uLFxuICAgICAgICAnU2hvdWxkIG5vdCBzZXQgY29ubmVjdGlvbiB3aGVuIGNvbm5lY3Rpb24gYWxyZWFkeSBleGlzdHMuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jb25uZWN0aW9uRXZlbnRzLmZvckVhY2goKFtuYW1lLCBoYW5kbGVyXSkgPT4ge1xuICAgICAgY29ubmVjdGlvbi5vbihuYW1lLCBoYW5kbGVyKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2Nvbm5lY3Rpb24gPSBjb25uZWN0aW9uO1xuICB9XG5cbiAgX3JlbW92ZUNvbm5lY3Rpb24oKSB7XG4gICAgY29uc3QgY29ubmVjdGlvbiA9IHRoaXMuX2Nvbm5lY3Rpb247XG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaW52YXJpYW50KFxuICAgICAgICBjb25uZWN0aW9uLFxuICAgICAgICAnQ29ubmVjdGlvbiBub3Qgc2V0IG9yIGFscmVhZHkgcmVtb3ZlZC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuX2Nvbm5lY3Rpb25FdmVudHMuZm9yRWFjaCgoW25hbWUsIGhhbmRsZXJdKSA9PiB7XG4gICAgICBjb25uZWN0aW9uLnJlbW92ZUxpc3RlbmVyKG5hbWUsIGhhbmRsZXIpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fY29ubmVjdGlvbiA9IG51bGw7XG4gIH1cbn1cblxuLy8gZXhwb25lbnRpYWwgYmFja29mZiwgMzAgc2Vjb25kcyBtYXhcbmZ1bmN0aW9uIGdlbmVyYXRlSW50ZXJ2YWwoYXR0ZW1wdHMpIHtcbiAgY29uc3QgbWF4SW50ZXJ2YWwgPSBNYXRoLm1pbigzMCwgKE1hdGgucG93KDIsIGF0dGVtcHRzKSAtIDEpKSAqIDEwMDA7XG4gIHJldHVybiBNYXRoLnJhbmRvbSgpICogbWF4SW50ZXJ2YWw7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHRpbWVvdXREZWxheSh0aW1lb3V0LCBtZXNzYWdlKSB7XG4gIGF3YWl0IGRlbGF5KHRpbWVvdXQpO1xuICB0aHJvdyBuZXcgUlRNVGltZW91dEVycm9yKCdSVE0gbWVzc2FnZSBzZW5kIHRpbWVvdXQuJywgbWVzc2FnZSk7XG59XG4iXX0= |
56472
624