/******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "./src/r3/index.js"); /******/ }) /************************************************************************/ /******/ ({ /***/ "./src/r3/index.js": /*!*************************!*\ !*** ./src/r3/index.js ***! \*************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { var R3 = __webpack_require__(/*! ./r3.js */ "./src/r3/r3.js"); R3.System.Linking.start(); R3.System.Socket.start(); module.exports = R3; /***/ }), /***/ "./src/r3/r3-event.js": /*!****************************!*\ !*** ./src/r3/r3-event.js ***! \****************************/ /*! no static exports found */ /***/ (function(module, exports) { throw new Error("Module build failed (from ./node_modules/babel-loader/lib/index.js):\nSyntaxError: /app/src/r3/r3-event.js: Identifier 'Event' has already been declared. (20:6)\n\n 18 | **/\n 19 |\n> 20 | class Event {\n | ^\n 21 |\n 22 | //CONSTRUCTOR_TEMPLATE_START\n 23 | constructor(options) {\n at Parser._raise (/app/node_modules/@babel/parser/lib/index.js:816:17)\n at Parser.raiseWithData (/app/node_modules/@babel/parser/lib/index.js:809:17)\n at Parser.raise (/app/node_modules/@babel/parser/lib/index.js:770:17)\n at ScopeHandler.checkRedeclarationInScope (/app/node_modules/@babel/parser/lib/index.js:1432:12)\n at ScopeHandler.declareName (/app/node_modules/@babel/parser/lib/index.js:1398:12)\n at Parser.checkLVal (/app/node_modules/@babel/parser/lib/index.js:10431:24)\n at Parser.parseClassId (/app/node_modules/@babel/parser/lib/index.js:13617:14)\n at Parser.parseClass (/app/node_modules/@babel/parser/lib/index.js:13301:10)\n at Parser.parseStatementContent (/app/node_modules/@babel/parser/lib/index.js:12587:21)\n at Parser.parseStatement (/app/node_modules/@babel/parser/lib/index.js:12545:17)"); /***/ }), /***/ "./src/r3/r3-r3-object.js": /*!********************************!*\ !*** ./src/r3/r3-r3-object.js ***! \********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var Utils = __webpack_require__(!(function webpackMissingModule() { var e = new Error("Cannot find module 'r3-utils'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())); var Event = __webpack_require__(!(function webpackMissingModule() { var e = new Error("Cannot find module 'r3-event.js'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())); /** OPTIONS_START OPTIONS_END INSTANCE_OPTIONS_MAPPING_START INSTANCE_OPTIONS_MAPPING_END LINKED_OBJECTS_START LINKED_OBJECTS_END EXCLUDED_FROM_INSTANCE_OPTIONS_START EXCLUDED_FROM_INSTANCE_OPTIONS_END **/ var R3Object = /*#__PURE__*/function (_Event) { _inherits(R3Object, _Event); var _super = _createSuper(R3Object); //CONSTRUCTOR_EXTENDS_TEMPLATE_START function R3Object(options) { var _this; _classCallCheck(this, R3Object); if (Utils.UndefinedOrNull(options)) { options = {}; } options.id = Utils.RandomId(10); options.name = 'R3Object (' + options.id + ')'; _this = _super.call(this, options); _this.emit(Event.OBJECT_CREATED, _assertThisInitialized(_this)); //OPTIONS_INIT_START //OPTIONS_INIT_END //CUSTOM_OPTIONS_INIT_START //CUSTOM_OPTIONS_INIT_END Object.assign(_assertThisInitialized(_this), options); //CUSTOM_BEFORE_INIT_START //CUSTOM_BEFORE_INIT_END _this.emit(Event.OBJECT_INITIALIZED, _assertThisInitialized(_this)); return _this; } //CONSTRUCTOR_EXTENDS_TEMPLATE_END //CREATE_INSTANCE_TEMPLATE_START _createClass(R3Object, [{ key: "createInstance", value: function createInstance() { //CREATE_INSTANCE_BEFORE_START _get(_getPrototypeOf(R3Object.prototype), "createInstance", this).call(this); this.emit(Event.CREATE_INSTANCE, this); if (this.runtime === 'graphics') { this.graphics.createInstance({//CREATE_INSTANCE_OPTIONS_START //CREATE_INSTANCE_OPTIONS_END }, this); } //CREATE_INSTANCE_BEFORE_END //CUSTOM_CREATE_INSTANCE_START //CUSTOM_CREATE_INSTANCE_END //CREATE_INSTANCE_AFTER_START this.emit(Event.INSTANCE_CREATED, this); //CREATE_INSTANCE_AFTER_END } //CREATE_INSTANCE_TEMPLATE_END //UPDATE_INSTANCE_TEMPLATE_START }, { key: "updateInstance", value: function updateInstance(property) { //UPDATE_INSTANCE_BEFORE_START this.emit(Event.UPDATE_INSTANCE_BEFORE, this); //UPDATE_INSTANCE_BEFORE_END //UPDATE_INSTANCE_OPTIONS_START //UPDATE_INSTANCE_OPTIONS_END //CUSTOM_UPDATE_INSTANCE_START //CUSTOM_UPDATE_INSTANCE_END //UPDATE_INSTANCE_AFTER_START this.emit(Event.UPDATE_INSTANCE_AFTER, this); //UPDATE_INSTANCE_AFTER_END } //UPDATE_INSTANCE_TEMPLATE_END //UPDATE_FROM_INSTANCE_TEMPLATE_START }, { key: "updateFromInstance", value: function updateFromInstance(property) { //UPDATE_FROM_INSTANCE_BEFORE_START this.emit(Event.UPDATE_FROM_INSTANCE_BEFORE, this); //UPDATE_FROM_INSTANCE_BEFORE_END //UPDATE_FROM_INSTANCE_OPTIONS_START //UPDATE_FROM_INSTANCE_OPTIONS_END //CUSTOM_UPDATE_FROM_INSTANCE_START //CUSTOM_UPDATE_FROM_INSTANCE_END //UPDATE_FROM_INSTANCE_AFTER_START this.emit(Event.UPDATE_FROM_INSTANCE_AFTER, this); //UPDATE_FROM_INSTANCE_AFTER_END } //UPDATE_FROM_INSTANCE_TEMPLATE_END //DISPOSE_TEMPLATE_START }, { key: "dispose", value: function dispose() { //DISPOSE_BEFORE_START this.emit(Event.DISPOSE_OBJECT, this); //DISPOSE_BEFORE_END //CUSTOM_DISPOSE_START //CUSTOM_DISPOSE_END //DISPOSE_AFTER_START this.emit(Event.OBJECT_DISPOSED, this); //DISPOSE_AFTER_END } //DISPOSE_TEMPLATE_END //DISPOSE_INSTANCE_TEMPLATE_START }, { key: "disposeInstance", value: function disposeInstance() { //DISPOSE_INSTANCE_BEFORE_START _get(_getPrototypeOf(R3Object.prototype), "disposeInstance", this).call(this); this.emit(Event.DISPOSE_INSTANCE, this); //DISPOSE_INSTANCE_BEFORE_END //CUSTOM_DISPOSE_INSTANCE_START //CUSTOM_DISPOSE_INSTANCE_END //DISPOSE_INSTANCE_AFTER_START this.emit(Event.INSTANCE_DISPOSED, this); //DISPOSE_INSTANCE_AFTER_END } //DISPOSE_INSTANCE_TEMPLATE_END //CUSTOM_IMPLEMENTATION_START //CUSTOM_IMPLEMENTATION_END }]); return R3Object; }(Event); //CUSTOM_OUT_OF_CLASS_IMPLEMENTATION_START //CUSTOM_OUT_OF_CLASS_IMPLEMENTATION_END module.exports = R3Object; /***/ }), /***/ "./src/r3/r3-system/index.js": /*!***********************************!*\ !*** ./src/r3/r3-system/index.js ***! \***********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { var System = __webpack_require__(/*! ./r3-system.js */ "./src/r3/r3-system/r3-system.js"); var SystemLinking = __webpack_require__(/*! ./r3-system-linking.js */ "./src/r3/r3-system/r3-system-linking.js"); var SystemSocket = __webpack_require__(/*! ./r3-system-socket.js */ "./src/r3/r3-system/r3-system-socket.js"); module.exports = { System: System, SystemLinking: SystemLinking, SystemSocket: SystemSocket }; /***/ }), /***/ "./src/r3/r3-system/r3-system-linking.js": /*!***********************************************!*\ !*** ./src/r3/r3-system/r3-system-linking.js ***! \***********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var System = __webpack_require__(/*! ./r3-system */ "./src/r3/r3-system/r3-system.js"); var R3Object = __webpack_require__(/*! ../r3-r3-object */ "./src/r3/r3-r3-object.js"); var Event = __webpack_require__(/*! ../r3-event */ "./src/r3/r3-event.js"); var LinkingSystem = /*#__PURE__*/function (_System) { _inherits(LinkingSystem, _System); var _super = _createSuper(LinkingSystem); function LinkingSystem() { _classCallCheck(this, LinkingSystem); return _super.apply(this, arguments); } _createClass(LinkingSystem, null, [{ key: "start", value: function start() { _get(_getPrototypeOf(LinkingSystem), "start", this).call(this); console.log('starting linking system'); Event.Subscribe(Event.OBJECT_CREATED, function () { console.log('linking system discovered an object'); }); var object = new R3Object(); return true; } }]); return LinkingSystem; }(System); module.exports = LinkingSystem; /***/ }), /***/ "./src/r3/r3-system/r3-system-socket.js": /*!**********************************************!*\ !*** ./src/r3/r3-system/r3-system-socket.js ***! \**********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var System = __webpack_require__(/*! ./r3-system.js */ "./src/r3/r3-system/r3-system.js"); var SocketSystem = /*#__PURE__*/function (_System) { _inherits(SocketSystem, _System); var _super = _createSuper(SocketSystem); function SocketSystem() { _classCallCheck(this, SocketSystem); return _super.apply(this, arguments); } _createClass(SocketSystem, null, [{ key: "start", value: function start() { _get(_getPrototypeOf(SocketSystem), "start", this).call(this); console.log('starting socket system'); return true; } }]); return SocketSystem; }(System); module.exports = SocketSystem; /***/ }), /***/ "./src/r3/r3-system/r3-system.js": /*!***************************************!*\ !*** ./src/r3/r3-system/r3-system.js ***! \***************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var System = /*#__PURE__*/function () { function System() { _classCallCheck(this, System); } _createClass(System, null, [{ key: "start", value: function start() { console.log('starting a system'); } }]); return System; }(); module.exports = System; /***/ }), /***/ "./src/r3/r3.js": /*!**********************!*\ !*** ./src/r3/r3.js ***! \**********************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var _require = __webpack_require__(/*! ./r3-system */ "./src/r3/r3-system/index.js"), System = _require.System, SystemLinking = _require.SystemLinking, SystemSocket = _require.SystemSocket; var R3Object = __webpack_require__(/*! ./r3-r3-object */ "./src/r3/r3-r3-object.js"); var R3 = /*#__PURE__*/function () { function R3() { _classCallCheck(this, R3); } _createClass(R3, null, [{ key: "version", value: function version() { return 'Sun Jun 20 2021 11:02:42 GMT+0000 (Coordinated Universal Time)'; } }]); return R3; }(); R3.R3Object = R3Object; R3.System = System; R3.System.Linking = SystemLinking; R3.System.Socket = SystemSocket; module.exports = R3; /***/ }) /******/ }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vc3JjL3IzL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9yMy9yMy1yMy1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3IzL3IzLXN5c3RlbS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvcjMvcjMtc3lzdGVtL3IzLXN5c3RlbS1saW5raW5nLmpzIiwid2VicGFjazovLy8uL3NyYy9yMy9yMy1zeXN0ZW0vcjMtc3lzdGVtLXNvY2tldC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvcjMvcjMtc3lzdGVtL3IzLXN5c3RlbS5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvcjMvcjMuanMiXSwibmFtZXMiOlsiUjMiLCJyZXF1aXJlIiwiU3lzdGVtIiwiTGlua2luZyIsInN0YXJ0IiwiU29ja2V0IiwibW9kdWxlIiwiZXhwb3J0cyIsIlV0aWxzIiwiRXZlbnQiLCJSM09iamVjdCIsIm9wdGlvbnMiLCJVbmRlZmluZWRPck51bGwiLCJpZCIsIlJhbmRvbUlkIiwibmFtZSIsImVtaXQiLCJPQkpFQ1RfQ1JFQVRFRCIsIk9iamVjdCIsImFzc2lnbiIsIk9CSkVDVF9JTklUSUFMSVpFRCIsIkNSRUFURV9JTlNUQU5DRSIsInJ1bnRpbWUiLCJncmFwaGljcyIsImNyZWF0ZUluc3RhbmNlIiwiSU5TVEFOQ0VfQ1JFQVRFRCIsInByb3BlcnR5IiwiVVBEQVRFX0lOU1RBTkNFX0JFRk9SRSIsIlVQREFURV9JTlNUQU5DRV9BRlRFUiIsIlVQREFURV9GUk9NX0lOU1RBTkNFX0JFRk9SRSIsIlVQREFURV9GUk9NX0lOU1RBTkNFX0FGVEVSIiwiRElTUE9TRV9PQkpFQ1QiLCJPQkpFQ1RfRElTUE9TRUQiLCJESVNQT1NFX0lOU1RBTkNFIiwiSU5TVEFOQ0VfRElTUE9TRUQiLCJTeXN0ZW1MaW5raW5nIiwiU3lzdGVtU29ja2V0IiwiTGlua2luZ1N5c3RlbSIsImNvbnNvbGUiLCJsb2ciLCJTdWJz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QixDOzs7Ozs7Ozs7Ozs7Ozs7OztBQ1JBLGVBQThDRCxtQkFBTyxDQUFDLGdEQUFELENBQXJEO0FBQUEsSUFBT0MsTUFBUCxZQUFPQSxNQUFQO0FBQUEsSUFBZWlDLGFBQWYsWUFBZUEsYUFBZjtBQUFBLElBQThCQyxZQUE5QixZQUE4QkEsWUFBOUI7O0FBQ0EsSUFBTTFCLFFBQVEsR0FBR1QsbUJBQU8sQ0FBQyxnREFBRCxDQUF4Qjs7SUFFTUQsRTtBQUVMLGdCQUFjO0FBQUE7QUFDYjs7OztXQUVELG1CQUFpQjtBQUNoQixhQUFPLFVBQVA7QUFDQTs7Ozs7O0FBSUZBLEVBQUUsQ0FBQ1UsUUFBSCxHQUFnQkEsUUFBaEI7QUFDQVYsRUFBRSxDQUFDRSxNQUFILEdBQWVBLE1BQWY7QUFDQUYsRUFBRSxDQUFDRSxNQUFILENBQVVDLE9BQVYsR0FBb0JnQyxhQUFwQjtBQUNBbkMsRUFBRSxDQUFDRSxNQUFILENBQVVHLE1BQVYsR0FBbUIrQixZQUFuQjtBQUVBOUIsTUFBTSxDQUFDQyxPQUFQLEdBQWlCUCxFQUFqQixDIiwiZmlsZSI6InIzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZ2V0dGVyIH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuIFx0XHR9XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3RcbiBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuIFx0Ly8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4gXHQvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3RcbiBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbiBcdF9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG4gXHRcdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IF9fd2VicGFja19yZXF1aXJlX18odmFsdWUpO1xuIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuIFx0XHRpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuIFx0XHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7XG4gXHRcdGlmKG1vZGUgJiAyICYmIHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgZm9yKHZhciBrZXkgaW4gdmFsdWUpIF9fd2VicGFja19yZXF1aXJlX18uZChucywga2V5LCBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIHZhbHVlW2tleV07IH0uYmluZChudWxsLCBrZXkpKTtcbiBcdFx0cmV0dXJuIG5zO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IFwiLi9zcmMvcjMvaW5kZXguanNcIik7XG4iLCJjb25zdCBSMyA9IHJlcXVpcmUoJy4vcjMuanMnKTtcblxuUjMuU3lzdGVtLkxpbmtpbmcuc3RhcnQoKTtcblIzLlN5c3RlbS5Tb2NrZXQuc3RhcnQoKTtcblxubW9kdWxlLmV4cG9ydHMgPSBSMztcbiIsImNvbnN0IFV0aWxzID0gcmVxdWlyZSgncjMtdXRpbHMnKTtcbmNvbnN0IEV2ZW50ID0gcmVxdWlyZSgncjMtZXZlbnQuanMnKTtcblxuLyoqXG5cbiBPUFRJT05TX1NUQVJUXG4gT1BUSU9OU19FTkRcblxuIElOU1RBTkNFX09QVElPTlNfTUFQUElOR19TVEFSVFxuIElOU1RBTkNFX09QVElPTlNfTUFQUElOR19FTkRcblxuIExJTktFRF9PQkpFQ1RTX1NUQVJUXG4gTElOS0VEX09CSkVDVFNfRU5EXG5cbiBFWENMVURFRF9GUk9NX0lOU1RBTkNFX09QVElPTlNfU1RBUlRcbiBFWENMVURFRF9GUk9NX0lOU1RBTkNFX09QVElPTlNfRU5EXG5cbiAqKi9cblxuY2xhc3MgUjNPYmplY3QgZXh0ZW5kcyBFdmVudCB7XG5cbiAgLy9DT05TVFJVQ1RPUl9FWFRFTkRTX1RFTVBMQVRFX1NUQVJUXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcblxuICAgIGlmIChVdGlscy5VbmRlZmluZWRPck51bGwob3B0aW9ucykpIHtcbiAgICAgIG9wdGlvbnMgPSB7fTtcbiAgICB9XG5cbiAgICBvcHRpb25zLmlkID0gVXRpbHMuUmFuZG9tSWQoMTApO1xuICAgIG9wdGlvbnMubmFtZSA9ICdSM09iamVjdCAoJyArIG9wdGlvbnMuaWQgKyAnKSc7XG5cbiAgICBzdXBlcihvcHRpb25zKTtcblxuICAgIHRoaXMuZW1pdChFdmVudC5PQkpFQ1RfQ1JFQVRFRCwgdGhpcyk7XG5cbiAgICAvL09QVElPTlNfSU5JVF9TVEFSVFxuXHRcdC8vT1BUSU9OU19JTklUX0VORFxuXG4gICAgLy9DVVNUT01fT1BUSU9OU19JTklUX1NUQVJUXG4gICAgLy9DVVNUT01fT1BUSU9OU19JTklUX0VORFxuXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBvcHRpb25zKTtcblxuICAgIC8vQ1VTVE9NX0JFRk9SRV9JTklUX1NUQVJUXG4gICAgLy9DVVNUT01fQkVGT1JFX0lOSVRfRU5EXG5cbiAgICB0aGlzLmVtaXQoRXZlbnQuT0JKRUNUX0lOSVRJQUxJWkVELCB0aGlzKTtcbiAgfVxuXHQvL0NPTlNUUlVDVE9SX0VYVEVORFNfVEVNUExBVEVfRU5EXG5cbiAgLy9DUkVBVEVfSU5TVEFOQ0VfVEVNUExBVEVfU1RBUlRcbiAgY3JlYXRlSW5zdGFuY2UoKSB7XG5cbiAgICAvL0NSRUFURV9JTlNUQU5DRV9CRUZPUkVfU1RBUlRcbiAgICBzdXBlci5jcmVhdGVJbnN0YW5jZSgpO1xuICAgIHRoaXMuZW1pdChFdmVudC5DUkVBVEVfSU5TVEFOQ0UsIHRoaXMpO1xuXG4gICAgaWYgKHRoaXMucnVudGltZSA9PT0gJ2dyYXBoaWNzJykge1xuICAgICAgdGhpcy5ncmFwaGljcy5jcmVhdGVJbnN0YW5jZShcbiAgICAgICAge1xuICAgICAgICAgIC8vQ1JFQVRFX0lOU1RBTkNFX09QVElPTlNfU1RBUlRcblxuXHRcdFx0XHRcdC8vQ1JFQVRFX0lOU1RBTkNFX09QVElPTlNfRU5EXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXNcbiAgICAgIClcbiAgICB9XG5cdFx0Ly9DUkVBVEVfSU5TVEFOQ0VfQkVGT1JFX0VORFxuXG4gICAgLy9DVVNUT01fQ1JFQVRFX0lOU1RBTkNFX1NUQVJUXG4gICAgLy9DVVNUT01fQ1JFQVRFX0lOU1RBTkNFX0VORFxuXG4gICAgLy9DUkVBVEVfSU5TVEFOQ0VfQUZURVJfU1RBUlRcbiAgICB0aGlzLmVtaXQoRXZlbnQuSU5TVEFOQ0VfQ1JFQVRFRCwgdGhpcyk7XG5cdFx0Ly9DUkVBVEVfSU5TVEFOQ0VfQUZURVJfRU5EXG5cbiAgfVxuXHQvL0NSRUFURV9JTlNUQU5DRV9URU1QTEFURV9FTkRcblxuICAvL1VQREFURV9JTlNUQU5DRV9URU1QTEFURV9TVEFSVFxuICB1cGRhdGVJbnN0YW5jZShwcm9wZXJ0eSkge1xuXG4gICAgLy9VUERBVEVfSU5TVEFOQ0VfQkVGT1JFX1NUQVJUXG4gICAgdGhpcy5lbWl0KEV2ZW50LlVQREFURV9JTlNUQU5DRV9CRUZPUkUsIHRoaXMpO1xuXHRcdC8vVVBEQVRFX0lOU1RBTkNFX0JFRk9SRV9FTkRcblxuICAgIC8vVVBEQVRFX0lOU1RBTkNFX09QVElPTlNfU1RBUlRcblx0XHQvL1VQREFURV9JTlNUQU5DRV9PUFRJT05TX0VORFxuXG4gICAgLy9DVVNUT01fVVBEQVRFX0lOU1RBTkNFX1NUQVJUXG4gICAgLy9DVVNUT01fVVBEQVRFX0lOU1RBTkNFX0VORFxuXG4gICAgLy9VUERBVEVfSU5TVEFOQ0VfQUZURVJfU1RBUlRcbiAgICB0aGlzLmVtaXQoRXZlbnQuVVBEQVRFX0lOU1RBTkNFX0FGVEVSLCB0aGlzKTtcblx0XHQvL1VQREFURV9JTlNUQU5DRV9BRlRFUl9FTkRcblxuICB9XG5cdC8vVVBEQVRFX0lOU1RBTkNFX1RFTVBMQVRFX0VORFxuXG4gIC8vVVBEQVRFX0ZST01fSU5TVEFOQ0VfVEVNUExBVEVfU1RBUlRcbiAgdXBkYXRlRnJvbUluc3RhbmNlKHByb3BlcnR5KSB7XG5cbiAgICAvL1VQREFURV9GUk9NX0lOU1RBTkNFX0JFRk9SRV9TVEFSVFxuICAgIHRoaXMuZW1pdChFdmVudC5VUERBVEVfRlJPTV9JTlNUQU5DRV9CRUZPUkUsIHRoaXMpO1xuXHRcdC8vVVBEQVRFX0ZST01fSU5TVEFOQ0VfQkVGT1JFX0VORFxuXG4gICAgLy9VUERBVEVfRlJPTV9JTlNUQU5DRV9PUFRJT05TX1NUQVJUXG5cdFx0Ly9VUERBVEVfRlJPTV9JTlNUQU5DRV9PUFRJT05TX0VORFxuXG4gICAgLy9DVVNUT01fVVBEQVRFX0ZST01fSU5TVEFOQ0VfU1RBUlRcbiAgICAvL0NVU1RPTV9VUERBVEVfRlJPTV9JTlNUQU5DRV9FTkRcblxuICAgIC8vVVBEQVRFX0ZST01fSU5TVEFOQ0VfQUZURVJfU1RBUlRcbiAgICB0aGlzLmVtaXQoRXZlbnQuVVBEQVRFX0ZST01fSU5TVEFOQ0VfQUZURVIsIHRoaXMpO1xuXHRcdC8vVVBEQVRFX0ZST01fSU5TVEFOQ0VfQUZURVJfRU5EXG5cbiAgfVxuXHQvL1VQREFURV9GUk9NX0lOU1RBTkNFX1RFTVBMQVRFX0VORFxuXG4gIC8vRElTUE9TRV9URU1QTEFURV9TVEFSVFxuICBkaXNwb3NlKCkge1xuXG4gICAgLy9ESVNQT1NFX0JFRk9SRV9TVEFSVFxuICAgIHRoaXMuZW1pdChFdmVudC5ESVNQT1NFX09CSkVDVCwgdGhpcyk7XG5cdFx0Ly9ESVNQT1NFX0JFRk9SRV9FTkRcblxuICAgIC8vQ1VTVE9NX0RJU1BPU0VfU1RBUlRcbiAgICAvL0NVU1RPTV9ESVNQT1NFX0VORFxuXG4gICAgLy9ESVNQT1NFX0FGVEVSX1NUQVJUXG4gICAgdGhpcy5lbWl0KEV2ZW50Lk9CSkVDVF9ESVNQT1NFRCwgdGhpcyk7XG5cdFx0Ly9ESVNQT1NFX0FGVEVSX0VORFxuXG4gIH1cblx0Ly9ESVNQT1NFX1RFTVBMQVRFX0VORFxuXG4gIC8vRElTUE9TRV9JTlNUQU5DRV9URU1QTEFURV9TVEFSVFxuICBkaXNwb3NlSW5zdGFuY2UoKSB7XG5cbiAgICAvL0RJU1BPU0VfSU5TVEFOQ0VfQkVGT1JFX1NUQVJUXG4gICAgc3VwZXIuZGlzcG9zZUluc3RhbmNlKCk7XG4gICAgdGhpcy5lbWl0KEV2ZW50LkRJU1BPU0VfSU5TVEFOQ0UsIHRoaXMpO1xuXHRcdC8vRElTUE9TRV9JTlNUQU5DRV9CRUZPUkVfRU5EXG5cbiAgICAvL0NVU1RPTV9ESVNQT1NFX0lOU1RBTkNFX1NUQVJUXG4gICAgLy9DVVNUT01fRElTUE9TRV9JTlNUQU5DRV9FTkRcblxuICAgIC8vRElTUE9TRV9JTlNUQU5DRV9BRlRFUl9TVEFSVFxuICAgIHRoaXMuZW1pdChFdmVudC5JTlNUQU5DRV9ESVNQT1NFRCwgdGhpcyk7XG5cdFx0Ly9ESVNQT1NFX0lOU1RBTkNFX0FGVEVSX0VORFxuXG4gIH1cblx0Ly9ESVNQT1NFX0lOU1RBTkNFX1RFTVBMQVRFX0VORFxuXG4gIC8vQ1VTVE9NX0lNUExFTUVOVEFUSU9OX1NUQVJUXG4gIC8vQ1VTVE9NX0lNUExFTUVOVEFUSU9OX0VORFxuXG59XG5cbi8vQ1VTVE9NX09VVF9PRl9DTEFTU19JTVBMRU1FTlRBVElPTl9TVEFSVFxuLy9DVVNUT01fT1VUX09GX0NMQVNTX0lNUExFTUVOVEFUSU9OX0VORFxuXG5tb2R1bGUuZXhwb3J0cyA9IFIzT2JqZWN0OyIsImNvbnN0IFN5c3RlbSA9IHJlcXVpcmUoJy4vcjMtc3lzdGVtLmpzJyk7XG5jb25zdCBTeXN0ZW1MaW5raW5nID0gcmVxdWlyZSgnLi9yMy1zeXN0ZW0tbGlua2luZy5qcycpO1xuY29uc3QgU3lzdGVtU29ja2V0ID0gcmVxdWlyZSgnLi9yMy1zeXN0ZW0tc29ja2V0LmpzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBTeXN0ZW0sXG4gIFN5c3RlbUxpbmtpbmcsXG4gIFN5c3RlbVNvY2tldFxufSIsImNvbnN0IFN5c3RlbSA9IHJlcXVpcmUoJy4vcjMtc3lzdGVtJyk7XG5jb25zdCBSM09iamVjdCA9IHJlcXVpcmUoJy4uL3IzLXIzLW9iamVjdCcpO1xuY29uc3QgRXZlbnQgPSByZXF1aXJlKCcuLi9yMy1ldmVudCcpO1xuXG5jbGFzcyBMaW5raW5nU3lzdGVtIGV4dGVuZHMgU3lzdGVtIHtcblxuXHRzdGF0aWMgc3RhcnQoKSB7XG5cblx0XHRzdXBlci5zdGFydCgpO1xuXHRcdFxuXHRcdGNvbnNvbGUubG9nKCdzdGFydGluZyBsaW5raW5nIHN5c3RlbScpO1xuXG5cdFx0RXZlbnQuU3Vic2NyaWJlKFxuXHRcdFx0RXZlbnQuT0JKRUNUX0NSRUFURUQsXG5cdFx0XHQoKSA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKCdsaW5raW5nIHN5c3RlbSBkaXNjb3ZlcmVkIGFuIG9iamVjdCcpO1xuXHRcdFx0fVxuXHRcdCk7XG5cblx0XHRsZXQgb2JqZWN0ID0gbmV3IFIzT2JqZWN0KCk7XG5cblx0XHRyZXR1cm4gdHJ1ZTtcblxuXHR9XHRcblxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IExpbmtpbmdTeXN0ZW07XG4iLCJjb25zdCBTeXN0ZW0gPSByZXF1aXJlKCcuL3IzLXN5c3RlbS5qcycpO1xuXG5jbGFzcyBTb2NrZXRTeXN0ZW0gZXh0ZW5kcyBTeXN0ZW0ge1xuXG5cdHN0YXRpYyBzdGFydCgpIHtcblxuXHRcdHN1cGVyLnN0YXJ0KCk7XG5cdFx0XG5cdFx0Y29uc29sZS5sb2coJ3N0YXJ0aW5nIHNvY2tldCBzeXN0ZW0nKTtcblxuXHRcdHJldHVybiB0cnVlO1xuXG5cdH1cblxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFNvY2tldFN5c3RlbTsiLCJjbGFzcyBTeXN0ZW0ge1xuXG5cdHN0YXRpYyBzdGFydCgpIHtcblx0XHRjb25zb2xlLmxvZygnc3RhcnRpbmcgYSBzeXN0ZW0nKTtcdFxuXHR9XG5cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBTeXN0ZW07XG4iLCJjb25zdCB7U3lzdGVtLCBTeXN0ZW1MaW5raW5nLCBTeXN0ZW1Tb2NrZXR9ID0gcmVxdWlyZSgnLi9yMy1zeXN0ZW0nKTtcbmNvbnN0IFIzT2JqZWN0ID0gcmVxdWlyZSgnLi9yMy1yMy1vYmplY3QnKTtcblxuY2xhc3MgUjMge1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHR9XG5cblx0c3RhdGljIHZlcnNpb24oKSB7XG5cdFx0cmV0dXJuICdfX0RBVEVfXyc7XG5cdH1cblxufVxuXG5SMy5SM09iamVjdCBcdFx0PSBSM09iamVjdDtcblIzLlN5c3RlbSBcdFx0XHQ9IFN5c3RlbTtcblIzLlN5c3RlbS5MaW5raW5nXHQ9IFN5c3RlbUxpbmtpbmc7XG5SMy5TeXN0ZW0uU29ja2V0XHQ9IFN5c3RlbVNvY2tldDtcblxubW9kdWxlLmV4cG9ydHMgPSBSMztcbiJdLCJzb3VyY2VSb290IjoiIn0=