1 |
- {"ast":null,"code":"\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\nvar _stringify = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/json/stringify\"));\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/defineProperty\"));\nvar _CoreManager = _interopRequireDefault(require(\"./CoreManager\"));\nvar _decode = _interopRequireDefault(require(\"./decode\"));\nvar _encode = _interopRequireDefault(require(\"./encode\"));\nvar _escape = _interopRequireDefault(require(\"./escape\"));\nvar _ParseError = _interopRequireDefault(require(\"./ParseError\"));\nvar _Storage = _interopRequireDefault(require(\"./Storage\"));\n/**\n * Parse.Config is a local representation of configuration data that\n * can be set from the Parse dashboard.\n *\n * @alias Parse.Config\n */\nclass ParseConfig {\n constructor() {\n (0, _defineProperty2.default)(this, \"attributes\", void 0);\n (0, _defineProperty2.default)(this, \"_escapedAttributes\", void 0);\n this.attributes = {};\n this._escapedAttributes = {};\n }\n\n /**\n * Gets the value of an attribute.\n *\n * @param {string} attr The name of an attribute.\n * @returns {*}\n */\n get(attr) {\n return this.attributes[attr];\n }\n\n /**\n * Gets the HTML-escaped value of an attribute.\n *\n * @param {string} attr The name of an attribute.\n * @returns {string}\n */\n escape(attr) {\n const html = this._escapedAttributes[attr];\n if (html) {\n return html;\n }\n const val = this.attributes[attr];\n let escaped = '';\n if (val != null) {\n escaped = (0, _escape.default)(val.toString());\n }\n this._escapedAttributes[attr] = escaped;\n return escaped;\n }\n\n /**\n * Retrieves the most recently-fetched configuration object, either from\n * memory or from local storage if necessary.\n *\n * @static\n * @returns {Parse.Config} The most recently-fetched Parse.Config if it\n * exists, else an empty Parse.Config.\n */\n static current() {\n const controller = _CoreManager.default.getConfigController();\n return controller.current();\n }\n\n /**\n * Gets a new configuration object from the server.\n *\n * @static\n * @param {object} options\n * Valid options are:<ul>\n * <li>useMasterKey: In Cloud Code and Node only, causes the Master Key to\n * be used for this request.\n * </ul>\n * @returns {Promise} A promise that is resolved with a newly-created\n * configuration object when the get completes.\n */\n static get() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const controller = _CoreManager.default.getConfigController();\n return controller.get(options);\n }\n\n /**\n * Save value keys to the server.\n *\n * @static\n * @param {object} attrs The config parameters and values.\n * @param {object} masterKeyOnlyFlags The flags that define whether config parameters listed\n * in `attrs` should be retrievable only by using the master key.\n * For example: `param1: true` makes `param1` only retrievable by using the master key.\n * If a parameter is not provided or set to `false`, it can be retrieved without\n * using the master key.\n * @returns {Promise} A promise that is resolved with a newly-created\n * configuration object or with the current with the update.\n */\n static save(attrs, masterKeyOnlyFlags) {\n const controller = _CoreManager.default.getConfigController();\n //To avoid a mismatch with the local and the cloud config we get a new version\n return controller.save(attrs, masterKeyOnlyFlags).then(() => {\n return controller.get({\n useMasterKey: true\n });\n }, error => {\n return _promise.default.reject(error);\n });\n }\n\n /**\n * Used for testing\n *\n * @private\n */\n static _clearCache() {\n currentConfig = null;\n }\n}\nlet currentConfig = null;\nconst CURRENT_CONFIG_KEY = 'currentConfig';\nfunction decodePayload(data) {\n try {\n const json = JSON.parse(data);\n if (json && typeof json === 'object') {\n return (0, _decode.default)(json);\n }\n } catch (e) {\n return null;\n }\n}\nconst DefaultController = {\n current() {\n if (currentConfig) {\n return currentConfig;\n }\n const config = new ParseConfig();\n const storagePath = _Storage.default.generatePath(CURRENT_CONFIG_KEY);\n if (!_Storage.default.async()) {\n const configData = _Storage.default.getItem(storagePath);\n if (configData) {\n const attributes = decodePayload(configData);\n if (attributes) {\n config.attributes = attributes;\n currentConfig = config;\n }\n }\n return config;\n }\n // Return a promise for async storage controllers\n return _Storage.default.getItemAsync(storagePath).then(configData => {\n if (configData) {\n const attributes = decodePayload(configData);\n if (attributes) {\n config.attributes = attributes;\n currentConfig = config;\n }\n }\n return config;\n });\n },\n get() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const RESTController = _CoreManager.default.getRESTController();\n return RESTController.request('GET', 'config', {}, options).then(response => {\n if (!response || !response.params) {\n const error = new _ParseError.default(_ParseError.default.INVALID_JSON, 'Config JSON response invalid.');\n return _promise.default.reject(error);\n }\n const config = new ParseConfig();\n config.attributes = {};\n for (const attr in response.params) {\n config.attributes[attr] = (0, _decode.default)(response.params[attr]);\n }\n currentConfig = config;\n return _Storage.default.setItemAsync(_Storage.default.generatePath(CURRENT_CONFIG_KEY), (0, _stringify.default)(response.params)).then(() => {\n return config;\n });\n });\n },\n save(attrs, masterKeyOnlyFlags) {\n const RESTController = _CoreManager.default.getRESTController();\n const encodedAttrs = {};\n for (const key in attrs) {\n encodedAttrs[key] = (0, _encode.default)(attrs[key]);\n }\n return RESTController.request('PUT', 'config', {\n params: encodedAttrs,\n masterKeyOnly: masterKeyOnlyFlags\n }, {\n useMasterKey: true\n }).then(response => {\n if (response && response.result) {\n return _promise.default.resolve();\n } else {\n const error = new _ParseError.default(_ParseError.default.INTERNAL_SERVER_ERROR, 'Error occured updating Config.');\n return _promise.default.reject(error);\n }\n });\n }\n};\n_CoreManager.default.setConfigController(DefaultController);\nvar _default = exports.default = ParseConfig;","map":{"version":3,"names":["_Object$defineProperty","require","_interopRequireDefault","exports","value","default","_promise","_stringify","_defineProperty2","_CoreManager","_decode","_encode","_escape","_ParseError","_Storage","ParseConfig","constructor","attributes","_escapedAttributes","get","attr","escape","html","val","escaped","toString","current","controller","getConfigController","options","arguments","length","undefined","save","attrs","masterKeyOnlyFlags","then","useMasterKey","error","reject","_clearCache","currentConfig","CURRENT_CONFIG_KEY","decodePayload","data","json","JSON","parse","e","DefaultController","config","storagePath","generatePath","async","configData","getItem","getItemAsync","RESTController","getRESTController","request","response","params","INVALID_JSON","setItemAsync","encodedAttrs","key","masterKeyOnly","result","resolve","INTERNAL_SERVER_ERROR","setConfigController","_default"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/parse/lib/browser/ParseConfig.js"],"sourcesContent":["\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\nvar _stringify = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/json/stringify\"));\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/defineProperty\"));\nvar _CoreManager = _interopRequireDefault(require(\"./CoreManager\"));\nvar _decode = _interopRequireDefault(require(\"./decode\"));\nvar _encode = _interopRequireDefault(require(\"./encode\"));\nvar _escape = _interopRequireDefault(require(\"./escape\"));\nvar _ParseError = _interopRequireDefault(require(\"./ParseError\"));\nvar _Storage = _interopRequireDefault(require(\"./Storage\"));\n/**\n * Parse.Config is a local representation of configuration data that\n * can be set from the Parse dashboard.\n *\n * @alias Parse.Config\n */\nclass ParseConfig {\n constructor() {\n (0, _defineProperty2.default)(this, \"attributes\", void 0);\n (0, _defineProperty2.default)(this, \"_escapedAttributes\", void 0);\n this.attributes = {};\n this._escapedAttributes = {};\n }\n\n /**\n * Gets the value of an attribute.\n *\n * @param {string} attr The name of an attribute.\n * @returns {*}\n */\n get(attr) {\n return this.attributes[attr];\n }\n\n /**\n * Gets the HTML-escaped value of an attribute.\n *\n * @param {string} attr The name of an attribute.\n * @returns {string}\n */\n escape(attr) {\n const html = this._escapedAttributes[attr];\n if (html) {\n return html;\n }\n const val = this.attributes[attr];\n let escaped = '';\n if (val != null) {\n escaped = (0, _escape.default)(val.toString());\n }\n this._escapedAttributes[attr] = escaped;\n return escaped;\n }\n\n /**\n * Retrieves the most recently-fetched configuration object, either from\n * memory or from local storage if necessary.\n *\n * @static\n * @returns {Parse.Config} The most recently-fetched Parse.Config if it\n * exists, else an empty Parse.Config.\n */\n static current() {\n const controller = _CoreManager.default.getConfigController();\n return controller.current();\n }\n\n /**\n * Gets a new configuration object from the server.\n *\n * @static\n * @param {object} options\n * Valid options are:<ul>\n * <li>useMasterKey: In Cloud Code and Node only, causes the Master Key to\n * be used for this request.\n * </ul>\n * @returns {Promise} A promise that is resolved with a newly-created\n * configuration object when the get completes.\n */\n static get() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const controller = _CoreManager.default.getConfigController();\n return controller.get(options);\n }\n\n /**\n * Save value keys to the server.\n *\n * @static\n * @param {object} attrs The config parameters and values.\n * @param {object} masterKeyOnlyFlags The flags that define whether config parameters listed\n * in `attrs` should be retrievable only by using the master key.\n * For example: `param1: true` makes `param1` only retrievable by using the master key.\n * If a parameter is not provided or set to `false`, it can be retrieved without\n * using the master key.\n * @returns {Promise} A promise that is resolved with a newly-created\n * configuration object or with the current with the update.\n */\n static save(attrs, masterKeyOnlyFlags) {\n const controller = _CoreManager.default.getConfigController();\n //To avoid a mismatch with the local and the cloud config we get a new version\n return controller.save(attrs, masterKeyOnlyFlags).then(() => {\n return controller.get({\n useMasterKey: true\n });\n }, error => {\n return _promise.default.reject(error);\n });\n }\n\n /**\n * Used for testing\n *\n * @private\n */\n static _clearCache() {\n currentConfig = null;\n }\n}\nlet currentConfig = null;\nconst CURRENT_CONFIG_KEY = 'currentConfig';\nfunction decodePayload(data) {\n try {\n const json = JSON.parse(data);\n if (json && typeof json === 'object') {\n return (0, _decode.default)(json);\n }\n } catch (e) {\n return null;\n }\n}\nconst DefaultController = {\n current() {\n if (currentConfig) {\n return currentConfig;\n }\n const config = new ParseConfig();\n const storagePath = _Storage.default.generatePath(CURRENT_CONFIG_KEY);\n if (!_Storage.default.async()) {\n const configData = _Storage.default.getItem(storagePath);\n if (configData) {\n const attributes = decodePayload(configData);\n if (attributes) {\n config.attributes = attributes;\n currentConfig = config;\n }\n }\n return config;\n }\n // Return a promise for async storage controllers\n return _Storage.default.getItemAsync(storagePath).then(configData => {\n if (configData) {\n const attributes = decodePayload(configData);\n if (attributes) {\n config.attributes = attributes;\n currentConfig = config;\n }\n }\n return config;\n });\n },\n get() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const RESTController = _CoreManager.default.getRESTController();\n return RESTController.request('GET', 'config', {}, options).then(response => {\n if (!response || !response.params) {\n const error = new _ParseError.default(_ParseError.default.INVALID_JSON, 'Config JSON response invalid.');\n return _promise.default.reject(error);\n }\n const config = new ParseConfig();\n config.attributes = {};\n for (const attr in response.params) {\n config.attributes[attr] = (0, _decode.default)(response.params[attr]);\n }\n currentConfig = config;\n return _Storage.default.setItemAsync(_Storage.default.generatePath(CURRENT_CONFIG_KEY), (0, _stringify.default)(response.params)).then(() => {\n return config;\n });\n });\n },\n save(attrs, masterKeyOnlyFlags) {\n const RESTController = _CoreManager.default.getRESTController();\n const encodedAttrs = {};\n for (const key in attrs) {\n encodedAttrs[key] = (0, _encode.default)(attrs[key]);\n }\n return RESTController.request('PUT', 'config', {\n params: encodedAttrs,\n masterKeyOnly: masterKeyOnlyFlags\n }, {\n useMasterKey: true\n }).then(response => {\n if (response && response.result) {\n return _promise.default.resolve();\n } else {\n const error = new _ParseError.default(_ParseError.default.INTERNAL_SERVER_ERROR, 'Error occured updating Config.');\n return _promise.default.reject(error);\n }\n });\n }\n};\n_CoreManager.default.setConfigController(DefaultController);\nvar _default = exports.default = ParseConfig;"],"mappings":"AAAA,YAAY;;AAEZ,IAAIA,sBAAsB,GAAGC,OAAO,CAAC,8DAA8D,CAAC;AACpG,IAAIC,sBAAsB,GAAGD,OAAO,CAAC,sDAAsD,CAAC;AAC5FD,sBAAsB,CAACG,OAAO,EAAE,YAAY,EAAE;EAC5CC,KAAK,EAAE;AACT,CAAC,CAAC;AACFD,OAAO,CAACE,OAAO,GAAG,KAAK,CAAC;AACxB,IAAIC,QAAQ,GAAGJ,sBAAsB,CAACD,OAAO,CAAC,+CAA+C,CAAC,CAAC;AAC/F,IAAIM,UAAU,GAAGL,sBAAsB,CAACD,OAAO,CAAC,sDAAsD,CAAC,CAAC;AACxG,IAAIO,gBAAgB,GAAGN,sBAAsB,CAACD,OAAO,CAAC,+CAA+C,CAAC,CAAC;AACvG,IAAIQ,YAAY,GAAGP,sBAAsB,CAACD,OAAO,CAAC,eAAe,CAAC,CAAC;AACnE,IAAIS,OAAO,GAAGR,sBAAsB,CAACD,OAAO,CAAC,UAAU,CAAC,CAAC;AACzD,IAAIU,OAAO,GAAGT,sBAAsB,CAACD,OAAO,CAAC,UAAU,CAAC,CAAC;AACzD,IAAIW,OAAO,GAAGV,sBAAsB,CAACD,OAAO,CAAC,UAAU,CAAC,CAAC;AACzD,IAAIY,WAAW,GAAGX,sBAAsB,CAACD,OAAO,CAAC,cAAc,CAAC,CAAC;AACjE,IAAIa,QAAQ,GAAGZ,sBAAsB,CAACD,OAAO,CAAC,WAAW,CAAC,CAAC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,MAAMc,WAAW,CAAC;EAChBC,WAAWA,CAAA,EAAG;IACZ,CAAC,CAAC,EAAER,gBAAgB,CAACH,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC,CAAC,EAAEG,gBAAgB,CAACH,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACjE,IAAI,CAACY,UAAU,GAAG,CAAC,CAAC;IACpB,IAAI,CAACC,kBAAkB,GAAG,CAAC,CAAC;EAC9B;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEC,GAAGA,CAACC,IAAI,EAAE;IACR,OAAO,IAAI,CAACH,UAAU,CAACG,IAAI,CAAC;EAC9B;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEC,MAAMA,CAACD,IAAI,EAAE;IACX,MAAME,IAAI,GAAG,IAAI,CAACJ,kBAAkB,CAACE,IAAI,CAAC;IAC1C,IAAIE,IAAI,EAAE;MACR,OAAOA,IAAI;IACb;IACA,MAAMC,GAAG,GAAG,IAAI,CAACN,UAAU,CAACG,IAAI,CAAC;IACjC,IAAII,OAAO,GAAG,EAAE;IAChB,IAAID,GAAG,IAAI,IAAI,EAAE;MACfC,OAAO,GAAG,CAAC,CAAC,EAAEZ,OAAO,CAACP,OAAO,EAAEkB,GAAG,CAACE,QAAQ,CAAC,CAAC,CAAC;IAChD;IACA,IAAI,CAACP,kBAAkB,CAACE,IAAI,CAAC,GAAGI,OAAO;IACvC,OAAOA,OAAO;EAChB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOE,OAAOA,CAAA,EAAG;IACf,MAAMC,UAAU,GAAGlB,YAAY,CAACJ,OAAO,CAACuB,mBAAmB,CAAC,CAAC;IAC7D,OAAOD,UAAU,CAACD,OAAO,CAAC,CAAC;EAC7B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOP,GAAGA,CAAA,EAAG;IACX,IAAIU,OAAO,GAAGC,SAAS,CAACC,MAAM,GAAG,CAAC,IAAID,SAAS,CAAC,CAAC,CAAC,KAAKE,SAAS,GAAGF,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpF,MAAMH,UAAU,GAAGlB,YAAY,CAACJ,OAAO,CAACuB,mBAAmB,CAAC,CAAC;IAC7D,OAAOD,UAAU,CAACR,GAAG,CAACU,OAAO,CAAC;EAChC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOI,IAAIA,CAACC,KAAK,EAAEC,kBAAkB,EAAE;IACrC,MAAMR,UAAU,GAAGlB,YAAY,CAACJ,OAAO,CAACuB,mBAAmB,CAAC,CAAC;IAC7D;IACA,OAAOD,UAAU,CAACM,IAAI,CAACC,KAAK,EAAEC,kBAAkB,CAAC,CAACC,IAAI,CAAC,MAAM;MAC3D,OAAOT,UAAU,CAACR,GAAG,CAAC;QACpBkB,YAAY,EAAE;MAChB,CAAC,CAAC;IACJ,CAAC,EAAEC,KAAK,IAAI;MACV,OAAOhC,QAAQ,CAACD,OAAO,CAACkC,MAAM,CAACD,KAAK,CAAC;IACvC,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOE,WAAWA,CAAA,EAAG;IACnBC,aAAa,GAAG,IAAI;EACtB;AACF;AACA,IAAIA,aAAa,GAAG,IAAI;AACxB,MAAMC,kBAAkB,GAAG,eAAe;AAC1C,SAASC,aAAaA,CAACC,IAAI,EAAE;EAC3B,IAAI;IACF,MAAMC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IAC7B,IAAIC,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MACpC,OAAO,CAAC,CAAC,EAAEnC,OAAO,CAACL,OAAO,EAAEwC,IAAI,CAAC;IACnC;EACF,CAAC,CAAC,OAAOG,CAAC,EAAE;IACV,OAAO,IAAI;EACb;AACF;AACA,MAAMC,iBAAiB,GAAG;EACxBvB,OAAOA,CAAA,EAAG;IACR,IAAIe,aAAa,EAAE;MACjB,OAAOA,aAAa;IACtB;IACA,MAAMS,MAAM,GAAG,IAAInC,WAAW,CAAC,CAAC;IAChC,MAAMoC,WAAW,GAAGrC,QAAQ,CAACT,OAAO,CAAC+C,YAAY,CAACV,kBAAkB,CAAC;IACrE,IAAI,CAAC5B,QAAQ,CAACT,OAAO,CAACgD,KAAK,CAAC,CAAC,EAAE;MAC7B,MAAMC,UAAU,GAAGxC,QAAQ,CAACT,OAAO,CAACkD,OAAO,CAACJ,WAAW,CAAC;MACxD,IAAIG,UAAU,EAAE;QACd,MAAMrC,UAAU,GAAG0B,aAAa,CAACW,UAAU,CAAC;QAC5C,IAAIrC,UAAU,EAAE;UACdiC,MAAM,CAACjC,UAAU,GAAGA,UAAU;UAC9BwB,aAAa,GAAGS,MAAM;QACxB;MACF;MACA,OAAOA,MAAM;IACf;IACA;IACA,OAAOpC,QAAQ,CAACT,OAAO,CAACmD,YAAY,CAACL,WAAW,CAAC,CAACf,IAAI,CAACkB,UAAU,IAAI;MACnE,IAAIA,UAAU,EAAE;QACd,MAAMrC,UAAU,GAAG0B,aAAa,CAACW,UAAU,CAAC;QAC5C,IAAIrC,UAAU,EAAE;UACdiC,MAAM,CAACjC,UAAU,GAAGA,UAAU;UAC9BwB,aAAa,GAAGS,MAAM;QACxB;MACF;MACA,OAAOA,MAAM;IACf,CAAC,CAAC;EACJ,CAAC;EACD/B,GAAGA,CAAA,EAAG;IACJ,IAAIU,OAAO,GAAGC,SAAS,CAACC,MAAM,GAAG,CAAC,IAAID,SAAS,CAAC,CAAC,CAAC,KAAKE,SAAS,GAAGF,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpF,MAAM2B,cAAc,GAAGhD,YAAY,CAACJ,OAAO,CAACqD,iBAAiB,CAAC,CAAC;IAC/D,OAAOD,cAAc,CAACE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE9B,OAAO,CAAC,CAACO,IAAI,CAACwB,QAAQ,IAAI;MAC3E,IAAI,CAACA,QAAQ,IAAI,CAACA,QAAQ,CAACC,MAAM,EAAE;QACjC,MAAMvB,KAAK,GAAG,IAAIzB,WAAW,CAACR,OAAO,CAACQ,WAAW,CAACR,OAAO,CAACyD,YAAY,EAAE,+BAA+B,CAAC;QACxG,OAAOxD,QAAQ,CAACD,OAAO,CAACkC,MAAM,CAACD,KAAK,CAAC;MACvC;MACA,MAAMY,MAAM,GAAG,IAAInC,WAAW,CAAC,CAAC;MAChCmC,MAAM,CAACjC,UAAU,GAAG,CAAC,CAAC;MACtB,KAAK,MAAMG,IAAI,IAAIwC,QAAQ,CAACC,MAAM,EAAE;QAClCX,MAAM,CAACjC,UAAU,CAACG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAEV,OAAO,CAACL,OAAO,EAAEuD,QAAQ,CAACC,MAAM,CAACzC,IAAI,CAAC,CAAC;MACvE;MACAqB,aAAa,GAAGS,MAAM;MACtB,OAAOpC,QAAQ,CAACT,OAAO,CAAC0D,YAAY,CAACjD,QAAQ,CAACT,OAAO,CAAC+C,YAAY,CAACV,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAEnC,UAAU,CAACF,OAAO,EAAEuD,QAAQ,CAACC,MAAM,CAAC,CAAC,CAACzB,IAAI,CAAC,MAAM;QAC3I,OAAOc,MAAM;MACf,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC;EACDjB,IAAIA,CAACC,KAAK,EAAEC,kBAAkB,EAAE;IAC9B,MAAMsB,cAAc,GAAGhD,YAAY,CAACJ,OAAO,CAACqD,iBAAiB,CAAC,CAAC;IAC/D,MAAMM,YAAY,GAAG,CAAC,CAAC;IACvB,KAAK,MAAMC,GAAG,IAAI/B,KAAK,EAAE;MACvB8B,YAAY,CAACC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAEtD,OAAO,CAACN,OAAO,EAAE6B,KAAK,CAAC+B,GAAG,CAAC,CAAC;IACtD;IACA,OAAOR,cAAc,CAACE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE;MAC7CE,MAAM,EAAEG,YAAY;MACpBE,aAAa,EAAE/B;IACjB,CAAC,EAAE;MACDE,YAAY,EAAE;IAChB,CAAC,CAAC,CAACD,IAAI,CAACwB,QAAQ,IAAI;MAClB,IAAIA,QAAQ,IAAIA,QAAQ,CAACO,MAAM,EAAE;QAC/B,OAAO7D,QAAQ,CAACD,OAAO,CAAC+D,OAAO,CAAC,CAAC;MACnC,CAAC,MAAM;QACL,MAAM9B,KAAK,GAAG,IAAIzB,WAAW,CAACR,OAAO,CAACQ,WAAW,CAACR,OAAO,CAACgE,qBAAqB,EAAE,gCAAgC,CAAC;QAClH,OAAO/D,QAAQ,CAACD,OAAO,CAACkC,MAAM,CAACD,KAAK,CAAC;MACvC;IACF,CAAC,CAAC;EACJ;AACF,CAAC;AACD7B,YAAY,CAACJ,OAAO,CAACiE,mBAAmB,CAACrB,iBAAiB,CAAC;AAC3D,IAAIsB,QAAQ,GAAGpE,OAAO,CAACE,OAAO,GAAGU,WAAW","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}
|