oxygen-cli 1.29.1 → 1.30.0

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v1.30.0 (2023-08-15)
4
+
5
+ #### :tada: New Feature
6
+ * Add `utils.transaction` command.
7
+
3
8
  ## v1.29.1 (2023-07-26)
4
9
 
5
10
  #### :beetle: Bug Fix
@@ -247,8 +247,25 @@ class UtilsModule extends _OxygenModule.default {
247
247
  throw new _OxygenError.default(_helper.default.errorCode.XML_ERROR, e.message);
248
248
  }
249
249
  }
250
+ /**
251
+ * @summary Opens new transaction.
252
+ * @description The transaction will persist untill a new one is opened. Transaction names must be unique.
253
+ * @function transaction
254
+ * @param {String} name - The transaction name.
255
+ */
256
+
257
+
258
+ async transaction(name) {
259
+ if (!name) {
260
+ return;
261
+ } // just in case user passed a complex object by mistake
262
+
263
+
264
+ name = name.toString();
265
+ global._lastTransactionName = name;
266
+ }
250
267
 
251
268
  }
252
269
 
253
270
  exports.default = UtilsModule;
254
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS11dGlscy5qcyJdLCJuYW1lcyI6WyJNT0RVTEVfTkFNRSIsIlV0aWxzTW9kdWxlIiwiT3h5Z2VuTW9kdWxlIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiY29udGV4dCIsInJzIiwibG9nZ2VyIiwibW9kdWxlcyIsInNlcnZpY2VzIiwiX2Fsd2F5c0luaXRpYWxpemVkIiwiX2lzSW5pdGlhbGl6ZWQiLCJuYW1lIiwicGF1c2UiLCJtcyIsInV0aWxzIiwiYXNzZXJ0QXJndW1lbnROdW1iZXJOb25OZWdhdGl2ZSIsImxpYlV0aWxzIiwic2xlZXAiLCJkZWNyeXB0IiwidGV4dCIsImVuY3J5cHQiLCJyZWFkQ3N2IiwiZmlsZVBhdGgiLCJwYXJzZSIsInJlcXVpcmUiLCJmcyIsInBhdGgiLCJleHQiLCJleHRuYW1lIiwiT3hFcnJvciIsImVycm9ySGVscGVyIiwiZXJyb3JDb2RlIiwiQ1NWX0VSUk9SIiwiZGF0YSIsInJlYWRGaWxlU3luYyIsImUiLCJyZXBsYWNlIiwiYm9tIiwiY2hhckNvZGVBdCIsInRhYmxlIiwiY29sdW1ucyIsInRyaW0iLCJtZXNzYWdlIiwid3JpdGVDc3YiLCJPYmplY3RzVG9Dc3YiLCJjc3YiLCJ0b0Rpc2siLCJhbGxDb2x1bW5zIiwicmVhZFhsc3giLCJyZWFkZXIiLCJFeGNlbFJlYWRlciIsInJlYWQiLCJkbnNSZXNvbHZlIiwiaG9zdG5hbWUiLCJyclR5cGUiLCJhc3NlcnRBcmd1bWVudE5vbkVtcHR5U3RyaW5nIiwicnJUeXBlcyIsImluY2x1ZGVzIiwiU0NSSVBUX0VSUk9SIiwiam9pbiIsImRuc1Byb21pc2VzIiwicHJvbWlzZXMiLCJyZXNvbHZlIiwiRE5TX0VSUk9SIiwieG1sVG9Kc29uIiwieG1sRGF0YVN0ciIsInBhcnNlciIsImZhc3RYbWxQYXJzZXIiLCJYTUxQYXJzZXIiLCJvdXRwdXQiLCJYTUxfRVJST1IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQWVBOztBQUNB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LE1BQU0sR0FBRyxJQUFJQyx1QkFBY0MsU0FBbEIsQ0FBNEJqRSxPQUE1QixDQUFmO0FBQ0EsWUFBTWtFLE1BQU0sR0FBR0gsTUFBTSxDQUFDM0MsS0FBUCxDQUFhMEMsVUFBYixDQUFmO0FBQ0EsYUFBT0ksTUFBUDtBQUNILEtBSkQsQ0FJRSxPQUFPbEMsQ0FBUCxFQUFVO0FBQ1IsWUFBTSxJQUFJTixvQkFBSixDQUFZQyxnQkFBWUMsU0FBWixDQUFzQnVDLFNBQWxDLEVBQTZDbkMsQ0FBQyxDQUFDTyxPQUEvQyxDQUFOO0FBQ0g7QUFDSjs7QUF2TGlEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQG5hbWUgdXRpbHNcclxuICogQGRlc2NyaXB0aW9uIFByb3ZpZGVzIG1pc2NlbGxhbmVvdXMgdXRpbGl0eSBtZXRob2RzLlxyXG4gKi9cclxuXHJcbmNvbnN0IE1PRFVMRV9OQU1FID0gJ3V0aWxzJztcclxuaW1wb3J0IGZhc3RYbWxQYXJzZXIgZnJvbSAnZmFzdC14bWwtcGFyc2VyJztcclxuaW1wb3J0IE94eWdlbk1vZHVsZSBmcm9tICcuLi9jb3JlL094eWdlbk1vZHVsZSc7XHJcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcclxuaW1wb3J0IGxpYlV0aWxzIGZyb20gJy4uL2xpYi91dGlsJztcclxuaW1wb3J0IE94RXJyb3IgZnJvbSAnLi4vZXJyb3JzL094eWdlbkVycm9yJztcclxuaW1wb3J0IGVycm9ySGVscGVyIGZyb20gJy4uL2Vycm9ycy9oZWxwZXInO1xyXG5pbXBvcnQgRXhjZWxSZWFkZXIgZnJvbSAnLi4vbGliL3BhcmFtLXJlYWRlci1leGNlbCc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBVdGlsc01vZHVsZSBleHRlbmRzIE94eWdlbk1vZHVsZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zLCBjb250ZXh0LCBycywgbG9nZ2VyLCBtb2R1bGVzLCBzZXJ2aWNlcykge1xyXG4gICAgICAgIHN1cGVyKG9wdGlvbnMsIGNvbnRleHQsIHJzLCBsb2dnZXIsIG1vZHVsZXMsIHNlcnZpY2VzKTtcclxuICAgICAgICB0aGlzLl9hbHdheXNJbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5faXNJbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgICAqIEBzdW1tYXJ5IEdldHMgbW9kdWxlIG5hbWVcclxuICAgICAqIEBmdW5jdGlvbiBuYW1lXHJcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmd9IENvbnN0YW50IHZhbHVlIFwidXRpbHNcIi5cclxuICAgICAqL1xyXG4gICAgZ2V0IG5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuIE1PRFVMRV9OQU1FO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgUGF1c2UgdGVzdCBleGVjdXRpb24gZm9yIHRoZSBnaXZlbiBhbW91bnQgb2YgbWlsbGlzZWNvbmRzLlxyXG4gICAgICogQGZ1bmN0aW9uIHBhdXNlXHJcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gbXMgLSBNaWxsaXNlY29uZHMgdG8gcGF1c2UgdGhlIGV4ZWN1dGlvbiBmb3IuXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIHBhdXNlKG1zKSB7XHJcbiAgICAgICAgdXRpbHMuYXNzZXJ0QXJndW1lbnROdW1iZXJOb25OZWdhdGl2ZShtcywgJ21zJyk7XHJcbiAgICAgICAgYXdhaXQgbGliVXRpbHMuc2xlZXAobXMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgRGVjcnlwdCB0ZXh0XHJcbiAgICAgKiBAZnVuY3Rpb24gZGVjcnlwdFxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHRleHQgLSBUZXh0XHJcbiAgICAgKiBAcmV0dXJuIHtPYmplY3R9IERlY3J5cHRSZXN1bHQgT2JqZWN0IHdpdGggZ2V0RGVjcnlwdFJlc3VsdCBtZXRob2RcclxuICAgICAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gICAgICogLy8gdG8gZW5jcnlwdCBwbGFpbnRleHQgaW50byBjaXBoZXJ0ZXh0IFxyXG4gICAgICogY29uc3QgZW5jcnlwdCA9IHV0aWxzLmVuY3J5cHQoJ2h0dHBzOi8vd3d3Lndpa2lwZWRpYS5vcmcnKTtcclxuICAgICAqIGxvZy5pbmZvKGVuY3J5cHQpOyAvLyB3aWxsIHByaW50IGI3NTdiYTJjMmZjNTBmYmI1MTFkNTk2ODE2Y2EwNmM0ZmE1NmY0ZTk4Y2UyMjJmMzBiYzU4ZDUyNTFlZDYzNWVcclxuICAgICAqIFxyXG4gICAgICogLy8gdG8gZGVjcnlwdCBjaXBoZXJ0ZXh0IGFuZCB1c2UgaXQgaW4gc2NyaXB0ICBcclxuICAgICAqIGNvbnN0IGRlY3J5cHQgPSB1dGlscy5kZWNyeXB0KGVuY3J5cHQpO1xyXG4gICAgICogbG9nLmluZm8oZGVjcnlwdCk7IC8vIHdpbGwgcHJpbnQgRU5DUllQVEVEXHJcbiAgICAgKiBcclxuICAgICAqIHdlYi5pbml0KCk7XHJcbiAgICAgKiB3ZWIub3BlbihkZWNyeXB0KTsgLy8gd2lsbCBvcGVuIGh0dHBzOi8vd3d3Lndpa2lwZWRpYS5vcmdcclxuICAgICAqIFxyXG4gICAgICogLy8gdG8gZ2V0IG9yaWdpbmFsIHBsYWludGV4dCB1c2UgZ2V0RGVjcnlwdFJlc3VsdFxyXG4gICAgICogY29uc3QgdmFsdWUgPSBkZWNyeXB0LmdldERlY3J5cHRSZXN1bHQoKTtcclxuICAgICAqIGxvZy5pbmZvKHZhbHVlKTsgLy93aWxsIHByaW50IGh0dHBzOi8vd3d3Lndpa2lwZWRpYS5vcmdcclxuICAgICAqL1xyXG4gICAgZGVjcnlwdCh0ZXh0KSB7XHJcbiAgICAgICAgcmV0dXJuIGxpYlV0aWxzLmRlY3J5cHQodGV4dCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAc3VtbWFyeSBFbmNyeXB0IHRleHRcclxuICAgICAqIEBmdW5jdGlvbiBlbmNyeXB0XHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gdGV4dCAtIFRleHRcclxuICAgICAqIEByZXR1cm4ge1N0cmluZ30gRW5jcnlwdGVkIHRleHRcclxuICAgICAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gICAgICogLy8gdG8gZW5jcnlwdCBwbGFpbnRleHQgaW50byBjaXBoZXJ0ZXh0IFxyXG4gICAgICogY29uc3QgZW5jcnlwdCA9IHV0aWxzLmVuY3J5cHQoJ2h0dHBzOi8vd3d3Lndpa2lwZWRpYS5vcmcnKTtcclxuICAgICAqIGxvZy5pbmZvKGVuY3J5cHQpOyAvLyB3aWxsIHByaW50IGI3NTdiYTJjMmZjNTBmYmI1MTFkNTk2ODE2Y2EwNmM0ZmE1NmY0ZTk4Y2UyMjJmMzBiYzU4ZDUyNTFlZDYzNWVcclxuICAgICAqIFxyXG4gICAgICogLy8gdG8gZGVjcnlwdCBjaXBoZXJ0ZXh0IGFuZCB1c2UgaXQgaW4gc2NyaXB0ICBcclxuICAgICAqIGNvbnN0IGRlY3J5cHQgPSB1dGlscy5kZWNyeXB0KGVuY3J5cHQpO1xyXG4gICAgICogbG9nLmluZm8oZGVjcnlwdCk7IC8vIHdpbGwgcHJpbnQgRU5DUllQVEVEXHJcbiAgICAgKiBcclxuICAgICAqIHdlYi5pbml0KCk7XHJcbiAgICAgKiB3ZWIub3BlbihkZWNyeXB0KTsgLy8gd2lsbCBvcGVuIGh0dHBzOi8vd3d3Lndpa2lwZWRpYS5vcmdcclxuICAgICAqIFxyXG4gICAgICogLy8gdG8gZ2V0IG9yaWdpbmFsIHBsYWludGV4dCB1c2UgZ2V0RGVjcnlwdFJlc3VsdFxyXG4gICAgICogY29uc3QgdmFsdWUgPSBkZWNyeXB0LmdldERlY3J5cHRSZXN1bHQoKTtcclxuICAgICAqIGxvZy5pbmZvKHZhbHVlKTsgLy93aWxsIHByaW50IGh0dHBzOi8vd3d3Lndpa2lwZWRpYS5vcmdcclxuICAgICAqL1xyXG4gICAgZW5jcnlwdCh0ZXh0KSB7XHJcbiAgICAgICAgcmV0dXJuIGxpYlV0aWxzLmVuY3J5cHQodGV4dCk7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIEBzdW1tYXJ5IFJlYWRzIGRhdGEgZnJvbSBjc3YgZmlsZVxyXG4gICAgICogQGZ1bmN0aW9uIHJlYWRDc3ZcclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBmaWxlUGF0aCAtIEFic29sdXRlIHBhdGggdG8gZmlsZVxyXG4gICAgICogQHBhcmFtIHtPYmplY3Q9fSBvcHRpb25zIC0gW09wdGlvbnNdKGh0dHBzOi8vY3N2LmpzLm9yZy9wYXJzZS9vcHRpb25zLylcclxuICAgICAqL1xyXG4gICAgcmVhZENzdihmaWxlUGF0aCwgb3B0aW9ucyA9IHt9KSB7XHJcbiAgICAgICAgY29uc3QgcGFyc2UgPSByZXF1aXJlKCdjc3YtcGFyc2UvbGliL3N5bmMnKTtcclxuICAgICAgICB2YXIgZnMgPSByZXF1aXJlKCdmcycpO1xyXG4gICAgICAgIHZhciBwYXRoID0gcmVxdWlyZSgncGF0aCcpO1xyXG5cclxuICAgICAgICB2YXIgZXh0ID0gcGF0aC5leHRuYW1lKGZpbGVQYXRoKTtcclxuICAgICAgICBpZiAoZXh0ICE9PSAnLmNzdicgJiYgZXh0ICE9PSAnLnR4dCcpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IE94RXJyb3IoZXJyb3JIZWxwZXIuZXJyb3JDb2RlLkNTVl9FUlJPUiwgJ1Vuc3VwcG9ydGVkIGZpbGUgZXh0ZW5zaW9uOiAnICsgZXh0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHZhciBkYXRhO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGRhdGEgPSBmcy5yZWFkRmlsZVN5bmMoZmlsZVBhdGgsICd1dGY4Jyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgT3hFcnJvcihlcnJvckhlbHBlci5lcnJvckNvZGUuQ1NWX0VSUk9SLCAnVW5hYmxlIHRvIHJlYWQgcGFyYW1ldGVycyBmaWxlOiAnICsgZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDU1ZzIHByb2R1Y2VkIGJ5IE9TIFggRXhjZWwgaGF2ZSBoZWFkZXIgdGVybWluYXRlZCB3aXRoIDBkMGQwYVxyXG4gICAgICAgIGRhdGEgPSBkYXRhLnJlcGxhY2UoL1xcclxcci9nLCAnXFxyJyk7XHJcblxyXG4gICAgICAgIC8vIHN0cmlwIEJPTSBmb3IgVVRGLThcclxuICAgICAgICB2YXIgYm9tID0gZmFsc2U7XHJcbiAgICAgICAgLy8gY2F0Y2hlcyAweEVGQkJCRiAoVVRGLTggQk9NKSBiZWNhdXNlIHRoZSBidWZmZXItdG8tc3RyaW5nXHJcbiAgICAgICAgLy8gY29udmVyc2lvbiB0cmFuc2xhdGVzIGl0IHRvIDB4RkVGRiAoVVRGLTE2IEJPTSlcclxuICAgICAgICBpZiAoZGF0YS5jaGFyQ29kZUF0KDApID09PSAweEZFRkYpIHtcclxuICAgICAgICAgICAgYm9tID0gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHZhciB0YWJsZSA9IHBhcnNlKGRhdGEsIHsgYm9tOiBib20sIGNvbHVtbnM6IHRydWUsIHRyaW06IHRydWUsIC4uLm9wdGlvbnMgfSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgT3hFcnJvcihlcnJvckhlbHBlci5lcnJvckNvZGUuQ1NWX0VSUk9SLCBlLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRhYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgV3JpdGVzIGRhdGEgaW50byBjc3YgZmlsZVxyXG4gICAgICogQGZ1bmN0aW9uIHdyaXRlQ3N2XHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZmlsZVBhdGggLSBBYnNvbHV0ZSBwYXRoIHRvIGZpbGVcclxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGRhdGEgLSBDU1YgZGF0YSBpbiBmb3JtYXQgW3tjb2x1bW5fbmFtZV8xOiAnZm9vJywgY29sdW1uX25hbWVfMjogJ2Jhcid9XVxyXG4gICAgICogQHBhcmFtIHtPYmplY3Q9fSBvcHRpb25zIC0gW09wdGlvbnNdKGh0dHBzOi8vZ2l0aHViLmNvbS9hbnRvbi1ib3Qvb2JqZWN0cy10by1jc3YjYXN5bmMtdG9kaXNrZmlsZW5hbWUtb3B0aW9ucylcclxuICAgICAqL1xyXG4gICAgYXN5bmMgd3JpdGVDc3YoZmlsZVBhdGgsIGRhdGEsIG9wdGlvbnMgPSB7fSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IE9iamVjdHNUb0NzdiA9IHJlcXVpcmUoJ29iamVjdHMtdG8tY3N2Jyk7XHJcbiAgICAgICAgICAgIGNvbnN0IGNzdiA9IG5ldyBPYmplY3RzVG9Dc3YoZGF0YSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGNzdi50b0Rpc2soZmlsZVBhdGgsIHsgYWxsQ29sdW1uczogdHJ1ZSwgLi4ub3B0aW9ucyB9KTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBPeEVycm9yKGVycm9ySGVscGVyLmVycm9yQ29kZS5DU1ZfRVJST1IsIGUubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgUmVhZHMgZGF0YSBmcm9tIFhsc3ggZmlsZVxyXG4gICAgICogQGZ1bmN0aW9uIHJlYWRYbHN4XHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZmlsZVBhdGggLSBBYnNvbHV0ZSBwYXRoIHRvIGZpbGVcclxuICAgICAqIEByZXR1cm4ge0FycmF5fSAtIEFycmF5IG9mIHhsc3ggZGF0YVxyXG4gICAgICovXHJcbiAgICBhc3luYyByZWFkWGxzeChmaWxlUGF0aCkge1xyXG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBFeGNlbFJlYWRlcigpO1xyXG4gICAgICAgIHJldHVybiBhd2FpdCByZWFkZXIucmVhZChmaWxlUGF0aCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAc3VtbWFyeSBVc2VzIHRoZSBETlMgcHJvdG9jb2wgdG8gcmVzb2x2ZSBhIGhvc3QgbmFtZVxyXG4gICAgICogQGZ1bmN0aW9uIGRuc1Jlc29sdmVcclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBob3N0bmFtZSAtIEhvc3QgbmFtZSB0byByZXNvbHZlLlxyXG4gICAgICogQHBhcmFtIHtTdHJpbmc9fSByclR5cGUgLSBSZXNvdXJjZSByZWNvcmQgdHlwZS4gRGVmYXVsdDogJ0EnLlxyXG4gICAgICogQHJldHVybiB7U3RyaW5nW10gfCBPYmplY3R9IC0gQXJyYXkgb3IgT2JqZWN0IG9mIHJlc291cmNlIHJlY29yZHMuIFRoZSB0eXBlIGFuZCBzdHJ1Y3R1cmUgb2YgaW5kaXZpZHVhbCByZXN1bHRzIHZhcnkgYmFzZWQgb24gcnJ0eXBlXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIGRuc1Jlc29sdmUoaG9zdG5hbWUsIHJyVHlwZSA9ICdBJykge1xyXG4gICAgICAgIHV0aWxzLmFzc2VydEFyZ3VtZW50Tm9uRW1wdHlTdHJpbmcoaG9zdG5hbWUsICdob3N0bmFtZScpO1xyXG4gICAgICAgIGNvbnN0IHJyVHlwZXMgPSBbJ0EnLCAnQUFBQScsICdBTlknLCAnQ05BTUUnLCAnTVgnLCAnTkFQVFInLCAnTlMnLCAnUFRSJywgJ1NPQScsICdTUlYnLCAnVFhUJ107XHJcblxyXG4gICAgICAgIGlmICghcnJUeXBlcy5pbmNsdWRlcyhyclR5cGUpKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBPeEVycm9yKGVycm9ySGVscGVyLmVycm9yQ29kZS5TQ1JJUFRfRVJST1IsIGBJbnZhbGlkIGFyZ3VtZW50IC0gJ3JyVHlwZScuIEF2YWlsYWJsZSByclR5cGUgdmFsdWVzOiAke3JyVHlwZXMuam9pbignLCAnKX1gKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGRuc1Byb21pc2VzID0gcmVxdWlyZSgnZG5zJykucHJvbWlzZXM7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGRuc1Byb21pc2VzLnJlc29sdmUoaG9zdG5hbWUsIHJyVHlwZSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgT3hFcnJvcihlcnJvckhlbHBlci5lcnJvckNvZGUuRE5TX0VSUk9SLCBlLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBzdW1tYXJ5IFBhcnNlIFhNTCBkYXRhIHRvIEpTIG9iamVjdCBcclxuICAgICAqIEBmdW5jdGlvbiB4bWxUb0pzb25cclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfEJ1ZmZlcn0geG1sRGF0YVN0ciAtIExpa2UgPHJvb3QgYT1cIm5pY2VcIiBiPVwidmVyeSBuaWNlXCIgPjxhPndvdzwvYT48L3Jvb3Q+XHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW58T2JqZWN0fSBvcHRpb25zIC0gW09wdGlvbnNdKGh0dHBzOi8vZ2l0aHViLmNvbS9OYXR1cmFsSW50ZWxsaWdlbmNlL2Zhc3QteG1sLXBhcnNlci9ibG9iL21hc3Rlci9kb2NzL3Y0LzIuWE1McGFyc2VPcHRpb25zLm1kKSBcclxuICAgICAqL1xyXG4gICAgeG1sVG9Kc29uKHhtbERhdGFTdHIsIG9wdGlvbnMgPSB7fSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlciA9IG5ldyBmYXN0WG1sUGFyc2VyLlhNTFBhcnNlcihvcHRpb25zKTtcclxuICAgICAgICAgICAgY29uc3Qgb3V0cHV0ID0gcGFyc2VyLnBhcnNlKHhtbERhdGFTdHIpO1xyXG4gICAgICAgICAgICByZXR1cm4gb3V0cHV0O1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IE94RXJyb3IoZXJyb3JIZWxwZXIuZXJyb3JDb2RlLlhNTF9FUlJPUiwgZS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
271
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS11dGlscy5qcyJdLCJuYW1lcyI6WyJNT0RVTEVfTkFNRSIsIlV0aWxzTW9kdWxlIiwiT3h5Z2VuTW9kdWxlIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiY29udGV4dCIsInJzIiwibG9nZ2VyIiwibW9kdWxlcyIsInNlcnZpY2VzIiwiX2Fsd2F5c0luaXRpYWxpemVkIiwiX2lzSW5pdGlhbGl6ZWQiLCJuYW1lIiwicGF1c2UiLCJtcyIsInV0aWxzIiwiYXNzZXJ0QXJndW1lbnROdW1iZXJOb25OZWdhdGl2ZSIsImxpYlV0aWxzIiwic2xlZXAiLCJkZWNyeXB0IiwidGV4dCIsImVuY3J5cHQiLCJyZWFkQ3N2IiwiZmlsZVBhdGgiLCJwYXJzZSIsInJlcXVpcmUiLCJmcyIsInBhdGgiLCJleHQiLCJleHRuYW1lIiwiT3hFcnJvciIsImVycm9ySGVscGVyIiwiZXJyb3JDb2RlIiwiQ1NWX0VSUk9SIiwiZGF0YSIsInJlYWRGaWxlU3luYyIsImUiLCJyZXBsYWNlIiwiYm9tIiwiY2hhckNvZGVBdCIsInRhYmxlIiwiY29sdW1ucyIsInRyaW0iLCJtZXNzYWdlIiwid3JpdGVDc3YiLCJPYmplY3RzVG9Dc3YiLCJjc3YiLCJ0b0Rpc2siLCJhbGxDb2x1bW5zIiwicmVhZFhsc3giLCJyZWFkZXIiLCJFeGNlbFJlYWRlciIsInJlYWQiLCJkbnNSZXNvbHZlIiwiaG9zdG5hbWUiLCJyclR5cGUiLCJhc3NlcnRBcmd1bWVudE5vbkVtcHR5U3RyaW5nIiwicnJUeXBlcyIsImluY2x1ZGVzIiwiU0NSSVBUX0VSUk9SIiwiam9pbiIsImRuc1Byb21pc2VzIiwicHJvbWlzZXMiLCJyZXNvbHZlIiwiRE5TX0VSUk9SIiwieG1sVG9Kc29uIiwieG1sRGF0YVN0ciIsInBhcnNlciIsImZhc3RYbWxQYXJzZXIiLCJYTUxQYXJzZXIiLCJvdXRwdXQiLCJYTUxfRVJST1IiLCJ0cmFuc2FjdGlvbiIsInRvU3RyaW5nIiwiZ2xvYmFsIiwiX2xhc3RUcmFuc2FjdGlvbk5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQWVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQSxNQUFNQSxXQUFXLEdBQUcsT0FBcEI7O0FBU2UsTUFBTUMsV0FBTixTQUEwQkMscUJBQTFCLENBQXVDO0FBQ2xEQyxFQUFBQSxXQUFXLENBQUNDLE9BQUQsRUFBVUMsT0FBVixFQUFtQkMsRUFBbkIsRUFBdUJDLE1BQXZCLEVBQStCQyxPQUEvQixFQUF3Q0MsUUFBeEMsRUFBa0Q7QUFDekQsVUFBTUwsT0FBTixFQUFlQyxPQUFmLEVBQXdCQyxFQUF4QixFQUE0QkMsTUFBNUIsRUFBb0NDLE9BQXBDLEVBQTZDQyxRQUE3QztBQUNBLFNBQUtDLGtCQUFMLEdBQTBCLElBQTFCO0FBQ0EsU0FBS0MsY0FBTCxHQUFzQixJQUF0QjtBQUNIO0FBRUQ7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7O0FBQ1ksTUFBSkMsSUFBSSxHQUFHO0FBQ1AsV0FBT1osV0FBUDtBQUNIO0FBRUQ7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7O0FBQ2UsUUFBTGEsS0FBSyxDQUFDQyxFQUFELEVBQUs7QUFDWkMsbUJBQU1DLCtCQUFOLENBQXNDRixFQUF0QyxFQUEwQyxJQUExQzs7QUFDQSxVQUFNRyxjQUFTQyxLQUFULENBQWVKLEVBQWYsQ0FBTjtBQUNIO0FBRUQ7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDSUssRUFBQUEsT0FBTyxDQUFDQyxJQUFELEVBQU87QUFDVixXQUFPSCxjQUFTRSxPQUFULENBQWlCQyxJQUFqQixDQUFQO0FBQ0g7QUFFRDtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNJQyxFQUFBQSxPQUFPLENBQUNELElBQUQsRUFBTztBQUNWLFdBQU9ILGNBQVNJLE9BQVQsQ0FBaUJELElBQWpCLENBQVA7QUFDSDtBQUNEO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0lFLEVBQUFBLE9BQU8sQ0FBQ0MsUUFBRCxFQUFXbkIsT0FBTyxHQUFHLEVBQXJCLEVBQXlCO0FBQzVCLFVBQU1vQixLQUFLLEdBQUdDLE9BQU8sQ0FBQyxvQkFBRCxDQUFyQjs7QUFDQSxRQUFJQyxFQUFFLEdBQUdELE9BQU8sQ0FBQyxJQUFELENBQWhCOztBQUNBLFFBQUlFLElBQUksR0FBR0YsT0FBTyxDQUFDLE1BQUQsQ0FBbEI7O0FBRUEsUUFBSUcsR0FBRyxHQUFHRCxJQUFJLENBQUNFLE9BQUwsQ0FBYU4sUUFBYixDQUFWOztBQUNBLFFBQUlLLEdBQUcsS0FBSyxNQUFSLElBQWtCQSxHQUFHLEtBQUssTUFBOUIsRUFBc0M7QUFDbEMsWUFBTSxJQUFJRSxvQkFBSixDQUFZQyxnQkFBWUMsU0FBWixDQUFzQkMsU0FBbEMsRUFBNkMsaUNBQWlDTCxHQUE5RSxDQUFOO0FBQ0g7O0FBRUQsUUFBSU0sSUFBSjs7QUFDQSxRQUFJO0FBQ0FBLE1BQUFBLElBQUksR0FBR1IsRUFBRSxDQUFDUyxZQUFILENBQWdCWixRQUFoQixFQUEwQixNQUExQixDQUFQO0FBQ0gsS0FGRCxDQUVFLE9BQU9hLENBQVAsRUFBVTtBQUNSLFlBQU0sSUFBSU4sb0JBQUosQ0FBWUMsZ0JBQVlDLFNBQVosQ0FBc0JDLFNBQWxDLEVBQTZDLHFDQUFxQ0csQ0FBbEYsQ0FBTjtBQUNILEtBZjJCLENBaUI1Qjs7O0FBQ0FGLElBQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDRyxPQUFMLENBQWEsT0FBYixFQUFzQixJQUF0QixDQUFQLENBbEI0QixDQW9CNUI7O0FBQ0EsUUFBSUMsR0FBRyxHQUFHLEtBQVYsQ0FyQjRCLENBc0I1QjtBQUNBOztBQUNBLFFBQUlKLElBQUksQ0FBQ0ssVUFBTCxDQUFnQixDQUFoQixNQUF1QixNQUEzQixFQUFtQztBQUMvQkQsTUFBQUEsR0FBRyxHQUFHLElBQU47QUFDSDs7QUFFRCxRQUFJO0FBQ0EsVUFBSUUsS0FBSyxHQUFHaEIsS0FBSyxDQUFDVSxJQUFELEVBQU87QUFBRUksUUFBQUEsR0FBRyxFQUFFQSxHQUFQO0FBQVlHLFFBQUFBLE9BQU8sRUFBRSxJQUFyQjtBQUEyQkMsUUFBQUEsSUFBSSxFQUFFLElBQWpDO0FBQXVDLFdBQUd0QztBQUExQyxPQUFQLENBQWpCO0FBQ0gsS0FGRCxDQUVFLE9BQU9nQyxDQUFQLEVBQVU7QUFDUixZQUFNLElBQUlOLG9CQUFKLENBQVlDLGdCQUFZQyxTQUFaLENBQXNCQyxTQUFsQyxFQUE2Q0csQ0FBQyxDQUFDTyxPQUEvQyxDQUFOO0FBQ0g7O0FBRUQsV0FBT0gsS0FBUDtBQUNIO0FBRUQ7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNrQixRQUFSSSxRQUFRLENBQUNyQixRQUFELEVBQVdXLElBQVgsRUFBaUI5QixPQUFPLEdBQUcsRUFBM0IsRUFBK0I7QUFDekMsUUFBSTtBQUNBLFlBQU15QyxZQUFZLEdBQUdwQixPQUFPLENBQUMsZ0JBQUQsQ0FBNUI7O0FBQ0EsWUFBTXFCLEdBQUcsR0FBRyxJQUFJRCxZQUFKLENBQWlCWCxJQUFqQixDQUFaO0FBQ0EsWUFBTVksR0FBRyxDQUFDQyxNQUFKLENBQVd4QixRQUFYLEVBQXFCO0FBQUV5QixRQUFBQSxVQUFVLEVBQUUsSUFBZDtBQUFvQixXQUFHNUM7QUFBdkIsT0FBckIsQ0FBTjtBQUNILEtBSkQsQ0FJRSxPQUFPZ0MsQ0FBUCxFQUFVO0FBQ1IsWUFBTSxJQUFJTixvQkFBSixDQUFZQyxnQkFBWUMsU0FBWixDQUFzQkMsU0FBbEMsRUFBNkNHLENBQUMsQ0FBQ08sT0FBL0MsQ0FBTjtBQUNIO0FBQ0o7QUFFRDtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNrQixRQUFSTSxRQUFRLENBQUMxQixRQUFELEVBQVc7QUFDckIsVUFBTTJCLE1BQU0sR0FBRyxJQUFJQyx5QkFBSixFQUFmO0FBQ0EsV0FBTyxNQUFNRCxNQUFNLENBQUNFLElBQVAsQ0FBWTdCLFFBQVosQ0FBYjtBQUNIO0FBRUQ7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNvQixRQUFWOEIsVUFBVSxDQUFDQyxRQUFELEVBQVdDLE1BQU0sR0FBRyxHQUFwQixFQUF5QjtBQUNyQ3hDLG1CQUFNeUMsNEJBQU4sQ0FBbUNGLFFBQW5DLEVBQTZDLFVBQTdDOztBQUNBLFVBQU1HLE9BQU8sR0FBRyxDQUFDLEdBQUQsRUFBTSxNQUFOLEVBQWMsS0FBZCxFQUFxQixPQUFyQixFQUE4QixJQUE5QixFQUFvQyxPQUFwQyxFQUE2QyxJQUE3QyxFQUFtRCxLQUFuRCxFQUEwRCxLQUExRCxFQUFpRSxLQUFqRSxFQUF3RSxLQUF4RSxDQUFoQjs7QUFFQSxRQUFJLENBQUNBLE9BQU8sQ0FBQ0MsUUFBUixDQUFpQkgsTUFBakIsQ0FBTCxFQUErQjtBQUMzQixZQUFNLElBQUl6QixvQkFBSixDQUFZQyxnQkFBWUMsU0FBWixDQUFzQjJCLFlBQWxDLEVBQWlELHlEQUF3REYsT0FBTyxDQUFDRyxJQUFSLENBQWEsSUFBYixDQUFtQixFQUE1SCxDQUFOO0FBQ0g7O0FBRUQsVUFBTUMsV0FBVyxHQUFHcEMsT0FBTyxDQUFDLEtBQUQsQ0FBUCxDQUFlcUMsUUFBbkM7O0FBQ0EsUUFBSTtBQUNBLGFBQU8sTUFBTUQsV0FBVyxDQUFDRSxPQUFaLENBQW9CVCxRQUFwQixFQUE4QkMsTUFBOUIsQ0FBYjtBQUNILEtBRkQsQ0FFRSxPQUFPbkIsQ0FBUCxFQUFVO0FBQ1IsWUFBTSxJQUFJTixvQkFBSixDQUFZQyxnQkFBWUMsU0FBWixDQUFzQmdDLFNBQWxDLEVBQTZDNUIsQ0FBQyxDQUFDTyxPQUEvQyxDQUFOO0FBQ0g7QUFDSjtBQUVEO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0lzQixFQUFBQSxTQUFTLENBQUNDLFVBQUQsRUFBYTlELE9BQU8sR0FBRyxFQUF2QixFQUEyQjtBQUNoQyxRQUFJO0FBQ0EsWUFBTStELE1BQU0sR0FBRyxJQUFJQyx1QkFBY0MsU0FBbEIsQ0FBNEJqRSxPQUE1QixDQUFmO0FBQ0EsWUFBTWtFLE1BQU0sR0FBR0gsTUFBTSxDQUFDM0MsS0FBUCxDQUFhMEMsVUFBYixDQUFmO0FBQ0EsYUFBT0ksTUFBUDtBQUNILEtBSkQsQ0FJRSxPQUFPbEMsQ0FBUCxFQUFVO0FBQ1IsWUFBTSxJQUFJTixvQkFBSixDQUFZQyxnQkFBWUMsU0FBWixDQUFzQnVDLFNBQWxDLEVBQTZDbkMsQ0FBQyxDQUFDTyxPQUEvQyxDQUFOO0FBQ0g7QUFDSjtBQUVEO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ3FCLFFBQVg2QixXQUFXLENBQUM1RCxJQUFELEVBQU87QUFDcEIsUUFBSSxDQUFDQSxJQUFMLEVBQVc7QUFDUDtBQUNILEtBSG1CLENBSXBCOzs7QUFDQUEsSUFBQUEsSUFBSSxHQUFHQSxJQUFJLENBQUM2RCxRQUFMLEVBQVA7QUFDQUMsSUFBQUEsTUFBTSxDQUFDQyxvQkFBUCxHQUE4Qi9ELElBQTlCO0FBQ0g7O0FBdE1pRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBuYW1lIHV0aWxzXHJcbiAqIEBkZXNjcmlwdGlvbiBQcm92aWRlcyBtaXNjZWxsYW5lb3VzIHV0aWxpdHkgbWV0aG9kcy5cclxuICovXHJcblxyXG5jb25zdCBNT0RVTEVfTkFNRSA9ICd1dGlscyc7XHJcbmltcG9ydCBmYXN0WG1sUGFyc2VyIGZyb20gJ2Zhc3QteG1sLXBhcnNlcic7XHJcbmltcG9ydCBPeHlnZW5Nb2R1bGUgZnJvbSAnLi4vY29yZS9PeHlnZW5Nb2R1bGUnO1xyXG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCBsaWJVdGlscyBmcm9tICcuLi9saWIvdXRpbCc7XHJcbmltcG9ydCBPeEVycm9yIGZyb20gJy4uL2Vycm9ycy9PeHlnZW5FcnJvcic7XHJcbmltcG9ydCBlcnJvckhlbHBlciBmcm9tICcuLi9lcnJvcnMvaGVscGVyJztcclxuaW1wb3J0IEV4Y2VsUmVhZGVyIGZyb20gJy4uL2xpYi9wYXJhbS1yZWFkZXItZXhjZWwnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVXRpbHNNb2R1bGUgZXh0ZW5kcyBPeHlnZW5Nb2R1bGUge1xyXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucywgY29udGV4dCwgcnMsIGxvZ2dlciwgbW9kdWxlcywgc2VydmljZXMpIHtcclxuICAgICAgICBzdXBlcihvcHRpb25zLCBjb250ZXh0LCBycywgbG9nZ2VyLCBtb2R1bGVzLCBzZXJ2aWNlcyk7XHJcbiAgICAgICAgdGhpcy5fYWx3YXlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICAgKiBAc3VtbWFyeSBHZXRzIG1vZHVsZSBuYW1lXHJcbiAgICAgKiBAZnVuY3Rpb24gbmFtZVxyXG4gICAgICogQHJldHVybiB7U3RyaW5nfSBDb25zdGFudCB2YWx1ZSBcInV0aWxzXCIuXHJcbiAgICAgKi9cclxuICAgIGdldCBuYW1lKCkge1xyXG4gICAgICAgIHJldHVybiBNT0RVTEVfTkFNRTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBzdW1tYXJ5IFBhdXNlIHRlc3QgZXhlY3V0aW9uIGZvciB0aGUgZ2l2ZW4gYW1vdW50IG9mIG1pbGxpc2Vjb25kcy5cclxuICAgICAqIEBmdW5jdGlvbiBwYXVzZVxyXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IG1zIC0gTWlsbGlzZWNvbmRzIHRvIHBhdXNlIHRoZSBleGVjdXRpb24gZm9yLlxyXG4gICAgICovXHJcbiAgICBhc3luYyBwYXVzZShtcykge1xyXG4gICAgICAgIHV0aWxzLmFzc2VydEFyZ3VtZW50TnVtYmVyTm9uTmVnYXRpdmUobXMsICdtcycpO1xyXG4gICAgICAgIGF3YWl0IGxpYlV0aWxzLnNsZWVwKG1zKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBzdW1tYXJ5IERlY3J5cHQgdGV4dFxyXG4gICAgICogQGZ1bmN0aW9uIGRlY3J5cHRcclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSB0ZXh0IC0gVGV4dFxyXG4gICAgICogQHJldHVybiB7T2JqZWN0fSBEZWNyeXB0UmVzdWx0IE9iamVjdCB3aXRoIGdldERlY3J5cHRSZXN1bHQgbWV0aG9kXHJcbiAgICAgKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICAgICAqIC8vIHRvIGVuY3J5cHQgcGxhaW50ZXh0IGludG8gY2lwaGVydGV4dCBcclxuICAgICAqIGNvbnN0IGVuY3J5cHQgPSB1dGlscy5lbmNyeXB0KCdodHRwczovL3d3dy53aWtpcGVkaWEub3JnJyk7XHJcbiAgICAgKiBsb2cuaW5mbyhlbmNyeXB0KTsgLy8gd2lsbCBwcmludCBiNzU3YmEyYzJmYzUwZmJiNTExZDU5NjgxNmNhMDZjNGZhNTZmNGU5OGNlMjIyZjMwYmM1OGQ1MjUxZWQ2MzVlXHJcbiAgICAgKiBcclxuICAgICAqIC8vIHRvIGRlY3J5cHQgY2lwaGVydGV4dCBhbmQgdXNlIGl0IGluIHNjcmlwdCAgXHJcbiAgICAgKiBjb25zdCBkZWNyeXB0ID0gdXRpbHMuZGVjcnlwdChlbmNyeXB0KTtcclxuICAgICAqIGxvZy5pbmZvKGRlY3J5cHQpOyAvLyB3aWxsIHByaW50IEVOQ1JZUFRFRFxyXG4gICAgICogXHJcbiAgICAgKiB3ZWIuaW5pdCgpO1xyXG4gICAgICogd2ViLm9wZW4oZGVjcnlwdCk7IC8vIHdpbGwgb3BlbiBodHRwczovL3d3dy53aWtpcGVkaWEub3JnXHJcbiAgICAgKiBcclxuICAgICAqIC8vIHRvIGdldCBvcmlnaW5hbCBwbGFpbnRleHQgdXNlIGdldERlY3J5cHRSZXN1bHRcclxuICAgICAqIGNvbnN0IHZhbHVlID0gZGVjcnlwdC5nZXREZWNyeXB0UmVzdWx0KCk7XHJcbiAgICAgKiBsb2cuaW5mbyh2YWx1ZSk7IC8vd2lsbCBwcmludCBodHRwczovL3d3dy53aWtpcGVkaWEub3JnXHJcbiAgICAgKi9cclxuICAgIGRlY3J5cHQodGV4dCkge1xyXG4gICAgICAgIHJldHVybiBsaWJVdGlscy5kZWNyeXB0KHRleHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgRW5jcnlwdCB0ZXh0XHJcbiAgICAgKiBAZnVuY3Rpb24gZW5jcnlwdFxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHRleHQgLSBUZXh0XHJcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmd9IEVuY3J5cHRlZCB0ZXh0XHJcbiAgICAgKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICAgICAqIC8vIHRvIGVuY3J5cHQgcGxhaW50ZXh0IGludG8gY2lwaGVydGV4dCBcclxuICAgICAqIGNvbnN0IGVuY3J5cHQgPSB1dGlscy5lbmNyeXB0KCdodHRwczovL3d3dy53aWtpcGVkaWEub3JnJyk7XHJcbiAgICAgKiBsb2cuaW5mbyhlbmNyeXB0KTsgLy8gd2lsbCBwcmludCBiNzU3YmEyYzJmYzUwZmJiNTExZDU5NjgxNmNhMDZjNGZhNTZmNGU5OGNlMjIyZjMwYmM1OGQ1MjUxZWQ2MzVlXHJcbiAgICAgKiBcclxuICAgICAqIC8vIHRvIGRlY3J5cHQgY2lwaGVydGV4dCBhbmQgdXNlIGl0IGluIHNjcmlwdCAgXHJcbiAgICAgKiBjb25zdCBkZWNyeXB0ID0gdXRpbHMuZGVjcnlwdChlbmNyeXB0KTtcclxuICAgICAqIGxvZy5pbmZvKGRlY3J5cHQpOyAvLyB3aWxsIHByaW50IEVOQ1JZUFRFRFxyXG4gICAgICogXHJcbiAgICAgKiB3ZWIuaW5pdCgpO1xyXG4gICAgICogd2ViLm9wZW4oZGVjcnlwdCk7IC8vIHdpbGwgb3BlbiBodHRwczovL3d3dy53aWtpcGVkaWEub3JnXHJcbiAgICAgKiBcclxuICAgICAqIC8vIHRvIGdldCBvcmlnaW5hbCBwbGFpbnRleHQgdXNlIGdldERlY3J5cHRSZXN1bHRcclxuICAgICAqIGNvbnN0IHZhbHVlID0gZGVjcnlwdC5nZXREZWNyeXB0UmVzdWx0KCk7XHJcbiAgICAgKiBsb2cuaW5mbyh2YWx1ZSk7IC8vd2lsbCBwcmludCBodHRwczovL3d3dy53aWtpcGVkaWEub3JnXHJcbiAgICAgKi9cclxuICAgIGVuY3J5cHQodGV4dCkge1xyXG4gICAgICAgIHJldHVybiBsaWJVdGlscy5lbmNyeXB0KHRleHQpO1xyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBAc3VtbWFyeSBSZWFkcyBkYXRhIGZyb20gY3N2IGZpbGVcclxuICAgICAqIEBmdW5jdGlvbiByZWFkQ3N2XHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZmlsZVBhdGggLSBBYnNvbHV0ZSBwYXRoIHRvIGZpbGVcclxuICAgICAqIEBwYXJhbSB7T2JqZWN0PX0gb3B0aW9ucyAtIFtPcHRpb25zXShodHRwczovL2Nzdi5qcy5vcmcvcGFyc2Uvb3B0aW9ucy8pXHJcbiAgICAgKi9cclxuICAgIHJlYWRDc3YoZmlsZVBhdGgsIG9wdGlvbnMgPSB7fSkge1xyXG4gICAgICAgIGNvbnN0IHBhcnNlID0gcmVxdWlyZSgnY3N2LXBhcnNlL2xpYi9zeW5jJyk7XHJcbiAgICAgICAgdmFyIGZzID0gcmVxdWlyZSgnZnMnKTtcclxuICAgICAgICB2YXIgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcclxuXHJcbiAgICAgICAgdmFyIGV4dCA9IHBhdGguZXh0bmFtZShmaWxlUGF0aCk7XHJcbiAgICAgICAgaWYgKGV4dCAhPT0gJy5jc3YnICYmIGV4dCAhPT0gJy50eHQnKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBPeEVycm9yKGVycm9ySGVscGVyLmVycm9yQ29kZS5DU1ZfRVJST1IsICdVbnN1cHBvcnRlZCBmaWxlIGV4dGVuc2lvbjogJyArIGV4dCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgZGF0YTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBkYXRhID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCAndXRmOCcpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IE94RXJyb3IoZXJyb3JIZWxwZXIuZXJyb3JDb2RlLkNTVl9FUlJPUiwgJ1VuYWJsZSB0byByZWFkIHBhcmFtZXRlcnMgZmlsZTogJyArIGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ1NWcyBwcm9kdWNlZCBieSBPUyBYIEV4Y2VsIGhhdmUgaGVhZGVyIHRlcm1pbmF0ZWQgd2l0aCAwZDBkMGFcclxuICAgICAgICBkYXRhID0gZGF0YS5yZXBsYWNlKC9cXHJcXHIvZywgJ1xccicpO1xyXG5cclxuICAgICAgICAvLyBzdHJpcCBCT00gZm9yIFVURi04XHJcbiAgICAgICAgdmFyIGJvbSA9IGZhbHNlO1xyXG4gICAgICAgIC8vIGNhdGNoZXMgMHhFRkJCQkYgKFVURi04IEJPTSkgYmVjYXVzZSB0aGUgYnVmZmVyLXRvLXN0cmluZ1xyXG4gICAgICAgIC8vIGNvbnZlcnNpb24gdHJhbnNsYXRlcyBpdCB0byAweEZFRkYgKFVURi0xNiBCT00pXHJcbiAgICAgICAgaWYgKGRhdGEuY2hhckNvZGVBdCgwKSA9PT0gMHhGRUZGKSB7XHJcbiAgICAgICAgICAgIGJvbSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICB2YXIgdGFibGUgPSBwYXJzZShkYXRhLCB7IGJvbTogYm9tLCBjb2x1bW5zOiB0cnVlLCB0cmltOiB0cnVlLCAuLi5vcHRpb25zIH0pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IE94RXJyb3IoZXJyb3JIZWxwZXIuZXJyb3JDb2RlLkNTVl9FUlJPUiwgZS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0YWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBzdW1tYXJ5IFdyaXRlcyBkYXRhIGludG8gY3N2IGZpbGVcclxuICAgICAqIEBmdW5jdGlvbiB3cml0ZUNzdlxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGZpbGVQYXRoIC0gQWJzb2x1dGUgcGF0aCB0byBmaWxlXHJcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBkYXRhIC0gQ1NWIGRhdGEgaW4gZm9ybWF0IFt7Y29sdW1uX25hbWVfMTogJ2ZvbycsIGNvbHVtbl9uYW1lXzI6ICdiYXInfV1cclxuICAgICAqIEBwYXJhbSB7T2JqZWN0PX0gb3B0aW9ucyAtIFtPcHRpb25zXShodHRwczovL2dpdGh1Yi5jb20vYW50b24tYm90L29iamVjdHMtdG8tY3N2I2FzeW5jLXRvZGlza2ZpbGVuYW1lLW9wdGlvbnMpXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIHdyaXRlQ3N2KGZpbGVQYXRoLCBkYXRhLCBvcHRpb25zID0ge30pIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBPYmplY3RzVG9Dc3YgPSByZXF1aXJlKCdvYmplY3RzLXRvLWNzdicpO1xyXG4gICAgICAgICAgICBjb25zdCBjc3YgPSBuZXcgT2JqZWN0c1RvQ3N2KGRhdGEpO1xyXG4gICAgICAgICAgICBhd2FpdCBjc3YudG9EaXNrKGZpbGVQYXRoLCB7IGFsbENvbHVtbnM6IHRydWUsIC4uLm9wdGlvbnMgfSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgT3hFcnJvcihlcnJvckhlbHBlci5lcnJvckNvZGUuQ1NWX0VSUk9SLCBlLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBzdW1tYXJ5IFJlYWRzIGRhdGEgZnJvbSBYbHN4IGZpbGVcclxuICAgICAqIEBmdW5jdGlvbiByZWFkWGxzeFxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGZpbGVQYXRoIC0gQWJzb2x1dGUgcGF0aCB0byBmaWxlXHJcbiAgICAgKiBAcmV0dXJuIHtBcnJheX0gLSBBcnJheSBvZiB4bHN4IGRhdGFcclxuICAgICAqL1xyXG4gICAgYXN5bmMgcmVhZFhsc3goZmlsZVBhdGgpIHtcclxuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRXhjZWxSZWFkZXIoKTtcclxuICAgICAgICByZXR1cm4gYXdhaXQgcmVhZGVyLnJlYWQoZmlsZVBhdGgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgVXNlcyB0aGUgRE5TIHByb3RvY29sIHRvIHJlc29sdmUgYSBob3N0IG5hbWVcclxuICAgICAqIEBmdW5jdGlvbiBkbnNSZXNvbHZlXHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gaG9zdG5hbWUgLSBIb3N0IG5hbWUgdG8gcmVzb2x2ZS5cclxuICAgICAqIEBwYXJhbSB7U3RyaW5nPX0gcnJUeXBlIC0gUmVzb3VyY2UgcmVjb3JkIHR5cGUuIERlZmF1bHQ6ICdBJy5cclxuICAgICAqIEByZXR1cm4ge1N0cmluZ1tdIHwgT2JqZWN0fSAtIEFycmF5IG9yIE9iamVjdCBvZiByZXNvdXJjZSByZWNvcmRzLiBUaGUgdHlwZSBhbmQgc3RydWN0dXJlIG9mIGluZGl2aWR1YWwgcmVzdWx0cyB2YXJ5IGJhc2VkIG9uIHJydHlwZVxyXG4gICAgICovXHJcbiAgICBhc3luYyBkbnNSZXNvbHZlKGhvc3RuYW1lLCByclR5cGUgPSAnQScpIHtcclxuICAgICAgICB1dGlscy5hc3NlcnRBcmd1bWVudE5vbkVtcHR5U3RyaW5nKGhvc3RuYW1lLCAnaG9zdG5hbWUnKTtcclxuICAgICAgICBjb25zdCByclR5cGVzID0gWydBJywgJ0FBQUEnLCAnQU5ZJywgJ0NOQU1FJywgJ01YJywgJ05BUFRSJywgJ05TJywgJ1BUUicsICdTT0EnLCAnU1JWJywgJ1RYVCddO1xyXG5cclxuICAgICAgICBpZiAoIXJyVHlwZXMuaW5jbHVkZXMocnJUeXBlKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgT3hFcnJvcihlcnJvckhlbHBlci5lcnJvckNvZGUuU0NSSVBUX0VSUk9SLCBgSW52YWxpZCBhcmd1bWVudCAtICdyclR5cGUnLiBBdmFpbGFibGUgcnJUeXBlIHZhbHVlczogJHtyclR5cGVzLmpvaW4oJywgJyl9YCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBkbnNQcm9taXNlcyA9IHJlcXVpcmUoJ2RucycpLnByb21pc2VzO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBkbnNQcm9taXNlcy5yZXNvbHZlKGhvc3RuYW1lLCByclR5cGUpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IE94RXJyb3IoZXJyb3JIZWxwZXIuZXJyb3JDb2RlLkROU19FUlJPUiwgZS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAc3VtbWFyeSBQYXJzZSBYTUwgZGF0YSB0byBKUyBvYmplY3QgXHJcbiAgICAgKiBAZnVuY3Rpb24geG1sVG9Kc29uXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ3xCdWZmZXJ9IHhtbERhdGFTdHIgLSBMaWtlIDxyb290IGE9XCJuaWNlXCIgYj1cInZlcnkgbmljZVwiID48YT53b3c8L2E+PC9yb290PlxyXG4gICAgICogQHBhcmFtIHtib29sZWFufE9iamVjdH0gb3B0aW9ucyAtIFtPcHRpb25zXShodHRwczovL2dpdGh1Yi5jb20vTmF0dXJhbEludGVsbGlnZW5jZS9mYXN0LXhtbC1wYXJzZXIvYmxvYi9tYXN0ZXIvZG9jcy92NC8yLlhNTHBhcnNlT3B0aW9ucy5tZCkgXHJcbiAgICAgKi9cclxuICAgIHhtbFRvSnNvbih4bWxEYXRhU3RyLCBvcHRpb25zID0ge30pIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJzZXIgPSBuZXcgZmFzdFhtbFBhcnNlci5YTUxQYXJzZXIob3B0aW9ucyk7XHJcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dCA9IHBhcnNlci5wYXJzZSh4bWxEYXRhU3RyKTtcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dDtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBPeEVycm9yKGVycm9ySGVscGVyLmVycm9yQ29kZS5YTUxfRVJST1IsIGUubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgT3BlbnMgbmV3IHRyYW5zYWN0aW9uLlxyXG4gICAgICogQGRlc2NyaXB0aW9uIFRoZSB0cmFuc2FjdGlvbiB3aWxsIHBlcnNpc3QgdW50aWxsIGEgbmV3IG9uZSBpcyBvcGVuZWQuIFRyYW5zYWN0aW9uIG5hbWVzIG11c3QgYmUgdW5pcXVlLlxyXG4gICAgICogQGZ1bmN0aW9uIHRyYW5zYWN0aW9uXHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gbmFtZSAtIFRoZSB0cmFuc2FjdGlvbiBuYW1lLlxyXG4gICAgICovXHJcbiAgICBhc3luYyB0cmFuc2FjdGlvbihuYW1lKSB7XHJcbiAgICAgICAgaWYgKCFuYW1lKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8ganVzdCBpbiBjYXNlIHVzZXIgcGFzc2VkIGEgY29tcGxleCBvYmplY3QgYnkgbWlzdGFrZVxyXG4gICAgICAgIG5hbWUgPSBuYW1lLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgZ2xvYmFsLl9sYXN0VHJhbnNhY3Rpb25OYW1lID0gbmFtZTtcclxuICAgIH1cclxufSJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oxygen-cli",
3
- "version": "1.29.1",
3
+ "version": "1.30.0",
4
4
  "description": "Automation framework for testing modern applications",
5
5
  "main": "./build/index.js",
6
6
  "bin": {