@discordeno/utils 19.0.0-next.92bf166 → 19.0.0-next.92d717b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- /* eslint-disable @typescript-eslint/no-confusing-void-expression */ /* eslint-disable @typescript-eslint/explicit-function-return-type */ /* eslint-disable @typescript-eslint/no-unsafe-argument */ "use strict";
1
+ "use strict";
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
@@ -154,4 +154,4 @@ const logger = createLogger({
154
154
  });
155
155
  const _default = logger;
156
156
 
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWNvbmZ1c2luZy12b2lkLWV4cHJlc3Npb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1mdW5jdGlvbi1yZXR1cm4tdHlwZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hcmd1bWVudCAqL1xuaW1wb3J0IHsgYmdCcmlnaHRNYWdlbnRhLCBibGFjaywgYm9sZCwgY3lhbiwgZ3JheSwgaXRhbGljLCByZWQsIHllbGxvdyB9IGZyb20gJy4vY29sb3JzLmpzJ1xuXG5leHBvcnQgZW51bSBMb2dMZXZlbHMge1xuICBEZWJ1ZyxcbiAgSW5mbyxcbiAgV2FybixcbiAgRXJyb3IsXG4gIEZhdGFsLFxufVxuXG5leHBvcnQgZW51bSBMb2dEZXB0aCB7XG4gIE1pbmltYWwsXG4gIEZ1bGwsXG59XG5cbmNvbnN0IHByZWZpeGVzID0gbmV3IE1hcDxMb2dMZXZlbHMsIHN0cmluZz4oW1xuICBbTG9nTGV2ZWxzLkRlYnVnLCAnREVCVUcnXSxcbiAgW0xvZ0xldmVscy5JbmZvLCAnSU5GTyddLFxuICBbTG9nTGV2ZWxzLldhcm4sICdXQVJOJ10sXG4gIFtMb2dMZXZlbHMuRXJyb3IsICdFUlJPUiddLFxuICBbTG9nTGV2ZWxzLkZhdGFsLCAnRkFUQUwnXSxcbl0pXG5cbmNvbnN0IG5vQ29sb3I6IChzdHI6IHN0cmluZykgPT4gc3RyaW5nID0gKG1zZykgPT4gbXNnXG5jb25zdCBjb2xvckZ1bmN0aW9ucyA9IG5ldyBNYXA8TG9nTGV2ZWxzLCAoc3RyOiBzdHJpbmcpID0+IHN0cmluZz4oW1xuICBbTG9nTGV2ZWxzLkRlYnVnLCBncmF5XSxcbiAgW0xvZ0xldmVscy5JbmZvLCBjeWFuXSxcbiAgW0xvZ0xldmVscy5XYXJuLCB5ZWxsb3ddLFxuICBbTG9nTGV2ZWxzLkVycm9yLCAoc3RyOiBzdHJpbmcpID0+IHJlZChzdHIpXSxcbiAgW0xvZ0xldmVscy5GYXRhbCwgKHN0cjogc3RyaW5nKSA9PiByZWQoYm9sZChpdGFsaWMoc3RyKSkpXSxcbl0pXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2dnZXIoe1xuICBsb2dMZXZlbCA9IExvZ0xldmVscy5JbmZvLFxuICBuYW1lLFxufToge1xuICBsb2dMZXZlbD86IExvZ0xldmVsc1xuICBuYW1lPzogc3RyaW5nXG59ID0ge30pIHtcbiAgbGV0IGRlcHRoID0gTG9nRGVwdGguTWluaW1hbFxuXG4gIGZ1bmN0aW9uIGxvZyhsZXZlbDogTG9nTGV2ZWxzLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChsZXZlbCA8IGxvZ0xldmVsKSByZXR1cm5cblxuICAgIGxldCBjb2xvciA9IGNvbG9yRnVuY3Rpb25zLmdldChsZXZlbClcbiAgICBpZiAoIWNvbG9yKSBjb2xvciA9IG5vQ29sb3JcblxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpXG4gICAgY29uc3QgbG9nID0gW1xuICAgICAgYmdCcmlnaHRNYWdlbnRhKGJsYWNrKGBbJHtkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpfSAke2RhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKCl9XWApKSxcbiAgICAgIGNvbG9yKHByZWZpeGVzLmdldChsZXZlbCkgPz8gJ0RFQlVHJyksXG4gICAgICBuYW1lID8gYCR7bmFtZX0gPmAgOiAnPicsXG4gICAgICAuLi5hcmdzLFxuICAgIF1cblxuICAgIHN3aXRjaCAobGV2ZWwpIHtcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLkRlYnVnOlxuICAgICAgICByZXR1cm4gY29uc29sZS5kZWJ1ZyguLi5sb2cpXG4gICAgICBjYXNlIExvZ0xldmVscy5JbmZvOlxuICAgICAgICByZXR1cm4gY29uc29sZS5pbmZvKC4uLmxvZylcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLldhcm46XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oLi4ubG9nKVxuICAgICAgY2FzZSBMb2dMZXZlbHMuRXJyb3I6XG4gICAgICAgIHJldHVybiBjb25zb2xlLmVycm9yKC4uLmxvZylcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLkZhdGFsOlxuICAgICAgICByZXR1cm4gY29uc29sZS5lcnJvciguLi5sb2cpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gY29uc29sZS5sb2coLi4ubG9nKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHNldExldmVsKGxldmVsOiBMb2dMZXZlbHMpIHtcbiAgICBsb2dMZXZlbCA9IGxldmVsXG4gIH1cblxuICBmdW5jdGlvbiBzZXREZXB0aChsZXZlbDogTG9nRGVwdGgpIHtcbiAgICBkZXB0aCA9IGxldmVsXG4gIH1cblxuICBmdW5jdGlvbiBkZWJ1ZyguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5EZWJ1ZywgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRGVidWcsIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBpbmZvKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKExvZ0RlcHRoLk1pbmltYWwgPT09IGRlcHRoKSBsb2coTG9nTGV2ZWxzLkluZm8sIGFyZ3NbMF0pXG4gICAgZWxzZSBsb2coTG9nTGV2ZWxzLkluZm8sIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiB3YXJuKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKExvZ0RlcHRoLk1pbmltYWwgPT09IGRlcHRoKSBsb2coTG9nTGV2ZWxzLldhcm4sIGFyZ3NbMF0pXG4gICAgZWxzZSBsb2coTG9nTGV2ZWxzLldhcm4sIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBlcnJvciguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5FcnJvciwgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRXJyb3IsIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBmYXRhbCguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5GYXRhbCwgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRmF0YWwsIC4uLmFyZ3MpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGxvZyxcbiAgICBzZXREZXB0aCxcbiAgICBzZXRMZXZlbCxcbiAgICBkZWJ1ZyxcbiAgICBpbmZvLFxuICAgIHdhcm4sXG4gICAgZXJyb3IsXG4gICAgZmF0YWwsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGxvZ2dlciA9IGNyZWF0ZUxvZ2dlcih7IG5hbWU6ICdEaXNjb3JkZW5vJyB9KVxuZXhwb3J0IGRlZmF1bHQgbG9nZ2VyXG4iXSwibmFtZXMiOlsiY3JlYXRlTG9nZ2VyIiwibG9nZ2VyIiwiTG9nTGV2ZWxzIiwiTG9nRGVwdGgiLCJwcmVmaXhlcyIsIk1hcCIsIm5vQ29sb3IiLCJtc2ciLCJjb2xvckZ1bmN0aW9ucyIsImdyYXkiLCJjeWFuIiwieWVsbG93Iiwic3RyIiwicmVkIiwiYm9sZCIsIml0YWxpYyIsImxvZ0xldmVsIiwibmFtZSIsImRlcHRoIiwibG9nIiwibGV2ZWwiLCJhcmdzIiwiY29sb3IiLCJnZXQiLCJkYXRlIiwiRGF0ZSIsImJnQnJpZ2h0TWFnZW50YSIsImJsYWNrIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9Mb2NhbGVUaW1lU3RyaW5nIiwiY29uc29sZSIsImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsInNldExldmVsIiwic2V0RGVwdGgiLCJmYXRhbCJdLCJtYXBwaW5ncyI6IkFBQUEsa0VBQWtFLEdBQ2xFLG1FQUFtRSxHQUNuRSx3REFBd0Q7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBaUN4Q0EsWUFBWTtlQUFaQTs7SUFxRmhCLE9BQXFCO2VBQXJCOztJQURhQyxNQUFNO2VBQU5BOzs7d0JB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
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmdCcmlnaHRNYWdlbnRhLCBibGFjaywgYm9sZCwgY3lhbiwgZ3JheSwgaXRhbGljLCByZWQsIHllbGxvdyB9IGZyb20gJy4vY29sb3JzLmpzJ1xuXG5leHBvcnQgZW51bSBMb2dMZXZlbHMge1xuICBEZWJ1ZyxcbiAgSW5mbyxcbiAgV2FybixcbiAgRXJyb3IsXG4gIEZhdGFsLFxufVxuXG5leHBvcnQgZW51bSBMb2dEZXB0aCB7XG4gIE1pbmltYWwsXG4gIEZ1bGwsXG59XG5cbmNvbnN0IHByZWZpeGVzID0gbmV3IE1hcDxMb2dMZXZlbHMsIHN0cmluZz4oW1xuICBbTG9nTGV2ZWxzLkRlYnVnLCAnREVCVUcnXSxcbiAgW0xvZ0xldmVscy5JbmZvLCAnSU5GTyddLFxuICBbTG9nTGV2ZWxzLldhcm4sICdXQVJOJ10sXG4gIFtMb2dMZXZlbHMuRXJyb3IsICdFUlJPUiddLFxuICBbTG9nTGV2ZWxzLkZhdGFsLCAnRkFUQUwnXSxcbl0pXG5cbmNvbnN0IG5vQ29sb3I6IChzdHI6IHN0cmluZykgPT4gc3RyaW5nID0gKG1zZykgPT4gbXNnXG5jb25zdCBjb2xvckZ1bmN0aW9ucyA9IG5ldyBNYXA8TG9nTGV2ZWxzLCAoc3RyOiBzdHJpbmcpID0+IHN0cmluZz4oW1xuICBbTG9nTGV2ZWxzLkRlYnVnLCBncmF5XSxcbiAgW0xvZ0xldmVscy5JbmZvLCBjeWFuXSxcbiAgW0xvZ0xldmVscy5XYXJuLCB5ZWxsb3ddLFxuICBbTG9nTGV2ZWxzLkVycm9yLCAoc3RyOiBzdHJpbmcpID0+IHJlZChzdHIpXSxcbiAgW0xvZ0xldmVscy5GYXRhbCwgKHN0cjogc3RyaW5nKSA9PiByZWQoYm9sZChpdGFsaWMoc3RyKSkpXSxcbl0pXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2dnZXIoe1xuICBsb2dMZXZlbCA9IExvZ0xldmVscy5JbmZvLFxuICBuYW1lLFxufToge1xuICBsb2dMZXZlbD86IExvZ0xldmVsc1xuICBuYW1lPzogc3RyaW5nXG59ID0ge30pIHtcbiAgbGV0IGRlcHRoID0gTG9nRGVwdGguTWluaW1hbFxuXG4gIGZ1bmN0aW9uIGxvZyhsZXZlbDogTG9nTGV2ZWxzLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChsZXZlbCA8IGxvZ0xldmVsKSByZXR1cm5cblxuICAgIGxldCBjb2xvciA9IGNvbG9yRnVuY3Rpb25zLmdldChsZXZlbClcbiAgICBpZiAoIWNvbG9yKSBjb2xvciA9IG5vQ29sb3JcblxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpXG4gICAgY29uc3QgbG9nID0gW1xuICAgICAgYmdCcmlnaHRNYWdlbnRhKGJsYWNrKGBbJHtkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpfSAke2RhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKCl9XWApKSxcbiAgICAgIGNvbG9yKHByZWZpeGVzLmdldChsZXZlbCkgPz8gJ0RFQlVHJyksXG4gICAgICBuYW1lID8gYCR7bmFtZX0gPmAgOiAnPicsXG4gICAgICAuLi5hcmdzLFxuICAgIF1cblxuICAgIHN3aXRjaCAobGV2ZWwpIHtcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLkRlYnVnOlxuICAgICAgICByZXR1cm4gY29uc29sZS5kZWJ1ZyguLi5sb2cpXG4gICAgICBjYXNlIExvZ0xldmVscy5JbmZvOlxuICAgICAgICByZXR1cm4gY29uc29sZS5pbmZvKC4uLmxvZylcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLldhcm46XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oLi4ubG9nKVxuICAgICAgY2FzZSBMb2dMZXZlbHMuRXJyb3I6XG4gICAgICAgIHJldHVybiBjb25zb2xlLmVycm9yKC4uLmxvZylcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLkZhdGFsOlxuICAgICAgICByZXR1cm4gY29uc29sZS5lcnJvciguLi5sb2cpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gY29uc29sZS5sb2coLi4ubG9nKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHNldExldmVsKGxldmVsOiBMb2dMZXZlbHMpIHtcbiAgICBsb2dMZXZlbCA9IGxldmVsXG4gIH1cblxuICBmdW5jdGlvbiBzZXREZXB0aChsZXZlbDogTG9nRGVwdGgpIHtcbiAgICBkZXB0aCA9IGxldmVsXG4gIH1cblxuICBmdW5jdGlvbiBkZWJ1ZyguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5EZWJ1ZywgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRGVidWcsIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBpbmZvKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKExvZ0RlcHRoLk1pbmltYWwgPT09IGRlcHRoKSBsb2coTG9nTGV2ZWxzLkluZm8sIGFyZ3NbMF0pXG4gICAgZWxzZSBsb2coTG9nTGV2ZWxzLkluZm8sIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiB3YXJuKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKExvZ0RlcHRoLk1pbmltYWwgPT09IGRlcHRoKSBsb2coTG9nTGV2ZWxzLldhcm4sIGFyZ3NbMF0pXG4gICAgZWxzZSBsb2coTG9nTGV2ZWxzLldhcm4sIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBlcnJvciguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5FcnJvciwgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRXJyb3IsIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBmYXRhbCguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5GYXRhbCwgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRmF0YWwsIC4uLmFyZ3MpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGxvZyxcbiAgICBzZXREZXB0aCxcbiAgICBzZXRMZXZlbCxcbiAgICBkZWJ1ZyxcbiAgICBpbmZvLFxuICAgIHdhcm4sXG4gICAgZXJyb3IsXG4gICAgZmF0YWwsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGxvZ2dlciA9IGNyZWF0ZUxvZ2dlcih7IG5hbWU6ICdEaXNjb3JkZW5vJyB9KVxuZXhwb3J0IGRlZmF1bHQgbG9nZ2VyXG4iXSwibmFtZXMiOlsiY3JlYXRlTG9nZ2VyIiwibG9nZ2VyIiwiTG9nTGV2ZWxzIiwiTG9nRGVwdGgiLCJwcmVmaXhlcyIsIk1hcCIsIm5vQ29sb3IiLCJtc2ciLCJjb2xvckZ1bmN0aW9ucyIsImdyYXkiLCJjeWFuIiwieWVsbG93Iiwic3RyIiwicmVkIiwiYm9sZCIsIml0YWxpYyIsImxvZ0xldmVsIiwibmFtZSIsImRlcHRoIiwibG9nIiwibGV2ZWwiLCJhcmdzIiwiY29sb3IiLCJnZXQiLCJkYXRlIiwiRGF0ZSIsImJnQnJpZ2h0TWFnZW50YSIsImJsYWNrIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9Mb2NhbGVUaW1lU3RyaW5nIiwiY29uc29sZSIsImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsInNldExldmVsIiwic2V0RGVwdGgiLCJmYXRhbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFnQ2dCQSxZQUFZO2VBQVpBOztJQXFGaEIsT0FBcUI7ZUFBckI7O0lBRGFDLE1BQU07ZUFBTkE7Ozt3QkFwSGlFOztVQUVsRUM7Ozs7OztHQUFBQSxjQUFBQTs7VUFRQUM7OztHQUFBQSxhQUFBQTtBQUtaLE1BQU1DLFdBQVcsSUFBSUMsSUFBdUI7SUFDMUM7O1FBQWtCO0tBQVE7SUFDMUI7O1FBQWlCO0tBQU87SUFDeEI7O1FBQWlCO0tBQU87SUFDeEI7O1FBQWtCO0tBQVE7SUFDMUI7O1FBQWtCO0tBQVE7Q0FDM0I7QUFFRCxNQUFNQyxVQUFtQyxDQUFDQyxNQUFRQTtBQUNsRCxNQUFNQyxpQkFBaUIsSUFBSUgsSUFBd0M7SUFD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
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "createOAuth2Link", {
10
10
  });
11
11
  const _permissions = require("./permissions.cjs");
12
12
  function createOAuth2Link(options) {
13
- const joinedScopeString = options.scope.join(' ');
13
+ const joinedScopeString = options.scope.join('%20');
14
14
  let url = `https://discord.com/oauth2/authorize?client_id=${options.clientId}&scope=${joinedScopeString}`;
15
15
  if (options.responseType) url += `&response_type=${options.responseType}`;
16
16
  if (options.state) url += `&state=${encodeURIComponent(options.state)}`;
@@ -23,4 +23,4 @@ function createOAuth2Link(options) {
23
23
  return url;
24
24
  }
25
25
 
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vYXV0aDIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCaWdTdHJpbmcsIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSwgT0F1dGgyU2NvcGUsIFBlcm1pc3Npb25TdHJpbmdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBjYWxjdWxhdGVCaXRzIH0gZnJvbSAnLi9wZXJtaXNzaW9ucy5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU9BdXRoMkxpbmsob3B0aW9uczogQ3JlYXRlT0F1dGgyTGlua09wdGlvbnMpOiBzdHJpbmcge1xuICBjb25zdCBqb2luZWRTY29wZVN0cmluZyA9IG9wdGlvbnMuc2NvcGUuam9pbignICcpXG5cbiAgbGV0IHVybCA9IGBodHRwczovL2Rpc2NvcmQuY29tL29hdXRoMi9hdXRob3JpemU/Y2xpZW50X2lkPSR7b3B0aW9ucy5jbGllbnRJZH0mc2NvcGU9JHtqb2luZWRTY29wZVN0cmluZ31gXG5cbiAgaWYgKG9wdGlvbnMucmVzcG9uc2VUeXBlKSB1cmwgKz0gYCZyZXNwb25zZV90eXBlPSR7b3B0aW9ucy5yZXNwb25zZVR5cGV9YFxuICBpZiAob3B0aW9ucy5zdGF0ZSkgdXJsICs9IGAmc3RhdGU9JHtlbmNvZGVVUklDb21wb25lbnQob3B0aW9ucy5zdGF0ZSl9YFxuICBpZiAob3B0aW9ucy5yZWRpcmVjdFVyaSkgdXJsICs9IGAmcmVkaXJlY3RfdXJpPSR7ZW5jb2RlVVJJQ29tcG9uZW50KG9wdGlvbnMucmVkaXJlY3RVcmkpfWBcbiAgaWYgKG9wdGlvbnMucHJvbXB0KSB1cmwgKz0gYCZwcm9tcHQ9JHtvcHRpb25zLnByb21wdH1gXG4gIGlmIChvcHRpb25zLnBlcm1pc3Npb25zKSB1cmwgKz0gYCZwZXJtaXNzaW9ucz0ke0FycmF5LmlzQXJyYXkob3B0aW9ucy5wZXJtaXNzaW9ucykgPyBjYWxjdWxhdGVCaXRzKG9wdGlvbnMucGVybWlzc2lvbnMpIDogb3B0aW9ucy5wZXJtaXNzaW9uc31gXG4gIGlmIChvcHRpb25zLmd1aWxkSWQpIHVybCArPSBgJmd1aWxkX2lkPSR7b3B0aW9ucy5ndWlsZElkfWBcbiAgaWYgKG9wdGlvbnMuZGlzYWJsZUd1aWxkU2VsZWN0ICE9PSB1bmRlZmluZWQpIHVybCArPSBgJmRpc2FibGVfZ3VpbGRfc2VsZWN0PSR7b3B0aW9ucy5kaXNhYmxlR3VpbGRTZWxlY3R9YFxuICBpZiAob3B0aW9ucy5pbnRlZ3JhdGlvblR5cGUpIHVybCArPSBgJmludGVncmF0aW9uX3R5cGU9JHtvcHRpb25zLmludGVncmF0aW9uVHlwZX1gXG5cbiAgcmV0dXJuIHVybFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU9BdXRoMkxpbmtPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHJlc3BvbnNlXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFNob3VsZCBiZSBkZWZpbmVkIG9ubHkgaWYgdXNpbmcgZWl0aGVyIE9BdXRoMiBhdXRob3JpemF0aW9uLCBpbXBsaWNpdCBvciBub3QsIG9yIFthZHZhbmNlZCBib3QgYXV0aG9yaXphdGlvbl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNhZHZhbmNlZC1ib3QtYXV0aG9yaXphdGlvbilcbiAgICovXG4gIHJlc3BvbnNlVHlwZT86ICdjb2RlJyB8ICd0b2tlbidcbiAgLyoqIFRoZSBpZCBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgY2xpZW50SWQ6IEJpZ1N0cmluZ1xuICAvKiogVGhlIHNjb3BlcyBmb3IgdGhlIGFwcGxpY2F0aW9uICovXG4gIHNjb3BlOiBPQXV0aDJTY29wZVtdXG4gIC8qKlxuICAgKiBUaGUgb3B0aW9uYWwgc3RhdGUgZm9yIHNlY3VyaXR5XG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNzdGF0ZS1hbmQtc2VjdXJpdHlcbiAgICovXG4gIHN0YXRlPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgcmVkaXJlY3QgdXJpIGZvciBhZnRlciB0aGUgYXV0aGVudGljYXRpb25cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpZiB1c2luZyBlaXRoZXIgT0F1dGgyIGF1dGhvcml6YXRpb24sIGltcGxpY2l0IG9yIG5vdCwgb3IgW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKVxuICAgKi9cbiAgcmVkaXJlY3RVcmk/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHByb21wdCB0byBnaXZlIHRvIHRoZSB1c2VyXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIElmIHNldCB0byBgbm9uZWAsIGl0IHdpbGwgc2tpcCB0aGUgYXV0aG9yaXphdGlvbiBzY3JlZW4gYW5kIHJlZGlyZWN0IHRoZW0gYmFjayB0byB5b3VyIHJlZGlyZWN0IFVSSSB3aXRob3V0IHJlcXVlc3RpbmcgdGhlaXIgYXV0aG9yaXphdGlvbi5cbiAgICogRm9yIHBhc3N0aHJvdWdoIHNjb3BlcywgbGlrZSBib3QgYW5kIHdlYmhvb2suaW5jb21pbmcsIGF1dGhvcml6YXRpb24gaXMgYWx3YXlzIHJlcXVpcmVkLlxuICAgKi9cbiAgcHJvbXB0PzogJ2NvbnNlbnQnIHwgJ25vbmUnXG4gIC8qKlxuICAgKiBUaGUgcGVybWlzc2lvbnMgb2YgdGhlIGludml0ZWQgYm90XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFNob3VsZCBiZSBkZWZpbmVkIG9ubHkgaW4gYSBbYm90IGF1dGhvcml6YXRpb24gZmxvd10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNib3QtYXV0aG9yaXphdGlvbi1mbG93KSBvciB3aXRoIFthZHZhbmNlZCBib3QgYXV0aG9yaXphdGlvbl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNhZHZhbmNlZC1ib3QtYXV0aG9yaXphdGlvbilcbiAgICovXG4gIHBlcm1pc3Npb25zPzogQmlnU3RyaW5nIHwgUGVybWlzc2lvblN0cmluZ3NbXVxuICAvKipcbiAgICogUHJlLWZpbGxzIHRoZSBkcm9wZG93biBwaWNrZXIgd2l0aCBhIGd1aWxkIGZvciB0aGUgdXNlclxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGluIGEgW2JvdCBhdXRob3JpemF0aW9uIGZsb3ddKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYm90LWF1dGhvcml6YXRpb24tZmxvdykgb3Igd2l0aCBbYWR2YW5jZWQgYm90IGF1dGhvcml6YXRpb25dKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYWR2YW5jZWQtYm90LWF1dGhvcml6YXRpb24pIG9yIHdpdGggdGhlIGB3ZWJob29rLmluY29taW5nYCBzY29wZVxuICAgKi9cbiAgZ3VpbGRJZD86IEJpZ1N0cmluZ1xuICAvKipcbiAgICogRGlzYWxsb3dzIHRoZSB1c2VyIGZyb20gY2hhbmdpbmcgdGhlIGd1aWxkIGRyb3Bkb3duIGlmIHNldCB0byB0cnVlXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFNob3VsZCBiZSBkZWZpbmVkIG9ubHkgaW4gYSBbYm90IGF1dGhvcml6YXRpb24gZmxvd10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNib3QtYXV0aG9yaXphdGlvbi1mbG93KSwgd2l0aCBbYWR2YW5jZWQgYm90IGF1dGhvcml6YXRpb25dKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYWR2YW5jZWQtYm90LWF1dGhvcml6YXRpb24pIG9yIHdpdGggdGhlIGB3ZWJob29rLmluY29taW5nYCBzY29wZVxuICAgKi9cbiAgZGlzYWJsZUd1aWxkU2VsZWN0PzogYm9vbGVhblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBpbnN0YWxsYXRpb24gY29udGV4dCBmb3IgdGhlIGF1dGhvcml6YXRpb25cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSB3aGVuIHtAbGluayBzY29wZX0gaW5jbHVkZXMge0BsaW5rIE9BdXRoMlNjb3BlLkFwcGxpY2F0aW9uc0NvbW1hbmRzfS5cbiAgICpcbiAgICogV2hlbiBzZXQgdG8gR3VpbGRJbnN0YWxsICgwKSB0aGUgYXBwbGljYXRpb24gd2lsbCBiZSBhdXRob3JpemVkIGZvciBpbnN0YWxsYXRpb24gdG8gYSBzZXJ2ZXIsIGFuZCB3aGVuIHNldCB0byBVc2VySW5zdGFsbCAoMSkgdGhlIGFwcGxpY2F0aW9uIHdpbGwgYmUgYXV0aG9yaXplZCBmb3IgaW5zdGFsbGF0aW9uIHRvIGEgdXNlci5cbiAgICpcbiAgICogVGhlIGFwcGxpY2F0aW9uIG11c3QgYmUgY29uZmlndXJlZCBpbiB0aGUgRGV2ZWxvcGVyIFBvcnRhbCB0byBzdXBwb3J0IHRoZSBwcm92aWRlZCBgaW50ZWdyYXRpb25UeXBlYC5cbiAgICovXG4gIGludGVncmF0aW9uVHlwZT86IERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZVxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZU9BdXRoMkxpbmsiLCJvcHRpb25zIiwiam9pbmVkU2NvcGVTdHJpbmciLCJzY29wZSIsImpvaW4iLCJ1cmwiLCJjbGllbnRJZCIsInJlc3BvbnNlVHlwZSIsInN0YXRlIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicmVkaXJlY3RVcmkiLCJwcm9tcHQiLCJwZXJtaXNzaW9ucyIsIkFycmF5IiwiaXNBcnJheSIsImNhbGN1bGF0ZUJpdHMiLCJndWlsZElkIiwiZGlzYWJsZUd1aWxkU2VsZWN0IiwidW5kZWZpbmVkIiwiaW50ZWdyYXRpb25UeXBlIl0sIm1hcHBpbmdzIjoiOzs7OytCQUdnQkE7OztlQUFBQTs7OzZCQUZjO0FBRXZCLFNBQVNBLGlCQUFpQkMsT0FBZ0M7SUFDL0QsTUFBTUMsb0JBQW9CRCxRQUFRRSxLQUFLLENBQUNDLElBQUksQ0FBQztJQUU3QyxJQUFJQyxNQUFNLENBQUMsK0NBQStDLEVBQUVKLFFBQVFLLFFBQVEsQ0FBQyxPQUFPLEVBQUVKLGtCQUFrQixDQUFDO0lBRXpHLElBQUlELFFBQVFNLFlBQVksRUFBRUYsT0FBTyxDQUFDLGVBQWUsRUFBRUosUUFBUU0sWUFBWSxDQUFDLENBQUM7SUFDekUsSUFBSU4sUUFBUU8sS0FBSyxFQUFFSCxPQUFPLENBQUMsT0FBTyxFQUFFSSxtQkFBbUJSLFFBQVFPLEtBQUssRUFBRSxDQUFDO0lBQ3ZFLElBQUlQLFFBQVFTLFdBQVcsRUFBRUwsT0FBTyxDQUFDLGNBQWMsRUFBRUksbUJBQW1CUixRQUFRUyxXQUFXLEVBQUUsQ0FBQztJQUMxRixJQUFJVCxRQUFRVSxNQUFNLEVBQUVOLE9BQU8sQ0FBQyxRQUFRLEVBQUVKLFFBQVFVLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELElBQUlWLFFBQVFXLFdBQVcsRUFBRVAsT0FBTyxDQUFDLGFBQWEsRUFBRVEsTUFBTUMsT0FBTyxDQUFDYixRQUFRVyxXQUFXLElBQUlHLElBQUFBLDBCQUFhLEVBQUNkLFFBQVFXLFdBQVcsSUFBSVgsUUFBUVcsV0FBVyxDQUFDLENBQUM7SUFDL0ksSUFBSVgsUUFBUWUsT0FBTyxFQUFFWCxPQUFPLENBQUMsVUFBVSxFQUFFSixRQUFRZSxPQUFPLENBQUMsQ0FBQztJQUMxRCxJQUFJZixRQUFRZ0Isa0JBQWtCLEtBQUtDLFdBQVdiLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRUosUUFBUWdCLGtCQUFrQixDQUFDLENBQUM7SUFDMUcsSUFBSWhCLFFBQVFrQixlQUFlLEVBQUVkLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRUosUUFBUWtCLGVBQWUsQ0FBQyxDQUFDO0lBRWxGLE9BQU9kO0FBQ1QifQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vYXV0aDIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCaWdTdHJpbmcsIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSwgT0F1dGgyU2NvcGUsIFBlcm1pc3Npb25TdHJpbmdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBjYWxjdWxhdGVCaXRzIH0gZnJvbSAnLi9wZXJtaXNzaW9ucy5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU9BdXRoMkxpbmsob3B0aW9uczogQ3JlYXRlT0F1dGgyTGlua09wdGlvbnMpOiBzdHJpbmcge1xuICBjb25zdCBqb2luZWRTY29wZVN0cmluZyA9IG9wdGlvbnMuc2NvcGUuam9pbignJTIwJylcblxuICBsZXQgdXJsID0gYGh0dHBzOi8vZGlzY29yZC5jb20vb2F1dGgyL2F1dGhvcml6ZT9jbGllbnRfaWQ9JHtvcHRpb25zLmNsaWVudElkfSZzY29wZT0ke2pvaW5lZFNjb3BlU3RyaW5nfWBcblxuICBpZiAob3B0aW9ucy5yZXNwb25zZVR5cGUpIHVybCArPSBgJnJlc3BvbnNlX3R5cGU9JHtvcHRpb25zLnJlc3BvbnNlVHlwZX1gXG4gIGlmIChvcHRpb25zLnN0YXRlKSB1cmwgKz0gYCZzdGF0ZT0ke2VuY29kZVVSSUNvbXBvbmVudChvcHRpb25zLnN0YXRlKX1gXG4gIGlmIChvcHRpb25zLnJlZGlyZWN0VXJpKSB1cmwgKz0gYCZyZWRpcmVjdF91cmk9JHtlbmNvZGVVUklDb21wb25lbnQob3B0aW9ucy5yZWRpcmVjdFVyaSl9YFxuICBpZiAob3B0aW9ucy5wcm9tcHQpIHVybCArPSBgJnByb21wdD0ke29wdGlvbnMucHJvbXB0fWBcbiAgaWYgKG9wdGlvbnMucGVybWlzc2lvbnMpIHVybCArPSBgJnBlcm1pc3Npb25zPSR7QXJyYXkuaXNBcnJheShvcHRpb25zLnBlcm1pc3Npb25zKSA/IGNhbGN1bGF0ZUJpdHMob3B0aW9ucy5wZXJtaXNzaW9ucykgOiBvcHRpb25zLnBlcm1pc3Npb25zfWBcbiAgaWYgKG9wdGlvbnMuZ3VpbGRJZCkgdXJsICs9IGAmZ3VpbGRfaWQ9JHtvcHRpb25zLmd1aWxkSWR9YFxuICBpZiAob3B0aW9ucy5kaXNhYmxlR3VpbGRTZWxlY3QgIT09IHVuZGVmaW5lZCkgdXJsICs9IGAmZGlzYWJsZV9ndWlsZF9zZWxlY3Q9JHtvcHRpb25zLmRpc2FibGVHdWlsZFNlbGVjdH1gXG4gIGlmIChvcHRpb25zLmludGVncmF0aW9uVHlwZSkgdXJsICs9IGAmaW50ZWdyYXRpb25fdHlwZT0ke29wdGlvbnMuaW50ZWdyYXRpb25UeXBlfWBcblxuICByZXR1cm4gdXJsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlT0F1dGgyTGlua09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcmVzcG9uc2VcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpZiB1c2luZyBlaXRoZXIgT0F1dGgyIGF1dGhvcml6YXRpb24sIGltcGxpY2l0IG9yIG5vdCwgb3IgW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKVxuICAgKi9cbiAgcmVzcG9uc2VUeXBlPzogJ2NvZGUnIHwgJ3Rva2VuJ1xuICAvKiogVGhlIGlkIG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBjbGllbnRJZDogQmlnU3RyaW5nXG4gIC8qKiBUaGUgc2NvcGVzIGZvciB0aGUgYXBwbGljYXRpb24gKi9cbiAgc2NvcGU6IE9BdXRoMlNjb3BlW11cbiAgLyoqXG4gICAqIFRoZSBvcHRpb25hbCBzdGF0ZSBmb3Igc2VjdXJpdHlcbiAgICpcbiAgICogQHNlZSBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI3N0YXRlLWFuZC1zZWN1cml0eVxuICAgKi9cbiAgc3RhdGU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSByZWRpcmVjdCB1cmkgZm9yIGFmdGVyIHRoZSBhdXRoZW50aWNhdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGlmIHVzaW5nIGVpdGhlciBPQXV0aDIgYXV0aG9yaXphdGlvbiwgaW1wbGljaXQgb3Igbm90LCBvciBbYWR2YW5jZWQgYm90IGF1dGhvcml6YXRpb25dKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYWR2YW5jZWQtYm90LWF1dGhvcml6YXRpb24pXG4gICAqL1xuICByZWRpcmVjdFVyaT86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcHJvbXB0IHRvIGdpdmUgdG8gdGhlIHVzZXJcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogSWYgc2V0IHRvIGBub25lYCwgaXQgd2lsbCBza2lwIHRoZSBhdXRob3JpemF0aW9uIHNjcmVlbiBhbmQgcmVkaXJlY3QgdGhlbSBiYWNrIHRvIHlvdXIgcmVkaXJlY3QgVVJJIHdpdGhvdXQgcmVxdWVzdGluZyB0aGVpciBhdXRob3JpemF0aW9uLlxuICAgKiBGb3IgcGFzc3Rocm91Z2ggc2NvcGVzLCBsaWtlIGJvdCBhbmQgd2ViaG9vay5pbmNvbWluZywgYXV0aG9yaXphdGlvbiBpcyBhbHdheXMgcmVxdWlyZWQuXG4gICAqL1xuICBwcm9tcHQ/OiAnY29uc2VudCcgfCAnbm9uZSdcbiAgLyoqXG4gICAqIFRoZSBwZXJtaXNzaW9ucyBvZiB0aGUgaW52aXRlZCBib3RcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpbiBhIFtib3QgYXV0aG9yaXphdGlvbiBmbG93XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2JvdC1hdXRob3JpemF0aW9uLWZsb3cpIG9yIHdpdGggW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKVxuICAgKi9cbiAgcGVybWlzc2lvbnM/OiBCaWdTdHJpbmcgfCBQZXJtaXNzaW9uU3RyaW5nc1tdXG4gIC8qKlxuICAgKiBQcmUtZmlsbHMgdGhlIGRyb3Bkb3duIHBpY2tlciB3aXRoIGEgZ3VpbGQgZm9yIHRoZSB1c2VyXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFNob3VsZCBiZSBkZWZpbmVkIG9ubHkgaW4gYSBbYm90IGF1dGhvcml6YXRpb24gZmxvd10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNib3QtYXV0aG9yaXphdGlvbi1mbG93KSBvciB3aXRoIFthZHZhbmNlZCBib3QgYXV0aG9yaXphdGlvbl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNhZHZhbmNlZC1ib3QtYXV0aG9yaXphdGlvbikgb3Igd2l0aCB0aGUgYHdlYmhvb2suaW5jb21pbmdgIHNjb3BlXG4gICAqL1xuICBndWlsZElkPzogQmlnU3RyaW5nXG4gIC8qKlxuICAgKiBEaXNhbGxvd3MgdGhlIHVzZXIgZnJvbSBjaGFuZ2luZyB0aGUgZ3VpbGQgZHJvcGRvd24gaWYgc2V0IHRvIHRydWVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpbiBhIFtib3QgYXV0aG9yaXphdGlvbiBmbG93XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2JvdC1hdXRob3JpemF0aW9uLWZsb3cpLCB3aXRoIFthZHZhbmNlZCBib3QgYXV0aG9yaXphdGlvbl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNhZHZhbmNlZC1ib3QtYXV0aG9yaXphdGlvbikgb3Igd2l0aCB0aGUgYHdlYmhvb2suaW5jb21pbmdgIHNjb3BlXG4gICAqL1xuICBkaXNhYmxlR3VpbGRTZWxlY3Q/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGluc3RhbGxhdGlvbiBjb250ZXh0IGZvciB0aGUgYXV0aG9yaXphdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IHdoZW4ge0BsaW5rIHNjb3BlfSBpbmNsdWRlcyB7QGxpbmsgT0F1dGgyU2NvcGUuQXBwbGljYXRpb25zQ29tbWFuZHN9LlxuICAgKlxuICAgKiBXaGVuIHNldCB0byBHdWlsZEluc3RhbGwgKDApIHRoZSBhcHBsaWNhdGlvbiB3aWxsIGJlIGF1dGhvcml6ZWQgZm9yIGluc3RhbGxhdGlvbiB0byBhIHNlcnZlciwgYW5kIHdoZW4gc2V0IHRvIFVzZXJJbnN0YWxsICgxKSB0aGUgYXBwbGljYXRpb24gd2lsbCBiZSBhdXRob3JpemVkIGZvciBpbnN0YWxsYXRpb24gdG8gYSB1c2VyLlxuICAgKlxuICAgKiBUaGUgYXBwbGljYXRpb24gbXVzdCBiZSBjb25maWd1cmVkIGluIHRoZSBEZXZlbG9wZXIgUG9ydGFsIHRvIHN1cHBvcnQgdGhlIHByb3ZpZGVkIGBpbnRlZ3JhdGlvblR5cGVgLlxuICAgKi9cbiAgaW50ZWdyYXRpb25UeXBlPzogRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlXG59XG4iXSwibmFtZXMiOlsiY3JlYXRlT0F1dGgyTGluayIsIm9wdGlvbnMiLCJqb2luZWRTY29wZVN0cmluZyIsInNjb3BlIiwiam9pbiIsInVybCIsImNsaWVudElkIiwicmVzcG9uc2VUeXBlIiwic3RhdGUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZWRpcmVjdFVyaSIsInByb21wdCIsInBlcm1pc3Npb25zIiwiQXJyYXkiLCJpc0FycmF5IiwiY2FsY3VsYXRlQml0cyIsImd1aWxkSWQiLCJkaXNhYmxlR3VpbGRTZWxlY3QiLCJ1bmRlZmluZWQiLCJpbnRlZ3JhdGlvblR5cGUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2dCQTs7O2VBQUFBOzs7NkJBRmM7QUFFdkIsU0FBU0EsaUJBQWlCQyxPQUFnQztJQUMvRCxNQUFNQyxvQkFBb0JELFFBQVFFLEtBQUssQ0FBQ0MsSUFBSSxDQUFDO0lBRTdDLElBQUlDLE1BQU0sQ0FBQywrQ0FBK0MsRUFBRUosUUFBUUssUUFBUSxDQUFDLE9BQU8sRUFBRUosa0JBQWtCLENBQUM7SUFFekcsSUFBSUQsUUFBUU0sWUFBWSxFQUFFRixPQUFPLENBQUMsZUFBZSxFQUFFSixRQUFRTSxZQUFZLENBQUMsQ0FBQztJQUN6RSxJQUFJTixRQUFRTyxLQUFLLEVBQUVILE9BQU8sQ0FBQyxPQUFPLEVBQUVJLG1CQUFtQlIsUUFBUU8sS0FBSyxFQUFFLENBQUM7SUFDdkUsSUFBSVAsUUFBUVMsV0FBVyxFQUFFTCxPQUFPLENBQUMsY0FBYyxFQUFFSSxtQkFBbUJSLFFBQVFTLFdBQVcsRUFBRSxDQUFDO0lBQzFGLElBQUlULFFBQVFVLE1BQU0sRUFBRU4sT0FBTyxDQUFDLFFBQVEsRUFBRUosUUFBUVUsTUFBTSxDQUFDLENBQUM7SUFDdEQsSUFBSVYsUUFBUVcsV0FBVyxFQUFFUCxPQUFPLENBQUMsYUFBYSxFQUFFUSxNQUFNQyxPQUFPLENBQUNiLFFBQVFXLFdBQVcsSUFBSUcsSUFBQUEsMEJBQWEsRUFBQ2QsUUFBUVcsV0FBVyxJQUFJWCxRQUFRVyxXQUFXLENBQUMsQ0FBQztJQUMvSSxJQUFJWCxRQUFRZSxPQUFPLEVBQUVYLE9BQU8sQ0FBQyxVQUFVLEVBQUVKLFFBQVFlLE9BQU8sQ0FBQyxDQUFDO0lBQzFELElBQUlmLFFBQVFnQixrQkFBa0IsS0FBS0MsV0FBV2IsT0FBTyxDQUFDLHNCQUFzQixFQUFFSixRQUFRZ0Isa0JBQWtCLENBQUMsQ0FBQztJQUMxRyxJQUFJaEIsUUFBUWtCLGVBQWUsRUFBRWQsT0FBTyxDQUFDLGtCQUFrQixFQUFFSixRQUFRa0IsZUFBZSxDQUFDLENBQUM7SUFFbEYsT0FBT2Q7QUFDVCJ9
@@ -22,14 +22,14 @@ function calculatePermissions(permissionBits) {
22
22
  // Since Object.keys() not only returns the permission names but also the bit values we need to return false if it is a Number
23
23
  if (Number(permission)) return false;
24
24
  // Check if permissionBits has this permission
25
- return permissionBits & BigInt(_types.BitwisePermissionFlags[permission]);
25
+ return permissionBits & _types.BitwisePermissionFlags[permission];
26
26
  });
27
27
  }
28
28
  function calculateBits(permissions) {
29
29
  return permissions.reduce((bits, perm)=>{
30
- bits |= BigInt(_types.BitwisePermissionFlags[perm]);
30
+ bits |= _types.BitwisePermissionFlags[perm];
31
31
  return bits;
32
32
  }, 0n).toString();
33
33
  }
34
34
 
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wZXJtaXNzaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBlcm1pc3Npb25TdHJpbmdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBCaXR3aXNlUGVybWlzc2lvbkZsYWdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5cbi8qKiBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRzIGEgYml0d2lzZSBzdHJpbmcgdG8gcGVybWlzc2lvbiBzdHJpbmdzICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlUGVybWlzc2lvbnMocGVybWlzc2lvbkJpdHM6IGJpZ2ludCk6IFBlcm1pc3Npb25TdHJpbmdzW10ge1xuICByZXR1cm4gT2JqZWN0LmtleXMoQml0d2lzZVBlcm1pc3Npb25GbGFncykuZmlsdGVyKChwZXJtaXNzaW9uKSA9PiB7XG4gICAgLy8gU2luY2UgT2JqZWN0LmtleXMoKSBub3Qgb25seSByZXR1cm5zIHRoZSBwZXJtaXNzaW9uIG5hbWVzIGJ1dCBhbHNvIHRoZSBiaXQgdmFsdWVzIHdlIG5lZWQgdG8gcmV0dXJuIGZhbHNlIGlmIGl0IGlzIGEgTnVtYmVyXG4gICAgaWYgKE51bWJlcihwZXJtaXNzaW9uKSkgcmV0dXJuIGZhbHNlXG4gICAgLy8gQ2hlY2sgaWYgcGVybWlzc2lvbkJpdHMgaGFzIHRoaXMgcGVybWlzc2lvblxuICAgIHJldHVybiBwZXJtaXNzaW9uQml0cyAmIEJpZ0ludChCaXR3aXNlUGVybWlzc2lvbkZsYWdzW3Blcm1pc3Npb24gYXMgUGVybWlzc2lvblN0cmluZ3NdKVxuICB9KSBhcyBQZXJtaXNzaW9uU3RyaW5nc1tdXG59XG5cbi8qKiBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRzIGFuIGFycmF5IG9mIHBlcm1pc3Npb25zIGludG8gdGhlIGJpdHdpc2Ugc3RyaW5nLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUJpdHMocGVybWlzc2lvbnM6IFBlcm1pc3Npb25TdHJpbmdzW10pOiBzdHJpbmcge1xuICByZXR1cm4gcGVybWlzc2lvbnNcbiAgICAucmVkdWNlKChiaXRzLCBwZXJtKSA9PiB7XG4gICAgICBiaXRzIHw9IEJpZ0ludChCaXR3aXNlUGVybWlzc2lvbkZsYWdzW3Blcm1dKVxuICAgICAgcmV0dXJuIGJpdHNcbiAgICB9LCAwbilcbiAgICAudG9TdHJpbmcoKVxufVxuIl0sIm5hbWVzIjpbImNhbGN1bGF0ZUJpdHMiLCJjYWxjdWxhdGVQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25CaXRzIiwiT2JqZWN0Iiwia2V5cyIsIkJpdHdpc2VQZXJtaXNzaW9uRmxhZ3MiLCJmaWx0ZXIiLCJwZXJtaXNzaW9uIiwiTnVtYmVyIiwiQmlnSW50IiwicGVybWlzc2lvbnMiLCJyZWR1Y2UiLCJiaXRzIiwicGVybSIsInRvU3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQWNnQkEsYUFBYTtlQUFiQTs7SUFWQUMsb0JBQW9CO2VBQXBCQTs7O3VCQUh1QjtBQUdoQyxTQUFTQSxxQkFBcUJDLGNBQXNCO0lBQ3pELE9BQU9DLE9BQU9DLElBQUksQ0FBQ0MsNkJBQXNCLEVBQUVDLE1BQU0sQ0FBQyxDQUFDQztRQUNqRCw4SEFBOEg7UUFDOUgsSUFBSUMsT0FBT0QsYUFBYSxPQUFPO1FBQy9CLDhDQUE4QztRQUM5QyxPQUFPTCxpQkFBaUJPLE9BQU9KLDZCQUFzQixDQUFDRSxXQUFnQztJQUN4RjtBQUNGO0FBR08sU0FBU1AsY0FBY1UsV0FBZ0M7SUFDNUQsT0FBT0EsWUFDSkMsTUFBTSxDQUFDLENBQUNDLE1BQU1DO1FBQ2JELFFBQVFILE9BQU9KLDZCQUFzQixDQUFDUSxLQUFLO1FBQzNDLE9BQU9EO0lBQ1QsR0FBRyxFQUFFLEVBQ0pFLFFBQVE7QUFDYiJ9
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wZXJtaXNzaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBlcm1pc3Npb25TdHJpbmdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBCaXR3aXNlUGVybWlzc2lvbkZsYWdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5cbi8qKiBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRzIGEgYml0d2lzZSBzdHJpbmcgdG8gcGVybWlzc2lvbiBzdHJpbmdzICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlUGVybWlzc2lvbnMocGVybWlzc2lvbkJpdHM6IGJpZ2ludCk6IFBlcm1pc3Npb25TdHJpbmdzW10ge1xuICByZXR1cm4gT2JqZWN0LmtleXMoQml0d2lzZVBlcm1pc3Npb25GbGFncykuZmlsdGVyKChwZXJtaXNzaW9uKSA9PiB7XG4gICAgLy8gU2luY2UgT2JqZWN0LmtleXMoKSBub3Qgb25seSByZXR1cm5zIHRoZSBwZXJtaXNzaW9uIG5hbWVzIGJ1dCBhbHNvIHRoZSBiaXQgdmFsdWVzIHdlIG5lZWQgdG8gcmV0dXJuIGZhbHNlIGlmIGl0IGlzIGEgTnVtYmVyXG4gICAgaWYgKE51bWJlcihwZXJtaXNzaW9uKSkgcmV0dXJuIGZhbHNlXG4gICAgLy8gQ2hlY2sgaWYgcGVybWlzc2lvbkJpdHMgaGFzIHRoaXMgcGVybWlzc2lvblxuICAgIHJldHVybiBwZXJtaXNzaW9uQml0cyAmIEJpdHdpc2VQZXJtaXNzaW9uRmxhZ3NbcGVybWlzc2lvbiBhcyBQZXJtaXNzaW9uU3RyaW5nc11cbiAgfSkgYXMgUGVybWlzc2lvblN0cmluZ3NbXVxufVxuXG4vKiogVGhpcyBmdW5jdGlvbiBjb252ZXJ0cyBhbiBhcnJheSBvZiBwZXJtaXNzaW9ucyBpbnRvIHRoZSBiaXR3aXNlIHN0cmluZy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVCaXRzKHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uU3RyaW5nc1tdKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBlcm1pc3Npb25zXG4gICAgLnJlZHVjZSgoYml0cywgcGVybSkgPT4ge1xuICAgICAgYml0cyB8PSBCaXR3aXNlUGVybWlzc2lvbkZsYWdzW3Blcm1dXG4gICAgICByZXR1cm4gYml0c1xuICAgIH0sIDBuKVxuICAgIC50b1N0cmluZygpXG59XG4iXSwibmFtZXMiOlsiY2FsY3VsYXRlQml0cyIsImNhbGN1bGF0ZVBlcm1pc3Npb25zIiwicGVybWlzc2lvbkJpdHMiLCJPYmplY3QiLCJrZXlzIiwiQml0d2lzZVBlcm1pc3Npb25GbGFncyIsImZpbHRlciIsInBlcm1pc3Npb24iLCJOdW1iZXIiLCJwZXJtaXNzaW9ucyIsInJlZHVjZSIsImJpdHMiLCJwZXJtIiwidG9TdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBY2dCQSxhQUFhO2VBQWJBOztJQVZBQyxvQkFBb0I7ZUFBcEJBOzs7dUJBSHVCO0FBR2hDLFNBQVNBLHFCQUFxQkMsY0FBc0I7SUFDekQsT0FBT0MsT0FBT0MsSUFBSSxDQUFDQyw2QkFBc0IsRUFBRUMsTUFBTSxDQUFDLENBQUNDO1FBQ2pELDhIQUE4SDtRQUM5SCxJQUFJQyxPQUFPRCxhQUFhLE9BQU87UUFDL0IsOENBQThDO1FBQzlDLE9BQU9MLGlCQUFpQkcsNkJBQXNCLENBQUNFLFdBQWdDO0lBQ2pGO0FBQ0Y7QUFHTyxTQUFTUCxjQUFjUyxXQUFnQztJQUM1RCxPQUFPQSxZQUNKQyxNQUFNLENBQUMsQ0FBQ0MsTUFBTUM7UUFDYkQsUUFBUU4sNkJBQXNCLENBQUNPLEtBQUs7UUFDcEMsT0FBT0Q7SUFDVCxHQUFHLEVBQUUsRUFDSkUsUUFBUTtBQUNiIn0=
@@ -16,7 +16,6 @@ _export(exports, {
16
16
  return removeTokenPrefix;
17
17
  }
18
18
  });
19
- const _nodebuffer = require("node:buffer");
20
19
  const validTokenPrefixes = [
21
20
  'Bot',
22
21
  'Bearer'
@@ -33,7 +32,7 @@ function removeTokenPrefix(token, type = 'REST') {
33
32
  return splittedToken.splice(1).join(' ');
34
33
  }
35
34
  function getBotIdFromToken(token) {
36
- return BigInt(_nodebuffer.Buffer.from(token.split('.')[0], 'base64').toString());
35
+ return BigInt(atob(token.split('.')[0]));
37
36
  }
38
37
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdub2RlOmJ1ZmZlcidcblxuY29uc3QgdmFsaWRUb2tlblByZWZpeGVzID0gWydCb3QnLCAnQmVhcmVyJ11cblxuLyoqIFJlbW92ZXMgdGhlIEJvdC9CZWFyZXIgYmVmb3JlIHRoZSB0b2tlbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVUb2tlblByZWZpeCh0b2tlbj86IHN0cmluZywgdHlwZTogJ0dBVEVXQVknIHwgJ1JFU1QnID0gJ1JFU1QnKTogc3RyaW5nIHtcbiAgLy8gSWYgbm8gdG9rZW4gaXMgcHJvdmlkZWQsIHRocm93IGFuIGVycm9yXG4gIGlmICh0b2tlbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgJHt0eXBlfSB3YXMgbm90IGdpdmVuIGEgdG9rZW4uIFBsZWFzZSBwcm92aWRlIGEgdG9rZW4gYW5kIHRyeSBhZ2Fpbi5gKVxuICB9XG5cbiAgY29uc3Qgc3BsaXR0ZWRUb2tlbiA9IHRva2VuLnNwbGl0KCcgJylcblxuICAvLyBJZiB0aGUgdG9rZW4gZG9lcyBub3QgaGF2ZSBhIHByZWZpeCBqdXN0IHJldHVybiB0b2tlblxuICBpZiAoc3BsaXR0ZWRUb2tlbi5sZW5ndGggPCAyIHx8ICF2YWxpZFRva2VuUHJlZml4ZXMuaW5jbHVkZXMoc3BsaXR0ZWRUb2tlblswXSkpIHJldHVybiB0b2tlblxuICAvLyBSZW1vdmUgdGhlIHByZWZpeCBhbmQgcmV0dXJuIG9ubHkgdGhlIHRva2VuLlxuICByZXR1cm4gc3BsaXR0ZWRUb2tlbi5zcGxpY2UoMSkuam9pbignICcpXG59XG5cbi8qKiBHZXQgdGhlIGJvdCBpZCBmcm9tIHRoZSBib3QgdG9rZW4uIFdBUk5JTkc6IERpc2NvcmQgc3RhZmYgaGFzIG1lbnRpb25lZCB0aGlzIG1heSBub3QgYmUgc3RhYmxlIGZvcmV2ZXIuIFVzZSBhdCB5b3VyIG93biByaXNrLiBIb3dldmVyLCBub3RlIGZvciBvdmVyIDUgeWVhcnMgdGhpcyBoYXMgbmV2ZXIgYnJva2VuLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJvdElkRnJvbVRva2VuKHRva2VuOiBzdHJpbmcpOiBiaWdpbnQge1xuICByZXR1cm4gQmlnSW50KEJ1ZmZlci5mcm9tKHRva2VuLnNwbGl0KCcuJylbMF0sICdiYXNlNjQnKS50b1N0cmluZygpKVxufVxuIl0sIm5hbWVzIjpbImdldEJvdElkRnJvbVRva2VuIiwicmVtb3ZlVG9rZW5QcmVmaXgiLCJ2YWxpZFRva2VuUHJlZml4ZXMiLCJ0b2tlbiIsInR5cGUiLCJ1bmRlZmluZWQiLCJFcnJvciIsInNwbGl0dGVkVG9rZW4iLCJzcGxpdCIsImxlbmd0aCIsImluY2x1ZGVzIiwic3BsaWNlIiwiam9pbiIsIkJpZ0ludCIsIkJ1ZmZlciIsImZyb20iLCJ0b1N0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFvQmdCQSxpQkFBaUI7ZUFBakJBOztJQWZBQyxpQkFBaUI7ZUFBakJBOzs7NEJBTE87QUFFdkIsTUFBTUMscUJBQXFCO0lBQUM7SUFBTztDQUFTO0FBR3JDLFNBQVNELGtCQUFrQkUsS0FBYyxFQUFFQyxPQUEyQixNQUFNO0lBQ2pGLDBDQUEwQztJQUMxQyxJQUFJRCxVQUFVRSxXQUFXO1FBQ3ZCLE1BQU0sSUFBSUMsTUFBTSxDQUFDLElBQUksRUFBRUYsS0FBSyw2REFBNkQsQ0FBQztJQUM1RjtJQUVBLE1BQU1HLGdCQUFnQkosTUFBTUssS0FBSyxDQUFDO0lBRWxDLHdEQUF3RDtJQUN4RCxJQUFJRCxjQUFjRSxNQUFNLEdBQUcsS0FBSyxDQUFDUCxtQkFBbUJRLFFBQVEsQ0FBQ0gsYUFBYSxDQUFDLEVBQUUsR0FBRyxPQUFPSjtJQUN2RiwrQ0FBK0M7SUFDL0MsT0FBT0ksY0FBY0ksTUFBTSxDQUFDLEdBQUdDLElBQUksQ0FBQztBQUN0QztBQUdPLFNBQVNaLGtCQUFrQkcsS0FBYTtJQUM3QyxPQUFPVSxPQUFPQyxrQkFBTSxDQUFDQyxJQUFJLENBQUNaLE1BQU1LLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFVBQVVRLFFBQVE7QUFDbkUifQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB2YWxpZFRva2VuUHJlZml4ZXMgPSBbJ0JvdCcsICdCZWFyZXInXVxuXG4vKiogUmVtb3ZlcyB0aGUgQm90L0JlYXJlciBiZWZvcmUgdGhlIHRva2VuLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVRva2VuUHJlZml4KHRva2VuPzogc3RyaW5nLCB0eXBlOiAnR0FURVdBWScgfCAnUkVTVCcgPSAnUkVTVCcpOiBzdHJpbmcge1xuICAvLyBJZiBubyB0b2tlbiBpcyBwcm92aWRlZCwgdGhyb3cgYW4gZXJyb3JcbiAgaWYgKHRva2VuID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSAke3R5cGV9IHdhcyBub3QgZ2l2ZW4gYSB0b2tlbi4gUGxlYXNlIHByb3ZpZGUgYSB0b2tlbiBhbmQgdHJ5IGFnYWluLmApXG4gIH1cblxuICBjb25zdCBzcGxpdHRlZFRva2VuID0gdG9rZW4uc3BsaXQoJyAnKVxuXG4gIC8vIElmIHRoZSB0b2tlbiBkb2VzIG5vdCBoYXZlIGEgcHJlZml4IGp1c3QgcmV0dXJuIHRva2VuXG4gIGlmIChzcGxpdHRlZFRva2VuLmxlbmd0aCA8IDIgfHwgIXZhbGlkVG9rZW5QcmVmaXhlcy5pbmNsdWRlcyhzcGxpdHRlZFRva2VuWzBdKSkgcmV0dXJuIHRva2VuXG4gIC8vIFJlbW92ZSB0aGUgcHJlZml4IGFuZCByZXR1cm4gb25seSB0aGUgdG9rZW4uXG4gIHJldHVybiBzcGxpdHRlZFRva2VuLnNwbGljZSgxKS5qb2luKCcgJylcbn1cblxuLyoqIEdldCB0aGUgYm90IGlkIGZyb20gdGhlIGJvdCB0b2tlbi4gV0FSTklORzogRGlzY29yZCBzdGFmZiBoYXMgbWVudGlvbmVkIHRoaXMgbWF5IG5vdCBiZSBzdGFibGUgZm9yZXZlci4gVXNlIGF0IHlvdXIgb3duIHJpc2suIEhvd2V2ZXIsIG5vdGUgZm9yIG92ZXIgNSB5ZWFycyB0aGlzIGhhcyBuZXZlciBicm9rZW4uICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm90SWRGcm9tVG9rZW4odG9rZW46IHN0cmluZyk6IGJpZ2ludCB7XG4gIHJldHVybiBCaWdJbnQoYXRvYih0b2tlbi5zcGxpdCgnLicpWzBdKSlcbn1cbiJdLCJuYW1lcyI6WyJnZXRCb3RJZEZyb21Ub2tlbiIsInJlbW92ZVRva2VuUHJlZml4IiwidmFsaWRUb2tlblByZWZpeGVzIiwidG9rZW4iLCJ0eXBlIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJzcGxpdHRlZFRva2VuIiwic3BsaXQiLCJsZW5ndGgiLCJpbmNsdWRlcyIsInNwbGljZSIsImpvaW4iLCJCaWdJbnQiLCJhdG9iIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQWtCZ0JBLGlCQUFpQjtlQUFqQkE7O0lBZkFDLGlCQUFpQjtlQUFqQkE7OztBQUhoQixNQUFNQyxxQkFBcUI7SUFBQztJQUFPO0NBQVM7QUFHckMsU0FBU0Qsa0JBQWtCRSxLQUFjLEVBQUVDLE9BQTJCLE1BQU07SUFDakYsMENBQTBDO0lBQzFDLElBQUlELFVBQVVFLFdBQVc7UUFDdkIsTUFBTSxJQUFJQyxNQUFNLENBQUMsSUFBSSxFQUFFRixLQUFLLDZEQUE2RCxDQUFDO0lBQzVGO0lBRUEsTUFBTUcsZ0JBQWdCSixNQUFNSyxLQUFLLENBQUM7SUFFbEMsd0RBQXdEO0lBQ3hELElBQUlELGNBQWNFLE1BQU0sR0FBRyxLQUFLLENBQUNQLG1CQUFtQlEsUUFBUSxDQUFDSCxhQUFhLENBQUMsRUFBRSxHQUFHLE9BQU9KO0lBQ3ZGLCtDQUErQztJQUMvQyxPQUFPSSxjQUFjSSxNQUFNLENBQUMsR0FBR0MsSUFBSSxDQUFDO0FBQ3RDO0FBR08sU0FBU1osa0JBQWtCRyxLQUFhO0lBQzdDLE9BQU9VLE9BQU9DLEtBQUtYLE1BQU1LLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtBQUN4QyJ9
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ skuLink: function() {
13
+ return skuLink;
14
+ },
15
+ storeLink: function() {
16
+ return storeLink;
17
+ }
18
+ });
19
+ function skuLink(appId, skuId) {
20
+ return `https://discord.com/application-directory/${appId}/store/${skuId}`;
21
+ }
22
+ function storeLink(appId) {
23
+ return `https://discord.com/application-directory/${appId}/store`;
24
+ }
25
+
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cmxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmlnU3RyaW5nIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5cbmV4cG9ydCBmdW5jdGlvbiBza3VMaW5rKGFwcElkOiBCaWdTdHJpbmcsIHNrdUlkOiBCaWdTdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYGh0dHBzOi8vZGlzY29yZC5jb20vYXBwbGljYXRpb24tZGlyZWN0b3J5LyR7YXBwSWR9L3N0b3JlLyR7c2t1SWR9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RvcmVMaW5rKGFwcElkOiBCaWdTdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYGh0dHBzOi8vZGlzY29yZC5jb20vYXBwbGljYXRpb24tZGlyZWN0b3J5LyR7YXBwSWR9L3N0b3JlYFxufVxuIl0sIm5hbWVzIjpbInNrdUxpbmsiLCJzdG9yZUxpbmsiLCJhcHBJZCIsInNrdUlkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUVnQkEsT0FBTztlQUFQQTs7SUFJQUMsU0FBUztlQUFUQTs7O0FBSlQsU0FBU0QsUUFBUUUsS0FBZ0IsRUFBRUMsS0FBZ0I7SUFDeEQsT0FBTyxDQUFDLDBDQUEwQyxFQUFFRCxNQUFNLE9BQU8sRUFBRUMsTUFBTSxDQUFDO0FBQzVFO0FBRU8sU0FBU0YsVUFBVUMsS0FBZ0I7SUFDeEMsT0FBTyxDQUFDLDBDQUEwQyxFQUFFQSxNQUFNLE1BQU0sQ0FBQztBQUNuRSJ9
@@ -17,14 +17,12 @@ _export(exports, {
17
17
  }
18
18
  });
19
19
  async function delay(ms) {
20
- // eslint-disable-next-line @typescript-eslint/return-await
21
20
  return new Promise((resolve)=>setTimeout(()=>{
22
21
  resolve();
23
22
  }, ms));
24
23
  }
25
24
  function hasProperty(obj, prop) {
26
- // eslint-disable-next-line no-prototype-builtins
27
25
  return obj.hasOwnProperty(prop);
28
26
  }
29
27
 
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUGF1c2UgdGhlIGV4ZWN1dGlvbiBmb3IgYSBnaXZlbiBhbW91bnQgb2YgbWlsbGlzZWNvbmRzLiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlbGF5KG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXR1cm4tYXdhaXRcbiAgcmV0dXJuIG5ldyBQcm9taXNlKFxuICAgIChyZXNvbHZlKTogTm9kZUpTLlRpbWVvdXQgPT5cbiAgICAgIHNldFRpbWVvdXQoKCk6IHZvaWQgPT4ge1xuICAgICAgICByZXNvbHZlKClcbiAgICAgIH0sIG1zKSxcbiAgKVxufVxuXG4vLyBUeXBlc2NyaXB0IGlzIG5vdCBzbyBnb29kIGFzIHdlIGRldmVsb3BlcnMgc28gd2UgbmVlZCB0aGlzIGxpdHRsZSB1dGlsaXR5IGZ1bmN0aW9uIHRvIGhlbHAgaXQgb3V0XG4vLyBUYWtlbiBmcm9tIGh0dHBzOi8vZmV0dGJsb2cuZXUvdHlwZXNjcmlwdC1oYXNvd25wcm9wZXJ0eS9cbi8qKiBUUyBzYXZlIHdheSB0byBjaGVjayBpZiBhIHByb3BlcnR5IGV4aXN0cyBpbiBhbiBvYmplY3QgKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG5leHBvcnQgZnVuY3Rpb24gaGFzUHJvcGVydHk8VCBleHRlbmRzIHt9LCBZIGV4dGVuZHMgUHJvcGVydHlLZXkgPSBzdHJpbmc+KG9iajogVCwgcHJvcDogWSk6IG9iaiBpcyBUICYgUmVjb3JkPFksIHVua25vd24+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KHByb3ApXG59XG4iXSwibmFtZXMiOlsiZGVsYXkiLCJoYXNQcm9wZXJ0eSIsIm1zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXRUaW1lb3V0Iiwib2JqIiwicHJvcCIsImhhc093blByb3BlcnR5Il0sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7Ozs7Ozs7Ozs7O0lBQ3RDQSxLQUFLO2VBQUxBOztJQWNOQyxXQUFXO2VBQVhBOzs7QUFkVCxlQUFlRCxNQUFNRSxFQUFVO0lBQ3BDLDJEQUEyRDtJQUMzRCxPQUFPLElBQUlDLFFBQ1QsQ0FBQ0MsVUFDQ0MsV0FBVztZQUNURDtRQUNGLEdBQUdGO0FBRVQ7QUFNTyxTQUFTRCxZQUEwREssR0FBTSxFQUFFQyxJQUFPO0lBQ3ZGLGlEQUFpRDtJQUNqRCxPQUFPRCxJQUFJRSxjQUFjLENBQUNEO0FBQzVCIn0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUGF1c2UgdGhlIGV4ZWN1dGlvbiBmb3IgYSBnaXZlbiBhbW91bnQgb2YgbWlsbGlzZWNvbmRzLiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlbGF5KG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKFxuICAgIChyZXNvbHZlKTogTm9kZUpTLlRpbWVvdXQgPT5cbiAgICAgIHNldFRpbWVvdXQoKCk6IHZvaWQgPT4ge1xuICAgICAgICByZXNvbHZlKClcbiAgICAgIH0sIG1zKSxcbiAgKVxufVxuXG4vLyBUeXBlc2NyaXB0IGlzIG5vdCBzbyBnb29kIGFzIHdlIGRldmVsb3BlcnMgc28gd2UgbmVlZCB0aGlzIGxpdHRsZSB1dGlsaXR5IGZ1bmN0aW9uIHRvIGhlbHAgaXQgb3V0XG4vLyBUYWtlbiBmcm9tIGh0dHBzOi8vZmV0dGJsb2cuZXUvdHlwZXNjcmlwdC1oYXNvd25wcm9wZXJ0eS9cbi8qKiBUUyBzYXZlIHdheSB0byBjaGVjayBpZiBhIHByb3BlcnR5IGV4aXN0cyBpbiBhbiBvYmplY3QgKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNQcm9wZXJ0eTxUIGV4dGVuZHMge30sIFkgZXh0ZW5kcyBQcm9wZXJ0eUtleSA9IHN0cmluZz4ob2JqOiBULCBwcm9wOiBZKTogb2JqIGlzIFQgJiBSZWNvcmQ8WSwgdW5rbm93bj4ge1xuICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KHByb3ApXG59XG4iXSwibmFtZXMiOlsiZGVsYXkiLCJoYXNQcm9wZXJ0eSIsIm1zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXRUaW1lb3V0Iiwib2JqIiwicHJvcCIsImhhc093blByb3BlcnR5Il0sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7Ozs7Ozs7Ozs7O0lBQ3RDQSxLQUFLO2VBQUxBOztJQVlOQyxXQUFXO2VBQVhBOzs7QUFaVCxlQUFlRCxNQUFNRSxFQUFVO0lBQ3BDLE9BQU8sSUFBSUMsUUFDVCxDQUFDQyxVQUNDQyxXQUFXO1lBQ1REO1FBQ0YsR0FBR0Y7QUFFVDtBQUtPLFNBQVNELFlBQTBESyxHQUFNLEVBQUVDLElBQU87SUFDdkYsT0FBT0QsSUFBSUUsY0FBYyxDQUFDRDtBQUM1QiJ9
@@ -1,4 +1,3 @@
1
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
2
1
  export class Collection extends Map {
3
2
  constructor(entries, options){
4
3
  super(entries ?? []);
@@ -110,4 +109,4 @@ export class Collection extends Map {
110
109
  }
111
110
  }
112
111
 
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db2xsZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIFBsYWNlSG9sZGVyQm90IHt9XG5cbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uPEssIFY+IGV4dGVuZHMgTWFwPEssIFY+IHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBpdGVtcyBhbGxvd2VkIGluIHRoaXMgY29sbGVjdGlvbi4gVG8gZGlzYWJsZSBjYWNoZSwgc2V0IGl0IDAsIHNldCB0byB1bmRlZmluZWQgdG8gbWFrZSBpdCBpbmZpbml0ZS5cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBtYXhTaXplOiBudW1iZXIgfCB1bmRlZmluZWRcbiAgLyoqIEhhbmRsZXIgdG8gcmVtb3ZlIGl0ZW1zIGZyb20gdGhlIGNvbGxlY3Rpb24gZXZlcnkgc28gb2Z0ZW4uICovXG4gIHN3ZWVwZXI6IChDb2xsZWN0aW9uU3dlZXBlcjxLLCBWPiAmIHsgaW50ZXJ2YWxJZD86IE5vZGVKUy5UaW1lb3V0IH0pIHwgdW5kZWZpbmVkXG5cbiAgY29uc3RydWN0b3IoZW50cmllcz86IChSZWFkb25seUFycmF5PHJlYWRvbmx5IFtLLCBWXT4gfCBudWxsKSB8IE1hcDxLLCBWPiwgb3B0aW9ucz86IENvbGxlY3Rpb25PcHRpb25zPEssIFY+KSB7XG4gICAgc3VwZXIoZW50cmllcyA/PyBbXSlcblxuICAgIHRoaXMubWF4U2l6ZSA9IG9wdGlvbnM/Lm1heFNpemVcblxuICAgIGlmICghb3B0aW9ucz8uc3dlZXBlcikgcmV0dXJuXG5cbiAgICB0aGlzLnN0YXJ0U3dlZXBlcihvcHRpb25zLnN3ZWVwZXIpXG4gIH1cblxuICBzdGFydFN3ZWVwZXIob3B0aW9uczogQ29sbGVjdGlvblN3ZWVwZXI8SywgVj4pOiBOb2RlSlMuVGltZW91dCB7XG4gICAgaWYgKHRoaXMuc3dlZXBlcj8uaW50ZXJ2YWxJZCkgY2xlYXJJbnRlcnZhbCh0aGlzLnN3ZWVwZXIuaW50ZXJ2YWxJZClcblxuICAgIHRoaXMuc3dlZXBlciA9IG9wdGlvbnNcbiAgICB0aGlzLnN3ZWVwZXIuaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuc3dlZXBlcj8uZmlsdGVyKHZhbHVlLCBrZXksIG9wdGlvbnMuYm90KSkgcmV0dXJuXG5cbiAgICAgICAgdGhpcy5kZWxldGUoa2V5KVxuICAgICAgICByZXR1cm4ga2V5XG4gICAgICB9KVxuICAgIH0sIG9wdGlvbnMuaW50ZXJ2YWwpXG5cbiAgICByZXR1cm4gdGhpcy5zd2VlcGVyLmludGVydmFsSWRcbiAgfVxuXG4gIHN0b3BTd2VlcGVyKCk6IHZvaWQge1xuICAgIHJldHVybiBjbGVhckludGVydmFsKHRoaXMuc3dlZXBlcj8uaW50ZXJ2YWxJZClcbiAgfVxuXG4gIGNoYW5nZVN3ZWVwZXJJbnRlcnZhbChuZXdJbnRlcnZhbDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3dlZXBlciA9PSBudWxsKSByZXR1cm5cblxuICAgIHRoaXMuc3RhcnRTd2VlcGVyKHsgZmlsdGVyOiB0aGlzLnN3ZWVwZXIuZmlsdGVyLCBpbnRlcnZhbDogbmV3SW50ZXJ2YWwgfSlcbiAgfVxuXG4gIGNoYW5nZVN3ZWVwZXJGaWx0ZXIobmV3RmlsdGVyOiAodmFsdWU6IFYsIGtleTogSywgYm90OiBQbGFjZUhvbGRlckJvdCkgPT4gYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLnN3ZWVwZXIgPT0gbnVsbCkgcmV0dXJuXG5cbiAgICB0aGlzLnN0YXJ0U3dlZXBlcih7IGZpbHRlcjogbmV3RmlsdGVyLCBpbnRlcnZhbDogdGhpcy5zd2VlcGVyLmludGVydmFsIH0pXG4gIH1cblxuICAvKiogQWRkIGFuIGl0ZW0gdG8gdGhlIGNvbGxlY3Rpb24uIE1ha2VzIHN1cmUgbm90IHRvIGdvIGFib3ZlIHRoZSBtYXhTaXplLiAqL1xuICBzZXQoa2V5OiBLLCB2YWx1ZTogVik6IHRoaXMge1xuICAgIC8vIFdoZW4gdGhpcyBjb2xsZWN0aW9uIGlzIG1heFNpemVkIG1ha2Ugc3VyZSB3ZSBjYW4gYWRkIGZpcnN0XG4gICAgaWYgKCh0aGlzLm1heFNpemUgIT09IHVuZGVmaW5lZCB8fCB0aGlzLm1heFNpemUgPT09IDApICYmIHRoaXMuc2l6ZSA+PSB0aGlzLm1heFNpemUpIHtcbiAgICAgIHJldHVybiB0aGlzXG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyLnNldChrZXksIHZhbHVlKVxuICB9XG5cbiAgLyoqIEFkZCBhbiBpdGVtIHRvIHRoZSBjb2xsZWN0aW9uLCBubyBtYXR0ZXIgd2hhdCB0aGUgbWF4U2l6ZSBpcy4gKi9cbiAgZm9yY2VTZXQoa2V5OiBLLCB2YWx1ZTogVik6IHRoaXMge1xuICAgIHJldHVybiBzdXBlci5zZXQoa2V5LCB2YWx1ZSlcbiAgfVxuXG4gIC8qKiBDb252ZXJ0IHRoZSBjb2xsZWN0aW9uIHRvIGFuIGFycmF5LiAqL1xuICBhcnJheSgpOiBWW10ge1xuICAgIHJldHVybiBbLi4udGhpcy52YWx1ZXMoKV1cbiAgfVxuXG4gIC8qKiBSZXRyaWV2ZSB0aGUgdmFsdWUgb2YgdGhlIGZpcnN0IGVsZW1lbnQgaW4gdGhpcyBjb2xsZWN0aW9uLiAqL1xuICBmaXJzdCgpOiBWIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMoKS5uZXh0KCkudmFsdWVcbiAgfVxuXG4gIC8qKiBSZXRyaWV2ZSB0aGUgdmFsdWUgb2YgdGhlIGxhc3QgZWxlbWVudCBpbiB0aGlzIGNvbGxlY3Rpb24uICovXG4gIGxhc3QoKTogViB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnZhbHVlcygpXVt0aGlzLnNpemUgLSAxXVxuICB9XG5cbiAgLyoqIFJldHJpZXZlIHRoZSB2YWx1ZSBvZiBhIHJhbmRvbSBlbGVtZW50IGluIHRoaXMgY29sbGVjdGlvbi4gKi9cbiAgcmFuZG9tKCk6IFYgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGFycmF5ID0gWy4uLnRoaXMudmFsdWVzKCldXG4gICAgcmV0dXJuIGFycmF5W01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGFycmF5Lmxlbmd0aCldXG4gIH1cblxuICAvKiogRmluZCBhIHNwZWNpZmljIGVsZW1lbnQgaW4gdGhpcyBjb2xsZWN0aW9uLiAqL1xuICBmaW5kKGNhbGxiYWNrOiAodmFsdWU6IFYsIGtleTogSykgPT4gYm9vbGVhbik6IE5vbk51bGxhYmxlPFY+IHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiB0aGlzLmtleXMoKSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldChrZXkpIVxuICAgICAgaWYgKGNhbGxiYWNrKHZhbHVlLCBrZXkpKSByZXR1cm4gdmFsdWVcbiAgICB9XG4gICAgLy8gSWYgbm90aGluZyBtYXRjaGVkXG4gIH1cblxuICAvKiogRmluZCBhbGwgZWxlbWVudHMgaW4gdGhpcyBjb2xsZWN0aW9uIHRoYXQgbWF0Y2ggdGhlIGdpdmVuIHBhdHRlcm4uICovXG4gIGZpbHRlcihjYWxsYmFjazogKHZhbHVlOiBWLCBrZXk6IEspID0+IGJvb2xlYW4pOiBDb2xsZWN0aW9uPEssIFY+IHtcbiAgICBjb25zdCByZWxldmFudCA9IG5ldyBDb2xsZWN0aW9uPEssIFY+KClcbiAgICB0aGlzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGlmIChjYWxsYmFjayh2YWx1ZSwga2V5KSkgcmVsZXZhbnQuc2V0KGtleSwgdmFsdWUpXG4gICAgfSlcblxuICAgIHJldHVybiByZWxldmFudFxuICB9XG5cbiAgLyoqIENvbnZlcnRzIHRoZSBjb2xsZWN0aW9uIGludG8gYW4gYXJyYXkgYnkgcnVubmluZyBhIGNhbGxiYWNrIG9uIGFsbCBpdGVtcyBpbiB0aGUgY29sbGVjdGlvbi4gKi9cbiAgbWFwPFQ+KGNhbGxiYWNrOiAodmFsdWU6IFYsIGtleTogSykgPT4gVCk6IFRbXSB7XG4gICAgY29uc3QgcmVzdWx0cyA9IFtdXG4gICAgZm9yIChjb25zdCBrZXkgb2YgdGhpcy5rZXlzKCkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXQoa2V5KSFcbiAgICAgIHJlc3VsdHMucHVzaChjYWxsYmFjayh2YWx1ZSwga2V5KSlcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdHNcbiAgfVxuXG4gIC8qKiBDaGVjayBpZiBvbmUgb2YgdGhlIGl0ZW1zIGluIHRoZSBjb2xsZWN0aW9uIG1hdGNoZXMgdGhlIHBhdHRlcm4uICovXG4gIHNvbWUoY2FsbGJhY2s6ICh2YWx1ZTogViwga2V5OiBLKSA9PiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgdGhpcy5rZXlzKCkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXQoa2V5KSFcbiAgICAgIGlmIChjYWxsYmFjayh2YWx1ZSwga2V5KSkgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIC8qKiBDaGVjayBpZiBhbGwgb2YgdGhlIGl0ZW1zIGluIHRoZSBjb2xsZWN0aW9uIG1hdGNoZXMgdGhlIHBhdHRlcm4uICovXG4gIGV2ZXJ5KGNhbGxiYWNrOiAodmFsdWU6IFYsIGtleTogSykgPT4gYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIHRoaXMua2V5cygpKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0KGtleSkhXG4gICAgICBpZiAoIWNhbGxiYWNrKHZhbHVlLCBrZXkpKSByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqIFJ1bnMgYSBjYWxsYmFjayBvbiBhbGwgaXRlbXMgaW4gdGhlIGNvbGxlY3Rpb24sIG1lcmdpbmcgdGhlbSBpbnRvIGEgc2luZ2xlIHZhbHVlLiAqL1xuICByZWR1Y2U8VD4oY2FsbGJhY2s6IChhY2N1bXVsYXRvcjogVCwgdmFsdWU6IFYsIGtleTogSykgPT4gVCwgaW5pdGlhbFZhbHVlPzogVCk6IFQge1xuICAgIGxldCBhY2N1bXVsYXRvcjogVCA9IGluaXRpYWxWYWx1ZSFcblxuICAgIGZvciAoY29uc3Qga2V5IG9mIHRoaXMua2V5cygpKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0KGtleSkhXG4gICAgICBhY2N1bXVsYXRvciA9IGNhbGxiYWNrKGFjY3VtdWxhdG9yLCB2YWx1ZSwga2V5KVxuICAgIH1cblxuICAgIHJldHVybiBhY2N1bXVsYXRvclxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbk9wdGlvbnM8SywgVj4ge1xuICAvKiogSGFuZGxlciB0byBjbGVhbiBvdXQgdGhlIGl0ZW1zIGluIHRoZSBjb2xsZWN0aW9uIGV2ZXJ5IHNvIG9mdGVuLiAqL1xuICBzd2VlcGVyPzogQ29sbGVjdGlvblN3ZWVwZXI8SywgVj5cbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyBhbGxvd2VkIGluIHRoZSBjb2xsZWN0aW9uLiAqL1xuICBtYXhTaXplPzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvblN3ZWVwZXI8SywgVj4ge1xuICAvKiogVGhlIGZpbHRlciB0byBkZXRlcm1pbmUgd2hldGhlciBhbiBlbGVtZW50IHNob3VsZCBiZSBkZWxldGVkIG9yIG5vdCAqL1xuICBmaWx0ZXI6ICh2YWx1ZTogViwga2V5OiBLLCAuLi5hcmdzOiBhbnlbXSkgPT4gYm9vbGVhblxuICAvKiogVGhlIGludGVydmFsIGluIHdoaWNoIHRoZSBzd2VlcGVyIHNob3VsZCBydW4gKi9cbiAgaW50ZXJ2YWw6IG51bWJlclxuICAvKiogVGhlIGJvdCBvYmplY3QgaXRzZWxmICovXG4gIGJvdD86IFBsYWNlSG9sZGVyQm90XG59XG4iXSwibmFtZXMiOlsiQ29sbGVjdGlvbiIsIk1hcCIsImNvbnN0cnVjdG9yIiwiZW50cmllcyIsIm9wdGlvbnMiLCJtYXhTaXplIiwic3dlZXBlciIsInN0YXJ0U3dlZXBlciIsImludGVydmFsSWQiLCJjbGVhckludGVydmFsIiwic2V0SW50ZXJ2YWwiLCJmb3JFYWNoIiwidmFsdWUiLCJrZXkiLCJmaWx0ZXIiLCJib3QiLCJkZWxldGUiLCJpbnRlcnZhbCIsInN0b3BTd2VlcGVyIiwiY2hhbmdlU3dlZXBlckludGVydmFsIiwibmV3SW50ZXJ2YWwiLCJjaGFuZ2VTd2VlcGVyRmlsdGVyIiwibmV3RmlsdGVyIiwic2V0IiwidW5kZWZpbmVkIiwic2l6ZSIsImZvcmNlU2V0IiwiYXJyYXkiLCJ2YWx1ZXMiLCJmaXJzdCIsIm5leHQiLCJsYXN0IiwicmFuZG9tIiwiTWF0aCIsImZsb29yIiwibGVuZ3RoIiwiZmluZCIsImNhbGxiYWNrIiwia2V5cyIsImdldCIsInJlbGV2YW50IiwibWFwIiwicmVzdWx0cyIsInB1c2giLCJzb21lIiwiZXZlcnkiLCJyZWR1Y2UiLCJpbml0aWFsVmFsdWUiLCJhY2N1bXVsYXRvciJdLCJtYXBwaW5ncyI6IkFBQUEsaUVBQWlFO0FBR2pFLE9BQU8sTUFBTUEsbUJBQXlCQztJQVNwQ0MsWUFBWUMsT0FBNkQsRUFBRUMsT0FBaUMsQ0FBRTtRQUM1RyxLQUFLLENBQUNELFdBQVcsRUFBRTtRQUVuQixJQUFJLENBQUNFLE9BQU8sR0FBR0QsU0FBU0M7UUFFeEIsSUFBSSxDQUFDRCxTQUFTRSxTQUFTO1FBRXZCLElBQUksQ0FBQ0MsWUFBWSxDQUFDSCxRQUFRRSxPQUFPO0lBQ25DO0lBRUFDLGFBQWFILE9BQWdDLEVBQWtCO1FBQzdELElBQUksSUFBSSxDQUFDRSxPQUFPLEVBQUVFLFlBQVlDLGNBQWMsSUFBSSxDQUFDSCxPQUFPLENBQUNFLFVBQVU7UUFFbkUsSUFBSSxDQUFDRixPQUFPLEdBQUdGO1FBQ2YsSUFBSSxDQUFDRSxPQUFPLENBQUNFLFVBQVUsR0FBR0UsWUFBWTtZQUNwQyxJQUFJLENBQUNDLE9BQU8sQ0FBQyxDQUFDQyxPQUFPQztnQkFD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
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db2xsZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUGxhY2VIb2xkZXJCb3Qge31cblxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb248SywgVj4gZXh0ZW5kcyBNYXA8SywgVj4ge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gYW1vdW50IG9mIGl0ZW1zIGFsbG93ZWQgaW4gdGhpcyBjb2xsZWN0aW9uLiBUbyBkaXNhYmxlIGNhY2hlLCBzZXQgaXQgMCwgc2V0IHRvIHVuZGVmaW5lZCB0byBtYWtlIGl0IGluZmluaXRlLlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIG1heFNpemU6IG51bWJlciB8IHVuZGVmaW5lZFxuICAvKiogSGFuZGxlciB0byByZW1vdmUgaXRlbXMgZnJvbSB0aGUgY29sbGVjdGlvbiBldmVyeSBzbyBvZnRlbi4gKi9cbiAgc3dlZXBlcjogKENvbGxlY3Rpb25Td2VlcGVyPEssIFY+ICYgeyBpbnRlcnZhbElkPzogTm9kZUpTLlRpbWVvdXQgfSkgfCB1bmRlZmluZWRcblxuICBjb25zdHJ1Y3RvcihlbnRyaWVzPzogKFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgW0ssIFZdPiB8IG51bGwpIHwgTWFwPEssIFY+LCBvcHRpb25zPzogQ29sbGVjdGlvbk9wdGlvbnM8SywgVj4pIHtcbiAgICBzdXBlcihlbnRyaWVzID8/IFtdKVxuXG4gICAgdGhpcy5tYXhTaXplID0gb3B0aW9ucz8ubWF4U2l6ZVxuXG4gICAgaWYgKCFvcHRpb25zPy5zd2VlcGVyKSByZXR1cm5cblxuICAgIHRoaXMuc3RhcnRTd2VlcGVyKG9wdGlvbnMuc3dlZXBlcilcbiAgfVxuXG4gIHN0YXJ0U3dlZXBlcihvcHRpb25zOiBDb2xsZWN0aW9uU3dlZXBlcjxLLCBWPik6IE5vZGVKUy5UaW1lb3V0IHtcbiAgICBpZiAodGhpcy5zd2VlcGVyPy5pbnRlcnZhbElkKSBjbGVhckludGVydmFsKHRoaXMuc3dlZXBlci5pbnRlcnZhbElkKVxuXG4gICAgdGhpcy5zd2VlcGVyID0gb3B0aW9uc1xuICAgIHRoaXMuc3dlZXBlci5pbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5zd2VlcGVyPy5maWx0ZXIodmFsdWUsIGtleSwgb3B0aW9ucy5ib3QpKSByZXR1cm5cblxuICAgICAgICB0aGlzLmRlbGV0ZShrZXkpXG4gICAgICAgIHJldHVybiBrZXlcbiAgICAgIH0pXG4gICAgfSwgb3B0aW9ucy5pbnRlcnZhbClcblxuICAgIHJldHVybiB0aGlzLnN3ZWVwZXIuaW50ZXJ2YWxJZFxuICB9XG5cbiAgc3RvcFN3ZWVwZXIoKTogdm9pZCB7XG4gICAgcmV0dXJuIGNsZWFySW50ZXJ2YWwodGhpcy5zd2VlcGVyPy5pbnRlcnZhbElkKVxuICB9XG5cbiAgY2hhbmdlU3dlZXBlckludGVydmFsKG5ld0ludGVydmFsOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zd2VlcGVyID09IG51bGwpIHJldHVyblxuXG4gICAgdGhpcy5zdGFydFN3ZWVwZXIoeyBmaWx0ZXI6IHRoaXMuc3dlZXBlci5maWx0ZXIsIGludGVydmFsOiBuZXdJbnRlcnZhbCB9KVxuICB9XG5cbiAgY2hhbmdlU3dlZXBlckZpbHRlcihuZXdGaWx0ZXI6ICh2YWx1ZTogViwga2V5OiBLLCBib3Q6IFBsYWNlSG9sZGVyQm90KSA9PiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3dlZXBlciA9PSBudWxsKSByZXR1cm5cblxuICAgIHRoaXMuc3RhcnRTd2VlcGVyKHsgZmlsdGVyOiBuZXdGaWx0ZXIsIGludGVydmFsOiB0aGlzLnN3ZWVwZXIuaW50ZXJ2YWwgfSlcbiAgfVxuXG4gIC8qKiBBZGQgYW4gaXRlbSB0byB0aGUgY29sbGVjdGlvbi4gTWFrZXMgc3VyZSBub3QgdG8gZ28gYWJvdmUgdGhlIG1heFNpemUuICovXG4gIHNldChrZXk6IEssIHZhbHVlOiBWKTogdGhpcyB7XG4gICAgLy8gV2hlbiB0aGlzIGNvbGxlY3Rpb24gaXMgbWF4U2l6ZWQgbWFrZSBzdXJlIHdlIGNhbiBhZGQgZmlyc3RcbiAgICBpZiAoKHRoaXMubWF4U2l6ZSAhPT0gdW5kZWZpbmVkIHx8IHRoaXMubWF4U2l6ZSA9PT0gMCkgJiYgdGhpcy5zaXplID49IHRoaXMubWF4U2l6ZSkge1xuICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXIuc2V0KGtleSwgdmFsdWUpXG4gIH1cblxuICAvKiogQWRkIGFuIGl0ZW0gdG8gdGhlIGNvbGxlY3Rpb24sIG5vIG1hdHRlciB3aGF0IHRoZSBtYXhTaXplIGlzLiAqL1xuICBmb3JjZVNldChrZXk6IEssIHZhbHVlOiBWKTogdGhpcyB7XG4gICAgcmV0dXJuIHN1cGVyLnNldChrZXksIHZhbHVlKVxuICB9XG5cbiAgLyoqIENvbnZlcnQgdGhlIGNvbGxlY3Rpb24gdG8gYW4gYXJyYXkuICovXG4gIGFycmF5KCk6IFZbXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnZhbHVlcygpXVxuICB9XG5cbiAgLyoqIFJldHJpZXZlIHRoZSB2YWx1ZSBvZiB0aGUgZmlyc3QgZWxlbWVudCBpbiB0aGlzIGNvbGxlY3Rpb24uICovXG4gIGZpcnN0KCk6IFYgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcygpLm5leHQoKS52YWx1ZVxuICB9XG5cbiAgLyoqIFJldHJpZXZlIHRoZSB2YWx1ZSBvZiB0aGUgbGFzdCBlbGVtZW50IGluIHRoaXMgY29sbGVjdGlvbi4gKi9cbiAgbGFzdCgpOiBWIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gWy4uLnRoaXMudmFsdWVzKCldW3RoaXMuc2l6ZSAtIDFdXG4gIH1cblxuICAvKiogUmV0cmlldmUgdGhlIHZhbHVlIG9mIGEgcmFuZG9tIGVsZW1lbnQgaW4gdGhpcyBjb2xsZWN0aW9uLiAqL1xuICByYW5kb20oKTogViB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYXJyYXkgPSBbLi4udGhpcy52YWx1ZXMoKV1cbiAgICByZXR1cm4gYXJyYXlbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogYXJyYXkubGVuZ3RoKV1cbiAgfVxuXG4gIC8qKiBGaW5kIGEgc3BlY2lmaWMgZWxlbWVudCBpbiB0aGlzIGNvbGxlY3Rpb24uICovXG4gIGZpbmQoY2FsbGJhY2s6ICh2YWx1ZTogViwga2V5OiBLKSA9PiBib29sZWFuKTogTm9uTnVsbGFibGU8Vj4gfCB1bmRlZmluZWQge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIHRoaXMua2V5cygpKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0KGtleSkhXG4gICAgICBpZiAoY2FsbGJhY2sodmFsdWUsIGtleSkpIHJldHVybiB2YWx1ZVxuICAgIH1cbiAgICAvLyBJZiBub3RoaW5nIG1hdGNoZWRcbiAgfVxuXG4gIC8qKiBGaW5kIGFsbCBlbGVtZW50cyBpbiB0aGlzIGNvbGxlY3Rpb24gdGhhdCBtYXRjaCB0aGUgZ2l2ZW4gcGF0dGVybi4gKi9cbiAgZmlsdGVyKGNhbGxiYWNrOiAodmFsdWU6IFYsIGtleTogSykgPT4gYm9vbGVhbik6IENvbGxlY3Rpb248SywgVj4ge1xuICAgIGNvbnN0IHJlbGV2YW50ID0gbmV3IENvbGxlY3Rpb248SywgVj4oKVxuICAgIHRoaXMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgaWYgKGNhbGxiYWNrKHZhbHVlLCBrZXkpKSByZWxldmFudC5zZXQoa2V5LCB2YWx1ZSlcbiAgICB9KVxuXG4gICAgcmV0dXJuIHJlbGV2YW50XG4gIH1cblxuICAvKiogQ29udmVydHMgdGhlIGNvbGxlY3Rpb24gaW50byBhbiBhcnJheSBieSBydW5uaW5nIGEgY2FsbGJhY2sgb24gYWxsIGl0ZW1zIGluIHRoZSBjb2xsZWN0aW9uLiAqL1xuICBtYXA8VD4oY2FsbGJhY2s6ICh2YWx1ZTogViwga2V5OiBLKSA9PiBUKTogVFtdIHtcbiAgICBjb25zdCByZXN1bHRzID0gW11cbiAgICBmb3IgKGNvbnN0IGtleSBvZiB0aGlzLmtleXMoKSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldChrZXkpIVxuICAgICAgcmVzdWx0cy5wdXNoKGNhbGxiYWNrKHZhbHVlLCBrZXkpKVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgLyoqIENoZWNrIGlmIG9uZSBvZiB0aGUgaXRlbXMgaW4gdGhlIGNvbGxlY3Rpb24gbWF0Y2hlcyB0aGUgcGF0dGVybi4gKi9cbiAgc29tZShjYWxsYmFjazogKHZhbHVlOiBWLCBrZXk6IEspID0+IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiB0aGlzLmtleXMoKSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldChrZXkpIVxuICAgICAgaWYgKGNhbGxiYWNrKHZhbHVlLCBrZXkpKSByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgLyoqIENoZWNrIGlmIGFsbCBvZiB0aGUgaXRlbXMgaW4gdGhlIGNvbGxlY3Rpb24gbWF0Y2hlcyB0aGUgcGF0dGVybi4gKi9cbiAgZXZlcnkoY2FsbGJhY2s6ICh2YWx1ZTogViwga2V5OiBLKSA9PiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgdGhpcy5rZXlzKCkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXQoa2V5KSFcbiAgICAgIGlmICghY2FsbGJhY2sodmFsdWUsIGtleSkpIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvKiogUnVucyBhIGNhbGxiYWNrIG9uIGFsbCBpdGVtcyBpbiB0aGUgY29sbGVjdGlvbiwgbWVyZ2luZyB0aGVtIGludG8gYSBzaW5nbGUgdmFsdWUuICovXG4gIHJlZHVjZTxUPihjYWxsYmFjazogKGFjY3VtdWxhdG9yOiBULCB2YWx1ZTogViwga2V5OiBLKSA9PiBULCBpbml0aWFsVmFsdWU/OiBUKTogVCB7XG4gICAgbGV0IGFjY3VtdWxhdG9yOiBUID0gaW5pdGlhbFZhbHVlIVxuXG4gICAgZm9yIChjb25zdCBrZXkgb2YgdGhpcy5rZXlzKCkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXQoa2V5KSFcbiAgICAgIGFjY3VtdWxhdG9yID0gY2FsbGJhY2soYWNjdW11bGF0b3IsIHZhbHVlLCBrZXkpXG4gICAgfVxuXG4gICAgcmV0dXJuIGFjY3VtdWxhdG9yXG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uT3B0aW9uczxLLCBWPiB7XG4gIC8qKiBIYW5kbGVyIHRvIGNsZWFuIG91dCB0aGUgaXRlbXMgaW4gdGhlIGNvbGxlY3Rpb24gZXZlcnkgc28gb2Z0ZW4uICovXG4gIHN3ZWVwZXI/OiBDb2xsZWN0aW9uU3dlZXBlcjxLLCBWPlxuICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIGFsbG93ZWQgaW4gdGhlIGNvbGxlY3Rpb24uICovXG4gIG1heFNpemU/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uU3dlZXBlcjxLLCBWPiB7XG4gIC8qKiBUaGUgZmlsdGVyIHRvIGRldGVybWluZSB3aGV0aGVyIGFuIGVsZW1lbnQgc2hvdWxkIGJlIGRlbGV0ZWQgb3Igbm90ICovXG4gIGZpbHRlcjogKHZhbHVlOiBWLCBrZXk6IEssIC4uLmFyZ3M6IGFueVtdKSA9PiBib29sZWFuXG4gIC8qKiBUaGUgaW50ZXJ2YWwgaW4gd2hpY2ggdGhlIHN3ZWVwZXIgc2hvdWxkIHJ1biAqL1xuICBpbnRlcnZhbDogbnVtYmVyXG4gIC8qKiBUaGUgYm90IG9iamVjdCBpdHNlbGYgKi9cbiAgYm90PzogUGxhY2VIb2xkZXJCb3Rcbn1cbiJdLCJuYW1lcyI6WyJDb2xsZWN0aW9uIiwiTWFwIiwiY29uc3RydWN0b3IiLCJlbnRyaWVzIiwib3B0aW9ucyIsIm1heFNpemUiLCJzd2VlcGVyIiwic3RhcnRTd2VlcGVyIiwiaW50ZXJ2YWxJZCIsImNsZWFySW50ZXJ2YWwiLCJzZXRJbnRlcnZhbCIsImZvckVhY2giLCJ2YWx1ZSIsImtleSIsImZpbHRlciIsImJvdCIsImRlbGV0ZSIsImludGVydmFsIiwic3RvcFN3ZWVwZXIiLCJjaGFuZ2VTd2VlcGVySW50ZXJ2YWwiLCJuZXdJbnRlcnZhbCIsImNoYW5nZVN3ZWVwZXJGaWx0ZXIiLCJuZXdGaWx0ZXIiLCJzZXQiLCJ1bmRlZmluZWQiLCJzaXplIiwiZm9yY2VTZXQiLCJhcnJheSIsInZhbHVlcyIsImZpcnN0IiwibmV4dCIsImxhc3QiLCJyYW5kb20iLCJNYXRoIiwiZmxvb3IiLCJsZW5ndGgiLCJmaW5kIiwiY2FsbGJhY2siLCJrZXlzIiwiZ2V0IiwicmVsZXZhbnQiLCJtYXAiLCJyZXN1bHRzIiwicHVzaCIsInNvbWUiLCJldmVyeSIsInJlZHVjZSIsImluaXRpYWxWYWx1ZSIsImFjY3VtdWxhdG9yIl0sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLE1BQU1BLG1CQUF5QkM7SUFTcENDLFlBQVlDLE9BQTZELEVBQUVDLE9BQWlDLENBQUU7UUFDNUcsS0FBSyxDQUFDRCxXQUFXLEVBQUU7UUFFbkIsSUFBSSxDQUFDRSxPQUFPLEdBQUdELFNBQVNDO1FBRXhCLElBQUksQ0FBQ0QsU0FBU0UsU0FBUztRQUV2QixJQUFJLENBQUNDLFlBQVksQ0FBQ0gsUUFBUUUsT0FBTztJQUNuQztJQUVBQyxhQUFhSCxPQUFnQyxFQUFrQjtRQUM3RCxJQUFJLElBQUksQ0FBQ0UsT0FBTyxFQUFFRSxZQUFZQyxjQUFjLElBQUksQ0FBQ0gsT0FBTyxDQUFDRSxVQUFVO1FBRW5FLElBQUksQ0FBQ0YsT0FBTyxHQUFHRjtRQUNmLElBQUksQ0FBQ0UsT0FBTyxDQUFDRSxVQUFVLEdBQUdFLFlBQVk7WUFDcEMsSUFBSSxDQUFDQyxPQUFPLENBQUMsQ0FBQ0MsT0FBT0M7Z0JBQ25CLElBQUksQ0FBQyxJQUFJLENBQUNQLE9BQU8sRUFBRVEsT0FBT0YsT0FBT0MsS0FBS1QsUUFBUVcsR0FBRyxHQUFHO2dCQUVwRCxJQUFJ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
@@ -292,4 +292,4 @@
292
292
  }
293
293
  }
294
294
 
295
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVycy9lbWJlZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBEaXNjb3JkRW1iZWQsXG4gIERpc2NvcmRFbWJlZEF1dGhvcixcbiAgRGlzY29yZEVtYmVkRmllbGQsXG4gIERpc2NvcmRFbWJlZEZvb3RlcixcbiAgRGlzY29yZEVtYmVkSW1hZ2UsXG4gIERpc2NvcmRFbWJlZFRodW1ibmFpbCxcbiAgRGlzY29yZEVtYmVkVmlkZW8sXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuXG4vKipcbiAqIEEgYnVpbGRlciB0byBoZWxwIGNyZWF0ZSBEaXNjb3JkIGVtYmVkcy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgRW1iZWRzQnVpbGRlclxuICogQHR5cGVkZWYge0VtYmVkc0J1aWxkZXJ9XG4gKiBAZXh0ZW5kcyB7QXJyYXk8RGlzY29yZEVtYmVkPn1cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBlbWJlZHMgPSBuZXcgRW1iZWRCdWlsZGVyKClcbiAqICAuc2V0VGl0bGUoJ015IEVtYmVkJylcbiAqICAuc2V0RGVzY3JpcHRpb24oJ1RoaXMgaXMgbXkgbmV3IGVtYmVkJylcbiAqICAubmV3RW1iZWQoKVxuICogIC5zZXRUaXRsZSgnTXkgU2Vjb25kIEVtYmVkJylcbiAqL1xuZXhwb3J0IGNsYXNzIEVtYmVkc0J1aWxkZXIgZXh0ZW5kcyBBcnJheTxEaXNjb3JkRW1iZWQ+IHtcbiAgI2N1cnJlbnRFbWJlZEluZGV4OiBudW1iZXIgPSAwXG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgZmllbGQgdG8gdGhlIGVtYmVkIGZpZWxkcyBhcnJheS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBGaWVsZCBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIEZpZWxkIHZhbHVlXG4gICAqIEBwYXJhbSB7P2Jvb2xlYW59IFtpbmxpbmU9ZmFsc2VdIC0gRmllbGQgc2hvdWxkIGJlIGlubGluZSBvciBub3QuXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgYWRkRmllbGQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBpbmxpbmU/OiBib29sZWFuKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcy5wdXNoKHtcbiAgICAgIG5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIGlubGluZSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgYmxhbmsgZW1iZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgbmV3RW1iZWQoKTogdGhpcyB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID49IDEwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01heGltdW0gZW1iZWQgY291bnQgZXhjZWVkZWQuIFlvdSBjYW4gbm90IGhhdmUgbW9yZSB0aGFuIDEwIGVtYmVkcy4nKVxuICAgIH1cblxuICAgIHRoaXMucHVzaCh7fSlcbiAgICB0aGlzLnNldEN1cnJlbnRFbWJlZCgpXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3VycmVudCBlbWJlZCBhdXRob3IuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gTmFtZSBvZiB0aGUgYXV0aG9yXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkQXV0aG9yLCAnbmFtZSc+fSBbb3B0aW9uc10gLSBFeHRyYSBhdXRob3Igb3B0aW9uc1xuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEF1dGhvcihuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PERpc2NvcmRFbWJlZEF1dGhvciwgJ25hbWUnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5hdXRob3IgPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQuYXV0aG9yLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG5hbWUsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNvbG9yIG9uIHRoZSBzaWRlIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0geyhudW1iZXIgfCBzdHJpbmcpfSBjb2xvciAtIFRoZSBjb2xvciwgaW4gYmFzZTE2IG9yIGhleCBjb2xvciBjb2RlXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0Q29sb3IoY29sb3I6IG51bWJlciB8IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICh0eXBlb2YgY29sb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBjb252ZXJ0ZWRWYWx1ZSA9IHBhcnNlSW50KGNvbG9yLnJlcGxhY2UoJyMnLCAnJyksIDE2KVxuICAgICAgY29sb3IgPSBOdW1iZXIuaXNOYU4oY29udmVydGVkVmFsdWUpID8gMCA6IGNvbnZlcnRlZFZhbHVlXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmNvbG9yID0gY29sb3JcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjdXJyZW50IGVtYmVkIHRvIGEgZGlmZmVyZW50IGluZGV4LlxuICAgKlxuICAgKiBXQVJOSU5HOiBPbmx5IHVzZSB0aGlzIG1ldGhvZCBpZiB5b3Uga25vdyB3aGF0IHlvdSdyZSBkb2luZy4gTWFrZSBzdXJlIHRvIHNldCBpdCBiYWNrIHRvIHRoZSBsYXRlc3Qgd2hlbiB5b3UncmUgZG9uZS5cbiAgICpcbiAgICogQHBhcmFtIHs/bnVtYmVyfSBbaW5kZXhdIC0gVGhlIGluZGV4IG9mIHRoZSBlbWJlZCBpbiB0aGUgRW1iZWRzQnVpbGRlciBhcnJheVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEN1cnJlbnRFbWJlZChpbmRleD86IG51bWJlcik6IHRoaXMge1xuICAgIGlmIChpbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLiNjdXJyZW50RW1iZWRJbmRleCA9IHRoaXMubGVuZ3RoIC0gMVxuXG4gICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIGlmIChpbmRleCA+PSB0aGlzLmxlbmd0aCB8fCBpbmRleCA8IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2FuIG5vdCBzZXQgdGhlIGN1cnJlbnQgZW1iZWQgdG8gYSBpbmRleCBvdXQgb2YgYm91bmRzLicpXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkSW5kZXggPSBpbmRleFxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gLSBEZXNjcmlwdGlvblxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldERlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvblxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVyd3JpdGUgYWxsIGZpZWxkcyBvbiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtEaXNjb3JkRW1iZWRGaWVsZFtdfSBmaWVsZHNcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRGaWVsZHMoZmllbGRzOiBEaXNjb3JkRW1iZWRGaWVsZFtdKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IGZpZWxkc1xuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGZvb3RlciBpbiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSBUaGUgdGV4dCB0byBkaXNwbGF5IGluIHRoZSBmb290ZXJcbiAgICogQHBhcmFtIHs/T21pdDxEaXNjb3JkRW1iZWRGb290ZXIsICd0ZXh0Jz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEZvb3Rlcih0ZXh0OiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PERpc2NvcmRFbWJlZEZvb3RlciwgJ3RleHQnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5mb290ZXIgPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQuZm9vdGVyLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHRleHQsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGltYWdlIGluIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIC0gVVJMIG9mIHRoZSBpbWFnZVxuICAgKiBAcGFyYW0gez9PbWl0PERpc2NvcmRFbWJlZEltYWdlLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEltYWdlKHVybDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRJbWFnZSwgJ3VybCc+KTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmltYWdlID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLmltYWdlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgcHJvdmlkZXIgb2YgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7P3N0cmluZ30gW3VybF1cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRQcm92aWRlcihuYW1lOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5wcm92aWRlciA9IHtcbiAgICAgIG5hbWUsXG4gICAgICB1cmwsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNvbG9yIG9mIHRoZSBjdXJyZW50IGVtYmVkIHRvIGEgcmFuZG9tIHZhbHVlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFJhbmRvbUNvbG9yKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLnNldENvbG9yKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgweGZmZmZmZiArIDEpKSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGVcbiAgICogQHBhcmFtIHs/c3RyaW5nfSBbdXJsXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRpdGxlKHRpdGxlOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC50aXRsZSA9IHRpdGxlXG5cbiAgICBpZiAodXJsKSB7XG4gICAgICB0aGlzLnNldFVybCh1cmwpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHs/KHN0cmluZyB8IG51bWJlciB8IERhdGUpfSBbdGltZXN0YW1wXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRpbWVzdGFtcCh0aW1lc3RhbXA/OiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLnRpbWVzdGFtcCA9IG5ldyBEYXRlKHRpbWVzdGFtcCEpLnRvSVNPU3RyaW5nKClcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0aHVtYm5haWwgb2YgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgLSBVUkwgb2YgdGhlIGltYWdlXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkVGh1bWJuYWlsLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRodW1ibmFpbCh1cmw6IHN0cmluZywgb3B0aW9ucz86IE9taXQ8RGlzY29yZEVtYmVkVGh1bWJuYWlsLCAndXJsJz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQudGh1bWJuYWlsID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLnRodW1ibmFpbCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB1cmwsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIFVSTCBvZiB0aGUgY3VycmVudCBlbWJlZCB0aXRsZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFVybCh1cmw6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC51cmwgPSB1cmxcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB2aWRlbyBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcGFyYW0gez9PbWl0PERpc2NvcmRFbWJlZFZpZGVvLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFZpZGVvKHVybDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRWaWRlbywgJ3VybCc+KTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLnZpZGVvID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLnZpZGVvLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGFsbCBlbWJlZHMgYXZhaWxhYmxlIGFnYWluc3QgY3VycmVudCBrbm93biBEaXNjb3JkIGxpbWl0cyB0byBoZWxwIHByZXZlbnQgYmFkIHJlcXVlc3RzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHZhbGlkYXRlKCk6IHRoaXMge1xuICAgIGxldCB0b3RhbENoYXJhY3RlcnMgPSAwXG5cbiAgICBpZiAodGhpcy5sZW5ndGggPiAxMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2FuIG5vdCBoYXZlIG1vcmUgdGhhbiAxMCBlbWJlZHMgb24gYSBzaW5nbGUgbWVzc2FnZS4nKVxuICAgIH1cblxuICAgIHRoaXMuZm9yRWFjaCgoeyBhdXRob3IsIGRlc2NyaXB0aW9uLCBmaWVsZHMsIGZvb3RlciwgdGl0bGUgfSwgaW5kZXgpID0+IHtcbiAgICAgIGlmICh0aXRsZSkge1xuICAgICAgICBjb25zdCB0cmltbWVkVGl0bGUgPSB0aXRsZS50cmltKClcblxuICAgICAgICBpZiAodHJpbW1lZFRpdGxlLmxlbmd0aCA+IDI1Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGl0bGUgb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAyNTYgY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRUaXRsZS5sZW5ndGhcbiAgICAgIH1cblxuICAgICAgaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWREZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLnRyaW0oKVxuXG4gICAgICAgIGlmICh0cmltbWVkRGVzY3JpcHRpb24ubGVuZ3RoID4gNDA5Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRGVzY3JpcHRpb24gb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiA0MDk2IGNoYXJhY3RlcnMuYClcbiAgICAgICAgfVxuXG4gICAgICAgIHRvdGFsQ2hhcmFjdGVycyArPSB0cmltbWVkRGVzY3JpcHRpb24ubGVuZ3RoXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZHMpIHtcbiAgICAgICAgaWYgKGZpZWxkcy5sZW5ndGggPiAyNSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBoYXZlIG1vcmUgdGhhbiAyNSBmaWVsZHMuYClcbiAgICAgICAgfVxuXG4gICAgICAgIGZpZWxkcy5mb3JFYWNoKCh7IG5hbWUsIHZhbHVlIH0sIGZpZWxkSW5kZXgpID0+IHtcbiAgICAgICAgICBjb25zdCB0cmltbWVkTmFtZSA9IG5hbWUudHJpbSgpXG4gICAgICAgICAgY29uc3QgdHJpbW1lZFZhbHVlID0gdmFsdWUudHJpbSgpXG5cbiAgICAgICAgICBpZiAodHJpbW1lZE5hbWUubGVuZ3RoID4gMjU2KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5hbWUgb2YgZmllbGQgJHtmaWVsZEluZGV4fSBvbiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzLmApXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRyaW1tZWRWYWx1ZS5sZW5ndGggPiA0MDk2KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZhbHVlIG9mIGZpZWxkICR7ZmllbGRJbmRleH0gb24gZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAxMDI0IGNoYXJhY3RlcnMuYClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZE5hbWUubGVuZ3RoXG4gICAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRWYWx1ZS5sZW5ndGhcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKGZvb3Rlcikge1xuICAgICAgICBjb25zdCB0cmltbWVkRm9vdGVyVGV4dCA9IGZvb3Rlci50ZXh0LnRyaW0oKVxuXG4gICAgICAgIGlmICh0cmltbWVkRm9vdGVyVGV4dC5sZW5ndGggPiAyMDQ4KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGb290ZXIgdGV4dCBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDIwNDggY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRGb290ZXJUZXh0Lmxlbmd0aFxuICAgICAgfVxuXG4gICAgICBpZiAoYXV0aG9yKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRBdXRob3JOYW1lID0gYXV0aG9yLm5hbWUudHJpbSgpXG5cbiAgICAgICAgaWYgKHRyaW1tZWRBdXRob3JOYW1lLmxlbmd0aCA+IDI1Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQXV0aG9yIG5hbWUgb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAyNTYgY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRBdXRob3JOYW1lLmxlbmd0aFxuICAgICAgfVxuICAgIH0pXG5cbiAgICBpZiAodG90YWxDaGFyYWN0ZXJzID4gNjAwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUb3RhbCBjaGFyYWN0ZXIgbGVuZ3RoIG9mIGFsbCBlbWJlZHMgY2FuIG5vdCBleGNlZWQgNjAwMCBjaGFyYWN0ZXJzLicpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICogQHR5cGUge0Rpc2NvcmRFbWJlZH1cbiAgICovXG4gIGdldCAjY3VycmVudEVtYmVkKCk6IERpc2NvcmRFbWJlZCB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLm5ld0VtYmVkKClcbiAgICAgIHRoaXMuc2V0Q3VycmVudEVtYmVkKClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1t0aGlzLiNjdXJyZW50RW1iZWRJbmRleF1cbiAgfVxufVxuIl0sIm5hbWVzIjpbIkVtYmVkc0J1aWxkZXIiLCJBcnJheSIsImN1cnJlbnRFbWJlZEluZGV4IiwiYWRkRmllbGQiLCJuYW1lIiwidmFsdWUiLCJpbmxpbmUiLCJjdXJyZW50RW1iZWQiLCJmaWVsZHMiLCJ1bmRlZmluZWQiLCJwdXNoIiwibmV3RW1iZWQiLCJsZW5ndGgiLCJFcnJvciIsInNldEN1cnJlbnRFbWJlZCIsInNldEF1dGhvciIsIm9wdGlvbnMiLCJhdXRob3IiLCJzZXRDb2xvciIsImNvbG9yIiwiY29udmVydGVkVmFsdWUiLCJwYXJzZUludCIsInJlcGxhY2UiLCJOdW1iZXIiLCJpc05hTiIsImluZGV4Iiwic2V0RGVzY3JpcHRpb24iLCJkZXNjcmlwdGlvbiIsInNldEZpZWxkcyIsInNldEZvb3RlciIsInRleHQiLCJmb290ZXIiLCJzZXRJbWFnZSIsInVybCIsImltYWdlIiwic2V0UHJvdmlkZXIiLCJwcm92aWRlciIsInNldFJhbmRvbUNvbG9yIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwic2V0VGl0bGUiLCJ0aXRsZSIsInNldFVybCIsInNldFRpbWVzdGFtcCIsInRpbWVzdGFtcCIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInNldFRodW1ibmFpbCIsInRodW1ibmFpbCIsInNldFZpZGVvIiwidmlkZW8iLCJ2YWxpZGF0ZSIsInRvdGFsQ2hhcmFjdGVycyIsImZvckVhY2giLCJ0cmltbWVkVGl0bGUiLCJ0cmltIiwidHJpbW1lZERlc2NyaXB0aW9uIiwiZmllbGRJbmRleCIsInRyaW1tZWROYW1lIiwidHJpbW1lZFZhbHVlIiwidHJpbW1lZEZvb3RlclRleHQiLCJ0cmltbWVkQXV0aG9yTmFtZSJdLCJtYXBwaW5ncyI6IkFBVUE7Ozs7Ozs7Ozs7Ozs7Q0FhQyxHQUNELE9BQU8sTUFBTUEsc0JBQXNCQztJQUNqQyxDQUFDQyxpQkFBaUIsQ0FBWTtJQUU5Qjs7Ozs7OztHQU9DLEdBQ0RDLFNBQVNDLElBQVksRUFBRUMsS0FBYSxFQUFFQyxNQUFnQixFQUFRO1FBQzVELElBQUksSUFBSSxDQUFDLENBQUNDLFlBQVksQ0FBQ0MsTUFBTSxLQUFLQyxXQUFXO1lBQzNDLElBQUksQ0FBQyxDQUFDRixZQUFZLENBQUNDLE1BQU0sR0FBRyxFQUFFO1FBQ2hDO1FBRUEsSUFBSSxDQUFDLENBQUNELFlBQVksQ0FBQ0MsTUFBTSxDQUFDRSxJQUFJLENBQUM7WUFDN0JOO1lBQ0FDO1lBQ0FDO1FBQ0Y7UUFFQSxPQUFPLElBQUk7SUFDYjtJQUVBOzs7O0dBSUMsR0FDREssV0FBaUI7UUFDZixJQUFJLElBQUksQ0FBQ0MsTUFBTSxJQUFJLElBQUk7WUFDckIsTUFBTSxJQUFJQyxNQUFNO1FBQ2xCO1FBRUEsSUFBSSxDQUFDSCxJQUFJLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQ0ksZUFBZTtRQUVwQixPQUFPLElBQUk7SUFDYjtJQUVBOzs7Ozs7R0FNQyxHQUNEQyxVQUFVWCxJQUFZLEVBQUVZLE9BQTBDLEVBQVE7UUFDeEUsSUFBSSxDQUFDLENBQUNULFlBQVksQ0FBQ1UsTUFBTSxH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
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVycy9lbWJlZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBEaXNjb3JkRW1iZWQsXG4gIERpc2NvcmRFbWJlZEF1dGhvcixcbiAgRGlzY29yZEVtYmVkRmllbGQsXG4gIERpc2NvcmRFbWJlZEZvb3RlcixcbiAgRGlzY29yZEVtYmVkSW1hZ2UsXG4gIERpc2NvcmRFbWJlZFRodW1ibmFpbCxcbiAgRGlzY29yZEVtYmVkVmlkZW8sXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuXG4vKipcbiAqIEEgYnVpbGRlciB0byBoZWxwIGNyZWF0ZSBEaXNjb3JkIGVtYmVkcy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgRW1iZWRzQnVpbGRlclxuICogQHR5cGVkZWYge0VtYmVkc0J1aWxkZXJ9XG4gKiBAZXh0ZW5kcyB7QXJyYXk8RGlzY29yZEVtYmVkPn1cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBlbWJlZHMgPSBuZXcgRW1iZWRCdWlsZGVyKClcbiAqICAuc2V0VGl0bGUoJ015IEVtYmVkJylcbiAqICAuc2V0RGVzY3JpcHRpb24oJ1RoaXMgaXMgbXkgbmV3IGVtYmVkJylcbiAqICAubmV3RW1iZWQoKVxuICogIC5zZXRUaXRsZSgnTXkgU2Vjb25kIEVtYmVkJylcbiAqL1xuZXhwb3J0IGNsYXNzIEVtYmVkc0J1aWxkZXIgZXh0ZW5kcyBBcnJheTxEaXNjb3JkRW1iZWQ+IHtcbiAgI2N1cnJlbnRFbWJlZEluZGV4OiBudW1iZXIgPSAwXG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgZmllbGQgdG8gdGhlIGVtYmVkIGZpZWxkcyBhcnJheS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBGaWVsZCBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIEZpZWxkIHZhbHVlXG4gICAqIEBwYXJhbSB7P2Jvb2xlYW59IFtpbmxpbmU9ZmFsc2VdIC0gRmllbGQgc2hvdWxkIGJlIGlubGluZSBvciBub3QuXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgYWRkRmllbGQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBpbmxpbmU/OiBib29sZWFuKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcy5wdXNoKHtcbiAgICAgIG5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIGlubGluZSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgYmxhbmsgZW1iZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgbmV3RW1iZWQoKTogdGhpcyB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID49IDEwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01heGltdW0gZW1iZWQgY291bnQgZXhjZWVkZWQuIFlvdSBjYW4gbm90IGhhdmUgbW9yZSB0aGFuIDEwIGVtYmVkcy4nKVxuICAgIH1cblxuICAgIHRoaXMucHVzaCh7fSlcbiAgICB0aGlzLnNldEN1cnJlbnRFbWJlZCgpXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3VycmVudCBlbWJlZCBhdXRob3IuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gTmFtZSBvZiB0aGUgYXV0aG9yXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkQXV0aG9yLCAnbmFtZSc+fSBbb3B0aW9uc10gLSBFeHRyYSBhdXRob3Igb3B0aW9uc1xuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEF1dGhvcihuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PERpc2NvcmRFbWJlZEF1dGhvciwgJ25hbWUnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5hdXRob3IgPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQuYXV0aG9yLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG5hbWUsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNvbG9yIG9uIHRoZSBzaWRlIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0geyhudW1iZXIgfCBzdHJpbmcpfSBjb2xvciAtIFRoZSBjb2xvciwgaW4gYmFzZTE2IG9yIGhleCBjb2xvciBjb2RlXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0Q29sb3IoY29sb3I6IG51bWJlciB8IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICh0eXBlb2YgY29sb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBjb252ZXJ0ZWRWYWx1ZSA9IHBhcnNlSW50KGNvbG9yLnJlcGxhY2UoJyMnLCAnJyksIDE2KVxuICAgICAgY29sb3IgPSBOdW1iZXIuaXNOYU4oY29udmVydGVkVmFsdWUpID8gMCA6IGNvbnZlcnRlZFZhbHVlXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmNvbG9yID0gY29sb3JcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjdXJyZW50IGVtYmVkIHRvIGEgZGlmZmVyZW50IGluZGV4LlxuICAgKlxuICAgKiBXQVJOSU5HOiBPbmx5IHVzZSB0aGlzIG1ldGhvZCBpZiB5b3Uga25vdyB3aGF0IHlvdSdyZSBkb2luZy4gTWFrZSBzdXJlIHRvIHNldCBpdCBiYWNrIHRvIHRoZSBsYXRlc3Qgd2hlbiB5b3UncmUgZG9uZS5cbiAgICpcbiAgICogQHBhcmFtIHs/bnVtYmVyfSBbaW5kZXhdIC0gVGhlIGluZGV4IG9mIHRoZSBlbWJlZCBpbiB0aGUgRW1iZWRzQnVpbGRlciBhcnJheVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEN1cnJlbnRFbWJlZChpbmRleD86IG51bWJlcik6IHRoaXMge1xuICAgIGlmIChpbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLiNjdXJyZW50RW1iZWRJbmRleCA9IHRoaXMubGVuZ3RoIC0gMVxuXG4gICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIGlmIChpbmRleCA+PSB0aGlzLmxlbmd0aCB8fCBpbmRleCA8IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2FuIG5vdCBzZXQgdGhlIGN1cnJlbnQgZW1iZWQgdG8gYSBpbmRleCBvdXQgb2YgYm91bmRzLicpXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkSW5kZXggPSBpbmRleFxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gLSBEZXNjcmlwdGlvblxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldERlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvblxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVyd3JpdGUgYWxsIGZpZWxkcyBvbiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtEaXNjb3JkRW1iZWRGaWVsZFtdfSBmaWVsZHNcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRGaWVsZHMoZmllbGRzOiBEaXNjb3JkRW1iZWRGaWVsZFtdKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IGZpZWxkc1xuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGZvb3RlciBpbiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSBUaGUgdGV4dCB0byBkaXNwbGF5IGluIHRoZSBmb290ZXJcbiAgICogQHBhcmFtIHs/T21pdDxEaXNjb3JkRW1iZWRGb290ZXIsICd0ZXh0Jz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEZvb3Rlcih0ZXh0OiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PERpc2NvcmRFbWJlZEZvb3RlciwgJ3RleHQnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5mb290ZXIgPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQuZm9vdGVyLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHRleHQsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGltYWdlIGluIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIC0gVVJMIG9mIHRoZSBpbWFnZVxuICAgKiBAcGFyYW0gez9PbWl0PERpc2NvcmRFbWJlZEltYWdlLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEltYWdlKHVybDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRJbWFnZSwgJ3VybCc+KTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmltYWdlID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLmltYWdlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgcHJvdmlkZXIgb2YgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7P3N0cmluZ30gW3VybF1cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRQcm92aWRlcihuYW1lOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5wcm92aWRlciA9IHtcbiAgICAgIG5hbWUsXG4gICAgICB1cmwsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNvbG9yIG9mIHRoZSBjdXJyZW50IGVtYmVkIHRvIGEgcmFuZG9tIHZhbHVlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFJhbmRvbUNvbG9yKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLnNldENvbG9yKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgweGZmZmZmZiArIDEpKSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGVcbiAgICogQHBhcmFtIHs/c3RyaW5nfSBbdXJsXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRpdGxlKHRpdGxlOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC50aXRsZSA9IHRpdGxlXG5cbiAgICBpZiAodXJsKSB7XG4gICAgICB0aGlzLnNldFVybCh1cmwpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHs/KHN0cmluZyB8IG51bWJlciB8IERhdGUpfSBbdGltZXN0YW1wXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRpbWVzdGFtcCh0aW1lc3RhbXA/OiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLnRpbWVzdGFtcCA9IG5ldyBEYXRlKHRpbWVzdGFtcCEpLnRvSVNPU3RyaW5nKClcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0aHVtYm5haWwgb2YgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgLSBVUkwgb2YgdGhlIGltYWdlXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkVGh1bWJuYWlsLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRodW1ibmFpbCh1cmw6IHN0cmluZywgb3B0aW9ucz86IE9taXQ8RGlzY29yZEVtYmVkVGh1bWJuYWlsLCAndXJsJz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQudGh1bWJuYWlsID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLnRodW1ibmFpbCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB1cmwsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIFVSTCBvZiB0aGUgY3VycmVudCBlbWJlZCB0aXRsZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFVybCh1cmw6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC51cmwgPSB1cmxcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB2aWRlbyBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcGFyYW0gez9PbWl0PERpc2NvcmRFbWJlZFZpZGVvLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFZpZGVvKHVybDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRWaWRlbywgJ3VybCc+KTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLnZpZGVvID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLnZpZGVvLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGFsbCBlbWJlZHMgYXZhaWxhYmxlIGFnYWluc3QgY3VycmVudCBrbm93biBEaXNjb3JkIGxpbWl0cyB0byBoZWxwIHByZXZlbnQgYmFkIHJlcXVlc3RzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHZhbGlkYXRlKCk6IHRoaXMge1xuICAgIGxldCB0b3RhbENoYXJhY3RlcnMgPSAwXG5cbiAgICBpZiAodGhpcy5sZW5ndGggPiAxMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2FuIG5vdCBoYXZlIG1vcmUgdGhhbiAxMCBlbWJlZHMgb24gYSBzaW5nbGUgbWVzc2FnZS4nKVxuICAgIH1cblxuICAgIHRoaXMuZm9yRWFjaCgoeyBhdXRob3IsIGRlc2NyaXB0aW9uLCBmaWVsZHMsIGZvb3RlciwgdGl0bGUgfSwgaW5kZXgpID0+IHtcbiAgICAgIGlmICh0aXRsZSkge1xuICAgICAgICBjb25zdCB0cmltbWVkVGl0bGUgPSB0aXRsZS50cmltKClcblxuICAgICAgICBpZiAodHJpbW1lZFRpdGxlLmxlbmd0aCA+IDI1Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGl0bGUgb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAyNTYgY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRUaXRsZS5sZW5ndGhcbiAgICAgIH1cblxuICAgICAgaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWREZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLnRyaW0oKVxuXG4gICAgICAgIGlmICh0cmltbWVkRGVzY3JpcHRpb24ubGVuZ3RoID4gNDA5Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRGVzY3JpcHRpb24gb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiA0MDk2IGNoYXJhY3RlcnMuYClcbiAgICAgICAgfVxuXG4gICAgICAgIHRvdGFsQ2hhcmFjdGVycyArPSB0cmltbWVkRGVzY3JpcHRpb24ubGVuZ3RoXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZHMpIHtcbiAgICAgICAgaWYgKGZpZWxkcy5sZW5ndGggPiAyNSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBoYXZlIG1vcmUgdGhhbiAyNSBmaWVsZHMuYClcbiAgICAgICAgfVxuXG4gICAgICAgIGZpZWxkcy5mb3JFYWNoKCh7IG5hbWUsIHZhbHVlIH0sIGZpZWxkSW5kZXgpID0+IHtcbiAgICAgICAgICBjb25zdCB0cmltbWVkTmFtZSA9IG5hbWUudHJpbSgpXG4gICAgICAgICAgY29uc3QgdHJpbW1lZFZhbHVlID0gdmFsdWUudHJpbSgpXG5cbiAgICAgICAgICBpZiAodHJpbW1lZE5hbWUubGVuZ3RoID4gMjU2KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5hbWUgb2YgZmllbGQgJHtmaWVsZEluZGV4fSBvbiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzLmApXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRyaW1tZWRWYWx1ZS5sZW5ndGggPiA0MDk2KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZhbHVlIG9mIGZpZWxkICR7ZmllbGRJbmRleH0gb24gZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAxMDI0IGNoYXJhY3RlcnMuYClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZE5hbWUubGVuZ3RoXG4gICAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRWYWx1ZS5sZW5ndGhcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKGZvb3Rlcikge1xuICAgICAgICBjb25zdCB0cmltbWVkRm9vdGVyVGV4dCA9IGZvb3Rlci50ZXh0LnRyaW0oKVxuXG4gICAgICAgIGlmICh0cmltbWVkRm9vdGVyVGV4dC5sZW5ndGggPiAyMDQ4KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGb290ZXIgdGV4dCBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDIwNDggY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRGb290ZXJUZXh0Lmxlbmd0aFxuICAgICAgfVxuXG4gICAgICBpZiAoYXV0aG9yKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRBdXRob3JOYW1lID0gYXV0aG9yLm5hbWUudHJpbSgpXG5cbiAgICAgICAgaWYgKHRyaW1tZWRBdXRob3JOYW1lLmxlbmd0aCA+IDI1Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQXV0aG9yIG5hbWUgb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAyNTYgY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRBdXRob3JOYW1lLmxlbmd0aFxuICAgICAgfVxuICAgIH0pXG5cbiAgICBpZiAodG90YWxDaGFyYWN0ZXJzID4gNjAwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUb3RhbCBjaGFyYWN0ZXIgbGVuZ3RoIG9mIGFsbCBlbWJlZHMgY2FuIG5vdCBleGNlZWQgNjAwMCBjaGFyYWN0ZXJzLicpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICogQHR5cGUge0Rpc2NvcmRFbWJlZH1cbiAgICovXG4gIGdldCAjY3VycmVudEVtYmVkKCk6IERpc2NvcmRFbWJlZCB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLm5ld0VtYmVkKClcbiAgICAgIHRoaXMuc2V0Q3VycmVudEVtYmVkKClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1t0aGlzLiNjdXJyZW50RW1iZWRJbmRleF1cbiAgfVxufVxuIl0sIm5hbWVzIjpbIkVtYmVkc0J1aWxkZXIiLCJBcnJheSIsImFkZEZpZWxkIiwibmFtZSIsInZhbHVlIiwiaW5saW5lIiwiZmllbGRzIiwidW5kZWZpbmVkIiwicHVzaCIsIm5ld0VtYmVkIiwibGVuZ3RoIiwiRXJyb3IiLCJzZXRDdXJyZW50RW1iZWQiLCJzZXRBdXRob3IiLCJvcHRpb25zIiwiYXV0aG9yIiwic2V0Q29sb3IiLCJjb2xvciIsImNvbnZlcnRlZFZhbHVlIiwicGFyc2VJbnQiLCJyZXBsYWNlIiwiTnVtYmVyIiwiaXNOYU4iLCJpbmRleCIsInNldERlc2NyaXB0aW9uIiwiZGVzY3JpcHRpb24iLCJzZXRGaWVsZHMiLCJzZXRGb290ZXIiLCJ0ZXh0IiwiZm9vdGVyIiwic2V0SW1hZ2UiLCJ1cmwiLCJpbWFnZSIsInNldFByb3ZpZGVyIiwicHJvdmlkZXIiLCJzZXRSYW5kb21Db2xvciIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsInNldFRpdGxlIiwidGl0bGUiLCJzZXRVcmwiLCJzZXRUaW1lc3RhbXAiLCJ0aW1lc3RhbXAiLCJEYXRlIiwidG9JU09TdHJpbmciLCJzZXRUaHVtYm5haWwiLCJ0aHVtYm5haWwiLCJzZXRWaWRlbyIsInZpZGVvIiwidmFsaWRhdGUiLCJ0b3RhbENoYXJhY3RlcnMiLCJmb3JFYWNoIiwidHJpbW1lZFRpdGxlIiwidHJpbSIsInRyaW1tZWREZXNjcmlwdGlvbiIsImZpZWxkSW5kZXgiLCJ0cmltbWVkTmFtZSIsInRyaW1tZWRWYWx1ZSIsInRyaW1tZWRGb290ZXJUZXh0IiwidHJpbW1lZEF1dGhvck5hbWUiXSwibWFwcGluZ3MiOiJBQVVBOzs7Ozs7Ozs7Ozs7O0NBYUMsR0FDRCxPQUFPLE1BQU1BLHNCQUFzQkM7SUFDakMsQ0FBQSxpQkFBa0IsQ0FBWTtJQUU5Qjs7Ozs7OztHQU9DLEdBQ0RDLFNBQVNDLElBQVksRUFBRUMsS0FBYSxFQUFFQyxNQUFnQixFQUFRO1FBQzVELElBQUksSUFBSSxDQUFDLENBQUEsWUFBYSxDQUFDQyxNQUFNLEtBQUtDLFdBQVc7WUFDM0MsSUFBSSxDQUFDLENBQUEsWUFBYSxDQUFDRCxNQUFNLEdBQUcsRUFBRTtRQUNoQztRQUVBLElBQUksQ0FBQyxDQUFBLFlBQWEsQ0FBQ0EsTUFBTSxDQUFDRSxJQUFJLENBQUM7WUFDN0JMO1lBQ0FDO1lBQ0FDO1FBQ0Y7UUFFQSxPQUFPLElBQUk7SUFDYjtJQUVBOzs7O0dBSUMsR0FDREksV0FBaUI7UUFDZixJQUFJLElBQUksQ0FBQ0MsTUFBTSxJQUFJLElBQUk7WUFDckIsTUFBTSxJQUFJQyxNQUFNO1FBQ2xCO1FBRUEsSUFBSSxDQUFDSCxJQUFJLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQ0ksZUFBZTtRQUVwQixPQUFPLElBQUk7SUFDYjtJQUVBOzs7Ozs7R0FNQyxHQUNEQyxVQUFVVixJQUFZLEVBQUVXLE9BQTBDLEVBQVE7UUFDeEUsSUFBSSxDQUFDLENBQUEsWUFBYSxDQUFDQyxNQUFNLEdBQUc7WUFDMUIsR0FBRyxJQUFJLENBQUMsQ0FBQSxZQUFhLENBQUNB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
@@ -1,4 +1,4 @@
1
- /* eslint-disable @typescript-eslint/explicit-function-return-type */ // Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
1
+ // Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
2
2
  // A module to print ANSI terminal colors. Inspired by chalk, kleur, and colors
3
3
  // on npm.
4
4
  // https://deno.land/std@0.153.0/fmt/colors.ts?source
@@ -464,4 +464,4 @@ const ANSI_PATTERN = new RegExp([
464
464
  return string.replace(ANSI_PATTERN, '');
465
465
  }
466
466
 
467
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2xvcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LWZ1bmN0aW9uLXJldHVybi10eXBlICovXG5cbi8vIENvcHlyaWdodCAyMDE4LTIwMjIgdGhlIERlbm8gYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gTUlUIGxpY2Vuc2UuXG4vLyBBIG1vZHVsZSB0byBwcmludCBBTlNJIHRlcm1pbmFsIGNvbG9ycy4gSW5zcGlyZWQgYnkgY2hhbGssIGtsZXVyLCBhbmQgY29sb3JzXG4vLyBvbiBucG0uXG4vLyBodHRwczovL2Rlbm8ubGFuZC9zdGRAMC4xNTMuMC9mbXQvY29sb3JzLnRzP3NvdXJjZVxuXG5leHBvcnQgaW50ZXJmYWNlIENvZGUge1xuICBvcGVuOiBzdHJpbmdcbiAgY2xvc2U6IHN0cmluZ1xuICByZWdleHA6IFJlZ0V4cFxufVxuXG4vKiogUkdCIDgtYml0cyBwZXIgY2hhbm5lbC4gRWFjaCBpbiByYW5nZSBgMC0+MjU1YCBvciBgMHgwMC0+MHhmZmAgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmdiIHtcbiAgcjogbnVtYmVyXG4gIGc6IG51bWJlclxuICBiOiBudW1iZXJcbn1cblxubGV0IGVuYWJsZWQgPSB0cnVlXG5cbi8qKlxuICogU2V0IGNoYW5naW5nIHRleHQgY29sb3IgdG8gZW5hYmxlZCBvciBkaXNhYmxlZFxuICogQHBhcmFtIHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRDb2xvckVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgZW5hYmxlZCA9IHZhbHVlXG59XG5cbi8qKiBHZXQgd2hldGhlciB0ZXh0IGNvbG9yIGNoYW5nZSBpcyBlbmFibGVkIG9yIGRpc2FibGVkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbG9yRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIGVuYWJsZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgY29sb3IgY29kZVxuICogQHBhcmFtIG9wZW5cbiAqIEBwYXJhbSBjbG9zZVxuICovXG5mdW5jdGlvbiBjb2RlKG9wZW46IG51bWJlcltdLCBjbG9zZTogbnVtYmVyKTogQ29kZSB7XG4gIHJldHVybiB7XG4gICAgb3BlbjogYFxceDFiWyR7b3Blbi5qb2luKCc7Jyl9bWAsXG4gICAgY2xvc2U6IGBcXHgxYlske2Nsb3NlfW1gLFxuICAgIHJlZ2V4cDogbmV3IFJlZ0V4cChgXFxcXHgxYlxcXFxbJHtjbG9zZX1tYCwgJ2cnKSxcbiAgfVxufVxuXG4vKipcbiAqIEFwcGxpZXMgY29sb3IgYW5kIGJhY2tncm91bmQgYmFzZWQgb24gY29sb3IgY29kZSBhbmQgaXRzIGFzc29jaWF0ZWQgdGV4dFxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIGFwcGx5IGNvbG9yIHNldHRpbmdzIHRvXG4gKiBAcGFyYW0gY29kZSBjb2xvciBjb2RlIHRvIGFwcGx5XG4gKi9cbmZ1bmN0aW9uIHJ1bihzdHI6IHN0cmluZywgY29kZTogQ29kZSk6IHN0cmluZyB7XG4gIHJldHVybiBlbmFibGVkID8gYCR7Y29kZS5vcGVufSR7c3RyLnJlcGxhY2UoY29kZS5yZWdleHAsIGNvZGUub3Blbil9JHtjb2RlLmNsb3NlfWAgOiBzdHJcbn1cblxuLyoqXG4gKiBSZXNldCB0aGUgdGV4dCBtb2RpZmllZFxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIHJlc2V0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNldChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFswXSwgMCkpXG59XG5cbi8qKlxuICogTWFrZSB0aGUgdGV4dCBib2xkLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgYm9sZFxuICovXG5leHBvcnQgZnVuY3Rpb24gYm9sZChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsxXSwgMjIpKVxufVxuXG4vKipcbiAqIFRoZSB0ZXh0IGVtaXRzIG9ubHkgYSBzbWFsbCBhbW91bnQgb2YgbGlnaHQuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gZGltXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaW0oc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbMl0sIDIyKSlcbn1cblxuLyoqXG4gKiBNYWtlIHRoZSB0ZXh0IGl0YWxpYy5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGl0YWxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXRhbGljKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzNdLCAyMykpXG59XG5cbi8qKlxuICogTWFrZSB0aGUgdGV4dCB1bmRlcmxpbmUuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gdW5kZXJsaW5lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bmRlcmxpbmUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbNF0sIDI0KSlcbn1cblxuLyoqXG4gKiBJbnZlcnQgYmFja2dyb3VuZCBjb2xvciBhbmQgdGV4dCBjb2xvci5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBpbnZlcnQgaXRzIGNvbG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnZlcnNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzddLCAyNykpXG59XG5cbi8qKlxuICogTWFrZSB0aGUgdGV4dCBoaWRkZW4uXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gaGlkZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaGlkZGVuKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzhdLCAyOCkpXG59XG5cbi8qKlxuICogUHV0IGhvcml6b250YWwgbGluZSB0aHJvdWdoIHRoZSBjZW50ZXIgb2YgdGhlIHRleHQuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gc3RyaWtlIHRocm91Z2hcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmlrZXRocm91Z2goc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbOV0sIDI5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byBibGFjay5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGJsYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBibGFjayhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFszMF0sIDM5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byByZWQuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSByZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFszMV0sIDM5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byBncmVlbi5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGdyZWVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBncmVlbihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFszMl0sIDM5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byB5ZWxsb3cuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSB5ZWxsb3dcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHllbGxvdyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFszM10sIDM5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byBibHVlLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgYmx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYmx1ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFszNF0sIDM5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byBtYWdlbnRhLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgbWFnZW50YVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFnZW50YShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFszNV0sIDM5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byBjeWFuLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgY3lhblxuICovXG5leHBvcnQgZnVuY3Rpb24gY3lhbihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFszNl0sIDM5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byB3aGl0ZS5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIHdoaXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aGl0ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFszN10sIDM5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byBncmF5LlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgZ3JheVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3JheShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBicmlnaHRCbGFjayhzdHIpXG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gYnJpZ2h0IGJsYWNrLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgYnJpZ2h0LWJsYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBicmlnaHRCbGFjayhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5MF0sIDM5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byBicmlnaHQgcmVkLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgYnJpZ2h0LXJlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gYnJpZ2h0UmVkKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzkxXSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIGJyaWdodCBncmVlbi5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGJyaWdodC1ncmVlblxuICovXG5leHBvcnQgZnVuY3Rpb24gYnJpZ2h0R3JlZW4oc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbOTJdLCAzOSkpXG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gYnJpZ2h0IHllbGxvdy5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGJyaWdodC15ZWxsb3dcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJyaWdodFllbGxvdyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5M10sIDM5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byBicmlnaHQgYmx1ZS5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGJyaWdodC1ibHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBicmlnaHRCbHVlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzk0XSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIGJyaWdodCBtYWdlbnRhLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgYnJpZ2h0LW1hZ2VudGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJyaWdodE1hZ2VudGEoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbOTVdLCAzOSkpXG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gYnJpZ2h0IGN5YW4uXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBicmlnaHQtY3lhblxuICovXG5leHBvcnQgZnVuY3Rpb24gYnJpZ2h0Q3lhbihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5Nl0sIDM5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byBicmlnaHQgd2hpdGUuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBicmlnaHQtd2hpdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJyaWdodFdoaXRlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzk3XSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJsYWNrLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgYmxhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnQmxhY2soc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbNDBdLCA0OSkpXG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8gcmVkLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgcmVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ1JlZChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs0MV0sIDQ5KSlcbn1cblxuLyoqXG4gKiBTZXQgYmFja2dyb3VuZCBjb2xvciB0byBncmVlbi5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGl0cyBiYWNrZ3JvdW5kIGdyZWVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ0dyZWVuKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzQyXSwgNDkpKVxufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIHllbGxvdy5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGl0cyBiYWNrZ3JvdW5kIHllbGxvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gYmdZZWxsb3coc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbNDNdLCA0OSkpXG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8gYmx1ZS5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGl0cyBiYWNrZ3JvdW5kIGJsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnQmx1ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs0NF0sIDQ5KSlcbn1cblxuLyoqXG4gKiAgU2V0IGJhY2tncm91bmQgY29sb3IgdG8gbWFnZW50YS5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGl0cyBiYWNrZ3JvdW5kIG1hZ2VudGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnTWFnZW50YShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs0NV0sIDQ5KSlcbn1cblxuLyoqXG4gKiBTZXQgYmFja2dyb3VuZCBjb2xvciB0byBjeWFuLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgY3lhblxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdDeWFuKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzQ2XSwgNDkpKVxufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIHdoaXRlLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgd2hpdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnV2hpdGUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbNDddLCA0OSkpXG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8gYnJpZ2h0IGJsYWNrLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgYnJpZ2h0LWJsYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ0JyaWdodEJsYWNrKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzEwMF0sIDQ5KSlcbn1cblxuLyoqXG4gKiBTZXQgYmFja2dyb3VuZCBjb2xvciB0byBicmlnaHQgcmVkLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgYnJpZ2h0LXJlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdCcmlnaHRSZWQoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbMTAxXSwgNDkpKVxufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJyaWdodCBncmVlbi5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGl0cyBiYWNrZ3JvdW5kIGJyaWdodC1ncmVlblxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdCcmlnaHRHcmVlbihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsxMDJdLCA0OSkpXG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8gYnJpZ2h0IHllbGxvdy5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGl0cyBiYWNrZ3JvdW5kIGJyaWdodC15ZWxsb3dcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnQnJpZ2h0WWVsbG93KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzEwM10sIDQ5KSlcbn1cblxuLyoqXG4gKiBTZXQgYmFja2dyb3VuZCBjb2xvciB0byBicmlnaHQgYmx1ZS5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGl0cyBiYWNrZ3JvdW5kIGJyaWdodC1ibHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ0JyaWdodEJsdWUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbMTA0XSwgNDkpKVxufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJyaWdodCBtYWdlbnRhLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgYnJpZ2h0LW1hZ2VudGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnQnJpZ2h0TWFnZW50YShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsxMDVdLCA0OSkpXG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8gYnJpZ2h0IGN5YW4uXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCBicmlnaHQtY3lhblxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdCcmlnaHRDeWFuKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzEwNl0sIDQ5KSlcbn1cblxuLyoqXG4gKiBTZXQgYmFja2dyb3VuZCBjb2xvciB0byBicmlnaHQgd2hpdGUuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCBicmlnaHQtd2hpdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnQnJpZ2h0V2hpdGUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbMTA3XSwgNDkpKVxufVxuXG4vKiBTcGVjaWFsIENvbG9yIFNlcXVlbmNlcyAqL1xuXG4vKipcbiAqIENsYW0gYW5kIHRydW5jYXRlIGNvbG9yIGNvZGVzXG4gKiBAcGFyYW0gblxuICogQHBhcmFtIG1heCBudW1iZXIgdG8gdHJ1bmNhdGUgdG9cbiAqIEBwYXJhbSBtaW4gbnVtYmVyIHRvIHRydW5jYXRlIGZyb21cbiAqL1xuZnVuY3Rpb24gY2xhbXBBbmRUcnVuY2F0ZShuOiBudW1iZXIsIG1heCA9IDI1NSwgbWluID0gMCk6IG51bWJlciB7XG4gIHJldHVybiBNYXRoLnRydW5jKE1hdGgubWF4KE1hdGgubWluKG4sIG1heCksIG1pbikpXG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdXNpbmcgcGFsZXR0ZWQgOGJpdCBjb2xvcnMuXG4gKiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9BTlNJX2VzY2FwZV9jb2RlIzgtYml0XG4gKiBAcGFyYW0gc3RyIHRleHQgY29sb3IgdG8gYXBwbHkgcGFsZXR0ZWQgOGJpdCBjb2xvcnMgdG9cbiAqIEBwYXJhbSBjb2xvciBjb2RlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZ2I4KHN0cjogc3RyaW5nLCBjb2xvcjogbnVtYmVyKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzM4LCA1LCBjbGFtcEFuZFRydW5jYXRlKGNvbG9yKV0sIDM5KSlcbn1cblxuLyoqXG4gKiBTZXQgYmFja2dyb3VuZCBjb2xvciB1c2luZyBwYWxldHRlZCA4Yml0IGNvbG9ycy5cbiAqIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FOU0lfZXNjYXBlX2NvZGUjOC1iaXRcbiAqIEBwYXJhbSBzdHIgdGV4dCBjb2xvciB0byBhcHBseSBwYWxldHRlZCA4Yml0IGJhY2tncm91bmQgY29sb3JzIHRvXG4gKiBAcGFyYW0gY29sb3IgY29kZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdSZ2I4KHN0cjogc3RyaW5nLCBjb2xvcjogbnVtYmVyKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzQ4LCA1LCBjbGFtcEFuZFRydW5jYXRlKGNvbG9yKV0sIDQ5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB1c2luZyAyNGJpdCByZ2IuXG4gKiBgY29sb3JgIGNhbiBiZSBhIG51bWJlciBpbiByYW5nZSBgMHgwMDAwMDBgIHRvIGAweGZmZmZmZmAgb3JcbiAqIGFuIGBSZ2JgLlxuICpcbiAqIFRvIHByb2R1Y2UgdGhlIGNvbG9yIG1hZ2VudGE6XG4gKlxuICogYGBgdHNcbiAqICAgICAgaW1wb3J0IHsgcmdiMjQgfSBmcm9tIFwiLi9jb2xvcnMudHNcIjtcbiAqICAgICAgcmdiMjQoXCJmb29cIiwgMHhmZjAwZmYpO1xuICogICAgICByZ2IyNChcImZvb1wiLCB7cjogMjU1LCBnOiAwLCBiOiAyNTV9KTtcbiAqIGBgYFxuICogQHBhcmFtIHN0ciB0ZXh0IGNvbG9yIHRvIGFwcGx5IDI0Yml0IHJnYiB0b1xuICogQHBhcmFtIGNvbG9yIGNvZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJnYjI0KHN0cjogc3RyaW5nLCBjb2xvcjogbnVtYmVyIHwgUmdiKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiBjb2xvciA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gcnVuKHN0ciwgY29kZShbMzgsIDIsIChjb2xvciA+PiAxNikgJiAweGZmLCAoY29sb3IgPj4gOCkgJiAweGZmLCBjb2xvciAmIDB4ZmZdLCAzOSkpXG4gIH1cbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzM4LCAyLCBjbGFtcEFuZFRydW5jYXRlKGNvbG9yLnIpLCBjbGFtcEFuZFRydW5jYXRlKGNvbG9yLmcpLCBjbGFtcEFuZFRydW5jYXRlKGNvbG9yLmIpXSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHVzaW5nIDI0Yml0IHJnYi5cbiAqIGBjb2xvcmAgY2FuIGJlIGEgbnVtYmVyIGluIHJhbmdlIGAweDAwMDAwMGAgdG8gYDB4ZmZmZmZmYCBvclxuICogYW4gYFJnYmAuXG4gKlxuICogVG8gcHJvZHVjZSB0aGUgY29sb3IgbWFnZW50YTpcbiAqXG4gKiBgYGB0c1xuICogICAgICBpbXBvcnQgeyBiZ1JnYjI0IH0gZnJvbSBcIi4vY29sb3JzLnRzXCI7XG4gKiAgICAgIGJnUmdiMjQoXCJmb29cIiwgMHhmZjAwZmYpO1xuICogICAgICBiZ1JnYjI0KFwiZm9vXCIsIHtyOiAyNTUsIGc6IDAsIGI6IDI1NX0pO1xuICogYGBgXG4gKiBAcGFyYW0gc3RyIHRleHQgY29sb3IgdG8gYXBwbHkgMjRiaXQgcmdiIHRvXG4gKiBAcGFyYW0gY29sb3IgY29kZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdSZ2IyNChzdHI6IHN0cmluZywgY29sb3I6IG51bWJlciB8IFJnYik6IHN0cmluZyB7XG4gIGlmICh0eXBlb2YgY29sb3IgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzQ4LCAyLCAoY29sb3IgPj4gMTYpICYgMHhmZiwgKGNvbG9yID4+IDgpICYgMHhmZiwgY29sb3IgJiAweGZmXSwgNDkpKVxuICB9XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs0OCwgMiwgY2xhbXBBbmRUcnVuY2F0ZShjb2xvci5yKSwgY2xhbXBBbmRUcnVuY2F0ZShjb2xvci5nKSwgY2xhbXBBbmRUcnVuY2F0ZShjb2xvci5iKV0sIDQ5KSlcbn1cblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2NoYWxrL2Fuc2ktcmVnZXgvYmxvYi8wMmZhODkzZDYxOWQzZGE4NTQxMWFjYzhmZDRlMmVlYTBlOTVhOWQ5L2luZGV4LmpzXG5jb25zdCBBTlNJX1BBVFRFUk4gPSBuZXcgUmVnRXhwKFxuICBbXG4gICAgJ1tcXFxcdTAwMUJcXFxcdTAwOUJdW1tcXFxcXSgpIzs/XSooPzooPzooPzooPzo7Wy1hLXpBLVpcXFxcZFxcXFwvIyYuOj0/JUB+X10rKSp8W2EtekEtWlxcXFxkXSsoPzo7Wy1hLXpBLVpcXFxcZFxcXFwvIyYuOj0/JUB+X10qKSopP1xcXFx1MDAwNyknLFxuICAgICcoPzooPzpcXFxcZHsxLDR9KD86O1xcXFxkezAsNH0pKik/W1xcXFxkQS1QUi1UWmNmLW5xLXV5PT48fl0pKScsXG4gIF0uam9pbignfCcpLFxuICAnZycsXG4pXG5cbi8qKlxuICogUmVtb3ZlIEFOU0kgZXNjYXBlIGNvZGVzIGZyb20gdGhlIHN0cmluZy5cbiAqIEBwYXJhbSBzdHJpbmcgdG8gcmVtb3ZlIEFOU0kgZXNjYXBlIGNvZGVzIGZyb21cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwQ29sb3Ioc3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyaW5nLnJlcGxhY2UoQU5TSV9QQVRURVJOLCAnJylcbn1cbiJdLCJuYW1lcyI6WyJlbmFibGVkIiwic2V0Q29sb3JFbmFibGVkIiwidmFsdWUiLCJnZXRDb2xvckVuYWJsZWQiLCJjb2RlIiwib3BlbiIsImNsb3NlIiwiam9pbiIsInJlZ2V4cCIsIlJlZ0V4cCIsInJ1biIsInN0ciIsInJlcGxhY2UiLCJyZXNldCIsImJvbGQiLCJkaW0iLCJpdGFsaWMiLCJ1bmRlcmxpbmUiLCJpbnZlcnNlIiwiaGlkZGVuIiwic3RyaWtldGhyb3VnaCIsImJsYWNrIiwicmVkIiwiZ3JlZW4iLCJ5ZWxsb3ciLCJibHVlIiwibWFnZW50YSIsImN5YW4iLCJ3aGl0ZSIsImdyYXkiLCJicmlnaHRCbGFjayIsImJyaWdodFJlZCIsImJyaWdodEdyZWVuIiwiYnJpZ2h0WWVsbG93IiwiYnJpZ2h0Qmx1ZSIsImJyaWdodE1hZ2VudGEiLCJicmlnaHRDeWFuIiwiYnJpZ2h0V2hpdGUiLCJiZ0JsYWNrIiwiYmdSZWQiLCJiZ0dyZWVuIiwiYmdZZWxsb3ciLCJiZ0JsdWUiLCJiZ01hZ2VudGEiLCJiZ0N5YW4iLCJiZ1doaXRlIiwiYmdCcmlnaHRCbGFjayIsImJnQnJpZ2h0UmVkIiwiYmdCcmlnaHRHcmVlbiIsImJnQnJpZ2h0WWVsbG93IiwiYmdCcmlnaHRCbHVlIiwiYmdCcmlnaHRNYWdlbnRhIiwiYmdCcmlnaHRDeWFuIiwiYmdCcmlnaHRXaGl0ZSIsImNsYW1wQW5kVHJ1bmNhdGUiLCJuIiwibWF4IiwibWluIiwiTWF0aCIsInRydW5jIiwicmdiOCIsImNvbG9yIiwiYmdSZ2I4IiwicmdiMjQiLCJyIiwiZyIsImIiLCJiZ1JnYjI0IiwiQU5TSV9QQVRURVJOIiwic3RyaXBDb2xvciIsInN0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUEsbUVBQW1FLEdBRW5FLDBFQUEwRTtBQUMxRSwrRUFBK0U7QUFDL0UsVUFBVTtBQUNWLHFEQUFxRDtBQWVyRCxJQUFJQSxVQUFVO0FBRWQ7OztDQUdDLEdBQ0QsT0FBTyxTQUFTQyxnQkFBZ0JDLEtBQWM7SUFDNUNGLFVBQVVFO0FBQ1o7QUFF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
467
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2xvcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMTgtMjAyMiB0aGUgRGVubyBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLiBNSVQgbGljZW5zZS5cbi8vIEEgbW9kdWxlIHRvIHByaW50IEFOU0kgdGVybWluYWwgY29sb3JzLiBJbnNwaXJlZCBieSBjaGFsaywga2xldXIsIGFuZCBjb2xvcnNcbi8vIG9uIG5wbS5cbi8vIGh0dHBzOi8vZGVuby5sYW5kL3N0ZEAwLjE1My4wL2ZtdC9jb2xvcnMudHM/c291cmNlXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZSB7XG4gIG9wZW46IHN0cmluZ1xuICBjbG9zZTogc3RyaW5nXG4gIHJlZ2V4cDogUmVnRXhwXG59XG5cbi8qKiBSR0IgOC1iaXRzIHBlciBjaGFubmVsLiBFYWNoIGluIHJhbmdlIGAwLT4yNTVgIG9yIGAweDAwLT4weGZmYCAqL1xuZXhwb3J0IGludGVyZmFjZSBSZ2Ige1xuICByOiBudW1iZXJcbiAgZzogbnVtYmVyXG4gIGI6IG51bWJlclxufVxuXG5sZXQgZW5hYmxlZCA9IHRydWVcblxuLyoqXG4gKiBTZXQgY2hhbmdpbmcgdGV4dCBjb2xvciB0byBlbmFibGVkIG9yIGRpc2FibGVkXG4gKiBAcGFyYW0gdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldENvbG9yRW5hYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICBlbmFibGVkID0gdmFsdWVcbn1cblxuLyoqIEdldCB3aGV0aGVyIHRleHQgY29sb3IgY2hhbmdlIGlzIGVuYWJsZWQgb3IgZGlzYWJsZWQuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29sb3JFbmFibGVkKCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZW5hYmxlZFxufVxuXG4vKipcbiAqIEJ1aWxkcyBjb2xvciBjb2RlXG4gKiBAcGFyYW0gb3BlblxuICogQHBhcmFtIGNsb3NlXG4gKi9cbmZ1bmN0aW9uIGNvZGUob3BlbjogbnVtYmVyW10sIGNsb3NlOiBudW1iZXIpOiBDb2RlIHtcbiAgcmV0dXJuIHtcbiAgICBvcGVuOiBgXFx4MWJbJHtvcGVuLmpvaW4oJzsnKX1tYCxcbiAgICBjbG9zZTogYFxceDFiWyR7Y2xvc2V9bWAsXG4gICAgcmVnZXhwOiBuZXcgUmVnRXhwKGBcXFxceDFiXFxcXFske2Nsb3NlfW1gLCAnZycpLFxuICB9XG59XG5cbi8qKlxuICogQXBwbGllcyBjb2xvciBhbmQgYmFja2dyb3VuZCBiYXNlZCBvbiBjb2xvciBjb2RlIGFuZCBpdHMgYXNzb2NpYXRlZCB0ZXh0XG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gYXBwbHkgY29sb3Igc2V0dGluZ3MgdG9cbiAqIEBwYXJhbSBjb2RlIGNvbG9yIGNvZGUgdG8gYXBwbHlcbiAqL1xuZnVuY3Rpb24gcnVuKHN0cjogc3RyaW5nLCBjb2RlOiBDb2RlKTogc3RyaW5nIHtcbiAgcmV0dXJuIGVuYWJsZWQgPyBgJHtjb2RlLm9wZW59JHtzdHIucmVwbGFjZShjb2RlLnJlZ2V4cCwgY29kZS5vcGVuKX0ke2NvZGUuY2xvc2V9YCA6IHN0clxufVxuXG4vKipcbiAqIFJlc2V0IHRoZSB0ZXh0IG1vZGlmaWVkXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gcmVzZXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc2V0KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzBdLCAwKSlcbn1cblxuLyoqXG4gKiBNYWtlIHRoZSB0ZXh0IGJvbGQuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBib2xkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBib2xkKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzFdLCAyMikpXG59XG5cbi8qKlxuICogVGhlIHRleHQgZW1pdHMgb25seSBhIHNtYWxsIGFtb3VudCBvZiBsaWdodC5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBkaW1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpbShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsyXSwgMjIpKVxufVxuXG4vKipcbiAqIE1ha2UgdGhlIHRleHQgaXRhbGljLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRhbGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpdGFsaWMoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbM10sIDIzKSlcbn1cblxuLyoqXG4gKiBNYWtlIHRoZSB0ZXh0IHVuZGVybGluZS5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byB1bmRlcmxpbmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVuZGVybGluZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs0XSwgMjQpKVxufVxuXG4vKipcbiAqIEludmVydCBiYWNrZ3JvdW5kIGNvbG9yIGFuZCB0ZXh0IGNvbG9yLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIGludmVydCBpdHMgY29sb3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludmVyc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbN10sIDI3KSlcbn1cblxuLyoqXG4gKiBNYWtlIHRoZSB0ZXh0IGhpZGRlbi5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBoaWRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoaWRkZW4oc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbOF0sIDI4KSlcbn1cblxuLyoqXG4gKiBQdXQgaG9yaXpvbnRhbCBsaW5lIHRocm91Z2ggdGhlIGNlbnRlciBvZiB0aGUgdGV4dC5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBzdHJpa2UgdGhyb3VnaFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RyaWtldGhyb3VnaChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5XSwgMjkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIGJsYWNrLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgYmxhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJsYWNrKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzMwXSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIHJlZC5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIHJlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVkKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzMxXSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIGdyZWVuLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgZ3JlZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyZWVuKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzMyXSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIHllbGxvdy5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIHllbGxvd1xuICovXG5leHBvcnQgZnVuY3Rpb24geWVsbG93KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzMzXSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIGJsdWUuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBibHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBibHVlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzM0XSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIG1hZ2VudGEuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBtYWdlbnRhXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWdlbnRhKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzM1XSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIGN5YW4uXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBjeWFuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjeWFuKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzM2XSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIHdoaXRlLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2Ugd2hpdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdoaXRlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzM3XSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIGdyYXkuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBncmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBncmF5KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGJyaWdodEJsYWNrKHN0cilcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byBicmlnaHQgYmxhY2suXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBicmlnaHQtYmxhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJyaWdodEJsYWNrKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzkwXSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIGJyaWdodCByZWQuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBicmlnaHQtcmVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBicmlnaHRSZWQoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbOTFdLCAzOSkpXG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gYnJpZ2h0IGdyZWVuLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgYnJpZ2h0LWdyZWVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBicmlnaHRHcmVlbihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5Ml0sIDM5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byBicmlnaHQgeWVsbG93LlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgYnJpZ2h0LXllbGxvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gYnJpZ2h0WWVsbG93KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzkzXSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIGJyaWdodCBibHVlLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgYnJpZ2h0LWJsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJyaWdodEJsdWUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbOTRdLCAzOSkpXG59XG5cbi8qKlxuICogU2V0IHRleHQgY29sb3IgdG8gYnJpZ2h0IG1hZ2VudGEuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBicmlnaHQtbWFnZW50YVxuICovXG5leHBvcnQgZnVuY3Rpb24gYnJpZ2h0TWFnZW50YShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs5NV0sIDM5KSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB0byBicmlnaHQgY3lhbi5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGJyaWdodC1jeWFuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBicmlnaHRDeWFuKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzk2XSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHRvIGJyaWdodCB3aGl0ZS5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGJyaWdodC13aGl0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYnJpZ2h0V2hpdGUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbOTddLCAzOSkpXG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8gYmxhY2suXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCBibGFja1xuICovXG5leHBvcnQgZnVuY3Rpb24gYmdCbGFjayhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs0MF0sIDQ5KSlcbn1cblxuLyoqXG4gKiBTZXQgYmFja2dyb3VuZCBjb2xvciB0byByZWQuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCByZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnUmVkKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzQxXSwgNDkpKVxufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGdyZWVuLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgZ3JlZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnR3JlZW4oc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbNDJdLCA0OSkpXG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8geWVsbG93LlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgeWVsbG93XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ1llbGxvdyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs0M10sIDQ5KSlcbn1cblxuLyoqXG4gKiBTZXQgYmFja2dyb3VuZCBjb2xvciB0byBibHVlLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgYmx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdCbHVlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzQ0XSwgNDkpKVxufVxuXG4vKipcbiAqICBTZXQgYmFja2dyb3VuZCBjb2xvciB0byBtYWdlbnRhLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgbWFnZW50YVxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdNYWdlbnRhKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzQ1XSwgNDkpKVxufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGN5YW4uXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCBjeWFuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ0N5YW4oc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbNDZdLCA0OSkpXG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8gd2hpdGUuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCB3aGl0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdXaGl0ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFs0N10sIDQ5KSlcbn1cblxuLyoqXG4gKiBTZXQgYmFja2dyb3VuZCBjb2xvciB0byBicmlnaHQgYmxhY2suXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCBicmlnaHQtYmxhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnQnJpZ2h0QmxhY2soc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbMTAwXSwgNDkpKVxufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJyaWdodCByZWQuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCBicmlnaHQtcmVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ0JyaWdodFJlZChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsxMDFdLCA0OSkpXG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8gYnJpZ2h0IGdyZWVuLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgYnJpZ2h0LWdyZWVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ0JyaWdodEdyZWVuKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzEwMl0sIDQ5KSlcbn1cblxuLyoqXG4gKiBTZXQgYmFja2dyb3VuZCBjb2xvciB0byBicmlnaHQgeWVsbG93LlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgYnJpZ2h0LXllbGxvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gYmdCcmlnaHRZZWxsb3coc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbMTAzXSwgNDkpKVxufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJyaWdodCBibHVlLlxuICogQHBhcmFtIHN0ciB0ZXh0IHRvIG1ha2UgaXRzIGJhY2tncm91bmQgYnJpZ2h0LWJsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJnQnJpZ2h0Qmx1ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsxMDRdLCA0OSkpXG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdG8gYnJpZ2h0IG1hZ2VudGEuXG4gKiBAcGFyYW0gc3RyIHRleHQgdG8gbWFrZSBpdHMgYmFja2dyb3VuZCBicmlnaHQtbWFnZW50YVxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdCcmlnaHRNYWdlbnRhKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzEwNV0sIDQ5KSlcbn1cblxuLyoqXG4gKiBTZXQgYmFja2dyb3VuZCBjb2xvciB0byBicmlnaHQgY3lhbi5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGl0cyBiYWNrZ3JvdW5kIGJyaWdodC1jeWFuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ0JyaWdodEN5YW4oc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbMTA2XSwgNDkpKVxufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJyaWdodCB3aGl0ZS5cbiAqIEBwYXJhbSBzdHIgdGV4dCB0byBtYWtlIGl0cyBiYWNrZ3JvdW5kIGJyaWdodC13aGl0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYmdCcmlnaHRXaGl0ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBydW4oc3RyLCBjb2RlKFsxMDddLCA0OSkpXG59XG5cbi8qIFNwZWNpYWwgQ29sb3IgU2VxdWVuY2VzICovXG5cbi8qKlxuICogQ2xhbSBhbmQgdHJ1bmNhdGUgY29sb3IgY29kZXNcbiAqIEBwYXJhbSBuXG4gKiBAcGFyYW0gbWF4IG51bWJlciB0byB0cnVuY2F0ZSB0b1xuICogQHBhcmFtIG1pbiBudW1iZXIgdG8gdHJ1bmNhdGUgZnJvbVxuICovXG5mdW5jdGlvbiBjbGFtcEFuZFRydW5jYXRlKG46IG51bWJlciwgbWF4ID0gMjU1LCBtaW4gPSAwKTogbnVtYmVyIHtcbiAgcmV0dXJuIE1hdGgudHJ1bmMoTWF0aC5tYXgoTWF0aC5taW4obiwgbWF4KSwgbWluKSlcbn1cblxuLyoqXG4gKiBTZXQgdGV4dCBjb2xvciB1c2luZyBwYWxldHRlZCA4Yml0IGNvbG9ycy5cbiAqIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FOU0lfZXNjYXBlX2NvZGUjOC1iaXRcbiAqIEBwYXJhbSBzdHIgdGV4dCBjb2xvciB0byBhcHBseSBwYWxldHRlZCA4Yml0IGNvbG9ycyB0b1xuICogQHBhcmFtIGNvbG9yIGNvZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJnYjgoc3RyOiBzdHJpbmcsIGNvbG9yOiBudW1iZXIpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbMzgsIDUsIGNsYW1wQW5kVHJ1bmNhdGUoY29sb3IpXSwgMzkpKVxufVxuXG4vKipcbiAqIFNldCBiYWNrZ3JvdW5kIGNvbG9yIHVzaW5nIHBhbGV0dGVkIDhiaXQgY29sb3JzLlxuICogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQU5TSV9lc2NhcGVfY29kZSM4LWJpdFxuICogQHBhcmFtIHN0ciB0ZXh0IGNvbG9yIHRvIGFwcGx5IHBhbGV0dGVkIDhiaXQgYmFja2dyb3VuZCBjb2xvcnMgdG9cbiAqIEBwYXJhbSBjb2xvciBjb2RlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ1JnYjgoc3RyOiBzdHJpbmcsIGNvbG9yOiBudW1iZXIpOiBzdHJpbmcge1xuICByZXR1cm4gcnVuKHN0ciwgY29kZShbNDgsIDUsIGNsYW1wQW5kVHJ1bmNhdGUoY29sb3IpXSwgNDkpKVxufVxuXG4vKipcbiAqIFNldCB0ZXh0IGNvbG9yIHVzaW5nIDI0Yml0IHJnYi5cbiAqIGBjb2xvcmAgY2FuIGJlIGEgbnVtYmVyIGluIHJhbmdlIGAweDAwMDAwMGAgdG8gYDB4ZmZmZmZmYCBvclxuICogYW4gYFJnYmAuXG4gKlxuICogVG8gcHJvZHVjZSB0aGUgY29sb3IgbWFnZW50YTpcbiAqXG4gKiBgYGB0c1xuICogICAgICBpbXBvcnQgeyByZ2IyNCB9IGZyb20gXCIuL2NvbG9ycy50c1wiO1xuICogICAgICByZ2IyNChcImZvb1wiLCAweGZmMDBmZik7XG4gKiAgICAgIHJnYjI0KFwiZm9vXCIsIHtyOiAyNTUsIGc6IDAsIGI6IDI1NX0pO1xuICogYGBgXG4gKiBAcGFyYW0gc3RyIHRleHQgY29sb3IgdG8gYXBwbHkgMjRiaXQgcmdiIHRvXG4gKiBAcGFyYW0gY29sb3IgY29kZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmdiMjQoc3RyOiBzdHJpbmcsIGNvbG9yOiBudW1iZXIgfCBSZ2IpOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIGNvbG9yID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiBydW4oc3RyLCBjb2RlKFszOCwgMiwgKGNvbG9yID4+IDE2KSAmIDB4ZmYsIChjb2xvciA+PiA4KSAmIDB4ZmYsIGNvbG9yICYgMHhmZl0sIDM5KSlcbiAgfVxuICByZXR1cm4gcnVuKHN0ciwgY29kZShbMzgsIDIsIGNsYW1wQW5kVHJ1bmNhdGUoY29sb3IuciksIGNsYW1wQW5kVHJ1bmNhdGUoY29sb3IuZyksIGNsYW1wQW5kVHJ1bmNhdGUoY29sb3IuYildLCAzOSkpXG59XG5cbi8qKlxuICogU2V0IGJhY2tncm91bmQgY29sb3IgdXNpbmcgMjRiaXQgcmdiLlxuICogYGNvbG9yYCBjYW4gYmUgYSBudW1iZXIgaW4gcmFuZ2UgYDB4MDAwMDAwYCB0byBgMHhmZmZmZmZgIG9yXG4gKiBhbiBgUmdiYC5cbiAqXG4gKiBUbyBwcm9kdWNlIHRoZSBjb2xvciBtYWdlbnRhOlxuICpcbiAqIGBgYHRzXG4gKiAgICAgIGltcG9ydCB7IGJnUmdiMjQgfSBmcm9tIFwiLi9jb2xvcnMudHNcIjtcbiAqICAgICAgYmdSZ2IyNChcImZvb1wiLCAweGZmMDBmZik7XG4gKiAgICAgIGJnUmdiMjQoXCJmb29cIiwge3I6IDI1NSwgZzogMCwgYjogMjU1fSk7XG4gKiBgYGBcbiAqIEBwYXJhbSBzdHIgdGV4dCBjb2xvciB0byBhcHBseSAyNGJpdCByZ2IgdG9cbiAqIEBwYXJhbSBjb2xvciBjb2RlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiZ1JnYjI0KHN0cjogc3RyaW5nLCBjb2xvcjogbnVtYmVyIHwgUmdiKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiBjb2xvciA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gcnVuKHN0ciwgY29kZShbNDgsIDIsIChjb2xvciA+PiAxNikgJiAweGZmLCAoY29sb3IgPj4gOCkgJiAweGZmLCBjb2xvciAmIDB4ZmZdLCA0OSkpXG4gIH1cbiAgcmV0dXJuIHJ1bihzdHIsIGNvZGUoWzQ4LCAyLCBjbGFtcEFuZFRydW5jYXRlKGNvbG9yLnIpLCBjbGFtcEFuZFRydW5jYXRlKGNvbG9yLmcpLCBjbGFtcEFuZFRydW5jYXRlKGNvbG9yLmIpXSwgNDkpKVxufVxuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vY2hhbGsvYW5zaS1yZWdleC9ibG9iLzAyZmE4OTNkNjE5ZDNkYTg1NDExYWNjOGZkNGUyZWVhMGU5NWE5ZDkvaW5kZXguanNcbmNvbnN0IEFOU0lfUEFUVEVSTiA9IG5ldyBSZWdFeHAoXG4gIFtcbiAgICAnW1xcXFx1MDAxQlxcXFx1MDA5Ql1bW1xcXFxdKCkjOz9dKig/Oig/Oig/Oig/OjtbLWEtekEtWlxcXFxkXFxcXC8jJi46PT8lQH5fXSspKnxbYS16QS1aXFxcXGRdKyg/OjtbLWEtekEtWlxcXFxkXFxcXC8jJi46PT8lQH5fXSopKik/XFxcXHUwMDA3KScsXG4gICAgJyg/Oig/OlxcXFxkezEsNH0oPzo7XFxcXGR7MCw0fSkqKT9bXFxcXGRBLVBSLVRaY2YtbnEtdXk9Pjx+XSkpJyxcbiAgXS5qb2luKCd8JyksXG4gICdnJyxcbilcblxuLyoqXG4gKiBSZW1vdmUgQU5TSSBlc2NhcGUgY29kZXMgZnJvbSB0aGUgc3RyaW5nLlxuICogQHBhcmFtIHN0cmluZyB0byByZW1vdmUgQU5TSSBlc2NhcGUgY29kZXMgZnJvbVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RyaXBDb2xvcihzdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdHJpbmcucmVwbGFjZShBTlNJX1BBVFRFUk4sICcnKVxufVxuIl0sIm5hbWVzIjpbImVuYWJsZWQiLCJzZXRDb2xvckVuYWJsZWQiLCJ2YWx1ZSIsImdldENvbG9yRW5hYmxlZCIsImNvZGUiLCJvcGVuIiwiY2xvc2UiLCJqb2luIiwicmVnZXhwIiwiUmVnRXhwIiwicnVuIiwic3RyIiwicmVwbGFjZSIsInJlc2V0IiwiYm9sZCIsImRpbSIsIml0YWxpYyIsInVuZGVybGluZSIsImludmVyc2UiLCJoaWRkZW4iLCJzdHJpa2V0aHJvdWdoIiwiYmxhY2siLCJyZWQiLCJncmVlbiIsInllbGxvdyIsImJsdWUiLCJtYWdlbnRhIiwiY3lhbiIsIndoaXRlIiwiZ3JheSIsImJyaWdodEJsYWNrIiwiYnJpZ2h0UmVkIiwiYnJpZ2h0R3JlZW4iLCJicmlnaHRZZWxsb3ciLCJicmlnaHRCbHVlIiwiYnJpZ2h0TWFnZW50YSIsImJyaWdodEN5YW4iLCJicmlnaHRXaGl0ZSIsImJnQmxhY2siLCJiZ1JlZCIsImJnR3JlZW4iLCJiZ1llbGxvdyIsImJnQmx1ZSIsImJnTWFnZW50YSIsImJnQ3lhbiIsImJnV2hpdGUiLCJiZ0JyaWdodEJsYWNrIiwiYmdCcmlnaHRSZWQiLCJiZ0JyaWdodEdyZWVuIiwiYmdCcmlnaHRZZWxsb3ciLCJiZ0JyaWdodEJsdWUiLCJiZ0JyaWdodE1hZ2VudGEiLCJiZ0JyaWdodEN5YW4iLCJiZ0JyaWdodFdoaXRlIiwiY2xhbXBBbmRUcnVuY2F0ZSIsIm4iLCJtYXgiLCJtaW4iLCJNYXRoIiwidHJ1bmMiLCJyZ2I4IiwiY29sb3IiLCJiZ1JnYjgiLCJyZ2IyNCIsInIiLCJnIiwiYiIsImJnUmdiMjQiLCJBTlNJX1BBVFRFUk4iLCJzdHJpcENvbG9yIiwic3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQSwwRUFBMEU7QUFDMUUsK0VBQStFO0FBQy9FLFVBQVU7QUFDVixxREFBcUQ7QUFlckQsSUFBSUEsVUFBVTtBQUVkOzs7Q0FHQyxHQUNELE9BQU8sU0FBU0MsZ0JBQWdCQyxLQUFjO0lBQzVDRixVQUFVRTtBQUNaO0FBRUEsMERBQTBELEdBQzFELE9BQU8sU0FBU0M7SUFDZCxPQUFPSDtBQUNUO0FBRUE7Ozs7Q0FJQyxHQUNELFNBQVNJLEtBQUtDLElBQWMsRUFBRUMsS0FB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