Comparing version 0.3.3 to 0.3.4
@@ -82,3 +82,3 @@ 'use strict'; | ||
if (changesToDeliver.length) { | ||
observerNext.call(observer, changes); | ||
observerNext.call(observer, changesToDeliver); | ||
} | ||
@@ -339,2 +339,2 @@ } | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJMaXZlU2V0IiwiaW5pdCIsIl92YWx1ZXMiLCJfYWN0aXZlIiwiX2VuZGVkIiwiX2VuZGVkV2l0aEVycm9yIiwiX2Vycm9yIiwiX3F1ZXVlZENhbGwiLCJfY2hhbmdlUXVldWUiLCJfb2JzZXJ2ZXJzIiwiX2luaXQiLCJyZWNvcmQiLCJwdXNoIiwiY2hhbmdlcyIsIm9ic2VydmVyc1RvQ2FsbCIsImVuZGVkIiwic2xpY2UiLCJmb3JFYWNoIiwib2JzZXJ2ZXIiLCJpZ25vcmUiLCJvYnNlcnZlck5leHQiLCJuZXh0IiwiY2FsbCIsImNoYW5nZXNUb0RlbGl2ZXIiLCJsZW5ndGgiLCJlcnJvciIsImNvbXBsZXRlIiwiRXJyb3IiLCJsaXN0ZW5IYW5kbGVyIiwidW5zdWJzY3JpYmUiLCJ2YWx1ZXMiLCJwdWxsQ2hhbmdlcyIsInJlYWQiLCJvYnNlcnZlck9yT25OZXh0Iiwib25FcnJvciIsIm9uQ29tcGxldGUiLCJsaXZlU2V0Iiwic3Vic2NyaXB0aW9uIiwiY2xvc2VkIiwic3RhcnQiLCJvYnNlcnZlclJlY29yZCIsImluZGV4T2YiLCJpeCIsInNwbGljZSIsIl9kZWFjdGl2YXRlIiwiY2hhbmdlUXVldWVMZW5ndGgiLCJvcmlnaW5hbE5leHQiLCJjb250cm9sbGVyIiwiYWRkIiwiaGFzIiwidmFsdWUiLCJfcXVldWVDaGFuZ2UiLCJ0eXBlIiwicmVtb3ZlIiwiZGVsZXRlIiwiZXJyIiwiZW5kIiwiYWN0aXZlIiwic2V0VmFsdWVzRXJyb3IiLCJzZXRWYWx1ZXMiLCJsaXN0ZW5IYW5kbGVyT3JGdW5jdGlvbiIsImxpc3RlbiIsIlR5cGVFcnJvciIsImluaXRpYWxWYWx1ZXMiLCJzZXQiLCJfY29udHJvbGxlciIsInN1YnNjcmliZSIsInByb3RvdHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7O0FBQ0E7Ozs7OztJQWdEcUJBLE87QUFlbkIsbUJBQVlDLElBQVosRUFBa0M7QUFBQTtBQUFBLFNBWmxDQyxPQVlrQyxHQVpmLElBWWU7QUFBQSxTQVhsQ0MsT0FXa0MsR0FSOUIsSUFROEI7QUFBQSxTQVBsQ0MsTUFPa0MsR0FQaEIsS0FPZ0I7QUFBQSxTQU5sQ0MsZUFNa0MsR0FOUCxLQU1PO0FBQUEsU0FMbENDLE1BS2tDLEdBTHBCLElBS29CO0FBQUEsU0FKbENDLFdBSWtDLEdBSlgsS0FJVztBQUFBLFNBSGxDQyxZQUdrQyxHQUhZLEVBR1o7QUFBQSxTQUZsQ0MsVUFFa0MsR0FGWSxFQUVaOztBQUNoQyxTQUFLQyxLQUFMLEdBQWFULElBQWI7QUFDRDs7OztpQ0FzQllVLE0sRUFBaUM7QUFBQTs7QUFDNUMsVUFBSUEsTUFBSixFQUFZO0FBQ1YsYUFBS0gsWUFBTCxDQUFrQkksSUFBbEIsQ0FBdUJELE1BQXZCO0FBQ0Q7QUFDRCxVQUFJLENBQUMsS0FBS0osV0FBVixFQUF1QjtBQUNyQixhQUFLQSxXQUFMLEdBQW1CLElBQW5CO0FBQ0EsNEJBQUssWUFBTTtBQUNULGdCQUFLQSxXQUFMLEdBQW1CLEtBQW5CO0FBQ0EsY0FBTU0sVUFBVSxNQUFLTCxZQUFyQjtBQUNBLGdCQUFLQSxZQUFMLEdBQW9CLEVBQXBCO0FBQ0EsY0FBSU0sd0JBQUo7QUFDQSxjQUFNQyxRQUFRLE1BQUtYLE1BQW5CO0FBQ0EsY0FBSVcsS0FBSixFQUFXO0FBQ1RELDhCQUFrQixNQUFLTCxVQUF2QjtBQUNBLGtCQUFLQSxVQUFMLEdBQWtCLEVBQWxCO0FBQ0QsV0FIRCxNQUdPO0FBQ0xLLDhCQUFrQixNQUFLTCxVQUFMLENBQWdCTyxLQUFoQixFQUFsQjtBQUNEO0FBQ0RGLDBCQUFnQkcsT0FBaEIsQ0FBd0Isa0JBQVU7QUFBQSxnQkFDekJDLFFBRHlCLEdBQ0xQLE1BREssQ0FDekJPLFFBRHlCO0FBQUEsZ0JBQ2ZDLE1BRGUsR0FDTFIsTUFESyxDQUNmUSxNQURlOztBQUVoQyxnQkFBTUMsZUFBZUYsU0FBU0csSUFBOUI7QUFDQSxnQkFBSUQsWUFBSixFQUFrQjtBQUNoQixrQkFBSUQsV0FBVyxDQUFmLEVBQWtCO0FBQ2hCQyw2QkFBYUUsSUFBYixDQUFrQkosUUFBbEIsRUFBNEJMLE9BQTVCO0FBQ0QsZUFGRCxNQUVPO0FBQ0xGLHVCQUFPUSxNQUFQLEdBQWdCLENBQWhCO0FBQ0Esb0JBQU1JLG1CQUFtQlYsUUFBUUcsS0FBUixDQUFjRyxNQUFkLENBQXpCO0FBQ0Esb0JBQUlJLGlCQUFpQkMsTUFBckIsRUFBNkI7QUFDM0JKLCtCQUFhRSxJQUFiLENBQWtCSixRQUFsQixFQUE0QkwsT0FBNUI7QUFDRDtBQUNGO0FBQ0Y7QUFDRCxnQkFBSUUsS0FBSixFQUFXO0FBQ1Qsa0JBQUksTUFBS1YsZUFBVCxFQUEwQjtBQUN4QixvQkFBSWEsU0FBU08sS0FBYixFQUFvQlAsU0FBU08sS0FBVCxDQUFlLE1BQUtuQixNQUFwQjtBQUNyQixlQUZELE1BRU87QUFDTCxvQkFBSVksU0FBU1EsUUFBYixFQUF1QlIsU0FBU1EsUUFBVDtBQUN4QjtBQUNGO0FBQ0YsV0FyQkQ7QUFzQkQsU0FsQ0Q7QUFtQ0Q7QUFDRjs7O2tDQUVhO0FBQ1osVUFBSSxDQUFDLEtBQUt2QixPQUFWLEVBQW1CLE1BQU0sSUFBSXdCLEtBQUosQ0FBVSxrQkFBVixDQUFOO0FBRFAsVUFFTEMsYUFGSyxHQUVZLEtBQUt6QixPQUZqQixDQUVMeUIsYUFGSzs7QUFHWixXQUFLekIsT0FBTCxHQUFlLElBQWY7QUFDQSxVQUFJeUIsYUFBSixFQUFtQjtBQUNqQkEsc0JBQWNDLFdBQWQ7QUFDRDtBQUNGOzs7NkJBRWdCO0FBQ2YsVUFBSSxLQUFLM0IsT0FBVCxFQUFrQjtBQUNoQixZQUFNNEIsVUFBUyxLQUFLNUIsT0FBcEI7QUFDQSxZQUFJLEtBQUtDLE9BQVQsRUFBa0I7QUFBQSxjQUNUeUIsY0FEUyxHQUNRLEtBQUt6QixPQURiLENBQ1R5QixhQURTOztBQUVoQixjQUFJQSxlQUFjRyxXQUFsQixFQUErQjtBQUM3QkgsMkJBQWNHLFdBQWQ7QUFDRDtBQUNGO0FBQ0QsZUFBTyxrQkFBUUQsT0FBUixDQUFQO0FBQ0QsT0FURCxNQVNPO0FBQ0wsWUFBSSxLQUFLM0IsT0FBVCxFQUFrQjtBQUNoQixnQkFBTSxJQUFJd0IsS0FBSixDQUFVLG1GQUFWLENBQU47QUFDRDtBQUNELGVBQU8sS0FBS2pCLEtBQUwsQ0FBV3NCLElBQVgsRUFBUDtBQUNEO0FBQ0Y7Ozs4QkFFa0I7QUFDakIsYUFBTyxLQUFLNUIsTUFBWjtBQUNEOzs7OEJBRVM2QixnQixFQUF5RkMsTyxFQUE4QkMsVSxFQUE4QztBQUFBOztBQUM3SyxVQUFNQyxVQUFVLElBQWhCOztBQUVBLFVBQUlsQixpQkFBSjtBQUNBLFVBQUksT0FBT2UsZ0JBQVAsS0FBNEIsVUFBaEMsRUFBNEM7QUFDMUNmLG1CQUFXO0FBQ1RHLGdCQUFNWSxnQkFERztBQUVUUixpQkFBT1MsT0FGRTtBQUdUUixvQkFBVVM7QUFIRCxTQUFYO0FBS0QsT0FORCxNQU1PO0FBQ0xqQixtQkFBV2UsZ0JBQVg7QUFDRDs7QUFFQWYsY0FBRDs7QUFFQSxVQUFJLEtBQUtkLE1BQVQsRUFBaUI7QUFBQTtBQUNmLGNBQU1pQyxlQUFlO0FBQ25CQyxvQkFBUSxLQURXO0FBRW5CVCx5QkFBYSx1QkFBTTtBQUNqQlEsMkJBQWFDLE1BQWIsR0FBc0IsSUFBdEI7QUFDRCxhQUprQjtBQUtuQlAseUJBQWEsdUJBQU0sQ0FBRTtBQUxGLFdBQXJCO0FBT0EsY0FBSWIsU0FBU3FCLEtBQWIsRUFBb0I7QUFDbEJyQixxQkFBU3FCLEtBQVQsQ0FBZUYsWUFBZjtBQUNEO0FBQ0QsY0FBSSxDQUFDQSxhQUFhQyxNQUFkLElBQXdCcEIsU0FBU1EsUUFBckMsRUFBK0M7QUFDN0NSLHFCQUFTUSxRQUFUO0FBQ0Q7QUFDRFcsdUJBQWFDLE1BQWIsR0FBc0IsSUFBdEI7QUFDQTtBQUFBLGVBQU9EO0FBQVA7QUFmZTs7QUFBQTtBQWdCaEI7O0FBRUQsVUFBTUcsaUJBQWlCLEVBQUN0QixrQkFBRCxFQUFXQyxRQUFRLEtBQUtYLFlBQUwsQ0FBa0JnQixNQUFyQyxFQUF2QjtBQUNBLFdBQUtmLFVBQUwsQ0FBZ0JHLElBQWhCLENBQXFCNEIsY0FBckI7QUFDQSxVQUFNSCxlQUFlO0FBQ25CLGdDQUF5QixJQUFJQyxNQUFKLEdBQWE7QUFDcEMsaUJBQU9GLFFBQVEzQixVQUFSLENBQW1CZ0MsT0FBbkIsQ0FBMkJELGNBQTNCLElBQTZDLENBQXBEO0FBQ0QsU0FIa0IsQ0FHbEI7QUFIa0IsVUFJbkJYLGFBQWEsdUJBQU07QUFDakIsY0FBTWEsS0FBSyxPQUFLakMsVUFBTCxDQUFnQmdDLE9BQWhCLENBQXdCRCxjQUF4QixDQUFYO0FBQ0EsY0FBSUUsTUFBTSxDQUFWLEVBQWE7QUFDWCxtQkFBS2pDLFVBQUwsQ0FBZ0JrQyxNQUFoQixDQUF1QkQsRUFBdkIsRUFBMkIsQ0FBM0I7QUFDQSxnQkFBSSxDQUFDLE9BQUt0QyxNQUFOLElBQWdCLE9BQUtLLFVBQUwsQ0FBZ0JlLE1BQWhCLEtBQTJCLENBQS9DLEVBQWtEO0FBQ2hELHFCQUFLdEIsT0FBTCxHQUFlLElBQWY7QUFDQSxxQkFBSzBDLFdBQUw7QUFDRDtBQUNGO0FBQ0YsU0Fia0I7QUFjbkJiLHFCQUFhLHVCQUFNO0FBQ2pCLGNBQUksT0FBSzVCLE9BQUwsSUFBZ0IsT0FBS0EsT0FBTCxDQUFheUIsYUFBN0IsSUFBOEMsT0FBS3pCLE9BQUwsQ0FBYXlCLGFBQWIsQ0FBMkJHLFdBQTdFLEVBQTBGO0FBQ3hGLG1CQUFLNUIsT0FBTCxDQUFheUIsYUFBYixDQUEyQkcsV0FBM0I7QUFDRDtBQUNELGNBQU1jLG9CQUFvQixPQUFLckMsWUFBTCxDQUFrQmdCLE1BQTVDO0FBQ0EsY0FBTXNCLGVBQWU1QixTQUFTRyxJQUE5QjtBQUNBLGNBQUl3QixzQkFBc0IsQ0FBdEIsSUFBMkJDLFlBQS9CLEVBQTZDO0FBQzNDLGdCQUFNdkIsbUJBQW1CLE9BQUtmLFlBQUwsQ0FBa0JRLEtBQWxCLENBQXdCd0IsZUFBZXJCLE1BQXZDLENBQXpCO0FBQ0EsZ0JBQUlJLGlCQUFpQkMsTUFBakIsS0FBNEIsQ0FBaEMsRUFBbUM7QUFDakNnQiw2QkFBZXJCLE1BQWYsR0FBd0IwQixpQkFBeEI7QUFDQUMsMkJBQWF4QixJQUFiLENBQWtCSixRQUFsQixFQUE0QkssZ0JBQTVCO0FBQ0Q7QUFDRjtBQUNGO0FBM0JrQixPQUFyQjtBQTZCQSxVQUFJTCxTQUFTcUIsS0FBYixFQUFvQjtBQUNsQnJCLGlCQUFTcUIsS0FBVCxDQUFlRixZQUFmO0FBQ0Q7QUFDRDtBQUNBLFVBQUksQ0FBQyxLQUFLbEMsT0FBTixJQUFpQixDQUFDa0MsYUFBYUMsTUFBbkMsRUFBMkM7QUFBQTtBQUN6QyxjQUFNUyxhQUFtQztBQUN2QztBQUNBLG9DQUF5QixJQUFJVCxNQUFKLEdBQWE7QUFDcEMscUJBQU8sQ0FBQ0YsUUFBUWpDLE9BQVQsSUFBb0JpQyxRQUFRakMsT0FBUixDQUFnQjRDLFVBQWhCLEtBQStCLElBQTFEO0FBQ0QsYUFKc0MsQ0FJdEM7QUFKc0MsY0FLdkNDLEtBQUssb0JBQVM7QUFDWixrQkFBTWxCLFNBQVMsT0FBSzVCLE9BQXBCO0FBQ0Esa0JBQUksQ0FBQzRCLE1BQUwsRUFBYSxNQUFNLElBQUlILEtBQUosQ0FBVSxtREFBVixDQUFOO0FBQ2Isa0JBQUksQ0FBQyxPQUFLdkIsTUFBTixJQUFnQixDQUFDMEIsT0FBT21CLEdBQVAsQ0FBV0MsS0FBWCxDQUFyQixFQUF3QztBQUN0Q3BCLHVCQUFPa0IsR0FBUCxDQUFXRSxLQUFYO0FBQ0EsdUJBQUtDLFlBQUwsQ0FBa0IsRUFBQ0MsTUFBTSxLQUFQLEVBQWNGLFlBQWQsRUFBbEI7QUFDRDtBQUNGLGFBWnNDO0FBYXZDRyxvQkFBUSx1QkFBUztBQUNmLGtCQUFNdkIsU0FBUyxPQUFLNUIsT0FBcEI7QUFDQSxrQkFBSSxDQUFDNEIsTUFBTCxFQUFhLE1BQU0sSUFBSUgsS0FBSixDQUFVLG1EQUFWLENBQU47QUFDYixrQkFBSSxDQUFDLE9BQUt2QixNQUFOLElBQWdCMEIsT0FBT21CLEdBQVAsQ0FBV0MsS0FBWCxDQUFwQixFQUF1QztBQUNyQ3BCLHVCQUFPd0IsTUFBUCxDQUFjSixLQUFkO0FBQ0EsdUJBQUtDLFlBQUwsQ0FBa0IsRUFBQ0MsTUFBTSxRQUFQLEVBQWlCRixZQUFqQixFQUFsQjtBQUNEO0FBQ0YsYUFwQnNDO0FBcUJ2Q3pCLG1CQUFPLG9CQUFPO0FBQ1osa0JBQUksT0FBS3JCLE1BQVQsRUFBaUI7QUFDakIscUJBQUtBLE1BQUwsR0FBYyxJQUFkO0FBQ0EscUJBQUtDLGVBQUwsR0FBdUIsSUFBdkI7QUFDQSxxQkFBS0MsTUFBTCxHQUFjaUQsR0FBZDtBQUNBLHFCQUFLSixZQUFMO0FBQ0EscUJBQUtQLFdBQUw7QUFDRCxhQTVCc0M7QUE2QnZDWSxpQkFBSyxlQUFNO0FBQ1Qsa0JBQUksT0FBS3BELE1BQVQsRUFBaUI7QUFDakIscUJBQUtBLE1BQUwsR0FBYyxJQUFkO0FBQ0EscUJBQUsrQyxZQUFMO0FBQ0EscUJBQUtQLFdBQUw7QUFDRDtBQWxDc0MsV0FBekM7QUFvQ0EsY0FBTWEsU0FBUyxPQUFLdEQsT0FBTCxHQUFlO0FBQzVCNEMsa0NBRDRCO0FBRTVCbkIsMkJBQWU7QUFDYkMsMkJBQWEsdUJBQU0sQ0FBRTtBQURSO0FBRmEsV0FBOUI7QUFNQSxjQUFNNkIsaUJBQWlCLFNBQWpCQSxjQUFpQixHQUFNO0FBQzNCLGtCQUFNLElBQUkvQixLQUFKLENBQVUsNkNBQVYsQ0FBTjtBQUNELFdBRkQ7QUFHQSxjQUFJZ0M7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUEsWUFBWSxrQkFBVTtBQUN4QkEsd0JBQVlELGNBQVo7QUFDQSxtQkFBS3hELE9BQUwsR0FBZTRCLE1BQWY7QUFDRCxXQUhHLENBQUo7QUFJQSxjQUFNOEIsMEJBQTBCLE9BQUtsRCxLQUFMLENBQVdtRCxNQUFYLENBQWtCO0FBQUEsbUJBQVVGLFVBQVU3QixNQUFWLENBQVY7QUFBQSxXQUFsQixFQUErQ2lCLFVBQS9DLENBQWhDO0FBQ0EsY0FBSSxDQUFDLE9BQUs3QyxPQUFWLEVBQW1CO0FBQ2pCd0Q7QUFDRDtBQUNEbEIseUJBQWVyQixNQUFmLEdBQXdCLE9BQUtYLFlBQUwsQ0FBa0JnQixNQUExQztBQUNBLGNBQUksT0FBT29DLHVCQUFQLEtBQW1DLFVBQXZDLEVBQW1EO0FBQ2pESCxtQkFBTzdCLGFBQVAsR0FBdUI7QUFDckJDLDJCQUFhK0I7QUFEUSxhQUF2QjtBQUdELFdBSkQsTUFJTyxJQUFJQSwyQkFBMkIsSUFBM0IsSUFBbUMsT0FBT0Esd0JBQXdCL0IsV0FBL0IsS0FBK0MsVUFBdEYsRUFBa0c7QUFDdkc0QixtQkFBTzdCLGFBQVAsR0FBdUJnQyx1QkFBdkI7QUFDRCxXQUZNLE1BRUEsSUFBSUEsMkJBQTJCLElBQS9CLEVBQXFDO0FBQzFDLGtCQUFNLElBQUlFLFNBQUosQ0FBYyx3RUFBZCxDQUFOO0FBQ0Q7QUFDRCxjQUFJZixXQUFXVCxNQUFmLEVBQXVCO0FBQ3JCLG1CQUFLbkMsT0FBTCxHQUFlc0QsTUFBZjtBQUNBLG1CQUFLYixXQUFMO0FBQ0Q7QUFuRXdDO0FBb0UxQzs7QUFFRCxhQUFPUCxZQUFQO0FBQ0Q7OzsyQkEzT2dCMEIsYSxFQUFpRjtBQUNoRyxVQUFNQyxNQUFNRCxpQkFBaUIsbUJBQTdCO0FBQ0EsVUFBSWhCLG1CQUFKO0FBQ0EsVUFBTVgsVUFBVSxJQUFJcEMsT0FBSixDQUFZO0FBQzFCZ0MsY0FBTTtBQUFBLGlCQUFNZ0MsR0FBTjtBQUFBLFNBRG9CO0FBRTFCSCxnQkFBUSxnQkFBQ0YsU0FBRCxFQUFZTSxXQUFaLEVBQTRCO0FBQ2xDTixvQkFBVUssR0FBVjtBQUNBakIsdUJBQWFrQixXQUFiO0FBQ0Q7QUFMeUIsT0FBWixDQUFoQjtBQU9BN0IsY0FBUThCLFNBQVIsQ0FBa0IsRUFBbEI7QUFDQSxhQUFPLEVBQUM5QixnQkFBRCxFQUFVVyxZQUFhQSxVQUF2QixFQUFQO0FBQ0Q7Ozs2QkFFa0JqQixNLEVBQTRCO0FBQUEsNEJBQ2Y5QixRQUFReUQsTUFBUixDQUFlM0IsTUFBZixDQURlO0FBQUEsVUFDdENNLE9BRHNDLG1CQUN0Q0EsT0FEc0M7QUFBQSxVQUM3QlcsVUFENkIsbUJBQzdCQSxVQUQ2Qjs7QUFFN0NBLGlCQUFXUyxHQUFYO0FBQ0EsYUFBT3BCLE9BQVA7QUFDRDs7Ozs7QUE0Tkg7QUFDQTs7O2tCQWxRcUJwQyxPO0FBbVFwQkEsT0FBRCxDQUFjbUUsU0FBZCwrQkFBd0MsWUFBVztBQUNqRCxTQUFPLElBQVA7QUFDRCxDQUZEIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IGFzYXAgZnJvbSAnYXNhcCc7XG5pbXBvcnQgJCRvYnNlcnZhYmxlIGZyb20gJ3N5bWJvbC1vYnNlcnZhYmxlJztcblxuZXhwb3J0IHR5cGUgTGl2ZVNldENoYW5nZVJlY29yZDxUPiA9XG4gIHt0eXBlOiAnYWRkJywgdmFsdWU6IFR9IHxcbiAge3R5cGU6ICdyZW1vdmUnLCB2YWx1ZTogVH0gfFxuICB7dHlwZTogJ2VuZCd9O1xuXG5leHBvcnQgdHlwZSBMaXZlU2V0Q29udHJvbGxlcjxUPiA9IHtcbiAgY2xvc2VkOiBib29sZWFuO1xuICBhZGQoaXRlbTogVCk6IHZvaWQ7XG4gIHJlbW92ZShpdGVtOiBUKTogdm9pZDtcbiAgZXJyb3IoZXJyOiBhbnkpOiB2b2lkO1xuICBlbmQoKTogdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIExpc3RlbkhhbmRsZXIgPSB7XG4gIHVuc3Vic2NyaWJlKCk6IHZvaWQ7XG4gICtwdWxsQ2hhbmdlcz86ID8oKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgTGl2ZVNldEluaXQ8VD4gPSB7XG4gIHJlYWQoKTogU2V0PFQ+O1xuICBsaXN0ZW4oXG4gICAgc2V0VmFsdWVzOiB7ICh2YWx1ZXM6IFNldDxUPik6IHZvaWQgfSxcbiAgICBjb250cm9sbGVyOiBMaXZlU2V0Q29udHJvbGxlcjxUPlxuICApOiA/TGlzdGVuSGFuZGxlcnwoKT0+dm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIExpdmVTZXRTdWJzY3JpYmVyPFQ+ID0gKGNoYW5nZXM6IEFycmF5PExpdmVTZXRDaGFuZ2VSZWNvcmQ8VD4+KSA9PiB2b2lkO1xuXG5leHBvcnQgdHlwZSBMaXZlU2V0U3Vic2NyaXB0aW9uID0ge1xuICBjbG9zZWQ6IGJvb2xlYW47XG4gIHVuc3Vic2NyaWJlKCk6IHZvaWQ7XG4gIHB1bGxDaGFuZ2VzKCk6IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBMaXZlU2V0T2JzZXJ2ZXI8VD4gPSB7XG4gIHN0YXJ0PzogPyhzdWJzY3JpcHRpb246IExpdmVTZXRTdWJzY3JpcHRpb24pID0+IHZvaWQ7XG4gIG5leHQ/OiA/KGNoYW5nZXM6IEFycmF5PExpdmVTZXRDaGFuZ2VSZWNvcmQ8VD4+KSA9PiB2b2lkO1xuICBlcnJvcj86ID8oZXJyOiBhbnkpID0+IHZvaWQ7XG4gIGNvbXBsZXRlPzogPygpID0+IHZvaWQ7XG59O1xuXG50eXBlIExpdmVTZXRPYnNlcnZlclJlY29yZDxUPiA9IHtcbiAgaWdub3JlOiBudW1iZXI7XG4gIG9ic2VydmVyOiBMaXZlU2V0T2JzZXJ2ZXI8VD47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMaXZlU2V0PFQ+IHtcbiAgX2luaXQ6IExpdmVTZXRJbml0PFQ+O1xuXG4gIF92YWx1ZXM6ID9TZXQ8VD4gPSBudWxsO1xuICBfYWN0aXZlOiA/e1xuICAgIGNvbnRyb2xsZXI6IExpdmVTZXRDb250cm9sbGVyPFQ+O1xuICAgIGxpc3RlbkhhbmRsZXI6IExpc3RlbkhhbmRsZXI7XG4gIH0gPSBudWxsO1xuICBfZW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgX2VuZGVkV2l0aEVycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIF9lcnJvcjogYW55ID0gbnVsbDtcbiAgX3F1ZXVlZENhbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgX2NoYW5nZVF1ZXVlOiBBcnJheTxMaXZlU2V0Q2hhbmdlUmVjb3JkPFQ+PiA9IFtdO1xuICBfb2JzZXJ2ZXJzOiBBcnJheTxMaXZlU2V0T2JzZXJ2ZXJSZWNvcmQ8VD4+ID0gW107XG5cbiAgY29uc3RydWN0b3IoaW5pdDogTGl2ZVNldEluaXQ8VD4pIHtcbiAgICB0aGlzLl9pbml0ID0gaW5pdDtcbiAgfVxuXG4gIHN0YXRpYyBhY3RpdmU8VD4oaW5pdGlhbFZhbHVlczogP1NldDxUPik6IHtsaXZlU2V0OiBMaXZlU2V0PFQ+LCBjb250cm9sbGVyOiBMaXZlU2V0Q29udHJvbGxlcjxUPn0ge1xuICAgIGNvbnN0IHNldCA9IGluaXRpYWxWYWx1ZXMgfHwgbmV3IFNldCgpO1xuICAgIGxldCBjb250cm9sbGVyO1xuICAgIGNvbnN0IGxpdmVTZXQgPSBuZXcgTGl2ZVNldCh7XG4gICAgICByZWFkOiAoKSA9PiBzZXQsXG4gICAgICBsaXN0ZW46IChzZXRWYWx1ZXMsIF9jb250cm9sbGVyKSA9PiB7XG4gICAgICAgIHNldFZhbHVlcyhzZXQpO1xuICAgICAgICBjb250cm9sbGVyID0gX2NvbnRyb2xsZXI7XG4gICAgICB9XG4gICAgfSk7XG4gICAgbGl2ZVNldC5zdWJzY3JpYmUoe30pO1xuICAgIHJldHVybiB7bGl2ZVNldCwgY29udHJvbGxlcjogKGNvbnRyb2xsZXI6IGFueSl9O1xuICB9XG5cbiAgc3RhdGljIGNvbnN0YW50PFQ+KHZhbHVlczogU2V0PFQ+KTogTGl2ZVNldDxUPiB7XG4gICAgY29uc3Qge2xpdmVTZXQsIGNvbnRyb2xsZXJ9ID0gTGl2ZVNldC5hY3RpdmUodmFsdWVzKTtcbiAgICBjb250cm9sbGVyLmVuZCgpO1xuICAgIHJldHVybiBsaXZlU2V0O1xuICB9XG5cbiAgX3F1ZXVlQ2hhbmdlKHJlY29yZDogP0xpdmVTZXRDaGFuZ2VSZWNvcmQ8VD4pIHtcbiAgICBpZiAocmVjb3JkKSB7XG4gICAgICB0aGlzLl9jaGFuZ2VRdWV1ZS5wdXNoKHJlY29yZCk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fcXVldWVkQ2FsbCkge1xuICAgICAgdGhpcy5fcXVldWVkQ2FsbCA9IHRydWU7XG4gICAgICBhc2FwKCgpID0+IHtcbiAgICAgICAgdGhpcy5fcXVldWVkQ2FsbCA9IGZhbHNlO1xuICAgICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5fY2hhbmdlUXVldWU7XG4gICAgICAgIHRoaXMuX2NoYW5nZVF1ZXVlID0gW107XG4gICAgICAgIGxldCBvYnNlcnZlcnNUb0NhbGw7XG4gICAgICAgIGNvbnN0IGVuZGVkID0gdGhpcy5fZW5kZWQ7XG4gICAgICAgIGlmIChlbmRlZCkge1xuICAgICAgICAgIG9ic2VydmVyc1RvQ2FsbCA9IHRoaXMuX29ic2VydmVycztcbiAgICAgICAgICB0aGlzLl9vYnNlcnZlcnMgPSBbXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYnNlcnZlcnNUb0NhbGwgPSB0aGlzLl9vYnNlcnZlcnMuc2xpY2UoKTtcbiAgICAgICAgfVxuICAgICAgICBvYnNlcnZlcnNUb0NhbGwuZm9yRWFjaChyZWNvcmQgPT4ge1xuICAgICAgICAgIGNvbnN0IHtvYnNlcnZlciwgaWdub3JlfSA9IHJlY29yZDtcbiAgICAgICAgICBjb25zdCBvYnNlcnZlck5leHQgPSBvYnNlcnZlci5uZXh0O1xuICAgICAgICAgIGlmIChvYnNlcnZlck5leHQpIHtcbiAgICAgICAgICAgIGlmIChpZ25vcmUgPT09IDApIHtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXJOZXh0LmNhbGwob2JzZXJ2ZXIsIGNoYW5nZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVjb3JkLmlnbm9yZSA9IDA7XG4gICAgICAgICAgICAgIGNvbnN0IGNoYW5nZXNUb0RlbGl2ZXIgPSBjaGFuZ2VzLnNsaWNlKGlnbm9yZSk7XG4gICAgICAgICAgICAgIGlmIChjaGFuZ2VzVG9EZWxpdmVyLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyTmV4dC5jYWxsKG9ic2VydmVyLCBjaGFuZ2VzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZW5kZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9lbmRlZFdpdGhFcnJvcikge1xuICAgICAgICAgICAgICBpZiAob2JzZXJ2ZXIuZXJyb3IpIG9ic2VydmVyLmVycm9yKHRoaXMuX2Vycm9yKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlmIChvYnNlcnZlci5jb21wbGV0ZSkgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgX2RlYWN0aXZhdGUoKSB7XG4gICAgaWYgKCF0aGlzLl9hY3RpdmUpIHRocm93IG5ldyBFcnJvcignYWxyZWFkeSBpbmFjdGl2ZScpO1xuICAgIGNvbnN0IHtsaXN0ZW5IYW5kbGVyfSA9IHRoaXMuX2FjdGl2ZTtcbiAgICB0aGlzLl9hY3RpdmUgPSBudWxsO1xuICAgIGlmIChsaXN0ZW5IYW5kbGVyKSB7XG4gICAgICBsaXN0ZW5IYW5kbGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgdmFsdWVzKCk6IFNldDxUPiB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlcykge1xuICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5fdmFsdWVzO1xuICAgICAgaWYgKHRoaXMuX2FjdGl2ZSkge1xuICAgICAgICBjb25zdCB7bGlzdGVuSGFuZGxlcn0gPSB0aGlzLl9hY3RpdmU7XG4gICAgICAgIGlmIChsaXN0ZW5IYW5kbGVyLnB1bGxDaGFuZ2VzKSB7XG4gICAgICAgICAgbGlzdGVuSGFuZGxlci5wdWxsQ2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IFNldCh2YWx1ZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5fYWN0aXZlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigndHJpZWQgdG8gY2FsbCB2YWx1ZXMoKSBvbiBsaXZlc2V0IGR1cmluZyBzdWJzY3JpcHRpb24gYmVmb3JlIHNldFZhbHVlcyB3YXMgY2FsbGVkJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5faW5pdC5yZWFkKCk7XG4gICAgfVxuICB9XG5cbiAgaXNFbmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZW5kZWQ7XG4gIH1cblxuICBzdWJzY3JpYmUob2JzZXJ2ZXJPck9uTmV4dDogTGl2ZVNldE9ic2VydmVyPFQ+IHwgKGNoYW5nZXM6IEFycmF5PExpdmVTZXRDaGFuZ2VSZWNvcmQ8VD4+KSA9PiB2b2lkLCBvbkVycm9yOiA/KGVycjogYW55KSA9PiB2b2lkLCBvbkNvbXBsZXRlOiA/KCkgPT4gdm9pZCk6IExpdmVTZXRTdWJzY3JpcHRpb24ge1xuICAgIGNvbnN0IGxpdmVTZXQgPSB0aGlzO1xuXG4gICAgbGV0IG9ic2VydmVyO1xuICAgIGlmICh0eXBlb2Ygb2JzZXJ2ZXJPck9uTmV4dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb2JzZXJ2ZXIgPSB7XG4gICAgICAgIG5leHQ6IG9ic2VydmVyT3JPbk5leHQsXG4gICAgICAgIGVycm9yOiBvbkVycm9yLFxuICAgICAgICBjb21wbGV0ZTogb25Db21wbGV0ZVxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgb2JzZXJ2ZXIgPSBvYnNlcnZlck9yT25OZXh0O1xuICAgIH1cblxuICAgIChvYnNlcnZlcjogTGl2ZVNldE9ic2VydmVyPFQ+KTtcblxuICAgIGlmICh0aGlzLl9lbmRlZCkge1xuICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0ge1xuICAgICAgICBjbG9zZWQ6IGZhbHNlLFxuICAgICAgICB1bnN1YnNjcmliZTogKCkgPT4ge1xuICAgICAgICAgIHN1YnNjcmlwdGlvbi5jbG9zZWQgPSB0cnVlO1xuICAgICAgICB9LFxuICAgICAgICBwdWxsQ2hhbmdlczogKCkgPT4ge31cbiAgICAgIH07XG4gICAgICBpZiAob2JzZXJ2ZXIuc3RhcnQpIHtcbiAgICAgICAgb2JzZXJ2ZXIuc3RhcnQoc3Vic2NyaXB0aW9uKTtcbiAgICAgIH1cbiAgICAgIGlmICghc3Vic2NyaXB0aW9uLmNsb3NlZCAmJiBvYnNlcnZlci5jb21wbGV0ZSkge1xuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgfVxuICAgICAgc3Vic2NyaXB0aW9uLmNsb3NlZCA9IHRydWU7XG4gICAgICByZXR1cm4gc3Vic2NyaXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IG9ic2VydmVyUmVjb3JkID0ge29ic2VydmVyLCBpZ25vcmU6IHRoaXMuX2NoYW5nZVF1ZXVlLmxlbmd0aH07XG4gICAgdGhpcy5fb2JzZXJ2ZXJzLnB1c2gob2JzZXJ2ZXJSZWNvcmQpO1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHtcbiAgICAgIC8qOjogY2xvc2VkOiBmYWxzZSYmYCAqLyBnZXQgY2xvc2VkKCkge1xuICAgICAgICByZXR1cm4gbGl2ZVNldC5fb2JzZXJ2ZXJzLmluZGV4T2Yob2JzZXJ2ZXJSZWNvcmQpIDwgMDtcbiAgICAgIH0vKjo6IGAgKi8sXG4gICAgICB1bnN1YnNjcmliZTogKCkgPT4ge1xuICAgICAgICBjb25zdCBpeCA9IHRoaXMuX29ic2VydmVycy5pbmRleE9mKG9ic2VydmVyUmVjb3JkKTtcbiAgICAgICAgaWYgKGl4ID49IDApIHtcbiAgICAgICAgICB0aGlzLl9vYnNlcnZlcnMuc3BsaWNlKGl4LCAxKTtcbiAgICAgICAgICBpZiAoIXRoaXMuX2VuZGVkICYmIHRoaXMuX29ic2VydmVycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlcyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl9kZWFjdGl2YXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcHVsbENoYW5nZXM6ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZSAmJiB0aGlzLl9hY3RpdmUubGlzdGVuSGFuZGxlciAmJiB0aGlzLl9hY3RpdmUubGlzdGVuSGFuZGxlci5wdWxsQ2hhbmdlcykge1xuICAgICAgICAgIHRoaXMuX2FjdGl2ZS5saXN0ZW5IYW5kbGVyLnB1bGxDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2hhbmdlUXVldWVMZW5ndGggPSB0aGlzLl9jaGFuZ2VRdWV1ZS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTmV4dCA9IG9ic2VydmVyLm5leHQ7XG4gICAgICAgIGlmIChjaGFuZ2VRdWV1ZUxlbmd0aCAhPT0gMCAmJiBvcmlnaW5hbE5leHQpIHtcbiAgICAgICAgICBjb25zdCBjaGFuZ2VzVG9EZWxpdmVyID0gdGhpcy5fY2hhbmdlUXVldWUuc2xpY2Uob2JzZXJ2ZXJSZWNvcmQuaWdub3JlKTtcbiAgICAgICAgICBpZiAoY2hhbmdlc1RvRGVsaXZlci5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICAgIG9ic2VydmVyUmVjb3JkLmlnbm9yZSA9IGNoYW5nZVF1ZXVlTGVuZ3RoO1xuICAgICAgICAgICAgb3JpZ2luYWxOZXh0LmNhbGwob2JzZXJ2ZXIsIGNoYW5nZXNUb0RlbGl2ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgaWYgKG9ic2VydmVyLnN0YXJ0KSB7XG4gICAgICBvYnNlcnZlci5zdGFydChzdWJzY3JpcHRpb24pO1xuICAgIH1cbiAgICAvLyBDaGVjayB0aGF0IHRoZXkgaGF2ZW4ndCBpbW1lZGlhdGVseSB1bnN1YnNjcmliZWRcbiAgICBpZiAoIXRoaXMuX2FjdGl2ZSAmJiAhc3Vic2NyaXB0aW9uLmNsb3NlZCkge1xuICAgICAgY29uc3QgY29udHJvbGxlcjogTGl2ZVNldENvbnRyb2xsZXI8VD4gPSB7XG4gICAgICAgIC8vIEZsb3cgZG9lc24ndCBzdXBwb3J0IGdldHRlcnMgYW5kIHNldHRlcnMgeWV0XG4gICAgICAgIC8qOjogY2xvc2VkOiBmYWxzZSYmYCAqLyBnZXQgY2xvc2VkKCkge1xuICAgICAgICAgIHJldHVybiAhbGl2ZVNldC5fYWN0aXZlIHx8IGxpdmVTZXQuX2FjdGl2ZS5jb250cm9sbGVyICE9PSB0aGlzO1xuICAgICAgICB9Lyo6OiBgICovLFxuICAgICAgICBhZGQ6IHZhbHVlID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLl92YWx1ZXM7XG4gICAgICAgICAgaWYgKCF2YWx1ZXMpIHRocm93IG5ldyBFcnJvcignc2V0VmFsdWUgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGNvbnRyb2xsZXIgaXMgdXNlZCcpO1xuICAgICAgICAgIGlmICghdGhpcy5fZW5kZWQgJiYgIXZhbHVlcy5oYXModmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX3F1ZXVlQ2hhbmdlKHt0eXBlOiAnYWRkJywgdmFsdWV9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHJlbW92ZTogdmFsdWUgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuX3ZhbHVlcztcbiAgICAgICAgICBpZiAoIXZhbHVlcykgdGhyb3cgbmV3IEVycm9yKCdzZXRWYWx1ZSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgY29udHJvbGxlciBpcyB1c2VkJyk7XG4gICAgICAgICAgaWYgKCF0aGlzLl9lbmRlZCAmJiB2YWx1ZXMuaGFzKHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWVzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLl9xdWV1ZUNoYW5nZSh7dHlwZTogJ3JlbW92ZScsIHZhbHVlfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fZW5kZWQpIHJldHVybjtcbiAgICAgICAgICB0aGlzLl9lbmRlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5fZW5kZWRXaXRoRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuX2Vycm9yID0gZXJyO1xuICAgICAgICAgIHRoaXMuX3F1ZXVlQ2hhbmdlKCk7XG4gICAgICAgICAgdGhpcy5fZGVhY3RpdmF0ZSgpO1xuICAgICAgICB9LFxuICAgICAgICBlbmQ6ICgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fZW5kZWQpIHJldHVybjtcbiAgICAgICAgICB0aGlzLl9lbmRlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5fcXVldWVDaGFuZ2UoKTtcbiAgICAgICAgICB0aGlzLl9kZWFjdGl2YXRlKCk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBhY3RpdmUgPSB0aGlzLl9hY3RpdmUgPSB7XG4gICAgICAgIGNvbnRyb2xsZXIsXG4gICAgICAgIGxpc3RlbkhhbmRsZXI6IHtcbiAgICAgICAgICB1bnN1YnNjcmliZTogKCkgPT4ge31cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IHNldFZhbHVlc0Vycm9yID0gKCkgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFZhbHVlcyBtdXN0IGJlIGNhbGxlZCBvbmNlIGR1cmluZyBsaXN0ZW4nKTtcbiAgICAgIH07XG4gICAgICBsZXQgc2V0VmFsdWVzID0gdmFsdWVzID0+IHtcbiAgICAgICAgc2V0VmFsdWVzID0gc2V0VmFsdWVzRXJyb3I7XG4gICAgICAgIHRoaXMuX3ZhbHVlcyA9IHZhbHVlcztcbiAgICAgIH07XG4gICAgICBjb25zdCBsaXN0ZW5IYW5kbGVyT3JGdW5jdGlvbiA9IHRoaXMuX2luaXQubGlzdGVuKHZhbHVlcyA9PiBzZXRWYWx1ZXModmFsdWVzKSwgY29udHJvbGxlcik7XG4gICAgICBpZiAoIXRoaXMuX3ZhbHVlcykge1xuICAgICAgICBzZXRWYWx1ZXNFcnJvcigpO1xuICAgICAgfVxuICAgICAgb2JzZXJ2ZXJSZWNvcmQuaWdub3JlID0gdGhpcy5fY2hhbmdlUXVldWUubGVuZ3RoO1xuICAgICAgaWYgKHR5cGVvZiBsaXN0ZW5IYW5kbGVyT3JGdW5jdGlvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBhY3RpdmUubGlzdGVuSGFuZGxlciA9IHtcbiAgICAgICAgICB1bnN1YnNjcmliZTogbGlzdGVuSGFuZGxlck9yRnVuY3Rpb25cbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAobGlzdGVuSGFuZGxlck9yRnVuY3Rpb24gIT0gbnVsbCAmJiB0eXBlb2YgbGlzdGVuSGFuZGxlck9yRnVuY3Rpb24udW5zdWJzY3JpYmUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgYWN0aXZlLmxpc3RlbkhhbmRsZXIgPSBsaXN0ZW5IYW5kbGVyT3JGdW5jdGlvbjtcbiAgICAgIH0gZWxzZSBpZiAobGlzdGVuSGFuZGxlck9yRnVuY3Rpb24gIT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdsaXN0ZW4gbXVzdCByZXR1cm4gb2JqZWN0IHdpdGggdW5zdWJzY3JpYmUgbWV0aG9kLCBhIGZ1bmN0aW9uLCBvciBudWxsJyk7XG4gICAgICB9XG4gICAgICBpZiAoY29udHJvbGxlci5jbG9zZWQpIHtcbiAgICAgICAgdGhpcy5fYWN0aXZlID0gYWN0aXZlO1xuICAgICAgICB0aGlzLl9kZWFjdGl2YXRlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgfVxufVxuXG4vLyBBc3NpZ24gaGVyZSBiZWNhdXNlIEZsb3cgZG9lc24ndCBzdXBwb3J0IGNvbXB1dGVkIHByb3BlcnR5IGtleXMgb24gY2xhc3Nlczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9mbG93L2lzc3Vlcy8yMjg2XG4oTGl2ZVNldDphbnkpLnByb3RvdHlwZVskJG9ic2VydmFibGVdID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiB0aGlzO1xufTtcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJMaXZlU2V0IiwiaW5pdCIsIl92YWx1ZXMiLCJfYWN0aXZlIiwiX2VuZGVkIiwiX2VuZGVkV2l0aEVycm9yIiwiX2Vycm9yIiwiX3F1ZXVlZENhbGwiLCJfY2hhbmdlUXVldWUiLCJfb2JzZXJ2ZXJzIiwiX2luaXQiLCJyZWNvcmQiLCJwdXNoIiwiY2hhbmdlcyIsIm9ic2VydmVyc1RvQ2FsbCIsImVuZGVkIiwic2xpY2UiLCJmb3JFYWNoIiwib2JzZXJ2ZXIiLCJpZ25vcmUiLCJvYnNlcnZlck5leHQiLCJuZXh0IiwiY2FsbCIsImNoYW5nZXNUb0RlbGl2ZXIiLCJsZW5ndGgiLCJlcnJvciIsImNvbXBsZXRlIiwiRXJyb3IiLCJsaXN0ZW5IYW5kbGVyIiwidW5zdWJzY3JpYmUiLCJ2YWx1ZXMiLCJwdWxsQ2hhbmdlcyIsInJlYWQiLCJvYnNlcnZlck9yT25OZXh0Iiwib25FcnJvciIsIm9uQ29tcGxldGUiLCJsaXZlU2V0Iiwic3Vic2NyaXB0aW9uIiwiY2xvc2VkIiwic3RhcnQiLCJvYnNlcnZlclJlY29yZCIsImluZGV4T2YiLCJpeCIsInNwbGljZSIsIl9kZWFjdGl2YXRlIiwiY2hhbmdlUXVldWVMZW5ndGgiLCJvcmlnaW5hbE5leHQiLCJjb250cm9sbGVyIiwiYWRkIiwiaGFzIiwidmFsdWUiLCJfcXVldWVDaGFuZ2UiLCJ0eXBlIiwicmVtb3ZlIiwiZGVsZXRlIiwiZXJyIiwiZW5kIiwiYWN0aXZlIiwic2V0VmFsdWVzRXJyb3IiLCJzZXRWYWx1ZXMiLCJsaXN0ZW5IYW5kbGVyT3JGdW5jdGlvbiIsImxpc3RlbiIsIlR5cGVFcnJvciIsImluaXRpYWxWYWx1ZXMiLCJzZXQiLCJfY29udHJvbGxlciIsInN1YnNjcmliZSIsInByb3RvdHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7O0FBQ0E7Ozs7OztJQWdEcUJBLE87QUFlbkIsbUJBQVlDLElBQVosRUFBa0M7QUFB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QWQsK0JBQXdDLFlBQVc7QUFDakQsU0FBTyxJQUFQO0FBQ0QsQ0FGRCIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmltcG9ydCBhc2FwIGZyb20gJ2FzYXAnO1xuaW1wb3J0ICQkb2JzZXJ2YWJsZSBmcm9tICdzeW1ib2wtb2JzZXJ2YWJsZSc7XG5cbmV4cG9ydCB0eXBlIExpdmVTZXRDaGFuZ2VSZWNvcmQ8VD4gPVxuICB7dHlwZTogJ2FkZCcsIHZhbHVlOiBUfSB8XG4gIHt0eXBlOiAncmVtb3ZlJywgdmFsdWU6IFR9IHxcbiAge3R5cGU6ICdlbmQnfTtcblxuZXhwb3J0IHR5cGUgTGl2ZVNldENvbnRyb2xsZXI8VD4gPSB7XG4gIGNsb3NlZDogYm9vbGVhbjtcbiAgYWRkKGl0ZW06IFQpOiB2b2lkO1xuICByZW1vdmUoaXRlbTogVCk6IHZvaWQ7XG4gIGVycm9yKGVycjogYW55KTogdm9pZDtcbiAgZW5kKCk6IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBMaXN0ZW5IYW5kbGVyID0ge1xuICB1bnN1YnNjcmliZSgpOiB2b2lkO1xuICArcHVsbENoYW5nZXM/OiA/KCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIExpdmVTZXRJbml0PFQ+ID0ge1xuICByZWFkKCk6IFNldDxUPjtcbiAgbGlzdGVuKFxuICAgIHNldFZhbHVlczogeyAodmFsdWVzOiBTZXQ8VD4pOiB2b2lkIH0sXG4gICAgY29udHJvbGxlcjogTGl2ZVNldENvbnRyb2xsZXI8VD5cbiAgKTogP0xpc3RlbkhhbmRsZXJ8KCk9PnZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBMaXZlU2V0U3Vic2NyaWJlcjxUPiA9IChjaGFuZ2VzOiBBcnJheTxMaXZlU2V0Q2hhbmdlUmVjb3JkPFQ+PikgPT4gdm9pZDtcblxuZXhwb3J0IHR5cGUgTGl2ZVNldFN1YnNjcmlwdGlvbiA9IHtcbiAgY2xvc2VkOiBib29sZWFuO1xuICB1bnN1YnNjcmliZSgpOiB2b2lkO1xuICBwdWxsQ2hhbmdlcygpOiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgTGl2ZVNldE9ic2VydmVyPFQ+ID0ge1xuICBzdGFydD86ID8oc3Vic2NyaXB0aW9uOiBMaXZlU2V0U3Vic2NyaXB0aW9uKSA9PiB2b2lkO1xuICBuZXh0PzogPyhjaGFuZ2VzOiBBcnJheTxMaXZlU2V0Q2hhbmdlUmVjb3JkPFQ+PikgPT4gdm9pZDtcbiAgZXJyb3I/OiA/KGVycjogYW55KSA9PiB2b2lkO1xuICBjb21wbGV0ZT86ID8oKSA9PiB2b2lkO1xufTtcblxudHlwZSBMaXZlU2V0T2JzZXJ2ZXJSZWNvcmQ8VD4gPSB7XG4gIGlnbm9yZTogbnVtYmVyO1xuICBvYnNlcnZlcjogTGl2ZVNldE9ic2VydmVyPFQ+O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGl2ZVNldDxUPiB7XG4gIF9pbml0OiBMaXZlU2V0SW5pdDxUPjtcblxuICBfdmFsdWVzOiA/U2V0PFQ+ID0gbnVsbDtcbiAgX2FjdGl2ZTogP3tcbiAgICBjb250cm9sbGVyOiBMaXZlU2V0Q29udHJvbGxlcjxUPjtcbiAgICBsaXN0ZW5IYW5kbGVyOiBMaXN0ZW5IYW5kbGVyO1xuICB9ID0gbnVsbDtcbiAgX2VuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIF9lbmRlZFdpdGhFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBfZXJyb3I6IGFueSA9IG51bGw7XG4gIF9xdWV1ZWRDYWxsOiBib29sZWFuID0gZmFsc2U7XG4gIF9jaGFuZ2VRdWV1ZTogQXJyYXk8TGl2ZVNldENoYW5nZVJlY29yZDxUPj4gPSBbXTtcbiAgX29ic2VydmVyczogQXJyYXk8TGl2ZVNldE9ic2VydmVyUmVjb3JkPFQ+PiA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGluaXQ6IExpdmVTZXRJbml0PFQ+KSB7XG4gICAgdGhpcy5faW5pdCA9IGluaXQ7XG4gIH1cblxuICBzdGF0aWMgYWN0aXZlPFQ+KGluaXRpYWxWYWx1ZXM6ID9TZXQ8VD4pOiB7bGl2ZVNldDogTGl2ZVNldDxUPiwgY29udHJvbGxlcjogTGl2ZVNldENvbnRyb2xsZXI8VD59IHtcbiAgICBjb25zdCBzZXQgPSBpbml0aWFsVmFsdWVzIHx8IG5ldyBTZXQoKTtcbiAgICBsZXQgY29udHJvbGxlcjtcbiAgICBjb25zdCBsaXZlU2V0ID0gbmV3IExpdmVTZXQoe1xuICAgICAgcmVhZDogKCkgPT4gc2V0LFxuICAgICAgbGlzdGVuOiAoc2V0VmFsdWVzLCBfY29udHJvbGxlcikgPT4ge1xuICAgICAgICBzZXRWYWx1ZXMoc2V0KTtcbiAgICAgICAgY29udHJvbGxlciA9IF9jb250cm9sbGVyO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGxpdmVTZXQuc3Vic2NyaWJlKHt9KTtcbiAgICByZXR1cm4ge2xpdmVTZXQsIGNvbnRyb2xsZXI6IChjb250cm9sbGVyOiBhbnkpfTtcbiAgfVxuXG4gIHN0YXRpYyBjb25zdGFudDxUPih2YWx1ZXM6IFNldDxUPik6IExpdmVTZXQ8VD4ge1xuICAgIGNvbnN0IHtsaXZlU2V0LCBjb250cm9sbGVyfSA9IExpdmVTZXQuYWN0aXZlKHZhbHVlcyk7XG4gICAgY29udHJvbGxlci5lbmQoKTtcbiAgICByZXR1cm4gbGl2ZVNldDtcbiAgfVxuXG4gIF9xdWV1ZUNoYW5nZShyZWNvcmQ6ID9MaXZlU2V0Q2hhbmdlUmVjb3JkPFQ+KSB7XG4gICAgaWYgKHJlY29yZCkge1xuICAgICAgdGhpcy5fY2hhbmdlUXVldWUucHVzaChyZWNvcmQpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3F1ZXVlZENhbGwpIHtcbiAgICAgIHRoaXMuX3F1ZXVlZENhbGwgPSB0cnVlO1xuICAgICAgYXNhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3F1ZXVlZENhbGwgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgY2hhbmdlcyA9IHRoaXMuX2NoYW5nZVF1ZXVlO1xuICAgICAgICB0aGlzLl9jaGFuZ2VRdWV1ZSA9IFtdO1xuICAgICAgICBsZXQgb2JzZXJ2ZXJzVG9DYWxsO1xuICAgICAgICBjb25zdCBlbmRlZCA9IHRoaXMuX2VuZGVkO1xuICAgICAgICBpZiAoZW5kZWQpIHtcbiAgICAgICAgICBvYnNlcnZlcnNUb0NhbGwgPSB0aGlzLl9vYnNlcnZlcnM7XG4gICAgICAgICAgdGhpcy5fb2JzZXJ2ZXJzID0gW107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2JzZXJ2ZXJzVG9DYWxsID0gdGhpcy5fb2JzZXJ2ZXJzLnNsaWNlKCk7XG4gICAgICAgIH1cbiAgICAgICAgb2JzZXJ2ZXJzVG9DYWxsLmZvckVhY2gocmVjb3JkID0+IHtcbiAgICAgICAgICBjb25zdCB7b2JzZXJ2ZXIsIGlnbm9yZX0gPSByZWNvcmQ7XG4gICAgICAgICAgY29uc3Qgb2JzZXJ2ZXJOZXh0ID0gb2JzZXJ2ZXIubmV4dDtcbiAgICAgICAgICBpZiAob2JzZXJ2ZXJOZXh0KSB7XG4gICAgICAgICAgICBpZiAoaWdub3JlID09PSAwKSB7XG4gICAgICAgICAgICAgIG9ic2VydmVyTmV4dC5jYWxsKG9ic2VydmVyLCBjaGFuZ2VzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlY29yZC5pZ25vcmUgPSAwO1xuICAgICAgICAgICAgICBjb25zdCBjaGFuZ2VzVG9EZWxpdmVyID0gY2hhbmdlcy5zbGljZShpZ25vcmUpO1xuICAgICAgICAgICAgICBpZiAoY2hhbmdlc1RvRGVsaXZlci5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlck5leHQuY2FsbChvYnNlcnZlciwgY2hhbmdlc1RvRGVsaXZlcik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVuZGVkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fZW5kZWRXaXRoRXJyb3IpIHtcbiAgICAgICAgICAgICAgaWYgKG9ic2VydmVyLmVycm9yKSBvYnNlcnZlci5lcnJvcih0aGlzLl9lcnJvcik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpZiAob2JzZXJ2ZXIuY29tcGxldGUpIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIF9kZWFjdGl2YXRlKCkge1xuICAgIGlmICghdGhpcy5fYWN0aXZlKSB0aHJvdyBuZXcgRXJyb3IoJ2FscmVhZHkgaW5hY3RpdmUnKTtcbiAgICBjb25zdCB7bGlzdGVuSGFuZGxlcn0gPSB0aGlzLl9hY3RpdmU7XG4gICAgdGhpcy5fYWN0aXZlID0gbnVsbDtcbiAgICBpZiAobGlzdGVuSGFuZGxlcikge1xuICAgICAgbGlzdGVuSGFuZGxlci51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHZhbHVlcygpOiBTZXQ8VD4ge1xuICAgIGlmICh0aGlzLl92YWx1ZXMpIHtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuX3ZhbHVlcztcbiAgICAgIGlmICh0aGlzLl9hY3RpdmUpIHtcbiAgICAgICAgY29uc3Qge2xpc3RlbkhhbmRsZXJ9ID0gdGhpcy5fYWN0aXZlO1xuICAgICAgICBpZiAobGlzdGVuSGFuZGxlci5wdWxsQ2hhbmdlcykge1xuICAgICAgICAgIGxpc3RlbkhhbmRsZXIucHVsbENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5ldyBTZXQodmFsdWVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuX2FjdGl2ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RyaWVkIHRvIGNhbGwgdmFsdWVzKCkgb24gbGl2ZXNldCBkdXJpbmcgc3Vic2NyaXB0aW9uIGJlZm9yZSBzZXRWYWx1ZXMgd2FzIGNhbGxlZCcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuX2luaXQucmVhZCgpO1xuICAgIH1cbiAgfVxuXG4gIGlzRW5kZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuZGVkO1xuICB9XG5cbiAgc3Vic2NyaWJlKG9ic2VydmVyT3JPbk5leHQ6IExpdmVTZXRPYnNlcnZlcjxUPiB8IChjaGFuZ2VzOiBBcnJheTxMaXZlU2V0Q2hhbmdlUmVjb3JkPFQ+PikgPT4gdm9pZCwgb25FcnJvcjogPyhlcnI6IGFueSkgPT4gdm9pZCwgb25Db21wbGV0ZTogPygpID0+IHZvaWQpOiBMaXZlU2V0U3Vic2NyaXB0aW9uIHtcbiAgICBjb25zdCBsaXZlU2V0ID0gdGhpcztcblxuICAgIGxldCBvYnNlcnZlcjtcbiAgICBpZiAodHlwZW9mIG9ic2VydmVyT3JPbk5leHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIG9ic2VydmVyID0ge1xuICAgICAgICBuZXh0OiBvYnNlcnZlck9yT25OZXh0LFxuICAgICAgICBlcnJvcjogb25FcnJvcixcbiAgICAgICAgY29tcGxldGU6IG9uQ29tcGxldGVcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIG9ic2VydmVyID0gb2JzZXJ2ZXJPck9uTmV4dDtcbiAgICB9XG5cbiAgICAob2JzZXJ2ZXI6IExpdmVTZXRPYnNlcnZlcjxUPik7XG5cbiAgICBpZiAodGhpcy5fZW5kZWQpIHtcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHtcbiAgICAgICAgY2xvc2VkOiBmYWxzZSxcbiAgICAgICAgdW5zdWJzY3JpYmU6ICgpID0+IHtcbiAgICAgICAgICBzdWJzY3JpcHRpb24uY2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgcHVsbENoYW5nZXM6ICgpID0+IHt9XG4gICAgICB9O1xuICAgICAgaWYgKG9ic2VydmVyLnN0YXJ0KSB7XG4gICAgICAgIG9ic2VydmVyLnN0YXJ0KHN1YnNjcmlwdGlvbik7XG4gICAgICB9XG4gICAgICBpZiAoIXN1YnNjcmlwdGlvbi5jbG9zZWQgJiYgb2JzZXJ2ZXIuY29tcGxldGUpIHtcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICAgIHN1YnNjcmlwdGlvbi5jbG9zZWQgPSB0cnVlO1xuICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBvYnNlcnZlclJlY29yZCA9IHtvYnNlcnZlciwgaWdub3JlOiB0aGlzLl9jaGFuZ2VRdWV1ZS5sZW5ndGh9O1xuICAgIHRoaXMuX29ic2VydmVycy5wdXNoKG9ic2VydmVyUmVjb3JkKTtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB7XG4gICAgICAvKjo6IGNsb3NlZDogZmFsc2UmJmAgKi8gZ2V0IGNsb3NlZCgpIHtcbiAgICAgICAgcmV0dXJuIGxpdmVTZXQuX29ic2VydmVycy5pbmRleE9mKG9ic2VydmVyUmVjb3JkKSA8IDA7XG4gICAgICB9Lyo6OiBgICovLFxuICAgICAgdW5zdWJzY3JpYmU6ICgpID0+IHtcbiAgICAgICAgY29uc3QgaXggPSB0aGlzLl9vYnNlcnZlcnMuaW5kZXhPZihvYnNlcnZlclJlY29yZCk7XG4gICAgICAgIGlmIChpeCA+PSAwKSB7XG4gICAgICAgICAgdGhpcy5fb2JzZXJ2ZXJzLnNwbGljZShpeCwgMSk7XG4gICAgICAgICAgaWYgKCF0aGlzLl9lbmRlZCAmJiB0aGlzLl9vYnNlcnZlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZXMgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5fZGVhY3RpdmF0ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHB1bGxDaGFuZ2VzOiAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmUgJiYgdGhpcy5fYWN0aXZlLmxpc3RlbkhhbmRsZXIgJiYgdGhpcy5fYWN0aXZlLmxpc3RlbkhhbmRsZXIucHVsbENoYW5nZXMpIHtcbiAgICAgICAgICB0aGlzLl9hY3RpdmUubGlzdGVuSGFuZGxlci5wdWxsQ2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNoYW5nZVF1ZXVlTGVuZ3RoID0gdGhpcy5fY2hhbmdlUXVldWUubGVuZ3RoO1xuICAgICAgICBjb25zdCBvcmlnaW5hbE5leHQgPSBvYnNlcnZlci5uZXh0O1xuICAgICAgICBpZiAoY2hhbmdlUXVldWVMZW5ndGggIT09IDAgJiYgb3JpZ2luYWxOZXh0KSB7XG4gICAgICAgICAgY29uc3QgY2hhbmdlc1RvRGVsaXZlciA9IHRoaXMuX2NoYW5nZVF1ZXVlLnNsaWNlKG9ic2VydmVyUmVjb3JkLmlnbm9yZSk7XG4gICAgICAgICAgaWYgKGNoYW5nZXNUb0RlbGl2ZXIubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICBvYnNlcnZlclJlY29yZC5pZ25vcmUgPSBjaGFuZ2VRdWV1ZUxlbmd0aDtcbiAgICAgICAgICAgIG9yaWdpbmFsTmV4dC5jYWxsKG9ic2VydmVyLCBjaGFuZ2VzVG9EZWxpdmVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIGlmIChvYnNlcnZlci5zdGFydCkge1xuICAgICAgb2JzZXJ2ZXIuc3RhcnQoc3Vic2NyaXB0aW9uKTtcbiAgICB9XG4gICAgLy8gQ2hlY2sgdGhhdCB0aGV5IGhhdmVuJ3QgaW1tZWRpYXRlbHkgdW5zdWJzY3JpYmVkXG4gICAgaWYgKCF0aGlzLl9hY3RpdmUgJiYgIXN1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2xsZXI6IExpdmVTZXRDb250cm9sbGVyPFQ+ID0ge1xuICAgICAgICAvLyBGbG93IGRvZXNuJ3Qgc3VwcG9ydCBnZXR0ZXJzIGFuZCBzZXR0ZXJzIHlldFxuICAgICAgICAvKjo6IGNsb3NlZDogZmFsc2UmJmAgKi8gZ2V0IGNsb3NlZCgpIHtcbiAgICAgICAgICByZXR1cm4gIWxpdmVTZXQuX2FjdGl2ZSB8fCBsaXZlU2V0Ll9hY3RpdmUuY29udHJvbGxlciAhPT0gdGhpcztcbiAgICAgICAgfS8qOjogYCAqLyxcbiAgICAgICAgYWRkOiB2YWx1ZSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5fdmFsdWVzO1xuICAgICAgICAgIGlmICghdmFsdWVzKSB0aHJvdyBuZXcgRXJyb3IoJ3NldFZhbHVlIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBjb250cm9sbGVyIGlzIHVzZWQnKTtcbiAgICAgICAgICBpZiAoIXRoaXMuX2VuZGVkICYmICF2YWx1ZXMuaGFzKHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWVzLmFkZCh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLl9xdWV1ZUNoYW5nZSh7dHlwZTogJ2FkZCcsIHZhbHVlfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICByZW1vdmU6IHZhbHVlID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLl92YWx1ZXM7XG4gICAgICAgICAgaWYgKCF2YWx1ZXMpIHRocm93IG5ldyBFcnJvcignc2V0VmFsdWUgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGNvbnRyb2xsZXIgaXMgdXNlZCcpO1xuICAgICAgICAgIGlmICghdGhpcy5fZW5kZWQgJiYgdmFsdWVzLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlcy5kZWxldGUodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5fcXVldWVDaGFuZ2Uoe3R5cGU6ICdyZW1vdmUnLCB2YWx1ZX0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX2VuZGVkKSByZXR1cm47XG4gICAgICAgICAgdGhpcy5fZW5kZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuX2VuZGVkV2l0aEVycm9yID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLl9lcnJvciA9IGVycjtcbiAgICAgICAgICB0aGlzLl9xdWV1ZUNoYW5nZSgpO1xuICAgICAgICAgIHRoaXMuX2RlYWN0aXZhdGUoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZW5kOiAoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX2VuZGVkKSByZXR1cm47XG4gICAgICAgICAgdGhpcy5fZW5kZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuX3F1ZXVlQ2hhbmdlKCk7XG4gICAgICAgICAgdGhpcy5fZGVhY3RpdmF0ZSgpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3QgYWN0aXZlID0gdGhpcy5fYWN0aXZlID0ge1xuICAgICAgICBjb250cm9sbGVyLFxuICAgICAgICBsaXN0ZW5IYW5kbGVyOiB7XG4gICAgICAgICAgdW5zdWJzY3JpYmU6ICgpID0+IHt9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBzZXRWYWx1ZXNFcnJvciA9ICgpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzZXRWYWx1ZXMgbXVzdCBiZSBjYWxsZWQgb25jZSBkdXJpbmcgbGlzdGVuJyk7XG4gICAgICB9O1xuICAgICAgbGV0IHNldFZhbHVlcyA9IHZhbHVlcyA9PiB7XG4gICAgICAgIHNldFZhbHVlcyA9IHNldFZhbHVlc0Vycm9yO1xuICAgICAgICB0aGlzLl92YWx1ZXMgPSB2YWx1ZXM7XG4gICAgICB9O1xuICAgICAgY29uc3QgbGlzdGVuSGFuZGxlck9yRnVuY3Rpb24gPSB0aGlzLl9pbml0Lmxpc3Rlbih2YWx1ZXMgPT4gc2V0VmFsdWVzKHZhbHVlcyksIGNvbnRyb2xsZXIpO1xuICAgICAgaWYgKCF0aGlzLl92YWx1ZXMpIHtcbiAgICAgICAgc2V0VmFsdWVzRXJyb3IoKTtcbiAgICAgIH1cbiAgICAgIG9ic2VydmVyUmVjb3JkLmlnbm9yZSA9IHRoaXMuX2NoYW5nZVF1ZXVlLmxlbmd0aDtcbiAgICAgIGlmICh0eXBlb2YgbGlzdGVuSGFuZGxlck9yRnVuY3Rpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgYWN0aXZlLmxpc3RlbkhhbmRsZXIgPSB7XG4gICAgICAgICAgdW5zdWJzY3JpYmU6IGxpc3RlbkhhbmRsZXJPckZ1bmN0aW9uXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKGxpc3RlbkhhbmRsZXJPckZ1bmN0aW9uICE9IG51bGwgJiYgdHlwZW9mIGxpc3RlbkhhbmRsZXJPckZ1bmN0aW9uLnVuc3Vic2NyaWJlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGFjdGl2ZS5saXN0ZW5IYW5kbGVyID0gbGlzdGVuSGFuZGxlck9yRnVuY3Rpb247XG4gICAgICB9IGVsc2UgaWYgKGxpc3RlbkhhbmRsZXJPckZ1bmN0aW9uICE9IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignbGlzdGVuIG11c3QgcmV0dXJuIG9iamVjdCB3aXRoIHVuc3Vic2NyaWJlIG1ldGhvZCwgYSBmdW5jdGlvbiwgb3IgbnVsbCcpO1xuICAgICAgfVxuICAgICAgaWYgKGNvbnRyb2xsZXIuY2xvc2VkKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZSA9IGFjdGl2ZTtcbiAgICAgICAgdGhpcy5fZGVhY3RpdmF0ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gIH1cbn1cblxuLy8gQXNzaWduIGhlcmUgYmVjYXVzZSBGbG93IGRvZXNuJ3Qgc3VwcG9ydCBjb21wdXRlZCBwcm9wZXJ0eSBrZXlzIG9uIGNsYXNzZXM6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svZmxvdy9pc3N1ZXMvMjI4NlxuKExpdmVTZXQ6YW55KS5wcm90b3R5cGVbJCRvYnNlcnZhYmxlXSA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gdGhpcztcbn07XG4iXX0= |
{ | ||
"name": "live-set", | ||
"version": "0.3.3", | ||
"version": "0.3.4", | ||
"description": "Class representing a changing and transformable collection of items.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
112708