@iflyrpa/actions 1.2.25 → 1.2.26
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/dist/actions/baijiahaoPublish/index.d.ts +6 -0
- package/dist/actions/baijiahaoPublish/utils.d.ts +10 -0
- package/dist/actions/getToutiaoCollection/index.d.ts +40 -0
- package/dist/actions/getWeixinCollection/index.d.ts +32 -0
- package/dist/actions/getXhsCollection/index.d.ts +31 -0
- package/dist/actions/getXhsGroup/index.d.ts +19 -0
- package/dist/actions/getXhsHotTopic/index.d.ts +35 -0
- package/dist/actions/searchBjhTopicList/index.d.ts +12 -0
- package/dist/actions/weixinPublish/index.d.ts +3 -0
- package/dist/actions/weixinPublish/utils.d.ts +6 -0
- package/dist/actions/xiaohongshuPublish/index.d.ts +7 -1
- package/dist/bundle.js +8672 -6789
- package/dist/bundle.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.js +4296 -2469
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5896 -4069
- package/dist/index.mjs.map +1 -1
- package/dist/utils/http.d.ts +4 -1
- package/dist/utils/xhs_ob/index.d.ts +5 -0
- package/dist/utils/xhs_ob/mnsvc2.d.ts +7 -0
- package/package.json +2 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["webpack://@iflyrpa/actions/../../node_modules/.pnpm/agent-base@7.1.4/node_modules/agent-base/dist/helpers.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/agent-base@7.1.4/node_modules/agent-base/dist/index.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/browser.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/common.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/index.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/node.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/https-proxy-agent@7.0.6/node_modules/https-proxy-agent/dist/index.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/https-proxy-agent@7.0.6/node_modules/https-proxy-agent/dist/parse-proxy-response.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/supports-color@8.1.1/node_modules/supports-color/index.js","webpack://@iflyrpa/actions/./src/utils/XhsXsCommonEnc.js","webpack://@iflyrpa/actions/./src/utils/ttABEncrypt.js","webpack://@iflyrpa/actions/./src/utils/proxy.ts","webpack://@iflyrpa/actions/./src/utils/http.ts","webpack://@iflyrpa/actions/./src/utils/index.ts","webpack://@iflyrpa/actions/./src/actions/baijiahaoPublish/mock.ts","webpack://@iflyrpa/actions/./src/actions/baijiahaoPublish/rpa.ts","webpack://@iflyrpa/actions/./src/actions/baijiahaoPublish/index.ts","webpack://@iflyrpa/actions/./src/actions/getBaijiahaoActivity/index.ts","webpack://@iflyrpa/actions/./src/actions/getToutiaoConfig/index.ts","webpack://@iflyrpa/actions/./src/actions/getBaijiaohaoConfig/index.ts","webpack://@iflyrpa/actions/./src/actions/searchToutiaoTopicList/index.ts","webpack://@iflyrpa/actions/./src/actions/searchToutiaoLocation/index.ts","webpack://@iflyrpa/actions/./src/actions/searchToutiaoUserID/index.ts","webpack://@iflyrpa/actions/./src/actions/searchXiaohongshuLocation/index.ts","webpack://@iflyrpa/actions/./src/utils/xhsXsEncrypt.ts","webpack://@iflyrpa/actions/./src/actions/searchXiaohongshuTopicList/index.ts","webpack://@iflyrpa/actions/./src/actions/toutiaoPublish/mock.ts","webpack://@iflyrpa/actions/./src/actions/toutiaoPublish/rpa.ts","webpack://@iflyrpa/actions/./src/actions/toutiaoPublish/index.ts","webpack://@iflyrpa/actions/./src/actions/common/FansTool/index.ts","webpack://@iflyrpa/actions/./src/actions/common/sessionCheck/index.ts","webpack://@iflyrpa/actions/./src/actions/searchAccountInfo/types.ts","webpack://@iflyrpa/actions/./src/actions/searchAccountInfo/getBjhInfo.ts","webpack://@iflyrpa/actions/./src/actions/searchAccountInfo/getTTInfo.ts","webpack://@iflyrpa/actions/./src/actions/searchAccountInfo/getWxInfo.ts","webpack://@iflyrpa/actions/./src/actions/searchAccountInfo/getXhsInfo.ts","webpack://@iflyrpa/actions/./src/actions/searchAccountInfo/index.ts","webpack://@iflyrpa/actions/./src/actions/searchPublishInfo/types.ts","webpack://@iflyrpa/actions/./src/actions/searchPublishInfo/handleTTData.ts","webpack://@iflyrpa/actions/./src/actions/searchPublishInfo/handleWXData.ts","webpack://@iflyrpa/actions/./src/actions/searchPublishInfo/handleBjhData.ts","webpack://@iflyrpa/actions/./src/actions/searchPublishInfo/handleXhsData.ts","webpack://@iflyrpa/actions/./src/actions/searchPublishInfo/index.ts","webpack://@iflyrpa/actions/./src/actions/getWeixinConfig/index.ts","webpack://@iflyrpa/actions/./src/actions/weitoutiaoPublish/mock.ts","webpack://@iflyrpa/actions/./src/actions/weitoutiaoPublish/rpa.ts","webpack://@iflyrpa/actions/./src/actions/weitoutiaoPublish/index.ts","webpack://@iflyrpa/actions/./src/actions/weixinPublish/utils.ts","webpack://@iflyrpa/actions/./src/actions/weixinPublish/mock.ts","webpack://@iflyrpa/actions/./src/actions/weixinPublish/rpa.ts","webpack://@iflyrpa/actions/./src/actions/weixinPublish/index.ts","webpack://@iflyrpa/actions/./src/actions/weixinmpPublish/mock.ts","webpack://@iflyrpa/actions/./src/actions/weixinmpPublish/rpa.ts","webpack://@iflyrpa/actions/./src/actions/weixinmpPublish/index.ts","webpack://@iflyrpa/actions/./src/actions/xiaohongshuPublish/mock.ts","webpack://@iflyrpa/actions/./src/actions/xiaohongshuPublish/rpa.ts","webpack://@iflyrpa/actions/./src/actions/xiaohongshuPublish/index.ts","webpack://@iflyrpa/actions/./src/index.ts"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.req = exports.json = exports.toBuffer = void 0;\nconst http = __importStar(require(\"http\"));\nconst https = __importStar(require(\"https\"));\nasync function toBuffer(stream) {\n let length = 0;\n const chunks = [];\n for await (const chunk of stream) {\n length += chunk.length;\n chunks.push(chunk);\n }\n return Buffer.concat(chunks, length);\n}\nexports.toBuffer = toBuffer;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nasync function json(stream) {\n const buf = await toBuffer(stream);\n const str = buf.toString('utf8');\n try {\n return JSON.parse(str);\n }\n catch (_err) {\n const err = _err;\n err.message += ` (input: ${str})`;\n throw err;\n }\n}\nexports.json = json;\nfunction req(url, opts = {}) {\n const href = typeof url === 'string' ? url : url.href;\n const req = (href.startsWith('https:') ? https : http).request(url, opts);\n const promise = new Promise((resolve, reject) => {\n req\n .once('response', resolve)\n .once('error', reject)\n .end();\n });\n req.then = promise.then.bind(promise);\n return req;\n}\nexports.req = req;\n//# sourceMappingURL=helpers.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Agent = void 0;\nconst net = __importStar(require(\"net\"));\nconst http = __importStar(require(\"http\"));\nconst https_1 = require(\"https\");\n__exportStar(require(\"./helpers\"), exports);\nconst INTERNAL = Symbol('AgentBaseInternalState');\nclass Agent extends http.Agent {\n constructor(opts) {\n super(opts);\n this[INTERNAL] = {};\n }\n /**\n * Determine whether this is an `http` or `https` request.\n */\n isSecureEndpoint(options) {\n if (options) {\n // First check the `secureEndpoint` property explicitly, since this\n // means that a parent `Agent` is \"passing through\" to this instance.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (typeof options.secureEndpoint === 'boolean') {\n return options.secureEndpoint;\n }\n // If no explicit `secure` endpoint, check if `protocol` property is\n // set. This will usually be the case since using a full string URL\n // or `URL` instance should be the most common usage.\n if (typeof options.protocol === 'string') {\n return options.protocol === 'https:';\n }\n }\n // Finally, if no `protocol` property was set, then fall back to\n // checking the stack trace of the current call stack, and try to\n // detect the \"https\" module.\n const { stack } = new Error();\n if (typeof stack !== 'string')\n return false;\n return stack\n .split('\\n')\n .some((l) => l.indexOf('(https.js:') !== -1 ||\n l.indexOf('node:https:') !== -1);\n }\n // In order to support async signatures in `connect()` and Node's native\n // connection pooling in `http.Agent`, the array of sockets for each origin\n // has to be updated synchronously. This is so the length of the array is\n // accurate when `addRequest()` is next called. We achieve this by creating a\n // fake socket and adding it to `sockets[origin]` and incrementing\n // `totalSocketCount`.\n incrementSockets(name) {\n // If `maxSockets` and `maxTotalSockets` are both Infinity then there is no\n // need to create a fake socket because Node.js native connection pooling\n // will never be invoked.\n if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {\n return null;\n }\n // All instances of `sockets` are expected TypeScript errors. The\n // alternative is to add it as a private property of this class but that\n // will break TypeScript subclassing.\n if (!this.sockets[name]) {\n // @ts-expect-error `sockets` is readonly in `@types/node`\n this.sockets[name] = [];\n }\n const fakeSocket = new net.Socket({ writable: false });\n this.sockets[name].push(fakeSocket);\n // @ts-expect-error `totalSocketCount` isn't defined in `@types/node`\n this.totalSocketCount++;\n return fakeSocket;\n }\n decrementSockets(name, socket) {\n if (!this.sockets[name] || socket === null) {\n return;\n }\n const sockets = this.sockets[name];\n const index = sockets.indexOf(socket);\n if (index !== -1) {\n sockets.splice(index, 1);\n // @ts-expect-error `totalSocketCount` isn't defined in `@types/node`\n this.totalSocketCount--;\n if (sockets.length === 0) {\n // @ts-expect-error `sockets` is readonly in `@types/node`\n delete this.sockets[name];\n }\n }\n }\n // In order to properly update the socket pool, we need to call `getName()` on\n // the core `https.Agent` if it is a secureEndpoint.\n getName(options) {\n const secureEndpoint = this.isSecureEndpoint(options);\n if (secureEndpoint) {\n // @ts-expect-error `getName()` isn't defined in `@types/node`\n return https_1.Agent.prototype.getName.call(this, options);\n }\n // @ts-expect-error `getName()` isn't defined in `@types/node`\n return super.getName(options);\n }\n createSocket(req, options, cb) {\n const connectOpts = {\n ...options,\n secureEndpoint: this.isSecureEndpoint(options),\n };\n const name = this.getName(connectOpts);\n const fakeSocket = this.incrementSockets(name);\n Promise.resolve()\n .then(() => this.connect(req, connectOpts))\n .then((socket) => {\n this.decrementSockets(name, fakeSocket);\n if (socket instanceof http.Agent) {\n try {\n // @ts-expect-error `addRequest()` isn't defined in `@types/node`\n return socket.addRequest(req, connectOpts);\n }\n catch (err) {\n return cb(err);\n }\n }\n this[INTERNAL].currentSocket = socket;\n // @ts-expect-error `createSocket()` isn't defined in `@types/node`\n super.createSocket(req, options, cb);\n }, (err) => {\n this.decrementSockets(name, fakeSocket);\n cb(err);\n });\n }\n createConnection() {\n const socket = this[INTERNAL].currentSocket;\n this[INTERNAL].currentSocket = undefined;\n if (!socket) {\n throw new Error('No socket was returned in the `connect()` function');\n }\n return socket;\n }\n get defaultPort() {\n return (this[INTERNAL].defaultPort ??\n (this.protocol === 'https:' ? 443 : 80));\n }\n set defaultPort(v) {\n if (this[INTERNAL]) {\n this[INTERNAL].defaultPort = v;\n }\n }\n get protocol() {\n return (this[INTERNAL].protocol ??\n (this.isSecureEndpoint() ? 'https:' : 'http:'));\n }\n set protocol(v) {\n if (this[INTERNAL]) {\n this[INTERNAL].protocol = v;\n }\n }\n}\nexports.Agent = Agent;\n//# sourceMappingURL=index.js.map","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(' ', ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n","/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpsProxyAgent = void 0;\nconst net = __importStar(require(\"net\"));\nconst tls = __importStar(require(\"tls\"));\nconst assert_1 = __importDefault(require(\"assert\"));\nconst debug_1 = __importDefault(require(\"debug\"));\nconst agent_base_1 = require(\"agent-base\");\nconst url_1 = require(\"url\");\nconst parse_proxy_response_1 = require(\"./parse-proxy-response\");\nconst debug = (0, debug_1.default)('https-proxy-agent');\nconst setServernameFromNonIpHost = (options) => {\n if (options.servername === undefined &&\n options.host &&\n !net.isIP(options.host)) {\n return {\n ...options,\n servername: options.host,\n };\n }\n return options;\n};\n/**\n * The `HttpsProxyAgent` implements an HTTP Agent subclass that connects to\n * the specified \"HTTP(s) proxy server\" in order to proxy HTTPS requests.\n *\n * Outgoing HTTP requests are first tunneled through the proxy server using the\n * `CONNECT` HTTP request method to establish a connection to the proxy server,\n * and then the proxy server connects to the destination target and issues the\n * HTTP request from the proxy server.\n *\n * `https:` requests have their socket connection upgraded to TLS once\n * the connection to the proxy server has been established.\n */\nclass HttpsProxyAgent extends agent_base_1.Agent {\n constructor(proxy, opts) {\n super(opts);\n this.options = { path: undefined };\n this.proxy = typeof proxy === 'string' ? new url_1.URL(proxy) : proxy;\n this.proxyHeaders = opts?.headers ?? {};\n debug('Creating new HttpsProxyAgent instance: %o', this.proxy.href);\n // Trim off the brackets from IPv6 addresses\n const host = (this.proxy.hostname || this.proxy.host).replace(/^\\[|\\]$/g, '');\n const port = this.proxy.port\n ? parseInt(this.proxy.port, 10)\n : this.proxy.protocol === 'https:'\n ? 443\n : 80;\n this.connectOpts = {\n // Attempt to negotiate http/1.1 for proxy servers that support http/2\n ALPNProtocols: ['http/1.1'],\n ...(opts ? omit(opts, 'headers') : null),\n host,\n port,\n };\n }\n /**\n * Called when the node-core HTTP client library is creating a\n * new HTTP request.\n */\n async connect(req, opts) {\n const { proxy } = this;\n if (!opts.host) {\n throw new TypeError('No \"host\" provided');\n }\n // Create a socket connection to the proxy server.\n let socket;\n if (proxy.protocol === 'https:') {\n debug('Creating `tls.Socket`: %o', this.connectOpts);\n socket = tls.connect(setServernameFromNonIpHost(this.connectOpts));\n }\n else {\n debug('Creating `net.Socket`: %o', this.connectOpts);\n socket = net.connect(this.connectOpts);\n }\n const headers = typeof this.proxyHeaders === 'function'\n ? this.proxyHeaders()\n : { ...this.proxyHeaders };\n const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;\n let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\\r\\n`;\n // Inject the `Proxy-Authorization` header if necessary.\n if (proxy.username || proxy.password) {\n const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;\n headers['Proxy-Authorization'] = `Basic ${Buffer.from(auth).toString('base64')}`;\n }\n headers.Host = `${host}:${opts.port}`;\n if (!headers['Proxy-Connection']) {\n headers['Proxy-Connection'] = this.keepAlive\n ? 'Keep-Alive'\n : 'close';\n }\n for (const name of Object.keys(headers)) {\n payload += `${name}: ${headers[name]}\\r\\n`;\n }\n const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);\n socket.write(`${payload}\\r\\n`);\n const { connect, buffered } = await proxyResponsePromise;\n req.emit('proxyConnect', connect);\n this.emit('proxyConnect', connect, req);\n if (connect.statusCode === 200) {\n req.once('socket', resume);\n if (opts.secureEndpoint) {\n // The proxy is connecting to a TLS server, so upgrade\n // this socket connection to a TLS connection.\n debug('Upgrading socket connection to TLS');\n return tls.connect({\n ...omit(setServernameFromNonIpHost(opts), 'host', 'path', 'port'),\n socket,\n });\n }\n return socket;\n }\n // Some other status code that's not 200... need to re-play the HTTP\n // header \"data\" events onto the socket once the HTTP machinery is\n // attached so that the node core `http` can parse and handle the\n // error status code.\n // Close the original socket, and a new \"fake\" socket is returned\n // instead, so that the proxy doesn't get the HTTP request\n // written to it (which may contain `Authorization` headers or other\n // sensitive data).\n //\n // See: https://hackerone.com/reports/541502\n socket.destroy();\n const fakeSocket = new net.Socket({ writable: false });\n fakeSocket.readable = true;\n // Need to wait for the \"socket\" event to re-play the \"data\" events.\n req.once('socket', (s) => {\n debug('Replaying proxy buffer for failed request');\n (0, assert_1.default)(s.listenerCount('data') > 0);\n // Replay the \"buffered\" Buffer onto the fake `socket`, since at\n // this point the HTTP module machinery has been hooked up for\n // the user.\n s.push(buffered);\n s.push(null);\n });\n return fakeSocket;\n }\n}\nHttpsProxyAgent.protocols = ['http', 'https'];\nexports.HttpsProxyAgent = HttpsProxyAgent;\nfunction resume(socket) {\n socket.resume();\n}\nfunction omit(obj, ...keys) {\n const ret = {};\n let key;\n for (key in obj) {\n if (!keys.includes(key)) {\n ret[key] = obj[key];\n }\n }\n return ret;\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseProxyResponse = void 0;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst debug = (0, debug_1.default)('https-proxy-agent:parse-proxy-response');\nfunction parseProxyResponse(socket) {\n return new Promise((resolve, reject) => {\n // we need to buffer any HTTP traffic that happens with the proxy before we get\n // the CONNECT response, so that if the response is anything other than an \"200\"\n // response code, then we can re-play the \"data\" events on the socket once the\n // HTTP parser is hooked up...\n let buffersLength = 0;\n const buffers = [];\n function read() {\n const b = socket.read();\n if (b)\n ondata(b);\n else\n socket.once('readable', read);\n }\n function cleanup() {\n socket.removeListener('end', onend);\n socket.removeListener('error', onerror);\n socket.removeListener('readable', read);\n }\n function onend() {\n cleanup();\n debug('onend');\n reject(new Error('Proxy connection ended before receiving CONNECT response'));\n }\n function onerror(err) {\n cleanup();\n debug('onerror %o', err);\n reject(err);\n }\n function ondata(b) {\n buffers.push(b);\n buffersLength += b.length;\n const buffered = Buffer.concat(buffers, buffersLength);\n const endOfHeaders = buffered.indexOf('\\r\\n\\r\\n');\n if (endOfHeaders === -1) {\n // keep buffering\n debug('have not received end of HTTP headers yet...');\n read();\n return;\n }\n const headerParts = buffered\n .slice(0, endOfHeaders)\n .toString('ascii')\n .split('\\r\\n');\n const firstLine = headerParts.shift();\n if (!firstLine) {\n socket.destroy();\n return reject(new Error('No header received from proxy CONNECT response'));\n }\n const firstLineParts = firstLine.split(' ');\n const statusCode = +firstLineParts[1];\n const statusText = firstLineParts.slice(2).join(' ');\n const headers = {};\n for (const header of headerParts) {\n if (!header)\n continue;\n const firstColon = header.indexOf(':');\n if (firstColon === -1) {\n socket.destroy();\n return reject(new Error(`Invalid header from proxy CONNECT response: \"${header}\"`));\n }\n const key = header.slice(0, firstColon).toLowerCase();\n const value = header.slice(firstColon + 1).trimStart();\n const current = headers[key];\n if (typeof current === 'string') {\n headers[key] = [current, value];\n }\n else if (Array.isArray(current)) {\n current.push(value);\n }\n else {\n headers[key] = value;\n }\n }\n debug('got proxy server response: %o %o', firstLine, headers);\n cleanup();\n resolve({\n connect: {\n statusCode,\n statusText,\n headers,\n },\n buffered,\n });\n }\n socket.on('error', onerror);\n socket.on('end', onend);\n read();\n });\n}\nexports.parseProxyResponse = parseProxyResponse;\n//# sourceMappingURL=parse-proxy-response.js.map","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet flagForceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tflagForceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tflagForceColor = 1;\n}\n\nfunction envForceColor() {\n\tif ('FORCE_COLOR' in env) {\n\t\tif (env.FORCE_COLOR === 'true') {\n\t\t\treturn 1;\n\t\t}\n\n\t\tif (env.FORCE_COLOR === 'false') {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, {streamIsTTY, sniffFlags = true} = {}) {\n\tconst noFlagForceColor = envForceColor();\n\tif (noFlagForceColor !== undefined) {\n\t\tflagForceColor = noFlagForceColor;\n\t}\n\n\tconst forceColor = sniffFlags ? flagForceColor : noFlagForceColor;\n\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (sniffFlags) {\n\t\tif (hasFlag('color=16m') ||\n\t\t\thasFlag('color=full') ||\n\t\t\thasFlag('color=truecolor')) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (hasFlag('color=256')) {\n\t\t\treturn 2;\n\t\t}\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE', 'DRONE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream, options = {}) {\n\tconst level = supportsColor(stream, {\n\t\tstreamIsTTY: stream && stream.isTTY,\n\t\t...options\n\t});\n\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: getSupportLevel({isTTY: tty.isatty(1)}),\n\tstderr: getSupportLevel({isTTY: tty.isatty(2)})\n};\n","\nvar encrypt_lookup = [\n \"Z\",\n \"m\",\n \"s\",\n \"e\",\n \"r\",\n \"b\",\n \"B\",\n \"o\",\n \"H\",\n \"Q\",\n \"t\",\n \"N\",\n \"P\",\n \"+\",\n \"w\",\n \"O\",\n \"c\",\n \"z\",\n \"a\",\n \"/\",\n \"L\",\n \"p\",\n \"n\",\n \"g\",\n \"G\",\n \"8\",\n \"y\",\n \"J\",\n \"q\",\n \"4\",\n \"2\",\n \"K\",\n \"W\",\n \"Y\",\n \"j\",\n \"0\",\n \"D\",\n \"S\",\n \"f\",\n \"d\",\n \"i\",\n \"k\",\n \"x\",\n \"3\",\n \"V\",\n \"T\",\n \"1\",\n \"6\",\n \"I\",\n \"l\",\n \"U\",\n \"A\",\n \"F\",\n \"M\",\n \"9\",\n \"7\",\n \"h\",\n \"E\",\n \"C\",\n \"v\",\n \"u\",\n \"R\",\n \"X\",\n \"5\"\n];\n\nlet esm_typeof = {}\nesm_typeof.A = function (t) {\n return typeof t\n}\n\nfunction encrypt_b64Encode(t) {\n var e = 664\n , r = 634\n , n = 448\n , o = 599\n , i = 315\n , a = 416\n , u = 512\n , s = 361\n , c = 406\n , l = 487\n , f = 496\n , p = 333\n , h = 630\n , d = 639\n , v = 548\n , g = 582\n , m = 447\n , y = 468\n , w = 375\n , b = 331\n , _ = 149\n , E = 382\n , x = 265\n , k = 625\n , T = 570\n , S = 551\n , A = 582\n , L = 581\n , I = 638\n , R = 618\n , O = 606\n , C = 429\n , N = 651\n , P = 667\n , B = 817\n , M = 333\n , j = 567\n , F = 747\n , D = 561\n , q = 570\n , U = 676\n , G = 840\n , H = 240\n , V = {\n udFrB: function (t, e) {\n return t % e\n },\n cCZFe: function (t, e) {\n return t === e\n },\n jevwl: function (t, e) {\n return t - e\n },\n aqlTy: function (t, e) {\n return t + e\n },\n rceYY: function (t, e) {\n return t >> e\n },\n OwjMq: function (t, e) {\n return t & e\n },\n kSGXO: function (t, e) {\n return t << e\n },\n veNiI: function (t, e) {\n return t === e\n },\n QLthP: function (t, e) {\n return t + e\n },\n wDtJz: function (t, e) {\n return t + e\n },\n nYqUQ: function (t, e) {\n return t & e\n },\n TCArD: function (t, e) {\n return t << e\n },\n RHteb: function (t, e) {\n return t - e\n },\n mZPJZ: function (t, e) {\n return t < e\n },\n zDETq: function (t, e, r, n) {\n return t(e, r, n)\n },\n YlZGp: function (t, e) {\n return t > e\n }\n };\n function W(t, e) {\n return a0_0x10f4ac(e, t - -H)\n }\n for (var X = (W(-413, -442) + W(-e, -r) + \"7\")[W(-n, -o)](\"|\"), z = 0; ;) {\n switch (X[z++]) {\n case \"0\":\n var Y;\n continue;\n case \"1\":\n var K = [];\n continue;\n case \"2\":\n var J = V[W(-i, -a)]($, 3);\n continue;\n case \"3\":\n var $ = t[W(-350, -u)];\n continue;\n case \"4\":\n V[W(-s, -c)](J, 1) ? (Y = t[V[W(-l, -f)]($, 1)],\n K[W(-p, -346)](V[W(-h, -d)](encrypt_lookup[V[W(-503, -v)](Y, 2)] + encrypt_lookup[V[W(-g, -741)](V[W(-331, -m)](Y, 4), 63)], \"==\"))) : V[W(-y, -w)](J, 2) && (Y = V[W(-b, -_)](t[$ - 2], 8) + t[V[W(-l, -E)]($, 1)],\n K[W(-333, -x)](V[W(-k, -505)](V[W(-T, -S)](encrypt_lookup[Y >> 10], encrypt_lookup[V[W(-A, -L)](Y >> 4, 63)]) + encrypt_lookup[V[W(-I, -R)](V[W(-O, -C)](Y, 2), 63)], \"=\")));\n continue;\n case \"5\":\n var Q = 16383;\n continue;\n case \"6\":\n for (var Z = 0, tt = V[W(-509, -N)]($, J); V[W(-P, -B)](Z, tt); Z += Q)\n K[W(-M, -153)](V[W(-j, -F)](encrypt_encodeChunk, t, Z, V[W(-D, -413)](Z + Q, tt) ? tt : V[W(-q, -501)](Z, Q)));\n continue;\n case \"7\":\n return K[W(-U, -G)](\"\")\n }\n break\n }\n}\n\nfunction encrypt_encodeUtf8(t) {\n var e = 185\n , r = 410\n , n = 480\n , o = 222\n , i = 194\n , a = 165\n , u = 147\n , s = 290\n , c = 460\n , l = 472\n , f = 497\n , p = 462\n , h = 286\n , d = 209\n , v = 223\n , g = 590\n , m = {\n bIGxm: function (t, e) {\n return t(e)\n },\n MahgM: function (t, e) {\n return t < e\n },\n czxKn: function (t, e) {\n return t === e\n },\n clYIu: function (t, e) {\n return t + e\n }\n }\n , y = m[b(477, 488)](encodeURIComponent, t)\n , w = [];\n function b(t, e) {\n return a0_0x10f4ac(t, e - g)\n }\n for (var _ = 0; m[b(333, e)](_, y[b(r, n)]); _++) {\n var E = y[b(o, 290)](_);\n if (m[b(i, a)](E, \"%\")) {\n var x = y[b(u, s)](m[b(574, 472)](_, 1)) + y[b(c, 290)](m[b(605, l)](_, 2))\n , k = parseInt(x, 16);\n w[b(592, f)](k),\n _ += 2\n } else\n w[b(p, f)](E[b(217, h) + b(d, v)](0))\n }\n return w\n}\n\nfunction sign_common(h) {\n return encrypt_b64Encode(encrypt_encodeUtf8(JSON.stringify(h)))\n}\nfunction encrypt_tripletToBase64(t) {\n var e = 11\n , r = 15\n , n = 199\n , o = 34\n , i = 4\n , a = 102\n , u = 276\n , s = 205\n , c = 218\n , l = 11\n , f = 115\n , p = 34\n , h = 161\n , d = 123\n , v = 335\n , g = {};\n function m(t, e) {\n return a0_0x10f4ac(e, t - v)\n }\n g[m(205, 328)] = function (t, e) {\n return t + e\n }\n ,\n g[m(e, 53)] = function (t, e) {\n return t >> e\n }\n ,\n g[m(r, n)] = function (t, e) {\n return t & e\n }\n ,\n g[m(o, i)] = function (t, e) {\n return t >> e\n }\n ,\n g[m(-a, -u)] = function (t, e) {\n return t & e\n }\n ;\n var y = g;\n return y[m(s, c)](encrypt_lookup[63 & y[m(l, -75)](t, 18)], encrypt_lookup[y[m(r, f)](y[m(p, h)](t, 12), 63)]) + encrypt_lookup[t >> 6 & 63] + encrypt_lookup[y[m(-a, -d)](t, 63)]\n}\nfunction encrypt_encodeChunk(t, e, r) {\n var n, o = 165, i = 246, a = 205, u = 353, s = 162, c = 17, l = 351, f = 191, p = 139, h = 79, d = 86, v = 233, g = 270, m = 166, y = {\n hwomB: function (t, e) {\n return t < e\n },\n iHUeL: function (t, e) {\n return t & e\n },\n ELxEv: function (t, e) {\n return t << e\n },\n lBuRH: function (t, e) {\n return t << e\n },\n SkIJl: function (t, e) {\n return t & e\n },\n JYxWY: function (t, e) {\n return t + e\n },\n CxjtF: function (t, e) {\n return t(e)\n }\n }, w = [];\n function b(t, e) {\n return a0_0x10f4ac(t, e - m)\n }\n for (var _ = e; y[b(-63, -o)](_, r); _ += 3)\n n = y[b(-i, -a)](y[b(-166, -124)](t[_], 16), 16711680) + y[b(-u, -205)](y[b(s, -c)](t[_ + 1], 8), 65280) + y[b(-l, -208)](t[y[b(-350, -f)](_, 2)], 255),\n w[b(p, 73)](y[b(h, d)](encrypt_tripletToBase64, n));\n return w[b(-v, -g)](\"\")\n}\n\nfunction a0_0x3693(t, e) {\n var r = [\n \"xUKNL\",\n \"jUrZI\",\n \"rviFu\",\n \"join\",\n \"get\",\n \"LjDtD\",\n \"ZJHyP\",\n \"wOmGY\",\n \"enumera\",\n \"aONWR\",\n \"string\",\n \"kQpMi\",\n \"mZPJZ\",\n \"Ysiay\",\n \"czxKn\",\n \"|5|6|4|\",\n \"prototy\",\n \"jklmnop\",\n \"MuYbw\",\n \"diDwk\",\n \"TRFtx\",\n \"drDHI\",\n \"WLARA\",\n \"xyz0123\",\n \"asBytes\",\n \"|6|0|1|\",\n \"JOtEi\",\n \"Oialn\",\n \"OQrEi\",\n \"uPnXq\",\n \"VWXYZab\",\n \"cIbFa\",\n \"qYuta\",\n \"QDOZZ\",\n \"MahgM\",\n \"iRXZq\",\n \"22098XlFGYn\",\n \"mmLKn\",\n \"jMcIE\",\n \"stringi\",\n \"[object\",\n \"nYqUQ\",\n \"jSgjk\",\n \"ucyEo\",\n \"iewJI\",\n \"vgTwl\",\n \"DnNGR\",\n \"oBytes\",\n \"Xtwzk\",\n \"aqlTy\",\n \"JWnPK\",\n \"1|0|2|4\",\n \"qrstuvw\",\n \"_gg\",\n \"QLthP\",\n \"FJIWy\",\n \"yRnhISG\",\n \"pjUsr\",\n \"KAwuh\",\n \"Thhoa\",\n \"jarkJ\",\n \"WjRNN\",\n \"asStrin\",\n \"x3VT16I\",\n \"357835LaQWjW\",\n \"SkIJl\",\n \"size\",\n \"iyorr\",\n \"iHUeL\",\n \"tTanW\",\n \"tNusJ\",\n \"NiSrP\",\n \"eAt\",\n \"TCArD\",\n \"a2r1ZQo\",\n \"iamspam\",\n \"bOnfu\",\n \"UNSKg\",\n \"HIJKLMN\",\n \"ZfMKC\",\n \"bJhXU\",\n \"zwAAc\",\n \"JYxWY\",\n \"lUAFM97\",\n \"mwaRe\",\n \"EzYWD\",\n \"replace\",\n \"uOtUJ\",\n \"__esMod\",\n \"ViQWI\",\n \"aCMFL\",\n \"EAKSd\",\n \"ule\",\n \"pqnFP\",\n \"qYDsL\",\n \"270726pnaYfG\",\n \"glBZG\",\n \"OwjMq\",\n \"YGrjc\",\n \"ZhAcd\",\n \"JDqFL\",\n \"456789+\",\n \"kEjQs\",\n \"lWhbD\",\n \"OaLTI\",\n \"dXlgm\",\n \"cVte9UJ\",\n \"ctor\",\n \"hwomB\",\n \"wDtJz\",\n \"constru\",\n \"ABHuC\",\n \"zDETq\",\n \"SYNeA\",\n \"BGbij\",\n \"ionFq\",\n \"QzaNS\",\n \"7|3|5|4\",\n \"YlZGp\",\n \"Bjniw\",\n \"ZITuN\",\n \"KPTzH\",\n \"HrBeq\",\n \"xobsT\",\n \"kXJkC\",\n \"QSrEZ\",\n \"ENXtO\",\n \"FYbRJ\",\n \"wOcza/L\",\n \"_hh\",\n \"dVXMb\",\n \"ppkua\",\n \"WgamZ\",\n \"HuwCW\",\n \"362424fnLCuh\",\n \"charCod\",\n \"HhPqg\",\n \"ODunI\",\n \"eJzqq\",\n \"charAt\",\n \"JGAgI\",\n \"ZmserbB\",\n \"TURcG\",\n \"WyrqF\",\n \"iYJzH\",\n \"VIwfH\",\n \"tzzOB\",\n \"YgiCH\",\n \"byyMQ\",\n \"ELxEv\",\n \"0DSfdik\",\n \"HRihr\",\n \"_ii\",\n \"aDsrp\",\n \"ble\",\n \"jTGtW\",\n \"configu\",\n \"cXiYW\",\n \"56kSpAsC\",\n \"158KIldlA\",\n \"oHQtNP+\",\n \"BHavO\",\n \"PCIlh\",\n \"QatIf\",\n \"IKyqh\",\n \"Words\",\n \"Qwnrg\",\n \"44lQAgNu\",\n \"cdefghi\",\n \"nTwxD\",\n \"RHteb\",\n \"coqPr\",\n \"rJwmI\",\n \"aBoeK\",\n \"default\",\n \"exports\",\n \"rceYY\",\n \"isArray\",\n \"mdKKO\",\n \"kzxWE\",\n \"DeBtm\",\n \"tjjUn\",\n \"vJEcD\",\n \"LpfE8xz\",\n \"bin\",\n \"HKazo\",\n \"rable\",\n \"call\",\n \"wordsTo\",\n \"zBiyt\",\n \"GrsGL\",\n \"fqulF\",\n \"jevwl\",\n \"mxfLj\",\n \"xlUnt\",\n \"q42KWYj\",\n \"endian\",\n \"eEqDc\",\n \"oyGAZ\",\n \"bytesTo\",\n \"OzjuJ\",\n \"IfwWq\",\n \"ize\",\n \"6648810piiNEz\",\n \"lTHdy\",\n \"vDLZJ\",\n \"stringT\",\n \"A4NjFqY\",\n \"GkjTz\",\n \"eooJA\",\n \"substr\",\n \"veNiI\",\n \"LYfDp\",\n \"ljKsP\",\n \"jJYWG\",\n \"bcYAf\",\n \"srikB\",\n \"utf8\",\n \"qTbeY\",\n \"yqRzd\",\n \"|3|5\",\n \"bjbAy\",\n \" Array]\",\n \"rMbXP\",\n \"u5wPHsO\",\n \"test\",\n \"gMIMC\",\n \"Deyqv\",\n \" argume\",\n \"ABCDEFG\",\n \"undefin\",\n \"split\",\n \"QTlsj\",\n \"_isBuff\",\n \"OPQRSTU\",\n \"Illegal\",\n \"loSen\",\n \"navigat\",\n \"ObwNo\",\n \"qPbcq\",\n \"7182692QogvXX\",\n \"tvqSn\",\n \"DGptJ\",\n \"HhTfW\",\n \"avIYx\",\n \"defineP\",\n \"PFQbW\",\n \"CjFyM\",\n \"toStrin\",\n \"yMWXS\",\n \"yMyOy\",\n \"0XTdDgM\",\n \"eXkru\",\n \"_blocks\",\n \"indexOf\",\n \"mbBQr\",\n \"lBuRH\",\n \"HzGjH\",\n \"HNErV\",\n \"mEokX\",\n \"userAge\",\n \"UpmtD\",\n \"sgomx\",\n \"KDfKS\",\n \"OTbSq\",\n \"lxMGW\",\n \"0|3|2|1\",\n \"dfWyB\",\n \"lWzAd\",\n \"eyXTL\",\n \"5624qreyZK\",\n \"pow\",\n \"IJstz\",\n \"LMlMB\",\n \"INlwI\",\n \"lRulU\",\n \"TCgZh\",\n \"_digest\",\n \"UBhIl\",\n \"fLtZZ\",\n \"FYSKq\",\n \"2|8|0\",\n \"IoCeZ\",\n \" Object\",\n \"UuTvI\",\n \"lNKLD\",\n \"String\",\n \"Bytes\",\n \"rBVvW\",\n \"KblCWi+\",\n \"pRaIH\",\n \"roperty\",\n \"vTINI\",\n \"atLE\",\n \"functio\",\n \"Udqoy\",\n \"nt \",\n \"htSWx\",\n \"hEwRK\",\n \"encodin\",\n \"sCSVK\",\n \"VuAZF\",\n \"xeIIy\",\n \"RBjMb\",\n \"taTrq\",\n \"vDLFJ\",\n \"bPkya\",\n \"HzimH\",\n \"nCffO\",\n \"BWbtU\",\n \"2|8\",\n \"slice\",\n \"lxMGQ\",\n \"tTiwe\",\n \"JDhJB\",\n \"rCode\",\n \"gNDzY\",\n \"wJkyu\",\n \"cCZFe\",\n \"RNGSl\",\n \"floor\",\n \"clYIu\",\n \"vLiwz\",\n \"BiNSE\",\n \"MtYWB\",\n \"fromCha\",\n \"StNOc\",\n \"|7|5|3|\",\n \"9|1|4|6\",\n \"length\",\n \"UNYAE\",\n \"pngG8yJ\",\n \"hasOwnP\",\n \"pYeWu\",\n \"wTjkk\",\n \"Bvk6/7=\",\n \"KTmgk\",\n \"bIGxm\",\n \"readFlo\",\n \"LFZch\",\n \"_ff\",\n \"1|3|4|2\",\n \"binary\",\n \"LLdJZ\",\n \"ZofOU\",\n \"6399uFPxTQ\",\n \"push\",\n \"YntPT\",\n \"kSGXO\",\n \"random\",\n \"HfpCU\",\n \"hECvuRX\",\n \"getTime\",\n \"iwSyV\",\n \"alert\",\n \"LKMcb\",\n \"DJVdg\",\n \"Hex\",\n \"URzKO\",\n \"CxjtF\",\n \"ZVOCs\",\n \"isBuffe\",\n \"vGpbT\",\n \"rotl\",\n \"udFrB\",\n \"CnbsH\",\n \"crLST\"\n ]\n return r[t -= 131]\n}\nfunction a0_0x10f4ac(t, e) {\n return a0_0x3693(e - -570, t)\n}\n\nvar encrypt_mcr = function (t) {\n var e = 67\n , r = 15\n , n = 164\n , o = 126\n , i = 137\n , a = 39\n , u = 176\n , s = 72\n , c = 56\n , l = 21\n , f = 35\n , p = 34\n , h = 35\n , d = 18\n , v = 25\n , g = 185\n , m = 1149\n , y = 744\n , w = 1295\n , b = 1248\n , _ = 1310\n , E = 1096\n , x = 1166\n , k = 1095\n , T = 1196\n , S = 1180\n , A = 1039\n , L = 976\n , R = 1347\n , I = 1117\n , O = 1168\n , C = 1233\n , N = 1157\n , P = 1006\n , B = 1122\n , M = 1277\n , j = 1288\n , F = 1271\n , D = 986\n , q = 162\n , U = {};\n function H(t, e) {\n return a0_0x10f4ac(e, t - q)\n }\n U[H(-73, -66)] = function (t, e) {\n return t === e\n }\n ,\n U[H(e, 186)] = function (t, e) {\n return t < e\n }\n ,\n U[H(-r, -n)] = function (t, e) {\n return t ^ e\n }\n ,\n U[H(r, -o)] = function (t, e) {\n return t & e\n }\n ,\n U[H(-i, -a)] = function (t, e) {\n return t < e\n }\n ,\n U[H(-175, -u)] = function (t, e) {\n return t ^ e\n }\n ,\n U[H(-59, s)] = function (t, e) {\n return t ^ e\n }\n ,\n U[H(-c, -l)] = function (t, e) {\n return t >>> e\n }\n ,\n U[H(f, p)] = function (t, e) {\n return t >>> e\n }\n ;\n for (var G, V, W = U, z = 3988292384, X = 256, Y = []; X--; Y[X] = W[H(h, -66)](G, 0))\n for (V = 8,\n G = X; V--;)\n G = W[H(r, d)](G, 1) ? W[H(35, v)](G, 1) ^ z : W[H(h, g)](G, 1);\n return function (t) {\n function e(t, e) {\n return H(e - 1181, t)\n }\n if (W[e(m, 1108)]((0,\n esm_typeof.A)(t), e(y, 914))) {\n for (var r = 0, n = -1; W[e(w, b)](r, t[e(_, 1233)]); ++r)\n n = W[e(E, x)](Y[W[e(k, T)](n, 255) ^ t[e(S, A) + e(1022, L)](r)], n >>> 8);\n return W[e(R, 1166)](n, -1) ^ z\n }\n for (r = 0,\n n = -1; W[e(I, 1044)](r, t[e(O, C)]); ++r)\n n = W[e(N, P)](Y[W[e(1229, B)](W[e(M, T)](n, 255), t[r])], W[e(j, 1125)](n, 8));\n return W[e(F, B)](W[e(D, 1122)](n, -1), z)\n }\n}();\n\nfunction GenXSCommon(a1cookie, x_t, x_s) {\n let b1 = 'I38rHdgsjopgIvesdVwgIC+oIELmBZ5e3VwXLgFTIxS3bqwErFeexd0ekncAzMFYnqthIhJeSnMDKutRI3KsYorWHPtGrbV0P9WfIi/eWc6eYqtyQApPI37ekmR1QL+5Ii6sdnoeSfqYHqwl2qt5B0DoIvMzOZQqZVw7IxOeTqwr4qtiIkrOIi/skccxICLdI3Oe0utl2ADZsLveDSKsSPw5IEvsiutJOqw8BVwfPpdeTDWOIx4VIiu6ZPwbPut5IvlaLbgs3qtxIxes1VwHIkumIkIyejgsY/WTge7sjutKrZgedWI9gfKeYWZGI36eWPwyIEJefut0ocVAPBLLI3Aeiqt3cZ7sVom4IESyIhEqQd4AICY24F4gIiifpVwAICZVJo3sWWJs1qwiIvdef97e0ekKIi/e1piS8qwUIE7s1fds6WAeiVwqed5sdut3IxILbd6sdqtDbgKs0PwgIv8aI3z5rqwGBVtwzfTsKD7sdBdskut+Iioed/As1SiiIkKs0F6s3nVuIkge1Pt0IkVkwPwwNVtMI3/e1qtdIkKs1VwVIEesdutA+qwKsuw7IvrRIxDgJfIj2IJexVtVIhiKIi6eDVw/bz4zLadsYjmfIkWo4VtPmVw5IvAe3qtk+LJeTl5sTSEyIEJekdgs3PtsnPwqI35sSPt0Ih/sV04TIk0ejjNsfqw7Iv3sVut04B8qIkWyIvKsxFOekzNsdAKsYPtKIiMFI3MurVtKIvzjIh6s6lFut//sWqtaI3IYbuwl'\n let h = {\n \"s0\": 3,\n \"s1\": \"\",\n \"x0\": \"1\",\n \"x1\": \"3.6.8\",\n \"x2\": \"Mac OS\",\n \"x3\": \"xhs-pc-web\",\n \"x4\": \"4.20.1\",\n \"x5\": a1cookie, // a1 cookie\n \"x6\": x_t,\n \"x7\": x_s,\n \"x8\": b1,\n \"x9\": encrypt_mcr(x_t + x_s + b1),\n \"x10\": 1,\n }\n\n return sign_common(h)\n}\n\nmodule.exports = GenXSCommon\n\n\n// let a1 = '195b24e679dmxgripk2o89yld9kdnoklz0h04octb40000365251';\n// let x_t = 1754108104611;\n// const x_s = 'XYS_2UQhPsHCH0c1PjhFHjIj2erjwjQM89PjNsQhPjHCHDlkJdphHjIj2ePjwjQTJdPIP/ZlgAmGy0Yt4Lh3cFq34DE84F+ewBrM/9IUwebz8F+3J9Qi+SQD8dzN4e8EPeYS2eb7c0mTc9Yrc7z14nI3nLkQcDSenLkG4sR68FVM+nSF2e+NJ9zca0mkzrTj4DV3GMqMpoS3yeWEznbM+L40wn4Lpbb9zr+7/SW6PMYYzeQ1aFTI8gm8J/YL/FzTc0D6zgSyPjTy+0Ys+7c38g8NLSQD8AWjNsQh+sHCHfRjyfp04sQR'\n\n// console.log(GenXSCommon(a1, x_t, x_s));\n","const a0_0x45db08=a0_0x4b0d;function a0_0x4b0d(_0x2bd218,_0x316d6){const _0x165410=a0_0x1654();return a0_0x4b0d=function(_0x4b0d73,_0x5794db){_0x4b0d73=_0x4b0d73-0x84;let _0x1859e3=_0x165410[_0x4b0d73];return _0x1859e3;},a0_0x4b0d(_0x2bd218,_0x316d6);}(function(_0x1b2596,_0x16c0e0){const _0x1227f1=a0_0x4b0d,_0x46fb59=_0x1b2596();while(!![]){try{const _0x383dd4=parseInt(_0x1227f1(0x85))/0x1+-parseInt(_0x1227f1(0xb0))/0x2*(-parseInt(_0x1227f1(0x9b))/0x3)+parseInt(_0x1227f1(0xaa))/0x4+-parseInt(_0x1227f1(0xa0))/0x5*(parseInt(_0x1227f1(0x9d))/0x6)+parseInt(_0x1227f1(0x86))/0x7+-parseInt(_0x1227f1(0xab))/0x8*(parseInt(_0x1227f1(0x8d))/0x9)+parseInt(_0x1227f1(0x91))/0xa;if(_0x383dd4===_0x16c0e0)break;else _0x46fb59['push'](_0x46fb59['shift']());}catch(_0x4fc071){_0x46fb59['push'](_0x46fb59['shift']());}}}(a0_0x1654,0x807f8));const Random=Math['random'](),Ts=Date['now'](),Sm3DoneTs=Ts+0x30,xhrParaDoneTs=Ts+0x109,xhrReqDoneTs=Ts+0x10af0;function a0_0x1654(){const _0x46e031=['floor','dhzx','map','_compress','charCodeAt','min','invalid\\x20j\\x20for\\x20constant\\x20Tj','reset','662|856|1920|977|1920|977|1920|1080|Linux\\x20x86_64','6GqxJwW','error','1578UVUSyW','fromCharCode','replace','17445vhaSjq','isNaN','toString','push','length','write','reduce','charAt','reg','split','2475936ufrFMu','2137592VTpBSF','join','Dkdpgh2ZmsQB80/MfvV36XI1R45-WUAlEixNLwoqYTOPuzKFjJnry79HbGcaStCe','exports','fmUmtNjj1OfTrR716RULEyQaLPrOG1jpZz0/4Tyzr7/IbcOXs8PxVxHmrAIsIMm6IfTserj+JgCbPHUssUmedGKwCrIziubgSU0FT1MmqPOZXcPDGB3xUyq+vaM7HZyYgJtKyMR=','48064qVwnFy','concat','prototype','167524mhzzJE','5968354Oyyfma','chunk','string','forEach','size','slice','sort','9BjSPrC','sum','repeat','splice','239400JtRPVl'];a0_0x1654=function(){return _0x46e031;};return a0_0x1654();}class SM3Hasher{constructor(){const _0x468533=a0_0x4b0d;this[_0x468533(0xa8)]=new Array(0x8),this[_0x468533(0x87)]=[],this[_0x468533(0x8a)]=0x0,this[_0x468533(0x99)]();}[a0_0x45db08(0x99)](){const _0x11e792=a0_0x45db08;this[_0x11e792(0xa8)][0x0]=0x7380166f,this[_0x11e792(0xa8)][0x1]=0x4914b2b9,this['reg'][0x2]=0x172442d7,this[_0x11e792(0xa8)][0x3]=0xda8a0600,this['reg'][0x4]=0xa96f30bc,this[_0x11e792(0xa8)][0x5]=0x163138aa,this[_0x11e792(0xa8)][0x6]=0xe38dee4d,this[_0x11e792(0xa8)][0x7]=0xb0fb0e4e,this[_0x11e792(0x87)]=[],this[_0x11e792(0x8a)]=0x0;}[a0_0x45db08(0xa5)](_0x22d1ef){const _0x182388=a0_0x45db08;var _0x2ded18=_0x182388(0x88)==typeof _0x22d1ef?function(_0x5e491d){const _0x12d911=_0x182388;var _0x5795ab=encodeURIComponent(_0x5e491d)[_0x12d911(0x9f)](/%([0-9A-F]{2})/g,function(_0x22d98b,_0x5659da){const _0x357908=_0x12d911;return String[_0x357908(0x9e)]('0x'+_0x5659da);}),_0x5c0d1c=new Array(_0x5795ab['length']);return Array[_0x12d911(0x84)][_0x12d911(0x89)]['call'](_0x5795ab,function(_0x2e8583,_0x28f42f){const _0x4b2a85=_0x12d911;_0x5c0d1c[_0x28f42f]=_0x2e8583[_0x4b2a85(0x96)](0x0);}),_0x5c0d1c;}(_0x22d1ef):_0x22d1ef;this['size']+=_0x2ded18['length'];var _0xffe4ea=0x40-this[_0x182388(0x87)][_0x182388(0xa4)];if(_0x2ded18[_0x182388(0xa4)]<_0xffe4ea)this['chunk']=this[_0x182388(0x87)][_0x182388(0xb1)](_0x2ded18);else{for(this['chunk']=this[_0x182388(0x87)][_0x182388(0xb1)](_0x2ded18[_0x182388(0x8b)](0x0,_0xffe4ea));this[_0x182388(0x87)]['length']>=0x40;)this['_compress'](this[_0x182388(0x87)]),_0xffe4ea<_0x2ded18[_0x182388(0xa4)]?this['chunk']=_0x2ded18[_0x182388(0x8b)](_0xffe4ea,Math[_0x182388(0x97)](_0xffe4ea+0x40,_0x2ded18['length'])):this[_0x182388(0x87)]=[],_0xffe4ea+=0x40;}}[a0_0x45db08(0x8e)](_0x34ff8d,_0xecf9f6){const _0x3ddb20=a0_0x45db08;_0x34ff8d&&(this[_0x3ddb20(0x99)](),this[_0x3ddb20(0xa5)](_0x34ff8d)),this['_fill']();for(var _0x28ac8a=0x0;_0x28ac8a<this[_0x3ddb20(0x87)][_0x3ddb20(0xa4)];_0x28ac8a+=0x40)this[_0x3ddb20(0x95)](this[_0x3ddb20(0x87)]['slice'](_0x28ac8a,_0x28ac8a+0x40));var _0x117621,_0x335539,_0x450e58,_0x5b1ad8=null;if('hex'==_0xecf9f6){_0x5b1ad8='';for(_0x28ac8a=0x0;_0x28ac8a<0x8;_0x28ac8a++)_0x5b1ad8+=(_0x117621=this[_0x3ddb20(0xa8)][_0x28ac8a][_0x3ddb20(0xa2)](0x10),_0x335539=0x8,_0x450e58='0',_0x117621[_0x3ddb20(0xa4)]>=_0x335539?_0x117621:_0x450e58[_0x3ddb20(0x8f)](_0x335539-_0x117621[_0x3ddb20(0xa4)])+_0x117621);}else for(_0x5b1ad8=new Array(0x20),_0x28ac8a=0x0;_0x28ac8a<0x8;_0x28ac8a++){var _0x46ad66=this[_0x3ddb20(0xa8)][_0x28ac8a];_0x5b1ad8[0x4*_0x28ac8a+0x3]=(0xff&_0x46ad66)>>>0x0,_0x46ad66>>>=0x8,_0x5b1ad8[0x4*_0x28ac8a+0x2]=(0xff&_0x46ad66)>>>0x0,_0x46ad66>>>=0x8,_0x5b1ad8[0x4*_0x28ac8a+0x1]=(0xff&_0x46ad66)>>>0x0,_0x46ad66>>>=0x8,_0x5b1ad8[0x4*_0x28ac8a]=(0xff&_0x46ad66)>>>0x0;}return this[_0x3ddb20(0x99)](),_0x5b1ad8;}['_fill'](){const _0xa844a0=a0_0x45db08;var _0x15bc36=0x8*this[_0xa844a0(0x8a)],_0x4a32f3=this['chunk'][_0xa844a0(0xa3)](0x80)%0x40;for(0x40-_0x4a32f3<0x8&&(_0x4a32f3-=0x40);_0x4a32f3<0x38;_0x4a32f3++)this[_0xa844a0(0x87)][_0xa844a0(0xa3)](0x0);for(var _0x36cc0b=0x0;_0x36cc0b<0x4;_0x36cc0b++){var _0xd7dcfe=Math[_0xa844a0(0x92)](_0x15bc36/0x100000000);this['chunk'][_0xa844a0(0xa3)](_0xd7dcfe>>>0x8*(0x3-_0x36cc0b)&0xff);}for(_0x36cc0b=0x0;_0x36cc0b<0x4;_0x36cc0b++)this[_0xa844a0(0x87)][_0xa844a0(0xa3)](_0x15bc36>>>0x8*(0x3-_0x36cc0b)&0xff);}[a0_0x45db08(0x95)](_0x1e530c){const _0x3c50af=a0_0x45db08;function _0x3da582(_0x14b06e,_0x4ec82e){return(_0x14b06e<<(_0x4ec82e%=0x20)|_0x14b06e>>>0x20-_0x4ec82e)>>>0x0;}function _0x489962(_0x5dd43e){const _0x744660=a0_0x4b0d;return 0x0<=_0x5dd43e&&_0x5dd43e<0x10?0x79cc4519:0x10<=_0x5dd43e&&_0x5dd43e<0x40?0x7a879d8a:void console[_0x744660(0x9c)](_0x744660(0x98));}function _0x197f71(_0x5e22dd,_0xfc800b,_0x1300f1,_0xed8891){const _0x3414cb=a0_0x4b0d;return 0x0<=_0x5e22dd&&_0x5e22dd<0x10?(_0xfc800b^_0x1300f1^_0xed8891)>>>0x0:0x10<=_0x5e22dd&&_0x5e22dd<0x40?(_0xfc800b&_0x1300f1|_0xfc800b&_0xed8891|_0x1300f1&_0xed8891)>>>0x0:(console[_0x3414cb(0x9c)]('invalid\\x20j\\x20for\\x20bool\\x20function\\x20FF'),0x0);}function _0x2f42fb(_0x326645,_0x2c63af,_0x558c0d,_0x4a902b){const _0x493bba=a0_0x4b0d;return 0x0<=_0x326645&&_0x326645<0x10?(_0x2c63af^_0x558c0d^_0x4a902b)>>>0x0:0x10<=_0x326645&&_0x326645<0x40?(_0x2c63af&_0x558c0d|~_0x2c63af&_0x4a902b)>>>0x0:(console[_0x493bba(0x9c)]('invalid\\x20j\\x20for\\x20bool\\x20function\\x20GG'),0x0);}if(_0x1e530c[_0x3c50af(0xa4)]<0x40){console[_0x3c50af(0x9c)]('compress\\x20error:\\x20not\\x20enough\\x20data');return;}else{for(var _0x23a9bd=function(_0x7114f5){for(var _0x49cf1f=new Array(0x84),_0x698c70=0x0;_0x698c70<0x10;_0x698c70++)_0x49cf1f[_0x698c70]=_0x7114f5[0x4*_0x698c70]<<0x18,_0x49cf1f[_0x698c70]|=_0x7114f5[0x4*_0x698c70+0x1]<<0x10,_0x49cf1f[_0x698c70]|=_0x7114f5[0x4*_0x698c70+0x2]<<0x8,_0x49cf1f[_0x698c70]|=_0x7114f5[0x4*_0x698c70+0x3],_0x49cf1f[_0x698c70]>>>=0x0;for(var _0xe5328=0x10;_0xe5328<0x44;_0xe5328++){var _0x2b58f2=_0x49cf1f[_0xe5328-0x10]^_0x49cf1f[_0xe5328-0x9]^_0x3da582(_0x49cf1f[_0xe5328-0x3],0xf);_0x2b58f2=_0x2b58f2^_0x3da582(_0x2b58f2,0xf)^_0x3da582(_0x2b58f2,0x17),_0x49cf1f[_0xe5328]=(_0x2b58f2^_0x3da582(_0x49cf1f[_0xe5328-0xd],0x7)^_0x49cf1f[_0xe5328-0x6])>>>0x0;}for(_0xe5328=0x0;_0xe5328<0x40;_0xe5328++)_0x49cf1f[_0xe5328+0x44]=(_0x49cf1f[_0xe5328]^_0x49cf1f[_0xe5328+0x4])>>>0x0;return _0x49cf1f;}(_0x1e530c),_0x17c086=this[_0x3c50af(0xa8)][_0x3c50af(0x8b)](0x0),_0x3621a2=0x0;_0x3621a2<0x40;_0x3621a2++){var _0x5959b9=_0x3da582(_0x17c086[0x0],0xc)+_0x17c086[0x4]+_0x3da582(_0x489962(_0x3621a2),_0x3621a2),_0x3b42ff=((_0x5959b9=_0x3da582(_0x5959b9=(0xffffffff&_0x5959b9)>>>0x0,0x7))^_0x3da582(_0x17c086[0x0],0xc))>>>0x0,_0x50d411=_0x197f71(_0x3621a2,_0x17c086[0x0],_0x17c086[0x1],_0x17c086[0x2]);_0x50d411=(0xffffffff&(_0x50d411=_0x50d411+_0x17c086[0x3]+_0x3b42ff+_0x23a9bd[_0x3621a2+0x44]))>>>0x0;var _0x910e21=_0x2f42fb(_0x3621a2,_0x17c086[0x4],_0x17c086[0x5],_0x17c086[0x6]);_0x910e21=(0xffffffff&(_0x910e21=_0x910e21+_0x17c086[0x7]+_0x5959b9+_0x23a9bd[_0x3621a2]))>>>0x0,_0x17c086[0x3]=_0x17c086[0x2],_0x17c086[0x2]=_0x3da582(_0x17c086[0x1],0x9),_0x17c086[0x1]=_0x17c086[0x0],_0x17c086[0x0]=_0x50d411,_0x17c086[0x7]=_0x17c086[0x6],_0x17c086[0x6]=_0x3da582(_0x17c086[0x5],0x13),_0x17c086[0x5]=_0x17c086[0x4],_0x17c086[0x4]=(_0x910e21^_0x3da582(_0x910e21,0x9)^_0x3da582(_0x910e21,0x11))>>>0x0;}for(var _0x459622=0x0;_0x459622<0x8;_0x459622++)this['reg'][_0x459622]=(this[_0x3c50af(0xa8)][_0x459622]^_0x17c086[_0x459622])>>>0x0;}}}function EnvData2CharCode(_0x58cd97,_0x23e1e0,_0x3ca6b2){const _0x56cb93=a0_0x45db08;let _0x2d49d4=Random*0xf0>>0x0>0x6d?(Random*0xf0>>0x0)+0x2:Random*0xf0>>0x0,_0x3f2013=Random*0xff>>0x0&0x4d|0x2|0x10|0x20|0x80,_0x4b8ded=[Random*0xffff&0xff&0xaa|[0x1,0x0,0x1,0xf][_0x56cb93(0x8b)](0x0,0x2)[0x0]&0x55,Random*0xffff&0xff&0x55|[0x1,0x0,0x1,0xf][_0x56cb93(0x8b)](0x0,0x2)[0x0]&0xaa,Random*0xffff>>0x8&0xaa|[0x1,0x0,0x1,0xf]['slice'](0x0,0x2)[0x1]&0x55,Random*0xffff>>0x8&0x55|[0x1,0x0,0x1,0xf][_0x56cb93(0x8b)](0x0,0x2)[0x1]&0xaa,_0x2d49d4&0xaa|[0x1,0x0,0x1,0xf][_0x56cb93(0x8b)](0x2,0x4)[0x0]&0x55,_0x2d49d4&0x55|[0x1,0x0,0x1,0xf][_0x56cb93(0x8b)](0x2,0x4)[0x0]&0xaa,_0x3f2013&0xaa|[0x1,0x0,0x1,0xf][_0x56cb93(0x8b)](0x2,0x4)[0x1]&0x55,_0x3f2013&0x55|[0x1,0x0,0x1,0xf][_0x56cb93(0x8b)](0x2,0x4)[0x1]&0xaa],_0x5bb315=_0x56cb93(0x9a)['split']('')[_0x56cb93(0x94)](_0x42b4c4=>_0x42b4c4[_0x56cb93(0x96)](0x0)),_0x1cdc95=((String(xhrParaDoneTs+0x3)&0xff)+',')[_0x56cb93(0xa9)]('')[_0x56cb93(0x94)](_0x58aa5d=>_0x58aa5d[_0x56cb93(0x96)](0x0));const _0x26ee7a=new SM3Hasher(),_0xe2d586=_0x26ee7a[_0x56cb93(0x8e)](_0x26ee7a['sum'](_0x58cd97+_0x56cb93(0x93))),_0x571095=_0x26ee7a[_0x56cb93(0x8e)](_0x26ee7a[_0x56cb93(0x8e)](_0x23e1e0+'dhzx')),_0x4dabdb=_0x26ee7a[_0x56cb93(0x8e)](_0x3ca6b2);let _0x4139e6=[0x29,(xhrReqDoneTs-0x190e5788800)/0x3e8/0x3c/0x3c/0x18/0xe>>0x0,0x6,xhrParaDoneTs-Ts+0x3&0xff,xhrParaDoneTs&0xff,xhrParaDoneTs>>0x8&0xff,xhrParaDoneTs>>0x10&0xff,xhrParaDoneTs>>0x18&0xff,xhrParaDoneTs/0x100/0x100/0x100/0x100&0xff,xhrParaDoneTs/0x100/0x100/0x100/0x100/0x100&0xff,xhrParaDoneTs/0x100/0x100/0x100/0x100/0x100&0xff%0x100&0xff,xhrParaDoneTs/0x100/0x100/0x100/0x100/0x100&0xff%0x100&0xff/0x100&0xff,[0xa,0x4,0x4,0x0,0x1][0x4]&0xff,[0xa,0x4,0x4,0x0,0x1][0x4]>>0x8&0xff,[0xa,0x4,0x4,0x0,0x1][0x0],[0xa,0x4,0x4,0x0,0x1][0x1],[0xa,0x4,0x4,0x0,0x1][0x2],[0xa,0x4,0x4,0x0,0x1][0x3],0x8&0xff,0x8>>0x8&0xff,0x8>>0x10&0xff,0x8>>0x18&0xff,_0xe2d586[0x9],_0xe2d586[0x12],0x3,_0xe2d586[0x3],_0x571095[0xa],_0x571095[0x13],0x4,_0x571095[0x4],_0x4dabdb[0xb],_0x4dabdb[0x15],0x5,_0x4dabdb[0x5],Sm3DoneTs&0xff,Sm3DoneTs>>0x8&0xff,Sm3DoneTs>>0x10&0xff,Sm3DoneTs>>0x18&0xff,Sm3DoneTs/0x100/0x100/0x100/0x100&0xff,Sm3DoneTs/0x100/0x100/0x100/0x100/0x100&0xff,0x3,0x6529&0xff,0x6529>>0x8&0xff,0x6529>>0x10&0xff,0x6529>>0x18&0xff,0x4cf&0xff,0x4cf>>0x8&0xff,0x4cf>>0x10&0xff,0x4cf>>0x18&0xff,_0x5bb315['length'],_0x5bb315['length'],0x0,_0x1cdc95[_0x56cb93(0xa4)],_0x1cdc95[_0x56cb93(0xa4)],0x0],_0x339170=[_0x4139e6[0x9],_0x4139e6[0x12],_0x4139e6[0x1e],_0x4139e6[0x23],_0x4139e6[0x2f],_0x4139e6[0x4],_0x4139e6[0x2c],_0x4139e6[0x13],_0x4139e6[0xa],_0x4139e6[0x17],_0x4139e6[0xc],_0x4139e6[0x28],_0x4139e6[0x19],_0x4139e6[0x2a],_0x4139e6[0x3],_0x4139e6[0x16],_0x4139e6[0x26],_0x4139e6[0x15],_0x4139e6[0x5],_0x4139e6[0x2d],_0x4139e6[0x1],_0x4139e6[0x1d],_0x4139e6[0x6],_0x4139e6[0x2b],_0x4139e6[0x21],_0x4139e6[0xe],_0x4139e6[0x24],_0x4139e6[0x25],_0x4139e6[0x2],_0x4139e6[0x2e],_0x4139e6[0xf],_0x4139e6[0x30],_0x4139e6[0x1f],_0x4139e6[0x1a],_0x4139e6[0x10],_0x4139e6[0xd],_0x4139e6[0x8],_0x4139e6[0x29],_0x4139e6[0x1b],_0x4139e6[0x11],_0x4139e6[0x27],_0x4139e6[0x14],_0x4139e6[0xb],_0x4139e6[0x0],_0x4139e6[0x22],_0x4139e6[0x7],_0x4139e6[0x32],_0x4139e6[0x33],_0x4139e6[0x35],_0x4139e6[0x36]];function _0x56e1cd(_0x24b6d5,_0x196cf7){const _0x2eb1f3=_0x56cb93;return _0x196cf7[_0x2eb1f3(0x8c)]((_0x2171ba,_0x925e58)=>_0x925e58-_0x2171ba)[_0x2eb1f3(0x89)](_0x540dbd=>{const _0x2fbb10=_0x2eb1f3;_0x540dbd>=0x0&&_0x540dbd<_0x24b6d5[_0x2fbb10(0xa4)]&&_0x24b6d5[_0x2fbb10(0x90)](_0x540dbd,0x1);}),_0x24b6d5;}let _0x41ebdd=_0x4b8ded[_0x56cb93(0xb1)](_0x56e1cd(_0x4139e6,[0x18,0x1c,0x20,0x31,0x34])),_0x42a240=_0x41ebdd[_0x56cb93(0xa6)]((_0x49ec53,_0x3d9ba0)=>_0x49ec53^_0x3d9ba0),_0xeaa831=_0x339170['concat'](_0x5bb315,_0x1cdc95,_0x42a240),_0x477e24=[],_0x3bd924=0x0;for(let _0xa7bf19=0x0;_0xa7bf19+0x2<_0xeaa831[_0x56cb93(0xa4)];){_0x477e24[_0x56cb93(0xa3)](Random*0x3e8&0xff&0x91|_0xeaa831[_0xa7bf19++]&0x6e),_0x477e24['push'](Random*0x3e8&0xff&0x42|_0xeaa831[_0xa7bf19++]&0xbd),_0x477e24[_0x56cb93(0xa3)](Random*0x3e8&0xff&0x2c|_0xeaa831[_0xa7bf19++]&0xd3),_0x477e24[_0x56cb93(0xa3)](_0xeaa831[_0xa7bf19-0x3]&0x91|_0xeaa831[_0xa7bf19-0x2]&0x42|_0xeaa831[_0xa7bf19-0x1]&0x2c),_0x3bd924+=0x3;}let _0x23c273=_0x4b8ded[_0x56cb93(0xb1)](_0x477e24,_0xeaa831[_0x56cb93(0x8b)](_0x3bd924,_0xeaa831[_0x56cb93(0xa4)]));return _0x23c273[_0x56cb93(0x94)](_0x4d13ab=>String['fromCharCode'](_0x4d13ab))[_0x56cb93(0xac)]('');}function Base2Data(_0x348aa6){const _0x2bc7c7=a0_0x45db08;let _0x874207=[Random*0xffff&0xff&0xaa|[0x3,0x52][0x0]&0x55,Random*0xffff&0xff&0x55|[0x3,0x52][0x0]&0xaa,Random*0x28>>0x0&0xaa|[0x3,0x52][0x1]&0x55,Random*0x28>>0x0&0x55|[0x3,0x52][0x1]&0xaa][_0x2bc7c7(0x94)](_0x224d00=>{const _0x31697c=_0x2bc7c7;return String[_0x31697c(0x9e)](_0x224d00);})[_0x2bc7c7(0xac)](''),_0x235e4f=[0xff,0xfe,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf3,0xf2,0xf1,0xf0,0xef,0xee,0xed,0xec,0xeb,0xea,0xe9,0xe8,0xe7,0xe6,0xe5,0xe4,0xe3,0xe2,0xe1,0xe0,0xdf,0xde,0xdd,0xdc,0xdb,0xda,0xd9,0xd8,0xd7,0xd6,0xd5,0xd4,0xd3,0xd2,0xd1,0xd0,0xcf,0xce,0xcd,0xcc,0xcb,0xca,0xc9,0xc8,0xc7,0xc6,0xc5,0xc4,0xc3,0xc2,0xc1,0xc0,0xbf,0xbe,0xbd,0xbc,0xbb,0xba,0xb9,0xb8,0xb7,0xb6,0xb5,0xb4,0xb3,0xb2,0xb1,0xb0,0xaf,0xae,0xad,0xac,0xab,0xaa,0xa9,0xa8,0xa7,0xa6,0xa5,0xa4,0xa3,0xa2,0xa1,0xa0,0x9f,0x9e,0x9d,0x9c,0x9b,0x9a,0x99,0x98,0x97,0x96,0x95,0x94,0x93,0x92,0x91,0x90,0x8f,0x8e,0x8d,0x8c,0x8b,0x8a,0x89,0x88,0x87,0x86,0x85,0x84,0x83,0x82,0x81,0x80,0x7f,0x7e,0x7d,0x7c,0x7b,0x7a,0x79,0x78,0x77,0x76,0x75,0x74,0x73,0x72,0x71,0x70,0x6f,0x6e,0x6d,0x6c,0x6b,0x6a,0x69,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x61,0x60,0x5f,0x5e,0x5d,0x5c,0x5b,0x5a,0x59,0x58,0x57,0x56,0x55,0x54,0x53,0x52,0x51,0x50,0x4f,0x4e,0x4d,0x4c,0x4b,0x4a,0x49,0x48,0x47,0x46,0x45,0x44,0x43,0x42,0x41,0x40,0x3f,0x3e,0x3d,0x3c,0x3b,0x3a,0x39,0x38,0x37,0x36,0x35,0x34,0x33,0x32,0x31,0x30,0x2f,0x2e,0x2d,0x2c,0x2b,0x2a,0x29,0x28,0x27,0x26,0x25,0x24,0x23,0x22,0x21,0x20,0x1f,0x1e,0x1d,0x1c,0x1b,0x1a,0x19,0x18,0x17,0x16,0x15,0x14,0x13,0x12,0x11,0x10,0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0];const _0x29dde1='Ó'[_0x2bc7c7(0x96)](0x0);let _0x4a74f1=0x0;for(let _0xef36c2=0x0;_0xef36c2<_0x235e4f[_0x2bc7c7(0xa4)];_0xef36c2++){let _0x4120e4=_0x235e4f[_0xef36c2];_0x4a74f1=(_0x4a74f1*_0x4120e4+_0x4a74f1+_0x29dde1)%0x100,[_0x235e4f[_0xef36c2],_0x235e4f[_0x4a74f1]]=[_0x235e4f[_0x4a74f1],_0x235e4f[_0xef36c2]];}let _0x39cb62=0x0,_0x5cbaf6='';for(let _0x29a672=0x0;_0x29a672<_0x348aa6[_0x2bc7c7(0xa4)];_0x29a672++){let _0x96c5ae=_0x348aa6[_0x2bc7c7(0x96)](_0x29a672),_0x46c34b=_0x29a672+0x1,_0x5d4cb4=_0x235e4f[_0x46c34b];[_0x235e4f[_0x46c34b],_0x235e4f[(_0x39cb62+_0x5d4cb4)%0x100]]=[_0x235e4f[(_0x39cb62+_0x5d4cb4)%0x100],_0x235e4f[_0x46c34b]];let _0x506f4f=_0x235e4f[(_0x235e4f[_0x46c34b]+_0x5d4cb4)%0x100];_0x39cb62=(_0x39cb62+_0x5d4cb4)%0x100,_0x5cbaf6+=String['fromCharCode'](_0x96c5ae^_0x506f4f);}return _0x874207+_0x5cbaf6;}function Data2A_B(_0x19ca6d){const _0x5d8d72=a0_0x45db08;let _0x225e7d=_0x5d8d72(0xad),_0x4f0a28='',_0x251d62=[0x3e,0x12a,0x10,0x0,0x4,0x9,0x10,0x0,0x5,0x36,0x0,0x5,0x3e,0x12b,0x1a,0x12c,0x36,0x0,0x5,0x3e,0x12d,0x1a,0x12e,0x36,0x0,0x5,0x3e,0x12f,0x1a,0x130,0x36,0x0,0x5,0x3e,0x131,0x1a,0x10c,0x36,0x0,0x5,0x3e,0x132,0x1a,0x128,0x36,0x0,0x5,0x36,0x0,0x3,0x4c,0x10,0x0,0x6,0x3e,0x24,0x10,0x0,0x7,0x17,0x0,0x10,0x0,0x9,0x36,0x0,0x2,0x4,0x19,0x36,0x0,0x9,0x17,0x3,0x31,0x43,0xe,0x9f,0x36,0x0,0x2,0x16,0x4,0xf7,0x22,0x0,0x9,0x3c,0xc,0x1,0x17,0xff,0x32,0x17,0x10,0x1f,0x36,0x0,0x2,0x16,0x4,0xf7,0x22,0x0,0x9,0x3c,0xc,0x1,0x17,0xff,0x32,0x17,0x8,0x1f,0x20,0x36,0x0,0x2,0x16,0x4,0xf7,0x22,0x0,0x9,0x3c,0xc,0x1,0x17,0xff,0x32,0x20,0x10,0x0,0x8,0x36,0x0,0x7,0x36,0x0,0x6,0x16,0x4,0x67,0x36,0x0,0x8,0x17,0xfc0000,0x32,0x17,0x12,0x33,0xc,0x1,0x31,0x22,0x0,0x7,0x48,0x2b,0x36,0x0,0x7,0x36,0x0,0x6,0x16,0x4,0x67,0x36,0x0,0x8,0x17,0x3f000,0x32,0x17,0xc,0x33,0xc,0x1,0x31,0x22,0x0,0x7,0x48,0x2b,0x36,0x0,0x7,0x36,0x0,0x6,0x16,0x4,0x67,0x36,0x0,0x8,0x17,0xfc0,0x32,0x17,0x6,0x33,0xc,0x1,0x31,0x22,0x0,0x7,0x48,0x2b,0x36,0x0,0x7,0x36,0x0,0x6,0x16,0x4,0x67,0x36,0x0,0x8,0x17,0x3f,0x32,0xc,0x1,0x31,0x22,0x0,0x7,0x48,0x2b,0x12,-0xad,0x36,0x0,0x2,0x4,0x19,0x36,0x0,0x9,0x0,0x17,0x0,0x13,0xe,0xa0,0x36,0x0,0x2,0x16,0x4,0xf7,0x22,0x0,0x9,0x3c,0xc,0x1,0x17,0xff,0x32,0x17,0x10,0x1f,0x36,0x0,0x2,0x4,0x19,0x36,0x0,0x9,0x13,0xe,0x13,0x36,0x0,0x2,0x16,0x4,0xf7,0x36,0x0,0x9,0xc,0x1,0x17,0xff,0x32,0x17,0x8,0x1f,0x12,0x2,0x17,0x0,0x20,0x10,0x0,0x8,0x36,0x0,0x7,0x36,0x0,0x6,0x16,0x4,0x67,0x36,0x0,0x8,0x17,0xfc0000,0x32,0x17,0x12,0x33,0xc,0x1,0x31,0x22,0x0,0x7,0x48,0x2b,0x36,0x0,0x7,0x36,0x0,0x6,0x16,0x4,0x67,0x36,0x0,0x8,0x17,0x3f000,0x32,0x17,0xc,0x33,0xc,0x1,0x31,0x22,0x0,0x7,0x48,0x2b,0x36,0x0,0x7,0x36,0x0,0x2,0x4,0x19,0x36,0x0,0x9,0x13,0xe,0x13,0x36,0x0,0x6,0x16,0x4,0x67,0x36,0x0,0x8,0x17,0xfc0,0x32,0x17,0x6,0x33,0xc,0x1,0x12,0x3,0x36,0x0,0x4,0x31,0x22,0x0,0x7,0x48,0x2b,0x36,0x0,0x7,0x36,0x0,0x4,0x31,0x22,0x0,0x7,0x48,0x2b,0x36,0x0,0x7,0x41];for(let _0x2b8eea=0x0;_0x2b8eea<_0x19ca6d['length'];_0x2b8eea+=0x3){const _0x3fca04=_0x19ca6d[_0x5d8d72(0x96)](_0x2b8eea),_0xb85a46=_0x19ca6d[_0x5d8d72(0x96)](_0x2b8eea+0x1),_0x4e702d=_0x19ca6d[_0x5d8d72(0x96)](_0x2b8eea+0x2),_0x4382e1=_0x3fca04<<_0x251d62[0x5e]|_0xb85a46<<_0x251d62[0x70]|_0x4e702d,_0x225aa0=(_0x4382e1&_0x251d62[0x93])>>_0x251d62[0x96];_0x4f0a28+=_0x225e7d[_0x5d8d72(0xa7)](_0x225aa0);const _0x5607b9=(_0x4382e1&_0x251d62[0xad])>>_0x251d62[0xb0];_0x4f0a28+=!Number[_0x5d8d72(0xa1)](_0x3fca04)?_0x225e7d[_0x5d8d72(0xa7)](_0x5607b9):'=';const _0x3fb7b7=(_0x4382e1&_0x251d62[0xc7])>>_0x251d62[0xca];_0x4f0a28+=!Number[_0x5d8d72(0xa1)](_0xb85a46)?_0x225e7d[_0x5d8d72(0xa7)](_0x3fb7b7):'=';const _0x425784=_0x4382e1&_0x251d62[0xe1];_0x4f0a28+=!Number[_0x5d8d72(0xa1)](_0x4e702d)?_0x225e7d[_0x5d8d72(0xa7)](_0x425784):'=';}return _0x4f0a28;}function GenAB(_0x315138,_0x1c32b3){const _0x206982=a0_0x45db08,_0x56536b=_0x206982(0xaf);return Data2A_B(Base2Data(EnvData2CharCode(_0x315138,_0x1c32b3,_0x56536b)));}module[a0_0x45db08(0xae)]=GenAB;","import {Http} from \"./http\";\nimport { HttpsProxyAgent } from \"https-proxy-agent\";\n\nconst ProxyData = {\n api: \"202101291430286754\",\n md5akey: \"6ec8d333e85044b7\",\n akey: \"91709114\"\n}\n\ninterface ProxyInfo {\n code: number;\n msg: string;\n data: {\n ip: string;\n port: number;\n adr: string;\n timeout: number;\n continue: number;\n proxyAddress: string;\n }[];\n}\n\nexport const ProxyAgent =async ( adr: string, huiwenToken?: string) =>{\n const http = new Http({});\n let ProxyInfo: ProxyInfo = await http.api({\n method: \"GET\",\n url: \"https://preview.huiwen.top/api/publish/zdy/ip\",\n params: {\n addr: adr\n },\n ...(huiwenToken ? { headers: { token: huiwenToken } } : null)\n })\n \n // 在 URL 中写上认证信息\n return ProxyInfo.code === 0 && ProxyInfo.data.length > 0 ? new HttpsProxyAgent(`http://${ProxyData.api}:${ProxyData.akey}@${ProxyInfo.data[0].proxyAddress}`) : null;\n}","import type { ResponseData } from \"@iflyrpa/share\";\nimport axios, {\n\ttype AxiosError,\n\ttype AxiosInstance,\n\ttype AxiosResponse,\n\ttype CreateAxiosDefaults,\n\ttype AxiosRequestConfig,\n} from \"axios\";\nimport {ProxyAgent} from \"./proxy\";\n\nexport class Http {\n\tprivate readonly apiClient: AxiosInstance;\n private readonly adr?: string;\n private readonly heiwenToken?: string;\n\tpublic proxyInfo?: string;\n\n\tstatic handleApiError(error: unknown): ResponseData {\n\t\t// 如果错误已经是 ResponseData 格式,直接抛出\n\t\tif (error && typeof error === \"object\" && \"code\" in error && \"message\" in error) {\n\t\t\treturn error as ResponseData;\n\t\t}\n\n\t\t// 处理其他类型的错误\n\t\treturn {\n\t\t\tcode: 500,\n\t\t\tmessage: \"\",\n\t\t\tdata: error,\n\t\t};\n\t}\n\tconstructor(config?: CreateAxiosDefaults, adr?: string, huiwenToken?: string) {\n\t\tthis.apiClient = axios.create({\n\t\t\t...config,\n\t\t\t// proxy: {\n\t\t\t// \thost: \"192.168.137.1\", // 根据你的代理服务设置\n\t\t\t// \tport: 9000,\n\t\t\t// \tprotocol: \"http\", // 可选\n\t\t\t// },\n\t\t});\n this.adr = adr;\n this.heiwenToken = huiwenToken\n\t}\n \n\n\t// 添加响应拦截器\n\t// biome-ignore lint/suspicious/noExplicitAny: <explanation>\n\tpublic addResponseInterceptor<T = any>(findError: (response: AxiosResponse<T>) => ResponseData | undefined) {\n\t\tthis.apiClient.interceptors.response.use(\n\t\t\t(response) => {\n\t\t\t\t// 检查响应中的 errno 字段\n\t\t\t\tconst error = findError(response);\n\n\t\t\t\tif (error) {\n\t\t\t\t\treturn Promise.reject(\n\t\t\t\t\t\tObject.assign(error, {\n\t\t\t\t\t\t\textra: {\n\t\t\t\t\t\t\t\tmethod: response.config.method,\n\t\t\t\t\t\t\t\turl: response.config.url,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn response;\n\t\t\t},\n\t\t\t(error: AxiosError) => {\n\t\t\t\t// 创建标准错误响应格式\n\t\t\t\tconst errorResponse: ResponseData = {\n\t\t\t\t\tcode: error.response?.status || 500,\n\t\t\t\t\tmessage: error.message || \"\",\n\t\t\t\t\tdata: error.response?.data,\n\t\t\t\t\textra: {\n\t\t\t\t\t\tmethod: error.config?.method,\n\t\t\t\t\t\turl: error.config?.url,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\t// 如果服务端返回了详细错误信息,可以使用服务端的错误信息\n\t\t\t\tif (error.response?.data) {\n\t\t\t\t\tif (typeof error.response.data === \"object\") {\n\t\t\t\t\t\t// 如果服务端返回的是对象,可以尝试提取错误信息\n\t\t\t\t\t\t// biome-ignore lint/suspicious/noExplicitAny: <explanation>\n\t\t\t\t\t\tconst serverError = error.response.data as any;\n\t\t\t\t\t\tif (serverError.message) {\n\t\t\t\t\t\t\terrorResponse.message = serverError.message;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// 可以保留原始错误数据\n\t\t\t\t\t\terrorResponse.data = serverError;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// 返回标准化的错误响应\n\t\t\t\treturn Promise.reject(errorResponse);\n\t\t\t},\n\t\t);\n\t}\n\n\t// biome-ignore lint/suspicious/noExplicitAny: <explanation>\n\tpublic async api<T = any>(config: AxiosRequestConfig): Promise<T> {\n try {\n const agent = this.adr ? await ProxyAgent(this.adr, this.heiwenToken) : undefined; \n if (this.adr && agent == null) return Promise.reject({code: 200, message: \"当前发文IP地址暂不支持!\"})\n\t\t\tthis.proxyInfo = agent?.proxy.host\n const response = await this.apiClient<T>({\n ...config,\n ...(agent ? {\n httpAgent: agent,\n httpsAgent: agent\n } : {}),\n });\n \n return response.data;\n\t\t} catch (error) {\n\t\t\treturn Promise.reject(Http.handleApiError(error));\n\t\t}\n\t}\n}\n","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport type { CommonAction, Page, ResponseData } from \"@iflyrpa/share\";\nimport domSerializer from \"dom-serializer\";\nimport { type ChildNode, DomHandler, type Element } from \"domhandler\";\nimport { DomUtils, Parser } from \"htmlparser2\";\nimport mime from \"mime-types\";\n\nimport { Http } from \"./http\";\n\n/**\n * 生成两数之间的随机整数\n * @param min\n * @param max\n * @returns\n */\nexport function getRandomInRange(min: number, max: number) {\n\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\nexport const getFileState = (filePath: string) => {\n\t// 获取文件名\n\tconst filename = path.basename(filePath);\n\t// 获取文件类型\n\tconst fileType = mime.lookup(filePath);\n\tconst stats = fs.statSync(filePath);\n\t// 获取文件大小\n\tconst fileSize = stats.size;\n\t// 获取最后修改时间\n\tconst lastModifiedDate = stats.mtime;\n\n\treturn {\n\t\tname: filename,\n\t\ttype: fileType,\n\t\tsize: fileSize,\n\t\tlastModifiedDate: lastModifiedDate.toString(),\n\t};\n};\n\nexport type AspectRatio = [number, number];\nexport type CropCoordinates = {\n\tx1: number;\n\ty1: number;\n\tx2: number;\n\ty2: number;\n};\n\n/**\n * 获取特定的比例切割图片,获取切割的坐标\n * @param width 图片长度\n * @param height 图片高度\n * @param aspectRatio 切割比例:[宽度,高度]\n * @returns\n */\nexport const calculateCropCoordinates = (width: number, height: number, aspectRatio: AspectRatio): CropCoordinates => {\n\tconst targetRatio = aspectRatio[0] / aspectRatio[1];\n\tlet cropWidth: number;\n\tlet cropHeight: number;\n\n\tif (width / height > targetRatio) {\n\t\t// 图片过宽,需要裁切宽度\n\t\tcropHeight = height;\n\t\tcropWidth = height * targetRatio;\n\t} else {\n\t\t// 图片过高,需要裁切高度\n\t\tcropWidth = width;\n\t\tcropHeight = width / targetRatio;\n\t}\n\n\tconst x1 = (width - cropWidth) / 2;\n\tconst y1 = (height - cropHeight) / 2;\n\tconst x2 = x1 + cropWidth;\n\tconst y2 = y1 + cropHeight;\n\n\t// 返回百分比坐标\n\treturn {\n\t\tx1: x1 / width,\n\t\ty1: y1 / height,\n\t\tx2: x2 / width,\n\t\ty2: y2 / height,\n\t};\n};\n\n// 提取 html 中的 img 标签\nexport const extractImgTag = (html: string) => {\n\tconst srcList: string[] = [];\n\n\tconst parser = new Parser({\n\t\tonopentag(name, attributes) {\n\t\t\tif (name === \"img\" && (attributes.src.trim() || attributes.currentSrc.trim())) {\n\t\t\t\tsrcList.push(attributes.src.trim() || attributes.currentSrc.trim());\n\t\t\t}\n\t\t},\n\t});\n\n\tparser.write(html);\n\tparser.end();\n\n\treturn srcList;\n};\n\n/**\n * 时间格式化\n * @param time\n * @param format 默认 yyyy-MM-dd HH:mm\n * @returns 时间字符串\n */\nexport class TimeFormatter {\n\tstatic format(timestamp: number, formatStr: String = 'yyyy-MM-dd hh:mm') {\n\t // 自动判断:如果是10位(秒),就转为毫秒\n\t if (typeof timestamp === 'number' && timestamp.toString().length === 10) {\n\t\ttimestamp *= 1000;\n\t }\n \n\t const date = new Date(timestamp);\n \n\t const map: Record<string, string> = {\n\t\t\"yyyy\": String(date.getFullYear()),\n\t\t\"yy\": String(date.getFullYear()).slice(-2),\n\t\t\"MM\": String(date.getMonth() + 1).padStart(2, '0'),\n\t\t\"dd\": String(date.getDate()).padStart(2, '0'),\n\t\t\"hh\": String(date.getHours()).padStart(2, '0'),\n\t\t\"mm\": String(date.getMinutes()).padStart(2, '0'),\n\t\t\"ss\": String(date.getSeconds()).padStart(2, '0'),\n\t\t\"M\": String(date.getMonth() + 1), // 月不带前导零\n \t\t\"d\": String(date.getDate()), // 日不带前导零\n\t\t\"h\": String(date.getHours()), // 不带前导零\n\t\t\"m\": String(date.getMinutes()), // 不带前导零\n\t\t\"s\": String(date.getSeconds()) // 不带前导零\n\t };\n \n\t return formatStr.replace(/yyyy|yy|MM|dd|hh|mm|ss|M|d|h|m|s/g, key => map[key]);\n\t}\n }\nexport const replaceImgSrc = (html: string, callback: (dom: Element) => Element) => {\n\tlet lastedHtml = html;\n\n\tconst isImageTag = (node: ChildNode): node is Element => node.type === \"tag\" && node.name === \"img\";\n\n\tconst traverseDom = (node: ChildNode) => {\n\t\tif (DomUtils.hasChildren(node)) {\n\t\t\tfor (const child of node.children) {\n\t\t\t\tif (isImageTag(child)) {\n\t\t\t\t\tcallback(child);\n\t\t\t\t}\n\t\t\t\ttraverseDom(child);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handler = new DomHandler((error, dom) => {\n\t\tif (error) {\n\t\t\tconsole.log(error);\n\t\t} else {\n\t\t\t// 处理 DOM 节点的函数\n\t\t\tdom.forEach(traverseDom);\n\t\t}\n\n\t\tlastedHtml = domSerializer(dom, { decodeEntities: false });\n\t});\n\n\tconst parser = new Parser(handler, { decodeEntities: false });\n\tparser.write(html);\n\tparser.end();\n\n\treturn lastedHtml;\n};\n\nexport const stringifyError = (error: unknown) => {\n\tif (error instanceof Error) {\n\t\treturn error.toString();\n\t}\n\n\tif (typeof error === \"object\") {\n\t\treturn JSON.stringify(error);\n\t}\n\n\treturn error;\n};\n\n/**\n * 创建一个函数,该函数会依次执行传入的函数列表,直到有一个函数成功或所有函数都失败。\n *\n * @template P - 函数的参数类型,为一个任意长度的数组。\n * @template T - 函数的返回类型,为一个 Promise 的解析值类型。\n * @param {CommonAction<P, T>[]} actions - 一个函数列表,每个函数的类型为 `(...p: P) => Promise<T>`。\n * @returns {CommonAction<P, T>} - 返回一个新的函数,其类型与传入的函数列表中的函数类型相同。\n * 当调用该函数时,会依次执行 `actions` 中的函数,直到有一个函数成功(即返回一个解析的 Promise),\n * 或者所有函数都失败(即抛出异常)。如果所有函数都失败,则抛出最后一个错误。\n *\n * @example\n * const action1 = async (num) => {\n * if (num > 0) return \"Action 1 succeeded\";\n * throw new Error(\"Action 1 failed\");\n * };\n *\n * const action2 = async (num) => {\n * if (num > 1) return \"Action 2 succeeded\";\n * throw new Error(\"Action 2 failed\");\n * };\n *\n * const combinedAction = executeAction(action1, action2);\n *\n * (async () => {\n * try {\n * const result = await combinedAction(1);\n * console.log(result); // 输出: \"Action 2 succeeded\"\n * } catch (error) {\n * console.error(error.message);\n * }\n * })();\n */\nexport const executeAction = <P, T>(...actions: CommonAction<P, T>[]): CommonAction<P, T> => {\n\treturn async (task, params) => {\n\t\tlet result: ResponseData<T> = {\n\t\t\tcode: 500,\n\t\t\tmessage: \"\",\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: <explanation>\n\t\t\tdata: null as any,\n\t\t};\n\n\t\tfor (let index = 0; index < actions.length; index++) {\n\t\t\tconst action = actions[index];\n\n\t\t\ttry {\n\t\t\t\tresult = await action(task, params);\n\t\t\t} catch (error) {\n\t\t\t\tresult = Http.handleApiError(error);\n\t\t\t}\n\n\t\t\t// code === 0 表示成功, code === 200 虽然表示失败,但是不需要继续执行后续的 action\n\t\t\tif (result.code === 0 || result.code === 200) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\t// 不是最后一个 action,上报错误信息\n\t\t\tif (index !== actions.length - 1) {\n\t\t\t\ttask.logger.error(result.message, stringifyError(result.data), result.extra);\n\t\t\t}\n\t\t}\n\n\t\t// 所有 action 都执行完毕但都失败了,返回最后一个失败结果\n\t\treturn result;\n\t};\n};\n\n/**\n * 将 HTML 内容复制到剪贴板\n * @param page - 页面对象\n * @param html - HTML 内容\n * @param options - 选项,包括格式和回退\n * @returns 无返回值\n */\nexport async function copyHtmlToClipboard(page: Page, html: string, options = { format: \"text/html\", fallback: true }) {\n\ttry {\n\t\t// 尝试使用原生 API\n\t\tawait page.evaluate(\n\t\t\tasync ({ htmlContent, format }) => {\n\t\t\t\tconst blob = new Blob([htmlContent], { type: format });\n\t\t\t\tawait navigator.clipboard.write([new ClipboardItem({ [format]: blob })]);\n\t\t\t},\n\t\t\t{ htmlContent: html, format: options.format },\n\t\t);\n\t} catch (error) {\n\t\tif (options.fallback) {\n\t\t\t// 回退到 DOM 操作\n\t\t\tawait page.evaluate((htmlContent) => {\n\t\t\t\tconst div = document.createElement(\"div\");\n\t\t\t\tdiv.contentEditable = \"true\";\n\t\t\t\tdiv.style.cssText = `\n position: fixed;\n left: -9999px;\n opacity: 0;\n pointer-events: none;\n `;\n\n\t\t\t\tdiv.innerHTML = htmlContent;\n\t\t\t\tdocument.body.appendChild(div);\n\n\t\t\t\tconst range = document.createRange();\n\t\t\t\trange.selectNodeContents(div);\n\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: <忽略错误>\n\t\t\t\tconst selection = window.getSelection()!;\n\t\t\t\tselection.removeAllRanges();\n\t\t\t\tselection.addRange(range);\n\n\t\t\t\tdocument.execCommand(\"copy\");\n\t\t\t\tdocument.body.removeChild(div);\n\t\t\t\tselection.removeAllRanges();\n\t\t\t}, html);\n\t\t}\n\t}\n}\n\n/**\n * 通用弹窗监听处理器\n * @param page - Playwright 页面对象\n * @param popupSelector - 弹窗的选择器(字符串或 Locator)\n * @param popKey - 弹窗中的唯一键(字符串)\n * @param buttonSelector - 弹窗中需要点击的按钮选择器\n * @param options - 可选配置项\n */\nexport function PopupListener(\n\tpage: Page, \n\tpopupSelector: string, \n\tpopKey: string, \n\tbuttonSelector: string, \n\toptions:{\n\t\tcheckInterval?: number;\n\t\tstopAfterClick?: boolean;\n\t} = {}) {\n\tconst {\n\t\tcheckInterval = 1000,\n\t\tstopAfterClick = false\n\t} = options;\n\n\tconst popup = page.locator(popupSelector);\n\tconst button = page.locator(buttonSelector);\n\n\tconst intervalId = setInterval(async () => {\n\t\ttry {\n\t\t\tif (await popup.count() > 0 && await popup.isVisible() && (await popup.textContent()||\"\").includes(popKey)) {\n\t\t\t\tawait button.click({ force: true });\n\n\t\t\t\tif (stopAfterClick) {\n\t\t\t\t\tclearInterval(intervalId);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err) { }\n\t}, checkInterval);\n\n\treturn () => {\n\t\tclearInterval(intervalId);\n\t};\n}\n\n// 将 url 的 queryString 解析成对象\nexport const parseUrlQueryString = (url: string) => {\n\tconst queryStringObject: Record<string, string> = {};\n\n\t// 检查 URL 是否包含查询参数\n\tif (!url || !url.includes(\"?\")) {\n\t\treturn queryStringObject;\n\t}\n\n\t// 提取查询字符串部分\n\tconst queryString = url.split(\"?\")[1];\n\n\t// 检查查询字符串是否为空\n\tif (!queryString) {\n\t\treturn queryStringObject;\n\t}\n\n\t// 处理 hash 部分\n\tconst queryWithoutHash = queryString.split(\"#\")[0];\n\n\t// 分割查询参数\n\tconst queryStringArray = queryWithoutHash.split(\"&\");\n\n\tfor (const item of queryStringArray) {\n\t\t// 跳过空参数\n\t\tif (!item) continue;\n\n\t\tconst equalIndex = item.indexOf(\"=\");\n\n\t\t// 处理没有值的参数 (如 ?param)\n\t\tif (equalIndex === -1) {\n\t\t\tqueryStringObject[item] = \"\";\n\t\t} else {\n\t\t\tconst key = item.slice(0, equalIndex);\n\t\t\tconst value = item.slice(equalIndex + 1);\n\n\t\t\t// 尝试解码,如果解码失败则使用原始值\n\t\t\ttry {\n\t\t\t\tqueryStringObject[key] = decodeURIComponent(value);\n\t\t\t} catch (e) {\n\t\t\t\tqueryStringObject[key] = value;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn queryStringObject;\n};\n\n/**\n * 合并默认参数\n * @param params\n * @param defaults\n * @returns\n */\nexport const defaultParams = <P = Record<string, unknown>>(params: P, defaults: Partial<P>): P => {\n\treturn Object.assign({}, defaults, params);\n};\n","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\nimport FormData from \"form-data\";\n\nimport type { PublishAction } from \".\";\nimport { extractImgTag, replaceImgSrc } from \"../../utils\";\nimport { Http } from \"../../utils/http\";\n\ninterface CommonResponse<T = unknown> {\n\tdata: T;\n\terrmsg: string;\n\terrno: number;\n}\n\ninterface ImageRetResponse {\n\tbos_url: string;\n\thttps_url: string;\n\tno_waterlog_bos_url: string;\n\torg_url: string;\n}\n\nconst errnoMap: Record<number, string> = {\n\t20040706: \"正文图片和封面图片推荐jpg、png格式。\",\n\t20040084: \"正文图片和封面图片推荐jpg、png格式。\",\n\t20050004: \"今日百家号发布次数已达上限,请明天再试。\",\n\t10000015: \"账号存在异常,需前往百家号平台完成发文验证后可激活使用。\",\n\t20050000: \"操作太频繁,请稍后再试\",\n\t20040027: \"你的账号状态异常,请到百家号平台检查账号状态。\",\n\t10000017: \"账号存在异常,需前往百家号平台完成发文验证后可激活使用。\",\n\t20040033: \"封面图片推荐 jpg、png格式,宽高在372×284-5000×5000 范围内。\",\n\t2004005714: \"网络环境异常,请检查网络后重试发布。\",\n\t401100032: \"异常,请检查图片(如:格式、版权、合规性等)。\",\n\t20040034: \"封面图片推荐jpg、png格式,不支持gif格式。\",\n\t20040124: \"服务器异常,请稍后重试!\",\n\t20040001: \"当前用户未登录,请登陆后重试!\",\n 401100025: \"该应用不支持此媒资类型\",\n 401100033: \"图片宽高不满足要求\"\n};\n\nexport const mockAction: PublishAction = async (task, params) => {\n\tconst { baijiahaoSingleCover, baijiahaoMultCover, baijiahaoCoverType } = params.settingInfo;\n\tconst tmpCachePath = task.getTmpPath();\n const headers= {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\ttoken: params.token,\n\t\t}\n\n\tlet http = new Http({ headers });\n\n\t// 添加响应拦截器\n\thttp.addResponseInterceptor<CommonResponse>((response) => {\n\t\tconst msgType = params.saveType === \"draft\" ? \"同步\" : \"发布\";\n\n\t\t// 检查响应中的 errno 字段\n\t\tif (response.data.errno !== 0) {\n\t\t\tlet errmsg = response.config.defaultErrorMsg || `文章${msgType}异常,请稍后重试。`;\n\n\t\t\tif (response.data.errno === 20050000) {\n\t\t\t\terrmsg = msgType + errnoMap[response.data.errno];\n\t\t\t}\n\t\t\tif (response.data.errno === 401100032) {\n\t\t\t\terrmsg = `图片${msgType}${errnoMap[response.data.errno]}`;\n\t\t\t} else if (errnoMap[response.data.errno]) {\n\t\t\t\terrmsg = errnoMap[response.data.errno];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcode: errnoMap[response.data.errno] ? 200 : 500,\n\t\t\t\tmessage: errmsg,\n\t\t\t\tdata: response.data,\n\t\t\t};\n\t\t}\n\t});\n\n\t// 0. 校验登录\n\tawait http.api({\n\t\tmethod: \"get\",\n\t\turl: \"https://baijiahao.baidu.com/pcui/home/index\",\n\t\tdefaultErrorMsg: `百家号登录状态失效,请重新绑定账号后${params.saveType === \"draft\" ? \"同步\" : \"发布\"}。`,\n\t});\n\n\t// 1. 获取用户 appId\n\tconst appIdInfo = await http.api<CommonResponse<{ user: { app_id: number } }>>({\n\t\tmethod: \"post\",\n\t\turl: \"https://baijiahao.baidu.com/builder/app/appinfo\",\n\t\tdefaultErrorMsg: \"创建草稿失败,请稍后重试。\",\n\t});\n\n\tconst appId = appIdInfo.data.user.app_id;\n\n\tconst uploadImages = async (_images: string[]) => {\n\t\t// 过滤掉空字符串\n\t\tconst images = _images.filter((url) => !!url && url.trim() !== \"\");\n\n\t\t// 下载图片到本地\n\t\treturn await Promise.all(\n\t\t\timages.map(async (url) => {\n\t\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\t\tconst image = await downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t\t\tconst formData = new FormData();\n\t\t\t\tformData.append(\"org_file_name\", fileName);\n\t\t\t\tformData.append(\"type\", \"image\");\n\t\t\t\tformData.append(\"app_id\", appId);\n\t\t\t\tformData.append(\"is_waterlog\", \"1\");\n\t\t\t\tformData.append(\"save_material\", \"1\");\n\t\t\t\tformData.append(\"no_compress\", \"0\");\n\t\t\t\tformData.append(\"article_type\", \"news\");\n\t\t\t\tformData.append(\"media\", fs.createReadStream(image));\n\n\t\t\t\tconst res = await http.api<{ ret: ImageRetResponse }>({\n\t\t\t\t\tmethod: \"post\",\n\t\t\t\t\turl: \"https://baijiahao.baidu.com/materialui/picture/uploadProxy\",\n\t\t\t\t\tdata: formData,\n\t\t\t\t\tdefaultErrorMsg:\n\t\t\t\t\t\tparams.saveType === \"draft\" ? \"图片上传异常,请稍后重试同步。\" : \"图片上传异常,请稍后重试发布。\",\n\t\t\t\t});\n\n\t\t\t\treturn res.ret;\n\t\t\t}),\n\t\t);\n\t};\n\n\t// 2. 提取并上传正文中的图片\n\tconst originContentImages = extractImgTag(params.content);\n\tconst targetContentImages = await uploadImages(originContentImages);\n\t// 替换正文中的图片\n\tconst content = replaceImgSrc(params.content, (dom) => {\n\t\tif (dom.attribs.src) {\n\t\t\tconst idx = originContentImages.findIndex((it) => it === dom.attribs.src);\n\t\t\tdom.attribs.src = targetContentImages[idx].bos_url;\n\t\t\tdom.attribs[\"data-bjh-origin-src\"] = targetContentImages[idx].org_url;\n\t\t\tdom.attribs[\"data-bjh-params\"] = targetContentImages[idx].org_url;\n\t\t\tdom.attribs[\"data-bjh-type\"] = \"IMG\";\n\t\t}\n\n\t\treturn dom;\n\t});\n\n\t// 3. 上传竖版封面\n\t// let vertical_cover = params.settingInfo.baijiahaoVerticalCover;\n\t// if (vertical_cover) {\n\t// \tvertical_cover = (await uploadImages([vertical_cover]))[0].bos_url;\n\t// }\n\n\t// 4. 上传横版封面\n\tconst horizontalCoverUrl = baijiahaoCoverType === \"single\" ? [baijiahaoSingleCover] : baijiahaoMultCover;\n\tconst horizontalCoverRes = await uploadImages(horizontalCoverUrl);\n\tconst cover_images = horizontalCoverRes.map((item) => ({\n\t\tsrc: item.bos_url,\n\t\tmachine_chooseimg: 0,\n\t\tisLegal: 0,\n\t}));\n\tconst _cover_images_map = horizontalCoverRes.map((item) => ({\n\t\tsrc: item?.bos_url,\n\t\torigin_src: item?.org_url,\n\t}));\n\n\t// 5. 构造发布数据\n\tconst isAi = params.settingInfo.baijiahaoIsAi.includes(\"isAi\");\n\tconst activityList = params.settingInfo.baijiahaoSelectActivityCache;\n\tconst cover_layout = baijiahaoCoverType === \"single\" ? \"one\" : \"three\";\n\n\tconst activity_list = [\n\t\t...(activityList.length > 0 ? [{ id: `task_${activityList[0]}`, is_checked: 1 }] : []),\n\t\t...(params.settingInfo.baijiahaoPublishConf?.map( item => ({ id : item.confName, is_checked : item.isChecked? 1 : 0 })) || [])\n\t];\n\n\tif(isAi && !activity_list.some(item => 'aigc_bjh_status' in item)){ activity_list.push({ id : 'aigc_bjh_status', is_checked : 1 })} // 兼容旧版配置\n\n\tconst publishData: Record<string, any> = {\n\t\ttitle: params.settingInfo.baijiahaoTitle,\n\t\tcontent,\n\t\t// vertical_cover,\n\t\tabstract: params.settingInfo.baijiahaoAbstract,\n\t\tcover_layout,\n\t\tcover_images: JSON.stringify(cover_images),\n\t\t_cover_images_map: JSON.stringify(_cover_images_map),\n\t\ttype: \"news\",\n\t\tsource_reprinted_allow: 0,\n\t\tabstract_from: 1,\n\t\tisBeautify: \"false\",\n\t\tusingImgFilter: \"false\",\n\t\tsource: \"upload\",\n\t\tcover_source: \"upload\",\n\t\tevent2news: params.settingInfo?.baijiahaoEvent2News ? 2 : 0,\n\t\tactivity_list,\n\t\t...(params.settingInfo.timer ? { timer_time: params.settingInfo.timer } : {}),\n\t};\n\n\tconst isDraft = params.saveType === \"draft\";\n\n\tconst saveUrl = isDraft\n\t\t? \"https://baijiahao.baidu.com/pcui/article/save?callback=bjhdraft\"\n\t\t: \"https://baijiahao.baidu.com/pcui/article/publish?callback=bjhpublish\";\n\n task._timerRecord['PrePublish']= Date.now();\n \n const proxyHttp = task?.isBeta ?? false ? new Http({headers}, params.proxyLoc, params.huiwenToken ) : http;\n\n\tconst res = await proxyHttp.api<{errno:number; ret: { article_id: string }; proxyInfo: Record<string, any>; errmsg: string}>({\n\t\tmethod: \"post\",\n\t\turl: saveUrl,\n\t\tdata: publishData,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/x-www-form-urlencoded\",\n\t\t\torigin: \"https://baijiahao.baidu.com\",\n\t\t\treferer: \"https://baijiahao.baidu.com/builder/rc/edit?type=news\",\n\t\t},\n\t\tdefaultErrorMsg: isDraft ? \"文章同步出现异常,请稍后重试。\" : \"文章发布出现异常,请稍后重试。\",\n\t});\n return success(res.errno == 0 ? res?.ret?.article_id || '': \"\", res.errno == 0 ? `文章发布成功!`+ (proxyHttp.proxyInfo || \"\"): res.errmsg ?? '文章发布失败,请稍后重试。')\n};\n","import path from \"node:path\";\nimport type { CookieMap, Response } from \"@iflyrpa/share\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\n\nimport { copyHtmlToClipboard, TimeFormatter} from \"../../utils\";\nimport type { PublishAction } from \"./index\";\n\nexport const rpaAction: PublishAction = async (task, params) => {\n\tconst tmpCachePath = task.getTmpPath();\n\n\tconst commonCookies: CookieMap[number] = {\n\t\tpath: \"/\",\n\t\tsecure: true,\n\t\tdomain: \"baijiahao.baidu.com\",\n\t\turl: \"https://baijiahao.baidu.com\",\n\t\thttpOnly: true,\n\t};\n\n\tconst page = await task.createPage({\n\t\tshow: task.debug,\n\t\turl: params.url || \"https://baijiahao.baidu.com/builder/rc/edit?type=news&is_from_cms=1\",\n\t\tcookies: params.cookies?.map((it) => ({ ...commonCookies, ...it })) || [],\n\t});\n\n\t// 0. 校验登录\n\ttry {\n\t\tawait page.waitForSelector(\".bjh-edit-header\", { state: \"visible\" });\n\t} catch (error) {\n\t\treturn { code: 400, message: \"登录失效\", data: page.url() };\n\t}\n\n\t// 1. 等待编辑器加载出来\n\tawait page.waitForSelector(\".edui-editor-toolbarbox\", { state: \"visible\" });\n\n\t// 2. 关闭纯文本粘贴\n\t// 有个默认开启纯文本粘贴的提示,先关闭\n\tif (await page.locator(\"#_onceTip-news_pasteplain_tip\").isVisible()) {\n\t\tawait page.locator(\"#_onceTip-news_pasteplain_tip .confirm\").click();\n\t}\n\t// 判断是否开启纯文本粘贴,如果开启,点击关闭\n\tif (await page.locator(\".edui-editor-toolbarbox .edui-button.edui-for-pasteplain .edui-state-checked\").isVisible()) {\n\t\tawait page.locator(\".edui-editor-toolbarbox .edui-button.edui-for-pasteplain .edui-state-checked\").click();\n\t}\n\n\t// 3. 填写标题\n\tconst titleInstance = page.locator(\"#ueditor #bjhNewsTitle .input-box textarea\");\n\tawait titleInstance.click();\n\tawait titleInstance.fill(params.title);\n\n\t// 4. 填写正文\n\tawait copyHtmlToClipboard(page, params.content);\n\t// 定位目标元素并聚焦\n\tawait page.click(\"#ueditor .edui-editor-iframeholder iframe\");\n\t// 模拟Ctrl+A全选\n\tawait page.keyboard.press(\"Control+A\");\n\t// 模拟Ctrl+V粘贴\n\tawait page.keyboard.press(\"Control+V\");\n\n\t// 等待 1 秒钟(让正文中的图片上传上去)\n\tawait page.waitForTimeout(1000);\n\n\t// 5. 设置封面\n\tconst coverFormItem = page.locator(\".bjh-edit-wrap-set .cheetah-form-item\").nth(0);\n\tconst isSingleCover = params.settingInfo.baijiahaoCoverType === \"single\";\n\tif (isSingleCover) {\n\t\t// 单图\n\t\tawait coverFormItem\n\t\t\t.locator(\".cheetah-form-item-control label.cheetah-radio-wrapper\")\n\t\t\t.filter({ hasText: \"单图\" })\n\t\t\t.click();\n\t} else {\n\t\t// 多图\n\t\tawait coverFormItem\n\t\t\t.locator(\".cheetah-form-item-control label.cheetah-radio-wrapper\")\n\t\t\t.filter({ hasText: \"三图\" })\n\t\t\t.click();\n\t}\n\t// 获取待上传图片的本地路径\n\tconst images = await Promise.all(\n\t\t(isSingleCover ? [params.settingInfo.baijiahaoSingleCover] : params.settingInfo.baijiahaoMultCover).map((url) => {\n\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t}),\n\t);\n\tconst coverSelector = page.locator(\n\t\t\".cheetah-form-item-control .edit-cover-container .cover-list .DraggableTags-tag-drag .coverUploaderView\",\n\t);\n\tconst coverCount = await coverSelector.count();\n\n\tfor (let i = 0; i < coverCount; i++) {\n\t\tconst item = coverSelector.nth(i);\n\t\tconst image = images[i];\n\n\t\t// 滚动到可视区域\n\t\tawait item.evaluate((node) => node.scrollIntoView());\n\n\t\t// 如果已经存在图片,选择更换\n\t\tif (await item.locator(\".actions-wrap\").isVisible()) {\n\t\t\tawait item.locator(\".actions-wrap .action\").filter({ hasText: \"更换\" }).click();\n\t\t} else {\n\t\t\tawait item.click();\n\t\t}\n\n\t\t// 等待弹窗出现\n\t\tawait page.waitForSelector(\".cheetah-modal-root .cheetah-ui-pro-image-modal\", { state: \"visible\" });\n\t\t// 选择本地图片 tab\n\t\tawait page\n\t\t\t.locator(\".cheetah-modal-root .cheetah-ui-pro-image-modal .cheetah-tabs-nav-list .cheetah-tabs-tab\")\n\t\t\t.filter({ hasText: \"本地图片\" })\n\t\t\t.click();\n\t\tconst fileChooserPromise = page.waitForEvent(\"filechooser\");\n\t\tawait page\n\t\t\t.locator(\".cheetah-modal-root .cheetah-ui-pro-image-modal .cheetah-tabs-tabpane-active .cheetah-upload-wrapper\")\n\t\t\t.click();\n\t\tconst fileChooser = await fileChooserPromise;\n\t\tawait fileChooser.setFiles([image]);\n\t\t// 等待上传完成(可以用去编辑是否可点击来判断)\n\t\t// 等待 button 元素上面的 disabled 属性消失\n\t\tawait page.waitForSelector(\n\t\t\t\".cheetah-modal-root .cheetah-ui-pro-image-modal .cheetah-modal-footer button#imageModalEditBtn[disabled]\",\n\t\t\t{ state: \"detached\" },\n\t\t);\n\t\t// 点击确认关闭弹窗\n\t\tawait page\n\t\t\t.locator(\".cheetah-modal-root .cheetah-ui-pro-image-modal .cheetah-modal-footer button\")\n\t\t\t.filter({ hasText: \"确认\" })\n\t\t\t.click();\n\t\t// 等待 2 秒\n\t\tawait page.waitForTimeout(1000);\n\t}\n\n\t// 6. 摘要\n\tconst abstractFormItem = page\n\t\t.locator(\".bjh-edit-wrap-set .cheetah-form-item\")\n\t\t.nth(1)\n\t\t.locator(\"textarea.cheetah-input\");\n\tawait abstractFormItem.click();\n\tawait abstractFormItem.fill(params.settingInfo.baijiahaoAbstract);\n\n\t// 7. 设置\n\tconst isAi = params.settingInfo.baijiahaoIsAi.includes(\"isAi\");\n\tconst settingFormItem = page.locator(\".bjh-edit-wrap-set .cheetah-form-item\").nth(5);\n\tif (isAi) {\n\t\tawait settingFormItem.locator(\"label.cheetah-checkbox-wrapper\").filter({ hasText: \"AI创作声明\" }).click();\n\t}\n\tif(params.settingInfo.baijiahaoPublishConf){\n\t\tfor (const item of params.settingInfo.baijiahaoPublishConf) {\n\t\t\tconst _settingFormItem = settingFormItem.locator(\"label.cheetah-checkbox-wrapper\").locator(`span.${item.confName}`)\n\t\t\tif((await _settingFormItem.isChecked()) !== item.isChecked ) await _settingFormItem.click();\n\t\t\tawait page.waitForTimeout(200);\n\t\t};\n\t}\n\n\tconst enent2NewsBtn = page.locator(\"input#event2news\")\n\tif((await enent2NewsBtn.isVisible()) && params.settingInfo.baijiahaoEvent2News) await enent2NewsBtn.click()\n\n\t// 8. 活动投稿\n\tif (params.settingInfo.baijiahaoActivity.length > 0 && params.settingInfo.baijiahaoSelectActivityCache.length > 0) {\n\t\tconst activity = params.settingInfo.baijiahaoActivity.filter((it) =>\n\t\t\tparams.settingInfo.baijiahaoSelectActivityCache.includes(it.id),\n\t\t);\n\t\tif (activity.length > 0) {\n\t\t\tconst activityFormItem = page.locator(\".bjh-edit-wrap-set .cheetah-form-item\").nth(3);\n\t\t\tconst name = activity[0].task_name;\n\t\t\tconst findActivity = activityFormItem.locator(\".cheetah-form-item-control\").getByText(name, { exact: true });\n\t\t\tif ((await findActivity.count()) > 0) {\n\t\t\t\tawait findActivity.first().locator(\"..\").click();\n\t\t\t}\n\t\t}\n\t}\n\n\t// 9. 保存草稿 / 发布\n\tconst {articleId, message}= await new Promise<{articleId: string, message:string}>(async (resolve) => {\n\t\t// 定义响应处理函数\n\t\tconst handleResponse = async (response: Response) => {\n\t\t\tconst url = response.url();\n\t\t\tif (url.includes(\"/pcui/article/save\") || url.includes(\"/pcui/article/publish\")) {\n\t\t\t\tconst jsonResponse = await response.json();\n\t\t\t\tpage.off(\"response\", handleResponse);\n\t\t\t\tresolve({articleId:jsonResponse?.ret?.article_id, message: jsonResponse?.errmsg});\n\t\t\t}\n\t\t};\n\n\t\t// 开始监听响应事件\n\t\tpage.on(\"response\", handleResponse);\n task._timerRecord['PrePublish']= Date.now();\n\n\t\tconst operatorContainer = page.locator(\".editor-component-operator\");\n\t\tif (params.saveType === \"draft\") {\n\t\t\tawait operatorContainer.locator(\".op-btn-outter-content\").filter({ hasText: \"存草稿\" }).locator(\"button\").click();\n\t\t} else {\n\t\t\tif (params.settingInfo.timer) {\n\t\t\t\t// 点击“定时发布”按钮\n\t\t\t\tawait operatorContainer.locator(\".op-btn-outter-content\").filter({ hasText: \"定时发布\" }).locator(\"button\").click();\n\n\t\t\t\t// 选择日期\n\t\t\t\tawait page.locator(\".timepublish-wrap-select .select-wrap\",{hasText: \"日\"}).click();\n\t\t\t\tawait page.locator('#select-date_list + * .cheetah-select-item-option', { hasText: TimeFormatter.format(params.settingInfo.timer, \"M月dd日\") }).click();\n\t\t\t\tawait page.waitForTimeout(200);\n\n\t\t\t\t// 选择小时\n\t\t\t\tawait page.locator(\".timepublish-wrap-select .select-wrap\",{hasText: \"点\"}).click();\n\t\t\t\tawait page.locator('#select-hour_list +div.rc-virtual-list').hover();\n\n\t\t\t\tconst scrollHourInfo = await page.evaluate(() => {\n\t\t\t\t\tconst hourInner = document.querySelector('#select-hour_list + * .rc-virtual-list-holder-inner');\n\t\t\t\t\tconst hourElementHeight = hourInner?.children[0].clientHeight || 36;\n\t\t\t\t\tconst hourMapsElem = Array.from(document.querySelectorAll('#select-hour_list + * .cheetah-select-item-option .cheetah-select-item-option-content'));\n\t\t\t\t\tconst hourMap = hourMapsElem.map(item => item.textContent?.trim());\n\n\t\t\t\t\treturn {elementHeight: hourElementHeight, elementItem : hourMap};\n\t\t\t\t});\n\t\t\t\tconst fistHourElem = scrollHourInfo.elementItem[0];\n\t\t\t\tlet fistHourElemH = Number(fistHourElem?.split(\"点\")[0]); // 列表渲染的第一个时间\n\n\t\t\t\tconst lastHourElem = scrollHourInfo.elementItem[scrollHourInfo.elementItem.length - 1];\n\t\t\t\tlet lastHourElemH = Number(lastHourElem?.split(\"点\")[0]); // 列表渲染的最后一个时间\n\n\t\t\t\tlet targetTimeH = Number(TimeFormatter.format(params.settingInfo.timer, 'h')); // 目标时间\n\t\t\t\tawait page.mouse.wheel(0, targetTimeH > lastHourElemH ? (targetTimeH-lastHourElemH)*scrollHourInfo.elementHeight : targetTimeH < fistHourElemH ? -(fistHourElemH - targetTimeH)*scrollHourInfo.elementHeight : 0 );\n\t\t\t\tawait page.locator(\"#select-hour_list + * .cheetah-select-item-option \",{ hasText: targetTimeH + \"点\"}).click()\n\t\t\t\tawait page.waitForTimeout(200);\n\n\n\t\t\t\t// 选择分钟\n\t\t\t\tawait page.locator(\".timepublish-wrap-select .select-wrap\",{hasText: \"分\"}).click();\n\t\t\t\tawait page.locator('#select-minute_list +div.rc-virtual-list').hover();\n\n\t\t\t\tconst scrollMinuteInfo = await page.evaluate(() => {\n\t\t\t\t\tconst hourInner = document.querySelector('#select-minute_list + * .rc-virtual-list-holder-inner');\n\t\t\t\t\tconst hourElementHeight = hourInner?.children[0].clientHeight || 36;\n\t\t\t\t\tconst hourMapsElem = Array.from(document.querySelectorAll('#select-minute_list + * .cheetah-select-item-option .cheetah-select-item-option-content'));\n\t\t\t\t\tconst hourMap = hourMapsElem.map(item => item.textContent?.trim());\n\n\t\t\t\t\treturn {elementHeight: hourElementHeight, elementItem : hourMap};\n\t\t\t\t});\n\t\t\t\tconst fistMinuteElem = scrollMinuteInfo.elementItem[0];\n\t\t\t\tlet fistMinuteElemH = Number(fistMinuteElem?.split(\"分\")[0]); // 列表渲染的第一个时间\n\n\t\t\t\tconst lastMinuteElem = scrollMinuteInfo.elementItem[scrollMinuteInfo.elementItem.length - 1];\n\t\t\t\tlet lastMinuteElemH = Number(lastMinuteElem?.split(\"分\")[0]); // 列表渲染的最后一个时间\n\n\t\t\t\tlet targetTimeM = Number(TimeFormatter.format(params.settingInfo.timer, 'm')); // 目标时间\n\t\t\t\tawait page.mouse.wheel(0, targetTimeM > lastMinuteElemH ? (targetTimeM-lastMinuteElemH)*scrollMinuteInfo.elementHeight : targetTimeM < fistMinuteElemH ? -(fistMinuteElemH - targetTimeM)*scrollMinuteInfo.elementHeight : 0 );\n\t\t\t\tawait page.locator(\"#select-minute_list + * .cheetah-select-item-option \",{ hasText: targetTimeM + \"分\"}).click()\n\t\t\t\tawait page.waitForTimeout(200);\n\n\n\t\t\t\tawait page.locator(\".cheetah-modal-confirm-btns button\").filter({ hasText:\"定时发布\" }).click()\n\t\t\t}else{\n\t\t\t\tawait operatorContainer.locator(\".op-btn-outter-content\").filter({ hasText: /^发布/ }).locator(\"button\").click();\n\t\t\t}\n\t\t}\n\t});\n\n\t// 关闭页面\n\tawait page.close();\n\n\treturn success(articleId, articleId? \"发布成功\" : message);\n};\n","import type { CommonAction } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { executeAction } from \"../../utils\";\nimport { mockAction } from \"./mock\";\nimport { rpaAction } from \"./rpa\";\n\ninterface ActivityData {\n\tid: string;\n\ttask_name: string;\n\t// biome-ignore lint/suspicious/noExplicitAny: <explanation>\n\t[key: string]: any;\n}\n\nexport interface BaijiahaoPublishParams extends ActiomCommonParams {\n\tsaveType: \"draft\" | \"publish\"; // 保存成草稿 / 发布\n\ttoken: string;\n\ttitle: string;\n\tcontent: string;\n proxyLoc?: string;\n huiwenToken?: string; // 绘文token\n\tsettingInfo: {\n\t\tbaijiahaoTitle: string; // 标题\n\t\tbaijiahaoCoverType: \"single\" | \"multiple\"; // 封面设置:单图 | 三图\n\t\tbaijiahaoAbstract: string; // 摘要\n\t\tbaijiahaoIsAi: string[]; // 设置-由配置项取代\n\t\tbaijiahaoSingleCover: string; // 单图封面\n\t\tbaijiahaoMultCover: string[]; // 三图封面\n\t\tbaijiahaoVerticalCover?: string; // 竖版封面-下版本删除\n\t\tbaijiahaoActivity: ActivityData[]; // 活动投稿\n\t\tbaijiahaoPublishConf?: {\n\t\t\tconfName: string;\n\t\t\tisChecked: boolean;\n\t\t}[]; // 发布配置项\n\t\tbaijiahaoEvent2News: boolean; // 图文转动态\n\t\tbaijiahaoSelectActivityCache: string[]; // 选中的活动标签\n\t\ttimer?: number;\n\t};\n}\n\nexport type PublishAction = CommonAction<BaijiahaoPublishParams, string>;\n\nexport const baijiahaoPublish: PublishAction = async (task, params) => {\n\tif (params.actionType === \"rpa\") {\n\t\treturn rpaAction(task, params);\n\t}\n\n\tif (params.actionType === \"mockApi\") {\n\t\treturn mockAction(task, params);\n\t}\n\n\treturn executeAction(mockAction, rpaAction)(task, params);\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface GetBaijiahaoActivityParams extends ActiomCommonParams {\n\ttoken: string;\n}\n\nexport interface ActivityData {\n\tid: string;\n\ttask_name: string;\n}\n\nexport type PublishAction = CommonAction<GetBaijiahaoActivityParams, ActivityData[]>;\n\nexport const getBaijiahaoActivity: PublishAction = async (_task, params) => {\n\tconst cookies = params.cookies ?? [];\n\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\ttoken: params.token,\n\t\t},\n\t});\n\n\tconst res = await http.api<{ data: { list: ActivityData[] } }>({\n\t\tmethod: \"get\",\n\t\turl: \"https://baijiahao.baidu.com/author/eco/tasksystem/getSquareMissionList\",\n\t\tparams: {\n\t\t\tpage_no: 1,\n\t\t\tpage_size: 18,\n\t\t\tarticle_type: 1,\n\t\t\ttask_attend: 1,\n\t\t\ttask_origin: \"market\",\n\t\t\ttask_type: -1,\n\t\t},\n\t});\n\n\treturn success(res?.data?.list ?? []);\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams, Toutiao } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface GetToutiaoConfigParams extends ActiomCommonParams {}\n\nexport interface GetToutiaoConfigResult {\n\tsuggestWords: Toutiao.Topic[];\n\tcityDistrict: Toutiao.CityDistrict | null;\n\tuserRights: Toutiao.UserRight[];\n}\n\nexport type PublishAction = CommonAction<GetToutiaoConfigParams, GetToutiaoConfigResult>;\n\nexport const getToutiaoConfig: PublishAction = async (_task, params) => {\n\tconst cookies = params.cookies ?? [];\n\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n\t\t},\n\t});\n\n\tconst getSuggestWords = async () => {\n\t\ttry {\n\t\t\tconst res = await http.api<{ code: number; hots: Toutiao.Topic[] }>({\n\t\t\t\tmethod: \"get\",\n\t\t\t\turl: \"https://mp.toutiao.com/mp/agw/creator_helper/suggest_words\",\n\t\t\t\tparams: { type: 2, words: \"\" },\n\t\t\t});\n\n\t\t\treturn res.code === 0 ? res.hots : [];\n\t\t} catch (error) {\n\t\t\treturn [];\n\t\t}\n\t};\n\n\tconst getCityDistrict = async () => {\n\t\ttry {\n\t\t\tconst res = await http.api<{ status: number; data: Toutiao.CityDistrict }>({\n\t\t\t\tmethod: \"get\",\n\t\t\t\turl: \"https://mp.toutiao.com/toutiao/normandy/mp/city_district/\",\n\t\t\t});\n\t\t\treturn res.status === 0 ? res.data : null;\n\t\t} catch (error) {\n\t\t\treturn null;\n\t\t}\n\t};\n\n\tconst getUserRights = async () => {\n\t\ttry {\n\t\t\tconst res = await http.api<{ code: number; data: { benefit_level_info_list: Toutiao.UserRight[] } }>({\n\t\t\t\tmethod: \"get\",\n\t\t\t\turl: \"https://mp.toutiao.com/mp/agw/creator_project/get_benefit_page_info\",\n\t\t\t});\n\t\t\treturn res.code === 0 ? res.data.benefit_level_info_list : [];\n\t\t} catch (error) {\n\t\t\treturn [];\n\t\t}\n\t};\n\n\tconst [suggestWords, cityDistrict, userRights] = await Promise.all([\n\t\tgetSuggestWords(),\n\t\tgetCityDistrict(),\n\t\tgetUserRights(),\n\t]);\n\n\treturn success({ suggestWords, cityDistrict, userRights });\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface GetBaijiahaoConfigParams extends ActiomCommonParams {\n\ttoken: string;\n}\n\nexport interface ConfigData {\n\tid: string;\n\tname: string;\n\tdetail: string;\n\tis_enable: number;\n\tpublish_num_left?: number;\n}\n\nexport type PublishAction = CommonAction<GetBaijiahaoConfigParams, ConfigData[]>;\n\nexport const getBaijiahaoConfig: PublishAction = async (_task, params) => {\n\tconst cookies = params.cookies ?? [];\n\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\ttoken: params.token,\n\t\t},\n\t});\n\n\tconst res = await http.api<{ data: { article: { activity_list: ConfigData[]}, ability: { publish_num_left: number} } }>({\n\t\tmethod: \"get\",\n\t\turl: \"https://baijiahao.baidu.com/pcui/article/edit\",\n\t\tparams: {\n\t\t\ttype: \"news\"\n\t\t},\n\t});\n\tconst data : ConfigData[] = res?.data?.article.activity_list.map((_item) =>{ \n\t\treturn {\n\t\t\tid: _item.id,\n\t\t\tname: _item.name,\n\t\t\tdetail: _item.detail,\n\t\t\tis_enable: _item.is_enable\n\t\t}\n\t})?? []\n\tdata.push({\n\t\tid: \"bjh_publish_num_left\",\n\t\tname: \"账号剩余发文数\",\n\t\tdetail: \"\",\n\t\tis_enable: 1,\n\t\tpublish_num_left: res.data.ability.publish_num_left\n\t})\n\treturn success(data, \"获取百家号配置项成功!\")\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams, Toutiao } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface SearchToutiaoTopicListParams extends ActiomCommonParams {\n\tsearchValue: string;\n}\n\nexport type PublishAction = CommonAction<SearchToutiaoTopicListParams, Toutiao.Topic[]>;\n\nexport const searchToutiaoTopicList: PublishAction = async (_task, params) => {\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n\t\t},\n\t});\n\n\ttry {\n\t\tconst res = await http.api<{ code: number; recents: Toutiao.Topic[]; hots: Toutiao.Topic[] }>({\n\t\t\tmethod: \"get\",\n\t\t\turl: \"https://mp.toutiao.com/mp/agw/creator_helper/suggest_words\",\n\t\t\tparams: { type: 2, words: params.searchValue },\n\t\t});\n\n\t\tif (res.code === 0) {\n\t\t\treturn success(params.searchValue ? res.recents : res.hots);\n\t\t}\n\n\t\treturn success([]);\n\t} catch (error) {\n\t\treturn success([]);\n\t}\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams, Toutiao } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface SearchToutiaoLocationParams extends ActiomCommonParams {\n\tplaceName: string;\n}\n\nexport type PublishAction = CommonAction<SearchToutiaoLocationParams, Toutiao.CityPoi[]>;\n\nexport const searchToutiaoLocation: PublishAction = async (_task, params) => {\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n biz: 1231\n\t\t},\n\t});\n\n\ttry {\n\t\tconst res = await http.api<{ code: number; data: {poi: Array<any>}}>({\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://mp.toutiao.com/poi/api/searchplace\",\n\t\t\tdata: {\n appid: 1231,\n device: 2,\n keywords: params.placeName,\n language: \"zh-CN\",\n location: \"-1,-1\",\n offset: 20,\n page: 1,\n region: \"CN\",\n scenario: \"TIPS\",\n timestamp: Math.floor(Date.now() / 1000)\n },\n\t\t});\n \n\t\tif (res.code === 200) {\n\t\t\treturn success(res.data.poi.map(item => ({ \n position: item.name,\n city: item.city,\n longitude: item.longitude,\n latitude: item.latitude,\n type_code: item.type_code,\n poi_id: item.id,\n })));\n\t\t}\n\n\t\treturn success([]);\n\t} catch (error) {\n\t\treturn success([]);\n\t}\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams, Toutiao } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface SearchToutiaoUserIDParams extends ActiomCommonParams {\n\tUserName: string;\n}\n\nexport type PublishAction = CommonAction<SearchToutiaoUserIDParams, Toutiao.SuggestWords[]>;\n\nexport const searchToutiaoUserInfo: PublishAction = async (_task, params) => {\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n\t\t},\n\t});\n\n\ttry {\n\t\tconst res = await http.api<{ err_no: number; data: {suggest: Array<any>}}>({\n\t\t\tmethod: \"get\",\n\t\t\turl: \"https://mp.toutiao.com/ugc/publish/post/v1/suggest/\",\n\t\t\tparams: { \n words: params.UserName,\n language: \"zh\",\n app_name: \"toutiao_mp\"\n },\n\t\t});\n\n\t\tif (res.err_no === 0) {\n\t\t\treturn success(res.data.suggest.map(item => ({ \n user_id: item.user.info.user_id,\n name: item.user.info.name,\n avatar_url: item.user.info.avatar_url,\n followers_count: item.user.relation_count.followers_count\n })), '搜索成功');\n\t\t}\n\n\t\treturn success([]);\n\t} catch (error) {\n\t\treturn success([]);\n\t}\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams, Xiaohongshu } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface searchXiaohongshuLocationParams extends ActiomCommonParams {\n\tsearchValue: string;\n\tlatitude?: number;\n\tlongitude?: number;\n\tsize?: number;\n\tpage?: number;\n}\n\nexport type PublishAction = CommonAction<searchXiaohongshuLocationParams, Xiaohongshu.Location[]>;\n\nexport const searchXiaohongshuLocation: PublishAction = async (_task, params) => {\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://creator.xiaohongshu.com\",\n\t\t\torigin: \"https://creator.xiaohongshu.com\",\n\t\t},\n\t});\n\n\ttry {\n\t\tconst result = await http.api<{ code: number; data: { poi_list: Xiaohongshu.Location[] } }>({\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://edith.xiaohongshu.com/web_api/sns/v1/local/poi/creator/search\",\n\t\t\tdata: {\n\t\t\t\tkeyword: params.searchValue,\n\t\t\t\tlatitude: params.latitude ?? 0,\n\t\t\t\tlongitude: params.longitude ?? 0,\n\t\t\t\tpage: params.page ?? 1,\n\t\t\t\tsize: params.size ?? 10,\n\t\t\t\tsource: \"WEB\",\n\t\t\t\ttype: 3,\n\t\t\t},\n\t\t});\n\n\t\treturn success(result.code === 0 ? result.data.poi_list : []);\n\t} catch (error) {\n\t\treturn success([]);\n\t}\n};\n","import { Buffer } from \"node:buffer\";\nimport crypto from \"node:crypto\";\n\n/**\n * 小红书加密参数逆向,代码来自:https://github.com/Cloxl/xhshow \n */\n\n/**\n * 加密处理相关配置常量\n */\nclass CryptoConfig {\n // 位操作相关常量\n static readonly MAX_32BIT = 0xFFFFFFFF; // 32位无符号整数最大值掩码\n static readonly MAX_SIGNED_32BIT = 0x7FFFFFFF; // 32位有符号整数最大值\n\n // Base58编码相关常量\n static readonly BASE58_ALPHABET = \"NOPQRStuvwxWXYZabcyz012DEFTKLMdefghijkl4563GHIJBC7mnop89+/AUVqrsOPQefghijkABCDEFGuvwz0123456789xy\";\n static readonly STANDARD_BASE64_ALPHABET = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n static readonly CUSTOM_BASE64_ALPHABET = \"ZmserbBoHQtNP+wOcza/LpngG8yJq42KWYj0DSfdikx3VT16IlUAFM97hECvuRX5\";\n static readonly BASE58_BASE = 58; // Base58进制基数\n static readonly BYTE_SIZE = 256; // 字节大小(2^8)\n\n // XOR 密钥\n static readonly HEX_KEY = \"af572b95ca65b2d9ec76bb5d2e97cb653299cc663399cc663399cce673399cce6733190c06030100000000008040209048241289c4e271381c0e0703018040a05028148ac56231180c0683c16030984c2693c964b259ac56abd5eaf5fafd7e3f9f4f279349a4d2e9743a9d4e279349a4d2e9f47a3d1e8f47239148a4d269341a8d4623110884422190c86432994ca6d3e974baddee773b1d8e47a35128148ac5623198cce6f3f97c3e1f8f47a3d168b45aad562b158ac5e2f1f87c3e9f4f279349a4d269b45aad56\";\n\n // 时间戳相关常量\n static readonly TIMESTAMP_BYTES_COUNT = 16; // 时间戳字节数组长度\n static readonly TIMESTAMP_XOR_KEY = 41; // 时间戳编码XOR密钥\n static readonly STARTUP_TIME_OFFSET_MIN = 1000; // 启动时间偏移最小值\n static readonly STARTUP_TIME_OFFSET_MAX = 4000; // 启动时间偏移最大值\n\n // 十六进制处理相关常量\n static readonly EXPECTED_HEX_LENGTH = 32; // 十六进制参数预期长度\n static readonly OUTPUT_BYTE_COUNT = 8; // 处理后输出字节数\n static readonly HEX_CHUNK_SIZE = 2; // 十六进制字符块大小\n\n // 载荷构建相关常量\n static readonly VERSION_BYTES = [119, 104, 96, 41]; // 版本标识字节\n static readonly FIXED_SEPARATOR_BYTES = [16, 0, 0, 0, 15, 5, 0, 0, 47, 1, 0, 0]; // 固定分隔符字节\n static readonly RANDOM_BYTE_COUNT = 4; // 随机字节数量\n static readonly FIXED_INT_VALUE_1 = 15; // 固定整数值1\n static readonly FIXED_INT_VALUE_2 = 1291; // 固定整数值2\n\n static readonly ENV_STATIC_BYTES = [ // 环境变量静态字节\n 1, 249, 83, 102, 103, 201, 181, 131, 99, 94, 7, 68, 250, 132, 21,\n ];\n\n // 签名数据模板\n static readonly SIGNATURE_DATA_TEMPLATE = {\n x0: \"4.2.2\",\n x1: \"xhs-pc-web\",\n x2: \"Windows\",\n x3: \"\",\n x4: \"object\",\n };\n\n // 前缀常量\n static readonly X3_PREFIX = \"mns0101_\";\n static readonly XYS_PREFIX = \"XYS_\";\n}\n\n/**\n * 随机数生成工具类\n */\nclass RandomGenerator {\n /**\n * 生成指定长度的随机字节数组\n */\n generateRandomBytes(byteCount: number): number[] {\n return Array.from({ length: byteCount }, () => Math.floor(Math.random() * CryptoConfig.BYTE_SIZE));\n }\n\n /**\n * 生成指定范围内的随机字节\n */\n generateRandomByteInRange(minVal: number, maxVal: number): number {\n return Math.floor(Math.random() * (maxVal - minVal + 1)) + minVal;\n }\n\n /**\n * 生成4字节随机整数\n */\n generateRandomInt(): number {\n return Math.floor(Math.random() * (CryptoConfig.MAX_32BIT + 1));\n }\n}\n\n/**\n * 十六进制数据处理工具类\n */\nclass HexProcessor {\n /**\n * 将十六进制字符串转换为字节数组\n */\n hexStringToBytes(hexString: string): number[] {\n const byteValues: number[] = [];\n for (let i = 0; i < hexString.length; i += CryptoConfig.HEX_CHUNK_SIZE) {\n const hexChunk = hexString.substr(i, CryptoConfig.HEX_CHUNK_SIZE);\n byteValues.push(parseInt(hexChunk, 16));\n }\n return byteValues;\n }\n\n /**\n * 处理十六进制参数\n */\n processHexParameter(hexString: string, xorKey: number): number[] {\n if (hexString.length !== CryptoConfig.EXPECTED_HEX_LENGTH) {\n throw new Error(`hex parameter must be ${CryptoConfig.EXPECTED_HEX_LENGTH} characters`);\n }\n\n const byteValues = this.hexStringToBytes(hexString);\n return byteValues\n .map(byteVal => byteVal ^ xorKey)\n .slice(0, CryptoConfig.OUTPUT_BYTE_COUNT);\n }\n}\n\n/**\n * 位操作和种子变换工具类\n */\nclass BitOperations {\n /**\n * 将值标准化为32位\n */\n normalizeTo32bit(value: number): number {\n return value & CryptoConfig.MAX_32BIT;\n }\n\n /**\n * 将无符号32位值转换为有符号32位值\n */\n toSigned32bit(unsignedValue: number): number {\n if (unsignedValue > CryptoConfig.MAX_SIGNED_32BIT) {\n return unsignedValue - 0x100000000;\n }\n return unsignedValue;\n }\n\n /**\n * 计算种子值变换\n */\n computeSeedValue(seed32bit: number): number {\n const normalizedSeed = this.normalizeTo32bit(seed32bit);\n\n const shift15Bits = normalizedSeed >> 15;\n const shift13Bits = normalizedSeed >> 13;\n const shift12Bits = normalizedSeed >> 12;\n const shift10Bits = normalizedSeed >> 10;\n\n const xorMaskedResult = (shift15Bits & ~shift13Bits) | (shift13Bits & ~shift15Bits);\n const shiftedResult = ((xorMaskedResult ^ shift12Bits ^ shift10Bits) << 31) & CryptoConfig.MAX_32BIT;\n\n return this.toSigned32bit(shiftedResult);\n }\n\n /**\n * 对整数数组进行XOR变换\n */\n xorTransformArray(sourceIntegers: number[]): Uint8Array {\n const resultBytes = new Uint8Array(sourceIntegers.length);\n const hexKeyBytes = Buffer.from(CryptoConfig.HEX_KEY, 'hex');\n\n for (let index = 0; index < sourceIntegers.length; index++) {\n resultBytes[index] = (sourceIntegers[index] ^ hexKeyBytes[index]) & 0xFF;\n }\n\n return resultBytes;\n }\n}\n\n/**\n * Base58编码器\n */\nclass Base58Encoder {\n /**\n * 将字节数据编码为Base58字符串\n */\n encodeToB58(inputBytes: Uint8Array | number[]): string {\n const bytesArray = Array.isArray(inputBytes) ? inputBytes : Array.from(inputBytes);\n const numberAccumulator = this.bytesToNumber(bytesArray);\n const leadingZerosCount = this.countLeadingZeros(bytesArray);\n const encodedCharacters = this.numberToBase58Chars(numberAccumulator);\n\n encodedCharacters.push(...Array(leadingZerosCount).fill(CryptoConfig.BASE58_ALPHABET[0]));\n return encodedCharacters.reverse().join('');\n }\n\n /**\n * 将字节数组转换为数字\n */\n private bytesToNumber(inputBytes: Uint8Array | number[]): bigint {\n const bytesArray = Array.isArray(inputBytes) ? inputBytes : Array.from(inputBytes);\n let result: bigint = 0n;\n const BYTE_SIZE: bigint = 256n;\n \n for (const byteValue of bytesArray) {\n result = result * BYTE_SIZE + BigInt(byteValue);\n }\n \n return result;\n }\n \n /**\n * 计算前导零的数量\n */\n private countLeadingZeros(inputBytes: number[]): number {\n let count = 0;\n for (const byteValue of inputBytes) {\n if (byteValue === 0) {\n count++;\n } else {\n break;\n }\n }\n return count;\n }\n\n /**\n * 将数字转换为Base58字符数组\n */\n private numberToBase58Chars(number: bigint): string[] {\n const characters: string[] = [];\n const base = BigInt(CryptoConfig.BASE58_BASE);\n \n while (number > 0n) {\n const remainder = number % base;\n characters.push(CryptoConfig.BASE58_ALPHABET[Number(remainder)]);\n number = number / base; // bigint 除法自动向下取整\n }\n \n return characters;\n } \n}\n\n/**\n * Base64编码器\n */\nclass Base64Encoder {\n /**\n * 使用自定义的Base64码表来编码一个字符串\n */\n encodeToB64(dataToEncode: string): string {\n const dataBytes = Buffer.from(dataToEncode, 'utf-8');\n const standardEncodedString = dataBytes.toString('base64');\n\n let result = '';\n for (const char of standardEncodedString) {\n const index = CryptoConfig.STANDARD_BASE64_ALPHABET.indexOf(char);\n if (index !== -1) {\n result += CryptoConfig.CUSTOM_BASE64_ALPHABET[index];\n } else {\n result += char; // 保持填充字符等\n }\n }\n\n return result;\n }\n}\n\n/**\n * 请求签名参数验证器\n */\nclass RequestSignatureValidator {\n /**\n * 验证HTTP方法参数\n */\n static validateMethod(method: any): 'GET' | 'POST' {\n if (typeof method !== 'string') {\n throw new TypeError(`method must be string, got ${typeof method}`);\n }\n\n const upperMethod = method.trim().toUpperCase();\n if (upperMethod !== 'GET' && upperMethod !== 'POST') {\n throw new Error(`method must be 'GET' or 'POST', got '${upperMethod}'`);\n }\n\n return upperMethod as 'GET' | 'POST';\n }\n\n /**\n * 验证URI参数\n */\n static validateUri(uri: any): string {\n if (typeof uri !== 'string') {\n throw new TypeError(`uri must be string, got ${typeof uri}`);\n }\n\n if (!uri.trim()) {\n throw new Error('uri cannot be empty');\n }\n\n return uri.trim();\n }\n\n /**\n * 验证a1值参数\n */\n static validateA1Value(a1Value: any): string {\n if (typeof a1Value !== 'string') {\n throw new TypeError(`a1_value must be string, got ${typeof a1Value}`);\n }\n\n if (!a1Value.trim()) {\n throw new Error('a1_value cannot be empty');\n }\n\n return a1Value.trim();\n }\n\n /**\n * 验证xsec_appid参数\n */\n static validateXsecAppid(xsecAppid: any): string {\n if (typeof xsecAppid !== 'string') {\n throw new TypeError(`xsec_appid must be string, got ${typeof xsecAppid}`);\n }\n\n if (!xsecAppid.trim()) {\n throw new Error('xsec_appid cannot be empty');\n }\n\n return xsecAppid.trim();\n }\n\n /**\n * 验证payload参数\n */\n static validatePayload(payload: any): Record<string, any> | null {\n if (payload !== null && typeof payload !== 'object') {\n throw new TypeError(`payload must be object or null, got ${typeof payload}`);\n }\n\n // 验证payload键类型\n if (payload !== null && payload !== undefined) {\n for (const key in payload) {\n if (typeof key !== 'string') {\n throw new TypeError(`payload keys must be string, got ${typeof key} for key '${key}'`);\n }\n }\n }\n\n return payload;\n }\n}\n\n/**\n * 加密处理器\n */\nclass CryptoProcessor {\n public bitOps: BitOperations;\n public b58encoder: Base58Encoder;\n public b64encoder: Base64Encoder;\n public hexProcessor: HexProcessor;\n public randomGen: RandomGenerator;\n\n constructor() {\n this.bitOps = new BitOperations();\n this.b58encoder = new Base58Encoder();\n this.b64encoder = new Base64Encoder();\n this.hexProcessor = new HexProcessor();\n this.randomGen = new RandomGenerator();\n }\n\n /**\n * 8字节时间戳编码,小端序,与41异或,首字节可随机\n */\n private encodeTimestamp(ts: number, randomizeFirst: boolean = true): number[] {\n const key = Array(8).fill(CryptoConfig.TIMESTAMP_XOR_KEY);\n const arr = this.intToLeBytes(ts, 8);\n const encoded = arr.map((a, i) => a ^ key[i]);\n if (randomizeFirst) {\n encoded[0] = this.randomGen.generateRandomByteInRange(0, 255);\n }\n return encoded;\n }\n\n /**\n * 整数转小端序字节数组\n */\n private intToLeBytes(val: number, length: number = 4): number[] {\n const arr: number[] = [];\n for (let i = 0; i < length; i++) {\n arr.push(val & 0xFF);\n val >>>= 8;\n }\n return arr;\n }\n\n /**\n * UTF-8字符串转字节数组,前面加1字节长度\n */\n private strToLenPrefixedBytes(s: string): number[] {\n const buf = Buffer.from(s, 'utf-8');\n return [buf.length, ...Array.from(buf)];\n }\n\n /**\n * 构建环境字节数组\n */\n private buildEnvironmentBytes(): number[] {\n return [\n CryptoConfig.ENV_STATIC_BYTES[0],\n this.randomGen.generateRandomByteInRange(10, 254),\n ...CryptoConfig.ENV_STATIC_BYTES.slice(1)\n ];\n }\n\n /**\n * 构建载荷数组\n */\n buildPayloadArray(\n hexParameter: string,\n a1Value: string,\n appIdentifier: string = \"xhs-pc-web\",\n stringParam: string = \"\"\n ): number[] {\n // 生成随机数和时间戳\n const randNum = this.randomGen.generateRandomInt();\n const ts = Date.now(); // 毫秒时间戳\n const startupTs = ts - (\n CryptoConfig.STARTUP_TIME_OFFSET_MIN +\n this.randomGen.generateRandomByteInRange(\n 0,\n CryptoConfig.STARTUP_TIME_OFFSET_MAX - CryptoConfig.STARTUP_TIME_OFFSET_MIN\n )\n );\n\n const arr: number[] = [];\n arr.push(...CryptoConfig.VERSION_BYTES); // 固定头\n\n const randBytes = this.intToLeBytes(randNum, 4);\n arr.push(...randBytes);\n\n const xorKey = randBytes[0];\n\n // 时间戳编码\n arr.push(...this.encodeTimestamp(ts, true));\n arr.push(...this.intToLeBytes(startupTs, 8));\n arr.push(...this.intToLeBytes(CryptoConfig.FIXED_INT_VALUE_1));\n arr.push(...this.intToLeBytes(CryptoConfig.FIXED_INT_VALUE_2));\n\n // 字符串参数长度\n const stringParamLength = Buffer.from(stringParam, 'utf-8').length;\n arr.push(...this.intToLeBytes(stringParamLength));\n\n // MD5字节与xor_key异或\n const md5Bytes = Buffer.from(hexParameter, 'hex');\n const xorMd5Bytes = Array.from(md5Bytes).map(b => b ^ xorKey);\n arr.push(...xorMd5Bytes.slice(0, 8));\n\n // a1值和平台ID\n arr.push(...this.strToLenPrefixedBytes(a1Value));\n arr.push(...this.strToLenPrefixedBytes(appIdentifier));\n\n // 尾部数据\n arr.push(\n CryptoConfig.ENV_STATIC_BYTES[0],\n this.randomGen.generateRandomByteInRange(0, 255),\n ...CryptoConfig.ENV_STATIC_BYTES.slice(1)\n );\n\n return arr;\n }\n}\n\n/**\n * 小红书请求客户端封装\n */\nexport class Xhshow {\n private cryptoProcessor: CryptoProcessor;\n\n constructor() {\n this.cryptoProcessor = new CryptoProcessor();\n }\n\n /**\n * 构建内容字符串(用于MD5计算和签名生成)\n */\n private buildContentString(\n method: string,\n uri: string,\n payload?: Record<string, any> | null\n ): string {\n payload = payload || {};\n\n if (method.toUpperCase() === \"POST\") {\n return uri + JSON.stringify(payload);\n } else {\n if (!payload || Object.keys(payload).length === 0) {\n return uri;\n } else {\n const params = Object.entries(payload).map(([key, value]) => {\n let valueStr = '';\n if (Array.isArray(value)) {\n valueStr = value.map(v => String(v)).join(',');\n } else if (value !== null && value !== undefined) {\n valueStr = String(value);\n }\n return `${key}=${valueStr}`;\n });\n return `${uri}?${params.join('&')}`;\n }\n }\n }\n\n /**\n * 从内容字符串生成d值(MD5哈希)\n */\n private generateDValue(content: string): string {\n return crypto.createHash('md5').update(content, 'utf-8').digest('hex');\n }\n\n /**\n * 构建签名\n */\n private buildSignature(\n dValue: string,\n a1Value: string,\n xsecAppid: string = \"xhs-pc-web\",\n stringParam: string = \"\"\n ): string {\n // 构建载荷数组\n const payloadArray = this.cryptoProcessor.buildPayloadArray(\n dValue,\n a1Value,\n xsecAppid,\n stringParam\n );\n\n // XOR变换\n const xorResult = this.cryptoProcessor.bitOps.xorTransformArray(payloadArray);\n\n // Base58编码\n return this.cryptoProcessor.b58encoder.encodeToB58(xorResult);\n }\n\n /**\n * 生成请求签名(支持GET和POST)\n */\n signXs(\n method: 'GET' | 'POST',\n uri: string,\n a1Value: string,\n xsecAppid: string = \"xhs-pc-web\",\n payload?: Record<string, any> | null\n ): string {\n // 参数验证\n const validatedMethod = RequestSignatureValidator.validateMethod(method);\n const validatedUri = RequestSignatureValidator.validateUri(uri);\n const validatedA1Value = RequestSignatureValidator.validateA1Value(a1Value);\n const validatedXsecAppid = RequestSignatureValidator.validateXsecAppid(xsecAppid);\n const validatedPayload = RequestSignatureValidator.validatePayload(payload);\n\n const signatureData = { ...CryptoConfig.SIGNATURE_DATA_TEMPLATE };\n\n // 构建内容字符串\n const contentString = this.buildContentString(validatedMethod, validatedUri, validatedPayload);\n\n // 生成d值和x3签名\n const dValue = this.generateDValue(contentString);\n signatureData.x3 = (\n CryptoConfig.X3_PREFIX +\n this.buildSignature(dValue, validatedA1Value, validatedXsecAppid, contentString)\n );\n\n return (\n CryptoConfig.XYS_PREFIX +\n this.cryptoProcessor.b64encoder.encodeToB64(JSON.stringify(signatureData))\n );\n }\n\n /**\n * 生成GET请求签名(便捷方法)\n */\n signXsGet(\n uri: string,\n a1Value: string,\n xsecAppid: string = \"xhs-pc-web\",\n params?: Record<string, any> | null\n ): string {\n // 参数验证\n const validatedUri = RequestSignatureValidator.validateUri(uri);\n const validatedA1Value = RequestSignatureValidator.validateA1Value(a1Value);\n const validatedXsecAppid = RequestSignatureValidator.validateXsecAppid(xsecAppid);\n const validatedParams = RequestSignatureValidator.validatePayload(params);\n\n return this.signXs(\"GET\", validatedUri, validatedA1Value, validatedXsecAppid, validatedParams);\n }\n\n /**\n * 生成POST请求签名(便捷方法)\n */\n signXsPost(\n uri: string,\n a1Value: string,\n xsecAppid: string = \"xhs-pc-web\",\n payload?: Record<string, any> | null\n ): string {\n // 参数验证\n const validatedUri = RequestSignatureValidator.validateUri(uri);\n const validatedA1Value = RequestSignatureValidator.validateA1Value(a1Value);\n const validatedXsecAppid = RequestSignatureValidator.validateXsecAppid(xsecAppid);\n const validatedPayload = RequestSignatureValidator.validatePayload(payload);\n\n return this.signXs(\"POST\", validatedUri, validatedA1Value, validatedXsecAppid, validatedPayload);\n }\n}\n\n// 默认导出\nexport default Xhshow;","import {type CommonAction, success} from \"@iflyrpa/share\";\nimport type {ActiomCommonParams, Xiaohongshu} from \"../../types\";\nimport {Http} from \"../../utils/http\";\nimport {Xhshow} from \"../../utils/xhsXsEncrypt\";\n\n// 小红书参数加密器\nconst xsEncrypt = new Xhshow();\n\nexport interface SearchXiaohongshuTopicListParams extends ActiomCommonParams {\n searchValue: string;\n}\n\nexport type PublishAction = CommonAction<SearchXiaohongshuTopicListParams, Xiaohongshu.Topic[]>;\n\nexport const searchXiaohongshuTopicList: PublishAction = async (_task, params) => {\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n referer: \"https://creator.xiaohongshu.com\",\n origin: \"https://creator.xiaohongshu.com\",\n },\n });\n const a1Cookie = params.cookies.find((it) => it.name === \"a1\")?.value;\n if (!a1Cookie) return {code: 200, message: \"账号数据异常,请重新绑定账号后重试。\", data: []};\n\n try {\n const xt = Date.now().toString();\n const topicData = {\n keyword: params.searchValue,\n suggest_topic_request: {\n title: \"\",\n desc: `#${params.searchValue}`\n },\n page: {\n page_size: 20,\n page: 1\n }\n }\n\n const fatchTopic = `/web_api/sns/v1/search/topic`;\n const xs = xsEncrypt.signXsPost(fatchTopic, a1Cookie,\"xhs-pc-web\" , topicData);\n const result = await http.api<{ code: number; data: { topic_info_dtos: Xiaohongshu.Topic[] } }>({\n method: \"post\",\n url: \"https://edith.xiaohongshu.com/web_api/sns/v1/search/topic\",\n data: topicData,\n headers: {\"x-s\": xs, \"x-t\": xt},\n defaultErrorMsg: \"话题搜索异常,请稍后重试。\",\n });\n\n return success(result.code === 0 ? result.data.topic_info_dtos : [], '获取话题成功');\n } catch (error) {\n return success([]);\n }\n\n}","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\nimport FormData from \"form-data\";\n\nimport type { Toutiao } from \"../../types\";\nimport { extractImgTag, replaceImgSrc, TimeFormatter } from \"../../utils\";\nimport { Http } from \"../../utils/http\";\nimport { COVER_TYPE, type PublishAction, getAddTypeValue } from \"./index\";\nconst GenAB = require(\"../../utils/ttABEncrypt\") as (headers: string, data: string) => string;\n\ninterface CommonResponse<T = unknown> {\n\tdata: T;\n proxyInfo?: Record<string, any>\n\tcode: number;\n\tmessage: string;\n}\n\nconst errnoMap: Record<number, string | string[]> = {\n\t20004020: \"图片上传异常,请重新绑定账号后同步。\",\n\t7115: \"正文图片和封面图片推荐jpg、png格式。\",\n\t100006: \"文章同步异常,请重新绑定账号后重试。\",\n\t3101: [\n\t\t\"今日头条号发布次数已达上限,请明天再试。\",\n\t\t\"头条账号状态异常,需前往头条号完成实名认证。\",\n\t\t\"头条账号状态异常,资料审核未通过,请前往头条号查看。\",\n\t],\n\t2007: \"文章发布失败,声明原创要求正文字数不少于 300 字,请修改后重试。\",\n\t2010: \"无头条广告权限,请修改后重试。\",\n\t3103: \"今日头条号发布次数已达上限,请明天再试。\",\n\t1053: \"正文图片和封面图片推荐jpg、png格式。\",\n\t1050: \"图片上传失败,请重试上传。\",\n\t2005: \"账号无【申明原创】权限,请关闭申明后重试。\",\n\t100004: \"用户未登录或登陆已过期,请重新登陆后重试。\"\n};\nconst generatorFormData = (data: Record<string, unknown>) => {\n\treturn Object.entries(data)\n\t\t.map(([key, value]) => {\n\t\t\tconst encodedKey = encodeURIComponent(key);\n\t\t\tconst encodedValue = encodeURIComponent(String(value));\n\t\t\treturn `${encodedKey}=${encodedValue}`;\n\t\t})\n\t\t.join('&');\n};\nconst get3101DetailError = (errorList: string[], message: string, saveType: string) => {\n\tlet error = \"\";\n\tif (message?.includes(\"当日发文\")) {\n\t\terror = errorList[0];\n\t} else if (message?.includes(\"实名认证\")) {\n\t\terror = errorList[1];\n\t} else if (message?.includes(\"资料审核\")) {\n\t\terror = errorList[2];\n\t}\n\treturn error || (saveType === \"draft\" ? \"文章同步异常,请稍后重试。\" : \"文章发布异常,请稍后重试。\");\n};\n\nexport const mockAction: PublishAction = async (task, params) => {\n\tconst { toutiaoSingleCover, toutiaoMultCover, toutiaoCoverType, toutiaoOriginal, toutiaoExclusive, toutiaoClaim } = params.settingInfo;\n\tconst tmpCachePath = task.getTmpPath();\n const headers = {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n origin: \"https://mp.toutiao.com\",\n referer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n }\n\tconst http = new Http({headers});\n\n\t// 添加响应拦截器\n\thttp.addResponseInterceptor<CommonResponse>((response) => {\n\t\t// 检查响应中的 errno 字段\n\t\tif (response.data?.code !== 0) {\n\t\t\tlet errmsg = \"\";\n\n\t\t\tif (Array.isArray(errnoMap[response.data.code])) {\n\t\t\t\terrmsg = get3101DetailError(errnoMap[response.data.code] as string[], response.data.message, params.saveType);\n\t\t\t} else {\n\t\t\t\terrmsg =\n\t\t\t\t\t(errnoMap[response.data.code] as string) ||\n\t\t\t\t\tresponse.config.defaultErrorMsg ||\n\t\t\t\t\t(params.saveType === \"draft\" ? \"文章同步异常,请稍后重试。\" : \"文章发布异常,请稍后重试。\");\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcode: errnoMap[response.data.code] ? 200 : 500,\n\t\t\t\tmessage: errmsg,\n\t\t\t\tdata: response.data,\n\t\t\t};\n\t\t}\n\t});\n\n\t// 0. 校验登录\n\tawait http.api({\n\t\tmethod: \"get\",\n\t\turl: \"https://mp.toutiao.com/mp/agw/creator_center/user_info\",\n\t\tdefaultErrorMsg: `头条号登录状态失效,请重新绑定账号后${params.saveType === \"draft\" ? \"同步\" : \"发布\"}。`,\n\t});\n\n\tconst uploadImages = async (images: string[]) => {\n\t\t// 下载图片到本地\n\t\treturn await Promise.all(\n\t\t\timages.map(async (url) => {\n\t\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\t\tconst image = await downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t\t\tconst formData = new FormData();\n\t\t\t\tformData.append(\"image\", fs.createReadStream(image));\n\n\t\t\t\tconst response = await http.api<CommonResponse<Toutiao.ImageData>>({\n\t\t\t\t\tmethod: \"post\",\n\t\t\t\t\turl: \"https://mp.toutiao.com/spice/image?upload_source=20020002&aid=1231&device_platform=web\",\n\t\t\t\t\tdata: formData,\n\t\t\t\t\tdefaultErrorMsg:\n\t\t\t\t\t\tparams.saveType === \"draft\" ? \"图片上传异常,请稍后重试同步。\" : \"图片上传异常,请稍后重试发布。\",\n\t\t\t\t});\n\n\t\t\t\treturn response.data;\n\t\t\t}),\n\t\t);\n\t};\n\n\t// 1. 提取并上传正文中的图片\n\tconst originContentImages = extractImgTag(params.content);\n\tconst targetContentImages = await uploadImages(originContentImages);\n\t// 2. 替换正文中的图片\n\tconst content = replaceImgSrc(params.content, (dom) => {\n\t\tif (dom.attribs.src) {\n\t\t\tconst idx = originContentImages.findIndex((it) => it === dom.attribs.src);\n\t\t\tdom.attribs.src = targetContentImages[idx].image_url;\n\t\t\tdom.attribs.web_uri = targetContentImages[idx].image_uri;\n\t\t\tdom.attribs.img_width = targetContentImages[idx].image_width.toString();\n\t\t\tdom.attribs.image_height = targetContentImages[idx].image_height.toString();\n\t\t\tdom.attribs.image_type = targetContentImages[idx].image_type.toString();\n\t\t\tdom.attribs.mime_type = targetContentImages[idx].image_mime_type;\n\t\t}\n\t\treturn dom;\n\t});\n\n\t// 3. 上传横版封面\n\tconst coverUrl =\n\t\ttoutiaoCoverType === \"single\" ? [toutiaoSingleCover] : toutiaoCoverType === \"multiple\" ? toutiaoMultCover : [];\n\tconst coverRes = await uploadImages(coverUrl);\n\n\t// 4. 构造发布数据\n\t// const isSingleTitle = params.settingInfo.toutiaoTitleType === \"single\";\n\tconst location = params.settingInfo.toutiaoLocation;\n\tconst topics = params.settingInfo.toutiaoTopic || [];\n\n\t// const multiTitleData = params.settingInfo.subTitles.map((title) => ({\n\t// \tid: \"0\",\n\t// \tvisibility_level: 0,\n\t// \tsource: \"author\",\n\t// \told_source: \"author\",\n\t// \ttext: title,\n\t// \tversion: \"author\",\n\t// \tai_title: \"\",\n\t// }));\n\n\tconst topicContent = topics\n\t\t.map(\n\t\t\t(topic) =>\n\t\t\t\t`<p><a class=\"tteditor-forum\" data-name=\"${topic.word}\" data-id=\"${topic.id}\" data-concern-id=\"${topic.id}\">#${topic.word}#</a ></p >`,\n\t\t)\n\t\t.join(\"\");\n\n\tlet sourceData : Record<string, any> = {\n\t\tsource_type: toutiaoClaim ? toutiaoClaim.type : 5 // 老用户默认为:个人观点,仅供参考\n\t}\n\tif (toutiaoClaim && toutiaoClaim.type === 1) {\n\t\tif( !toutiaoClaim?.source_author_uid) return { code: 500, message: \"请填写作者ID\", data: \"\" }\n\t\tsourceData = {\n\t\t\t...sourceData,\n\t\t\tsource_author_uid: toutiaoClaim.source_author_uid,\n\t\t\ttime_format: toutiaoClaim.time_format,\n\t\t\tposition: toutiaoClaim.position\n\t\t}\n\t}\n\tconst extraData = {\n\t\tcontent_word_cnt: params.settingInfo.cntWord,\n\t\t// is_multi_title: isSingleTitle ? 0 : 1,\n\t\t// sub_titles: isSingleTitle ? [] : multiTitleData,\n\t\tgd_ext: {\n\t\t\tentrance: \"\",\n\t\t\tfrom_page: \"publisher_mp\",\n\t\t\tenter_from: \"PC\",\n\t\t\tdevice_platform: \"mp\",\n\t\t\tis_message: 0,\n\t\t},\n\t\ttuwen_wtt_trans_flag: params.settingInfo?.toutiaoTransWtt ? \"2\" : \"0\",\n\t\tinfo_source: sourceData,\n\t\t...(location ? { city: location.label, city_code: location.value } : null),\n ...(params.settingInfo?.toutiaoCollectionId ? { want_join_collection_id: params.settingInfo.toutiaoCollectionId } : null)\n\t};\n\n\tconst publishData = {\n\t\tarticle_type: 0,\n\t\tsource: 0,\n\t\tsearch_creation_info: '{\"searchTopOne\": 0, \"abstract\": \"\", \"clue_id\": \"\"}',\n\t\ttitle_id: \"\",\n\t\teducluecard: \"\",\n\t\torigin_debut_check_pgc_normal: 1,\n\t\tis_fans_article: 0,\n\t\tgovern_forward: 0,\n\t\tpraise: 0,\n\t\tdisable_praise: 0,\n\t\ttree_plan_article: 0,\n\t\tstar_order_id: \"\",\n\t\tstar_order_name: \"\",\n\t\tcustomer_nick_name: \"\",\n\t\tactivity_tag: 0,\n\t\ttrends_writing_tag: 0,\n\t\tis_refute_rumor: 0,\n\t\tsave: params.saveType === \"publish\" ? 1 : 0,\n\t\ttimer_status: params.settingInfo.timer? 1 : 0,\n\t\ttimer_time: params.settingInfo.timer? TimeFormatter.format(params.settingInfo.timer):\"\",\n\t\ttitle: params.title,\n\t\tcontent: content + topicContent,\n\t\textra: JSON.stringify(extraData),\n\t\tmp_editor_stat: toutiaoCoverType === \"no\" ? \"{}\" : '{\"image\": %d}',\n\t\tdraft_form_data: JSON.stringify({\n\t\t\tcoverType: COVER_TYPE[toutiaoCoverType],\n\t\t}),\n\t\tpgc_feed_covers: JSON.stringify(\n\t\t\tcoverRes.map((item) => ({\n\t\t\t\tid: \"\",\n\t\t\t\turl: item.image_url,\n\t\t\t\turi: item.image_uri,\n\t\t\t\tic_uri: \"\",\n\t\t\t\tthumb_widt: item.image_width,\n\t\t\t\tthumb_heigh: item.image_height,\n\t\t\t\textra: {\n\t\t\t\t\tfrom_content_uri: \"\",\n\t\t\t\t\tfrom_content: \"0\",\n\t\t\t\t},\n\t\t\t})),\n\t\t),\n\t\tarticle_ad_type: getAddTypeValue(params.settingInfo.toutiaoAd),\n\t\t// claim_origin: toutiaoOriginal.includes(\"original\") ? 1 : 0,\n\t\tclaim_exclusive: toutiaoExclusive ? toutiaoExclusive : toutiaoOriginal?.includes(\"exclusive\") ? 1 : 0, // 首发声明兼容老用户字段\n\t};\n \n task._timerRecord['PrePublish']= Date.now();\n\n\tconst msToken = params.cookies.find((it) => it.name === \"msToken\")?.value;\n\tlet publishOption = {}\n\tif (!msToken) {\n\t\tpublishOption = {\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://mp.toutiao.com/mp/agw/article/publish?source=mp&type=article&aid=1\",\n\t\t\tdata: publishData,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/x-www-form-urlencoded\",\n\t\t\t},\n\t\t\tdefaultErrorMsg: params.saveType === \"draft\" ? \"文章同步异常,请稍后重试。\" : \"文章发布异常,请稍后重试。\",\n\t\t};\n\t}else{\n\t\tconst postHeaders = generatorFormData({\n\t\t\tsource: \"mp\",\n\t\t\ttype: \"article\",\n\t\t\taid: 1231,\n\t\t\tmp_publish_ab_val: 0,\n\t\t\tmsToken: msToken\n\t\t})\n\t\tconst postData = generatorFormData(publishData)\n\t\tlet a_bogus = GenAB(postHeaders,postData)\n\t\n\t\tpublishOption = {\n\t\t\tmethod: \"post\",\n\t\t\turl: `https://mp.toutiao.com/mp/agw/article/publish?${postHeaders}&a_bogus=${a_bogus}`,\n\t\t\tdata: postData,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/x-www-form-urlencoded\",\n\t\t\t\t\"user-agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36\"\n\t\t\t},\n\t\t\tdefaultErrorMsg: params.saveType === \"draft\" ? \"文章同步异常,请稍后重试。\" : \"文章发布异常,请稍后重试。\",\n\t\t};\n\t}\n const proxyHttp = task?.isBeta ?? false ? new Http({headers}, params.proxyLoc, params.huiwenToken ): http;\n \n\tconst publishResult = await proxyHttp.api<CommonResponse<{ pgc_id: string}>>(publishOption)\n\n\treturn success(publishResult.data.pgc_id, `文章发布成功!`+ (proxyHttp.proxyInfo || \"\"));\n};\n","import path from \"node:path\";\nimport type { CookieMap, Response } from \"@iflyrpa/share\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\n\nimport { copyHtmlToClipboard, getRandomInRange, PopupListener, TimeFormatter } from \"../../utils\";\nimport { COVER_TYPE, type PublishAction, getAddTypeValue } from \"./index\";\nconst GenAB = require(\"../../utils/ttABEncrypt\") as (headers: string, data: string) => string;\n\nexport const rpaAction: PublishAction = async (task, params) => {\n\tconst tmpCachePath = task.getTmpPath();\n\n\tconst commonCookies: CookieMap[number] = {\n\t\tpath: \"/\",\n\t\tsecure: true,\n\t\tdomain: \".toutiao.com\",\n\t\turl: \"https://mp.toutiao.com\",\n\t\thttpOnly: true,\n\t};\n\n\tconst page = await task.createPage({\n\t\tshow: task.debug,\n\t\turl: params.url || \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n\t\tcookies: params.cookies?.map((it) => ({ ...commonCookies, ...it })) || [],\n\t});\n\n\t// 0. 校验登录\n\ttry {\n\t\tawait page.waitForSelector(\".publish-editor\", { state: \"visible\" });\n\t} catch (error) {\n\t\treturn {\n\t\t\tcode: 400,\n\t\t\tmessage: `头条号登录状态失效,请重新绑定账号后${params.saveType === \"draft\" ? \"同步\" : \"发布\"}。`,\n\t\t\tdata: page.url(),\n\t\t};\n\t}\n\n\tconst interceptUrls = [\n\t\t'/mp/agw/article/publish'\n\t];\n\t \n\tawait page.route('**', async (route, request) => {\n\t\tconst url = new URL(request.url()); \n\t\tif (interceptUrls.some(pattern => url.pathname.includes(pattern))) {\n\t\t\tconst headers = {\n\t\t\t\t...request.headers(),\n\t\t\t\t\"user-agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36\" //ua参数固定,不可修改\n\t\t\t};\n\n\t\t\tconst generatorFormData = (data: Record<string, unknown>) => {\n\t\t\t\treturn Object.entries(data)\n\t\t\t\t\t.map(([key, value]) => {\n\t\t\t\t\t\tconst encodedKey = encodeURIComponent(key);\n\t\t\t\t\t\tconst encodedValue = encodeURIComponent(String(value));\n\t\t\t\t\t\treturn `${encodedKey}=${encodedValue}`;\n\t\t\t\t\t})\n\t\t\t\t\t.join('&');\n\t\t\t};\n\n\t\t\tconst postHeaders = generatorFormData({\n\t\t\t\tsource: \"mp\",\n\t\t\t\ttype: \"article\",\n\t\t\t\taid: 1231,\n\t\t\t\tmp_publish_ab_val: 0,\n\t\t\t\tmsToken: url.searchParams.get('msToken')\n\t\t\t})\n\t\t\tconst postData = request.postData() || \"\";\n\t\t\tlet a_bogus = GenAB(postHeaders,postData)\n\n\t\t\turl.searchParams.set('aid', \"1231\"); \n\t\t\turl.searchParams.set('mp_publish_ab_val', \"0\"); \n\t\t\turl.searchParams.set('a_bogus', a_bogus); \n\n\t\t\tawait route.continue({ url: url.toString() , headers: headers});\n\n\t\t} else {\n\t\t\tawait route.continue();\n\t\t}\n\t});\n\n\t//弹窗监听检测\n\tPopupListener(page,'.byte-modal.publish-exclusive-modal .title',\"激励\", '.byte-modal-close-icon', \n\t{\n\t\tcheckInterval: 1000,\n\t\tstopAfterClick: false\n\t})\n\t\n\t// 1. 填写标题\n\tconst titleInstance = page.locator(\".publish-editor-title-wrapper .publish-editor-title textarea\");\n\tawait titleInstance.click();\n\tawait titleInstance.fill(params.title);\n\n\t// 2. 填写正文\n\tawait copyHtmlToClipboard(page, params.content);\n\t// 定位目标元素并聚焦\n\tawait page.click(\".publish-editor .syl-editor-wrap .ProseMirror\");\n\t// 模拟Ctrl+V粘贴\n\tawait page.keyboard.press(\"Control+V\");\n\n\t// 3. 封面\n\tconst coverTypeValue = COVER_TYPE[params.settingInfo.toutiaoCoverType];\n\tconst coverContainer = page.locator(\".form-container .edit-cell\").filter({ hasText: \"展示封面\" });\n\t// 滚动到可视区域\n\tawait coverContainer.evaluate((node) => node.scrollIntoView());\n\tawait coverContainer.locator(`.article-cover label.byte-radio:has(input[value=\"${coverTypeValue}\"])`).click();\n\n\tlet coverUrls: string[] = [];\n\tif (params.settingInfo.toutiaoCoverType === \"single\") {\n\t\tcoverUrls = [params.settingInfo.toutiaoSingleCover];\n\t} else if (params.settingInfo.toutiaoCoverType === \"multiple\") {\n\t\tcoverUrls = params.settingInfo.toutiaoMultCover;\n\t}\n\t// 获取待上传图片的本地路径\n\tconst images = await Promise.all(\n\t\tcoverUrls.map((url) => {\n\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t}),\n\t);\n\n\tconst coverUploadEle = coverContainer\n\t\t.locator(\".article-cover .article-cover-images\")\n\t\t.locator(\".article-cover-img-wrap, .article-cover-add\");\n\tconst coverUploadCount = await coverUploadEle.count();\n\n\tfor (let i = 0; i < coverUploadCount; i++) {\n\t\tif (!images[i]) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst ele = coverUploadEle.nth(i);\n\t\t// 如果存在图片则替换\n\t\tif ((await ele.locator(\"img\").count()) > 0) {\n\t\t\tawait ele.locator(\".article-cover-img-menu a\").filter({ hasText: \"替换\" }).click();\n\t\t} else {\n\t\t\t// 如果不存在图片则点击上传\n\t\t\tawait ele.click();\n\t\t}\n\n\t\t// 上传图片\n\t\tconst drawerContainer = page.locator(\".byte-drawer-wrapper:not(.byte-drawer-wrapper-hide)\");\n\t\tawait drawerContainer.locator(\".byte-tabs-header .byte-tabs-header-title\").filter({ hasText: \"上传图片\" }).click();\n\t\tconst fileChooserPromise = page.waitForEvent(\"filechooser\");\n\t\tawait page.waitForTimeout(200);\n\t\tawait drawerContainer.locator(\".upload-image-panel button.byte-btn\").filter({ hasText: \"本地上传\" }).click();\n\t\tconst fileChooser = await fileChooserPromise;\n\t\tawait fileChooser.setFiles([images[i]]);\n\n\t\t// 等待上传完成\n\t\tconst confirmBtn = drawerContainer\n\t\t\t.locator(\".footer .confirm-btns button:not(.byte-btn-disabled)\")\n\t\t\t.filter({ hasText: \"确定\" });\n\t\tawait confirmBtn.waitFor({ state: \"visible\" });\n\t\tawait confirmBtn.click();\n\n\t\tawait page.waitForTimeout(getRandomInRange(500, 1000));\n\t}\n\n\t// 4. 添加位置\n\tif (params.settingInfo.toutiaoLocation) {\n\t\tconst locationContainer = page.locator(\".form-container .edit-cell\").filter({ hasText: \"添加位置\" });\n\t\tawait locationContainer.locator(\".position-select\").click();\n\t\tawait locationContainer\n\t\t\t.locator(\".position-select .byte-select-view-search input\")\n\t\t\t.fill(params.settingInfo.toutiaoLocation.label);\n\t\tconst poperInstance = page.locator(\".byte-trigger .byte-select-popup .byte-select-option\");\n\t\tawait poperInstance.first().waitFor();\n\t\tawait poperInstance.first().click();\n\t}\n\n\t// 5. 投放广告\n\tconst adContainer = page\n\t\t.locator(\".form-container .edit-cell .edit-label\")\n\t\t.filter({ hasText: \"投放广告\" })\n\t\t.locator(\"xpath=..\");\n\n\t// 判断是否存在投放广告的选项\n\tconst isAdOptionVisible = await adContainer.isVisible();\n\n\tif (isAdOptionVisible) {\n\t\t// 获取元素的父元素句柄并点击\n\t\tawait adContainer\n\t\t\t.locator(`label.byte-radio:has(input[value=\"${getAddTypeValue(params.settingInfo.toutiaoAd)}\"])`)\n\t\t\t.click();\n\t}\n\n\t// 6. 声明首发\n\tconst exclusiveContainer = page.locator(\".form-container .edit-cell .edit-label\").filter({ hasText: \"声明首发\" }).locator(\"xpath=..\");\n\tif ((params.settingInfo.toutiaoOriginal && params.settingInfo.toutiaoOriginal.includes(\"exclusive\")) || params.settingInfo.toutiaoExclusive ) {\n\n\t\texclusiveContainer.locator(\".exclusive .exclusive-checkbox-wraper .byte-checkbox\").check();\n\t}else{\n\t\texclusiveContainer.locator(\".exclusive .exclusive-checkbox-wraper .byte-checkbox\").uncheck();\n\t}\n\n\t// 作品声明\n\tlet claim = params.settingInfo.toutiaoClaim ? params.settingInfo.toutiaoClaim.type : 5;\n\tswitch (claim) {\n\t\t// case 1:\n\t\t// \tawait page.locator(\".source-wrap .byte-checkbox\",{hasText: \"引用站内\"}).locator(\".byte-checkbox-mask\").check();\n\t\t// \tif(!params.settingInfo.toutiaoClaim?.source_author_name) return{ code: 500, message: \"请填写作者账户名\", data: \"\" };\n\t\t// \tawait page.locator(\".source-form-item\",{hasText: \"账号\"}).locator(\".byte-select-view-search input\").fill(params.settingInfo.toutiaoClaim.source_author_name)\n\t\t// \tbreak;\n\t\tcase 3:\n\t\t\tawait page.locator(\".source-wrap .byte-checkbox\",{hasText: \"引用AI\"}).locator(\".byte-checkbox-mask\").check();\n\t\t\t\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tawait page.locator(\".source-wrap .byte-checkbox\",{hasText: \"取材网络\"}).locator(\".byte-checkbox-mask\").check();\n\t\t\t\n\t\t\tbreak;\n\t\tcase 5:\n\t\t\tawait page.locator(\".source-wrap .byte-checkbox\",{hasText: \"个人观点,仅供参考\"}).locator(\".byte-checkbox-mask\").check();\n\t\t\t\n\t\t\tbreak;\n\t\tcase 6:\n\t\t\tawait page.locator(\".source-wrap .byte-checkbox\",{hasText: \"虚构演绎,故事经历\"}).locator(\".byte-checkbox-mask\").check();\n\t\t\t\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tawait page.locator(\".source-wrap .byte-checkbox\",{hasText: \"个人观点,仅供参考\"}).locator(\".byte-checkbox-mask\").check();\n\n\t\t\tbreak;\n\t}\n\n\t// 7. 保存草稿 / 发布\n\tconst articleId = await new Promise<string>(async (resolve) => {\n\t\tconst handleResponse = async (response: Response) => {\n\t\t const url = response.url();\n\t\t if (url.includes(\"/mp/agw/article/publish\")) {\n\t\t\tconst jsonResponse = await response.json();\n\t\t\tpage.off(\"response\", handleResponse);\n\t\t\tresolve(jsonResponse.data.pgc_id);\n\t\t }\n\t\t};\n\t \n\t\tpage.on(\"response\", handleResponse);\n\t \n\t\tif (params.settingInfo.timer && params.saveType == \"publish\") {\n\t\t // 点击“定时发布”按钮\n\t\t await page.locator(\".publish-footer button\").filter({ hasText: \"定时发布\" }).click();\n\t\t await page.waitForSelector('button.publish-btn:not(.byte-btn-loading) >> nth=1', { state: 'attached' });\n\t \n\t\t // 选择日期\n\t\t await page.locator(\".byte-modal-content .day-select .byte-select-view-value\").click();\n\t\t await page.locator('li.byte-select-option', { hasText: TimeFormatter.format(params.settingInfo.timer, \"MM月dd日\") }).click();\n\t\t await page.waitForTimeout(200);\n\t \n\t\t // 选择小时\n\t\t await page.locator(\".byte-modal-content .hour-select .byte-select-view-value\").click();\n\t\t await page.locator('li.byte-select-option', { hasText: TimeFormatter.format(params.settingInfo.timer, \"h\") }).click();\n\t\t await page.waitForTimeout(200);\n\t \n\t\t // 选择分钟\n\t\t await page.locator(\".byte-modal-content .minute-select .byte-select-view-value\").click();\n\t\t await page.locator('li.byte-select-option', { hasText: TimeFormatter.format(params.settingInfo.timer, \"m\") }).click();\n\t\t await page.waitForTimeout(200);\n\n\t\t await page.locator(\".byte-modal-footer button\").filter({ hasText:\"预览并定时发布\" }).click()\n\t\t}else{\n\t\t\tawait page.locator(\".publish-footer button\").filter({ hasText:\"预览并发布\" }).click();\n\t\t}\n\t \n\t });\n\n\tif(params.settingInfo.toutiaoAd == 'no'){\n\t\tawait page.waitForTimeout(200);\n\t\tconst confirmBtn = page.locator('div.byte-modal-footer button.byte-btn-primary:has-text(\"确定\")');\n\t\tif (await confirmBtn.isVisible()) {\n\t\t await confirmBtn.click();\n\t\t}\n\t}\n \n\ttask._timerRecord['PrePublish']= Date.now();\n \n\tif (params.saveType === \"publish\") {\n\t\tawait page.locator(\".publish-footer button\").filter({ hasText: params.settingInfo.timer? \"定时发布\" : \"确认发布\" }).waitFor({ state: \"visible\" });\n\t\tawait page.waitForTimeout(200);\n\t\tawait page.locator(\".publish-footer button\").filter({ hasText: params.settingInfo.timer? \"定时发布\" : \"确认发布\" }).click();\n\t}\n\n\t// 关闭页面\n\tawait page.close();\n\n\treturn success(articleId, params.saveType === \"publish\" ? \"发布成功\" : \"保存草稿成功\");\n};\n","import type { CommonAction } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { executeAction } from \"../../utils\";\nimport { mockAction } from \"./mock\";\nimport { rpaAction } from \"./rpa\";\n\ntype CoverType = \"single\" | \"multiple\" | \"no\";\n\nexport interface ToutiaoPublishParams extends ActiomCommonParams {\n\tsaveType: \"draft\" | \"publish\"; // 保存成草稿 / 发布\n\ttitle: string;\n\tcontent: string;\n proxyLoc?: string; // 代理位置\n huiwenToken?: string; // 绘文token\n\tsettingInfo: {\n\t\ttoutiaoCoverType: CoverType;\n\t\ttoutiaoTitleType: \"single\" | \"multiple\"; // 已关闭对应功能,保留参数,兼容老版本\n\t\ttoutiaoSingleCover: string;\n\t\ttoutiaoMultCover: string[];\n\t\ttoutiaoAd: string; // 广告配置 - 投放广告/不投放广告\n\t\ttoutiaoOriginal?: string; // 原创声明-已修改为首发声明,兼容老用户\n\t\ttoutiaoExclusive?: number; // 头条首发 0 - 声明非首发 1- 声明首发\n toutiaoCollectionId?: string; // 头条合集id\n toutiaoTransWtt?: boolean; // 是否同步微头条\n\t\ttoutiaoClaim?: {\n\t\t\ttype: number// 作品声明 -1 - 不声明,4 - 取材网络,1 - 引用站内(该选项必须传入下方两个参数,否则会错误),5 - 个人观点,仅供参考,3 - 引用AI,6 - 虚构演绎,故事经历\n\t\t\tsource_author_uid?: string;\n\t\t\tsource_author_name?: string;\n\t\t\ttime_format?: string;\n\t\t\tposition?: {\n\t\t\t\tposition: string;\n\t\t\t\tcity: string;\n\t\t\t\tlongitude: number;\n\t\t\t\tlatitude: number;\n\t\t\t\ttype_code: string;\n\t\t\t\tpoi_id: string;\n\t\t\t}\n\n\t\t}; \n\t\t// biome-ignore lint/suspicious/noExplicitAny: <explanation>\n\t\ttoutiaoLocation?: { label: string; value: string; [key: string]: any }; // 位置\n\t\ttoutiaoTopic: { id: string; word: string }[]; // 话题\n\t\tcntWord: number;\n\t\tsubTitles: string[]; // 多标题\n\t\ttimer?: number;\n\t};\n}\n\nexport const COVER_TYPE: Record<CoverType, number> = {\n\tno: 1,\n\tsingle: 2,\n\tmultiple: 3,\n};\n\nexport const getAddTypeValue = (toutiaoAd: ToutiaoPublishParams[\"settingInfo\"][\"toutiaoAd\"]) =>\n\ttoutiaoAd === \"yes\" ? 3 : 2;\n\nexport type PublishAction = CommonAction<ToutiaoPublishParams, string>;\n\nexport const toutiaoPublish: PublishAction = async (task, params) => {\n\tif (params.actionType === \"rpa\") {\n\t\treturn rpaAction(task, params);\n\t}\n\n\tif (params.actionType === \"mockApi\") {\n\t\treturn mockAction(task, params);\n\t}\n\n\treturn executeAction(mockAction, rpaAction)(task, params);\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams, Toutiao, Xiaohongshu, Weixin, BaiJiaHao} from \"../../../types\";\nimport { Http } from \"../../../utils/http\";\n\n\nexport type ttSearchAction = CommonAction<ActiomCommonParams, Toutiao.FansCount>;\n\nexport type xhsSearchAction = CommonAction<ActiomCommonParams, Xiaohongshu.FansCount>;\n\nexport interface GetWxFansSearchParams extends ActiomCommonParams {\n token: string| number;\n}\nexport type wxSearchAction = CommonAction<GetWxFansSearchParams, Weixin.FansCount>;\n\nexport type bjhSearchAction = CommonAction<ActiomCommonParams, BaiJiaHao.FansCount>;\n\n\nexport const TTFansExport: ttSearchAction = async (_task, params) => {\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n referer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n },\n });\n\n try {\n const res = await http.api<{ code: number; total_fans_count: number }>({\n method: \"get\",\n url: \"https://mp.toutiao.com/mp/agw/creator_center/user_info?app_id=1231\",\n params: { app_id: 1231},\n });\n\n return success(res.code === 0 ? { fans_count: res.total_fans_count } : { fans_count: null }, \"获取粉丝数成功!\");\n } catch (error) {\n return success({ fans_count: null }, \"获取粉丝数失败,请检查登陆有效性!\");\n }\n\n};\n\nexport const XhsFansExport: xhsSearchAction = async (_task, params) => { \n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://creator.xiaohongshu.com/new/home?source=official\",\n\t\t},\n\t});\n\n try {\n const res = await http.api<{ result: number; data: Xiaohongshu.FansCount }>({\n method: \"get\",\n url: \"https://creator.xiaohongshu.com/api/galaxy/creator/home/personal_info\",\n });\n\n return success(res.result === 0 ? { fans_count: res.data.fans_count } : { fans_count: null }, \"获取粉丝数成功!\");\n } catch (error) {\n return success({ fans_count: null }, \"获取粉丝数失败,请检查登陆有效性!\");\n }\n\n};\n\nexport const WxFansExport: wxSearchAction = async (_task, params) => { \n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t},\n\t});\n\n try {\n const htmlStr = await http.api<string>({\n method: \"get\",\n url: \"https://mp.weixin.qq.com/cgi-bin/home\",\n params: {\n t: \"home/index\",\n token: params.token,\n lang: \"zh_CN\",\n },\n });\n\n const match = htmlStr.match(/总用户数[\\s\\S]*?<mp-thousandth>(\\d+)<\\/mp-thousandth>/);\n \n return success(match ? { fans_count: Number(match[1]) }: {fans_count: null},\"获取粉丝数成功!\");\n } catch (error) {\n return success({ fans_count: null }, \"获取粉丝数失败,请检查登陆有效性!\");\n }\n\n};\n\nexport const BjhFansExport: bjhSearchAction = async (_task, params) => { \n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://baijiahao.baidu.com/builder/rc/home\",\n\t\t},\n\t});\n\n try {\n const res = await http.api<{ errno: number; data: {total_fans: number} }>({\n method: \"get\",\n url: \"https://baijiahao.baidu.com/cms-ui/rights/growth/get_info\",\n });\n\n return success(res.errno === 0 ? { fans_count: res.data.total_fans } : { fans_count: null }, \"获取粉丝数成功!\");\n } catch (error) {\n return success({ fans_count: null }, \"获取粉丝数失败,请检查登陆有效性!\");\n }\n\n};","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../../types\";\nimport { Http } from \"../../../utils/http\";\n\nexport interface sessionCheckResult {\n\tisValidSession: boolean;\n}\n\nexport type ttSessionCheck = CommonAction<ActiomCommonParams, sessionCheckResult>;\nexport interface wxSessionParams extends ActiomCommonParams {\n token: string | number;\n}\nexport type wxSessionCheck = CommonAction<wxSessionParams, sessionCheckResult>;\nexport type xhsSessionCheck = CommonAction<ActiomCommonParams, sessionCheckResult>;\nexport type bjhSessionCheck = CommonAction<ActiomCommonParams, sessionCheckResult>;\n\nexport const TTSessionCheck: ttSessionCheck = async (_task, params) => {\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n referer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n },\n });\n\n try {\n const res = await http.api({\n method: \"get\",\n url: \"https://mp.toutiao.com/mp/agw/creator_center/user_info\",\n defaultErrorMsg: `头条号登录状态失效。`,\n });\n\n return success(res.code === 0 ? { isValidSession: true } : { isValidSession: false }, \"头条账号有效性检测完成!\");\n } catch (error) {\n return success({ isValidSession: false }, \"头条账号有效性检测失败!\");\n }\n\n};\n\nexport const WxSessionCheck: wxSessionCheck = async (_task, params) => {\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t},\n\t});\n const fingerprint = \"4695500bc93ab4ce8fb2692da6564e04\";\n\n try {\n const res = await http.api<{base_resp: {ret: number;}}>({\n method: \"get\",\n url: \"https://mp.weixin.qq.com/cgi-bin/appmsgpublish\",\n params: {\n fingerprint,\n sub: \"list\",\n begin: 0,\n count: 10,\n query: \"\",\n type: 101_1_102_103,\n show_type: \"\",\n free_publish_type: 1_102_103,\n sub_action: \"list_ex\",\n search_card: 0,\n token: params.token,\n lang: \"zh_CN\",\n f: \"json\",\n ajax: 1,\n },\n });\n\n return success(res.base_resp.ret === 0 ? { isValidSession: true } : { isValidSession: false }, \"微信账号有效性检测完成!\");\n } catch (error) {\n return success({ isValidSession: false }, \"微信账号有效性检测失败!\");\n }\n\n};\n\nexport const XhsSessionCheck: xhsSessionCheck = async (_task, params) => { \n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://creator.xiaohongshu.com/new/home?source=official\",\n\t\t},\n\t});\n\n try {\n const res = await http.api<{ result: number;}>({\n method: \"get\",\n url: \"https://creator.xiaohongshu.com/api/galaxy/user/info\",\n });\n\n return success(res.result === 0 ? { isValidSession: true } : { isValidSession: false }, \"小红书账号有效性检测完成!\");\n } catch (error) {\n return success({ isValidSession: false}, \"小红书账号有效性检测完成!\");\n }\n\n};\n\nexport const BjhSessionCheck: bjhSessionCheck = async (_task, params) => { \n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://baijiahao.baidu.com/builder/rc/home\",\n\t\t},\n\t});\n\n try {\n const res = await http.api({\n method: \"get\",\n url: \"https://baijiahao.baidu.com/pcui/home/index\",\n defaultErrorMsg: `百家号登录状态失效。`,\n });\n\n return success(res.errno === 0 ? { isValidSession: true } : { isValidSession: false }, \"百家号账号有效性检测完成!\");\n } catch (error) {\n return success({ isValidSession: false}, \"百家号账号有效性检测失败!\");\n }\n\n};","\nexport interface ttConfigData {\n fansNum: number;\n fansNumYesterday: number | null;\n readNum: number;\n incomeNum: number;\n incomeNumYesterday: number| null;\n showNumYesterday: number| null;\n readNumYesterday: number| null;\n likeNumYesterday: number| null;\n commentNumYesterday: number| null;\n}\n\nexport interface xhsConfigData {\n fansNum: number;\n favedNum: number;\n watchNumLastWeek: number;\n likeNumLastWeek: number;\n collectNumLastWeek: number;\n commentNumLastWeek: number;\n fansNumLastWeek: number;\n fansNumYesterday: number;\n}\n\nexport interface wxConfigData {\n fansNum: number;\n fansNumYesterday: number;\n readNumYesterday: number;\n shareNumYesterday: number;\n}\n\nexport interface bjhConfigData {\n fansNum: number;\n fansNumYesterday: number | null;\n readNum: number;\n incomeNum: number;\n incomeNumYesterday: number | null;\n recommendNumYesterday: number | null;\n readNumYesterday: number | null;\n likeNumYesterday: number | null;\n commentNumYesterday: number | null;\n}\n\nexport interface SearchAccountInfoResponse {\n code: number;\n message: string;\n data: ttConfigData | xhsConfigData | wxConfigData | bjhConfigData | null;\n};\n\nexport const errorResponse = (\n message: string,\n code: number = 500\n): SearchAccountInfoResponse => ({\n code,\n message,\n data: null,\n});\n","// @ts-ignore\nimport { success } from \"@iflyrpa/share\";\nimport { SearchAccountInfoResponse, errorResponse, bjhConfigData } from \"./types\";\nimport { type SearchAccountInfoParams } from \".\";\nimport { Http } from \"../../utils/http\";\nimport { TimeFormatter } from \"../../utils\";\n\nexport async function getBaijiahaoData(params: SearchAccountInfoParams): Promise<SearchAccountInfoResponse> {\n try {\n const { token } = params;\n if (!token) return errorResponse(\"缺少token\", 200);\n\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n token: String(token),\n Referer: \"https://baijiahao.baidu.com/builder/rc/home\",\n },\n });\n\n const yesterday = TimeFormatter.format(new Date().setDate(new Date().getDate() - 1), \"yyyyMMdd\");\n const [fansData, readData, incomeData, yesterdayData] = await Promise.all([\n http.api<{ data: { coreData: { fansCount: number; } } }>({\n method: \"get\",\n url: \"https://baijiahao.baidu.com/pcui/home/index\",\n }),\n http.api<{ data: { total: { view_count: number; } } }>({\n method: \"get\",\n url: \"https://baijiahao.baidu.com/author/eco/statistic/getauthorhistory\",\n }),\n http.api<{ data: { all_income: { total_income: number; yesterday_income: number; } } }>({\n method: \"get\",\n url: \"https://baijiahao.baidu.com/author/eco/income4/homepageincome\",\n }),\n http.api<{ data: { data: { recommend_count: number; view_count: number; likes_count: number; comment_count: number; fans_increase: number; } } }>({\n method: \"get\",\n url: `https://baijiahao.baidu.com/author/eco/statistics/appStatistic`,\n params: {\n type: \"all\",\n is_yesterday: false,\n start_day: yesterday,\n end_day: yesterday,\n stat: 0,\n },\n }),\n ]);\n\n const bjhData: bjhConfigData = {\n fansNum: fansData.data.coreData.fansCount,\n fansNumYesterday: yesterdayData.data.data.fans_increase == -1 ? null : yesterdayData.data.data.fans_increase,\n readNum: readData.data.total.view_count,\n incomeNum: incomeData.data.all_income.total_income,\n incomeNumYesterday: incomeData.data.all_income.yesterday_income == -1 ? null : incomeData.data.all_income.yesterday_income,\n recommendNumYesterday: yesterdayData.data.data.recommend_count == -1 ? null : yesterdayData.data.data.recommend_count,\n readNumYesterday: yesterdayData.data.data.view_count == -1 ? null : yesterdayData.data.data.view_count,\n likeNumYesterday: yesterdayData.data.data.likes_count == -1 ? null : yesterdayData.data.data.likes_count,\n commentNumYesterday: yesterdayData.data.data.comment_count == -1 ? null : yesterdayData.data.data.comment_count,\n };\n\n return success(bjhData, \"百家号平台数据获取成功!\");\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"百家号平台数据获取失败\");\n }\n}\n","// @ts-ignore\nimport {success} from \"@iflyrpa/share\";\nimport {SearchAccountInfoResponse, errorResponse, ttConfigData} from \"./types\";\nimport {type SearchAccountInfoParams} from \".\";\nimport {Http} from \"../../utils/http\";\n\nexport async function getToutiaoData(params: SearchAccountInfoParams): Promise<SearchAccountInfoResponse> {\n const {cookies} = params;\n try {\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n referer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n },\n });\n\n const [totalData, contentDataYesterday] = await Promise.all([\n http.api<{\n data: {\n statistic: {\n data: {\n total_subscribe_count: string;\n total_read_play_count: string;\n total_income: number;\n yesterday_income: number;\n is_yesterday_income_ready: boolean;\n yesterday_fans?: string\n yesterday_play_count: string;\n yesterday_read_count: string;\n }\n }\n }\n }>({\n method: \"get\",\n url: \"https://mp.toutiao.com/mp/fe_api/home/merge_v2\",\n params: {app_id: 1231},\n }),\n http.api<{\n author_stat: {\n consume_data: { impression_count: number; go_detail_count: number; },\n interaction_data: { comment_count: number; digg_count: number; }\n }\n }>({\n method: \"get\",\n url: \"https://mp.toutiao.com/mp/agw/statistic/v2/content_stat\",\n params: {type: 0, app_id: 1231},\n }),\n ]);\n\n const isReday = totalData.data.statistic.data.yesterday_read_count !== undefined\n\n const ttData: ttConfigData = {\n fansNum: Number(totalData.data.statistic.data.total_subscribe_count),\n fansNumYesterday: totalData.data.statistic.data.yesterday_fans !== undefined ? Number(totalData.data.statistic.data.yesterday_fans) : null,\n readNum: Number(totalData.data.statistic.data.total_read_play_count),\n incomeNum: totalData.data.statistic.data.total_income,\n incomeNumYesterday: totalData.data.statistic.data.is_yesterday_income_ready ? totalData.data.statistic.data.yesterday_income : null,\n showNumYesterday: isReday ? contentDataYesterday.author_stat.consume_data.impression_count: null,\n readNumYesterday: isReday ? contentDataYesterday.author_stat.consume_data.go_detail_count : null,\n likeNumYesterday: isReday ? contentDataYesterday.author_stat.interaction_data.digg_count: null,\n commentNumYesterday: isReday ? contentDataYesterday.author_stat.interaction_data.comment_count: null,\n };\n\n return success(ttData, \"头条号粉丝数据获取成功!\");\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"头条号数据获取失败\");\n }\n\n}","// @ts-ignore\nimport {success} from \"@iflyrpa/share\";\nimport {SearchAccountInfoResponse, errorResponse, wxConfigData} from \"./types\";\nimport {type SearchAccountInfoParams} from \".\";\nimport {Http} from \"../../utils/http\";\nimport {TimeFormatter} from \"../../utils\";\n\nexport async function getWeixinData(params: SearchAccountInfoParams): Promise<SearchAccountInfoResponse> {\n const {token} = params;\n\n if (!token) return {code: 200, message: \"缺少token\", data: null};\n\n try {\n const {token} = params;\n if (!token) return errorResponse(\"缺少token\", 200);\n\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n },\n });\n const userInfo = {\n originalCount: 0,\n totalUsers: 0,\n userIncrease: 0,\n yesterday: {\n read: 0,\n share: 0,\n subscribe: 0\n }\n };\n const userInfoHtml = await http.api<string>({\n method: \"get\",\n url: \"https://mp.weixin.qq.com/cgi-bin/home\",\n params: {\n t: \"home/index\",\n token,\n lang: \"zh_CN\"\n },\n })\n\n // 提取原创内容(兼容属性、换行)\n const originalMatch = userInfoHtml.trim().match(/原创内容[\\s\\S]*?<mp-thousandth[^>]*>([\\d,]+)<\\/mp-thousandth>/i);\n if (originalMatch) userInfo.originalCount = parseInt(originalMatch[1].replace(/,/g, ''), 10);\n\n // 提取总用户数(兼容属性、空格)\n const totalUsersMatch = userInfoHtml.match(/总用户数[\\s\\S]*?<div[^>]*class=[\"']weui-desktop-user_sum[\"'][^>]*>[\\s\\S]*?<mp-thousandth[^>]*>([\\d,]+)<\\/mp-thousandth>/i);\n if (totalUsersMatch) userInfo.totalUsers = parseInt(totalUsersMatch[1].replace(/,/g, ''), 10);\n\n // 提取用户增长(支持正负号、带属性)\n const increaseMatch = userInfoHtml.match(/weui-desktop-user_increase_num[^>]*>\\s*([+-]?)\\s*<mp-thousandth[^>]*>([\\d,]+)<\\/mp-thousandth>/i);\n if (increaseMatch) {\n const sign = increaseMatch[1] === '-' ? -1 : 1;\n userInfo.userIncrease = sign * parseInt(increaseMatch[2].replace(/,/g, ''), 10);\n }\n\n // 昨日阅读\n const readMatch = userInfoHtml.match(/昨日阅读[\\s\\S]*?<mp-thousandth[^>]*>([\\d,]+)<\\/mp-thousandth>/i);\n if (readMatch) userInfo.yesterday.read = parseInt(readMatch[1].replace(/,/g, ''), 10);\n\n // 昨日分享\n const shareMatch = userInfoHtml.match(/昨日分享[\\s\\S]*?<mp-thousandth[^>]*>([\\d,]+)<\\/mp-thousandth>/i);\n if (shareMatch) userInfo.yesterday.share = parseInt(shareMatch[1].replace(/,/g, ''), 10);\n\n // 昨日新增关注\n const subscribeMatch = userInfoHtml.match(/昨日新增关注[\\s\\S]*?<mp-thousandth[^>]*>([\\d,]+)<\\/mp-thousandth>/i);\n if (subscribeMatch) userInfo.yesterday.subscribe = parseInt(subscribeMatch[1].replace(/,/g, ''), 10);\n\n const wxData: wxConfigData = {\n fansNum: userInfo.totalUsers,\n fansNumYesterday: userInfo.yesterday.subscribe,\n readNumYesterday: userInfo.yesterday.read,\n shareNumYesterday: userInfo.yesterday.share,\n };\n\n return success(wxData, \"微信平台数据获取成功!\");\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"微信平台数据获取失败\");\n }\n}","// @ts-ignore\nimport { success } from \"@iflyrpa/share\";\nimport { SearchAccountInfoResponse, errorResponse, xhsConfigData } from \"./types\";\nimport { type SearchAccountInfoParams } from \".\";\nimport { Http } from \"../../utils/http\";\nimport { Xhshow } from \"../../utils/xhsXsEncrypt\";\n\nexport async function getXiaohongshuData(params: SearchAccountInfoParams): Promise<SearchAccountInfoResponse> {\n\n try {\n const a1Cookie = params.cookies.find((it) => it.name === \"a1\")?.value;\n if (!a1Cookie) {\n return errorResponse(\"账号数据异常,请重新绑定账号后重试。\", 200);\n }\n\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n referer: \"https://creator.xiaohongshu.com\",\n origin: \"https://creator.xiaohongshu.com\",\n },\n });\n\n const xsEncrypt = new Xhshow();\n const xt = Date.now().toString();\n const sevenDataUrl = \"/api/galaxy/v2/creator/datacenter/account/base\";\n const xs = xsEncrypt.signXsGet(sevenDataUrl, a1Cookie, \"xhs-pc-web\", null );\n\n const [overAllData, sevenData] = await Promise.all([\n http.api<{ data: { fans_count: number; faved_count: number; } }>({\n method: \"get\",\n url: \"https://creator.xiaohongshu.com/api/galaxy/creator/home/personal_info\",\n }),\n http.api<{ data: { seven: { view_count: number; like_count: number; collect_count: number; comment_count: number; rise_fans_count: number; rise_fans_list: { data: number; count: number; }[] } } }>({\n method: \"get\",\n baseURL: \"https://creator.xiaohongshu.com\",\n url: sevenDataUrl,\n headers: { \"x-s\": xs, \"x-t\": xt },\n }),\n ]);\n\n const xhsData: xhsConfigData = {\n fansNum: overAllData.data.fans_count,\n favedNum: overAllData.data.faved_count,\n watchNumLastWeek: sevenData.data.seven.view_count,\n likeNumLastWeek: sevenData.data.seven.like_count,\n collectNumLastWeek: sevenData.data.seven.collect_count,\n commentNumLastWeek: sevenData.data.seven.comment_count,\n fansNumLastWeek: sevenData.data.seven.rise_fans_count,\n fansNumYesterday: sevenData.data.seven.rise_fans_list[0].count\n };\n\n return success(xhsData, \"小红书平台数据获取成功!\");\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"小红书平台数据获取失败\");\n }\n}","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { ttConfigData, xhsConfigData, wxConfigData, bjhConfigData } from \"./types\";\nimport { getBaijiahaoData } from \"./getBjhInfo\";\nimport { getToutiaoData } from \"./getTTInfo\";\nimport { getWeixinData } from \"./getWxInfo\";\nimport { getXiaohongshuData } from \"./getXhsInfo\";\n\nexport interface SearchAccountInfoParams extends ActiomCommonParams {\n token?: string | number;\n platform: string;\n}\n\nexport const SearchAccountInfo: CommonAction<\nSearchAccountInfoParams,\nttConfigData | xhsConfigData | wxConfigData | bjhConfigData | null\n> = async (_task, params) => {\n const { platform } = params;\n switch (platform) {\n case \"toutiao\":\n return getToutiaoData(params);\n case \"xiaohongshu\":\n return getXiaohongshuData(params);\n case \"weixin\":\n return getWeixinData(params);\n case \"baijiahao\":\n return getBaijiahaoData(params);\n default:\n return success(null, \"暂不支持该平台\");\n }\n};","\n// 文章公共属性\ninterface BaseArticle {\n title: string; // 文章标题\n imageUrl: string; // 图片地址\n createTime: number; // 发布时间\n redirectUrl: string; // 文章网页端地址\n originalData?: any; // 原始数据,可选\n}\n\n// 平台特定文章属性\nexport interface ToutiaoArticle extends BaseArticle {\n showNum: number; // 展现量\n readNum: number; // 阅读量\n likeNum: number; // 点赞量\n commentNum: number; // 评论量\n}\n\nexport interface WeixinArticle extends BaseArticle {\n readNum: number; // 阅读人数\n likeNum: number; // 点赞人数\n shareNum: number; // 分享人数\n recommendNum: number; // 推荐人数\n}\n\nexport interface BaijiahaoArticle extends BaseArticle {\n recommendNum: number; // 推荐量\n collectNum: number; // 收藏量\n readNum: number; // 阅读量\n likeNum: number; // 点赞量\n commentNum: number; // 评论量\n shareNum: number; // 转发量\n}\n\nexport interface XiaohongshuArticle extends BaseArticle {\n readNum: number; // 阅读量\n likeNum: number; // 点赞量\n commentNum: number; // 评论量\n collectNum: number; // 收藏量\n shareNum: number; // 转发量\n}\n\n// 响应数据类型\nexport interface FetchArticlesData {\n articleCell?: (ToutiaoArticle | WeixinArticle | BaijiahaoArticle | XiaohongshuArticle)[];\n pagination?: {\n total?: number; // 总条数\n nextPage?: boolean; // 是否有下一页\n lastPage?: number; // 用于维系游标所在页,提高查询速度\n cursor?: number; // 返回最终游标\n pageNum: number; // 当前页\n pageSize: number; // 每页大小\n };\n}\n\nexport interface FetchArticlesResponse {\n code: number;\n message: string;\n data: FetchArticlesData | null\n}\n\nexport const errorResponse = (\n message: string,\n code: number = 500\n): FetchArticlesResponse => ({\n code,\n message,\n data: null,\n});\n","// @ts-ignore\nimport { success } from \"@iflyrpa/share\";\nimport { FetchArticlesResponse, errorResponse, ToutiaoArticle } from \"./types\";\nimport { type FetchArticlesParams } from \".\"\nimport { Http } from \"../../utils/http\";\n\ninterface ArticleResponse {\n itemCell: {\n actionCtrl: Record<string, unknown>;\n cellCtrl: {\n articleImageType: number;\n dspStyle: null | string;\n };\n extra: {\n answer_count: string;\n origin_content: string;\n };\n logPB: string;\n articleBase: {\n createTime: number;\n itemStatus: number;\n articleURL: string;\n displayFlags: string;\n gidStr: string;\n subTitle: string | null;\n title: string;\n abstractText: string;\n content: string;\n displayURL: string;\n groupID: number;\n publishTime: number;\n schema: string;\n visibilityLevel: number;\n };\n articleClassification: {\n bizTag: number;\n groupSource: number;\n isOriginal: boolean;\n isStick: boolean;\n isSubject: boolean;\n articleSubType: number;\n articleType: number;\n bizID: number;\n };\n containsElements: {\n hasImage: boolean;\n hasVideo: boolean;\n };\n imageList: {\n staggerFeedCover: ImageInfo[];\n thumbImageList: ImageInfo[];\n };\n itemCounter: {\n readCount: number;\n repinCount: number;\n showCount: number;\n videoWatchCount: number;\n commentCount: number;\n diggCount: number;\n };\n richContentInfo: {\n richContent: string;\n titleRichSpan: string;\n };\n shareInfo: {\n shareURL: string;\n };\n userInfo: {\n avatarURL: string;\n name: string;\n userID: number;\n };\n };\n}\n\ninterface ImageInfo {\n width: number;\n height: number;\n uri: string;\n url: string;\n}\nexport async function handleToutiaoData(params: FetchArticlesParams): Promise<FetchArticlesResponse> {\n try {\n const {\n cookies,\n pageNum = 1,\n pageSize = 10,\n showOriginalData = false,\n onlySuccess = false,\n } = params;\n\n const http = new Http({\n headers: {\n cookie: cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n },\n });\n\n const visitedUid = await http.api<{ user_id_str: string }>({\n url: \"https://mp.toutiao.com/mp/agw/creator_center/user_info?\",\n method: \"get\",\n params: { app_id: 1231 },\n })\n\n const articleInfo = await http.api<{ data: { assembleCell: ArticleResponse }[], total_number: number; api_base_info: { app_extra_params: string } }>({\n method: \"get\",\n url: \"https://mp.toutiao.com/api/feed/mp_provider/v1/\",\n params: {\n provider_type: \"mp_provider\",\n aid: \"13\",\n app_name: \"news_article\",\n category: \"mp_all\",\n channel: \"\",\n stream_api_version: \"88\",\n genre_type_switch: '{\"repost\":1,\"small_video\":1,\"toutiao_graphic\":1,\"weitoutiao\":1,\"xigua_video\":1}',\n device_platform: \"pc\",\n platform_id: \"0\",\n visited_uid: visitedUid.user_id_str,\n offset: (pageNum - 1) * pageSize,\n count: pageSize,\n keyword: \"\",\n client_extra_params: `{\"category\":\"mp_all\",\"real_app_id\":\"1231\",\"need_forward\":\"true\",\"offset_mode\":\"1\",\"page_index\":\"1\",\"status\":${onlySuccess ? \"2\" : \"8\"},\"source\":\"0\"}`,\n app_id: \"1231\"\n },\n });\n\n const articleCell: ToutiaoArticle[] = articleInfo.data.map((item) => ({\n title: item.assembleCell.itemCell.articleBase.title,\n imageUrl: item.assembleCell.itemCell.imageList.staggerFeedCover[0].url,\n createTime: item.assembleCell.itemCell.articleBase.publishTime,\n redirectUrl: item.assembleCell.itemCell.articleBase.articleURL,\n showNum: item.assembleCell.itemCell.itemCounter.showCount,\n readNum: item.assembleCell.itemCell.itemCounter.readCount,\n likeNum: item.assembleCell.itemCell.itemCounter.diggCount,\n commentNum: item.assembleCell.itemCell.itemCounter.commentCount,\n ...(showOriginalData ? {\n originalData: item,\n // articleStates: item.assembleCell.itemCell.articleBase.itemStatus == 20 ? 1: item.assembleCell.itemCell.articleBase.itemStatus == 10? 5 : ; // 文章状态:1发布成功,4发布失败,5审核中,7已过期\n } : {}),\n }));\n const api_base_info_json: { total_count: number } = JSON.parse(articleInfo.api_base_info.app_extra_params)\n return success(\n {\n articleCell,\n ...(onlySuccess ? {\n pagination: {\n total: api_base_info_json.total_count,\n pageNum,\n pageSize,\n }\n } : null),\n },\n \"头条号文章文章获取成功\"\n );\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"头条号文章数据获取失败\");\n }\n}","// @ts-ignore\nimport {success} from \"@iflyrpa/share\";\nimport {Http} from \"../../utils/http\";\nimport {FetchArticlesResponse, errorResponse, WeixinArticle} from \"./types\";\nimport {type FetchArticlesParams} from \".\"\nimport {it} from \"vitest\";\n\ninterface PublishInfo {\n type: number;\n msgid: number;\n sent_result: {\n reject_index_list: any[];\n };\n appmsg_info: Array<{\n share_type: number;\n appmsgid: number;\n content_url: string;\n title: string;\n is_deleted: boolean;\n copyright_status: number;\n copyright_type: number;\n read_num: number;\n like_num: number;\n comment_id: string;\n is_comment_enable: boolean;\n comment_num: number;\n vote_id: any[];\n super_vote_id: any[];\n cover: string;\n smart_product: number;\n modify_status: number;\n appmsg_like_type: number;\n can_delete_status: number;\n old_like_num: number;\n itemidx: number;\n is_pay_subscribe: number;\n is_from_transfer: number;\n public_tag_info: {\n public_tag_list: any[];\n modify_times: number;\n init_tag_list_size: number;\n };\n appmsg_album_info: {\n appmsg_album_infos: any[];\n };\n digest: string;\n is_cooling_article: number;\n pic_cdn_url_235_1: string;\n pic_cdn_url_16_9: string;\n pic_cdn_url_3_4: string;\n pic_cdn_url_1_1: string;\n disable_recommend: number;\n line_info: {\n use_line: number;\n line_count: number;\n send_time: number;\n is_appmsg_flag: number;\n is_use_flag: number;\n };\n claim_source_type: number;\n share_num: number;\n is_rumor_refutation: number;\n segment_comment_id: string;\n is_segment_comment_enable: boolean;\n multi_picture_cover: number;\n share_imageinfo: any[];\n moment_like_num: number;\n item_show_type: number;\n }>;\n appmsgex: any[];\n copy_appmsg_id: number;\n new_publish: number;\n}\n\ninterface BasePublishItem<T = string> {\n publish_type: number;\n publish_info: T;\n}\n\ninterface BaseParsedPublishPage<T = string> {\n total_count: number;\n publish_count: number;\n masssend_count: number;\n publish_list: BasePublishItem<T>[];\n featured_count: number;\n}\n\n\ntype ParsedPublishPage = BaseParsedPublishPage<PublishInfo>;\n\n\nexport async function handleWeixinData(params: FetchArticlesParams): Promise<FetchArticlesResponse> {\n try {\n const {\n cookies,\n token,\n pageNum = 1,\n pageSize = 10,\n showOriginalData = false,\n onlySuccess = false,\n cursor,\n lastPage,\n } = params;\n if (!token) return {code: 200, message: \"缺少token\", data: null};\n const http = new Http({\n headers: {\n cookie: cookies.map((it) => `${it.name}=${it.value}`).join(\";\")\n },\n });\n\n const ParsePublishPage = (body: string): ParsedPublishPage => {\n\n const match = body.match(/publish_page\\s*=\\s*({[\\s\\S]*?});/);\n if (!match) {\n throw new Error('无法提取 publish_page 字段');\n }\n\n let parsedData = JSON.parse(match[1]);\n\n // HTML 实体解码函数\n const decodeEntities = function (str: string, decode: boolean = false) {\n const encodeMap = [\"&\", \"&\", \"<\", \"<\", \">\", \">\", \" \", \" \", '\"', \""\", \"'\", \"'\"];\n const decodeMap = [\"'\", \"'\", \""\", '\"', \" \", \" \", \">\", \">\", \"<\", \"<\", \"&\", \"&\", \"<\", \"<\", \">\", \">\"];\n const map = decode ? decodeMap : encodeMap;\n\n let result = str;\n for (let i = 0; i < map.length; i += 2) {\n result = result.replace(new RegExp(map[i], \"g\"), map[i + 1]);\n }\n return result;\n };\n\n const finalData = {\n ...parsedData,\n publish_list: parsedData.publish_list.map((item: { publish_info: string; publish_type: number; }) => {\n const decoded = decodeEntities(item.publish_info, true);\n const parsedInfo = JSON.parse(decoded);\n return {\n publish_type: item.publish_type,\n publish_info: parsedInfo,\n };\n }),\n };\n\n return finalData;\n };\n\n async function fetchArticles(\n begin: number,\n pageSize: number,\n token: string | number,\n ): Promise<string> {\n return http.api<string>({\n method: \"get\",\n url: 'https://mp.weixin.qq.com/cgi-bin/appmsgpublish',\n params: {\n sub: \"list\",\n begin: begin,\n count: pageSize,\n token: token,\n lang: \"zh_CN\"\n }\n });\n }\n\n let size = onlySuccess ? 10 : pageSize > 20 ? 20 : pageSize;\n let begin = (lastPage ?? pageNum) - 1; // 转换为 0-based index\n let rawArticlesInfo = await fetchArticles(begin * size, size, token);\n let articlesInfo = ParsePublishPage(rawArticlesInfo);\n let articleCell: WeixinArticle[] = [];\n\n if (!onlySuccess && pageSize > 20) {\n let totalFetched = articlesInfo.publish_list.length;\n let nextPage = pageNum + 1;\n\n while (totalFetched < pageSize) {\n const remaining = pageSize - totalFetched;\n const currentPageSize = remaining > 20 ? 20 : remaining;\n\n let _rawArticlesInfo = await fetchArticles((nextPage - 1) * 20, currentPageSize, token);\n let parsed = ParsePublishPage(_rawArticlesInfo);\n\n articlesInfo.publish_list = articlesInfo.publish_list.concat(parsed.publish_list);\n totalFetched = articlesInfo.publish_list.length;\n\n if (parsed.publish_list.length < currentPageSize) break;\n nextPage++;\n }\n }\n\n let nextPage = false;\n if (onlySuccess) {\n let filteredList = articlesInfo.publish_list\n .filter((item) => item.publish_info.appmsg_info[0].content_url.indexOf(\"tempkey\") == -1)\n .map((item) => item.publish_info);\n\n if (cursor) {\n const cursorIndex = filteredList.findIndex((item) => item.msgid === cursor);\n if (cursorIndex !== -1) filteredList = filteredList.slice(cursorIndex + 1);\n }\n\n let totalFetched = filteredList.length;\n\n while (totalFetched < pageSize && begin * size < articlesInfo.total_count) {\n begin += 1; // 页数递增\n let nextRawArticlesInfo = await fetchArticles(begin * size, size, token);\n let nextArticlesInfo = ParsePublishPage(nextRawArticlesInfo);\n const newFiltered = nextArticlesInfo.publish_list\n .filter((item) => item.publish_info.appmsg_info[0].content_url.indexOf(\"tempkey\") == -1)\n .map((item) => item.publish_info);\n filteredList = filteredList.concat(newFiltered);\n totalFetched = filteredList.length;\n }\n\n filteredList = filteredList.slice(0, pageSize);\n totalFetched = filteredList.length;\n\n if (totalFetched >= pageSize && begin * size < articlesInfo.total_count) {\n let nextRawArticlesInfo = await fetchArticles((begin + 1) * size, size, token);\n let nextArticlesInfo = ParsePublishPage(nextRawArticlesInfo);\n nextPage = nextArticlesInfo.publish_list.length > 0 && nextArticlesInfo.publish_list.some((item) => item.publish_info.appmsg_info[0].content_url.indexOf(\"tempkey\") == -1);\n }\n\n const lastMsgId = filteredList.length > 0 ? filteredList[filteredList.length - 1].msgid : undefined;\n articleCell = filteredList.map((item) => ({\n title: item.appmsg_info[0].title,\n imageUrl: item.appmsg_info[0].cover,\n createTime: item.appmsg_info[0].line_info.send_time,\n redirectUrl: item.appmsg_info[0].content_url,\n readNum: item.appmsg_info[0].read_num,\n likeNum: item.appmsg_info[0].old_like_num,\n shareNum: item.appmsg_info[0].share_num,\n recommendNum: item.appmsg_info[0].like_num,\n ...(showOriginalData ? {originalData: item} : {}),\n }));\n\n return success(\n {\n articleCell,\n pagination: {\n nextPage,\n pageNum,\n pageSize,\n lastPage: begin + 1, // 返回当前页数\n cursor: lastMsgId, // 返回最后一条的 msgid\n }\n },\n \"微信文章文章获取成功\"\n );\n }\n\n articleCell = articlesInfo.publish_list.map((item) => ({\n title: item.publish_info.appmsg_info[0].title,\n imageUrl: item.publish_info.appmsg_info[0].cover,\n createTime: item.publish_info.appmsg_info[0].line_info.send_time,\n redirectUrl: item.publish_info.appmsg_info[0].content_url,\n readNum: item.publish_info.appmsg_info[0].read_num,\n likeNum: item.publish_info.appmsg_info[0].old_like_num,\n shareNum: item.publish_info.appmsg_info[0].share_num,\n recommendNum: item.publish_info.appmsg_info[0].like_num,\n ...(showOriginalData ? {originalData: item} : {}),\n }));\n return success(\n {\n articleCell,\n },\n \"微信文章文章获取成功\"\n );\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"微信文章数据获取失败\");\n }\n}\n","// @ts-ignore\nimport { success } from \"@iflyrpa/share\";\nimport { FetchArticlesResponse, errorResponse, BaijiahaoArticle } from \"./types\";\nimport { type FetchArticlesParams } from \".\"\nimport { Http } from \"../../utils/http\";\n\ninterface ArticleInfo {\n abstract: string;\n antispam_code: number;\n app_id: string;\n article_id: string;\n article_set_nids: string;\n audit_msg: string;\n authentication_type: string;\n auto_generate_id: string;\n bad_status: string;\n bjh_ext_info: string;\n bjh_video_finger_printing: string;\n call_slot: number;\n commit_at: string;\n content?: string;\n cover_images: string;\n cover_layout: string;\n created_at: string;\n creative_method: string;\n deleted_at: string;\n displaytype_exinfo: string;\n domain: string;\n dst_status: string;\n ext_info: string;\n feed_cat: string;\n feed_id: string;\n feed_id_from: number;\n feed_push_amount: number;\n feed_rs: string;\n feed_source_id: string;\n feed_sub_cat: string;\n file_name: string;\n first_exclusive_publish: number;\n first_storage_time: number;\n has_edited_times: number;\n is_authenticated: number;\n is_feed_import: number;\n is_good: number;\n is_pay: number;\n is_published: number;\n is_reported: number;\n is_transfer?: number;\n is_tagged: number;\n is_wx_spread: number;\n issue_status: number;\n midway_issue_status: number;\n mount_goods: number;\n mthvideo: number;\n news_mount: any[];\n nid: string;\n open_comment: number;\n open_front_page: number;\n origin_app_id: string;\n origin_id: string;\n origin_url: string;\n original_status: number;\n pay_money: number;\n platform_source: number;\n provider: string;\n publish_at: string;\n publish_time: string;\n publish_type: string;\n quality: number;\n quality_audit_type: string;\n quality_not_pass_reason: string;\n quality_status: string;\n res_slot: string;\n secure_not_pass_reason: string;\n secure_status: string;\n shoubai_c_articleid: string;\n smp_url: string;\n source_name: string;\n source_reprinted_allow: number;\n source_reprinted_astrict: string;\n source_type: string;\n status: string;\n sub_status_id: number;\n subtitle: string;\n tag: string;\n tag_detail: string;\n title: string;\n top_end: number;\n top_st: number;\n tp_id: string;\n transform_id: string;\n trigger_odyssey: number;\n type: string;\n updated_at: string;\n url: string;\n vertical_cover: string;\n video_sub_type: number;\n video_tag: string;\n weixin_import_type: number;\n id: string;\n goods_list: any[];\n certify_url: string;\n timer_time: number;\n similar_article_id: string;\n article_push_audit_res: number;\n withdraw_status: {\n withdraw_msg: string;\n has_withdraw_times: {\n news: number;\n };\n can_withdraw: number;\n };\n modify_status: {\n edit_msg: string;\n can_edit: number;\n };\n delete_status: {\n delete_msg: string;\n can_delete: number;\n };\n recover_status: {\n recover_msg: string;\n can_recover: number;\n };\n activity_list: any[];\n can_edit_goods: number;\n recomm_status: {\n can_recomm: number;\n };\n dxxFinalAuditResult: string;\n read_amount: number;\n read_num: number;\n forward_num: number;\n praise_num: number;\n comment_num: number;\n rec_amount: number;\n comment_amount: number;\n share_amount: number;\n like_amount: number;\n collection_amount: number;\n profit: number;\n is_rec: number;\n activity_ids: any[];\n solicit_info: {\n tag: string | null;\n point: string | null;\n inspire: string | null;\n };\n group_can_share: number;\n group_already_shared: number;\n show_selected_comment_option: number;\n show_ai_intro: number;\n flow_invest_status: number;\n flow_invest_msg: string;\n package_invest_status: number;\n can_only_modify_goods: number;\n audit_msg_color: string;\n audit_msg_icon: string;\n playlet_pay2free_switch: number;\n audit_type_v0: string;\n is_ridewind: string;\n is_show_adding: string;\n is_show_add_view: string;\n add_view_count: string;\n coupons_add_view_count: string;\n platform_add_view_count: string;\n rec_count: number;\n share_url: string;\n v_type: number;\n v_intro: string;\n duration: number | null;\n video_num: number;\n};\n\ntype ArticleApiResponse = {\n data: {\n list: ArticleInfo[];\n page: {\n currentPage: number;\n pageSize: number;\n totalCount: number;\n totalPage: number;\n };\n };\n\n};\n\nexport async function handleBaijiahaoData(params: FetchArticlesParams): Promise<FetchArticlesResponse> {\n try {\n const {\n cookies,\n token,\n pageNum = 1,\n pageSize = 10,\n showOriginalData = false,\n onlySuccess = false,\n } = params;\n\n if (!token) return { code: 200, message: \"缺少token\", data: null };\n const http = new Http({\n headers: {\n cookie: cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n token: token\n },\n });\n\n async function fetchArticles(\n pageNum: number,\n pageSize: number,\n onlySuccess: boolean = false\n ): Promise<ArticleApiResponse> {\n return await http.api<ArticleApiResponse>({\n method: \"get\",\n url: \"https://baijiahao.baidu.com/pcui/article/lists\",\n params: {\n currentPage: pageNum,\n pageSize: pageSize,\n search: \"\",\n type: \"\",\n collection: onlySuccess ? \"publish\" : \"\",\n clearBeforeFetch: false,\n dynamic: 1,\n },\n });\n };\n\n\n const articleInfo = await fetchArticles(pageNum, pageSize, onlySuccess);\n let filtered = articleInfo.data.list.filter(item => item.status !== \"draft\");\n const totalPage = articleInfo.data.page?.totalPage || 1;\n\n let currentPage = pageNum + 1;\n const usedPages = new Set<number>();\n while (filtered.length < pageSize && currentPage <= totalPage) {\n if (usedPages.has(currentPage)) {\n currentPage++;\n continue;\n }\n\n const res = await fetchArticles(currentPage, pageSize, onlySuccess);\n usedPages.add(currentPage);\n\n const validItems = res.data.list.filter(item => item.status !== \"draft\");\n filtered.push(...validItems);\n\n currentPage++;\n }\n\n // 截取前 pageSize 条返回\n const final = filtered.slice(0, pageSize);\n\n // 转换结构\n const articleCell: BaijiahaoArticle[] = final.map((item) => ({\n title: item?.is_transfer ?? false ? item.content|| \"\" : item.title ,\n imageUrl: JSON.parse(item.cover_images)[0]?.src || \"\",\n createTime: Math.floor(new Date(item.publish_at.replace(/-/g, \"/\")).getTime() / 1000),\n redirectUrl: item.url || item.share_url,\n recommendNum: item.rec_amount | item.forward_num,\n collectNum: item.collection_amount,\n readNum: item.read_amount | item.read_num,\n likeNum: item.like_amount | item.praise_num,\n commentNum: item.comment_amount | item.comment_num,\n shareNum: item.share_amount,\n ...(showOriginalData ? { originalData: item } : {}),\n }));\n\n return success(\n {\n articleCell,\n ...(onlySuccess ? {\n pagination: {\n total: articleInfo.data.page?.totalCount,\n pageNum,\n pageSize,\n }\n } : null),\n },\n \"百家号文章数据获取成功\"\n );\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"百家号文章数据获取失败\");\n }\n}\n","// @ts-ignore\nimport { success } from \"@iflyrpa/share\";\nimport { FetchArticlesResponse, errorResponse, XiaohongshuArticle } from \"./types\";\nimport { type FetchArticlesParams } from \".\"\nimport { Http } from \"../../utils/http\";\nimport { Xhshow } from \"../../utils/xhsXsEncrypt\";\n\ninterface Note {\n id: string;\n sticky: boolean;\n schedule_post_time: number;\n comments_count: number;\n tab_status: number;\n display_title: string;\n time: string;\n view_count: number;\n shared_count: number;\n images_list: {\n url: string;\n }[];\n permission_code: number;\n permission_msg: string;\n level: number;\n xsec_token: string;\n xsec_source: string;\n type: string;\n likes: number;\n collected_count: number;\n goods_info: {\n goods_name: string[];\n };\n}\ntype ArticleApiResponse = {\n data: {\n notes: Note[];\n page: number;\n tags: {\n notes_count: number;\n }[]\n }\n\n}\nexport async function handleXiaohongshuData(params: FetchArticlesParams): Promise<FetchArticlesResponse> {\n try{\n const {\n cookies,\n pageNum = 1,\n pageSize = 10,\n showOriginalData = false,\n onlySuccess = false,\n } = params;\n\n const xsEncrypt = new Xhshow();\n const a1Cookie = cookies.find((it) => it.name === \"a1\")?.value;\n if (!a1Cookie) return { code: 200, message: \"账号数据异常\", data: null };\n if (onlySuccess && pageSize != 10) return { code: 200, message: \"小红书pageSize不可修改\", data: null };\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n referer: \"https://creator.xiaohongshu.com\",\n origin: \"https://creator.xiaohongshu.com\",\n },\n });\n\n async function fetchArticles(\n pageNum: number,\n a1Cookie: string,\n onlySuccess: boolean = false\n ): Promise<ArticleApiResponse> {\n const xt = Date.now().toString();\n const serveUrl = `/web_api/sns/v5/creator/note/user/posted`;\n const serveParams = {\n tab: onlySuccess ? 1 : 0,\n page: pageNum - 1\n }\n const xs = xsEncrypt.signXsGet(serveUrl, a1Cookie, \"xhs-pc-web\" ,serveParams);\n return await http.api<ArticleApiResponse>({\n method: \"get\",\n baseURL: \"https://edith.xiaohongshu.com\",\n url: serveUrl,\n headers: { \"x-s\": xs, \"x-t\": xt },\n params: serveParams\n });\n };\n const articleInfo = await fetchArticles(pageNum, a1Cookie, onlySuccess)\n\n let hasNextpage = articleInfo.data.page != -1;\n let filtered = articleInfo.data.notes;\n let currentPage = pageNum + 1;\n const usedPages = new Set<number>();\n while (filtered.length < pageSize && hasNextpage) {\n if (usedPages.has(currentPage)) {\n currentPage++;\n continue;\n }\n\n const res = await fetchArticles(currentPage, a1Cookie, onlySuccess);\n usedPages.add(currentPage);\n\n const validItems = res.data.notes\n filtered.push(...validItems);\n\n currentPage++;\n hasNextpage = res.data.page != -1;\n }\n\n const final = filtered.slice(0, pageSize);\n const articleCell: XiaohongshuArticle[] = final.map((item) => ({\n title: item.display_title,\n imageUrl: item.images_list[0].url,\n createTime: Math.floor(new Date(item.time.replace(/-/g, \"/\")).getTime() / 1000),\n redirectUrl: `https://www.xiaohongshu.com/explore/${item.id}?xsec_token=${item.xsec_token}&xsec_source=pc_creatormng`,\n readNum: item.view_count,\n likeNum: item.likes,\n commentNum: item.comments_count,\n collectNum: item.collected_count,\n shareNum: item.shared_count,\n // articleStates: item.status,\n ...(showOriginalData ? { originalData: item } : {}),\n }));\n\n return success(\n {\n articleCell,\n ...(onlySuccess ? {\n pagination: {\n nextPage: hasNextpage,\n pageNum,\n pageSize,\n }\n } : null),\n },\n \"小红书文章数据获取成功\"\n );\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"小红书文章数据获取失败\");\n }\n\n}\n","// @ts-ignore\nimport { success, type CommonAction } from \"@iflyrpa/share\";\nimport { FetchArticlesData } from \"./types\";\nimport { handleToutiaoData } from \"./handleTTData\";\nimport { handleWeixinData } from \"./handleWXData\";\nimport { handleBaijiahaoData } from \"./handleBjhData\";\nimport { handleXiaohongshuData } from \"./handleXhsData\";\nimport type { ActiomCommonParams } from \"../../types\";\n\n// 请求参数接口\nexport interface FetchArticlesParams extends ActiomCommonParams {\n platform: string; // 社交平台:weixin, toutiao, baijiahao, xiaohongshu\n token?: string | number; // 微信和百家号需要\n pageNum?: number; // 当前页,默认1\n pageSize?: number; // 每页大小,默认10\n size?: number; // 获取前多少篇文章(不含草稿),默认获取全部\n onlySuccess?: boolean; // 是否仅获取发布成功的文章,默认false\n showOriginalData?: boolean; // 是否展示原始数据,默认false\n cursor?: number; // 仅用于微信分页游标,默认为空\n lastPage?: number;\n }\n\nexport const FetchArticles: CommonAction<FetchArticlesParams, FetchArticlesData | null> = async (_task, params) => {\n const { platform } = params;\n switch (platform) {\n case \"toutiao\":\n return handleToutiaoData(params);\n case \"weixin\":\n return handleWeixinData(params);\n case \"baijiahao\":\n return handleBaijiahaoData(params);\n case \"xiaohongshu\":\n return handleXiaohongshuData(params);\n default:\n return success(null, \"暂不支持该平台\");\n }\n};","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface GetWeixinConfigParams extends ActiomCommonParams {\n\ttoken: string | number;\n}\n\ninterface QuotaDetail {\n\toriginal_quota: number;\n\tquota: number;\n\tstr_date: string;\n}\n\ninterface QuotaDetailResponse {\n\tbase_resp: { err_msg: string ,ret: number },\n\tquota_detail_list: { quota_item_list: QuotaDetail, quota_type: string }[];\n}\n\n\nexport interface ConfigData {\n\tpublishQuota: QuotaDetail[];\n}\n\nexport type PublishAction = CommonAction<GetWeixinConfigParams, ConfigData>;\n\nexport const getWeixinConfig: PublishAction = async (_task, params) => {\n\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\")\n\t\t},\n\t});\n const fingerprint = \"4695500bc93ab4ce8fb2692da6564e04\";\n\n\tconst res = await http.api<QuotaDetailResponse>({\n\t\tmethod: \"get\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssendpage\",\n\t\tparams: {\n\t\t\tf: 'json',\n\t\t\ttoken: params.token,\n\t\t\tlang: 'zh_CN',\n\t\t\tajax: 1,\n\t\t\tfingerprint: fingerprint,\n\t\t\trandom: Math.random().toString(),\n\t\t},\n\t});\n\tconst filtered = {\n\t\tpublishQuota : res.base_resp.ret === 0? res.quota_detail_list\n\t\t.filter(item => item.quota_type === \"kQuotaTypeMassSendNormal\")\n\t\t.map(item => item.quota_item_list): [],\n\t}\n\treturn success(filtered, res.base_resp.ret === 0 ? \"微信配置信息获取成功!\" : \"微信配置信息获取失败!\");\n};\n","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\nimport FormData from \"form-data\";\nimport { Http } from \"../../utils/http\"\n\nimport type { PublishAction } from \".\";\nimport type { Toutiao } from \"../../types\";\n\nexport const mockAction: PublishAction = async (task, params) => {\n\tconst tmpCachePath = task.getTmpPath();\n\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\torigin: \"https://mp.toutiao.com\",\n\t\t\treferer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n\t\t},\n\t});\n\n\t// 0. 校验登录\n\tconst userInfoRes = await http.api<{ code: number }>({\n method: \"get\",\n url: \"https://mp.toutiao.com/mp/agw/creator_center/user_info\",\n });\n\n\tif (userInfoRes.code !== 0) {\n return { code: 0, message: \"登录失效\", data: userInfoRes };\n\t}\n\n\t// 1. 上传图片\n\tconst imageList: string[] = [];\n\tif (params.banners && params.banners.length > 0) {\n\t\tconst images = await Promise.all(\n\t\t\tparams.banners.map((url) => {\n\t\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t\t}),\n\t\t);\n\n\t\tconst res = await Promise.all(\n\t\t\timages.map(async (it) => {\n\t\t\t\tconst formData = new FormData();\n\t\t\t\tformData.append(\"image\", fs.createReadStream(it));\n\n\t\t\t\tconst response = await http.api<{ data: Toutiao.ImageData }>({\n\t\t\t\t\tmethod: \"post\",\n\t\t\t\t\turl: \"https://mp.toutiao.com/spice/image?upload_source=20020003&aid=1231&device_platform=web\",\n\t\t\t\t\tdata: formData,\n\t\t\t\t});\n\n\t\t\t\treturn response.data;\n\t\t\t}),\n\t\t);\n\n\t\timageList.push(...res.map((it) => it.image_uri));\n\t}\n\n\t// 2. 构造发布数据\n\tconst extra = {\n\t\tadd_music_to_article_flag: \"0\", // 开启配乐\n\t\tclaim_exclusive: \"0\", // 原创&首发声明\n\t\ttuwen_wtt_trans_flag: \"0\",\n\t\tinfo_source: JSON.stringify({\n\t\t\tsource_type: 5,\n\t\t\tsource_author_uid: \"\",\n\t\t\ttime_format: \"\",\n\t\t\tposition: {},\n\t\t}),\n\t\tugc_position: JSON.stringify({\n\t\t\taddress: \"\",\n\t\t\tposition: \"合肥市\",\n\t\t\tcity: \"合肥市\",\n\t\t\tlongitude: 117.227289,\n\t\t\tlatitude: 31.82057,\n\t\t\tpoi_type_code: \"190104\",\n\t\t\tpoi_id: \"22535659123306003\",\n\t\t}),\n\t};\n\n\tconst syncData = {\n\t\tcontent: params.content, // 正文,\n\t\timage_list: imageList, // 图片列表\n\t\tis_fans_article: 2,\n\t\tpre_upload: 1,\n\t\twelfare_card: \"\",\n\t\textra: JSON.stringify(extra),\n\t};\n\n const res = await http.api<any>({\n method: \"post\",\n url: \"https://mp.toutiao.com/mp/agw/article/wtt\",\n data: syncData,\n });\n\n return success(res.data)\n};\n","import path from \"node:path\";\nimport type { CookieMap } from \"@iflyrpa/share\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\n\nimport type { PublishAction } from \"./index\";\n\nexport const rpaAction: PublishAction = async (task, params) => {\n\tconst commonCookies: CookieMap[number] = {\n\t\tpath: \"/\",\n\t\tsecure: true,\n\t\tdomain: \"mp.toutiao.com\",\n\t\turl: \"https://mp.toutiao.com\",\n\t\thttpOnly: true,\n\t};\n\n\tconst page = await task.createPage({\n\t\tshow: task.debug,\n\t\turl: params.url || \"https://mp.toutiao.com/profile_v4/weitoutiao/publish\",\n\t\tcookies: params.cookies?.map((it) => ({ ...commonCookies, ...it })) || [],\n\t});\n\n\tconst tmpCachePath = task.getTmpPath();\n\n\t// 0. 判断是否登录\n\ttry {\n\t\tawait page.waitForSelector(\".publish-box\");\n\t} catch (error) {\n\t\treturn { code: 0, message: \"登录失效\", data: page.url() };\n\t}\n\n\t// 1. 添加正文\n\tconst descInstance = page.locator(\".syl-editor .ProseMirror\");\n\tawait descInstance.click();\n\tawait descInstance.fill(params.content);\n\n\t// 2. 添加图片\n\tif (params.banners && params.banners?.length > 0) {\n\t\tconst images = await Promise.all(\n\t\t\tparams.banners.map((url) => {\n\t\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t\t}),\n\t\t);\n\n\t\tconst fileChooserPromise = page.waitForEvent(\"filechooser\");\n\t\tawait page.locator(\".toolbar .syl-toolbar-tool.weitoutiao-image-plugin\").click();\n\t\tawait page.locator(\".byte-drawer.mp-ic-img-drawer button.byte-btn\").filter({ hasText: \"本地上传\" }).click();\n\t\tconst fileChooser = await fileChooserPromise;\n\t\tawait fileChooser.setFiles(images);\n\n\t\tawait page.locator(\".byte-drawer.mp-ic-img-drawer .footer button.byte-btn\").filter({ hasText: \"确定\" }).click();\n\t}\n\n\t// 滚动到底部\n\tawait page.mouse.wheel(0, 500); // 向下滚动 500 像素\n\n\t// 3. 添加位置\n\tif (params.address) {\n\t\tconst addressFormItem = page.locator(\".img-form-wrap .form-item-wrap .form-item\").filter({ hasText: \"添加位置\" });\n\t\tawait addressFormItem.locator(\".byte-select\").click();\n\t\tawait addressFormItem.locator(\".byte-select-view-search input\").fill(params.address);\n\t\tconst poperInstance = page.locator(\".byte-trigger .byte-select-popup .byte-select-option\");\n\t\tawait poperInstance.first().waitFor();\n\t\tawait poperInstance.first().click();\n\t}\n\n\t// 4. 作品声明\n\tif (params.declaration) {\n\t\tconst declarationFormItem = page\n\t\t\t.locator(\".img-form-wrap .form-item-wrap .form-item\")\n\t\t\t.filter({ hasText: \"作品声明\" })\n\t\t\t.locator(\".source-info-wrap\");\n\t\tawait declarationFormItem.locator(`.byte-checkbox:has(input[value=\"${params.declaration}\"])`).click();\n\t}\n\n\t// 5. 发布\n\tawait page.locator(\".footer-wrap button.publish-content\").click();\n\n\treturn success(\"\");\n};\n","import type { CommonAction } from \"@iflyrpa/share\";\n\nimport type { ActiomCommonParams } from \"../../types\";\nimport { executeAction } from \"../../utils\";\nimport { mockAction } from \"./mock\";\nimport { rpaAction } from \"./rpa\";\n\n/**\n * 作品声明\n * 1:引用站内\n * 3:引用AI\n * 4:取材网络\n * 5:个人观点,仅供参考\n * 6:虚构演绎,故事经历\n * 7:投资观点,仅供参考\n * 8:健康医疗分享,仅供参考\n */\ntype DeclarationType = 1 | 3 | 4 | 5 | 6 | 7 | 8;\n\nexport interface WeitoutiaoPublishParams extends ActiomCommonParams {\n\tcontent: string;\n\tbanners?: string[];\n\taddress?: string;\n\tdeclaration?: DeclarationType;\n}\n\nexport type PublishAction = CommonAction<WeitoutiaoPublishParams>;\n\nexport const weitoutiaoPublish: PublishAction = async (task, params) => {\n\tif (params.actionType === \"rpa\") {\n\t\treturn rpaAction(task, params);\n\t}\n\n\tif (params.actionType === \"mockApi\") {\n\t\treturn mockAction(task, params);\n\t}\n\n\treturn executeAction(mockAction, rpaAction)(task, params);\n};\n","export const scanRetryMaxCount = 30;\n\nexport const QuotaType = {\n\tNormal: \"kQuotaTypeMassSendNormal\",\n\tProductActivity: \"kQuotaTypeMassSendProductActivity\",\n};\n\nexport interface QuotaItem {\n\toriginal_quota: number;\n\tquota: number;\n\tstr_date: string;\n}\n\nexport interface QuotaDetail {\n\tquota_item_list: QuotaItem[];\n\tquota_type: string;\n}\n","import fs, { write } from \"node:fs\";\n// import https from \"node:https\";\nimport path from \"node:path\";\nimport { type ResponseData, downloadImage, getFilenameFromUrl, randomString, sleep, success } from \"@iflyrpa/share\";\nimport FormData from \"form-data\";\nimport { extractImgTag, getFileState, replaceImgSrc } from \"../../utils\";\nimport { Http } from \"../../utils/http\";\nimport type { PublishAction, WeixinPublishParams , WxWhitelistUserInfo, WxInteraction} from \"./index\";\nimport { type QuotaDetail, QuotaType, scanRetryMaxCount } from \"./utils\";\nimport { match } from \"node:assert\";\n\ntype CommonResponse<T = unknown> = T & {\n\tbase_resp?: { err_msg: string; ret: number };\n};\n\nconst GET_QRCODE_DEFAULT_ERROR = \"二维码获取异常,请稍后重试。\";\n\nconst errnoMap: Record<number|string, string> = {\n\t200003: \"微信公众号号登录状态失效,请重新绑定账号后重试。\",\n\t420001: \"封面图不支持GIF,请更换后重试。\",\n\t200002: \"上传图片参数错误,请检查后重试。\",\n\t200039: \"上传图片高度(像素)与宽度(像素)的乘积不能超过600万,请更换后重试。\",\n\t153201: \"不支持发布审核中或转码中的视频\",\n\t200007: \"登陆失败,请重新登陆账户后重试。\",\n\t64703: \"摘要超出120字长度限制,请修改摘要后重试。\",\n\t\"-4\": \"不支持发布审核中或转码中的视频\",\n\t\"-2\": \"不支持发布审核中或转码中的视频\",\n \"-1\" :\"系统错误,请注意备份内容后重试\",\n\t770001: \"不支持发布审核中或转码中的视频\",\n\t200074: \"系统繁忙,请稍后重试!\",\n\t64702: \"标题超出64字长度限制,请修改标题后重试。\"\n};\n\n// 不需要直接抛出的异常码,如 154019\nconst ignoreErrno = [154019];\n\n// 用户互动类型表\nconst userTypeMap: Record<string, 1 | 2 | 3> = {\n\t\"所有用户\": 1,\n\t\"已关注的用户\": 2,\n\t\"已关注7天及以上的用户\": 3,\n };\n\nconst generatorFormData = (data: Record<string, unknown>) => {\n\tconst formData = new URLSearchParams();\n\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tformData.append(key, String(value));\n\t}\n\n\treturn formData.toString();\n};\n\nexport const checkCopyrightStat = async <T>(http: Http, params: WeixinPublishParams, data: Record<string, unknown>) => {\n\tlet resData: T;\n\n\ttry {\n\t\tresData = await http.api({\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssend\",\n\t\t\tparams: {\n\t\t\t\taction: \"get_appmsg_copyright_stat\",\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t},\n\t\t\tdata: generatorFormData(data),\n\t\t});\n\t} catch (error) {\n\t\tresData = (error as ResponseData)?.data;\n\t}\n\n\treturn resData;\n};\n\nexport const mockAction: PublishAction = async (task, params) => {\n\tconst fingerprint = \"4695500bc93ab4ce8fb2692da6564e04\";\n\tconst client_time_diff = Number(\"1743488763\") * 1 - Math.floor(new Date().getTime() / 1000);\n\n\tconst tmpCachePath = task.getTmpPath();\n const headers = {\n \"User-Agent\":\n \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0\",\n Cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n origin: \"https://mp.weixin.qq.com\",\n referer: `https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit&action=edit&isNew=1&type=77&createType=0&token=${params.token}&lang=zh_CN×tamp=${Date.now()}`,\n }\n\tconst http = new Http({ headers\n\t\t// 接口代理,特意保留,作为测试使用\n\t\t// httpsAgent: new https.Agent({\n\t\t// \trejectUnauthorized: false,\n\t\t// \thost: \"127.0.0.1\",\n\t\t// \tport: 9000,\n\t\t// }),\n\t});\n\n\t// 添加响应拦截器\n\thttp.addResponseInterceptor<CommonResponse>((response) => {\n\t\tconst responseData = response.data;\n\t\tconst msgType = params.saveType === \"draft\" ? \"同步\" : \"发布\";\n\n\t\t// 检查响应中的 errno 字段\n\t\tif (\n\t\t\tresponseData?.base_resp &&\n\t\t\tresponseData.base_resp.ret !== 0 &&\n\t\t\t!ignoreErrno.includes(responseData.base_resp.ret)\n\t\t) {\n\t\t\tconst errmsg =\n\t\t\t\terrnoMap[responseData.base_resp.ret] ||\n\t\t\t\tresponse.config.defaultErrorMsg ||\n\t\t\t\tresponseData.base_resp.err_msg ||\n\t\t\t\t`文章${msgType}异常,请稍后重试。`;\n\n\t\t\treturn {\n\t\t\t\tcode: errnoMap[responseData.base_resp.ret] ? 200 : 500,\n\t\t\t\tmessage: errmsg,\n\t\t\t\tdata: responseData,\n\t\t\t};\n\t\t}\n\t});\n\n\t// 0. 校验登录\n\tawait http.api({\n\t\tmethod: \"get\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/appmsgpublish\",\n\t\tparams: {\n\t\t\tfingerprint,\n\t\t\tsub: \"list\",\n\t\t\tbegin: 0,\n\t\t\tcount: 10,\n\t\t\tquery: \"\",\n\t\t\ttype: 101_1_102_103,\n\t\t\tshow_type: \"\",\n\t\t\tfree_publish_type: 1_102_103,\n\t\t\tsub_action: \"list_ex\",\n\t\t\tsearch_card: 0,\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\tf: \"json\",\n\t\t\tajax: 1,\n\t\t},\n\t});\n\n\t// 1. 提取并上传正文中的图片\n\tconst uploadImages = async (images: string[]) => {\n\t\tconst cloudImages: Array<{ cdn_url: string; content: string }> = [];\n\n\t\t// 下载图片到本地\n\t\tconst localImages = await Promise.all(\n\t\t\timages.map((url) => {\n\t\t\t\tlet fileName = getFilenameFromUrl(url);\n let ext = path.extname(fileName);\n fileName = ext ? fileName : `${fileName}.png`\n\t\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t\t}),\n\t\t);\n\n\t\tfor (let index = 0; index < images.length; index++) {\n\t\t\tconst image = localImages[index];\n\t\t\tconst fileState = getFileState(image);\n\n\t\t\tconst formData = new FormData();\n\t\t\tformData.append(\"id\", `WU_FILE_${index + 1}`);\n\t\t\tformData.append(\"name\", fileState.name);\n\t\t\tformData.append(\"type\", fileState.type);\n\t\t\tformData.append(\"lastModifiedDate\", fileState.lastModifiedDate);\n\t\t\tformData.append(\"size\", fileState.size);\n\t\t\tformData.append(\"file\", fs.createReadStream(image));\n\n\t\t\tconst response = await http.api<(typeof cloudImages)[0]>({\n\t\t\t\tmethod: \"post\",\n\t\t\t\turl: `https://mp.weixin.qq.com/cgi-bin/filetransfer?action=upload_material&f=json&writetype=doublewrite&token=${params.token}&lang=zh_CN`,\n\t\t\t\tdata: formData,\n\t\t\t\tdefaultErrorMsg: \"图片上传异常,请稍后重试发布。\",\n\t\t\t});\n\n\t\t\tcloudImages.push(response);\n\t\t}\n\n\t\treturn cloudImages;\n\t};\n\n\tconst originContentImages = extractImgTag(params.content);\n\tconst targetContentImages = await uploadImages(originContentImages);\n\t// 2. 替换正文中的图片\n\tconst content = replaceImgSrc(params.content, (dom) => {\n\t\tif (dom.attribs.src) {\n\t\t\tconst idx = originContentImages.findIndex((it) => it === dom.attribs.src);\n\t\t\tdom.attribs.src = targetContentImages[idx].cdn_url;\n\t\t\tdom.attribs.class = \"rich_pass wxw-img js_insertlocalimg\";\n\t\t\tdom.attribs.style = \"\";\n\t\t}\n\t\treturn dom;\n\t});\n\n\t// 3. 上传封面图片\n\tconst coverRes = await uploadImages([params.settingInfo.wxCover]);\n\n\t// 4. 原创声明白名单有效性判断与生成转载白名单\n\tlet oriWhitelist = null;\n\n\tif (params.settingInfo?.wxCopyright && params.settingInfo?.wxWhitelist) {\n\t\tconst _oriWhitelist = params.settingInfo.wxWhitelist;\n\n\t\tif (_oriWhitelist && _oriWhitelist.length > 0) {\n\t\t\tconst white_list = [];\n\n\t\t\tconst white_list_user = {\n\t\t\t\tnickname: \"\",\n\t\t\t\ttitle: \"可修改文章\",\n\t\t\t\topenid: \"\",\n\t\t\t\twx_name: \"\",\n\t\t\t\tusername: \"\",\n\t\t\t\tavatar: \"\",\n\t\t\t\tcan_modify: \"1\",\n\t\t\t\tcan_hide_source: \"0\",\n\t\t\t\tcan_reward: \"0\",\n\t\t\t};\n\n\t\t\tfor (const _user of _oriWhitelist) {\n\t\t\t\tconst userInfo_res = await http.api<{ search_list: WxWhitelistUserInfo[] }>({\n\t\t\t\t\tmethod: \"post\",\n\t\t\t\t\turl: \"https://mp.weixin.qq.com/cgi-bin/appmsgcopyright?action=searchacct\",\n\t\t\t\t\tparams: {\n\t\t\t\t\t\taction: \"searchacct\",\n\t\t\t\t\t},\n\t\t\t\t\tdata: generatorFormData({\n\t\t\t\t\t\tlang: \"zh_CN\",\n\t\t\t\t\t\tf: \"json\",\n\t\t\t\t\t\tajax: 1,\n\t\t\t\t\t\ttoken: params.token,\n\t\t\t\t\t\trandom: Math.random().toString(),\n\t\t\t\t\t\tusername: _user,\n\t\t\t\t\t}),\n\t\t\t\t\tdefaultErrorMsg: \"搜索用户信息失败\",\n\t\t\t\t});\n\n\t\t\t\tif(userInfo_res.search_list.length>0){\n\t\t\t\t\tlet userInfo_resJson = userInfo_res.search_list[0];\n\t\t\t\t\twhite_list_user.nickname = userInfo_resJson.nickname;\n\t\t\t\t\twhite_list_user.openid = userInfo_resJson.openid;\n\t\t\t\t\twhite_list_user.avatar = userInfo_resJson.pic_url;\n\t\t\t\t\twhite_list_user.username = userInfo_resJson.username;\n\t\t\t\t\twhite_list_user.wx_name = userInfo_resJson.wx_name;\n\t\t\t\t\twhite_list.push({ ...white_list_user });\n\t\t\t\t}else{\n\t\t\t\t\treturn { code: 200, message: `白名单用户:${_user} 未搜索到,请确定输入是否正确!`, data: '' }\n\t\t\t\t}\n\t\t\t}\n\t\t\toriWhitelist = white_list.length > 0 ? JSON.stringify({ \"white_list\" : white_list }) : \"\";\n\t\t}\n\t}\n\n\t// 5. 赞赏设置\n\tlet writerid = null;\n\tlet reply_id = null\n\tif (params.settingInfo.wxCopyright && params.settingInfo.wxRewardTarget){\n\t\tasync function getWriterList() {\n\t\t\tconst res = await http.api({\n\t\t\t method: \"get\",\n\t\t\t url: 'https://mp.weixin.qq.com/acct/writermgr',\n\t\t\t params: {\n\t\t\t\taction: 'get_writer_list',\n\t\t\t\tfingerprint,\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\tf: \"json\",\n\t\t\t\tajax: 1,\n\t\t\t }\n\t\t\t});\n\n\t\t\treturn res.pageinfo.writerlist || [];\n\t\t }\n\n\t\t async function getRewardText(): Promise<{ text: string , reply_id: string}[]> {\n\t\t\tconst res = await http.api({\n\t\t\t\tmethod: \"get\",\n\t\t\t\turl: 'https://mp.weixin.qq.com/merchant/reward',\n\t\t\t\tparams: {\n\t\t\t\taction: 'getautoreply',\n\t\t\t\tfingerprint,\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\tf: \"json\",\n\t\t\t\tajax: 1,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn res.reply_infos;\n\t\t}\n\n\t\t//遍历绑定信息\n\t\tfor (var _type in params.settingInfo.wxRewardTarget){\n\t\t\tif (_type === \"author\"){\n\n\t\t\t\tif( (await getWriterList()).length == 0){\n\t\t\t\t\t// 获取二维码等待用户绑定\n\t\t\t\t\tconst rewardbind = await http.api({\n\t\t\t\t\t\tmethod: \"get\",\n\t\t\t\t\t\turl: \"https://mp.weixin.qq.com/acct/writermgr\",\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\taction: \"get_rewardbind_qrcode\",\n\t\t\t\t\t\t\trandom: Math.random().toString(),\n\t\t\t\t\t\t\tfingerprint,\n\t\t\t\t\t\t\ttoken: params.token,\n\t\t\t\t\t\t\tlang: \"zh_CN\",\n\t\t\t\t\t\t\tf: \"json\",\n\t\t\t\t\t\t\tajax: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefaultErrorMsg: GET_QRCODE_DEFAULT_ERROR,\n\t\t\t\t\t});\n\n\t\t\t\t\tconst rewardBuffer = Buffer.from(rewardbind.qrcode_base64, 'base64');\n\t\t\t\t\tconst rewardFilePath = path.join(tmpCachePath, \"weixin_reward.jpg\");\n\t\t\t\t\tfs.writeFileSync(rewardFilePath, new Uint8Array(rewardBuffer));\n\n\t\t\t\t\tparams.safeQrcodeCallback?.(rewardFilePath);\n\n\t\t\t\t\tconst task_id = rewardbind.task_id\n\n\t\t\t\t\tlet code = null\n\n\t\t\t\t\tfor (let i = 0; i < scanRetryMaxCount; i++) {\n\t\t\t\t\t\tawait sleep(2000);\n\n\t\t\t\t\t\tconst checkScanResult = await http.api<{ qrcode_status: number; }>({\n\t\t\t\t\t\t\tmethod: \"get\",\n\t\t\t\t\t\t\turl: \"https://mp.weixin.qq.com/acct/writermgr\",\n\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\taction: \"query_rewardbind_qrcode_status\",\n\t\t\t\t\t\t\t\ttask_id: task_id,\n\t\t\t\t\t\t\t\tfingerprint,\n\t\t\t\t\t\t\t\tlang: \"zh_CN\",\n\t\t\t\t\t\t\t\tf: \"json\",\n\t\t\t\t\t\t\t\tajax: 1,\n\t\t\t\t\t\t\t\ttoken: params.token,\n\t\t\t\t\t\t\t\ttimespam: Date.now(),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tcode = checkScanResult.qrcode_status\n\n\t\t\t\t\t\tif ( code == 2 && (await getWriterList()).length > 0 ) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (i === scanRetryMaxCount - 1) {\n\t\t\t\t\t\t\treturn { code: 200, message: \"二维码已过期,请重试绑定。\", data: \"\" };\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\t// 判断为赞赏作者\n\t\t\t\tlet _writer = await getWriterList()\n\t\t\t\tfor (var _writer_item of _writer){\n\t\t\t\t\tif (_writer_item.nickname === params.settingInfo.wxRewardTarget[_type]){\n\t\t\t\t\t\twriterid = _writer_item.writerid\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!writerid){\n\t\t\t\t\t// 没找到作者id\n\t\t\t\t\treturn { code: 200, message: \"未匹配到赞赏绑定用户,请确认用户名与绑定是否正常!\", data: \"\" };\n\t\t\t\t}\n\n\t\t\t\tif (params.settingInfo?.wxRewardText){\n\t\t\t\t\t// 判断文案是否已添加\n\t\t\t\t\tlet rewardList = await getRewardText()\n\n\t\t\t\t\tlet matchdID = rewardList.find(\n\t\t\t\t\t\treward => reward.text === params.settingInfo.wxRewardText\n\t\t\t\t\t)?.reply_id ?? null;\n\n\t\t\t\t\tif (rewardList.length == 0 || !matchdID ){\n\t\t\t\t\t\tawait http.api({\n\t\t\t\t\t\t\tmethod: \"post\",\n\t\t\t\t\t\t\turl: 'https://mp.weixin.qq.com/merchant/reward',\n\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t \taction: 'addautoreply',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdata: generatorFormData({\n\t\t\t\t\t\t\t\ttype: 1,\n\t\t\t\t\t\t\t\tfingerprint,\n\t\t\t\t\t\t\t\ttoken: params.token,\n\t\t\t\t\t\t\t\tlang: \"zh_CN\",\n\t\t\t\t\t\t\t\tf: \"json\",\n\t\t\t\t\t\t\t\tajax: 1,\n\t\t\t\t\t\t\t\ttext: params.settingInfo.wxRewardText\n\t\t\t\t\t\t })\n\t\t\t\t\t\t});\n\t\t\t\t\t}else{\n\t\t\t\t\t\treply_id = matchdID\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!matchdID) {\n\t\t\t\t\t\tfor (var _reply_item of (await getRewardText())){\n\t\t\t\t\t\t\treply_id = (await getRewardText()).find(\n\t\t\t\t\t\t\t\treward => reward.text === params.settingInfo.wxRewardText\n\t\t\t\t\t\t\t)?.reply_id ;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!reply_id) {\n\t\t\t\t\t\t\treturn {code:200, message:\"赞赏文案添加失败,请重新检查\", data:\"\"}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}else if(_type === \"project\"){\n\t\t\t\t// 判断为公益捐赠\n\t\t\t}\n\t\t}\n\n\t}\n\t// 留言设置\n\tconst wxInteractionInfo = (() => {\n\t\tconst _wxInteraction = {\n\t\t\tneed_open_comment0: 0,\n\t\t\tonly_fans_can_comment0: 0,\n\t\t\tonly_fans_days_can_comment0: 0,\n\t\t\treply_flag0: 2,\n\t\t\tauto_elect_comment0: 0,\n\t\t\tauto_elect_reply0: 1,\n\t\t\topen_fansmsg0: 0\n\t\t};\n\n\t\tconst type = params?.settingInfo?.wxInteraction?.Type ?? \"\";\n\t\tif (type === \"public\") {\n\t\t\tconst _opt = params?.settingInfo?.wxInteraction?.Option;\n\t\t\tif (!_opt || !_opt.Comment || !_opt.reply || _opt.elect_comment == null || _opt.elect_reply == null) return null;\n\n\t\t\tconst commentType = userTypeMap[_opt.Comment];\n\t\t\tconst replyType = userTypeMap[_opt.reply] + 1;\n\n\t\t\t// 设置评论权限\n\t\t\t_wxInteraction.need_open_comment0 = 1;\n\t\t\tswitch (commentType) {\n\t\t\t\tcase 1:\n\t\t\t\t\t_wxInteraction.only_fans_can_comment0 = 0;\n\t\t\t\t\t_wxInteraction.only_fans_days_can_comment0 = 0;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\t_wxInteraction.only_fans_can_comment0 = 1;\n\t\t\t\t\t_wxInteraction.only_fans_days_can_comment0 = 0;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\t_wxInteraction.only_fans_can_comment0 = 0;\n\t\t\t\t\t_wxInteraction.only_fans_days_can_comment0 = 1;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// 设置回复权限等级\n\t\t\t_wxInteraction.reply_flag0 = replyType;\n\n\t\t\t// 精选功能\n\t\t\t_wxInteraction.auto_elect_comment0 = _opt.elect_comment ? userTypeMap[_opt.Comment] : 0;\n\t\t\t_wxInteraction.auto_elect_reply0 = _opt.elect_reply ? userTypeMap[_opt.reply] : 1;\n\n\t\t\treturn _wxInteraction;\n\t\t}\n\n\t\tif (type === \"private\") {\n\t\t\t_wxInteraction.open_fansmsg0 = 1;\n\t\t\treturn _wxInteraction;\n\t\t}\n\n\t\t// 其他未启用评论功能的情形\n\t\treturn _wxInteraction;\n\t})();\n\n\tif (!wxInteractionInfo) return { code: 200, message: \"互动参数设置错误,请检查参数设置!\", data: \"\" }\n\n\n\t// 4. 保存为草稿\n\tconst draftData = {\n\t\tlang: \"zh_CN\",\n\t\tf: \"json\",\n\t\tajax: 1,\n\t\tcount: 1,\n\t\toperate_from: \"Chrome\",\n\t\tisnew: 0,\n\t\tarticlenum: 1,\n\t\tpre_timesend_set: 0,\n\t\tis_finder_video0: 0,\n\t\tfinder_draft_id0: 0,\n\t\tapplyori0: 0,\n\t\tcan_reward0: writerid ? 1 : 0,\n\t\tpay_gifts_count0: 0,\n\t\tis_video_recommend0: -1,\n\t\twriterid0: writerid ? writerid : 0,\n\t\tauto_gen_digest0: 0,\n\t\tlast_choose_cover_from0: 0,\n\t\tneed_open_comment0: wxInteractionInfo.need_open_comment0 ,\n\t\tonly_fans_can_comment0: wxInteractionInfo.only_fans_can_comment0,\n\t\tonly_fans_days_can_comment0: wxInteractionInfo.only_fans_days_can_comment0,\n\t\treply_flag0: wxInteractionInfo.reply_flag0,\n\t\tauto_elect_comment0: wxInteractionInfo.auto_elect_comment0,\n\t\tauto_elect_reply0: wxInteractionInfo.auto_elect_reply0,\n\t\treward_reply_id0:params.settingInfo?.wxRewardText? reply_id ? reply_id : 0 : 0,\n\t\tnot_pay_can_comment0: 0,\n\t\tdata_seq: 0,\n\t\tmsg_index_id0: \"\",\n\n\t\ttoken: params.token,\n\t\tAppMsgId: params.appMsgId || \"\",\n\t\ttitle0: params.title,\n\t\tauthor0: params?.settingInfo?.wxAuthor || \"\" ,\n\t\tdigest0: params?.settingInfo?.wxAbstract || \"\",\n\t\tcontent0: content || \"\",\n\t\tsourceurl0: params?.settingInfo?.wxOriginalText || \"\",\n\t\tcdn_url0: coverRes[0].cdn_url || \"\",\n\t\tcopyright_type0: params?.settingInfo?.wxCopyright? 1 : 0,\n\t\tallow_reprint0: params?.settingInfo?.wxCopyright? 0 : '',\n\t\tallow_reprint_modify0: params?.settingInfo?.wxCopyright? 0 : '',\n\t\tori_white_list0: params?.settingInfo?.wxCopyright? oriWhitelist: '',\n\t\topen_fansmsg0: wxInteractionInfo.open_fansmsg0,\n\t\tallow_fast_reprint0: params?.settingInfo?.wxQuickReprint ? 1 : 0,\n\t\tdisable_recommend0: params?.settingInfo?.wxNotAllowRecommend ? 1 : 0,\n\t\tclaim_source_type0: params?.settingInfo?.wxCreationSource?.[0] || \"\",\n\n\t\tmasssend_check: 1,\n\t\tis_masssend: 1,\n\t};\n \n task._timerRecord['PrePublish']= Date.now();\n\n\tconst { appMsgId } = await http.api<{ appMsgId: string }>({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/operate_appmsg\",\n\t\tparams: {\n\t\t\ttoken: params.token,\n\t\t\tt: \"ajax-response\",\n\t\t\tsub: \"create\",\n\t\t\ttype: 77,\n\t\t\tlang: \"zh_CN\",\n\t\t},\n\t\tdata: generatorFormData(draftData),\n\t\tdefaultErrorMsg: \"创建草稿失败,请稍后重试发布。\",\n\t});\n\n\t// 如果只需要保存为草稿,直接返回 appMsgId\n\tif (params.saveType === \"draft\") {\n\t\treturn { code: 0, data: appMsgId, message: \"微信公众号保存草稿成功。\" };\n\t}\n\n\tconst masssendpage = () => {\n\t\treturn http.api<CommonResponse<{ operation_seq: string; quota_detail_list: QuotaDetail[] }>>({\n\t\t\tmethod: \"get\",\n\t\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssendpage\",\n\t\t\tparams: {\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\tf: \"json\",\n\t\t\t\tajax: 1,\n\t\t\t\tpreview_appmsgid: appMsgId,\n\t\t\t\tfingerprint,\n\t\t\t\trandom: Math.random().toString(),\n\t\t\t},\n\t\t\tdefaultErrorMsg: \"创建草稿失败,请稍后重试发布。\",\n\t\t});\n\t};\n\n\t// 4. 预览\n\tlet massSendRes = await masssendpage();\n\t// 判断是否需要同意群发声明\n\tif (massSendRes.base_resp?.ret === 154019) {\n\t\ttask.logger.info(\"需要同意群发声明\");\n\t\tawait http.api({\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://mp.weixin.qq.com/cgi-bin/setprotocolsign\",\n\t\t\tparams: {\n\t\t\t\tcgi: \"setprotocolsign\",\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\ttoken: params.token,\n\t\t\t},\n\t\t\tdata: generatorFormData({\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\tf: \"json\",\n\t\t\t\tajax: 1,\n\t\t\t\tfingerprint,\n\t\t\t\trandom: Math.random().toString(),\n\t\t\t\tissigned: 1,\n\t\t\t}),\n\t\t});\n\t\tmassSendRes = await masssendpage();\n\t}\n\n\t// 判断是否还有群发次数\n\tconst { operation_seq, quota_detail_list = [] } = massSendRes;\n\n\t// 群发时需要判断是否还有群发次数\n\tif (params.masssend) {\n\t\tconst quotaDetail = quota_detail_list.find((it) => it.quota_type === QuotaType.Normal);\n\t\tif (!quotaDetail?.quota_item_list[0]?.quota) {\n\t\t\treturn { code: 200, message: \"今日群发次数用尽,请明天再试。\", data: \"\" };\n\t\t}\n\t}\n\n\t// 非群发时会多一个接口\n\tif (!params.masssend) {\n\t\tawait http.api({\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssend\",\n\t\t\tparams: {\n\t\t\t\tt: \"ajax-response\",\n\t\t\t\tfor_check: 1,\n\t\t\t\tis_release_publish_page: 1,\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t},\n\t\t\tdata: generatorFormData({\n\t\t\t\tappmsgid: appMsgId,\n\t\t\t\tfingerprint,\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\tf: \"json\",\n\t\t\t\tajax: 1,\n\t\t\t}),\n\t\t});\n\t}\n\n\t// check\n\tawait http.api({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssend?action=check_same_material\",\n\t\tdata: generatorFormData({\n\t\t\tmsgid: appMsgId,\n\t\t\tfingerprint,\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\tf: \"json\",\n\t\t\tajax: 1,\n\t\t\trandom: Math.random().toString(),\n\t\t}),\n\t});\n\n\tconst copyrightStatData = {\n\t\ttoken: params.token,\n\t\tlang: \"zh_CN\",\n\t\tf: \"json\",\n\t\tajax: 1,\n\t\trandom: Math.random().toString(),\n\t\tfingerprint,\n\t\tfirst_check: 1,\n\t\ttype: 10,\n\t\tappmsgid: appMsgId,\n\t};\n\tfor (let i = 0; i < 10; i++) {\n\t\tawait sleep(1000);\n\t\tconst lastData = { ...copyrightStatData, first_check: i === 0 ? 1 : 0 };\n\t\tconst checkCopyrightStatRes = await checkCopyrightStat<{ open_ad_reprint_status?: string }>(http, params, lastData);\n\t\tif (checkCopyrightStatRes.open_ad_reprint_status) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tawait sleep(300);\n\n\tawait http.api({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssend\",\n\t\tparams: {\n\t\t\taction: \"check_ad\",\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t},\n\t\tdata: generatorFormData({\n\t\t\tappmsg_id: appMsgId,\n\t\t\tfingerprint,\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\tf: \"json\",\n\t\t\tajax: 1,\n\t\t\tis_release_publish_page: params.masssend ? 0 : 1, // 群发时为 0,否则为 1\n\t\t\tsend_time: params.settingInfo.timer ? params.settingInfo.timer : 0 ,\n\t\t\trandom: Math.random().toString(),\n\t\t}),\n\t});\n\n\tawait sleep(300);\n\n\tawait http.api({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssend\",\n\t\tparams: {\n\t\t\taction: \"check_music\",\n\t\t},\n\t\tdata: generatorFormData({\n\t\t\tappmsgid: appMsgId,\n\t\t\tmasssend_check: 1,\n\t\t\tfingerprint,\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\tf: \"json\",\n\t\t\tajax: 1,\n\t\t\trandom: Math.random().toString(),\n\t\t}),\n\t});\n\n\tawait sleep(300);\n\n\t// 5. 获取群发文章ticket接口\n\tconst getTicketResult = await http.api<{ ticket: string; operation_seq: string }>({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/misc/safeassistant\",\n\t\tparams: {\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\t1: 1,\n\t\t},\n\t\tdata: generatorFormData({\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\tf: \"json\",\n\t\t\tajax: 1,\n\t\t\taction: \"get_ticket\",\n\t\t\tfingerprint,\n\t\t\trandom: Math.random().toString(),\n\t\t}),\n\t\tdefaultErrorMsg: GET_QRCODE_DEFAULT_ERROR,\n\t});\n\n\tawait sleep(300);\n\n\t// 6. 获取群发文章 uuid\n\tconst getUuidResult = await http.api<{ uuid: string; genuuid_res: number }>({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/safe/safeqrconnect\",\n\t\tparams: {\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\t1: 1,\n\t\t},\n\t\tdata: generatorFormData({\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\tf: \"json\",\n\t\t\tajax: 1,\n\t\t\tstate: 0,\n\t\t\tlogin_type: \"safe_center\",\n\t\t\ttype: \"json\",\n\t\t\tticket: getTicketResult.ticket,\n\t\t\tfingerprint,\n\t\t\trandom: Math.random().toString(),\n\t\t}),\n\t\tdefaultErrorMsg: GET_QRCODE_DEFAULT_ERROR,\n\t});\n\tawait sleep(1000);\n\n\tif (getUuidResult.genuuid_res !== 0) {\n\t\treturn { code: 200, message: GET_QRCODE_DEFAULT_ERROR, data: \"\" };\n\t}\n\tconst uuid = getUuidResult.uuid;\n\tawait sleep(1000);\n \n\t// 7. 获取验证二维码\n\tconst qrcodeResult = await http.api({\n\t\tmethod: \"get\",\n\t\turl: \"https://mp.weixin.qq.com/safe/safeqrcode\",\n\t\tparams: {\n\t\t\taction: \"check\",\n\t\t\ttype: \"msgs\",\n\t\t\tservice_type: 1,\n\t\t\tticket: getTicketResult.ticket,\n\t\t\tuuid,\n\t\t\tmsgid: operation_seq,\n\t\t\topen_email: params.settingInfo.timer ? true : false,\n\t\t\t...(params.masssend ? {} : { publish_type: 1 }),\n\t\t},\n\t\tdefaultErrorMsg: GET_QRCODE_DEFAULT_ERROR,\n\t\tresponseType: \"arraybuffer\",\n\t});\n\n\tconst qrcodeBuffer = Buffer.from(qrcodeResult);\n\tconst qrcodeFilePath = path.join(tmpCachePath, `weixin_qrcode_${Date.now()}.jpg`);\n\tfs.writeFileSync(qrcodeFilePath, new Uint8Array(qrcodeBuffer));\n\n\tparams.safeQrcodeCallback?.(qrcodeFilePath);\n\n\t// 8. 验证二维码结果\n\tlet code = \"\";\n\tfor (let i = 0; i < scanRetryMaxCount; i++) {\n\t\tawait sleep(2000);\n\n\t\tconst checkScanResult = await http.api<{ code: string; errcode: number }>({\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://mp.weixin.qq.com/safe/safeuuid\",\n\t\t\tparams: {\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\ttimespam: Date.now(),\n\t\t\t},\n\t\t\tdata: generatorFormData({\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\tf: \"json\",\n\t\t\t\tajax: 1,\n\t\t\t\tuuid,\n\t\t\t\taction: \"json\",\n\t\t\t\ttype: \"json\",\n\t\t\t\tfingerprint,\n\t\t\t\trandom: Math.random().toString(),\n\t\t\t}),\n\t\t});\n\n\t\tif (checkScanResult.errcode === 405 && checkScanResult.code) {\n\t\t\tcode = checkScanResult.code;\n\t\t\tbreak;\n\t\t}\n\n\t\tif (i === scanRetryMaxCount - 1) {\n\t\t\treturn { code: 200, message: \"二维码已过期,请重试发布。\", data: \"\" };\n\t\t}\n\t}\n\n\t// 非群发时会多一个接口\n\tif (!params.masssend) {\n\t\tawait http.api({\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://mp.weixin.qq.com/misc/safeassistant\",\n\t\t\tparams: {\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\t1: 1,\n\t\t\t},\n\t\t\tdata: generatorFormData({\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\tf: \"json\",\n\t\t\t\tajax: 1,\n\t\t\t\tfingerprint,\n\t\t\t\trandom: Math.random().toString(),\n\t\t\t\taction: \"get_uuid\",\n\t\t\t\tuuid,\n\t\t\t}),\n\t\t});\n\t}\n \n const proxyHttp = task?.isBeta ?? false ? new Http({headers}, params.proxyLoc, params.huiwenToken ) : http;\n\t// 9. 发送群发通知\n\tawait proxyHttp.api<{ code: string; errcode: number; proxyInfo: Record<string, any>}>({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssend\",\n\t\tparams: {\n\t\t\tt: \"ajax-response\",\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\t...(params.masssend ? {\n\t\t\t\t...(params.settingInfo.timer ? {\n\t\t\t\t\taction: \"time_send\"\n\t\t\t\t}: {})\n\t\t\t} : { is_release_publish_page: 1 }),\n\t\t},\n\t\tdata: generatorFormData({\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\tf: \"json\",\n\t\t\tajax: \"1\",\n\t\t\tfingerprint,\n\t\t\trandom: Math.random().toString(),\n\t\t\tack: \"\",\n\t\t\tcode,\n\t\t\treprint_info: \"\",\n\t\t\treprint_confirm: \"0\",\n\t\t\tlist: \"\",\n\t\t\tgroupid: \"\",\n\t\t\tsex: \"0\",\n\t\t\tcountry: \"\",\n\t\t\tprovince: \"\",\n\t\t\tcity: \"\",\n\t\t\tsend_time: params.settingInfo.timer ? params.settingInfo.timer : \"0\",\n\t\t\ttype: \"10\",\n\t\t\tshare_page: \"1\",\n\t\t\tsynctxweibo: \"0\",\n\t\t\toperation_seq,\n\t\t\treq_id: randomString(32),\n\t\t\treq_time: new Date().getTime() + client_time_diff * 1e3,\n\t\t\tsync_version: \"1\",\n\t\t\tisFreePublish: params.masssend ? \"false\" : \"true\",\n\t\t\tappmsgid: appMsgId,\n\t\t\tisMulti: \"0\",\n\t\t\tdirect_send: \"1\",\n\t\t\tisNeedCode: \"true\",\n\t\t\tuserType: \"1\",\n\t\t}),\n\t\tdefaultErrorMsg: params.masssend ? \"文章群发异常,请尝试关闭群发或稍后重试。\" : \"文章发布异常,请稍后重试。\",\n\t});\n\n\treturn success(appMsgId, `微信公众号发布完成!`+ (proxyHttp.proxyInfo || \"\"));\n};\n","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport type { CookieMap, Response } from \"@iflyrpa/share\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\nimport axios from \"axios\";\n\nimport { copyHtmlToClipboard, parseUrlQueryString, PopupListener, TimeFormatter } from \"../../utils\";\nimport type { PublishAction } from \"./index\";\nimport { scanRetryMaxCount } from \"./utils\";\n\n// 等待二维码验证结果最长时间\nconst waitQrcodeResultMaxTime = scanRetryMaxCount * 2 * 1000;\n\nexport const rpaAction: PublishAction = async (task, params) => {\n\tconst tmpCachePath = task.getTmpPath();\n\n\tconst commonCookies: CookieMap[number] = {\n\t\tpath: \"/\",\n\t\tsecure: true,\n\t\tdomain: \"mp.weixin.qq.com\",\n\t\turl: \"https://mp.weixin.qq.com\",\n\t\thttpOnly: true,\n\t};\n\n\tconst urlParams = {\n\t\taction: \"edit\",\n\t\ttype: 77,\n\t\ttoken: params.token,\n\t\tlang: \"zh_CN\",\n\t\ttimestamp: Date.now(),\n\t\tappmsgid: params.appMsgId,\n\t};\n\n\tif (params.settingInfo?.wxRewardTarget){\n\t\tconst urlRewardParams = {\n\t\t\taction: \"inviteauthor\",\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t};\n\t\tconst wxRewardPage = await task.createPage({\n\t\t\tshow: task.debug,\n\t\t\turl:\n\t\t\t\tparams.url ||\n\t\t\t\t`https://mp.weixin.qq.com/cgi-bin/safecenterstatus?${Object.entries(urlRewardParams)\n\t\t\t\t\t.map((it) => it.join(\"=\"))\n\t\t\t\t\t.join(\"&\")}`,\n\t\t\tcookies: params.cookies?.map((it) => ({ ...commonCookies, ...it })) || [],\n\t\t});\n\n\t\tconst reward_page = wxRewardPage.locator(\"#app\")\n\t\tconst isAddRewarder = reward_page.locator('.author_card_bd.weui-desktop-vm_primary').filter({hasText: params.settingInfo.wxRewardTarget.author}).count()\n\t\tif(await isAddRewarder == 0){\n\t\t\tawait reward_page.locator('.weui-desktop-panel__hd-right').click()\n\t\t\ttry {\n\t\t\t\ttry {\n\t\t\t\t\tawait wxRewardPage.waitForSelector('.invite-qrcode', { state: 'visible', timeout: 20000 });\n\t\t\t\t\tconst qrcodeSrc = await reward_page.locator(\".invite-qrcode\").getAttribute('src')\n\n\t\t\t\t\tif (qrcodeSrc) {\n\t\t\t\t\t\tconst rewardBuffer = Buffer.from(qrcodeSrc.replace(/^data:image\\/\\w+;base64,/, ''), 'base64');\n\t\t\t\t\t\tconst rewardFilePath = path.join(tmpCachePath, \"weixin_reward.jpg\");\n\t\t\t\t\t\tfs.writeFileSync(rewardFilePath, new Uint8Array(rewardBuffer));\n\n\t\t\t\t\t\tparams.safeQrcodeCallback?.(rewardFilePath);\n\t\t\t\t\t}\n\n\t\t\t\t\t// await wxRewardPage.waitForSelector('[data-transfer=\"true\"]:not([weui=\"true\"])', { state: 'detached', timeout: 30000 });\n\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthrow new Error(\"二维码已过期,请重试绑定。\");\n\t\t\t\t}\n\n\t\t\t\tfor (let i = 0; i < scanRetryMaxCount; i++) {\n\t\t\t\t\tawait Promise.all([\n\t\t\t\t\t\twxRewardPage.reload(),\n\t\t\t\t\t\twxRewardPage.waitForLoadState('domcontentloaded')\n\t\t\t\t\t]);\n\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait wxRewardPage.waitForSelector(`.author_card_bd.weui-desktop-vm_primary:has-text(\"${params.settingInfo.wxRewardTarget?.author}\")`, { timeout: 1000 });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} catch (error) {}\n\n\t\t\t\t\tif (i === scanRetryMaxCount - 1) throw new Error(\"未确认绑定账户,请在手机端确认绑定并重试\");\n\t\t\t\t}\n\n\t\t\t} catch (error) {\n\t\t\t\tlet errorMessage = \"发生未知错误\";\n\t\t\t\tif (error instanceof Error) {\n\t\t\t\t\terrorMessage = error.message;\n\t\t\t\t} else if (typeof error === \"string\") {\n\t\t\t\t\terrorMessage = error;\n\t\t\t\t}\n\t\t\t\tawait wxRewardPage.close();\n\t\t\t\treturn { code: 200, message: errorMessage , data: \"\" };\n\t\t\t}\n\t\t}\n\n\t\tif(params.settingInfo.wxRewardText){\n\t\t\tawait wxRewardPage.locator('[href=\"/merchant/reward?action=getautoreply\"]').click()\n\t\t\tawait wxRewardPage.waitForLoadState('networkidle');\n\n\t\t\tconst isAddWord = reward_page.locator(\".auto-reply__list.edit .auto-reply__hd .auto-reply__text\").filter({hasText: new RegExp(`^${params.settingInfo.wxRewardText}$`) }).count()\n\n\t\t\tif(await isAddWord == 0){\n\t\t\t\tawait reward_page.locator(\".emotion_editor .edit_area\").fill(params.settingInfo.wxRewardText)\n\t\t\t\tawait reward_page.locator(\".emotion_editor .edit_area\").click()\n\t\t\t\tawait reward_page.locator(\".editor_toolbar .weui-desktop-btn.weui-desktop-btn_primary\").click()\n\t\t\t}\n\t\t}\n\t\tawait wxRewardPage.close();\n\n\t}\n\n\tconst page = await task.createPage({\n\t\tshow: task.debug,\n\t\turl:\n\t\t\tparams.url ||\n\t\t\t`https://mp.weixin.qq.com/cgi-bin/appmsg?${Object.entries(urlParams)\n\t\t\t\t.map((it) => it.join(\"=\"))\n\t\t\t\t.join(\"&\")}`,\n\t\tcookies: params.cookies?.map((it) => ({ ...commonCookies, ...it })) || [],\n\t});\n\n\t// 0. 校验登录\n\ttry {\n\t\tawait page.waitForSelector(\".weui-desktop-head\", { state: \"visible\" });\n\t} catch (error) {\n\t\treturn { code: 400, message: \"登录失效\", data: page.url() };\n\t}\n\n\t// 1. 等待编辑器加载出来\n\tawait page.waitForSelector(\"#editor_pannel\", { state: \"visible\" });\n\n\t//新功能更新监听\n\tPopupListener(page,'[v-transfer-dom=\"#vue_app\"] .weui-desktop-dialog',\"更新\", '[v-transfer-dom=\"#vue_app\"] .weui-desktop-icon-btn.weui-desktop-dialog__close-btn',\n\t{\n\t\tcheckInterval: 1000,\n\t\tstopAfterClick: false\n\t})\n\t//小店功能开通监听\n\tPopupListener(page,'[extclass=\"weui-desktop-dialog_simple\"] .weui-desktop-dialog',\"小店\", '[extclass=\"weui-desktop-dialog_simple\"] .weui-desktop-icon-btn.weui-desktop-dialog__close-btn',\n\t{\n\t\tcheckInterval: 1000,\n\t\tstopAfterClick: true\n\t})\n\n\t// 2. 填写标题\n\tconst titleInstance = page.locator(\"#js_title_main textarea#title\");\n\tawait titleInstance.click();\n\tawait titleInstance.fill(params.title);\n\n\t// 3. 填写作者\n\tif (params.settingInfo.wxAuthor) {\n\t\tconst titleInstance = page.locator(\"#js_author_area input#author\");\n\t\tawait titleInstance.click();\n\t\tawait titleInstance.fill(params.settingInfo.wxAuthor);\n\t}\n\n\t// 4. 填写正文\n\tawait copyHtmlToClipboard(page, params.content);\n\t// 定位目标元素并聚焦\n\tawait page.click(\".js_editor_area .ProseMirror\");\n\t// 模拟Ctrl+V粘贴\n\tawait page.keyboard.press(\"Control+V\");\n\n\t// 将设置区域滚动到可见区域\n\tawait page.locator(\"#article_setting_area\").evaluate((node) => node.scrollIntoView());\n\n\t// 5. 填写摘要\n\tif (params.settingInfo.wxAbstract) {\n\t\tconst titleInstance = page.locator(\"#article_setting_area #js_description_area textarea\");\n\t\tawait titleInstance.click();\n\t\tawait titleInstance.fill(params.settingInfo.wxAbstract);\n\t}\n\n\t// 6. 设置封面\n\tif (params.settingInfo.wxCover) {\n\t\tlet fileName = getFilenameFromUrl(params.settingInfo.wxCover);\n let ext = path.extname(fileName);\n fileName = ext ? fileName : `${fileName}.png`\n\t\tconst cover = await downloadImage(params.settingInfo.wxCover, path.join(tmpCachePath, fileName));\n\n\t\t// 从图片库选择\n\t\tawait page.locator(\"#article_setting_area #js_cover_area .select-cover__btn\").hover();\n\t\tawait page\n\t\t\t.locator(\"#article_setting_area #js_cover_area .pop-opr__group-select-cover .pop-opr__list .pop-opr__item\")\n\t\t\t.filter({ hasText: \"从图片库选择\" })\n\t\t\t.click();\n\n\t\t// 在弹窗内选择「我的图片」- 「上传文件」\n\t\t// 等待弹窗出现\n\t\tawait page.waitForSelector(\"#vue_app .weui-desktop-dialog\", { state: \"visible\" });\n\t\tconst dialog = page.locator(\"#vue_app .weui-desktop-dialog\");\n\t\t// 点击「我的图片」\n\t\tawait dialog.locator(\".weui-desktop-menu .weui-desktop-menu__item\").filter({ hasText: \"我的图片\" }).click();\n\t\tawait page.waitForTimeout(300);\n\t\t// 点击「上传文件」\n\t\tconst fileChooserPromise = page.waitForEvent(\"filechooser\");\n\t\tawait dialog.locator(\".weui-desktop-img-picker__list__area .js_upload_btn_container\").click();\n\t\tconst fileChooser = await fileChooserPromise;\n\t\tawait fileChooser.setFiles([cover]);\n\n\t\t// 等待图片上传完成\n\t\tawait page.waitForSelector(\".weui-desktop-img-picker__list .weui-desktop-img-picker__item.selected\", {\n\t\t\tstate: \"visible\",\n\t\t});\n\t\tawait page.waitForSelector('.weui-desktop-upload__file__progress', { state: 'detached' });\n\n\t\tconst pic_msg = page.locator('.weui-desktop-img-picker__list .weui-desktop-img-picker__item.selected .weui-desktop-upload__file__msg')\n\t\tif(await pic_msg.count() > 0) return {code: 200, message: \"图片上传错误:\"+(await pic_msg.textContent()||\"未知错误,请重试!\"), data: \"\"}\n\n\t\t// 选择下一步\n\t\tawait dialog\n\t\t\t.locator(\".weui-desktop-dialog__ft .weui-desktop-btn:not(.weui-desktop-btn_disabled)\")\n\t\t\t.filter({ hasText: \"下一步\" })\n\t\t\t.click();\n\t\t// 等待第二步的确认按钮出来\n\t\tawait dialog\n\t\t\t.locator(\".weui-desktop-dialog__ft .weui-desktop-btn\")\n\t\t\t.filter({ hasText: \"确认\" })\n\t\t\t.waitFor({ state: \"visible\" });\n\t\tawait dialog.locator(\".weui-desktop-dialog__ft .weui-desktop-btn\").filter({ hasText: \"确认\" }).click();\n\t}\n\n\t// 7. 原创与赞赏设置\n\tif(params.settingInfo.wxCopyright){\n\t\tawait page.locator('#js_original').click()\n\n\t\tconst ori_dialog = page.locator('.claim__original-dialog.original_dialog')\n\t\tconst ori_dialog_bd = ori_dialog.locator('.weui-desktop-dialog__bd')\n\t\tconst ori_dialog_ft = ori_dialog.locator('.weui-desktop-dialog__ft')\n\n\t\tawait ori_dialog_bd.locator('.weui-desktop-form__check-content').filter({hasText: \"文字原创\"}).click()\n\n\t\tif(params.settingInfo?.wxWhitelist){\n\n\t\t\tfor (var _target of params.settingInfo.wxWhitelist){\n\n\t\t\t\tawait ori_dialog_bd.locator('#js_article_whitelist_search').fill(_target)\n\t\t\t\tawait ori_dialog_bd.locator('.js_search').click()\n\t\t\t\tconst search_res = ori_dialog_bd.locator('#js_article_whitelist_search_result > div')\n\n\t\t\t\tawait page.waitForTimeout(1000);\n\n\t\t\t\tif( await search_res.getAttribute('class') !== 'search-result-title search-result-empty'){\n\n\t\t\t\t\tconst search_res_name = await search_res.locator('.search-result-name-left').textContent() || undefined\n\t\t\t\t\tawait search_res.click()\n\t\t\t\t\tconst whrite_list = ori_dialog_bd.locator('#js_article_whitelist_added tbody')\n\t\t\t\t\tconst white_td_isadd = await whrite_list.locator('.table-td-name').filter({hasText: search_res_name}).count()\n\n\t\t\t\t\tif (!white_td_isadd) {\n\t\t\t\t\t\treturn {code: 200 , message:'白名单添加失败,请重试!', data: ''}\n\t\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\treturn { code: 200, message: `白名单用户:${_target} 未搜索到,请确定输入是否正确!`, data: '' }\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\n\t\tif(params.settingInfo?.wxQuickReprint){\n\t\t\tconst btn_isChecked = await ori_dialog_bd.locator('//span[@class=\"frm_tips\"]').filter({ hasText: '已开启' }).count() == 1 ? true : false;\n\t\t\tif(!btn_isChecked) await ori_dialog_bd.locator('.weui-desktop-switch_loading .weui-desktop-switch__box').click()\n\t\t}\n\n\t\tconst checkbox = ori_dialog_ft.locator('.weui-desktop-icon-checkbox')\n\t\tif( !await checkbox.isChecked()) await checkbox.check()\n\t\tawait ori_dialog_ft.locator('.weui-desktop-btn.weui-desktop-btn_primary').click()\n\n\t\tif (params.settingInfo?.wxRewardTarget){\n\n\t\t\tawait page.locator('#js_reward_setting_area').click()\n\n\t\t\tconst reward_setting = page.locator('.reward-setting-dialog')\n\t\t\tconst reward_setting_bd = reward_setting.locator('.weui-desktop-dialog__bd')\n\t\t\tconst reward_setting_ft = reward_setting.locator('.weui-desktop-dialog__ft')\n\n\t\t\t//遍历绑定信息\n\t\t\tfor (var _type in params.settingInfo.wxRewardTarget){\n\t\t\t\tif (_type === \"author\"){\n\t\t\t\t\tlet userName = params.settingInfo.wxRewardTarget[_type]\n\n\t\t\t\t\tawait reward_setting_bd.locator('.weui-desktop-form__check-label', { hasText: '赞赏作者' }).click()\n\t\t\t\t\tawait reward_setting_bd.locator('.weui-desktop-form__input').fill(userName)\n\n\n\t\t\t\t\tif(params.settingInfo.wxRewardText) {\n\t\t\t\t\t\tconst reward_setting_replay = page.locator('.reward-reply-setting')\n\t\t\t\t\t\tconst switchAuto = reward_setting_replay.locator('.weui-desktop-switch__box')\n\n\t\t\t\t\t\tconst maxAttempts = 5;\n\t\t\t\t\t\tconst delayMs = 500;\n\t\t\t\t\t\tlet nowCheckTime = 0\n\n\t\t\t\t\t\tfor (let attempt = 0; attempt < maxAttempts; attempt++) {\n\t\t\t\t\t\t\tconst isDisabled = await switchAuto.isDisabled();\n\t\t\t\t\t\t\tif (!isDisabled){\n\t\t\t\t\t\t\t\tawait switchAuto.isChecked() ? nowCheckTime++ : null\n\t\t\t\t\t\t\t\tif (nowCheckTime == 2) break\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tif (attempt === maxAttempts - 1) throw new Error('Checkbox did not become enabled within the timeout.');\n\t\t\t\t\t\t\tawait new Promise(resolve => setTimeout(resolve, delayMs));\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\tconst isOneReplay = await reward_setting_replay.locator('.reward-reply-select__wrp >.reward-reply-select__tips').textContent() == \"添加新的回复\"\n\t\t\t\t\t\tconst isCurrentReplay = await reward_setting_replay.locator('.reward-reply-select__wrp >.reward-reply-select__display .wording').filter({hasText: new RegExp(`^${[params.settingInfo.wxRewardText]}$`)}).count() == 1\n\n\t\t\t\t\t\tif (!isOneReplay && !isCurrentReplay) {\n\t\t\t\t\t\t\tawait reward_setting_replay.locator('.reward-reply-select__wrp >.reward-reply-select__tips').click()\n\t\t\t\t\t\t\tawait reward_setting_replay.locator('.reward-reply-select__display.can-select .wording').filter({hasText: new RegExp(`^${[params.settingInfo.wxRewardText]}$`)}).click()\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\tawait reward_setting_bd.locator('.reward-reply-setting .weui-desktop-switch__input').isChecked() ? reward_setting_bd.locator('.reward-reply-setting .weui-desktop-switch__box').uncheck(): 0\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t\telse if (_type === \"project\"){}\n\t\t\t}\n\n\t\t\tconst checkbox = reward_setting_ft.locator('.weui-desktop-icon-checkbox')\n\t\t\tif( !await checkbox.isChecked()) await checkbox.check()\n\t\t\tawait reward_setting_ft.locator('.weui-desktop-btn.weui-desktop-btn_primary').click()\n\n\t\t}\n\n\t}\n\n\t// 8. 互动设置\n\tif(params.settingInfo?.wxInteraction){\n\t\tawait page.locator('.appmsg-editor__setting-group.js_interaction_cell').click()\n\t\tconst wxInteraction_setting = page.locator('.interaction-dialog')\n\t\tconst wxInteraction_bd = wxInteraction_setting.locator('.weui-desktop-dialog__bd')\n\t\tconst wxInteraction_ft = wxInteraction_setting.locator('.weui-desktop-dialog__ft')\n\n\t\tif(params.settingInfo.wxInteraction.Type == \"public\"){\n\t\t\tawait wxInteraction_bd.locator('.weui-desktop-form__check-label span', { hasText: /^(开启|留言)$/ }).click();\n\n\t\t\tconst comment_area = wxInteraction_bd.locator('.comment-options-block.pt0')\n\t\t\tconst reply_area = wxInteraction_bd.locator('.comment-options-block.bb0.pb0')\n\t\t\tconst commont_rply_opt = page.locator('.weui-desktop-popper.options-popover[x-placement=\"bottom\"]')\n\n\t\t\tawait comment_area.locator('.comment-options__selector-btn').click();\n\t\t\tawait commont_rply_opt.locator('.weui-desktop-form__check-label', { hasText: params.settingInfo.wxInteraction.Option?.Comment }).click();\n\n\t\t\tif(params.settingInfo.wxInteraction.Option?.elect_comment) {\n\t\t\t\tawait comment_area.locator('.weui-desktop-switch__box').check()\n\t\t\t}else{\n\t\t\t\tawait comment_area.locator('.weui-desktop-switch__input').isChecked() ? comment_area.locator('.weui-desktop-switch__box').uncheck(): 0\n\t\t\t}\n\n\t\t\tawait page.waitForTimeout(1000);\n\n\t\t\tawait reply_area.locator('.comment-options__selector-btn').click();\n\t\t\tawait commont_rply_opt.locator('.weui-desktop-form__check-label', { hasText: params.settingInfo.wxInteraction.Option?.reply }).click();\n\n\t\t\tif(params.settingInfo.wxInteraction.Option?.elect_reply) {\n\t\t\t\tawait reply_area.locator('.weui-desktop-switch__box').check()\n\t\t\t}else{\n\t\t\t\tawait reply_area.locator('.weui-desktop-switch__input').isChecked() ? reply_area.locator('.weui-desktop-switch__box').uncheck(): 0\n\t\t\t}\n\t\t}else if(params.settingInfo.wxInteraction.Type == \"private\"){\n\t\t\tawait wxInteraction_bd.locator('.weui-desktop-form__check-label span', { hasText: /^(快捷私信|不开启)$/ }).click();\n\t\t}\n\n\t\tawait wxInteraction_ft.locator('.weui-desktop-btn.weui-desktop-btn_primary').click()\n\t}\n\n\t// 9. 原文链接\n\tif (params.settingInfo.wxOriginalText) {\n\t\tawait page.locator(\"#js_article_url_area .allow_click_opr\").click();\n\t\tawait page.waitForTimeout(200);\n\t\tconst poperInstance = page.locator('.popover:not([style*=\"display: none\"])');\n\t\tconst poperInput = poperInstance.locator(\"input.weui-desktop-form__input.js_url\");\n\t\tawait poperInput.fill(params.settingInfo.wxOriginalText);\n\t\tawait poperInstance.locator(\".popover_bar .btn_primary\").click();\n\t}\n\n\t// 10. 创作来源\n\tif (params.settingInfo.wxCreationSource && params.settingInfo.wxCreationSource.length > 0) {\n\t\tconst source = params.settingInfo.wxCreationSource[0];\n\t\tawait page.locator(\"#js_claim_source_area .allow_click_opr\").click();\n\t\tawait page.waitForTimeout(200);\n\t\tconst poperInstance = page.locator('.popover:not([style*=\"display: none\"])');\n\t\tawait poperInstance.locator(`.frm_radio_item label[for=\"${source}\"]`).click();\n\t}\n\n\t// 11. 关闭平台推荐\n\tif (params.settingInfo.wxNotAllowRecommend === true) {\n\t\tawait page.locator(\"#js_not_recommend_area .allow_click_opr\").click();\n\t\tawait page.waitForTimeout(200);\n\t\tconst poperInstance = page.locator('.popover:not([style*=\"display: none\"])');\n\t\tawait poperInstance.locator('.frm_radio_item label[for=\"not_recomment_0\"]').click();\n\t}\n\n\tawait page.waitForTimeout(1000);\n task._timerRecord['PrePublish']= Date.now();\n\n\t// 12. 发布\n\tconst articleId = await new Promise<string>(async (resolve) => {\n\t\t// 定义响应处理函数\n\t\tconst handleResponse = async (response: Response) => {\n\t\t\tconst url = response.url();\n\t\t\tconst query = parseUrlQueryString(url);\n\t\t\tif (url.includes(\"/cgi-bin/operate_appmsg\") && query?.t === \"ajax-response\") {\n\t\t\t\tconst jsonResponse = await response.json();\n\t\t\t\tpage.off(\"response\", handleResponse);\n\t\t\t\tresolve(jsonResponse?.appMsgId);\n\t\t\t}\n\t\t};\n\n\t\t// 开始监听响应事件\n\t\tpage.on(\"response\", handleResponse);\n\n\t\t// 点击发表\n\t\tpage.locator(\"#editor_pannel #bottom_main #js_button_area #js_send button\").click();\n\t\tawait page.waitForTimeout(200);\n\n\t\tif (params.settingInfo.timer) {\n\t\t\tawait page.locator(\".mass-send .mass-send__td-setting\", {hasText: \"定时发表\"}).locator(\".weui-desktop-switch__box\").check();\n\t\t\tlet dateD = Number(TimeFormatter.format(params.settingInfo.timer, \"d\"));\n\t\t\tlet nowD = Number(TimeFormatter.format(Date.now(), \"d\"));\n\n\t\t\tawait page.locator(\".mass-send__timer .weui-desktop-form__dropdown__dt\").click();\n\t\t\tconst dropMenu = page.locator(\".mass-send__timer .weui-desktop-dropdown-menu\").locator(\".weui-desktop-dropdown__list-ele\")\n\t\t\tawait dropMenu.filter({hasText: dateD == nowD ? \"今天\" : dateD == nowD + 1 ? \"明天\" : TimeFormatter.format(params.settingInfo.timer, \"M月d日\")}).click();\n\n\t\t\tconst timeDropMenu = page.locator(\".mass-send__timer .weui-desktop-picker__time:visible\")\n\t\t\tawait timeDropMenu.locator(\".weui-desktop-form__input\").fill(TimeFormatter.format(params.settingInfo.timer, \"hh:mm\"));\n\t\t\tawait timeDropMenu.locator(\"i.weui-desktop-icon__time\").click();\n\n\t\t}\n\t});\n\tawait page.waitForTimeout(200);\n\n\tif(params.masssend){\n\t\tconst times = Number(await page.locator(\".mass-send .multi-sent__notice_time\").locator('div[style=\"display: none;\"] div:not([style*=\"display: none\"]) span').textContent())\n\t\tif( times==0 ) return { code: 200, message: \"今日群发次数用尽,请明天再试。\", data: \"\" };\n\t\tawait page.locator(\".mass-send .mass_send__notify\").locator(\".weui-desktop-switch__box\").check();\n\t}else{\n\t\tawait page.locator(\".mass-send .mass_send__notify\").locator(\".weui-desktop-switch__box\").uncheck();\n\t}\n\n\tawait page.waitForTimeout(200);\n\n\t// 再次点击发表\n\tawait page.waitForSelector('.new_mass_send_dialog .weui-desktop-dialog__wrp:not([style*=\"display: none\"])', {state: \"visible\"});\n\tawait page.locator(\".new_mass_send_dialog .weui-desktop-dialog .weui-desktop-dialog__ft button.weui-desktop-btn_primary\").click();\n\n\t// 点击继续发表\n\tawait page.waitForSelector('.double_check_dialog .weui-desktop-dialog__wrp:not([style*=\"display: none\"])', {state: \"visible\",});\n\tawait page.locator(\".double_check_dialog .weui-desktop-dialog .weui-desktop-dialog__ft button.weui-desktop-btn_primary\").click();\n\n\tawait page.waitForTimeout(2000);\n\n\t// 原创校验弹窗\n\tconst originalCheckDialog = page.locator('div[data-transfer=\"true\"][width\\\\.number=\"800\"][height\\\\.number=\"800\"] .weui-desktop-dialog__title')\n\tif((await originalCheckDialog.count() > 0) ){\n\t\tif (await originalCheckDialog.textContent() === \"原创校验\"){\n\t\t\tconst popMassend = page.locator('div[data-transfer=\"true\"][width\\\\.number=\"800\"][height\\\\.number=\"800\"]')\n\t\t\tawait popMassend.locator(\".weui-desktop-btn_primary\",{hasText: \"下一步\"}).click();\n\t\t\tawait popMassend.locator(\".weui-desktop-btn_primary\",{hasText: \"继续\"}).click();\n\t\t}\n\t}\n\n\n\ttry {\n\t\tconst startTime = Date.now();\n\n\t\t// biome-ignore lint/suspicious/noAsyncPromiseExecutor: <explanation>\n\t\tawait new Promise<void>(async (resolve, reject) => {\n\t\t\t// 定义响应处理函数\n\t\t\tconst handleResponse = async (response: Response) => {\n\t\t\t\tif (response.url().includes(\"/safe/safeuuid\")) {\n\t\t\t\t\tconst jsonResponse = await response.json();\n\t\t\t\t\tif (jsonResponse.errcode === 405) {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t\tpage.off(\"response\", handleResponse);\n\t\t\t\t\t} else if (Date.now() - startTime > waitQrcodeResultMaxTime) {\n\t\t\t\t\t\treject();\n\t\t\t\t\t\tpage.off(\"response\", handleResponse);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// 开始监听响应事件\n\t\t\tpage.on(\"response\", handleResponse);\n\n\t\t\t// 获取微信验证二维码\n\t\t\tawait page.waitForSelector(\".dialog .js_wxchecks.safe_check img.qrcode.js_qrcode\", {\n\t\t\t\tstate: \"visible\",\n\t\t\t});\n\t\t\tconst qrcodeSrc = await page\n\t\t\t\t.locator(\".dialog .js_wxchecks.safe_check img.qrcode.js_qrcode\")\n\t\t\t\t.first()\n\t\t\t\t.getAttribute(\"src\");\n\t\t\tif (qrcodeSrc) {\n\t\t\t\tconst imgUrl = new URL(qrcodeSrc, page.url()).href; // 处理相对路径\n\t\t\t\tconst response = await axios({\n\t\t\t\t\tmethod: \"get\",\n\t\t\t\t\turl: imgUrl,\n\t\t\t\t\tresponseType: \"arraybuffer\", // 确保接收二进制数据\n\t\t\t\t});\n\t\t\t\t// 保存文件\n\t\t\t\tconst qrcodeFilePath = path.join(tmpCachePath, \"weixin_qrcode.jpg\");\n\t\t\t\tfs.writeFileSync(qrcodeFilePath, response.data);\n\t\t\t\tparams.safeQrcodeCallback?.(qrcodeFilePath);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"qrcodeSrc is empty\");\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\tawait page.close();\n\t\treturn { code: 500, message: \"群发二维码已过期,请重试发布。\", data: \"\" };\n\t}\n\n\tawait page.waitForTimeout(3000);\n\tawait page.close();\n\n\treturn success(articleId);\n};\n","import type { CommonAction } from \"@iflyrpa/share\";\n\nimport type { ActiomCommonParams } from \"../../types\";\nimport { defaultParams, executeAction } from \"../../utils\";\nimport { mockAction } from \"./mock\";\nimport { rpaAction } from \"./rpa\";\n\nexport interface WxInteraction {\n\tType: \"public\" | \"private\" | \"off\"; // public:评论留言, priviate: 快捷私信, off: 不开启\n\tOption?: { // public下相关设置\n\t Comment: \"已关注7天及以上的用户\" | \"已关注的用户\" | \"所有用户\"; // 评论设置\n\t reply: \"已关注7天及以上的用户\" | \"已关注的用户\" | \"所有用户\"; // 回复设置\n\t elect_comment: boolean; // 是否开启精选评论\n\t elect_reply: boolean; // 是否开启精选回复\n\t};\n }\n\nexport interface WeixinPublishParams extends ActiomCommonParams {\n\tsaveType: \"draft\" | \"publish\"; // 保存成草稿 / 发布\n\tmasssend?: boolean; // 是否群发(默认开启群发)\n\ttoken: string | number;\n\ttitle: string; // 标题\n\tcontent: string; // 正文内容\n\tuuid?: string;\n\tappMsgId?: string;\n\toperation_seq?: string;\n proxyLoc?: string; // 代理位置\n huiwenToken?: string; // 绘文token\n\tsettingInfo: {\n\t\twxCover: string; // 封面\n\t\twxAuthor?: string; // 作者\n\t\twxAbstract?: string; // 摘要\n\t\twxOriginalText?: string; // 原文链接\n\t\twxCopyright?: boolean, // 版权声明\n\t\twxWhitelist?: string[]; // 转载白马名单\n\t\twxRewardTarget?: Record<string, string>; // 赞赏目标与ID\n\t\twxRewardText?: string; // 赞赏文案\n\t\twxQuickReprint?: boolean; // 快捷转载\n\t\twxNotAllowRecommend?: boolean; // 不允许被平台推荐\n\t\twxCreationSource?: string[]; // 创作来源\n\t\twxInteraction?: WxInteraction // 互动设置\n\t\ttimer?: number; // 定时发文时间\n\t};\n\tsafeQrcodeCallback?: (qrcodePath: string) => void; // 二维码验证回调\n}\n\nexport interface WxWhitelistUserInfo {\n\tnickname: string;\n\topenid: string; // 微信常用字段命名可能是 open_id\n\tusername: string;\n\twx_name: string;\n\tpic_url: string;\n}\n\nexport type PublishAction = CommonAction<WeixinPublishParams, string>;\n\nexport const weixinPublish: PublishAction = async (task, _params) => {\n\tconst params = defaultParams(_params, { masssend: true });\n\n\tif (params.actionType === \"rpa\") {\n\t\treturn rpaAction(task, params);\n\t}\n\n\tif (params.actionType === \"mockApi\") {\n\t\treturn mockAction(task, params);\n\t}\n\n\treturn executeAction(mockAction, rpaAction)(task, params);\n};\n","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\nimport FormData from \"form-data\";\n\nimport type { PublishAction, WeixinmpPublishParams } from \".\";\nimport type { Weixin } from \"../../types\";\nimport type { AspectRatio } from \"../../utils\";\nimport { calculateCropCoordinates, getFileState } from \"../../utils\";\nimport { Http } from \"../../utils/http\"\n\ntype ColorResponse = {\n\twidth: number;\n\theight: number;\n\ttheme_color: { r: number; g: number; b: number };\n};\ntype ShareInamgeInfo = {\n\tcdn_url: string;\n\tdisable_live: 0;\n\tdisable_theme: 1;\n\tfile_id: number;\n\twidth: number;\n\theight: number;\n\ttheme_color: string;\n\turl: string;\n};\n\nconst saveDraft = (\n\thttp: Http,\n\tparams: WeixinmpPublishParams,\n\tdata: Record<string, unknown>,\n) => {\n\tconst formData = new FormData();\n\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tformData.append(key, value);\n\t}\n\n\treturn http.api({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/operate_appmsg\",\n\t\tparams: {\n\t\t\ttoken: params.token,\n\t\t\tt: \"ajax-response\",\n\t\t\tsub: \"update\",\n\t\t\ttype: 77,\n\t\t\tlang: \"zh_CN\",\n\t\t},\n\t\tdata: formData,\n\t});\n};\n\nexport const mockAction: PublishAction = async (task, params) => {\n\tconst tmpCachePath = task.getTmpPath();\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\torigin: \"https://mp.weixin.qq.com\",\n\t\t\treferer: `https://mp.weixin.qq.com/cgi-bin/appmsg?token=${params.token}&lang=zh_CN`,\n\t\t},\n\t});\n\n\t// 1. 上传图片\n\tconst shareImageInfos: ShareInamgeInfo[] = [];\n\tconst cropResult: Record<string, string> = {};\n\n\tif (params.banners && params.banners.length > 0) {\n\t\t// 下载图片到本地\n\t\tconst images = await Promise.all(\n\t\t\tparams.banners.map((url) => {\n\t\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t\t}),\n\t\t);\n\n\t\tfor (let index = 0; index < images.length; index++) {\n\t\t\tconst image = images[index];\n\t\t\tconst fileState = getFileState(image);\n\n\t\t\tconst formData = new FormData();\n\t\t\tformData.append(\"id\", `WU_FILE_${index + 1}`);\n\t\t\tformData.append(\"name\", fileState.name);\n\t\t\tformData.append(\"type\", fileState.type);\n\t\t\tformData.append(\"lastModifiedDate\", fileState.lastModifiedDate);\n\t\t\tformData.append(\"size\", fileState.size);\n\t\t\tformData.append(\"file\", fs.createReadStream(image));\n\n\t\t\tconst response = await http.api<{ cdn_url: string; content: string }>({\n\t\t\t\tmethod: \"post\",\n\t\t\t\turl: `https://mp.weixin.qq.com/cgi-bin/filetransfer?action=upload_material&f=json&writetype=doublewrite&token=${params.token}&lang=zh_CN`,\n\t\t\t\tdata: formData,\n\t\t\t});\n\n\t\t\t// 获取图片的主题色\n\t\t\tconst colorResponseData = await http.api<ColorResponse>({\n\t\t\t\tmethod: \"get\",\n\t\t\t\turl: \"https://mp.weixin.qq.com/cgi-bin/filepage\",\n\t\t\t\tparams: {\n\t\t\t\t\taction: \"getimgext\",\n\t\t\t\t\tfileid: response.content,\n\t\t\t\t\ttoken: params.token,\n\t\t\t\t\tlang: \"zh_CN\",\n\t\t\t\t\tf: \"json\",\n\t\t\t\t\tajax: 1,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tconst themeColor = colorResponseData.theme_color;\n\n\t\t\tshareImageInfos.push({\n\t\t\t\tcdn_url: response.cdn_url,\n\t\t\t\tdisable_live: 0,\n\t\t\t\tdisable_theme: 1,\n\t\t\t\tfile_id: Number(response.content),\n\t\t\t\twidth: colorResponseData.width,\n\t\t\t\theight: colorResponseData.height,\n\t\t\t\ttheme_color: `rgb(${themeColor.r},${themeColor.g},${themeColor.b})`,\n\t\t\t\turl: response.cdn_url,\n\t\t\t});\n\n\t\t\t// 第一张图片还需要添加头图裁切\n\t\t\tif (index === 0) {\n\t\t\t\tconst cropFormData = new FormData();\n\t\t\t\tcropFormData.append(\"imgurl\", response.cdn_url);\n\n\t\t\t\t// 需要裁切 16:9,3:4,1:1 三种尺寸的图片\n\t\t\t\tconst cropRatios: AspectRatio[] = [\n\t\t\t\t\t[16, 9],\n\t\t\t\t\t[1, 1],\n\t\t\t\t\t[3, 4],\n\t\t\t\t];\n\t\t\t\tcropFormData.append(\"size_count\", cropRatios.length);\n\t\t\t\tconst cropCoordinates = cropRatios.map((r, idx) => {\n\t\t\t\t\tconst cropCoordinate = calculateCropCoordinates(\n\t\t\t\t\t\tcolorResponseData.width,\n\t\t\t\t\t\tcolorResponseData.height,\n\t\t\t\t\t\tr,\n\t\t\t\t\t);\n\t\t\t\t\tcropFormData.append(`size${idx}_x1`, cropCoordinate.x1);\n\t\t\t\t\tcropFormData.append(`size${idx}_y1`, cropCoordinate.y1);\n\t\t\t\t\tcropFormData.append(`size${idx}_x2`, cropCoordinate.x2);\n\t\t\t\t\tcropFormData.append(`size${idx}_y2`, cropCoordinate.y2);\n\n\t\t\t\t\treturn { ratio: `${r[0]}_${r[1]}`, ...cropCoordinate };\n\t\t\t\t});\n\n\t\t\t\tcropFormData.append(\"token\", params.token);\n\t\t\t\tcropFormData.append(\"lang\", \"zh_CN\");\n\t\t\t\tcropFormData.append(\"f\", \"json\");\n\t\t\t\tcropFormData.append(\"ajax\", 1);\n\n\t\t\t\tconst cropResponse = await http.api<{ result: Weixin.WeiXinCropResult[] }>({\n method: \"post\",\n url: \"https://mp.weixin.qq.com/cgi-bin/cropimage?action=crop_multi\",\n data: cropFormData\n });\n\n\t\t\t\tcropResult.cdn_url_back0 = response.cdn_url; // 原图\n\t\t\t\tcropResult.cdn_url0 = cropResponse.result[0].cdnurl; // 16:9\n\t\t\t\tcropResult.cdn_235_1_url0 = cropResponse.result[0].cdnurl; // 16:9\n\t\t\t\tcropResult.cdn_16_9_url0 = cropResponse.result[0].cdnurl; // 16:9\n\t\t\t\tcropResult.cdn_1_1_url0 = cropResponse.result[1].cdnurl; // 1:1\n\t\t\t\tcropResult.cdn_3_4_url0 = cropResponse.result[2].cdnurl; // 3:4\n\t\t\t\tcropResult.crop_list0 = JSON.stringify({\n\t\t\t\t\tcrop_list: cropCoordinates.map((it, idx) => ({\n\t\t\t\t\t\tfile_id: cropResponse.result[idx].file_id,\n\t\t\t\t\t\tratio: it.ratio,\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\ty2: 0,\n\t\t\t\t\t})),\n\t\t\t\t\tcrop_list_percent: cropCoordinates.map((it, idx) => ({\n\t\t\t\t\t\t...it,\n\t\t\t\t\t\tfile_id: cropResponse.result[idx].file_id,\n\t\t\t\t\t})),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t// 保存\n\tconst res = await saveDraft(http, params, {\n\t\t...cropResult,\n\t\ttoken: params.token,\n\t\tlang: \"zh_CN\",\n\t\tf: \"json\",\n\t\tajax: 1,\n\t\toperate_from: \"Chrome\",\n\t\ttitle0: params.title,\n\t\tcontent0: params.content,\n\t\tshare_imageinfo0: JSON.stringify(shareImageInfos),\n\t});\n\n return success(res)\n};\n","import path from \"node:path\";\nimport type { CookieMap } from \"@iflyrpa/share\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\n\nimport type { PublishAction, Source } from \"./index\";\n\nconst sourceText: Record<Source, string> = {\n\tai: \"内容由AI生成\",\n\tofficial: \"素材来源官方媒体/网络新闻\",\n\tfictional: \"内容剧情演绎,仅供娱乐\",\n\tpersonal: \"个人观点,仅供参考\",\n};\n\nexport const rpaAction: PublishAction = async (task, params) => {\n\tconst commonCookies: CookieMap[number] = {\n\t\tpath: \"/\",\n\t\tsecure: true,\n\t\tdomain: \"mp.weixin.qq.com\",\n\t\turl: \"https://mp.weixin.qq.com\",\n\t\thttpOnly: true,\n\t};\n\n\tconst page = await task.createPage({\n\t\tshow: task.debug,\n\t\turl:\n\t\t\tparams.url ||\n\t\t\t`https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit_v2&action=edit&isNew=1&type=77&createType=8&token=${params.token}&lang=zh_CN`,\n\t\tcookies: params.cookies?.map((it) => ({ ...commonCookies, ...it })) || [],\n\t});\n\n\tconst tmpCachePath = task.getTmpPath();\n\n\t// 0. 判断是否登录\n\ttry {\n\t\tawait page.waitForSelector(\"#editor_pannel\");\n\t} catch (error) {\n\t\treturn { code: 500, message: \"登录失效\", data: page.url() };\n\t}\n\n\tconst container = page.locator(\"#editor_pannel\");\n\n\t// 1. 添加图片\n\tif (params.banners && params.banners.length > 0) {\n\t\tconst images = await Promise.all(\n\t\t\tparams.banners.map((url) => {\n\t\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t\t}),\n\t\t);\n\n\t\t// 选择文件\n\t\tconst fileChooserPromise = page.waitForEvent(\"filechooser\");\n\t\tawait container.locator(\".image-selector__add\").hover();\n\t\tawait container\n\t\t\t.locator(\".image-selector__add .pop-opr__list .pop-opr__item\")\n\t\t\t.filter({ hasText: \"本地上传\" })\n\t\t\t.click();\n\t\tconst fileChooser = await fileChooserPromise;\n\t\tawait fileChooser.setFiles(images);\n\t}\n\n\t// 2. 标题\n\tconst titleInstance = page.locator(\"#js_title_main textarea#title\");\n\tawait titleInstance.click();\n\tawait titleInstance.fill(params.title);\n\n\t// 3. 正文\n\tconst descInstance = page.locator(\"#guide_words_main .ProseMirror\");\n\tawait descInstance.click();\n\tawait descInstance.fill(params.content);\n\n\t// 4. 来源\n\tif (params.source) {\n\t\tawait container.locator(\"#js_claim_source_area .js_claim_source_desc\").click();\n\t\tawait page\n\t\t\t.locator(\".popover_article_claim_source .frm_radio_item label\")\n\t\t\t.filter({ hasText: sourceText[params.source] })\n\t\t\t.click();\n\t}\n\n\t// 5. 等待所有图片上传完成\n\tif (params.banners && params.banners.length > 0) {\n\t\tawait page.waitForSelector(\"#editor_pannel .image-selector .image-selector__preview\");\n\t}\n\n\t// 6. 保存\n\tif (params.draft) {\n\t\tawait container.locator(\"#bottom_main #js_submit button\").click();\n\t} else {\n\t\tawait container.locator(\"#bottom_main #js_send button\").click();\n\t}\n\n\treturn success(\"\");\n};\n","import type { CommonAction } from \"@iflyrpa/share\";\n\nimport type { ActiomCommonParams } from \"../../types\";\nimport { executeAction } from \"../../utils\";\nimport { mockAction } from \"./mock\";\nimport { rpaAction } from \"./rpa\";\n\nexport type Source = \"ai\" | \"official\" | \"fictional\" | \"personal\";\n\nexport interface WeixinmpPublishParams extends ActiomCommonParams {\n\ttoken: string | number;\n\tbanners?: string[];\n\ttitle: string; // 标题\n\tcontent: string; // 正文\n\t/**\n\t * 内容由AI生成 - ai\n\t * 素材来源官方媒体/网络新闻 - official\n\t * 内容剧情演绎,仅供娱乐 - fictional\n\t * 个人观点,仅供参考 - personal\n\t */\n\tsource?: Source; // 来源\n\tdraft?: boolean; // 是否为草稿\n}\n\nexport type PublishAction = CommonAction<WeixinmpPublishParams>;\n\nexport const weixinmpPublish: PublishAction = async (task, params) => {\n\tif (params.actionType === \"rpa\") {\n\t\treturn rpaAction(task, params);\n\t}\n\n\tif (params.actionType === \"mockApi\") {\n\t\treturn mockAction(task, params);\n\t}\n\n\treturn executeAction(mockAction, rpaAction)(task, params);\n};\n","import fs from \"node:fs\";\n\nimport path from \"node:path\";\nimport {downloadImage, getFilenameFromUrl, success} from \"@iflyrpa/share\";\nimport {type PublishAction} from \".\";\nimport {Http} from \"../../utils/http\";\nimport {Xhshow} from \"../../utils/xhsXsEncrypt\";\nconst GenXSCommon = require(\"../../utils/XhsXsCommonEnc.js\") as (a1cookie: string, x_t: string|number, x_s:string) => string;\n\ninterface CommonResponse<T = unknown> {\n data: T;\n proxyInfo?: Record<string, any>\n code: number;\n success: boolean;\n}\n\ninterface UploadTempPermit<T = string[]> {\n bucket: string;\n uploadAddr: string;\n fileIds: T;\n token: string;\n}\n\nconst errnoMap: Record<number, string> = {\n 915: \"所属C端账号手机号被修改,请重新登录\",\n 914: \"所属C端账号密码被修改,请重新登录\",\n 903: \"账户已登出,需重新登陆重试!\",\n 902: \"登录已过期,请重新登录!\",\n 906: \"账号存在风险,请重新登录\"\n};\n\n// 小红书参数加密器\nconst xsEncrypt = new Xhshow();\n\nexport const mockAction: PublishAction = async (task, params) => {\n const tmpCachePath = task.getTmpPath();\n\n const a1Cookie = params.cookies.find((it) => it.name === \"a1\")?.value;\n if (!a1Cookie) {\n return {code: 200, message: \"账号数据异常,请重新绑定账号后重试。\", data: \"\"};\n }\n const headers = {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n origin: \"https://creator.xiaohongshu.com\",\n referer: \"https://creator.xiaohongshu.com/\",\n \"user-agent\":\n \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36\",\n }\n const http = new Http({headers});\n\n // 添加响应拦截器\n http.addResponseInterceptor<CommonResponse>((response) => {\n const responseData = response.data;\n\n // 检查响应中的 errno 字段\n if (responseData?.code && responseData.code !== 0) {\n const errmsg = errnoMap[responseData.code] || response.config.defaultErrorMsg || \"文章发布异常,请稍后重试。\";\n\n return {\n code: errnoMap[responseData.code] ? 200 : 500,\n message: errmsg,\n data: responseData\n };\n }\n });\n \n // 0. 获取上传 token\n const fetchCoverUrl = `/api/media/v1/upload/creator/permit`;\n const fetchCoverParams = {\n biz_name: \"spectrum\", \n scene: \"image\", \n file_count: params.banners.length,\n version: 1, \n source: \"web\"\n }\n const xt = Date.now().toString();\n const xs = xsEncrypt.signXsGet(fetchCoverUrl, a1Cookie, \"xhs-pc-web\", fetchCoverParams);\n const coverIdInfo = await http.api<CommonResponse<{ uploadTempPermits: UploadTempPermit[] }>>({\n method: \"get\",\n baseURL: \"https://creator.xiaohongshu.com\",\n url: fetchCoverUrl,\n defaultErrorMsg: \"获取小红书用户信息失败,请稍后重试发布。\",\n headers: {\"x-s\": xs, \"x-t\": xt},\n params: fetchCoverParams\n });\n\n let uploadInfos: UploadTempPermit<string>[] = [];\n coverIdInfo.data.uploadTempPermits.forEach((item: UploadTempPermit<string[]>) => {\n item.fileIds.forEach(fileId => {\n uploadInfos.push({\n bucket: item.bucket || \"\",\n uploadAddr: item.uploadAddr || \"\",\n fileIds: fileId,\n token: item.token || \"\"\n });\n });\n });\n\n\n if (uploadInfos.length < params.banners.length) return {code: 200, message: \"可用 OSS bucket 数量不足,无法上传所有图片!\", data: \"\"};\n\n if (uploadInfos.length === 0) return {code: 200, message: \"图片上传失败,请稍后重试!\", data: \"\"};\n\n const availableBuckets = Array.from({length: uploadInfos.length}, (_, i) => i);\n\n const uploadFile = async (url: string, index: number): Promise<{\n ossFileId: string;\n ossToken: string;\n }> => {\n const fileName = getFilenameFromUrl(url);\n const localUrl = await downloadImage(url, path.join(tmpCachePath, fileName));\n const fileBuffer = fs.readFileSync(localUrl);\n\n const MAX_RETRIES = uploadInfos.length;\n let attempt = 0;\n\n while (attempt < MAX_RETRIES) {\n // 分配 bucket\n const ossBucketIndex = availableBuckets.shift(); // 移除并获取第一个可用 bucket\n\n if (ossBucketIndex === undefined) {\n return {ossFileId: \"\", ossToken: \"\"}; // 没有可用 bucket\n }\n\n const currentInfo = uploadInfos[ossBucketIndex];\n const ossFileId = currentInfo.fileIds;\n const ossToken = currentInfo.token;\n const ossDomain = currentInfo.uploadAddr;\n\n try {\n await http.api({\n method: \"put\",\n url: `https://${ossDomain}/${ossFileId}`,\n data: fileBuffer,\n headers: {\n \"x-cos-security-token\": ossToken,\n },\n defaultErrorMsg: \"图片上传异常,请稍后重试发布。\",\n });\n return {ossFileId, ossToken};\n } catch (error) {\n attempt++;\n }\n }\n return {ossFileId: \"\", ossToken: \"\"}; // 所有尝试失败\n };\n\n const coverInfos = await Promise.all(params.banners.map((it, idx) => uploadFile(it, idx)));\n const invalidUpload = coverInfos.find((it) => it.ossToken === \"\" || it.ossFileId == \"\")\n if (invalidUpload) return {code: 200, message: \"图片上传异常,请稍后重试发布。\", data: \"\"}\n\n if (params.topic && params.topic.length > 0) {\n await Promise.all(params.topic.map(async (topic) => {\n if (!topic[\"id\"]) {\n const topicData = {topic_names: topic[\"name\"]}\n const publishXt = Date.now().toString();\n const publishXs = xsEncrypt.signXsPost(`/web_api/sns/capa/postgw/topic/batch_customized`, a1Cookie,\"xhs-pc-web\", topicData);\n let createTopic = await http.api({\n method: \"POST\",\n url: \"https://edith.xiaohongshu.com/web_api/sns/capa/postgw/topic/batch_customized\",\n headers: {\n \"x-s\": publishXs,\n \"x-t\": publishXt,\n },\n data: topicData,\n defaultErrorMsg: \"话题创建异常,请稍后重试。\",\n })\n Object.assign(topic, createTopic.data.topic_infos[0])\n }\n }))\n }\n ;\n\n const publishData = {\n common: {\n ats: [],\n biz_relations: [],\n desc: params?.content,\n goods_info: {},\n hash_tag: params.topic || [],\n note_id: \"\",\n source: JSON.stringify({\n type: \"web\",\n ids: \"\",\n extraInfo: '{\"systemId\":\"web\"}',\n }),\n title: params?.title,\n type: \"normal\",\n privacy_info: {\n op_type: 1,\n type: params.visibleRange === \"public\" ? 0 : 1,\n },\n post_loc: params.address\n ? {\n name: params.address?.name,\n poi_id: params.address?.poi_id,\n poi_type: params.address?.poi_type,\n subname: params.address?.full_address,\n }\n : null,\n business_binds: \"\",\n },\n image_info: {\n images: coverInfos.map((it) => ({\n extra_info_json: '{\"mimeType\":\"image/png\"}',\n file_id: it.ossFileId,\n metadata: {source: -1},\n stickers: {floating: [], version: 2},\n })),\n },\n video_info: null,\n };\n\n // 自主声明\n const userDeclarationBind = {\n origin: 2,\n photoInfo: {},\n repostInfo: {},\n };\n\n if (params.selfDeclaration?.type === \"fictional-rendition\") {\n // 虚拟演绎,仅供娱乐\n userDeclarationBind.origin = 1;\n } else if (params.selfDeclaration?.type === \"ai-generated\") {\n // 笔记含AI合成内容\n userDeclarationBind.origin = 2;\n } else if (params.selfDeclaration?.type === \"source-statement\") {\n // 内容来源声明\n if (params.selfDeclaration.childType === \"self-labeling\") {\n // 已自主标注\n userDeclarationBind.origin = 3;\n } else if (params.selfDeclaration.childType === \"self-shooting\") {\n // 自主拍摄\n userDeclarationBind.origin = 4;\n const photoInfo: { photoPlace?: unknown; photoTime?: string } = {};\n\n if (params.selfDeclaration.shootingLocation) {\n // 拍摄地点\n photoInfo.photoPlace = {\n name: params.selfDeclaration.shootingLocation.name,\n poiId: params.selfDeclaration.shootingLocation.poi_id,\n poiType: params.selfDeclaration.shootingLocation.poi_type,\n subname: params.selfDeclaration.shootingLocation.full_address,\n };\n }\n\n if (params.selfDeclaration.shootingDate) {\n // 拍摄日期\n photoInfo.photoTime = params.selfDeclaration.shootingDate;\n }\n\n userDeclarationBind.photoInfo = photoInfo;\n } else if (params.selfDeclaration.childType === \"transshipment\") {\n // 来源转载\n userDeclarationBind.origin = 5;\n\n if (params.selfDeclaration.sourceMedia) {\n // 来源媒体\n userDeclarationBind.repostInfo = {\n source: params.selfDeclaration.sourceMedia,\n };\n }\n }\n }\n\n const business_binds = {\n version: 1,\n bizType: \"\",\n noteId: \"\",\n noteOrderBind: {},\n // 发布时间 - 立即发布/定时发布\n notePostTiming: params.isImmediatelyPublish ? {} : {postTime: params.scheduledPublish},\n noteCollectionBind: {id: \"\"},\n ...(params.selfDeclaration ? {userDeclarationBind} : {}),\n };\n\n publishData.common.business_binds = JSON.stringify(business_binds);\n \n const publishXt = Date.now().toString();\n const publishXs = xsEncrypt.signXsPost(`/web_api/sns/v2/note`, a1Cookie,\"xhs-pc-web\", publishData);\n const xscommon = GenXSCommon(a1Cookie, publishXt, publishXs)\n \n const proxyHttp = task?.isBeta ?? false ? new Http({headers}, params.proxyLoc, params.huiwenToken ) : http;\n \n task._timerRecord['PrePublish']= Date.now();\n // 发布\n const publishResult = await proxyHttp.api<CommonResponse<{ id: string}>>({\n method: \"post\",\n url: \"https://edith.xiaohongshu.com/web_api/sns/v2/note\",\n data: publishData,\n headers: {\n \"x-s\": publishXs,\n \"x-t\": publishXt,\n \"x-s-common\": xscommon\n },\n defaultErrorMsg: \"文章发布异常,请稍后重试。\",\n });\n\n return success(publishResult.data?.id, `文章发布成功!`+ (proxyHttp.proxyInfo || \"\"));\n};\n","import path from \"node:path\";\nimport type { CookieMap, Locator, Response } from \"@iflyrpa/share\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\nimport { Xhshow } from \"../../utils/xhsXsEncrypt\";\nimport type { PublishAction } from \"./index\";\nconst GenXSCommon = require(\"../../utils/XhsXsCommonEnc.js\") as (a1cookie: string, x_t: string|number, x_s:string) => string;\n\n// 小红书参数加密器\nconst xsEncrypt = new Xhshow();\n\nexport const rpaAction: PublishAction = async (task, params) => {\n\tconst commonCookies: CookieMap[number] = {\n\t\tpath: \"/\",\n\t\tsameSite: \"lax\",\n\t\tsecure: false,\n\t\tdomain: \"xiaohongshu.com\",\n\t\turl: \"https://creator.xiaohongshu.com\",\n\t\thttpOnly: true,\n\t};\n\n\tconst page = await task.createPage({\n\t\tshow: task.debug,\n\t\turl: params.url || \"https://creator.xiaohongshu.com/publish/publish\",\n\t\tcookies: params.cookies?.map((it) => ({ ...commonCookies, ...it })) || [],\n\t});\n\n\tconst tmpCachePath = task.getTmpPath();\n\n\tconst interceptUrls = [\n\t\t'/api/media/v1/upload/creator/permit',\n\t\t'/api/galaxy/v2/creator/activity_center/list',\n\t\t'/web_api/sns/v5/creator/topic/template/list',\n\t\t'/web_api/sns/v5/creator/file/encryption',\n\t\t'/web_api/sns/capa/postgw/topic/batch_customized',\n\t\t'/web_api/sns/v2/note'\n\t];\n\n\tawait page.route('**', async (route, request) => {\n\t\tconst url = request.url();\n\t\tif (interceptUrls.some(pattern => url.includes(pattern))) {\n\t\t\tconst urlObj = new URL(url);\n\t\t\tconst fetchCoverUrl = urlObj.pathname + urlObj.search;\n const fetchCoverParams = Object.fromEntries(new URLSearchParams(urlObj.search));\n\t\t\tconst xt = Date.now().toString();\n\n\t\t\tconst a1Cookie = params.cookies.find((it) => it.name === \"a1\")?.value;\n\t\t\tif (!a1Cookie) {\n\t\t\t\tawait route.fulfill({\n\t\t\t\t\tstatus: 200,\n\t\t\t\t\tcontentType: 'application/json',\n\t\t\t\t\tbody: JSON.stringify({ code: 200, message: \"账号数据异常,请重新绑定账号后重试。\", data: \"\" })\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isNoteRequest = urlObj.pathname.includes(interceptUrls[5]);\n\n\t\t\tconst xs = await (isNoteRequest\n\t\t\t\t? (async () => {\n\t\t\t\t\tconst publishData = JSON.parse(request.postData() || \"\")\n\t\t\t\t\treturn xsEncrypt.signXsPost(interceptUrls[5], a1Cookie,\"xhs-pc-web\" ,publishData);\n\t\t\t\t })(): xsEncrypt.signXsGet(urlObj.pathname, a1Cookie, \"xhs-pc-web\" , fetchCoverParams))\n\n const xscommon = GenXSCommon(a1Cookie, xt, xs)\n\n\t\t\tconst newHeaders = {\n\t\t\t\t...request.headers(),\n\t\t\t\t'x-s': xs,\n 'x-s-common':xscommon\n\t\t\t};\n\n\t\t\tawait route.continue({ headers: newHeaders });\n\t\t}else {\n\t\t\tawait route.continue();\n\t\t}\n\t});\n\n\n\t// 通用的选择地点\n\tconst selectAddress = async (selector: Locator, address: string) => {\n\t\tconst instance = typeof selector === \"string\" ? page.locator(selector) : selector;\n\t\tawait instance.click();\n\t\tawait instance.locator(\"input\").fill(address);\n\t\tconst poperInstance = page.locator('.d-popover:not([style*=\"display: none\"]) .d-options .d-grid-item');\n\t\tawait poperInstance.first().waitFor();\n\t\tawait poperInstance.first().click();\n\t};\n\n\t// 通用的选择日期\n\tconst selectDate = async (selector: string | Locator, date: string) => {\n\t\tconst instance = typeof selector === \"string\" ? page.locator(selector) : selector;\n\t\tawait instance.click();\n\t\tawait instance.fill(date);\n\t\tawait instance.blur();\n\t};\n\n\t// 查找显示的 popover 弹窗\n\tconst getPoperInstance = async (): Promise<Locator> => {\n\t\tawait page.waitForTimeout(500);\n\t\tconst elements = page.locator(\".d-popover\");\n\t\tconst count = await elements.count();\n\t\tconst visibleElements: (typeof elements)[] = [];\n\n\t\tfor (let i = 0; i < count; i++) {\n\t\t\tconst element = elements.nth(i);\n\t\t\tconst style = await element.getAttribute(\"style\");\n\t\t\tif (style && !style.includes(\"display: none\")) {\n\t\t\t\tvisibleElements.push(element);\n\t\t\t}\n\t\t}\n\n\t\tif (visibleElements.length > 0) {\n\t\t\treturn visibleElements[visibleElements.length - 1];\n\t\t}\n\n\t\tthrow new Error(\"未找到 popover 弹窗\");\n\t};\n\n\t// 查找显示的 dialog 弹窗\n\tconst getDialogInstance = async (): Promise<Locator> => {\n\t\tawait page.waitForTimeout(1000);\n\t\tconst elements = page.locator(\".el-dialog\");\n\t\treturn elements.last();\n\t};\n\n\t// 自动化脚本\n\t// ----------------------------------------------------------------------------------\n\n\t// 等待登录成功\n\ttry {\n\t\tawait page.waitForSelector(\"#CreatorPlatform\", { state: \"visible\" });\n\t} catch (error) {\n\t\treturn { code: 400, message: \"登录失效\", data: page.url() };\n\t}\n\n\t// 跳转到发布页面\n\tawait page.locator(\"#content-area .menu-container .publish-video .btn\").click();\n\n\t// 点击上传图文\n\tawait page\n\t\t.locator('.creator-container .header .creator-tab:not([style*=\"-9999px\"]) .title')\n\t\t.filter({ hasText: /^上传图文$/ })\n\t\t.click();\n\n\t// 获取待上传图片的本地路径\n\tconst images = await Promise.all(\n\t\tparams.banners.map((url) => {\n\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t}),\n\t);\n\n\t// 选择文件\n\tconst fileChooserPromise = page.waitForEvent(\"filechooser\");\n\tawait page.getByRole(\"textbox\").click();\n\tconst fileChooser = await fileChooserPromise;\n\tawait fileChooser.setFiles(images);\n\n\t// 填写标题\n\tconst titleInstance = page.locator(\".input.titleInput input\");\n\tawait titleInstance.click();\n\tawait titleInstance.fill(params.title);\n\n\t// 填写正文\n\tconst descInstance = page.locator(\".editor-container #quillEditor .ql-editor\");\n\tawait descInstance.click();\n\tawait descInstance.pressSequentially(params.content.replace(/#.*?\\[.*?]\\#/g,\"\"));\n\n\t// 填写话题\n\tif(params.topic && params.topic.length > 0){\n\t\tfor (const it of params.topic) {\n\t\t\tawait descInstance.pressSequentially(`#${it[\"name\"]}`);\n\t\t\tawait page.locator('.ql-mention-loading').waitFor({ state: 'detached' });\n\t\t\tawait page.waitForTimeout(1000);\n\t\t\tawait page.locator('#quill-mention-item-0 .item-view-num').click();\n\t\t};\n\t}\n\n\t// 滚动到底部\n\tconst container = page.locator(\".creator-container .content .scroll-content\");\n\tawait container.focus();\n\tawait page.mouse.wheel(0, 500); // 向下滚动 500 像素\n\n\tif (params.address) {\n\t\t// 填写地点\n\t\tawait selectAddress(\n\t\t\tpage.locator(\".media-extension .address-input\").filter({ hasText: \"添加地点\" }),\n\t\t\tparams.address.name,\n\t\t);\n\t}\n\n\tif (params.selfDeclaration) {\n\t\t// 自主声明\n\t\tawait page.locator(\".media-settings .flexbox\").filter({ hasText: \"内容类型声明\" }).locator(\".d-select-placeholder\").click();\n\t\tconst poperInstance = await getPoperInstance();\n\t\tconst selfDeclarationInstance = poperInstance.locator(\".d-options .d-option\");\n\t\tif (params.selfDeclaration.type === \"fictional-rendition\") {\n\t\t\tawait selfDeclarationInstance.filter({ hasText: \"虚构演绎,仅供娱乐\" }).click();\n\t\t} else if (params.selfDeclaration.type === \"ai-generated\") {\n\t\t\tawait selfDeclarationInstance.filter({ hasText: \"笔记含AI合成内容\" }).click();\n\t\t} else if (params.selfDeclaration.type === \"source-statement\") {\n\t\t\tawait selfDeclarationInstance.filter({ hasText: /内容来源声明/ }).click();\n\t\t\t// 内容来源声明二级菜单\n\t\t\tconst selfDeclarationSecondaryMenuInstance = (await getPoperInstance()).locator(\".d-options .d-option\");\n\t\t\t// 等待元素出现\n\t\t\tawait selfDeclarationSecondaryMenuInstance.first().waitFor();\n\t\t\tif (params.selfDeclaration.childType === \"self-labeling\") {\n\t\t\t\tawait selfDeclarationSecondaryMenuInstance.filter({ hasText: \"已在正文中自主标注\" }).click();\n\t\t\t} else if (params.selfDeclaration.childType === \"self-shooting\") {\n\t\t\t\tconst { shootingDate, shootingLocation } = params.selfDeclaration;\n\t\t\t\tawait selfDeclarationSecondaryMenuInstance.filter({ hasText: \"自主拍摄\" }).click();\n\t\t\t\t// 自主拍摄弹窗\n\t\t\t\tconst selfShootingPopup = await getDialogInstance();\n\t\t\t\tconst hasCustomContent = shootingDate || shootingLocation;\n\n\t\t\t\t// 选择拍摄地点\n\t\t\t\tif (shootingLocation) {\n\t\t\t\t\tawait selectAddress(selfShootingPopup.locator(\".address-input\"), shootingLocation.name);\n\t\t\t\t}\n\t\t\t\t// 选择拍摄日期\n\t\t\t\tif (shootingDate) {\n\t\t\t\t\tawait selectDate(selfShootingPopup.locator(\".date-picker input\"), shootingDate);\n\t\t\t\t}\n\n\t\t\t\tawait selfShootingPopup\n\t\t\t\t\t.locator(\"footer button\")\n\t\t\t\t\t.filter({ hasText: hasCustomContent ? \"确认\" : \"取消\" })\n\t\t\t\t\t.click();\n\t\t\t} else if (params.selfDeclaration.childType === \"transshipment\") {\n\t\t\t\tawait selfDeclarationSecondaryMenuInstance.filter({ hasText: \"来源转载\" }).click();\n\t\t\t\t// 来源媒体弹窗\n\t\t\t\tconst selfShootingPopup = await getDialogInstance();\n\n\t\t\t\tconst sourceMedia = params.selfDeclaration.sourceMedia;\n\t\t\t\tif (sourceMedia) {\n\t\t\t\t\tawait selfShootingPopup.locator(\".el-input input\").fill(sourceMedia);\n\t\t\t\t}\n\n\t\t\t\tawait selfShootingPopup\n\t\t\t\t\t.locator(\"footer button\")\n\t\t\t\t\t.filter({ hasText: sourceMedia ? \"确认\" : \"取消\" })\n\t\t\t\t\t.click();\n\t\t\t}\n\t\t}\n\t}\n\n\t// 可见范围 - 仅自己可见\n\tif (params.visibleRange === \"private\") {\n\t\tawait page.locator(\".media-settings .flexbox\").filter({ hasText: \"可见范围\" }).locator(\".d-select-wrapper\").click();\n\t\tconst poperInstance = await getPoperInstance();\n\t\tawait poperInstance.locator(\".d-options .custom-option\").filter({ hasText: \"仅自己可见\" }).click();\n\t}\n\n task._timerRecord['PrePublish']= Date.now();\n \n\tconst releaseTimeInstance = page\n\t\t.locator(\"label\")\n\t\t.filter({ hasText: params.isImmediatelyPublish ? \"立即发布\" : \"定时发布\" });\n\tawait releaseTimeInstance.click();\n\n\tif (params.scheduledPublish) {\n\t\t// 自定义发布时间\n\t\tawait selectDate(\".date-picker input\", params.scheduledPublish);\n\t}\n\n\tconst response = await new Promise<string>((resolve) => {\n\t\t// 定义响应处理函数\n\t\tconst handleResponse = async (response: Response) => {\n\t\t\tif (response.url().includes(\"/web_api/sns/v2/note\")) {\n\t\t\t\tconst jsonResponse = await response.json();\n\t\t\t\tpage.off(\"response\", handleResponse);\n\t\t\t\tresolve(jsonResponse?.data?.id);\n\t\t\t}\n\t\t};\n\n\t\t// 开始监听响应事件\n\t\tpage.on(\"response\", handleResponse);\n\n\t\tpage.locator(\".submit .publishBtn\").click();\n\t});\n\n\t// 关闭页面\n\tawait page.close();\n\n\treturn success(response);\n};\n","import type { CommonAction } from \"@iflyrpa/share\";\n\nimport type { ActiomCommonParams, Xiaohongshu } from \"../../types\";\nimport { executeAction } from \"../../utils\";\nimport { mockAction } from \"./mock\";\nimport { rpaAction } from \"./rpa\";\n\ninterface FictionalRendition {\n\ttype: \"fictional-rendition\"; // 虚拟演绎,仅供娱乐\n}\n\ninterface AIGenerated {\n\ttype: \"ai-generated\"; // 笔记含AI合成内容\n}\n\ninterface SourceStatement {\n\ttype: \"source-statement\"; // 内容来源声明\n\tchildType: \"self-labeling\" | \"self-shooting\" | \"transshipment\"; // 已自主标注 / 自助拍摄 / 转载\n\tshootingLocation?: Xiaohongshu.Location; // 拍摄地点\n\tshootingDate?: string; // 拍摄日期\n\tsourceMedia?: string; // 来源媒体\n}\n\ntype SelfDeclaration = FictionalRendition | AIGenerated | SourceStatement;\n\nexport interface XiaohongshuPublishParams extends ActiomCommonParams {\n\tbanners: string[]; // 图片\n\ttitle: string; // 标题\n\tcontent: string; // 正文\n\taddress?: Xiaohongshu.Location; // 地点\n\tselfDeclaration?: SelfDeclaration; // 自主声明\n\ttopic?: Xiaohongshu.Topic[]; //话题\n proxyLoc?: string; // 代理位置\n huiwenToken?: string; // 绘文token\n\tvisibleRange: \"public\" | \"private\"; // 可见范围\n\tisImmediatelyPublish?: boolean; // 是否立即发布\n\tscheduledPublish?: string; // 定时发布时间\n}\n\nexport type PublishAction = CommonAction<XiaohongshuPublishParams, string>;\n\nexport const xiaohongshuPublish: PublishAction = async (task, params) => {\n\tif (params.actionType === \"rpa\") {\n\t\treturn rpaAction(task, params);\n\t}\n\n\tif (params.actionType === \"mockApi\") {\n\t\treturn mockAction(task, params);\n\t}\n\n\treturn executeAction(mockAction, rpaAction)(task, params);\n};\n","import type { AutomateTask, CommonAction, ResponseData } from \"@iflyrpa/share\";\nimport { type BaijiahaoPublishParams, baijiahaoPublish } from \"./actions/baijiahaoPublish\";\nimport { type GetBaijiahaoActivityParams, getBaijiahaoActivity } from \"./actions/getBaijiahaoActivity\";\nimport { type GetToutiaoConfigParams, getToutiaoConfig } from \"./actions/getToutiaoConfig\";\nimport { type GetBaijiahaoConfigParams, getBaijiahaoConfig } from \"./actions/getBaijiaohaoConfig\";\nimport { type SearchToutiaoTopicListParams, searchToutiaoTopicList } from \"./actions/searchToutiaoTopicList\";\nimport { type SearchToutiaoLocationParams, searchToutiaoLocation } from \"./actions/searchToutiaoLocation\";\nimport { type SearchToutiaoUserIDParams, searchToutiaoUserInfo } from \"./actions/searchToutiaoUserID\";\nimport { type searchXiaohongshuLocationParams, searchXiaohongshuLocation } from \"./actions/searchXiaohongshuLocation\";\nimport { type SearchXiaohongshuTopicListParams, searchXiaohongshuTopicList } from \"./actions/searchXiaohongshuTopicList\";\nimport { type ToutiaoPublishParams, toutiaoPublish } from \"./actions/toutiaoPublish\";\nimport { TTFansExport } from \"./actions/common/FansTool\";\nimport { BjhFansExport } from \"./actions/common/FansTool\";\nimport { XhsFansExport } from \"./actions/common/FansTool\";\nimport { type GetWxFansSearchParams, WxFansExport } from \"./actions/common/FansTool\";\n\nimport { TTSessionCheck } from \"./actions/common/sessionCheck\";\nimport { BjhSessionCheck } from \"./actions/common/sessionCheck\";\nimport { XhsSessionCheck } from \"./actions/common/sessionCheck\";\nimport { type wxSessionParams, WxSessionCheck } from \"./actions/common/sessionCheck\";\n\nimport { type SearchAccountInfoParams, SearchAccountInfo} from \"./actions/searchAccountInfo\";\nimport { type FetchArticlesParams, FetchArticles } from \"./actions/searchPublishInfo\"\nimport { type GetWeixinConfigParams, getWeixinConfig } from \"./actions/getWeixinConfig\";\nimport { type WeitoutiaoPublishParams, weitoutiaoPublish } from \"./actions/weitoutiaoPublish\";\nimport { type WeixinPublishParams, weixinPublish } from \"./actions/weixinPublish\";\nimport { type WeixinmpPublishParams, weixinmpPublish } from \"./actions/weixinmpPublish\";\nimport { type XiaohongshuPublishParams, xiaohongshuPublish } from \"./actions/xiaohongshuPublish\";\n\nimport type { ActiomCommonParams } from \"./types\";\nimport { stringifyError } from \"./utils\";\nimport { Http } from \"./utils/http\";\n\nexport const BetaFlag = \"HuiwenCanary\"; // 用于标记是否为测试版本\n\nexport class Action {\n\tconstructor(private task: AutomateTask) {}\n\n\t// 绑定 task, 并处理异常\n\tprivate async bindTask<T extends ActiomCommonParams, R>(func: CommonAction<T, R>, params: T) {\n\t\tlet responseData: ResponseData<R>;\n \n // 检查是否为测试版本\n this.task.isBeta = this.task?.isFeatOn ? this.task?.isFeatOn( BetaFlag ) : false;\n \n // 记录时间消耗\n this.task._timerRecord = { ActionStart: Date.now() };\n\n \n\t\tif (this.task?.setArticleId) {\n\t\t\t// 给所有的日志添加 articleId 标签\n\t\t\tthis.task.setArticleId(params.articleId ?? \"\");\n\t\t}\n \n if (this.task?.setSaveType ?? false) {\n // 给所有的日志添加 saveType 标签\n this.task.setSaveType(params.saveType ?? \"\");\n }\n \n if (this.task?.isInitializedGB !== undefined) {\n this.task.setGbInitType(this.task.isInitializedGB)\n }\n \n\t\tif (typeof params === \"object\") {\n\t\t\t// 默认设置 cookies\n\t\t\tparams.cookies = params?.cookies ?? [];\n\t\t}\n\n\t\ttry {\n\t\t\tresponseData = await func(this.task, params);\n\t\t} catch (error) {\n\t\t\tresponseData = Http.handleApiError(error);\n\t\t} finally {\n this.task._timerRecord['ActionEnd']= Date.now();\n }\n \n if(this.task.isBeta && this.task.setTimeConsuming){\n // 收集各时间节点\n this.task.setTimeConsuming(this.task._timerRecord);\n }\n\n\t\tif (responseData.code === 200) {\n\t\t\t// 表示是由于脚本输入信息错误导致的失败,不是脚本问题\n\t\t\tthis.task.logger.info(`${func.name} action params error`, responseData);\n\t\t} else if (responseData.code !== 0) {\n\t\t\tthis.task.logger.error(\n\t\t\t\tresponseData.message || `${func.name} 执行失败`,\n\t\t\t\tstringifyError(responseData.data),\n\t\t\t\tresponseData.extra,\n\t\t\t);\n\t\t\tthis.task.logger.info(`${func.name} action failed`);\n\t\t} else {\n\t\t\tthis.task.logger.info(`${func.name} action success`);\n\t\t}\n \n if(this.task.debug && this.task._timerRecord['PrePublish']){\n console.log(\"预处理图片耗时:\", (this.task._timerRecord['PrePublish'] - this.task._timerRecord['ActionStart'])/1000, \"s\");\n console.log(\"发文接口耗时:\", (this.task._timerRecord['ActionEnd'] - this.task._timerRecord['PrePublish'])/1000, \"s\");\n }\n this.task.debug && console.log(\"Action整体耗时:\", (this.task._timerRecord['ActionEnd'] - this.task._timerRecord['ActionStart'])/1000, \"s\");\n\n\t\treturn responseData;\n\t}\n\t// 获取指定平台的文章数据\n\tFetchArticles(params: FetchArticlesParams){\n\t\treturn this.bindTask(FetchArticles, params)\n\t}\n\t\n\t// 获取指定平台的分析数据\n\tSearchAccountInfo(params: SearchAccountInfoParams){\n\t\treturn this.bindTask(SearchAccountInfo, params)\n\t}\n\n\t// 头条Session有效性检测\n\tTTSessionCheck(params: ActiomCommonParams){\n\t\treturn this.bindTask(TTSessionCheck, params);\n\t}\n\n\t// 微信Session有效性检测\n\tWxSessionCheck(params: wxSessionParams){\n\t\treturn this.bindTask(WxSessionCheck, params);\n\t}\n\n\t// 小红书Session有效性检测\n\tXhsSessionCheck(params: ActiomCommonParams){\n\t\treturn this.bindTask(XhsSessionCheck, params);\n\t}\n\n\t// 百家号Session有效性检测\n\tBjhSessionCheck(params: ActiomCommonParams){\n\t\treturn this.bindTask(BjhSessionCheck, params);\n\t}\n\t\n\t// 搜索头条话题列表\n\tsearchToutiaoTopicList(params: SearchToutiaoTopicListParams) {\n\t\treturn this.bindTask(searchToutiaoTopicList, params);\n\t}\n\n\t// 搜索头条粉丝\n\tTTFansExport(params: ActiomCommonParams) {\n\t\treturn this.bindTask(TTFansExport, params);\n\t}\n\n\t// 搜索小红书粉丝\n\tXhsFansExport(params: ActiomCommonParams) {\n\t\treturn this.bindTask(XhsFansExport, params);\n\t}\n\n\t// 搜索微信粉丝\n\tWxFansExport(params: GetWxFansSearchParams) {\n\t\treturn this.bindTask(WxFansExport, params);\n\t}\n\t\n\t// 搜索百家号粉丝\n\tBjhFansExport(params: ActiomCommonParams) {\n\t\treturn this.bindTask(BjhFansExport, params);\n\t}\n\n\t// 搜索头条用户ID\n\tsearchToutiaoUserID(params: SearchToutiaoUserIDParams) {\n\t\treturn this.bindTask(searchToutiaoUserInfo, params);\n\t}\n\n\t// 搜索头条Location\n\tsearchToutiaoLocation(params: SearchToutiaoLocationParams) {\n\t\treturn this.bindTask(searchToutiaoLocation, params);\n\t}\n\n\t// 获取头条配置\n\tgetToutiaoConfig(params: GetToutiaoConfigParams) {\n\t\treturn this.bindTask(getToutiaoConfig, params);\n\t}\n\n\t// 获取微信配额\n\tgetWeixinConfig(params: GetWeixinConfigParams) {\n\t\treturn this.bindTask(getWeixinConfig, params);\n\t}\n\n\t// 获取百家号配置\n\tgetBaijiahaoConfig(params: GetBaijiahaoConfigParams) {\n\t\treturn this.bindTask(getBaijiahaoConfig, params);\n\t}\n\n\t// 百家号发布\n\tbaijiahaoPublish(params: BaijiahaoPublishParams) {\n\t\treturn this.bindTask(baijiahaoPublish, params);\n\t}\n\n\t// 查询百家号活动投稿\n\tgetBaijiahaoActivity(params: GetBaijiahaoActivityParams) {\n\t\treturn this.bindTask(getBaijiahaoActivity, params);\n\t}\n\n\t// 小红书发布\n\txiaohongshuPublish(params: XiaohongshuPublishParams) {\n\t\treturn this.bindTask(xiaohongshuPublish, params);\n\t}\n\n\t// 搜索小红书话题\n\tsearchXiaohongshuTopicList(params: SearchXiaohongshuTopicListParams) {\n\t\treturn this.bindTask(searchXiaohongshuTopicList, params);\n\t}\n\t// 搜索小红书地址\n\tsearchXiaohongshuLocation(params: searchXiaohongshuLocationParams) {\n\t\treturn this.bindTask(searchXiaohongshuLocation, params);\n\t}\n\n\t// 小绿书发布\n\tweixinmpPublish(params: WeixinmpPublishParams) {\n\t\treturn this.bindTask(weixinmpPublish, params);\n\t}\n\n\t// 微头条发布\n\tweitoutiaoPublish(params: WeitoutiaoPublishParams) {\n\t\treturn this.bindTask(weitoutiaoPublish, params);\n\t}\n\n\t// 头条发布\n\ttoutiaoPublish(params: ToutiaoPublishParams) {\n\t\treturn this.bindTask(toutiaoPublish, params);\n\t}\n\n\t// 微信发布\n\tweixinPublish(params: WeixinPublishParams) {\n\t\treturn this.bindTask(weixinPublish, params);\n\t}\n}\n\ntype ActionInstance = InstanceType<typeof Action>;\n\n// 提取方法的参数类型\ntype MethodParams<T> = {\n\t// biome-ignore lint/suspicious/noExplicitAny: 有使用 any\n\t[K in keyof T]: T[K] extends (...args: any[]) => unknown ? Parameters<T[K]>[0] : never;\n};\n\n// 应用于 Action 类的实例\nexport type ActionMethodParams = MethodParams<ActionInstance>;\n\nexport { version } from \"../package.json\";\n"],"names":["__createBinding","Object","o","m","k","k2","undefined","desc","__setModuleDefault","v","__importStar","mod","result","exports","http","https","toBuffer","stream","length","chunks","chunk","Buffer","json","buf","str","JSON","_err","err","req","url","opts","href","promise","Promise","resolve","reject","__exportStar","p","net","https_1","INTERNAL","Symbol","Agent","options","stack","Error","l","name","Infinity","fakeSocket","socket","sockets","index","secureEndpoint","cb","connectOpts","formatArgs","save","load","useColors","localstorage","warned","console","window","navigator","document","parseInt","args","module","c","lastC","match","namespaces","error","r","process","localStorage","formatters","setup","env","createDebug","coerce","disable","enable","enabled","destroy","key","selectColor","namespace","hash","i","Math","prevTime","enableOverride","namespacesCache","enabledCache","debug","self","curr","Number","Date","ms","format","formatter","val","logFn","extend","delimiter","newDebug","split","Boolean","ns","matchesTemplate","search","template","searchIndex","templateIndex","starIndex","matchIndex","skip","tty","util","init","log","supportsColor","obj","prop","_","colorCode","prefix","getDate","keys","flag","argv","position","terminatorPosition","__importDefault","tls","assert_1","debug_1","agent_base_1","url_1","parse_proxy_response_1","setServernameFromNonIpHost","HttpsProxyAgent","proxy","host","port","omit","TypeError","headers","payload","auth","decodeURIComponent","proxyResponsePromise","connect","buffered","resume","s","ret","parseProxyResponse","buffersLength","buffers","read","b","ondata","cleanup","onend","onerror","endOfHeaders","headerParts","firstLine","firstLineParts","statusCode","statusText","header","firstColon","value","current","Array","h","d","w","y","type","parse","isFinite","fmtLong","fmtShort","String","n","parseFloat","msAbs","plural","isPlural","os","hasFlag","flagForceColor","envForceColor","translateLevel","level","haveStream","streamIsTTY","sniffFlags","noFlagForceColor","forceColor","min","osRelease","sign","version","getSupportLevel","encrypt_lookup","esm_typeof","t","encrypt_b64Encode","e","a","u","f","g","E","x","T","S","A","L","I","R","O","C","N","P","B","M","j","F","D","q","U","G","H","V","W","a0_0x10f4ac","X","z","Y","K","J","$","Q","Z","tt","encrypt_encodeChunk","encrypt_encodeUtf8","encodeURIComponent","sign_common","encrypt_tripletToBase64","a0_0x3693","encrypt_mcr","GenXSCommon","a1cookie","x_t","x_s","b1","a0_0x45db08","a0_0x4b0d","_0x2bd218","_0x316d6","_0x165410","a0_0x1654","_0x4b0d73","_0x5794db","_0x1859e3","_0x1b2596","_0x16c0e0","_0x1227f1","_0x46fb59","_0x383dd4","_0x4fc071","Random","Ts","Sm3DoneTs","xhrParaDoneTs","xhrReqDoneTs","_0x46e031","SM3Hasher","_0x468533","_0x11e792","_0x22d1ef","_0x182388","_0x2ded18","_0x5e491d","_0x12d911","_0x5795ab","_0x22d98b","_0x5659da","_0x357908","_0x5c0d1c","_0x2e8583","_0x28f42f","_0x4b2a85","_0xffe4ea","_0x34ff8d","_0xecf9f6","_0x3ddb20","_0x28ac8a","_0x117621","_0x335539","_0x450e58","_0x5b1ad8","_0x46ad66","_0xa844a0","_0x15bc36","_0x4a32f3","_0x36cc0b","_0xd7dcfe","_0x1e530c","_0x3c50af","_0x3da582","_0x14b06e","_0x4ec82e","_0x489962","_0x5dd43e","_0x744660","_0x197f71","_0x5e22dd","_0xfc800b","_0x1300f1","_0xed8891","_0x3414cb","_0x2f42fb","_0x326645","_0x2c63af","_0x558c0d","_0x4a902b","_0x493bba","_0x23a9bd","_0x7114f5","_0x49cf1f","_0x698c70","_0xe5328","_0x2b58f2","_0x17c086","_0x3621a2","_0x5959b9","_0x3b42ff","_0x50d411","_0x910e21","_0x459622","EnvData2CharCode","_0x58cd97","_0x23e1e0","_0x3ca6b2","_0x56cb93","_0x2d49d4","_0x3f2013","_0x4b8ded","_0x5bb315","_0x42b4c4","_0x1cdc95","_0x58aa5d","_0x26ee7a","_0xe2d586","_0x571095","_0x4dabdb","_0x4139e6","_0x339170","_0x56e1cd","_0x24b6d5","_0x196cf7","_0x2eb1f3","_0x2171ba","_0x925e58","_0x540dbd","_0x2fbb10","_0x41ebdd","_0x42a240","_0x49ec53","_0x3d9ba0","_0xeaa831","_0x477e24","_0x3bd924","_0xa7bf19","_0x23c273","_0x4d13ab","Base2Data","_0x348aa6","_0x2bc7c7","_0x874207","_0x224d00","_0x31697c","_0x235e4f","_0x29dde1","_0x4a74f1","_0xef36c2","_0x4120e4","_0x39cb62","_0x5cbaf6","_0x29a672","_0x96c5ae","_0x46c34b","_0x5d4cb4","_0x506f4f","Data2A_B","_0x19ca6d","_0x5d8d72","_0x225e7d","_0x4f0a28","_0x251d62","_0x2b8eea","_0x3fca04","_0xb85a46","_0x4e702d","_0x4382e1","_0x225aa0","_0x5607b9","_0x3fb7b7","_0x425784","GenAB","_0x315138","_0x1c32b3","_0x206982","_0x56536b","ProxyData","ProxyAgent","adr","huiwenToken","Http","ProxyInfo","config","axios","findError","response","errorResponse","serverError","agent","getRandomInRange","max","getFileState","filePath","filename","path","fileType","mime","stats","fs","fileSize","lastModifiedDate","calculateCropCoordinates","width","height","aspectRatio","targetRatio","cropWidth","cropHeight","x1","y1","x2","y2","extractImgTag","html","srcList","parser","Parser","attributes","TimeFormatter","timestamp","formatStr","date","map","replaceImgSrc","callback","lastedHtml","isImageTag","node","traverseDom","DomUtils","child","handler","DomHandler","dom","domSerializer","stringifyError","executeAction","actions","task","params","action","copyHtmlToClipboard","page","htmlContent","blob","Blob","ClipboardItem","div","range","selection","PopupListener","popupSelector","popKey","buttonSelector","checkInterval","stopAfterClick","popup","button","intervalId","setInterval","clearInterval","parseUrlQueryString","queryStringObject","queryString","queryWithoutHash","queryStringArray","item","equalIndex","defaultParams","defaults","errnoMap","mockAction","baijiahaoSingleCover","baijiahaoMultCover","baijiahaoCoverType","tmpCachePath","it","msgType","errmsg","appIdInfo","appId","uploadImages","_images","images","fileName","getFilenameFromUrl","image","downloadImage","formData","FormData","res","originContentImages","targetContentImages","content","idx","horizontalCoverUrl","horizontalCoverRes","cover_images","_cover_images_map","isAi","activityList","cover_layout","activity_list","publishData","isDraft","saveUrl","proxyHttp","success","rpaAction","commonCookies","titleInstance","coverFormItem","isSingleCover","coverSelector","coverCount","fileChooserPromise","fileChooser","abstractFormItem","settingFormItem","_settingFormItem","enent2NewsBtn","activity","activityFormItem","findActivity","articleId","message","handleResponse","jsonResponse","operatorContainer","scrollHourInfo","hourInner","hourElementHeight","hourMapsElem","hourMap","fistHourElem","fistHourElemH","lastHourElem","lastHourElemH","targetTimeH","scrollMinuteInfo","fistMinuteElem","fistMinuteElemH","lastMinuteElem","lastMinuteElemH","targetTimeM","baijiahaoPublish","getBaijiahaoActivity","_task","cookies","getToutiaoConfig","getSuggestWords","getCityDistrict","getUserRights","suggestWords","cityDistrict","userRights","getBaijiahaoConfig","data","_item","searchToutiaoTopicList","searchToutiaoLocation","searchToutiaoUserInfo","searchXiaohongshuLocation","CryptoConfig","RandomGenerator","byteCount","minVal","maxVal","HexProcessor","hexString","byteValues","hexChunk","xorKey","byteVal","BitOperations","unsignedValue","seed32bit","normalizedSeed","shift15Bits","shift13Bits","shift12Bits","shift10Bits","xorMaskedResult","shiftedResult","sourceIntegers","resultBytes","Uint8Array","hexKeyBytes","Base58Encoder","inputBytes","bytesArray","numberAccumulator","leadingZerosCount","encodedCharacters","BYTE_SIZE","byteValue","BigInt","count","number","characters","base","remainder","Base64Encoder","dataToEncode","dataBytes","standardEncodedString","char","RequestSignatureValidator","method","upperMethod","uri","a1Value","xsecAppid","CryptoProcessor","ts","randomizeFirst","arr","encoded","hexParameter","appIdentifier","stringParam","randNum","startupTs","randBytes","stringParamLength","md5Bytes","xorMd5Bytes","Xhshow","valueStr","crypto","dValue","payloadArray","xorResult","validatedMethod","validatedUri","validatedA1Value","validatedXsecAppid","validatedPayload","signatureData","contentString","validatedParams","xsEncrypt","searchXiaohongshuTopicList","a1Cookie","xt","topicData","fatchTopic","xs","require","generatorFormData","encodedKey","encodedValue","get3101DetailError","errorList","saveType","toutiaoSingleCover","toutiaoMultCover","toutiaoCoverType","toutiaoOriginal","toutiaoExclusive","toutiaoClaim","coverUrl","coverRes","location","topics","topicContent","topic","sourceData","extraData","COVER_TYPE","getAddTypeValue","msToken","publishOption","postHeaders","postData","a_bogus","publishResult","interceptUrls","route","request","URL","pattern","coverTypeValue","coverContainer","coverUrls","coverUploadEle","coverUploadCount","ele","drawerContainer","confirmBtn","locationContainer","poperInstance","adContainer","isAdOptionVisible","exclusiveContainer","claim","toutiaoAd","toutiaoPublish","TTFansExport","XhsFansExport","WxFansExport","htmlStr","BjhFansExport","TTSessionCheck","WxSessionCheck","fingerprint","XhsSessionCheck","BjhSessionCheck","code","getBaijiahaoData","token","yesterday","fansData","readData","incomeData","yesterdayData","bjhData","getToutiaoData","totalData","contentDataYesterday","isReday","ttData","getWeixinData","userInfo","userInfoHtml","originalMatch","totalUsersMatch","increaseMatch","readMatch","shareMatch","subscribeMatch","wxData","getXiaohongshuData","sevenDataUrl","overAllData","sevenData","xhsData","SearchAccountInfo","platform","handleToutiaoData","pageNum","pageSize","showOriginalData","onlySuccess","visitedUid","articleInfo","articleCell","api_base_info_json","handleWeixinData","cursor","lastPage","ParsePublishPage","body","parsedData","decodeEntities","decode","encodeMap","decodeMap","RegExp","finalData","decoded","parsedInfo","fetchArticles","begin","size","rawArticlesInfo","articlesInfo","totalFetched","nextPage","remaining","currentPageSize","_rawArticlesInfo","parsed","filteredList","cursorIndex","nextRawArticlesInfo","nextArticlesInfo","newFiltered","lastMsgId","handleBaijiahaoData","filtered","totalPage","currentPage","usedPages","Set","validItems","final","handleXiaohongshuData","serveUrl","serveParams","hasNextpage","FetchArticles","getWeixinConfig","userInfoRes","imageList","extra","syncData","descInstance","addressFormItem","declarationFormItem","weitoutiaoPublish","scanRetryMaxCount","QuotaType","GET_QRCODE_DEFAULT_ERROR","ignoreErrno","userTypeMap","URLSearchParams","checkCopyrightStat","resData","client_time_diff","responseData","cloudImages","localImages","ext","fileState","oriWhitelist","_oriWhitelist","white_list","white_list_user","_user","userInfo_res","userInfo_resJson","writerid","reply_id","getWriterList","getRewardText","_type","rewardbind","rewardBuffer","rewardFilePath","task_id","sleep","checkScanResult","_writer","_writer_item","rewardList","matchdID","reward","_reply_item","wxInteractionInfo","_wxInteraction","_opt","commentType","replyType","draftData","appMsgId","masssendpage","massSendRes","operation_seq","quota_detail_list","quotaDetail","copyrightStatData","lastData","checkCopyrightStatRes","getTicketResult","getUuidResult","uuid","qrcodeResult","qrcodeBuffer","qrcodeFilePath","randomString","waitQrcodeResultMaxTime","urlParams","urlRewardParams","wxRewardPage","reward_page","isAddRewarder","qrcodeSrc","errorMessage","isAddWord","cover","dialog","pic_msg","ori_dialog","ori_dialog_bd","ori_dialog_ft","_target","search_res","search_res_name","whrite_list","white_td_isadd","btn_isChecked","checkbox","reward_setting","reward_setting_bd","reward_setting_ft","userName","reward_setting_replay","switchAuto","maxAttempts","delayMs","nowCheckTime","attempt","isDisabled","setTimeout","isOneReplay","isCurrentReplay","wxInteraction_setting","wxInteraction_bd","wxInteraction_ft","comment_area","reply_area","commont_rply_opt","poperInput","source","query","dateD","nowD","dropMenu","timeDropMenu","times","originalCheckDialog","popMassend","startTime","imgUrl","weixinPublish","_params","saveDraft","shareImageInfos","cropResult","colorResponseData","themeColor","cropFormData","cropRatios","cropCoordinates","cropCoordinate","cropResponse","sourceText","container","weixinmpPublish","fetchCoverUrl","fetchCoverParams","coverIdInfo","uploadInfos","fileId","availableBuckets","uploadFile","localUrl","fileBuffer","MAX_RETRIES","ossBucketIndex","currentInfo","ossFileId","ossToken","ossDomain","coverInfos","invalidUpload","publishXt","publishXs","createTopic","userDeclarationBind","photoInfo","business_binds","xscommon","urlObj","isNoteRequest","newHeaders","selectAddress","selector","address","instance","selectDate","getPoperInstance","elements","visibleElements","element","style","getDialogInstance","selfDeclarationInstance","selfDeclarationSecondaryMenuInstance","shootingDate","shootingLocation","selfShootingPopup","hasCustomContent","sourceMedia","releaseTimeInstance","xiaohongshuPublish","BetaFlag","Action","func"],"mappings":"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BACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;aACD;YACD,OAAOA,CAAC,CAAC2I,KAAK,IAAI;QACpB;QACA,SAAS8B,YAAY9B,CAAC,EAAEE,CAAC;YACvB,OAAO2C,UAAU3C,IAAI,MAAMF;QAC7B;QAEA,IAAI8C,cAAc,SAAU9C,CAAC;YAC3B,IAAIE,IAAI,IACJ7I,IAAI,IACJoH,IAAI,KACJ5L,IAAI,KACJwF,IAAI,KACJ8H,IAAI,IACJC,IAAI,KACJ3D,IAAI,IACJzF,IAAI,IACJvB,IAAI,IACJ4K,I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AII,YAAU;gBAAC;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBA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I;gBAAI;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAM;gBAAK;gBAAK;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAM;gBAAK;gBAAI;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAS;gBAAK;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAQ;gBAAK;gBAAK;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAM;gBAAK;gBAAK;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;aAAK;YAAC,IAAI,IAAIC,YAAU,KAAIA,YAAUL,SAAS,CAAC,SAAS,EAACK,aAAW,IAAI;gBAAC,MAAMC,YAAUN,SAAS,CAACC,UAAU,MAAM,CAACI,YAAWE,YAAUP,SAAS,CAACC,UAAU,MAAM,CAACI,YAAU,MAAKG,YAAUR,SAAS,CAACC,UAAU,MAAM,CAACI,YAAU,MAAKI,YAAUH,aAAWF,SAAS,CAAC,KAAK,GAACG,aAAWH,SAAS,CAAC,KAAK,GAACI,WAAUE,YAAWD,AAAAA,CAAAA,YAAUL,SAAS,CAAC,KAAI,KAAIA,SAAS,CAAC,KAAK;gBAACD,aAAWD,SAAS,CAACD,UAAU,MAAM,CAACS;gBAAW,MAAMC,YAAWF,AAAAA,CAAAA,YAAUL,SAAS,CAAC,KAAI,KAAIA,SAAS,CAAC,KAAK;gBAACD,aAAW,AAACrT,MAAM,CAACmT,UAAU,MAAM,CAACK,aAAiD,MAAtCJ,SAAS,CAACD,UAAU,MAAM,CAACU;gBAAe,MAAMC,YAAWH,AAAAA,CAAAA,YAAUL,SAAS,CAAC,KAAI,KAAIA,SAAS,CAAC,KAAK;gBAACD,aAAW,AAACrT,MAAM,CAACmT,UAAU,MAAM,CAACM,aAAiD,MAAtCL,SAAS,CAACD,UAAU,MAAM,CAACW;gBAAe,MAAMC,YAAUJ,YAAUL,SAAS,CAAC,KAAK;gBAACD,aAAW,AAACrT,MAAM,CAACmT,UAAU,MAAM,CAACO,aAAiD,MAAtCN,SAAS,CAACD,UAAU,MAAM,CAACY;YAAe;YAAC,OAAOV;QAAU;QAAC,SAASW,MAAMC,SAAS,EAACC,SAAS;YAAE,MAAMC,YAAU7J,aAAY8J,YAAUD,UAAU;YAAM,OAAOlB,SAASlB,UAAUpC,iBAAiBsE,WAAUC,WAAUE;QAAa;QAACnW,MAAM,CAACqM,YAAY,MAAM,GAAC0J;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICG/1jB,MAAMK,YAAY;QACd,KAAK;QACL,SAAS;QACT,MAAM;IACV;IAeO,MAAOC,aAAY,OAAQC,KAAaC;QAC3C,MAAM7Z,OAAO,IAAI8Z,KAAK,CAAC;QACvB,IAAIC,YAAuB,MAAM/Z,KAAK,GAAG,CAAC;YACtC,QAAQ;YACR,KAAK;YACL,QAAQ;gBACJ,MAAM4Z;YACV;YACA,GAAIC,cAAc;gBAAE,SAAS;oBAAE,OAAOA;gBAAY;YAAE,IAAI,IAAI;QAChE;QAGA,OAAOE,AAAmB,MAAnBA,UAAU,IAAI,IAAUA,UAAU,IAAI,CAAC,MAAM,GAAG,IAAI,IAAI7R,KAAAA,eAAeA,CAAC,CAAC,OAAO,EAAEwR,UAAU,GAAG,CAAC,CAAC,EAAEA,UAAU,IAAI,CAAC,CAAC,EAAEK,UAAU,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI;IACpK;ICzBO,MAAMD;QAMZ,OAAO,eAAenW,KAAc,EAAgB;YAEnD,IAAIA,SAAS,AAAiB,YAAjB,OAAOA,SAAsB,UAAUA,SAAS,aAAaA,OACzE,OAAOA;YAIR,OAAO;gBACN,MAAM;gBACN,SAAS;gBACT,MAAMA;YACP;QACD;QACA,YAAYqW,MAA4B,EAAEJ,GAAY,EAAEC,WAAoB,CAAE;YAC7E,IAAI,CAAC,SAAS,GAAGI,yBAAAA,MAAY,CAAC;gBAC7B,GAAGD,MAAM;YAMV;YACM,IAAI,CAAC,GAAG,GAAGJ;YACX,IAAI,CAAC,WAAW,GAAGC;QAC1B;QAKO,uBAAgCK,SAAmE,EAAE;YAC3G,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CACvC,CAACC;gBAEA,MAAMxW,QAAQuW,UAAUC;gBAExB,IAAIxW,OACH,OAAOxC,QAAQ,MAAM,CACpBhC,OAAO,MAAM,CAACwE,OAAO;oBACpB,OAAO;wBACN,QAAQwW,SAAS,MAAM,CAAC,MAAM;wBAC9B,KAAKA,SAAS,MAAM,CAAC,GAAG;oBACzB;gBACD;gBAIF,OAAOA;YACR,GACA,CAACxW;gBAEA,MAAMyW,gBAA8B;oBACnC,MAAMzW,MAAM,QAAQ,EAAE,UAAU;oBAChC,SAASA,MAAM,OAAO,IAAI;oBAC1B,MAAMA,MAAM,QAAQ,EAAE;oBACtB,OAAO;wBACN,QAAQA,MAAM,MAAM,EAAE;wBACtB,KAAKA,MAAM,MAAM,EAAE;oBACpB;gBACD;gBAGA,IAAIA,MAAM,QAAQ,EAAE,MACnB;oBAAA,IAAI,AAA+B,YAA/B,OAAOA,MAAM,QAAQ,CAAC,IAAI,EAAe;wBAG5C,MAAM0W,cAAc1W,MAAM,QAAQ,CAAC,IAAI;wBACvC,IAAI0W,YAAY,OAAO,EACtBD,cAAc,OAAO,GAAGC,YAAY,OAAO;wBAG5CD,cAAc,IAAI,GAAGC;oBACtB;gBAAA;gBAID,OAAOlZ,QAAQ,MAAM,CAACiZ;YACvB;QAEF;QAGA,MAAa,IAAaJ,MAA0B,EAAc;YAC3D,IAAI;gBACA,MAAMM,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAMX,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,IAAIna,KAAAA;gBACxE,IAAI,IAAI,CAAC,GAAG,IAAI8a,AAAS,QAATA,OAAe,OAAOnZ,QAAQ,MAAM,CAAC;oBAAC,MAAM;oBAAK,SAAS;gBAAe;gBAClG,IAAI,CAAC,SAAS,GAAGmZ,OAAO,MAAM;gBACrB,MAAMH,WAAW,MAAM,IAAI,CAAC,SAAS,CAAI;oBACrC,GAAGH,MAAM;oBACT,GAAIM,QAAQ;wBACR,WAAWA;wBACX,YAAYA;oBAChB,IAAI,CAAC,CAAC;gBACV;gBAEA,OAAOH,SAAS,IAAI;YAC9B,EAAE,OAAOxW,OAAO;gBACf,OAAOxC,QAAQ,MAAM,CAAC2Y,KAAK,cAAc,CAACnW;YAC3C;QACD;IACD;ICnGO,SAAS4W,iBAAiBvO,GAAW,EAAEwO,GAAW;QACxD,OAAO3V,KAAK,KAAK,CAACA,KAAK,MAAM,KAAM2V,CAAAA,MAAMxO,MAAM,MAAMA;IACtD;IAEO,MAAMyO,eAAe,CAACC;QAE5B,MAAMC,WAAWC,6BAAAA,QAAa,CAACF;QAE/B,MAAMG,WAAWC,8BAAAA,MAAW,CAACJ;QAC7B,MAAMK,QAAQC,2BAAAA,QAAW,CAACN;QAE1B,MAAMO,WAAWF,MAAM,IAAI;QAE3B,MAAMG,mBAAmBH,MAAM,KAAK;QAEpC,OAAO;YACN,MAAMJ;YACN,MAAME;YACN,MAAMI;YACN,kBAAkBC,iBAAiB,QAAQ;QAC5C;IACD;IAiBO,MAAMC,2BAA2B,CAACC,OAAeC,QAAgBC;QACvE,MAAMC,cAAcD,WAAW,CAAC,EAAE,GAAGA,WAAW,CAAC,EAAE;QACnD,IAAIE;QACJ,IAAIC;QAEJ,IAAIL,QAAQC,SAASE,aAAa;YAEjCE,aAAaJ;YACbG,YAAYH,SAASE;QACtB,OAAO;YAENC,YAAYJ;YACZK,aAAaL,QAAQG;QACtB;QAEA,MAAMG,KAAMN,AAAAA,CAAAA,QAAQI,SAAQ,IAAK;QACjC,MAAMG,KAAMN,AAAAA,CAAAA,SAASI,UAAS,IAAK;QACnC,MAAMG,KAAKF,KAAKF;QAChB,MAAMK,KAAKF,KAAKF;QAGhB,OAAO;YACN,IAAIC,KAAKN;YACT,IAAIO,KAAKN;YACT,IAAIO,KAAKR;YACT,IAAIS,KAAKR;QACV;IACD;IAGO,MAAMS,gBAAgB,CAACC;QAC7B,MAAMC,UAAoB,EAAE;QAE5B,MAAMC,SAAS,IAAIC,qCAAAA,MAAMA,CAAC;YACzB,WAAUja,IAAI,EAAEka,UAAU;gBACzB,IAAIla,AAAS,UAATA,QAAmBka,CAAAA,WAAW,GAAG,CAAC,IAAI,MAAMA,WAAW,UAAU,CAAC,IAAI,EAAC,GAC1EH,QAAQ,IAAI,CAACG,WAAW,GAAG,CAAC,IAAI,MAAMA,WAAW,UAAU,CAAC,IAAI;YAElE;QACD;QAEAF,OAAO,KAAK,CAACF;QACbE,OAAO,GAAG;QAEV,OAAOD;IACR;IAQO,MAAMI;QACZ,OAAO,OAAOC,SAAiB,EAAEC,YAAoB,kBAAkB,EAAE;YAEvE,IAAI,AAAqB,YAArB,OAAOD,aAA0BA,AAAgC,OAAhCA,UAAU,QAAQ,GAAG,MAAM,EACjEA,aAAa;YAGZ,MAAME,OAAO,IAAIjX,KAAK+W;YAEtB,MAAMG,MAA8B;gBACrC,MAAQzR,OAAOwR,KAAK,WAAW;gBAC/B,IAAMxR,OAAOwR,KAAK,WAAW,IAAI,KAAK,CAAC;gBACvC,IAAMxR,OAAOwR,KAAK,QAAQ,KAAK,GAAG,QAAQ,CAAC,GAAG;gBAC9C,IAAMxR,OAAOwR,KAAK,OAAO,IAAI,QAAQ,CAAC,GAAG;gBACzC,IAAMxR,OAAOwR,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG;gBAC1C,IAAMxR,OAAOwR,KAAK,UAAU,IAAI,QAAQ,CAAC,GAAG;gBAC5C,IAAMxR,OAAOwR,KAAK,UAAU,IAAI,QAAQ,CAAC,GAAG;gBAC5C,GAAKxR,OAAOwR,KAAK,QAAQ,KAAK;gBAC5B,GAAKxR,OAAOwR,KAAK,OAAO;gBAC1B,GAAKxR,OAAOwR,KAAK,QAAQ;gBACzB,GAAKxR,OAAOwR,KAAK,UAAU;gBAC3B,GAAKxR,OAAOwR,KAAK,UAAU;YAC1B;YAEA,OAAOD,UAAU,OAAO,CAAC,qCAAqC9X,CAAAA,MAAOgY,GAAG,CAAChY,IAAI;QAC/E;IACC;IACK,MAAMiY,gBAAgB,CAACV,MAAcW;QAC3C,IAAIC,aAAaZ;QAEjB,MAAMa,aAAa,CAACC,OAAqCA,AAAc,UAAdA,KAAK,IAAI,IAAcA,AAAc,UAAdA,KAAK,IAAI;QAEzF,MAAMC,cAAc,CAACD;YACpB,IAAIE,qCAAAA,QAAAA,CAAAA,WAAoB,CAACF,OACxB,KAAK,MAAMG,SAASH,KAAK,QAAQ,CAAE;gBAClC,IAAID,WAAWI,QACdN,SAASM;gBAEVF,YAAYE;YACb;QAEF;QAEA,MAAMC,UAAU,IAAIC,oCAAAA,UAAUA,CAAC,CAACvZ,OAAOwZ;YACtC,IAAIxZ,OACHX,QAAQ,GAAG,CAACW;iBAGZwZ,IAAI,OAAO,CAACL;YAGbH,aAAaS,kCAAcD,KAAK;gBAAE,gBAAgB;YAAM;QACzD;QAEA,MAAMlB,SAAS,IAAIC,qCAAAA,MAAMA,CAACe,SAAS;YAAE,gBAAgB;QAAM;QAC3DhB,OAAO,KAAK,CAACF;QACbE,OAAO,GAAG;QAEV,OAAOU;IACR;IAEO,MAAMU,iBAAiB,CAAC1Z;QAC9B,IAAIA,iBAAiB5B,OACpB,OAAO4B,MAAM,QAAQ;QAGtB,IAAI,AAAiB,YAAjB,OAAOA,OACV,OAAOhD,KAAK,SAAS,CAACgD;QAGvB,OAAOA;IACR;IAkCO,MAAM2Z,gBAAgB,CAAO,GAAGC,UAC/B,OAAOC,MAAMC;YACnB,IAAI3d,SAA0B;gBAC7B,MAAM;gBACN,SAAS;gBAET,MAAM;YACP;YAEA,IAAK,IAAIwC,QAAQ,GAAGA,QAAQib,QAAQ,MAAM,EAAEjb,QAAS;gBACpD,MAAMob,SAASH,OAAO,CAACjb,MAAM;gBAE7B,IAAI;oBACHxC,SAAS,MAAM4d,OAAOF,MAAMC;gBAC7B,EAAE,OAAO9Z,OAAO;oBACf7D,SAASga,KAAK,cAAc,CAACnW;gBAC9B;gBAGA,IAAI7D,AAAgB,MAAhBA,OAAO,IAAI,IAAUA,AAAgB,QAAhBA,OAAO,IAAI,EACnC;gBAID,IAAIwC,UAAUib,QAAQ,MAAM,GAAG,GAC9BC,KAAK,MAAM,CAAC,KAAK,CAAC1d,OAAO,OAAO,EAAEud,eAAevd,OAAO,IAAI,GAAGA,OAAO,KAAK;YAE7E;YAGA,OAAOA;QACR;IAUM,eAAe6d,oBAAoBC,IAAU,EAAE7B,IAAY,EAAEla,UAAU;QAAE,QAAQ;QAAa,UAAU;IAAK,CAAC;QACpH,IAAI;YAEH,MAAM+b,KAAK,QAAQ,CAClB,OAAO,EAAEC,WAAW,EAAErY,MAAM,EAAE;gBAC7B,MAAMsY,OAAO,IAAIC,KAAK;oBAACF;iBAAY,EAAE;oBAAE,MAAMrY;gBAAO;gBACpD,MAAMtC,UAAU,SAAS,CAAC,KAAK,CAAC;oBAAC,IAAI8a,cAAc;wBAAE,CAACxY,OAAO,EAAEsY;oBAAK;iBAAG;YACxE,GACA;gBAAE,aAAa/B;gBAAM,QAAQla,QAAQ,MAAM;YAAC;QAE9C,EAAE,OAAO8B,OAAO;YACf,IAAI9B,QAAQ,QAAQ,EAEnB,MAAM+b,KAAK,QAAQ,CAAC,CAACC;gBACpB,MAAMI,MAAM9a,SAAS,aAAa,CAAC;gBACnC8a,IAAI,eAAe,GAAG;gBACtBA,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC;;;;;QAKjB,CAAC;gBAELA,IAAI,SAAS,GAAGJ;gBAChB1a,SAAS,IAAI,CAAC,WAAW,CAAC8a;gBAE1B,MAAMC,QAAQ/a,SAAS,WAAW;gBAClC+a,MAAM,kBAAkB,CAACD;gBAGzB,MAAME,YAAYlb,OAAO,YAAY;gBACrCkb,UAAU,eAAe;gBACzBA,UAAU,QAAQ,CAACD;gBAEnB/a,SAAS,WAAW,CAAC;gBACrBA,SAAS,IAAI,CAAC,WAAW,CAAC8a;gBAC1BE,UAAU,eAAe;YAC1B,GAAGpC;QAEL;IACD;IAUO,SAASqC,cACfR,IAAU,EACVS,aAAqB,EACrBC,MAAc,EACdC,cAAsB,EACtB1c,UAGI,CAAC,CAAC;QACN,MAAM,EACL2c,gBAAgB,IAAI,EACpBC,iBAAiB,KAAK,EACtB,GAAG5c;QAEJ,MAAM6c,QAAQd,KAAK,OAAO,CAACS;QAC3B,MAAMM,SAASf,KAAK,OAAO,CAACW;QAE5B,MAAMK,aAAaC,YAAY;YAC9B,IAAI;gBACH,IAAI,MAAMH,MAAM,KAAK,KAAK,KAAK,MAAMA,MAAM,SAAS,MAAO,OAAMA,MAAM,WAAW,MAAI,EAAC,EAAG,QAAQ,CAACJ,SAAS;oBAC3G,MAAMK,OAAO,KAAK,CAAC;wBAAE,OAAO;oBAAK;oBAEjC,IAAIF,gBACHK,cAAcF;gBAEhB;YACD,EAAE,OAAO/d,KAAK,CAAE;QACjB,GAAG2d;QAEH,OAAO;YACNM,cAAcF;QACf;IACD;IAGO,MAAMG,sBAAsB,CAAChe;QACnC,MAAMie,oBAA4C,CAAC;QAGnD,IAAI,CAACje,OAAO,CAACA,IAAI,QAAQ,CAAC,MACzB,OAAOie;QAIR,MAAMC,cAAcle,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;QAGrC,IAAI,CAACke,aACJ,OAAOD;QAIR,MAAME,mBAAmBD,YAAY,KAAK,CAAC,IAAI,CAAC,EAAE;QAGlD,MAAME,mBAAmBD,iBAAiB,KAAK,CAAC;QAEhD,KAAK,MAAME,QAAQD,iBAAkB;YAEpC,IAAI,CAACC,MAAM;YAEX,MAAMC,aAAaD,KAAK,OAAO,CAAC;YAGhC,IAAIC,AAAe,OAAfA,YACHL,iBAAiB,CAACI,KAAK,GAAG;iBACpB;gBACN,MAAM5a,MAAM4a,KAAK,KAAK,CAAC,GAAGC;gBAC1B,MAAMlV,QAAQiV,KAAK,KAAK,CAACC,aAAa;gBAGtC,IAAI;oBACHL,iBAAiB,CAACxa,IAAI,GAAGmE,mBAAmBwB;gBAC7C,EAAE,OAAOsC,GAAG;oBACXuS,iBAAiB,CAACxa,IAAI,GAAG2F;gBAC1B;YACD;QACD;QAEA,OAAO6U;IACR;IAQO,MAAMM,gBAAgB,CAA8B7B,QAAW8B,WAC9DpgB,OAAO,MAAM,CAAC,CAAC,GAAGogB,UAAU9B;;;;IClXpC,MAAM+B,WAAmC;QACxC,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,YAAY;QACZ,WAAW;QACX,UAAU;QACV,UAAU;QACV,UAAU;QACP,WAAW;QACX,WAAW;IACf;IAEO,MAAMC,aAA4B,OAAOjC,MAAMC;QACrD,MAAM,EAAEiC,oBAAoB,EAAEC,kBAAkB,EAAEC,kBAAkB,EAAE,GAAGnC,OAAO,WAAW;QAC3F,MAAMoC,eAAerC,KAAK,UAAU;QACjC,MAAMhV,UAAS;YAChB,QAAQiV,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;YAClE,OAAOrC,OAAO,KAAK;QACpB;QAED,IAAIzd,OAAO,IAAI8Z,KAAK;YAAEtR;QAAQ;QAG9BxI,KAAK,sBAAsB,CAAiB,CAACma;YAC5C,MAAM4F,UAAUtC,AAAoB,YAApBA,OAAO,QAAQ,GAAe,OAAO;YAGrD,IAAItD,AAAwB,MAAxBA,SAAS,IAAI,CAAC,KAAK,EAAQ;gBAC9B,IAAI6F,SAAS7F,SAAS,MAAM,CAAC,eAAe,IAAI,CAAC,EAAE,EAAE4F,QAAQ,SAAS,CAAC;gBAEvE,IAAI5F,AAAwB,aAAxBA,SAAS,IAAI,CAAC,KAAK,EACtB6F,SAASD,UAAUP,QAAQ,CAACrF,SAAS,IAAI,CAAC,KAAK,CAAC;gBAEjD,IAAIA,AAAwB,cAAxBA,SAAS,IAAI,CAAC,KAAK,EACtB6F,SAAS,CAAC,EAAE,EAAED,UAAUP,QAAQ,CAACrF,SAAS,IAAI,CAAC,KAAK,CAAC,EAAE;qBACjD,IAAIqF,QAAQ,CAACrF,SAAS,IAAI,CAAC,KAAK,CAAC,EACvC6F,SAASR,QAAQ,CAACrF,SAAS,IAAI,CAAC,KAAK,CAAC;gBAGvC,OAAO;oBACN,MAAMqF,QAAQ,CAACrF,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM;oBAC5C,SAAS6F;oBACT,MAAM7F,SAAS,IAAI;gBACpB;YACD;QACD;QAGA,MAAMna,KAAK,GAAG,CAAC;YACd,QAAQ;YACR,KAAK;YACL,iBAAiB,CAAC,kBAAkB,EAAEyd,AAAoB,YAApBA,OAAO,QAAQ,GAAe,OAAO,KAAK,CAAC,CAAC;QACnF;QAGA,MAAMwC,YAAY,MAAMjgB,KAAK,GAAG,CAA+C;YAC9E,QAAQ;YACR,KAAK;YACL,iBAAiB;QAClB;QAEA,MAAMkgB,QAAQD,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM;QAExC,MAAME,eAAe,OAAOC;YAE3B,MAAMC,SAASD,QAAQ,MAAM,CAAC,CAACrf,MAAQ,CAAC,CAACA,OAAOA,AAAe,OAAfA,IAAI,IAAI;YAGxD,OAAO,MAAMI,QAAQ,GAAG,CACvBkf,OAAO,GAAG,CAAC,OAAOtf;gBACjB,MAAMuf,WAAWC,AAAAA,IAAAA,sBAAAA,kBAAAA,AAAAA,EAAmBxf;gBACpC,MAAMyf,QAAQ,MAAMC,AAAAA,IAAAA,sBAAAA,aAAAA,AAAAA,EAAc1f,KAAK6Z,6BAAAA,IAAS,CAACiF,cAAcS;gBAC/D,MAAMI,WAAW,IAAIC,CAAAA,4BAAAA;gBACrBD,SAAS,MAAM,CAAC,iBAAiBJ;gBACjCI,SAAS,MAAM,CAAC,QAAQ;gBACxBA,SAAS,MAAM,CAAC,UAAUR;gBAC1BQ,SAAS,MAAM,CAAC,eAAe;gBAC/BA,SAAS,MAAM,CAAC,iBAAiB;gBACjCA,SAAS,MAAM,CAAC,eAAe;gBAC/BA,SAAS,MAAM,CAAC,gBAAgB;gBAChCA,SAAS,MAAM,CAAC,SAAS1F,2BAAAA,gBAAmB,CAACwF;gBAE7C,MAAMI,MAAM,MAAM5gB,KAAK,GAAG,CAA4B;oBACrD,QAAQ;oBACR,KAAK;oBACL,MAAM0gB;oBACN,iBACCjD,AAAoB,YAApBA,OAAO,QAAQ,GAAe,oBAAoB;gBACpD;gBAEA,OAAOmD,IAAI,GAAG;YACf;QAEF;QAGA,MAAMC,sBAAsB/E,cAAc2B,OAAO,OAAO;QACxD,MAAMqD,sBAAsB,MAAMX,aAAaU;QAE/C,MAAME,UAAUtE,cAAcgB,OAAO,OAAO,EAAE,CAACN;YAC9C,IAAIA,IAAI,OAAO,CAAC,GAAG,EAAE;gBACpB,MAAM6D,MAAMH,oBAAoB,SAAS,CAAC,CAACf,KAAOA,OAAO3C,IAAI,OAAO,CAAC,GAAG;gBACxEA,IAAI,OAAO,CAAC,GAAG,GAAG2D,mBAAmB,CAACE,IAAI,CAAC,OAAO;gBAClD7D,IAAI,OAAO,CAAC,sBAAsB,GAAG2D,mBAAmB,CAACE,IAAI,CAAC,OAAO;gBACrE7D,IAAI,OAAO,CAAC,kBAAkB,GAAG2D,mBAAmB,CAACE,IAAI,CAAC,OAAO;gBACjE7D,IAAI,OAAO,CAAC,gBAAgB,GAAG;YAChC;YAEA,OAAOA;QACR;QASA,MAAM8D,qBAAqBrB,AAAuB,aAAvBA,qBAAkC;YAACF;SAAqB,GAAGC;QACtF,MAAMuB,qBAAqB,MAAMf,aAAac;QAC9C,MAAME,eAAeD,mBAAmB,GAAG,CAAC,CAAC9B,OAAU;gBACtD,KAAKA,KAAK,OAAO;gBACjB,mBAAmB;gBACnB,SAAS;YACV;QACA,MAAMgC,oBAAoBF,mBAAmB,GAAG,CAAC,CAAC9B,OAAU;gBAC3D,KAAKA,MAAM;gBACX,YAAYA,MAAM;YACnB;QAGA,MAAMiC,OAAO5D,OAAO,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC;QACvD,MAAM6D,eAAe7D,OAAO,WAAW,CAAC,4BAA4B;QACpE,MAAM8D,eAAe3B,AAAuB,aAAvBA,qBAAkC,QAAQ;QAE/D,MAAM4B,gBAAgB;eACjBF,aAAa,MAAM,GAAG,IAAI;gBAAC;oBAAE,IAAI,CAAC,KAAK,EAAEA,YAAY,CAAC,EAAE,EAAE;oBAAE,YAAY;gBAAE;aAAE,GAAG,EAAE;eACjF7D,OAAO,WAAW,CAAC,oBAAoB,EAAE,IAAK2B,CAAAA,OAAS;oBAAE,IAAKA,KAAK,QAAQ;oBAAE,YAAaA,KAAK,SAAS,GAAE,IAAI;gBAAE,OAAO,EAAE;SAC7H;QAED,IAAGiC,QAAQ,CAACG,cAAc,IAAI,CAACpC,CAAAA,OAAQ,qBAAqBA,OAAQoC,cAAc,IAAI,CAAC;YAAE,IAAK;YAAmB,YAAa;QAAE;QAEhI,MAAMC,cAAmC;YACxC,OAAOhE,OAAO,WAAW,CAAC,cAAc;YACxCsD;YAEA,UAAUtD,OAAO,WAAW,CAAC,iBAAiB;YAC9C8D;YACA,cAAc5gB,KAAK,SAAS,CAACwgB;YAC7B,mBAAmBxgB,KAAK,SAAS,CAACygB;YAClC,MAAM;YACN,wBAAwB;YACxB,eAAe;YACf,YAAY;YACZ,gBAAgB;YAChB,QAAQ;YACR,cAAc;YACd,YAAY3D,OAAO,WAAW,EAAE,sBAAsB,IAAI;YAC1D+D;YACA,GAAI/D,OAAO,WAAW,CAAC,KAAK,GAAG;gBAAE,YAAYA,OAAO,WAAW,CAAC,KAAK;YAAC,IAAI,CAAC,CAAC;QAC7E;QAEA,MAAMiE,UAAUjE,AAAoB,YAApBA,OAAO,QAAQ;QAE/B,MAAMkE,UAAUD,UACb,oEACA;QAEAlE,KAAK,YAAY,CAAC,aAAa,GAAElY,KAAK,GAAG;QAEzC,MAAMsc,YAAYpE,MAAM,UAAU,QAAS,IAAI1D,KAAK;YAACtR;QAAO,GAAGiV,OAAO,QAAQ,EAAEA,OAAO,WAAW,IAAKzd;QAE1G,MAAM4gB,MAAM,MAAMgB,UAAU,GAAG,CAA8F;YAC5H,QAAQ;YACR,KAAKD;YACL,MAAMF;YACN,SAAS;gBACR,gBAAgB;gBAChB,QAAQ;gBACR,SAAS;YACV;YACA,iBAAiBC,UAAU,oBAAoB;QAChD;QACG,OAAOG,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQjB,AAAa,KAAbA,IAAI,KAAK,GAAQA,KAAK,KAAK,cAAc,KAAI,IAAIA,AAAa,KAAbA,IAAI,KAAK,GAAQ,CAAC,OAAO,CAAC,GAAGgB,CAAAA,UAAU,SAAS,IAAI,EAAC,IAAIhB,IAAI,MAAM,IAAI;IAC3I;IC7MO,MAAMkB,YAA2B,OAAOtE,MAAMC;QACpD,MAAMoC,eAAerC,KAAK,UAAU;QAEpC,MAAMuE,gBAAmC;YACxC,MAAM;YACN,QAAQ;YACR,QAAQ;YACR,KAAK;YACL,UAAU;QACX;QAEA,MAAMnE,OAAO,MAAMJ,KAAK,UAAU,CAAC;YAClC,MAAMA,KAAK,KAAK;YAChB,KAAKC,OAAO,GAAG,IAAI;YACnB,SAASA,OAAO,OAAO,EAAE,IAAI,CAACqC,KAAQ;oBAAE,GAAGiC,aAAa;oBAAE,GAAGjC,EAAE;gBAAC,OAAO,EAAE;QAC1E;QAGA,IAAI;YACH,MAAMlC,KAAK,eAAe,CAAC,oBAAoB;gBAAE,OAAO;YAAU;QACnE,EAAE,OAAOja,OAAO;YACf,OAAO;gBAAE,MAAM;gBAAK,SAAS;gBAAQ,MAAMia,KAAK,GAAG;YAAG;QACvD;QAGA,MAAMA,KAAK,eAAe,CAAC,2BAA2B;YAAE,OAAO;QAAU;QAIzE,IAAI,MAAMA,KAAK,OAAO,CAAC,iCAAiC,SAAS,IAChE,MAAMA,KAAK,OAAO,CAAC,0CAA0C,KAAK;QAGnE,IAAI,MAAMA,KAAK,OAAO,CAAC,gFAAgF,SAAS,IAC/G,MAAMA,KAAK,OAAO,CAAC,gFAAgF,KAAK;QAIzG,MAAMoE,gBAAgBpE,KAAK,OAAO,CAAC;QACnC,MAAMoE,cAAc,KAAK;QACzB,MAAMA,cAAc,IAAI,CAACvE,OAAO,KAAK;QAGrC,MAAME,oBAAoBC,MAAMH,OAAO,OAAO;QAE9C,MAAMG,KAAK,KAAK,CAAC;QAEjB,MAAMA,KAAK,QAAQ,CAAC,KAAK,CAAC;QAE1B,MAAMA,KAAK,QAAQ,CAAC,KAAK,CAAC;QAG1B,MAAMA,KAAK,cAAc,CAAC;QAG1B,MAAMqE,gBAAgBrE,KAAK,OAAO,CAAC,yCAAyC,GAAG,CAAC;QAChF,MAAMsE,gBAAgBzE,AAA0C,aAA1CA,OAAO,WAAW,CAAC,kBAAkB;QAC3D,IAAIyE,eAEH,MAAMD,cACJ,OAAO,CAAC,0DACR,MAAM,CAAC;YAAE,SAAS;QAAK,GACvB,KAAK;aAGP,MAAMA,cACJ,OAAO,CAAC,0DACR,MAAM,CAAC;YAAE,SAAS;QAAK,GACvB,KAAK;QAGR,MAAM5B,SAAS,MAAMlf,QAAQ,GAAG,CAC9B+gB,AAAAA,CAAAA,gBAAgB;YAACzE,OAAO,WAAW,CAAC,oBAAoB;SAAC,GAAGA,OAAO,WAAW,CAAC,kBAAiB,EAAG,GAAG,CAAC,CAAC1c;YACxG,MAAMuf,WAAWC,AAAAA,IAAAA,sBAAAA,kBAAAA,AAAAA,EAAmBxf;YACpC,OAAO0f,AAAAA,IAAAA,sBAAAA,aAAAA,AAAAA,EAAc1f,KAAK6Z,6BAAAA,IAAS,CAACiF,cAAcS;QACnD;QAED,MAAM6B,gBAAgBvE,KAAK,OAAO,CACjC;QAED,MAAMwE,aAAa,MAAMD,cAAc,KAAK;QAE5C,IAAK,IAAIvd,IAAI,GAAGA,IAAIwd,YAAYxd,IAAK;YACpC,MAAMwa,OAAO+C,cAAc,GAAG,CAACvd;YAC/B,MAAM4b,QAAQH,MAAM,CAACzb,EAAE;YAGvB,MAAMwa,KAAK,QAAQ,CAAC,CAACvC,OAASA,KAAK,cAAc;YAGjD,IAAI,MAAMuC,KAAK,OAAO,CAAC,iBAAiB,SAAS,IAChD,MAAMA,KAAK,OAAO,CAAC,yBAAyB,MAAM,CAAC;gBAAE,SAAS;YAAK,GAAG,KAAK;iBAE3E,MAAMA,KAAK,KAAK;YAIjB,MAAMxB,KAAK,eAAe,CAAC,mDAAmD;gBAAE,OAAO;YAAU;YAEjG,MAAMA,KACJ,OAAO,CAAC,4FACR,MAAM,CAAC;gBAAE,SAAS;YAAO,GACzB,KAAK;YACP,MAAMyE,qBAAqBzE,KAAK,YAAY,CAAC;YAC7C,MAAMA,KACJ,OAAO,CAAC,wGACR,KAAK;YACP,MAAM0E,cAAc,MAAMD;YAC1B,MAAMC,YAAY,QAAQ,CAAC;gBAAC9B;aAAM;YAGlC,MAAM5C,KAAK,eAAe,CACzB,4GACA;gBAAE,OAAO;YAAW;YAGrB,MAAMA,KACJ,OAAO,CAAC,gFACR,MAAM,CAAC;gBAAE,SAAS;YAAK,GACvB,KAAK;YAEP,MAAMA,KAAK,cAAc,CAAC;QAC3B;QAGA,MAAM2E,mBAAmB3E,KACvB,OAAO,CAAC,yCACR,GAAG,CAAC,GACJ,OAAO,CAAC;QACV,MAAM2E,iBAAiB,KAAK;QAC5B,MAAMA,iBAAiB,IAAI,CAAC9E,OAAO,WAAW,CAAC,iBAAiB;QAGhE,MAAM4D,OAAO5D,OAAO,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC;QACvD,MAAM+E,kBAAkB5E,KAAK,OAAO,CAAC,yCAAyC,GAAG,CAAC;QAClF,IAAIyD,MACH,MAAMmB,gBAAgB,OAAO,CAAC,kCAAkC,MAAM,CAAC;YAAE,SAAS;QAAS,GAAG,KAAK;QAEpG,IAAG/E,OAAO,WAAW,CAAC,oBAAoB,EACzC,KAAK,MAAM2B,QAAQ3B,OAAO,WAAW,CAAC,oBAAoB,CAAE;YAC3D,MAAMgF,mBAAmBD,gBAAgB,OAAO,CAAC,kCAAkC,OAAO,CAAC,CAAC,KAAK,EAAEpD,KAAK,QAAQ,EAAE;YAClH,IAAI,MAAMqD,iBAAiB,SAAS,OAAQrD,KAAK,SAAS,EAAG,MAAMqD,iBAAiB,KAAK;YACzF,MAAM7E,KAAK,cAAc,CAAC;QAC3B;QAGD,MAAM8E,gBAAgB9E,KAAK,OAAO,CAAC;QACnC,IAAI,MAAM8E,cAAc,SAAS,MAAOjF,OAAO,WAAW,CAAC,mBAAmB,EAAE,MAAMiF,cAAc,KAAK;QAGzG,IAAIjF,OAAO,WAAW,CAAC,iBAAiB,CAAC,MAAM,GAAG,KAAKA,OAAO,WAAW,CAAC,4BAA4B,CAAC,MAAM,GAAG,GAAG;YAClH,MAAMkF,WAAWlF,OAAO,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAACqC,KAC7DrC,OAAO,WAAW,CAAC,4BAA4B,CAAC,QAAQ,CAACqC,GAAG,EAAE;YAE/D,IAAI6C,SAAS,MAAM,GAAG,GAAG;gBACxB,MAAMC,mBAAmBhF,KAAK,OAAO,CAAC,yCAAyC,GAAG,CAAC;gBACnF,MAAM3b,OAAO0gB,QAAQ,CAAC,EAAE,CAAC,SAAS;gBAClC,MAAME,eAAeD,iBAAiB,OAAO,CAAC,8BAA8B,SAAS,CAAC3gB,MAAM;oBAAE,OAAO;gBAAK;gBAC1G,IAAK,MAAM4gB,aAAa,KAAK,KAAM,GAClC,MAAMA,aAAa,KAAK,GAAG,OAAO,CAAC,MAAM,KAAK;YAEhD;QACD;QAGA,MAAM,EAACC,SAAS,EAAEC,OAAO,EAAC,GAAE,MAAM,IAAI5hB,QAA6C,OAAOC;YAEzF,MAAM4hB,iBAAiB,OAAO7I;gBAC7B,MAAMpZ,MAAMoZ,SAAS,GAAG;gBACxB,IAAIpZ,IAAI,QAAQ,CAAC,yBAAyBA,IAAI,QAAQ,CAAC,0BAA0B;oBAChF,MAAMkiB,eAAe,MAAM9I,SAAS,IAAI;oBACxCyD,KAAK,GAAG,CAAC,YAAYoF;oBACrB5hB,QAAQ;wBAAC,WAAU6hB,cAAc,KAAK;wBAAY,SAASA,cAAc;oBAAM;gBAChF;YACD;YAGArF,KAAK,EAAE,CAAC,YAAYoF;YACdxF,KAAK,YAAY,CAAC,aAAa,GAAElY,KAAK,GAAG;YAE/C,MAAM4d,oBAAoBtF,KAAK,OAAO,CAAC;YACvC,IAAIH,AAAoB,YAApBA,OAAO,QAAQ,EAClB,MAAMyF,kBAAkB,OAAO,CAAC,0BAA0B,MAAM,CAAC;gBAAE,SAAS;YAAM,GAAG,OAAO,CAAC,UAAU,KAAK;iBAE5G,IAAIzF,OAAO,WAAW,CAAC,KAAK,EAAE;gBAE7B,MAAMyF,kBAAkB,OAAO,CAAC,0BAA0B,MAAM,CAAC;oBAAE,SAAS;gBAAO,GAAG,OAAO,CAAC,UAAU,KAAK;gBAG7G,MAAMtF,KAAK,OAAO,CAAC,yCAAwC;oBAAC,SAAS;gBAAG,GAAG,KAAK;gBAChF,MAAMA,KAAK,OAAO,CAAC,qDAAqD;oBAAE,SAASxB,cAAc,MAAM,CAACqB,OAAO,WAAW,CAAC,KAAK,EAAE;gBAAS,GAAG,KAAK;gBACnJ,MAAMG,KAAK,cAAc,CAAC;gBAG1B,MAAMA,KAAK,OAAO,CAAC,yCAAwC;oBAAC,SAAS;gBAAG,GAAG,KAAK;gBAChF,MAAMA,KAAK,OAAO,CAAC,0CAA0C,KAAK;gBAElE,MAAMuF,iBAAiB,MAAMvF,KAAK,QAAQ,CAAC;oBAC1C,MAAMwF,YAAYjgB,SAAS,aAAa,CAAC;oBACzC,MAAMkgB,oBAAoBD,WAAW,QAAQ,CAAC,EAAE,CAAC,gBAAgB;oBACjE,MAAME,eAAejZ,MAAM,IAAI,CAAClH,SAAS,gBAAgB,CAAC;oBAC1D,MAAMogB,UAAUD,aAAa,GAAG,CAAClE,CAAAA,OAAQA,KAAK,WAAW,EAAE;oBAE3D,OAAO;wBAAC,eAAeiE;wBAAmB,aAAcE;oBAAO;gBAChE;gBACA,MAAMC,eAAeL,eAAe,WAAW,CAAC,EAAE;gBAClD,IAAIM,gBAAgBpe,OAAOme,cAAc,MAAM,IAAI,CAAC,EAAE;gBAEtD,MAAME,eAAeP,eAAe,WAAW,CAACA,eAAe,WAAW,CAAC,MAAM,GAAG,EAAE;gBACtF,IAAIQ,gBAAgBte,OAAOqe,cAAc,MAAM,IAAI,CAAC,EAAE;gBAEtD,IAAIE,cAAcve,OAAO+W,cAAc,MAAM,CAACqB,OAAO,WAAW,CAAC,KAAK,EAAE;gBACxE,MAAMG,KAAK,KAAK,CAAC,KAAK,CAAC,GAAGgG,cAAcD,gBAAiBC,AAAAA,CAAAA,cAAYD,aAAY,IAAGR,eAAe,aAAa,GAAGS,cAAcH,gBAAgB,CAAEA,CAAAA,gBAAgBG,WAAU,IAAGT,eAAe,aAAa,GAAG;gBAC/M,MAAMvF,KAAK,OAAO,CAAC,sDAAqD;oBAAE,SAASgG,cAAc;gBAAG,GAAG,KAAK;gBAC5G,MAAMhG,KAAK,cAAc,CAAC;gBAI1B,MAAMA,KAAK,OAAO,CAAC,yCAAwC;oBAAC,SAAS;gBAAG,GAAG,KAAK;gBAChF,MAAMA,KAAK,OAAO,CAAC,4CAA4C,KAAK;gBAEpE,MAAMiG,mBAAmB,MAAMjG,KAAK,QAAQ,CAAC;oBAC5C,MAAMwF,YAAYjgB,SAAS,aAAa,CAAC;oBACzC,MAAMkgB,oBAAoBD,WAAW,QAAQ,CAAC,EAAE,CAAC,gBAAgB;oBACjE,MAAME,eAAejZ,MAAM,IAAI,CAAClH,SAAS,gBAAgB,CAAC;oBAC1D,MAAMogB,UAAUD,aAAa,GAAG,CAAClE,CAAAA,OAAQA,KAAK,WAAW,EAAE;oBAE3D,OAAO;wBAAC,eAAeiE;wBAAmB,aAAcE;oBAAO;gBAChE;gBACA,MAAMO,iBAAiBD,iBAAiB,WAAW,CAAC,EAAE;gBACtD,IAAIE,kBAAkB1e,OAAOye,gBAAgB,MAAM,IAAI,CAAC,EAAE;gBAE1D,MAAME,iBAAiBH,iBAAiB,WAAW,CAACA,iBAAiB,WAAW,CAAC,MAAM,GAAG,EAAE;gBAC5F,IAAII,kBAAkB5e,OAAO2e,gBAAgB,MAAM,IAAI,CAAC,EAAE;gBAE1D,IAAIE,cAAc7e,OAAO+W,cAAc,MAAM,CAACqB,OAAO,WAAW,CAAC,KAAK,EAAE;gBACxE,MAAMG,KAAK,KAAK,CAAC,KAAK,CAAC,GAAGsG,cAAcD,kBAAmBC,AAAAA,CAAAA,cAAYD,eAAc,IAAGJ,iBAAiB,aAAa,GAAGK,cAAcH,kBAAkB,CAAEA,CAAAA,kBAAkBG,WAAU,IAAGL,iBAAiB,aAAa,GAAG;gBAC3N,MAAMjG,KAAK,OAAO,CAAC,wDAAuD;oBAAE,SAASsG,cAAc;gBAAG,GAAG,KAAK;gBAC9G,MAAMtG,KAAK,cAAc,CAAC;gBAG1B,MAAMA,KAAK,OAAO,CAAC,sCAAsC,MAAM,CAAC;oBAAE,SAAQ;gBAAO,GAAG,KAAK;YAC1F,OACC,MAAMsF,kBAAkB,OAAO,CAAC,0BAA0B,MAAM,CAAC;gBAAE,SAAS;YAAM,GAAG,OAAO,CAAC,UAAU,KAAK;QAG/G;QAGA,MAAMtF,KAAK,KAAK;QAEhB,OAAOiE,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQiB,WAAWA,YAAW,SAASC;IAC/C;IC1NO,MAAMoB,mBAAkC,OAAO3G,MAAMC;QAC3D,IAAIA,AAAsB,UAAtBA,OAAO,UAAU,EACpB,OAAOqE,UAAUtE,MAAMC;QAGxB,IAAIA,AAAsB,cAAtBA,OAAO,UAAU,EACpB,OAAOgC,WAAWjC,MAAMC;QAGzB,OAAOH,cAAcmC,YAAYqC,WAAWtE,MAAMC;IACnD;ICpCO,MAAM2G,uBAAsC,OAAOC,OAAO5G;QAChE,MAAM6G,UAAU7G,OAAO,OAAO,IAAI,EAAE;QAEpC,MAAMzd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQwK,QAAQ,GAAG,CAAC,CAACxE,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAC3D,OAAOrC,OAAO,KAAK;YACpB;QACD;QAEA,MAAMmD,MAAM,MAAM5gB,KAAK,GAAG,CAAqC;YAC9D,QAAQ;YACR,KAAK;YACL,QAAQ;gBACP,SAAS;gBACT,WAAW;gBACX,cAAc;gBACd,aAAa;gBACb,aAAa;gBACb,WAAW;YACZ;QACD;QAEA,OAAO6hB,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQjB,KAAK,MAAM,QAAQ,EAAE;IACrC;ICzBO,MAAM2D,mBAAkC,OAAOF,OAAO5G;QAC5D,MAAM6G,UAAU7G,OAAO,OAAO,IAAI,EAAE;QAEpC,MAAMzd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQwK,QAAQ,GAAG,CAAC,CAACxE,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAC3D,SAAS;YACV;QACD;QAEA,MAAM0E,kBAAkB;YACvB,IAAI;gBACH,MAAM5D,MAAM,MAAM5gB,KAAK,GAAG,CAA0C;oBACnE,QAAQ;oBACR,KAAK;oBACL,QAAQ;wBAAE,MAAM;wBAAG,OAAO;oBAAG;gBAC9B;gBAEA,OAAO4gB,AAAa,MAAbA,IAAI,IAAI,GAASA,IAAI,IAAI,GAAG,EAAE;YACtC,EAAE,OAAOjd,OAAO;gBACf,OAAO,EAAE;YACV;QACD;QAEA,MAAM8gB,kBAAkB;YACvB,IAAI;gBACH,MAAM7D,MAAM,MAAM5gB,KAAK,GAAG,CAAiD;oBAC1E,QAAQ;oBACR,KAAK;gBACN;gBACA,OAAO4gB,AAAe,MAAfA,IAAI,MAAM,GAASA,IAAI,IAAI,GAAG;YACtC,EAAE,OAAOjd,OAAO;gBACf,OAAO;YACR;QACD;QAEA,MAAM+gB,gBAAgB;YACrB,IAAI;gBACH,MAAM9D,MAAM,MAAM5gB,KAAK,GAAG,CAA2E;oBACpG,QAAQ;oBACR,KAAK;gBACN;gBACA,OAAO4gB,AAAa,MAAbA,IAAI,IAAI,GAASA,IAAI,IAAI,CAAC,uBAAuB,GAAG,EAAE;YAC9D,EAAE,OAAOjd,OAAO;gBACf,OAAO,EAAE;YACV;QACD;QAEA,MAAM,CAACghB,cAAcC,cAAcC,WAAW,GAAG,MAAM1jB,QAAQ,GAAG,CAAC;YAClEqjB;YACAC;YACAC;SACA;QAED,OAAO7C,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ;YAAE8C;YAAcC;YAAcC;QAAW;IACzD;ICnDO,MAAMC,qBAAoC,OAAOT,OAAO5G;QAC9D,MAAM6G,UAAU7G,OAAO,OAAO,IAAI,EAAE;QAEpC,MAAMzd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQwK,QAAQ,GAAG,CAAC,CAACxE,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAC3D,OAAOrC,OAAO,KAAK;YACpB;QACD;QAEA,MAAMmD,MAAM,MAAM5gB,KAAK,GAAG,CAA8F;YACvH,QAAQ;YACR,KAAK;YACL,QAAQ;gBACP,MAAM;YACP;QACD;QACA,MAAM+kB,OAAsBnE,KAAK,MAAM,QAAQ,cAAc,IAAI,CAACoE,QAC1D;gBACN,IAAIA,MAAM,EAAE;gBACZ,MAAMA,MAAM,IAAI;gBAChB,QAAQA,MAAM,MAAM;gBACpB,WAAWA,MAAM,SAAS;YAC3B,OACI,EAAE;QACPD,KAAK,IAAI,CAAC;YACT,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,WAAW;YACX,kBAAkBnE,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB;QACpD;QACA,OAAOiB,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQkD,MAAM;IACtB;ICzCO,MAAME,yBAAwC,OAAOZ,OAAO5G;QAClE,MAAMzd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAClE,SAAS;YACV;QACD;QAEA,IAAI;YACH,MAAMc,MAAM,MAAM5gB,KAAK,GAAG,CAAoE;gBAC7F,QAAQ;gBACR,KAAK;gBACL,QAAQ;oBAAE,MAAM;oBAAG,OAAOyd,OAAO,WAAW;gBAAC;YAC9C;YAEA,IAAImD,AAAa,MAAbA,IAAI,IAAI,EACX,OAAOiB,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQpE,OAAO,WAAW,GAAGmD,IAAI,OAAO,GAAGA,IAAI,IAAI;YAG3D,OAAOiB,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ,EAAE;QAClB,EAAE,OAAOle,OAAO;YACf,OAAOke,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ,EAAE;QAClB;IACD;ICvBO,MAAMqD,wBAAuC,OAAOb,OAAO5G;QACjE,MAAMzd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAClE,SAAS;gBACA,KAAK;YACf;QACD;QAEA,IAAI;YACH,MAAMc,MAAM,MAAM5gB,KAAK,GAAG,CAA2C;gBACpE,QAAQ;gBACR,KAAK;gBACL,MAAM;oBACO,OAAO;oBACP,QAAQ;oBACR,UAAUyd,OAAO,SAAS;oBAC1B,UAAU;oBACV,UAAU;oBACV,QAAQ;oBACR,MAAM;oBACN,QAAQ;oBACR,UAAU;oBACV,WAAW5Y,KAAK,KAAK,CAACS,KAAK,GAAG,KAAK;gBACvC;YACV;YAEA,IAAIsb,AAAa,QAAbA,IAAI,IAAI,EACX,OAAOiB,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQjB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAACxB,CAAAA,OAAS;oBAC5B,UAAUA,KAAK,IAAI;oBACnB,MAAMA,KAAK,IAAI;oBACf,WAAWA,KAAK,SAAS;oBACzB,UAAUA,KAAK,QAAQ;oBACvB,WAAWA,KAAK,SAAS;oBACzB,QAAQA,KAAK,EAAE;gBACnB;YAGV,OAAOyC,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ,EAAE;QAClB,EAAE,OAAOle,OAAO;YACf,OAAOke,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ,EAAE;QAClB;IACD;IC1CO,MAAMsD,wBAAuC,OAAOd,OAAO5G;QACjE,MAAMzd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAClE,SAAS;YACV;QACD;QAEA,IAAI;YACH,MAAMc,MAAM,MAAM5gB,KAAK,GAAG,CAAiD;gBAC1E,QAAQ;gBACR,KAAK;gBACL,QAAQ;oBACK,OAAOyd,OAAO,QAAQ;oBACtB,UAAU;oBACV,UAAU;gBACd;YACV;YAEA,IAAImD,AAAe,MAAfA,IAAI,MAAM,EACb,OAAOiB,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQjB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAACxB,CAAAA,OAAS;oBAChC,SAASA,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO;oBAC/B,MAAMA,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI;oBACzB,YAAYA,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU;oBACrC,iBAAiBA,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe;gBAC7D,KAAK;YAGf,OAAOyC,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ,EAAE;QAClB,EAAE,OAAOle,OAAO;YACf,OAAOke,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ,EAAE;QAClB;IACD;IC5BO,MAAMuD,4BAA2C,OAAOf,OAAO5G;QACrE,MAAMzd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAClE,SAAS;gBACT,QAAQ;YACT;QACD;QAEA,IAAI;YACH,MAAMhgB,SAAS,MAAME,KAAK,GAAG,CAA+D;gBAC3F,QAAQ;gBACR,KAAK;gBACL,MAAM;oBACL,SAASyd,OAAO,WAAW;oBAC3B,UAAUA,OAAO,QAAQ,IAAI;oBAC7B,WAAWA,OAAO,SAAS,IAAI;oBAC/B,MAAMA,OAAO,IAAI,IAAI;oBACrB,MAAMA,OAAO,IAAI,IAAI;oBACrB,QAAQ;oBACR,MAAM;gBACP;YACD;YAEA,OAAOoE,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ/hB,AAAgB,MAAhBA,OAAO,IAAI,GAASA,OAAO,IAAI,CAAC,QAAQ,GAAG,EAAE;QAC7D,EAAE,OAAO6D,OAAO;YACf,OAAOke,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ,EAAE;QAClB;IACD;;;;IChCA,MAAMwD;;iBAEY,SAAS,GAAG;;;iBACZ,gBAAgB,GAAG;;;iBAGnB,eAAe,GAAG;;;iBAClB,wBAAwB,GAAG;;;iBAC3B,sBAAsB,GAAG;;;iBACzB,WAAW,GAAG;;;iBACd,SAAS,GAAG;;;iBAGZ,OAAO,GAAG;;;iBAGV,qBAAqB,GAAG;;;iBACxB,iBAAiB,GAAG;;;iBACpB,uBAAuB,GAAG;;;iBAC1B,uBAAuB,GAAG;;;iBAG1B,mBAAmB,GAAG;;;iBACtB,iBAAiB,GAAG;;;iBACpB,cAAc,GAAG;;;iBAGjB,aAAa,GAAG;gBAAC;gBAAK;gBAAK;gBAAI;aAAG;;;iBAClC,qBAAqB,GAAG;gBAAC;gBAAI;gBAAG;gBAAG;gBAAG;gBAAI;gBAAG;gBAAG;gBAAG;gBAAI;gBAAG;gBAAG;aAAE;;;iBAC/D,iBAAiB,GAAG;;;iBACpB,iBAAiB,GAAG;;;iBACpB,iBAAiB,GAAG;;;iBAEpB,gBAAgB,GAAG;gBACjC;gBAAG;gBAAK;gBAAI;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAG;gBAAI;gBAAK;gBAAK;aAC/D;;;iBAGe,uBAAuB,GAAG;gBACxC,IAAI;gBACJ,IAAI;gBACJ,IAAI;gBACJ,IAAI;gBACJ,IAAI;YACN;;;iBAGgB,SAAS,GAAG;;;iBACZ,UAAU,GAAG;;IAC/B;IAKA,MAAMC;QAIJ,oBAAoBC,SAAiB,EAAY;YAC/C,OAAOlb,MAAM,IAAI,CAAC;gBAAE,QAAQkb;YAAU,GAAG,IAAM1gB,KAAK,KAAK,CAACA,KAAK,MAAM,KAAKwgB,aAAa,SAAS;QAClG;QAKA,0BAA0BG,MAAc,EAAEC,MAAc,EAAU;YAChE,OAAO5gB,KAAK,KAAK,CAACA,KAAK,MAAM,KAAM4gB,CAAAA,SAASD,SAAS,MAAMA;QAC7D;QAKA,oBAA4B;YAC1B,OAAO3gB,KAAK,KAAK,CAACA,KAAK,MAAM,KAAMwgB,CAAAA,aAAa,SAAS,GAAG;QAC9D;IACF;IAKA,MAAMK;QAIJ,iBAAiBC,SAAiB,EAAY;YAC5C,MAAMC,aAAuB,EAAE;YAC/B,IAAK,IAAIhhB,IAAI,GAAGA,IAAI+gB,UAAU,MAAM,EAAE/gB,KAAKygB,aAAa,cAAc,CAAE;gBACtE,MAAMQ,WAAWF,UAAU,MAAM,CAAC/gB,GAAGygB,aAAa,cAAc;gBAChEO,WAAW,IAAI,CAACxiB,SAASyiB,UAAU;YACrC;YACA,OAAOD;QACT;QAKA,oBAAoBD,SAAiB,EAAEG,MAAc,EAAY;YAC/D,IAAIH,UAAU,MAAM,KAAKN,aAAa,mBAAmB,EACvD,MAAM,IAAItjB,MAAM,CAAC,sBAAsB,EAAEsjB,aAAa,mBAAmB,CAAC,WAAW,CAAC;YAGxF,MAAMO,aAAa,IAAI,CAAC,gBAAgB,CAACD;YACzC,OAAOC,WACJ,GAAG,CAACG,CAAAA,UAAWA,UAAUD,QACzB,KAAK,CAAC,GAAGT,aAAa,iBAAiB;QAC5C;IACF;IAKA,MAAMW;QAIJ,iBAAiB7b,KAAa,EAAU;YACtC,OAAOA,QAAQkb,aAAa,SAAS;QACvC;QAKA,cAAcY,aAAqB,EAAU;YAC3C,IAAIA,gBAAgBZ,aAAa,gBAAgB,EAC/C,OAAOY,gBAAgB;YAEzB,OAAOA;QACT;QAKA,iBAAiBC,SAAiB,EAAU;YAC1C,MAAMC,iBAAiB,IAAI,CAAC,gBAAgB,CAACD;YAE7C,MAAME,cAAcD,kBAAkB;YACtC,MAAME,cAAcF,kBAAkB;YACtC,MAAMG,cAAcH,kBAAkB;YACtC,MAAMI,cAAcJ,kBAAkB;YAEtC,MAAMK,kBAAmBJ,cAAc,CAACC,cAAgBA,cAAc,CAACD;YACvE,MAAMK,gBAAkBD,AAAAA,CAAAA,kBAAkBF,cAAcC,WAAU,KAAM,KAAMlB,aAAa,SAAS;YAEpG,OAAO,IAAI,CAAC,aAAa,CAACoB;QAC5B;QAKA,kBAAkBC,cAAwB,EAAc;YACtD,MAAMC,cAAc,IAAIC,WAAWF,eAAe,MAAM;YACxD,MAAMG,cAActmB,qCAAAA,MAAAA,CAAAA,IAAW,CAAC8kB,aAAa,OAAO,EAAE;YAEtD,IAAK,IAAI/iB,QAAQ,GAAGA,QAAQokB,eAAe,MAAM,EAAEpkB,QACjDqkB,WAAW,CAACrkB,MAAM,GAAIokB,AAAAA,CAAAA,cAAc,CAACpkB,MAAM,GAAGukB,WAAW,CAACvkB,MAAK,IAAK;YAGtE,OAAOqkB;QACT;IACF;IAKA,MAAMG;QAIJ,YAAYC,UAAiC,EAAU;YACrD,MAAMC,aAAa3c,MAAM,OAAO,CAAC0c,cAAcA,aAAa1c,MAAM,IAAI,CAAC0c;YACvE,MAAME,oBAAoB,IAAI,CAAC,aAAa,CAACD;YAC7C,MAAME,oBAAoB,IAAI,CAAC,iBAAiB,CAACF;YACjD,MAAMG,oBAAoB,IAAI,CAAC,mBAAmB,CAACF;YAEnDE,kBAAkB,IAAI,IAAI9c,MAAM6c,mBAAmB,IAAI,CAAC7B,aAAa,eAAe,CAAC,EAAE;YACvF,OAAO8B,kBAAkB,OAAO,GAAG,IAAI,CAAC;QAC1C;QAKQ,cAAcJ,UAAiC,EAAU;YAC/D,MAAMC,aAAa3c,MAAM,OAAO,CAAC0c,cAAcA,aAAa1c,MAAM,IAAI,CAAC0c;YACvE,IAAIjnB,SAAiB,EAAE;YACvB,MAAMsnB,YAAoB,IAAI;YAE9B,KAAK,MAAMC,aAAaL,WACtBlnB,SAASA,SAASsnB,YAAYE,OAAOD;YAGvC,OAAOvnB;QACT;QAKQ,kBAAkBinB,UAAoB,EAAU;YACtD,IAAIQ,QAAQ;YACZ,KAAK,MAAMF,aAAaN,WACtB,IAAIM,AAAc,MAAdA,WACFE;iBAEA;YAGJ,OAAOA;QACT;QAKQ,oBAAoBC,MAAc,EAAY;YACpD,MAAMC,aAAuB,EAAE;YAC/B,MAAMC,OAAOJ,OAAOjC,aAAa,WAAW;YAE5C,MAAOmC,SAAS,EAAE,CAAE;gBAClB,MAAMG,YAAYH,SAASE;gBAC3BD,WAAW,IAAI,CAACpC,aAAa,eAAe,CAAChgB,OAAOsiB,WAAW;gBAC/DH,UAAkBE;YACpB;YAEA,OAAOD;QACT;IACF;IAKA,MAAMG;QAIJ,YAAYC,YAAoB,EAAU;YACxC,MAAMC,YAAYvnB,qCAAAA,MAAAA,CAAAA,IAAW,CAACsnB,cAAc;YAC5C,MAAME,wBAAwBD,UAAU,QAAQ,CAAC;YAEjD,IAAIhoB,SAAS;YACb,KAAK,MAAMkoB,QAAQD,sBAAuB;gBACxC,MAAMzlB,QAAQ+iB,aAAa,wBAAwB,CAAC,OAAO,CAAC2C;gBAC5D,IAAI1lB,AAAU,OAAVA,OACFxC,UAAUulB,aAAa,sBAAsB,CAAC/iB,MAAM;qBAEpDxC,UAAUkoB;YAEd;YAEA,OAAOloB;QACT;IACF;IAKA,MAAMmoB;QAIJ,OAAO,eAAeC,MAAW,EAAkB;YACjD,IAAI,AAAkB,YAAlB,OAAOA,QACT,MAAM,IAAI3f,UAAU,CAAC,2BAA2B,EAAE,OAAO2f,QAAQ;YAGnE,MAAMC,cAAcD,OAAO,IAAI,GAAG,WAAW;YAC7C,IAAIC,AAAgB,UAAhBA,eAAyBA,AAAgB,WAAhBA,aAC3B,MAAM,IAAIpmB,MAAM,CAAC,qCAAqC,EAAEomB,YAAY,CAAC,CAAC;YAGxE,OAAOA;QACT;QAKA,OAAO,YAAYC,GAAQ,EAAU;YACnC,IAAI,AAAe,YAAf,OAAOA,KACT,MAAM,IAAI7f,UAAU,CAAC,wBAAwB,EAAE,OAAO6f,KAAK;YAG7D,IAAI,CAACA,IAAI,IAAI,IACX,MAAM,IAAIrmB,MAAM;YAGlB,OAAOqmB,IAAI,IAAI;QACjB;QAKA,OAAO,gBAAgBC,OAAY,EAAU;YAC3C,IAAI,AAAmB,YAAnB,OAAOA,SACT,MAAM,IAAI9f,UAAU,CAAC,6BAA6B,EAAE,OAAO8f,SAAS;YAGtE,IAAI,CAACA,QAAQ,IAAI,IACf,MAAM,IAAItmB,MAAM;YAGlB,OAAOsmB,QAAQ,IAAI;QACrB;QAKA,OAAO,kBAAkBC,SAAc,EAAU;YAC/C,IAAI,AAAqB,YAArB,OAAOA,WACT,MAAM,IAAI/f,UAAU,CAAC,+BAA+B,EAAE,OAAO+f,WAAW;YAG1E,IAAI,CAACA,UAAU,IAAI,IACjB,MAAM,IAAIvmB,MAAM;YAGlB,OAAOumB,UAAU,IAAI;QACvB;QAKA,OAAO,gBAAgB7f,OAAY,EAA8B;YAC/D,IAAIA,AAAY,SAAZA,WAAoB,AAAmB,YAAnB,OAAOA,SAC7B,MAAM,IAAIF,UAAU,CAAC,oCAAoC,EAAE,OAAOE,SAAS;YAI7E,IAAIA,QAAAA,SACF;gBAAA,IAAK,MAAMjE,OAAOiE,QAChB,IAAI,AAAe,YAAf,OAAOjE,KACT,MAAM,IAAI+D,UAAU,CAAC,iCAAiC,EAAE,OAAO/D,IAAI,UAAU,EAAEA,IAAI,CAAC,CAAC;YAEzF;YAGF,OAAOiE;QACT;IACF;IAKA,MAAM8f;QAOJ,aAAc;YACZ,IAAI,CAAC,MAAM,GAAG,IAAIvC;YAClB,IAAI,CAAC,UAAU,GAAG,IAAIc;YACtB,IAAI,CAAC,UAAU,GAAG,IAAIc;YACtB,IAAI,CAAC,YAAY,GAAG,IAAIlC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAIJ;QACvB;QAKQ,gBAAgBkD,EAAU,EAAEC,iBAA0B,IAAI,EAAY;YAC5E,MAAMjkB,MAAM6F,MAAM,GAAG,IAAI,CAACgb,aAAa,iBAAiB;YACxD,MAAMqD,MAAM,IAAI,CAAC,YAAY,CAACF,IAAI;YAClC,MAAMG,UAAUD,IAAI,GAAG,CAAC,CAAChc,GAAG9H,IAAM8H,IAAIlI,GAAG,CAACI,EAAE;YAC5C,IAAI6jB,gBACFE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG;YAE3D,OAAOA;QACT;QAKQ,aAAajjB,GAAW,EAAEtF,SAAiB,CAAC,EAAY;YAC9D,MAAMsoB,MAAgB,EAAE;YACxB,IAAK,IAAI9jB,IAAI,GAAGA,IAAIxE,QAAQwE,IAAK;gBAC/B8jB,IAAI,IAAI,CAAChjB,AAAM,OAANA;gBACTA,SAAS;YACX;YACA,OAAOgjB;QACT;QAKQ,sBAAsB1f,CAAS,EAAY;YACjD,MAAMvI,MAAMF,qCAAAA,MAAAA,CAAAA,IAAW,CAACyI,GAAG;YAC3B,OAAO;gBAACvI,IAAI,MAAM;mBAAK4J,MAAM,IAAI,CAAC5J;aAAK;QACzC;QAKQ,wBAAkC;YACxC,OAAO;gBACL4kB,aAAa,gBAAgB,CAAC,EAAE;gBAChC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,IAAI;mBAC1CA,aAAa,gBAAgB,CAAC,KAAK,CAAC;aACxC;QACH;QAKA,kBACEuD,YAAoB,EACpBP,OAAe,EACfQ,gBAAwB,YAAY,EACpCC,cAAsB,EAAE,EACd;YAEV,MAAMC,UAAU,IAAI,CAAC,SAAS,CAAC,iBAAiB;YAChD,MAAMP,KAAKljB,KAAK,GAAG;YACnB,MAAM0jB,YAAYR,KAChBnD,CAAAA,aAAa,uBAAuB,GACpC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CACtC,GACAA,aAAa,uBAAuB,GAAGA,aAAa,uBAAuB;YAI/E,MAAMqD,MAAgB,EAAE;YACxBA,IAAI,IAAI,IAAIrD,aAAa,aAAa;YAEtC,MAAM4D,YAAY,IAAI,CAAC,YAAY,CAACF,SAAS;YAC7CL,IAAI,IAAI,IAAIO;YAEZ,MAAMnD,SAASmD,SAAS,CAAC,EAAE;YAG3BP,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,CAACF,IAAI;YACrCE,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAACM,WAAW;YACzCN,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAACrD,aAAa,iBAAiB;YAC5DqD,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAACrD,aAAa,iBAAiB;YAG5D,MAAM6D,oBAAoB3oB,qCAAAA,MAAAA,CAAAA,IAAW,CAACuoB,aAAa,SAAS,MAAM;YAClEJ,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAACQ;YAG9B,MAAMC,WAAW5oB,qCAAAA,MAAAA,CAAAA,IAAW,CAACqoB,cAAc;YAC3C,MAAMQ,cAAc/e,MAAM,IAAI,CAAC8e,UAAU,GAAG,CAAC7f,CAAAA,IAAKA,IAAIwc;YACtD4C,IAAI,IAAI,IAAIU,YAAY,KAAK,CAAC,GAAG;YAGjCV,IAAI,IAAI,IAAI,IAAI,CAAC,qBAAqB,CAACL;YACvCK,IAAI,IAAI,IAAI,IAAI,CAAC,qBAAqB,CAACG;YAGvCH,IAAI,IAAI,CACNrD,aAAa,gBAAgB,CAAC,EAAE,EAChC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,SACzCA,aAAa,gBAAgB,CAAC,KAAK,CAAC;YAGzC,OAAOqD;QACT;IACF;IAKO,MAAMW;QAGX,aAAc;YACZ,IAAI,CAAC,eAAe,GAAG,IAAId;QAC7B;QAKQ,mBACNL,MAAc,EACdE,GAAW,EACX3f,OAAoC,EAC5B;YACRA,UAAUA,WAAW,CAAC;YAEtB,IAAIyf,AAAyB,WAAzBA,OAAO,WAAW,IACpB,OAAOE,MAAMznB,KAAK,SAAS,CAAC8H;YAE5B,IAAI,CAACA,WAAWtJ,AAAgC,MAAhCA,OAAO,IAAI,CAACsJ,SAAS,MAAM,EACzC,OAAO2f;YACF;gBACL,MAAM3K,SAASte,OAAO,OAAO,CAACsJ,SAAS,GAAG,CAAC,CAAC,CAACjE,KAAK2F,MAAM;oBACtD,IAAImf,WAAW;oBACf,IAAIjf,MAAM,OAAO,CAACF,QAChBmf,WAAWnf,MAAM,GAAG,CAACxK,CAAAA,IAAKoL,OAAOpL,IAAI,IAAI,CAAC;yBACrC,IAAIwK,QAAAA,OACTmf,WAAWve,OAAOZ;oBAEpB,OAAO,GAAG3F,IAAI,CAAC,EAAE8kB,UAAU;gBAC7B;gBACA,OAAO,GAAGlB,IAAI,CAAC,EAAE3K,OAAO,IAAI,CAAC,MAAM;YACrC;QAEJ;QAKQ,eAAesD,OAAe,EAAU;YAC9C,OAAOwI,+BAAAA,UAAiB,CAAC,OAAO,MAAM,CAACxI,SAAS,SAAS,MAAM,CAAC;QAClE;QAKQ,eACNyI,MAAc,EACdnB,OAAe,EACfC,YAAoB,YAAY,EAChCQ,cAAsB,EAAE,EAChB;YAER,MAAMW,eAAe,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACzDD,QACAnB,SACAC,WACAQ;YAIF,MAAMY,YAAY,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAACD;YAGhE,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,WAAW,CAACC;QACrD;QAKA,OACExB,MAAsB,EACtBE,GAAW,EACXC,OAAe,EACfC,YAAoB,YAAY,EAChC7f,OAAoC,EAC5B;YAER,MAAMkhB,kBAAkB1B,0BAA0B,cAAc,CAACC;YACjE,MAAM0B,eAAe3B,0BAA0B,WAAW,CAACG;YAC3D,MAAMyB,mBAAmB5B,0BAA0B,eAAe,CAACI;YACnE,MAAMyB,qBAAqB7B,0BAA0B,iBAAiB,CAACK;YACvE,MAAMyB,mBAAmB9B,0BAA0B,eAAe,CAACxf;YAEnE,MAAMuhB,gBAAgB;gBAAE,GAAG3E,aAAa,uBAAuB;YAAC;YAGhE,MAAM4E,gBAAgB,IAAI,CAAC,kBAAkB,CAACN,iBAAiBC,cAAcG;YAG7E,MAAMP,SAAS,IAAI,CAAC,cAAc,CAACS;YACnCD,cAAc,EAAE,GACd3E,aAAa,SAAS,GACtB,IAAI,CAAC,cAAc,CAACmE,QAAQK,kBAAkBC,oBAAoBG;YAGpE,OACE5E,aAAa,UAAU,GACvB,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,WAAW,CAAC1kB,KAAK,SAAS,CAACqpB;QAE/D;QAKA,UACE5B,GAAW,EACXC,OAAe,EACfC,YAAoB,YAAY,EAChC7K,MAAmC,EAC3B;YAER,MAAMmM,eAAe3B,0BAA0B,WAAW,CAACG;YAC3D,MAAMyB,mBAAmB5B,0BAA0B,eAAe,CAACI;YACnE,MAAMyB,qBAAqB7B,0BAA0B,iBAAiB,CAACK;YACvE,MAAM4B,kBAAkBjC,0BAA0B,eAAe,CAACxK;YAElE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAOmM,cAAcC,kBAAkBC,oBAAoBI;QAChF;QAKA,WACE9B,GAAW,EACXC,OAAe,EACfC,YAAoB,YAAY,EAChC7f,OAAoC,EAC5B;YAER,MAAMmhB,eAAe3B,0BAA0B,WAAW,CAACG;YAC3D,MAAMyB,mBAAmB5B,0BAA0B,eAAe,CAACI;YACnE,MAAMyB,qBAAqB7B,0BAA0B,iBAAiB,CAACK;YACvE,MAAMyB,mBAAmB9B,0BAA0B,eAAe,CAACxf;YAEnE,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQmhB,cAAcC,kBAAkBC,oBAAoBC;QACjF;IACF;ICzlBA,MAAMI,uCAAY,IAAId;IAQf,MAAMe,6BAA4C,OAAO/F,OAAO5G;QACnE,MAAMzd,OAAO,IAAI8Z,KAAK;YAClB,SAAS;gBACL,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAClE,SAAS;gBACT,QAAQ;YACZ;QACJ;QACA,MAAMuK,WAAW5M,OAAO,OAAO,CAAC,IAAI,CAAC,CAACqC,KAAOA,AAAY,SAAZA,GAAG,IAAI,GAAY;QAChE,IAAI,CAACuK,UAAU,OAAO;YAAC,MAAM;YAAK,SAAS;YAAsB,MAAM,EAAE;QAAA;QAEzE,IAAI;YACA,MAAMC,KAAKhlB,KAAK,GAAG,GAAG,QAAQ;YAC9B,MAAMilB,YAAY;gBACd,SAAS9M,OAAO,WAAW;gBAC3B,uBAAuB;oBACnB,OAAO;oBACP,MAAM,CAAC,CAAC,EAAEA,OAAO,WAAW,EAAE;gBAClC;gBACA,MAAM;oBACF,WAAW;oBACX,MAAM;gBACV;YACJ;YAEA,MAAM+M,aAAa;YACnB,MAAMC,KAAKN,qCAAU,UAAU,CAACK,YAAYH,UAAS,cAAeE;YACpE,MAAMzqB,SAAS,MAAME,KAAK,GAAG,CAAmE;gBAC5F,QAAQ;gBACR,KAAK;gBACL,MAAMuqB;gBACN,SAAS;oBAAC,OAAOE;oBAAI,OAAOH;gBAAE;gBAC9B,iBAAiB;YACrB;YAEA,OAAOzI,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ/hB,AAAgB,MAAhBA,OAAO,IAAI,GAASA,OAAO,IAAI,CAAC,eAAe,GAAG,EAAE,EAAE;QACzE,EAAE,OAAO6D,OAAO;YACZ,OAAOke,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ,EAAE;QACrB;IAEJ;IC7CA,MAAMxI,QAAQqR,oBAAQ;IAStB,MAAMlL,gBAA8C;QACnD,UAAU;QACV,MAAM;QACN,QAAQ;QACR,MAAM;YACL;YACA;YACA;SACA;QACD,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,QAAQ;IACT;IACA,MAAMmL,yBAAoB,CAAC5F,OACnB5lB,OAAO,OAAO,CAAC4lB,MACpB,GAAG,CAAC,CAAC,CAACvgB,KAAK2F,MAAM;YACjB,MAAMygB,aAAa3b,mBAAmBzK;YACtC,MAAMqmB,eAAe5b,mBAAmBlE,OAAOZ;YAC/C,OAAO,GAAGygB,WAAW,CAAC,EAAEC,cAAc;QACvC,GACC,IAAI,CAAC;IAER,MAAMC,qBAAqB,CAACC,WAAqBhI,SAAiBiI;QACjE,IAAIrnB,QAAQ;QACZ,IAAIof,SAAS,SAAS,SACrBpf,QAAQonB,SAAS,CAAC,EAAE;aACd,IAAIhI,SAAS,SAAS,SAC5Bpf,QAAQonB,SAAS,CAAC,EAAE;aACd,IAAIhI,SAAS,SAAS,SAC5Bpf,QAAQonB,SAAS,CAAC,EAAE;QAErB,OAAOpnB,SAAUqnB,CAAAA,AAAa,YAAbA,WAAuB,kBAAkB,eAAc;IACzE;IAEO,MAAMvL,kBAA4B,OAAOjC,MAAMC;QACrD,MAAM,EAAEwN,kBAAkB,EAAEC,gBAAgB,EAAEC,gBAAgB,EAAEC,eAAe,EAAEC,gBAAgB,EAAEC,YAAY,EAAE,GAAG7N,OAAO,WAAW;QACtI,MAAMoC,eAAerC,KAAK,UAAU;QACjC,MAAMhV,UAAU;YACZ,QAAQiV,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;YAClE,QAAQ;YACR,SAAS;QACb;QACH,MAAM9f,OAAO,IAAI8Z,KAAK;YAACtR;QAAO;QAG9BxI,KAAK,sBAAsB,CAAiB,CAACma;YAE5C,IAAIA,SAAS,IAAI,EAAE,SAAS,GAAG;gBAC9B,IAAI6F,SAAS;gBAGZA,SADG3V,MAAM,OAAO,CAACmV,aAAQ,CAACrF,SAAS,IAAI,CAAC,IAAI,CAAC,IACpC2Q,mBAAmBtL,aAAQ,CAACrF,SAAS,IAAI,CAAC,IAAI,CAAC,EAAcA,SAAS,IAAI,CAAC,OAAO,EAAEsD,OAAO,QAAQ,IAG1G+B,aAAQ,CAACrF,SAAS,IAAI,CAAC,IAAI,CAAC,IAC7BA,SAAS,MAAM,CAAC,eAAe,IAC9BsD,CAAAA,AAAoB,YAApBA,OAAO,QAAQ,GAAe,kBAAkB,eAAc;gBAGjE,OAAO;oBACN,MAAM+B,aAAQ,CAACrF,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM;oBAC3C,SAAS6F;oBACT,MAAM7F,SAAS,IAAI;gBACpB;YACD;QACD;QAGA,MAAMna,KAAK,GAAG,CAAC;YACd,QAAQ;YACR,KAAK;YACL,iBAAiB,CAAC,kBAAkB,EAAEyd,AAAoB,YAApBA,OAAO,QAAQ,GAAe,OAAO,KAAK,CAAC,CAAC;QACnF;QAEA,MAAM0C,eAAe,OAAOE,SAEpB,MAAMlf,QAAQ,GAAG,CACvBkf,OAAO,GAAG,CAAC,OAAOtf;gBACjB,MAAMuf,WAAWC,AAAAA,IAAAA,sBAAAA,kBAAAA,AAAAA,EAAmBxf;gBACpC,MAAMyf,QAAQ,MAAMC,AAAAA,IAAAA,sBAAAA,aAAAA,AAAAA,EAAc1f,KAAK6Z,6BAAAA,IAAS,CAACiF,cAAcS;gBAC/D,MAAMI,WAAW,IAAIC,CAAAA,4BAAAA;gBACrBD,SAAS,MAAM,CAAC,SAAS1F,2BAAAA,gBAAmB,CAACwF;gBAE7C,MAAMrG,WAAW,MAAMna,KAAK,GAAG,CAAoC;oBAClE,QAAQ;oBACR,KAAK;oBACL,MAAM0gB;oBACN,iBACCjD,AAAoB,YAApBA,OAAO,QAAQ,GAAe,oBAAoB;gBACpD;gBAEA,OAAOtD,SAAS,IAAI;YACrB;QAKF,MAAM0G,sBAAsB/E,cAAc2B,OAAO,OAAO;QACxD,MAAMqD,sBAAsB,MAAMX,aAAaU;QAE/C,MAAME,UAAUtE,cAAcgB,OAAO,OAAO,EAAE,CAACN;YAC9C,IAAIA,IAAI,OAAO,CAAC,GAAG,EAAE;gBACpB,MAAM6D,MAAMH,oBAAoB,SAAS,CAAC,CAACf,KAAOA,OAAO3C,IAAI,OAAO,CAAC,GAAG;gBACxEA,IAAI,OAAO,CAAC,GAAG,GAAG2D,mBAAmB,CAACE,IAAI,CAAC,SAAS;gBACpD7D,IAAI,OAAO,CAAC,OAAO,GAAG2D,mBAAmB,CAACE,IAAI,CAAC,SAAS;gBACxD7D,IAAI,OAAO,CAAC,SAAS,GAAG2D,mBAAmB,CAACE,IAAI,CAAC,WAAW,CAAC,QAAQ;gBACrE7D,IAAI,OAAO,CAAC,YAAY,GAAG2D,mBAAmB,CAACE,IAAI,CAAC,YAAY,CAAC,QAAQ;gBACzE7D,IAAI,OAAO,CAAC,UAAU,GAAG2D,mBAAmB,CAACE,IAAI,CAAC,UAAU,CAAC,QAAQ;gBACrE7D,IAAI,OAAO,CAAC,SAAS,GAAG2D,mBAAmB,CAACE,IAAI,CAAC,eAAe;YACjE;YACA,OAAO7D;QACR;QAGA,MAAMoO,WACLJ,AAAqB,aAArBA,mBAAgC;YAACF;SAAmB,GAAGE,AAAqB,eAArBA,mBAAkCD,mBAAmB,EAAE;QAC/G,MAAMM,WAAW,MAAMrL,aAAaoL;QAIpC,MAAME,WAAWhO,OAAO,WAAW,CAAC,eAAe;QACnD,MAAMiO,SAASjO,OAAO,WAAW,CAAC,YAAY,IAAI,EAAE;QAYpD,MAAMkO,eAAeD,OACnB,GAAG,CACH,CAACE,QACA,CAAC,wCAAwC,EAAEA,MAAM,IAAI,CAAC,WAAW,EAAEA,MAAM,EAAE,CAAC,mBAAmB,EAAEA,MAAM,EAAE,CAAC,GAAG,EAAEA,MAAM,IAAI,CAAC,WAAW,CAAC,EAEvI,IAAI,CAAC;QAEP,IAAIC,aAAmC;YACtC,aAAaP,eAAeA,aAAa,IAAI,GAAG;QACjD;QACA,IAAIA,gBAAgBA,AAAsB,MAAtBA,aAAa,IAAI,EAAQ;YAC5C,IAAI,CAACA,cAAc,mBAAmB,OAAO;gBAAE,MAAM;gBAAK,SAAS;gBAAW,MAAM;YAAG;YACvFO,aAAa;gBACZ,GAAGA,UAAU;gBACb,mBAAmBP,aAAa,iBAAiB;gBACjD,aAAaA,aAAa,WAAW;gBACrC,UAAUA,aAAa,QAAQ;YAChC;QACD;QACA,MAAMQ,YAAY;YACjB,kBAAkBrO,OAAO,WAAW,CAAC,OAAO;YAG5C,QAAQ;gBACP,UAAU;gBACV,WAAW;gBACX,YAAY;gBACZ,iBAAiB;gBACjB,YAAY;YACb;YACA,sBAAsBA,OAAO,WAAW,EAAE,kBAAkB,MAAM;YAClE,aAAaoO;YACb,GAAIJ,WAAW;gBAAE,MAAMA,SAAS,KAAK;gBAAE,WAAWA,SAAS,KAAK;YAAC,IAAI,IAAI;YACnE,GAAIhO,OAAO,WAAW,EAAE,sBAAsB;gBAAE,yBAAyBA,OAAO,WAAW,CAAC,mBAAmB;YAAC,IAAI,IAAI;QAC/H;QAEA,MAAMgE,cAAc;YACnB,cAAc;YACd,QAAQ;YACR,sBAAsB;YACtB,UAAU;YACV,aAAa;YACb,+BAA+B;YAC/B,iBAAiB;YACjB,gBAAgB;YAChB,QAAQ;YACR,gBAAgB;YAChB,mBAAmB;YACnB,eAAe;YACf,iBAAiB;YACjB,oBAAoB;YACpB,cAAc;YACd,oBAAoB;YACpB,iBAAiB;YACjB,MAAMhE,AAAoB,cAApBA,OAAO,QAAQ,GAAiB,IAAI;YAC1C,cAAcA,OAAO,WAAW,CAAC,KAAK,GAAE,IAAI;YAC5C,YAAYA,OAAO,WAAW,CAAC,KAAK,GAAErB,cAAc,MAAM,CAACqB,OAAO,WAAW,CAAC,KAAK,IAAE;YACrF,OAAOA,OAAO,KAAK;YACnB,SAASsD,UAAU4K;YACnB,OAAOhrB,KAAK,SAAS,CAACmrB;YACtB,gBAAgBX,AAAqB,SAArBA,mBAA4B,OAAO;YACnD,iBAAiBxqB,KAAK,SAAS,CAAC;gBAC/B,WAAWorB,UAAU,CAACZ,iBAAiB;YACxC;YACA,iBAAiBxqB,KAAK,SAAS,CAC9B6qB,SAAS,GAAG,CAAC,CAACpM,OAAU;oBACvB,IAAI;oBACJ,KAAKA,KAAK,SAAS;oBACnB,KAAKA,KAAK,SAAS;oBACnB,QAAQ;oBACR,YAAYA,KAAK,WAAW;oBAC5B,aAAaA,KAAK,YAAY;oBAC9B,OAAO;wBACN,kBAAkB;wBAClB,cAAc;oBACf;gBACD;YAED,iBAAiB4M,gBAAgBvO,OAAO,WAAW,CAAC,SAAS;YAE7D,iBAAiB4N,mBAAmBA,mBAAmBD,iBAAiB,SAAS,eAAe,IAAI;QACrG;QAEG5N,KAAK,YAAY,CAAC,aAAa,GAAElY,KAAK,GAAG;QAE5C,MAAM2mB,UAAUxO,OAAO,OAAO,CAAC,IAAI,CAAC,CAACqC,KAAOA,AAAY,cAAZA,GAAG,IAAI,GAAiB;QACpE,IAAIoM,gBAAgB,CAAC;QACrB,IAAKD,SAUA;YACJ,MAAME,cAAcxB,uBAAkB;gBACrC,QAAQ;gBACR,MAAM;gBACN,KAAK;gBACL,mBAAmB;gBACnB,SAASsB;YACV;YACA,MAAMG,WAAWzB,uBAAkBlJ;YACnC,IAAI4K,UAAUhT,MAAM8S,aAAYC;YAEhCF,gBAAgB;gBACf,QAAQ;gBACR,KAAK,CAAC,8CAA8C,EAAEC,YAAY,SAAS,EAAEE,SAAS;gBACtF,MAAMD;gBACN,SAAS;oBACR,gBAAgB;oBAChB,cAAc;gBACf;gBACA,iBAAiB3O,AAAoB,YAApBA,OAAO,QAAQ,GAAe,kBAAkB;YAClE;QACD,OA9BCyO,gBAAgB;YACf,QAAQ;YACR,KAAK;YACL,MAAMzK;YACN,SAAS;gBACR,gBAAgB;YACjB;YACA,iBAAiBhE,AAAoB,YAApBA,OAAO,QAAQ,GAAe,kBAAkB;QAClE;QAuBE,MAAMmE,YAAYpE,MAAM,UAAU,QAAQ,IAAI1D,KAAK;YAACtR;QAAO,GAAGiV,OAAO,QAAQ,EAAEA,OAAO,WAAW,IAAIzd;QAExG,MAAMssB,gBAAgB,MAAM1K,UAAU,GAAG,CAAoCsK;QAE7E,OAAOrK,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQyK,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG1K,CAAAA,UAAU,SAAS,IAAI,EAAC;IAC/E;ICjRA,MAAMvI,YAAQqR,oBAAQ;IAEf,MAAM5I,gBAA2B,OAAOtE,MAAMC;QACpD,MAAMoC,eAAerC,KAAK,UAAU;QAEpC,MAAMuE,gBAAmC;YACxC,MAAM;YACN,QAAQ;YACR,QAAQ;YACR,KAAK;YACL,UAAU;QACX;QAEA,MAAMnE,OAAO,MAAMJ,KAAK,UAAU,CAAC;YAClC,MAAMA,KAAK,KAAK;YAChB,KAAKC,OAAO,GAAG,IAAI;YACnB,SAASA,OAAO,OAAO,EAAE,IAAI,CAACqC,KAAQ;oBAAE,GAAGiC,aAAa;oBAAE,GAAGjC,EAAE;gBAAC,OAAO,EAAE;QAC1E;QAGA,IAAI;YACH,MAAMlC,KAAK,eAAe,CAAC,mBAAmB;gBAAE,OAAO;YAAU;QAClE,EAAE,OAAOja,OAAO;YACf,OAAO;gBACN,MAAM;gBACN,SAAS,CAAC,kBAAkB,EAAE8Z,AAAoB,YAApBA,OAAO,QAAQ,GAAe,OAAO,KAAK,CAAC,CAAC;gBAC1E,MAAMG,KAAK,GAAG;YACf;QACD;QAEA,MAAM2O,gBAAgB;YACrB;SACA;QAED,MAAM3O,KAAK,KAAK,CAAC,MAAM,OAAO4O,OAAOC;YACpC,MAAM1rB,MAAM,IAAI2rB,IAAID,QAAQ,GAAG;YAC/B,IAAIF,cAAc,IAAI,CAACI,CAAAA,UAAW5rB,IAAI,QAAQ,CAAC,QAAQ,CAAC4rB,WAAW;gBAClE,MAAMnkB,UAAU;oBACf,GAAGikB,QAAQ,OAAO,EAAE;oBACpB,cAAc;gBACf;gBAEA,MAAM9B,oBAAoB,CAAC5F,OACnB5lB,OAAO,OAAO,CAAC4lB,MACpB,GAAG,CAAC,CAAC,CAACvgB,KAAK2F,MAAM;wBACjB,MAAMygB,aAAa3b,mBAAmBzK;wBACtC,MAAMqmB,eAAe5b,mBAAmBlE,OAAOZ;wBAC/C,OAAO,GAAGygB,WAAW,CAAC,EAAEC,cAAc;oBACvC,GACC,IAAI,CAAC;gBAGR,MAAMsB,cAAcxB,kBAAkB;oBACrC,QAAQ;oBACR,MAAM;oBACN,KAAK;oBACL,mBAAmB;oBACnB,SAAS5pB,IAAI,YAAY,CAAC,GAAG,CAAC;gBAC/B;gBACA,MAAMqrB,WAAYK,QAAQ,QAAQ,MAAM;gBACxC,IAAIJ,UAAUhT,UAAM8S,aAAYC;gBAEhCrrB,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO;gBAC5BA,IAAI,YAAY,CAAC,GAAG,CAAC,qBAAqB;gBAC1CA,IAAI,YAAY,CAAC,GAAG,CAAC,WAAWsrB;gBAEhC,MAAMG,MAAM,QAAQ,CAAC;oBAAE,KAAKzrB,IAAI,QAAQ;oBAAK,SAASyH;gBAAO;YAE9D,OACC,MAAMgkB,MAAM,QAAQ;QAEtB;QAGApO,cAAcR,MAAK,8CAA6C,MAAM,0BACtE;YACC,eAAe;YACf,gBAAgB;QACjB;QAGA,MAAMoE,gBAAgBpE,KAAK,OAAO,CAAC;QACnC,MAAMoE,cAAc,KAAK;QACzB,MAAMA,cAAc,IAAI,CAACvE,OAAO,KAAK;QAGrC,MAAME,oBAAoBC,MAAMH,OAAO,OAAO;QAE9C,MAAMG,KAAK,KAAK,CAAC;QAEjB,MAAMA,KAAK,QAAQ,CAAC,KAAK,CAAC;QAG1B,MAAMgP,iBAAiBb,UAAU,CAACtO,OAAO,WAAW,CAAC,gBAAgB,CAAC;QACtE,MAAMoP,iBAAiBjP,KAAK,OAAO,CAAC,8BAA8B,MAAM,CAAC;YAAE,SAAS;QAAO;QAE3F,MAAMiP,eAAe,QAAQ,CAAC,CAAChQ,OAASA,KAAK,cAAc;QAC3D,MAAMgQ,eAAe,OAAO,CAAC,CAAC,iDAAiD,EAAED,eAAe,GAAG,CAAC,EAAE,KAAK;QAE3G,IAAIE,YAAsB,EAAE;QAC5B,IAAIrP,AAAwC,aAAxCA,OAAO,WAAW,CAAC,gBAAgB,EACtCqP,YAAY;YAACrP,OAAO,WAAW,CAAC,kBAAkB;SAAC;aAC7C,IAAIA,AAAwC,eAAxCA,OAAO,WAAW,CAAC,gBAAgB,EAC7CqP,YAAYrP,OAAO,WAAW,CAAC,gBAAgB;QAGhD,MAAM4C,SAAS,MAAMlf,QAAQ,GAAG,CAC/B2rB,UAAU,GAAG,CAAC,CAAC/rB;YACd,MAAMuf,WAAWC,AAAAA,IAAAA,sBAAAA,kBAAAA,AAAAA,EAAmBxf;YACpC,OAAO0f,AAAAA,IAAAA,sBAAAA,aAAAA,AAAAA,EAAc1f,KAAK6Z,6BAAAA,IAAS,CAACiF,cAAcS;QACnD;QAGD,MAAMyM,iBAAiBF,eACrB,OAAO,CAAC,wCACR,OAAO,CAAC;QACV,MAAMG,mBAAmB,MAAMD,eAAe,KAAK;QAEnD,IAAK,IAAInoB,IAAI,GAAGA,IAAIooB,kBAAkBpoB,IAAK;YAC1C,IAAI,CAACyb,MAAM,CAACzb,EAAE,EACb;YAGD,MAAMqoB,MAAMF,eAAe,GAAG,CAACnoB;YAE/B,IAAK,MAAMqoB,IAAI,OAAO,CAAC,OAAO,KAAK,KAAM,GACxC,MAAMA,IAAI,OAAO,CAAC,6BAA6B,MAAM,CAAC;gBAAE,SAAS;YAAK,GAAG,KAAK;iBAG9E,MAAMA,IAAI,KAAK;YAIhB,MAAMC,kBAAkBtP,KAAK,OAAO,CAAC;YACrC,MAAMsP,gBAAgB,OAAO,CAAC,6CAA6C,MAAM,CAAC;gBAAE,SAAS;YAAO,GAAG,KAAK;YAC5G,MAAM7K,qBAAqBzE,KAAK,YAAY,CAAC;YAC7C,MAAMA,KAAK,cAAc,CAAC;YAC1B,MAAMsP,gBAAgB,OAAO,CAAC,uCAAuC,MAAM,CAAC;gBAAE,SAAS;YAAO,GAAG,KAAK;YACtG,MAAM5K,cAAc,MAAMD;YAC1B,MAAMC,YAAY,QAAQ,CAAC;gBAACjC,MAAM,CAACzb,EAAE;aAAC;YAGtC,MAAMuoB,aAAaD,gBACjB,OAAO,CAAC,wDACR,MAAM,CAAC;gBAAE,SAAS;YAAK;YACzB,MAAMC,WAAW,OAAO,CAAC;gBAAE,OAAO;YAAU;YAC5C,MAAMA,WAAW,KAAK;YAEtB,MAAMvP,KAAK,cAAc,CAACrD,iBAAiB,KAAK;QACjD;QAGA,IAAIkD,OAAO,WAAW,CAAC,eAAe,EAAE;YACvC,MAAM2P,oBAAoBxP,KAAK,OAAO,CAAC,8BAA8B,MAAM,CAAC;gBAAE,SAAS;YAAO;YAC9F,MAAMwP,kBAAkB,OAAO,CAAC,oBAAoB,KAAK;YACzD,MAAMA,kBACJ,OAAO,CAAC,mDACR,IAAI,CAAC3P,OAAO,WAAW,CAAC,eAAe,CAAC,KAAK;YAC/C,MAAM4P,gBAAgBzP,KAAK,OAAO,CAAC;YACnC,MAAMyP,cAAc,KAAK,GAAG,OAAO;YACnC,MAAMA,cAAc,KAAK,GAAG,KAAK;QAClC;QAGA,MAAMC,cAAc1P,KAClB,OAAO,CAAC,0CACR,MAAM,CAAC;YAAE,SAAS;QAAO,GACzB,OAAO,CAAC;QAGV,MAAM2P,oBAAoB,MAAMD,YAAY,SAAS;QAErD,IAAIC,mBAEH,MAAMD,YACJ,OAAO,CAAC,CAAC,kCAAkC,EAAEtB,gBAAgBvO,OAAO,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,EAC/F,KAAK;QAIR,MAAM+P,qBAAqB5P,KAAK,OAAO,CAAC,0CAA0C,MAAM,CAAC;YAAE,SAAS;QAAO,GAAG,OAAO,CAAC;QACtH,IAAKH,OAAO,WAAW,CAAC,eAAe,IAAIA,OAAO,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAiBA,OAAO,WAAW,CAAC,gBAAgB,EAE1I+P,mBAAmB,OAAO,CAAC,wDAAwD,KAAK;aAExFA,mBAAmB,OAAO,CAAC,wDAAwD,OAAO;QAI3F,IAAIC,QAAShQ,OAAO,WAAW,CAAC,YAAY,GAAGA,OAAO,WAAW,CAAC,YAAY,CAAC,IAAI,GAAG;QACtF,OAAQgQ;YAMP,KAAK;gBACJ,MAAM7P,KAAK,OAAO,CAAC,+BAA8B;oBAAC,SAAS;gBAAM,GAAG,OAAO,CAAC,uBAAuB,KAAK;gBAExG;YACD,KAAK;gBACJ,MAAMA,KAAK,OAAO,CAAC,+BAA8B;oBAAC,SAAS;gBAAM,GAAG,OAAO,CAAC,uBAAuB,KAAK;gBAExG;YACD,KAAK;gBACJ,MAAMA,KAAK,OAAO,CAAC,+BAA8B;oBAAC,SAAS;gBAAW,GAAG,OAAO,CAAC,uBAAuB,KAAK;gBAE7G;YACD,KAAK;gBACJ,MAAMA,KAAK,OAAO,CAAC,+BAA8B;oBAAC,SAAS;gBAAW,GAAG,OAAO,CAAC,uBAAuB,KAAK;gBAE7G;YACD;gBACC,MAAMA,KAAK,OAAO,CAAC,+BAA8B;oBAAC,SAAS;gBAAW,GAAG,OAAO,CAAC,uBAAuB,KAAK;gBAE7G;QACF;QAGA,MAAMkF,YAAY,MAAM,IAAI3hB,QAAgB,OAAOC;YAClD,MAAM4hB,iBAAiB,OAAO7I;gBAC5B,MAAMpZ,MAAMoZ,SAAS,GAAG;gBACxB,IAAIpZ,IAAI,QAAQ,CAAC,4BAA4B;oBAC9C,MAAMkiB,eAAe,MAAM9I,SAAS,IAAI;oBACxCyD,KAAK,GAAG,CAAC,YAAYoF;oBACrB5hB,QAAQ6hB,aAAa,IAAI,CAAC,MAAM;gBAC/B;YACF;YAEArF,KAAK,EAAE,CAAC,YAAYoF;YAEpB,IAAIvF,OAAO,WAAW,CAAC,KAAK,IAAIA,AAAmB,aAAnBA,OAAO,QAAQ,EAAe;gBAE5D,MAAMG,KAAK,OAAO,CAAC,0BAA0B,MAAM,CAAC;oBAAE,SAAS;gBAAO,GAAG,KAAK;gBAC9E,MAAMA,KAAK,eAAe,CAAC,sDAAsD;oBAAE,OAAO;gBAAW;gBAGrG,MAAMA,KAAK,OAAO,CAAC,2DAA2D,KAAK;gBACnF,MAAMA,KAAK,OAAO,CAAC,yBAAyB;oBAAE,SAASxB,cAAc,MAAM,CAACqB,OAAO,WAAW,CAAC,KAAK,EAAE;gBAAU,GAAG,KAAK;gBACxH,MAAMG,KAAK,cAAc,CAAC;gBAG1B,MAAMA,KAAK,OAAO,CAAC,4DAA4D,KAAK;gBACpF,MAAMA,KAAK,OAAO,CAAC,yBAAyB;oBAAE,SAASxB,cAAc,MAAM,CAACqB,OAAO,WAAW,CAAC,KAAK,EAAE;gBAAK,GAAG,KAAK;gBACnH,MAAMG,KAAK,cAAc,CAAC;gBAG1B,MAAMA,KAAK,OAAO,CAAC,8DAA8D,KAAK;gBACtF,MAAMA,KAAK,OAAO,CAAC,yBAAyB;oBAAE,SAASxB,cAAc,MAAM,CAACqB,OAAO,WAAW,CAAC,KAAK,EAAE;gBAAK,GAAG,KAAK;gBACnH,MAAMG,KAAK,cAAc,CAAC;gBAE1B,MAAMA,KAAK,OAAO,CAAC,6BAA6B,MAAM,CAAC;oBAAE,SAAQ;gBAAU,GAAG,KAAK;YACrF,OACC,MAAMA,KAAK,OAAO,CAAC,0BAA0B,MAAM,CAAC;gBAAE,SAAQ;YAAQ,GAAG,KAAK;QAG9E;QAEF,IAAGH,AAAgC,QAAhCA,OAAO,WAAW,CAAC,SAAS,EAAS;YACvC,MAAMG,KAAK,cAAc,CAAC;YAC1B,MAAMuP,aAAavP,KAAK,OAAO,CAAC;YAChC,IAAI,MAAMuP,WAAW,SAAS,IAC5B,MAAMA,WAAW,KAAK;QAEzB;QAEA3P,KAAK,YAAY,CAAC,aAAa,GAAElY,KAAK,GAAG;QAEzC,IAAImY,AAAoB,cAApBA,OAAO,QAAQ,EAAgB;YAClC,MAAMG,KAAK,OAAO,CAAC,0BAA0B,MAAM,CAAC;gBAAE,SAASH,OAAO,WAAW,CAAC,KAAK,GAAE,SAAS;YAAO,GAAG,OAAO,CAAC;gBAAE,OAAO;YAAU;YACvI,MAAMG,KAAK,cAAc,CAAC;YAC1B,MAAMA,KAAK,OAAO,CAAC,0BAA0B,MAAM,CAAC;gBAAE,SAASH,OAAO,WAAW,CAAC,KAAK,GAAE,SAAS;YAAO,GAAG,KAAK;QAClH;QAGA,MAAMG,KAAK,KAAK;QAEhB,OAAOiE,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQiB,WAAWrF,AAAoB,cAApBA,OAAO,QAAQ,GAAiB,SAAS;IACpE;IC5OO,MAAMsO,aAAwC;QACpD,IAAI;QACJ,QAAQ;QACR,UAAU;IACX;IAEO,MAAMC,kBAAkB,CAAC0B,YAC/BA,AAAc,UAAdA,YAAsB,IAAI;IAIpB,MAAMC,iBAAgC,OAAOnQ,MAAMC;QACzD,IAAIA,AAAsB,UAAtBA,OAAO,UAAU,EACpB,OAAOqE,cAAUtE,MAAMC;QAGxB,IAAIA,AAAsB,cAAtBA,OAAO,UAAU,EACpB,OAAOgC,gBAAWjC,MAAMC;QAGzB,OAAOH,cAAcmC,iBAAYqC,eAAWtE,MAAMC;IACnD;ICpDO,MAAMmQ,eAA+B,OAAOvJ,OAAO5G;QACtD,MAAMzd,OAAO,IAAI8Z,KAAK;YAClB,SAAS;gBACL,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAClE,SAAS;YACb;QACJ;QAEA,IAAI;YACA,MAAMc,MAAM,MAAM5gB,KAAK,GAAG,CAA6C;gBACnE,QAAQ;gBACR,KAAK;gBACL,QAAQ;oBAAE,QAAQ;gBAAI;YAC1B;YAEA,OAAO6hB,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQjB,AAAa,MAAbA,IAAI,IAAI,GAAS;gBAAE,YAAYA,IAAI,gBAAgB;YAAC,IAAI;gBAAE,YAAY;YAAK,GAAG;QACjG,EAAE,OAAOjd,OAAO;YACZ,OAAOke,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ;gBAAE,YAAY;YAAK,GAAG;QACzC;IAEJ;IAEO,MAAMgM,gBAAiC,OAAOxJ,OAAO5G;QAC3D,MAAMzd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAClE,SAAS;YACV;QACD;QAEG,IAAI;YACA,MAAMc,MAAM,MAAM5gB,KAAK,GAAG,CAAkD;gBACxE,QAAQ;gBACR,KAAK;YACT;YAEA,OAAO6hB,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQjB,AAAe,MAAfA,IAAI,MAAM,GAAS;gBAAE,YAAYA,IAAI,IAAI,CAAC,UAAU;YAAC,IAAI;gBAAE,YAAY;YAAK,GAAG;QAClG,EAAE,OAAOjd,OAAO;YACZ,OAAOke,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ;gBAAE,YAAY;YAAK,GAAG;QACzC;IAEJ;IAEO,MAAMiM,eAA+B,OAAOzJ,OAAO5G;QACzD,MAAMzd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;YACnE;QACD;QAEG,IAAI;YACA,MAAMiO,UAAU,MAAM/tB,KAAK,GAAG,CAAS;gBACnC,QAAQ;gBACR,KAAK;gBACL,QAAQ;oBACJ,GAAG;oBACH,OAAOyd,OAAO,KAAK;oBACnB,MAAM;gBACV;YACJ;YAEA,MAAMha,QAAQsqB,QAAQ,KAAK,CAAC;YAE5B,OAAOlM,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQpe,QAAQ;gBAAE,YAAY4B,OAAO5B,KAAK,CAAC,EAAE;YAAE,IAAG;gBAAC,YAAY;YAAI,GAAE;QAChF,EAAE,OAAOE,OAAO;YACZ,OAAOke,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ;gBAAE,YAAY;YAAK,GAAG;QACzC;IAEJ;IAEO,MAAMmM,gBAAiC,OAAO3J,OAAO5G;QAC3D,MAAMzd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAClE,SAAS;YACV;QACD;QAEG,IAAI;YACA,MAAMc,MAAM,MAAM5gB,KAAK,GAAG,CAAgD;gBACtE,QAAQ;gBACR,KAAK;YACT;YAEA,OAAO6hB,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQjB,AAAc,MAAdA,IAAI,KAAK,GAAS;gBAAE,YAAYA,IAAI,IAAI,CAAC,UAAU;YAAC,IAAI;gBAAE,YAAY;YAAK,GAAG;QACjG,EAAE,OAAOjd,OAAO;YACZ,OAAOke,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ;gBAAE,YAAY;YAAK,GAAG;QACzC;IAEJ;IC1FO,MAAMoM,iBAAiC,OAAO5J,OAAO5G;QACxD,MAAMzd,OAAO,IAAI8Z,KAAK;YAClB,SAAS;gBACL,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAClE,SAAS;YACb;QACJ;QAEA,IAAI;YACA,MAAMc,MAAM,MAAM5gB,KAAK,GAAG,CAAC;gBACvB,QAAQ;gBACR,KAAK;gBACL,iBAAiB,CAAC,UAAU,CAAC;YACjC;YAEA,OAAO6hB,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQjB,AAAa,MAAbA,IAAI,IAAI,GAAS;gBAAE,gBAAgB;YAAK,IAAI;gBAAE,gBAAgB;YAAM,GAAG;QAC1F,EAAE,OAAOjd,OAAO;YACZ,OAAOke,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ;gBAAE,gBAAgB;YAAM,GAAG;QAC9C;IAEJ;IAEO,MAAMqM,iBAAiC,OAAO7J,OAAO5G;QAC3D,MAAMzd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;YACnE;QACD;QACG,MAAMqO,cAAc;QAEpB,IAAI;YACA,MAAMvN,MAAM,MAAM5gB,KAAK,GAAG,CAA8B;gBACpD,QAAQ;gBACR,KAAK;gBACL,QAAQ;oBACJmuB;oBACA,KAAK;oBACL,OAAO;oBACP,OAAO;oBACP,OAAO;oBACP,MAAM;oBACN,WAAW;oBACX,mBAAmB;oBACnB,YAAY;oBACZ,aAAa;oBACb,OAAO1Q,OAAO,KAAK;oBACnB,MAAM;oBACN,GAAG;oBACH,MAAM;gBACV;YACJ;YAEA,OAAOoE,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQjB,AAAsB,MAAtBA,IAAI,SAAS,CAAC,GAAG,GAAS;gBAAE,gBAAgB;YAAK,IAAI;gBAAE,gBAAgB;YAAM,GAAG;QACnG,EAAE,OAAOjd,OAAO;YACZ,OAAOke,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ;gBAAE,gBAAgB;YAAM,GAAG;QAC9C;IAEJ;IAEO,MAAMuM,kBAAmC,OAAO/J,OAAO5G;QAC7D,MAAMzd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAClE,SAAS;YACV;QACD;QAEG,IAAI;YACA,MAAMc,MAAM,MAAM5gB,KAAK,GAAG,CAAqB;gBAC3C,QAAQ;gBACR,KAAK;YACT;YAEA,OAAO6hB,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQjB,AAAe,MAAfA,IAAI,MAAM,GAAS;gBAAE,gBAAgB;YAAK,IAAI;gBAAE,gBAAgB;YAAM,GAAG;QAC5F,EAAE,OAAOjd,OAAO;YACZ,OAAOke,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ;gBAAG,gBAAgB;YAAK,GAAG;QAC9C;IAEJ;IAEO,MAAMwM,kBAAmC,OAAOhK,OAAO5G;QAC7D,MAAMzd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAClE,SAAS;YACV;QACD;QAEG,IAAI;YACA,MAAMc,MAAM,MAAM5gB,KAAK,GAAG,CAAC;gBACvB,QAAQ;gBACR,KAAK;gBACL,iBAAiB,CAAC,UAAU,CAAC;YACjC;YAEA,OAAO6hB,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQjB,AAAc,MAAdA,IAAI,KAAK,GAAS;gBAAE,gBAAgB;YAAK,IAAI;gBAAE,gBAAgB;YAAM,GAAG;QAC3F,EAAE,OAAOjd,OAAO;YACZ,OAAOke,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ;gBAAG,gBAAgB;YAAK,GAAG;QAC9C;IAEJ;ICnEO,MAAMzH,sBAAgB,CACzB2I,SACAuL,OAAe,GAAG,GACW;YAC7BA;YACAvL;YACA,MAAM;QACV;ICjDO,eAAewL,iBAAiB9Q,MAA+B;QAClE,IAAI;YACA,MAAM,EAAE+Q,KAAK,EAAE,GAAG/Q;YAClB,IAAI,CAAC+Q,OAAO,OAAOpU,oBAAc,WAAW;YAE5C,MAAMpa,OAAO,IAAI8Z,KAAK;gBAClB,SAAS;oBACL,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;oBAClE,OAAO/U,OAAOyjB;oBACd,SAAS;gBACb;YACJ;YAEA,MAAMC,YAAYrS,cAAc,MAAM,CAAC,IAAI9W,OAAO,OAAO,CAAC,IAAIA,OAAO,OAAO,KAAK,IAAI;YACrF,MAAM,CAACopB,UAAUC,UAAUC,YAAYC,cAAc,GAAG,MAAM1tB,QAAQ,GAAG,CAAC;gBACtEnB,KAAK,GAAG,CAAiD;oBACrD,QAAQ;oBACR,KAAK;gBACT;gBACAA,KAAK,GAAG,CAA+C;oBACnD,QAAQ;oBACR,KAAK;gBACT;gBACAA,KAAK,GAAG,CAAgF;oBACpF,QAAQ;oBACR,KAAK;gBACT;gBACAA,KAAK,GAAG,CAA0I;oBAC9I,QAAQ;oBACR,KAAK;oBACL,QAAQ;wBACJ,MAAM;wBACN,cAAc;wBACd,WAAWyuB;wBACX,SAASA;wBACT,MAAM;oBACV;gBACJ;aACH;YAED,MAAMK,UAAyB;gBAC3B,SAASJ,SAAS,IAAI,CAAC,QAAQ,CAAC,SAAS;gBACzC,kBAAkBG,AAAyC,MAAzCA,cAAc,IAAI,CAAC,IAAI,CAAC,aAAa,GAAS,OAAOA,cAAc,IAAI,CAAC,IAAI,CAAC,aAAa;gBAC5G,SAASF,SAAS,IAAI,CAAC,KAAK,CAAC,UAAU;gBACvC,WAAWC,WAAW,IAAI,CAAC,UAAU,CAAC,YAAY;gBAClD,oBAAoBA,AAA+C,MAA/CA,WAAW,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAS,OAAOA,WAAW,IAAI,CAAC,UAAU,CAAC,gBAAgB;gBAC1H,uBAAuBC,AAA2C,MAA3CA,cAAc,IAAI,CAAC,IAAI,CAAC,eAAe,GAAS,OAAOA,cAAc,IAAI,CAAC,IAAI,CAAC,eAAe;gBACrH,kBAAkBA,AAAsC,MAAtCA,cAAc,IAAI,CAAC,IAAI,CAAC,UAAU,GAAS,OAAOA,cAAc,IAAI,CAAC,IAAI,CAAC,UAAU;gBACtG,kBAAkBA,AAAuC,MAAvCA,cAAc,IAAI,CAAC,IAAI,CAAC,WAAW,GAAS,OAAOA,cAAc,IAAI,CAAC,IAAI,CAAC,WAAW;gBACxG,qBAAqBA,AAAyC,MAAzCA,cAAc,IAAI,CAAC,IAAI,CAAC,aAAa,GAAS,OAAOA,cAAc,IAAI,CAAC,IAAI,CAAC,aAAa;YACnH;YAEA,OAAOhN,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQiN,SAAS;QAC5B,EAAE,OAAOnrB,OAAO;YACZ,OAAOyW,oBAAczW,iBAAiB5B,QAAQ4B,MAAM,OAAO,GAAG;QAClE;IACJ;ICzDO,eAAeorB,eAAetR,MAA+B;QAChE,MAAM,EAAC6G,OAAO,EAAC,GAAG7G;QAClB,IAAI;YACA,MAAMzd,OAAO,IAAI8Z,KAAK;gBAClB,SAAS;oBACL,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;oBAClE,SAAS;gBACb;YACJ;YAEA,MAAM,CAACkP,WAAWC,qBAAqB,GAAG,MAAM9tB,QAAQ,GAAG,CAAC;gBACxDnB,KAAK,GAAG,CAeL;oBACC,QAAQ;oBACR,KAAK;oBACL,QAAQ;wBAAC,QAAQ;oBAAI;gBACzB;gBACAA,KAAK,GAAG,CAKL;oBACC,QAAQ;oBACR,KAAK;oBACL,QAAQ;wBAAC,MAAM;wBAAG,QAAQ;oBAAI;gBAClC;aACH;YAED,MAAMkvB,UAAUF,AAAuDxvB,KAAAA,MAAvDwvB,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB;YAElE,MAAMG,SAAuB;gBACzB,SAAS9pB,OAAO2pB,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB;gBACnE,kBAAkBA,AAAiDxvB,KAAAA,MAAjDwvB,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,GAAiB3pB,OAAO2pB,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,IAAI;gBACtI,SAAS3pB,OAAO2pB,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB;gBACnE,WAAWA,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY;gBACrD,oBAAoBA,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,GAAGA,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,GAAG;gBAC/H,kBAAkBE,UAAUD,qBAAqB,WAAW,CAAC,YAAY,CAAC,gBAAgB,GAAE;gBAC5F,kBAAkBC,UAAUD,qBAAqB,WAAW,CAAC,YAAY,CAAC,eAAe,GAAG;gBAC5F,kBAAkBC,UAAUD,qBAAqB,WAAW,CAAC,gBAAgB,CAAC,UAAU,GAAE;gBAC1F,qBAAqBC,UAAUD,qBAAqB,WAAW,CAAC,gBAAgB,CAAC,aAAa,GAAE;YACpG;YAEA,OAAOpN,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQsN,QAAQ;QAC3B,EAAE,OAAOxrB,OAAO;YACZ,OAAOyW,oBAAczW,iBAAiB5B,QAAQ4B,MAAM,OAAO,GAAG;QAClE;IAEJ;IC7DO,eAAeyrB,cAAc3R,MAA+B;QAC/D,MAAM,EAAC+Q,KAAK,EAAC,GAAG/Q;QAEhB,IAAI,CAAC+Q,OAAO,OAAO;YAAC,MAAM;YAAK,SAAS;YAAW,MAAM;QAAI;QAE7D,IAAI;YACA,MAAM,EAACA,KAAK,EAAC,GAAG/Q;YAChB,IAAI,CAAC+Q,OAAO,OAAOpU,oBAAc,WAAW;YAE5C,MAAMpa,OAAO,IAAI8Z,KAAK;gBAClB,SAAS;oBACL,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBACtE;YACJ;YACA,MAAMuP,WAAW;gBACb,eAAe;gBACf,YAAY;gBACZ,cAAc;gBACd,WAAW;oBACP,MAAM;oBACN,OAAO;oBACP,WAAW;gBACf;YACJ;YACA,MAAMC,eAAe,MAAMtvB,KAAK,GAAG,CAAS;gBACxC,QAAQ;gBACR,KAAK;gBACL,QAAQ;oBACJ,GAAG;oBACHwuB;oBACA,MAAM;gBACV;YACJ;YAGA,MAAMe,gBAAgBD,aAAa,IAAI,GAAG,KAAK,CAAC;YAChD,IAAIC,eAAeF,SAAS,aAAa,GAAGjsB,SAASmsB,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK;YAGzF,MAAMC,kBAAkBF,aAAa,KAAK,CAAC;YAC3C,IAAIE,iBAAiBH,SAAS,UAAU,GAAGjsB,SAASosB,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK;YAG1F,MAAMC,gBAAgBH,aAAa,KAAK,CAAC;YACzC,IAAIG,eAAe;gBACf,MAAMvjB,OAAOujB,AAAqB,QAArBA,aAAa,CAAC,EAAE,GAAW,KAAK;gBAC7CJ,SAAS,YAAY,GAAGnjB,OAAO9I,SAASqsB,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK;YAChF;YAGA,MAAMC,YAAYJ,aAAa,KAAK,CAAC;YACrC,IAAII,WAAWL,SAAS,SAAS,CAAC,IAAI,GAAGjsB,SAASssB,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK;YAGlF,MAAMC,aAAaL,aAAa,KAAK,CAAC;YACtC,IAAIK,YAAYN,SAAS,SAAS,CAAC,KAAK,GAAGjsB,SAASusB,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK;YAGrF,MAAMC,iBAAiBN,aAAa,KAAK,CAAC;YAC1C,IAAIM,gBAAgBP,SAAS,SAAS,CAAC,SAAS,GAAGjsB,SAASwsB,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK;YAEjG,MAAMC,SAAuB;gBACzB,SAASR,SAAS,UAAU;gBAC5B,kBAAkBA,SAAS,SAAS,CAAC,SAAS;gBAC9C,kBAAkBA,SAAS,SAAS,CAAC,IAAI;gBACzC,mBAAmBA,SAAS,SAAS,CAAC,KAAK;YAC/C;YAEA,OAAOxN,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQgO,QAAQ;QAC3B,EAAE,OAAOlsB,OAAO;YACZ,OAAOyW,oBAAczW,iBAAiB5B,QAAQ4B,MAAM,OAAO,GAAG;QAClE;IACJ;ICxEO,eAAemsB,mBAAmBrS,MAA+B;QAEpE,IAAI;YACA,MAAM4M,WAAW5M,OAAO,OAAO,CAAC,IAAI,CAAC,CAACqC,KAAOA,AAAY,SAAZA,GAAG,IAAI,GAAY;YAChE,IAAI,CAACuK,UACD,OAAOjQ,oBAAc,sBAAsB;YAG/C,MAAMpa,OAAO,IAAI8Z,KAAK;gBAClB,SAAS;oBACL,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;oBAClE,SAAS;oBACT,QAAQ;gBACZ;YACJ;YAEA,MAAMqK,YAAY,IAAId;YACtB,MAAMiB,KAAKhlB,KAAK,GAAG,GAAG,QAAQ;YAC9B,MAAMyqB,eAAe;YACrB,MAAMtF,KAAKN,UAAU,SAAS,CAAC4F,cAAc1F,UAAU,cAAc;YAErE,MAAM,CAAC2F,aAAaC,UAAU,GAAG,MAAM9uB,QAAQ,GAAG,CAAC;gBAC/CnB,KAAK,GAAG,CAAyD;oBAC7D,QAAQ;oBACR,KAAK;gBACT;gBACAA,KAAK,GAAG,CAA6L;oBACjM,QAAQ;oBACR,SAAS;oBACT,KAAK+vB;oBACL,SAAS;wBAAE,OAAOtF;wBAAI,OAAOH;oBAAG;gBACpC;aACH;YAED,MAAM4F,UAAyB;gBAC3B,SAASF,YAAY,IAAI,CAAC,UAAU;gBACpC,UAAUA,YAAY,IAAI,CAAC,WAAW;gBACtC,kBAAkBC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU;gBACjD,iBAAiBA,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU;gBAChD,oBAAoBA,UAAU,IAAI,CAAC,KAAK,CAAC,aAAa;gBACtD,oBAAoBA,UAAU,IAAI,CAAC,KAAK,CAAC,aAAa;gBACtD,iBAAiBA,UAAU,IAAI,CAAC,KAAK,CAAC,eAAe;gBACrD,kBAAkBA,UAAU,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK;YAClE;YAEA,OAAOpO,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQqO,SAAS;QAC5B,EAAE,OAAOvsB,OAAO;YACZ,OAAOyW,oBAAczW,iBAAiB5B,QAAQ4B,MAAM,OAAO,GAAG;QAClE;IACJ;IC3CO,MAAMwsB,oBAGT,OAAO9L,OAAO5G;QACd,MAAM,EAAE2S,QAAQ,EAAE,GAAG3S;QACrB,OAAQ2S;YACJ,KAAK;gBACD,OAAOrB,eAAetR;YAC1B,KAAK;gBACD,OAAOqS,mBAAmBrS;YAC9B,KAAK;gBACD,OAAO2R,cAAc3R;YACzB,KAAK;gBACD,OAAO8Q,iBAAiB9Q;YAC5B;gBACI,OAAOoE,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ,MAAM;QAC7B;IACJ;IC+BO,MAAMzH,wCAAgB,CACzB2I,SACAuL,OAAe,GAAG,GACO;YACzBA;YACAvL;YACA,MAAM;QACV;ICaO,eAAesN,kBAAkB5S,MAA2B;QAC/D,IAAI;YACA,MAAM,EACF6G,OAAO,EACPgM,UAAU,CAAC,EACXC,WAAW,EAAE,EACbC,mBAAmB,KAAK,EACxBC,cAAc,KAAK,EACtB,GAAGhT;YAEJ,MAAMzd,OAAO,IAAI8Z,KAAK;gBAClB,SAAS;oBACL,QAAQwK,QAAQ,GAAG,CAAC,CAACxE,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAC/D;YACJ;YAEA,MAAM4Q,aAAa,MAAM1wB,KAAK,GAAG,CAA0B;gBACvD,KAAK;gBACL,QAAQ;gBACR,QAAQ;oBAAE,QAAQ;gBAAK;YAC3B;YAEA,MAAM2wB,cAAc,MAAM3wB,KAAK,GAAG,CAAmH;gBACjJ,QAAQ;gBACR,KAAK;gBACL,QAAQ;oBACJ,eAAe;oBACf,KAAK;oBACL,UAAU;oBACV,UAAU;oBACV,SAAS;oBACT,oBAAoB;oBACpB,mBAAmB;oBACnB,iBAAiB;oBACjB,aAAa;oBACb,aAAa0wB,WAAW,WAAW;oBACnC,QAASJ,AAAAA,CAAAA,UAAU,KAAKC;oBACxB,OAAOA;oBACP,SAAS;oBACT,qBAAqB,CAAC,4GAA4G,EAAEE,cAAc,MAAM,IAAI,cAAc,CAAC;oBAC3K,QAAQ;gBACZ;YACJ;YAEA,MAAMG,cAAgCD,YAAY,IAAI,CAAC,GAAG,CAAC,CAACvR,OAAU;oBAClE,OAAOA,KAAK,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;oBACnD,UAAUA,KAAK,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG;oBACtE,YAAYA,KAAK,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW;oBAC9D,aAAaA,KAAK,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU;oBAC9D,SAASA,KAAK,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS;oBACzD,SAASA,KAAK,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS;oBACzD,SAASA,KAAK,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS;oBACzD,YAAYA,KAAK,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY;oBAC/D,GAAIoR,mBAAmB;wBACnB,cAAcpR;oBAElB,IAAI,CAAC,CAAC;gBACV;YACA,MAAMyR,qBAA8ClwB,KAAK,KAAK,CAACgwB,YAAY,aAAa,CAAC,gBAAgB;YACzG,OAAO9O,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EACH;gBACI+O;gBACA,GAAIH,cAAc;oBACd,YAAY;wBACV,OAAOI,mBAAmB,WAAW;wBACrCP;wBACAC;oBACF;gBACF,IAAI,IAAI;YACd,GACA;QAER,EAAE,OAAO5sB,OAAO;YACZ,OAAOyW,sCAAczW,iBAAiB5B,QAAQ4B,MAAM,OAAO,GAAG;QAClE;IACJ;ICjEO,eAAemtB,iBAAiBrT,MAA2B;QAC9D,IAAI;YACA,MAAM,EACF6G,OAAO,EACPkK,KAAK,EACL8B,UAAU,CAAC,EACXC,WAAW,EAAE,EACbC,mBAAmB,KAAK,EACxBC,cAAc,KAAK,EACnBM,MAAM,EACNC,QAAQ,EACX,GAAGvT;YACJ,IAAI,CAAC+Q,OAAO,OAAO;gBAAC,MAAM;gBAAK,SAAS;gBAAW,MAAM;YAAI;YAC7D,MAAMxuB,OAAO,IAAI8Z,KAAK;gBAClB,SAAS;oBACL,QAAQwK,QAAQ,GAAG,CAAC,CAACxE,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAC/D;YACJ;YAEA,MAAMmR,mBAAmB,CAACC;gBAEtB,MAAMztB,QAAQytB,KAAK,KAAK,CAAC;gBACzB,IAAI,CAACztB,OACD,MAAM,IAAI1B,MAAM;gBAGpB,IAAIovB,aAAaxwB,KAAK,KAAK,CAAC8C,KAAK,CAAC,EAAE;gBAGpC,MAAM2tB,iBAAiB,SAAU1wB,GAAW,EAAE2wB,SAAkB,KAAK;oBACjE,MAAMC,YAAY;wBAAC;wBAAK;wBAAS;wBAAK;wBAAQ;wBAAK;wBAAQ;wBAAK;wBAAU;wBAAK;wBAAU;wBAAK;qBAAQ;oBACtG,MAAMC,YAAY;wBAAC;wBAAS;wBAAK;wBAAU;wBAAK;wBAAU;wBAAK;wBAAQ;wBAAK;wBAAQ;wBAAK;wBAAS;wBAAK;wBAAS;wBAAK;wBAAS;qBAAI;oBAClI,MAAM/U,MAAM6U,SAASE,YAAYD;oBAEjC,IAAIxxB,SAASY;oBACb,IAAK,IAAIkE,IAAI,GAAGA,IAAI4X,IAAI,MAAM,EAAE5X,KAAK,EACjC9E,SAASA,OAAO,OAAO,CAAC,IAAI0xB,OAAOhV,GAAG,CAAC5X,EAAE,EAAE,MAAM4X,GAAG,CAAC5X,IAAI,EAAE;oBAE/D,OAAO9E;gBACX;gBAEA,MAAM2xB,YAAY;oBACd,GAAGN,UAAU;oBACb,cAAcA,WAAW,YAAY,CAAC,GAAG,CAAC,CAAC/R;wBACvC,MAAMsS,UAAUN,eAAehS,KAAK,YAAY,EAAE;wBAClD,MAAMuS,aAAahxB,KAAK,KAAK,CAAC+wB;wBAC9B,OAAO;4BACH,cAActS,KAAK,YAAY;4BAC/B,cAAcuS;wBAClB;oBACJ;gBACJ;gBAEA,OAAOF;YACX;YAEA,eAAeG,cACXC,KAAa,EACbtB,QAAgB,EAChB/B,KAAsB;gBAEtB,OAAOxuB,KAAK,GAAG,CAAS;oBACpB,QAAQ;oBACR,KAAK;oBACL,QAAQ;wBACJ,KAAK;wBACL,OAAO6xB;wBACP,OAAOtB;wBACP,OAAO/B;wBACP,MAAM;oBACV;gBACJ;YACJ;YAEA,IAAIsD,OAAOrB,cAAc,KAAKF,WAAW,KAAK,KAAKA;YACnD,IAAIsB,QAASb,AAAAA,CAAAA,YAAYV,OAAM,IAAK;YACpC,IAAIyB,kBAAkB,MAAMH,cAAcC,QAAQC,MAAMA,MAAMtD;YAC9D,IAAIwD,eAAef,iBAAiBc;YACpC,IAAInB,cAA+B,EAAE;YAErC,IAAI,CAACH,eAAeF,WAAW,IAAI;gBAC/B,IAAI0B,eAAeD,aAAa,YAAY,CAAC,MAAM;gBACnD,IAAIE,WAAW5B,UAAU;gBAEzB,MAAO2B,eAAe1B,SAAU;oBAC5B,MAAM4B,YAAY5B,WAAW0B;oBAC7B,MAAMG,kBAAkBD,YAAY,KAAK,KAAKA;oBAE9C,IAAIE,mBAAmB,MAAMT,cAAeM,AAAAA,CAAAA,WAAW,KAAK,IAAIE,iBAAiB5D;oBACjF,IAAI8D,SAASrB,iBAAiBoB;oBAE9BL,aAAa,YAAY,GAAGA,aAAa,YAAY,CAAC,MAAM,CAACM,OAAO,YAAY;oBAChFL,eAAeD,aAAa,YAAY,CAAC,MAAM;oBAE/C,IAAIM,OAAO,YAAY,CAAC,MAAM,GAAGF,iBAAiB;oBAClDF;gBACJ;YACJ;YAEA,IAAIA,WAAW;YACf,IAAIzB,aAAa;gBACb,IAAI8B,eAAeP,aAAa,YAAY,CACvC,MAAM,CAAC,CAAC5S,OAASA,AAAmE,MAAnEA,KAAK,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,YACtE,GAAG,CAAC,CAACA,OAASA,KAAK,YAAY;gBAEpC,IAAI2R,QAAQ;oBACR,MAAMyB,cAAcD,aAAa,SAAS,CAAC,CAACnT,OAASA,KAAK,KAAK,KAAK2R;oBACpE,IAAIyB,AAAgB,OAAhBA,aAAoBD,eAAeA,aAAa,KAAK,CAACC,cAAc;gBAC5E;gBAEA,IAAIP,eAAeM,aAAa,MAAM;gBAEtC,MAAON,eAAe1B,YAAYsB,QAAQC,OAAOE,aAAa,WAAW,CAAE;oBACvEH,SAAS;oBACT,IAAIY,sBAAsB,MAAMb,cAAcC,QAAQC,MAAMA,MAAMtD;oBAClE,IAAIkE,mBAAmBzB,iBAAiBwB;oBACxC,MAAME,cAAcD,iBAAiB,YAAY,CAC5C,MAAM,CAAC,CAACtT,OAASA,AAAmE,MAAnEA,KAAK,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,YACtE,GAAG,CAAC,CAACA,OAASA,KAAK,YAAY;oBACpCmT,eAAeA,aAAa,MAAM,CAACI;oBACnCV,eAAeM,aAAa,MAAM;gBACtC;gBAEAA,eAAeA,aAAa,KAAK,CAAC,GAAGhC;gBACrC0B,eAAeM,aAAa,MAAM;gBAElC,IAAIN,gBAAgB1B,YAAYsB,QAAQC,OAAOE,aAAa,WAAW,EAAE;oBACrE,IAAIS,sBAAsB,MAAMb,cAAeC,AAAAA,CAAAA,QAAQ,KAAKC,MAAMA,MAAMtD;oBACxE,IAAIkE,mBAAmBzB,iBAAiBwB;oBACxCP,WAAWQ,iBAAiB,YAAY,CAAC,MAAM,GAAG,KAAKA,iBAAiB,YAAY,CAAC,IAAI,CAAC,CAACtT,OAASA,AAAmE,MAAnEA,KAAK,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;gBAC7J;gBAEA,MAAMwT,YAAYL,aAAa,MAAM,GAAG,IAAIA,YAAY,CAACA,aAAa,MAAM,GAAG,EAAE,CAAC,KAAK,GAAG/yB,KAAAA;gBAC1FoxB,cAAc2B,aAAa,GAAG,CAAC,CAACnT,OAAU;wBACtC,OAAOA,KAAK,WAAW,CAAC,EAAE,CAAC,KAAK;wBAChC,UAAUA,KAAK,WAAW,CAAC,EAAE,CAAC,KAAK;wBACnC,YAAYA,KAAK,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS;wBACnD,aAAaA,KAAK,WAAW,CAAC,EAAE,CAAC,WAAW;wBAC5C,SAASA,KAAK,WAAW,CAAC,EAAE,CAAC,QAAQ;wBACrC,SAASA,KAAK,WAAW,CAAC,EAAE,CAAC,YAAY;wBACzC,UAAUA,KAAK,WAAW,CAAC,EAAE,CAAC,SAAS;wBACvC,cAAcA,KAAK,WAAW,CAAC,EAAE,CAAC,QAAQ;wBAC1C,GAAIoR,mBAAmB;4BAAC,cAAcpR;wBAAI,IAAI,CAAC,CAAC;oBACpD;gBAEA,OAAOyC,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EACH;oBACI+O;oBACA,YAAY;wBACRsB;wBACA5B;wBACAC;wBACA,UAAUsB,QAAQ;wBAClB,QAAQe;oBACZ;gBACJ,GACA;YAER;YAEAhC,cAAcoB,aAAa,YAAY,CAAC,GAAG,CAAC,CAAC5S,OAAU;oBACnD,OAAOA,KAAK,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK;oBAC7C,UAAUA,KAAK,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK;oBAChD,YAAYA,KAAK,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS;oBAChE,aAAaA,KAAK,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW;oBACzD,SAASA,KAAK,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ;oBAClD,SAASA,KAAK,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY;oBACtD,UAAUA,KAAK,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS;oBACpD,cAAcA,KAAK,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ;oBACvD,GAAIoR,mBAAmB;wBAAC,cAAcpR;oBAAI,IAAI,CAAC,CAAC;gBACpD;YACA,OAAOyC,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EACH;gBACI+O;YACJ,GACA;QAER,EAAE,OAAOjtB,OAAO;YACZ,OAAOyW,sCAAczW,iBAAiB5B,QAAQ4B,MAAM,OAAO,GAAG;QAClE;IACJ;ICpFO,eAAekvB,oBAAoBpV,MAA2B;QACnE,IAAI;YACF,MAAM,EACJ6G,OAAO,EACPkK,KAAK,EACL8B,UAAU,CAAC,EACXC,WAAW,EAAE,EACbC,mBAAmB,KAAK,EACxBC,cAAc,KAAK,EACpB,GAAGhT;YAEJ,IAAI,CAAC+Q,OAAO,OAAO;gBAAE,MAAM;gBAAK,SAAS;gBAAW,MAAM;YAAK;YAC/D,MAAMxuB,OAAO,IAAI8Z,KAAK;gBACpB,SAAS;oBACP,QAAQwK,QAAQ,GAAG,CAAC,CAACxE,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;oBAC3D,OAAO0O;gBACT;YACF;YAEA,eAAeoD,cACbtB,OAAe,EACfC,QAAgB,EAChBE,cAAuB,KAAK;gBAE5B,OAAO,MAAMzwB,KAAK,GAAG,CAAqB;oBACxC,QAAQ;oBACR,KAAK;oBACL,QAAQ;wBACN,aAAaswB;wBACb,UAAUC;wBACV,QAAQ;wBACR,MAAM;wBACN,YAAYE,cAAc,YAAY;wBACtC,kBAAkB;wBAClB,SAAS;oBACX;gBACF;YACF;YAGA,MAAME,cAAc,MAAMiB,cAActB,SAASC,UAAUE;YAC3D,IAAIqC,WAAWnC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAACvR,CAAAA,OAAQA,AAAgB,YAAhBA,KAAK,MAAM;YAC/D,MAAM2T,YAAYpC,YAAY,IAAI,CAAC,IAAI,EAAE,aAAa;YAEtD,IAAIqC,cAAc1C,UAAU;YAC5B,MAAM2C,YAAY,IAAIC;YACtB,MAAOJ,SAAS,MAAM,GAAGvC,YAAYyC,eAAeD,UAAW;gBAC7D,IAAIE,UAAU,GAAG,CAACD,cAAc;oBAC9BA;oBACA;gBACF;gBAEA,MAAMpS,MAAM,MAAMgR,cAAcoB,aAAazC,UAAUE;gBACvDwC,UAAU,GAAG,CAACD;gBAEd,MAAMG,aAAavS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAACxB,CAAAA,OAAQA,AAAgB,YAAhBA,KAAK,MAAM;gBAC3D0T,SAAS,IAAI,IAAIK;gBAEjBH;YACF;YAGA,MAAMI,QAAQN,SAAS,KAAK,CAAC,GAAGvC;YAGhC,MAAMK,cAAkCwC,MAAM,GAAG,CAAC,CAAChU,OAAU;oBAC3D,OAAOA,MAAM,eAAe,QAAQA,KAAK,OAAO,IAAG,KAAKA,KAAK,KAAK;oBAClE,UAAUze,KAAK,KAAK,CAACye,KAAK,YAAY,CAAC,CAAC,EAAE,EAAE,OAAO;oBACnD,YAAYva,KAAK,KAAK,CAAC,IAAIS,KAAK8Z,KAAK,UAAU,CAAC,OAAO,CAAC,MAAM,MAAM,OAAO,KAAK;oBAChF,aAAaA,KAAK,GAAG,IAAIA,KAAK,SAAS;oBACvC,cAAcA,KAAK,UAAU,GAAGA,KAAK,WAAW;oBAChD,YAAYA,KAAK,iBAAiB;oBAClC,SAASA,KAAK,WAAW,GAAGA,KAAK,QAAQ;oBACzC,SAASA,KAAK,WAAW,GAAGA,KAAK,UAAU;oBAC3C,YAAYA,KAAK,cAAc,GAAGA,KAAK,WAAW;oBAClD,UAAUA,KAAK,YAAY;oBAC3B,GAAIoR,mBAAmB;wBAAE,cAAcpR;oBAAK,IAAI,CAAC,CAAC;gBACpD;YAEA,OAAOyC,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EACL;gBACE+O;gBACA,GAAIH,cAAc;oBAChB,YAAY;wBACV,OAAOE,YAAY,IAAI,CAAC,IAAI,EAAE;wBAC9BL;wBACAC;oBACF;gBACF,IAAI,IAAI;YACV,GACA;QAEJ,EAAE,OAAO5sB,OAAO;YACd,OAAOyW,sCAAczW,iBAAiB5B,QAAQ4B,MAAM,OAAO,GAAG;QAChE;IACF;IChPO,eAAe0vB,sBAAsB5V,MAA2B;QACnE,IAAG;YACC,MAAM,EACF6G,OAAO,EACPgM,UAAU,CAAC,EACXC,WAAW,EAAE,EACbC,mBAAmB,KAAK,EACxBC,cAAc,KAAK,EACpB,GAAGhT;YAEN,MAAM0M,YAAY,IAAId;YACtB,MAAMgB,WAAW/F,QAAQ,IAAI,CAAC,CAACxE,KAAOA,AAAY,SAAZA,GAAG,IAAI,GAAY;YACzD,IAAI,CAACuK,UAAU,OAAO;gBAAE,MAAM;gBAAK,SAAS;gBAAU,MAAM;YAAK;YACjE,IAAIoG,eAAeF,AAAY,MAAZA,UAAgB,OAAO;gBAAE,MAAM;gBAAK,SAAS;gBAAmB,MAAM;YAAK;YAC9F,MAAMvwB,OAAO,IAAI8Z,KAAK;gBAClB,SAAS;oBACL,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;oBAClE,SAAS;oBACT,QAAQ;gBACZ;YACJ;YAEA,eAAe8R,cACXtB,OAAe,EACfjG,QAAgB,EAChBoG,cAAuB,KAAK;gBAE5B,MAAMnG,KAAKhlB,KAAK,GAAG,GAAG,QAAQ;gBAC9B,MAAMguB,WAAW;gBACjB,MAAMC,cAAc;oBAChB,KAAK9C,cAAc,IAAI;oBACvB,MAAMH,UAAU;gBACpB;gBACA,MAAM7F,KAAKN,UAAU,SAAS,CAACmJ,UAAUjJ,UAAU,cAAckJ;gBACjE,OAAO,MAAMvzB,KAAK,GAAG,CAAqB;oBACtC,QAAQ;oBACR,SAAS;oBACT,KAAKszB;oBACL,SAAS;wBAAE,OAAO7I;wBAAI,OAAOH;oBAAG;oBAChC,QAAQiJ;gBACZ;YACJ;YACA,MAAM5C,cAAc,MAAMiB,cAActB,SAASjG,UAAUoG;YAE3D,IAAI+C,cAAc7C,AAAyB,MAAzBA,YAAY,IAAI,CAAC,IAAI;YACvC,IAAImC,WAAWnC,YAAY,IAAI,CAAC,KAAK;YACrC,IAAIqC,cAAc1C,UAAU;YAC5B,MAAM2C,YAAY,IAAIC;YACtB,MAAOJ,SAAS,MAAM,GAAGvC,YAAYiD,YAAa;gBAC9C,IAAIP,UAAU,GAAG,CAACD,cAAc;oBAC5BA;oBACA;gBACJ;gBAEA,MAAMpS,MAAM,MAAMgR,cAAcoB,aAAa3I,UAAUoG;gBACvDwC,UAAU,GAAG,CAACD;gBAEd,MAAMG,aAAavS,IAAI,IAAI,CAAC,KAAK;gBACjCkS,SAAS,IAAI,IAAIK;gBAEjBH;gBACAQ,cAAc5S,AAAiB,MAAjBA,IAAI,IAAI,CAAC,IAAI;YAC/B;YAEA,MAAMwS,QAAQN,SAAS,KAAK,CAAC,GAAGvC;YAChC,MAAMK,cAAoCwC,MAAM,GAAG,CAAC,CAAChU,OAAU;oBAC3D,OAAOA,KAAK,aAAa;oBACzB,UAAUA,KAAK,WAAW,CAAC,EAAE,CAAC,GAAG;oBACjC,YAAYva,KAAK,KAAK,CAAC,IAAIS,KAAK8Z,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,MAAM,OAAO,KAAK;oBAC1E,aAAa,CAAC,oCAAoC,EAAEA,KAAK,EAAE,CAAC,YAAY,EAAEA,KAAK,UAAU,CAAC,0BAA0B,CAAC;oBACrH,SAASA,KAAK,UAAU;oBACxB,SAASA,KAAK,KAAK;oBACnB,YAAYA,KAAK,cAAc;oBAC/B,YAAYA,KAAK,eAAe;oBAChC,UAAUA,KAAK,YAAY;oBAE3B,GAAIoR,mBAAmB;wBAAE,cAAcpR;oBAAK,IAAI,CAAC,CAAC;gBACtD;YAEA,OAAOyC,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EACH;gBACI+O;gBACA,GAAIH,cAAc;oBACd,YAAY;wBACR,UAAU+C;wBACVlD;wBACAC;oBACJ;gBACJ,IAAI,IAAI;YACZ,GACA;QAER,EAAE,OAAO5sB,OAAO;YACZ,OAAOyW,sCAAczW,iBAAiB5B,QAAQ4B,MAAM,OAAO,GAAG;QAClE;IAEJ;ICpHO,MAAM8vB,gBAA6E,OAAOpP,OAAO5G;QACtG,MAAM,EAAE2S,QAAQ,EAAE,GAAG3S;QACrB,OAAQ2S;YACN,KAAK;gBACH,OAAOC,kBAAkB5S;YAC3B,KAAK;gBACH,OAAOqT,iBAAiBrT;YAC1B,KAAK;gBACH,OAAOoV,oBAAoBpV;YAC7B,KAAK;gBACH,OAAO4V,sBAAsB5V;YAC/B;gBACE,OAAOoE,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ,MAAM;QACzB;IACF;ICVO,MAAM6R,kBAAiC,OAAOrP,OAAO5G;QAE3D,MAAMzd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;YACnE;QACD;QACG,MAAMqO,cAAc;QAEvB,MAAMvN,MAAM,MAAM5gB,KAAK,GAAG,CAAsB;YAC/C,QAAQ;YACR,KAAK;YACL,QAAQ;gBACP,GAAG;gBACH,OAAOyd,OAAO,KAAK;gBACnB,MAAM;gBACN,MAAM;gBACN,aAAa0Q;gBACb,QAAQtpB,KAAK,MAAM,GAAG,QAAQ;YAC/B;QACD;QACA,MAAMiuB,WAAW;YAChB,cAAelS,AAAsB,MAAtBA,IAAI,SAAS,CAAC,GAAG,GAAQA,IAAI,iBAAiB,CAC5D,MAAM,CAACxB,CAAAA,OAAQA,AAAoB,+BAApBA,KAAK,UAAU,EAC9B,GAAG,CAACA,CAAAA,OAAQA,KAAK,eAAe,IAAG,EAAE;QACvC;QACA,OAAOyC,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQiR,UAAUlS,AAAsB,MAAtBA,IAAI,SAAS,CAAC,GAAG,GAAS,gBAAgB;IACpE;IC5CO,MAAMnB,oCAA4B,OAAOjC,MAAMC;QACrD,MAAMoC,eAAerC,KAAK,UAAU;QAEpC,MAAMxd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAClE,QAAQ;gBACR,SAAS;YACV;QACD;QAGA,MAAM6T,cAAc,MAAM3zB,KAAK,GAAG,CAAmB;YAClD,QAAQ;YACR,KAAK;QACP;QAED,IAAI2zB,AAAqB,MAArBA,YAAY,IAAI,EACjB,OAAO;YAAE,MAAM;YAAG,SAAS;YAAQ,MAAMA;QAAY;QAIxD,MAAMC,YAAsB,EAAE;QAC9B,IAAInW,OAAO,OAAO,IAAIA,OAAO,OAAO,CAAC,MAAM,GAAG,GAAG;YAChD,MAAM4C,SAAS,MAAMlf,QAAQ,GAAG,CAC/Bsc,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC1c;gBACnB,MAAMuf,WAAWC,AAAAA,IAAAA,sBAAAA,kBAAAA,AAAAA,EAAmBxf;gBACpC,OAAO0f,AAAAA,IAAAA,sBAAAA,aAAAA,AAAAA,EAAc1f,KAAK6Z,6BAAAA,IAAS,CAACiF,cAAcS;YACnD;YAGD,MAAMM,MAAM,MAAMzf,QAAQ,GAAG,CAC5Bkf,OAAO,GAAG,CAAC,OAAOP;gBACjB,MAAMY,WAAW,IAAIC,CAAAA,4BAAAA;gBACrBD,SAAS,MAAM,CAAC,SAAS1F,2BAAAA,gBAAmB,CAAC8E;gBAE7C,MAAM3F,WAAW,MAAMna,KAAK,GAAG,CAA8B;oBAC5D,QAAQ;oBACR,KAAK;oBACL,MAAM0gB;gBACP;gBAEA,OAAOvG,SAAS,IAAI;YACrB;YAGDyZ,UAAU,IAAI,IAAIhT,IAAI,GAAG,CAAC,CAACd,KAAOA,GAAG,SAAS;QAC/C;QAGA,MAAM+T,QAAQ;YACb,2BAA2B;YAC3B,iBAAiB;YACjB,sBAAsB;YACtB,aAAalzB,KAAK,SAAS,CAAC;gBAC3B,aAAa;gBACb,mBAAmB;gBACnB,aAAa;gBACb,UAAU,CAAC;YACZ;YACA,cAAcA,KAAK,SAAS,CAAC;gBAC5B,SAAS;gBACT,UAAU;gBACV,MAAM;gBACN,WAAW;gBACX,UAAU;gBACV,eAAe;gBACf,QAAQ;YACT;QACD;QAEA,MAAMmzB,WAAW;YAChB,SAASrW,OAAO,OAAO;YACvB,YAAYmW;YACZ,iBAAiB;YACjB,YAAY;YACZ,cAAc;YACd,OAAOjzB,KAAK,SAAS,CAACkzB;QACvB;QAEC,MAAMjT,MAAM,MAAM5gB,KAAK,GAAG,CAAM;YAC9B,QAAQ;YACR,KAAK;YACL,MAAM8zB;QACR;QAEA,OAAOjS,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQjB,IAAI,IAAI;IACzB;IC1FO,MAAMkB,kCAA2B,OAAOtE,MAAMC;QACpD,MAAMsE,gBAAmC;YACxC,MAAM;YACN,QAAQ;YACR,QAAQ;YACR,KAAK;YACL,UAAU;QACX;QAEA,MAAMnE,OAAO,MAAMJ,KAAK,UAAU,CAAC;YAClC,MAAMA,KAAK,KAAK;YAChB,KAAKC,OAAO,GAAG,IAAI;YACnB,SAASA,OAAO,OAAO,EAAE,IAAI,CAACqC,KAAQ;oBAAE,GAAGiC,aAAa;oBAAE,GAAGjC,EAAE;gBAAC,OAAO,EAAE;QAC1E;QAEA,MAAMD,eAAerC,KAAK,UAAU;QAGpC,IAAI;YACH,MAAMI,KAAK,eAAe,CAAC;QAC5B,EAAE,OAAOja,OAAO;YACf,OAAO;gBAAE,MAAM;gBAAG,SAAS;gBAAQ,MAAMia,KAAK,GAAG;YAAG;QACrD;QAGA,MAAMmW,eAAenW,KAAK,OAAO,CAAC;QAClC,MAAMmW,aAAa,KAAK;QACxB,MAAMA,aAAa,IAAI,CAACtW,OAAO,OAAO;QAGtC,IAAIA,OAAO,OAAO,IAAIA,OAAO,OAAO,EAAE,SAAS,GAAG;YACjD,MAAM4C,SAAS,MAAMlf,QAAQ,GAAG,CAC/Bsc,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC1c;gBACnB,MAAMuf,WAAWC,AAAAA,IAAAA,sBAAAA,kBAAAA,AAAAA,EAAmBxf;gBACpC,OAAO0f,AAAAA,IAAAA,sBAAAA,aAAAA,AAAAA,EAAc1f,KAAK6Z,6BAAAA,IAAS,CAACiF,cAAcS;YACnD;YAGD,MAAM+B,qBAAqBzE,KAAK,YAAY,CAAC;YAC7C,MAAMA,KAAK,OAAO,CAAC,sDAAsD,KAAK;YAC9E,MAAMA,KAAK,OAAO,CAAC,iDAAiD,MAAM,CAAC;gBAAE,SAAS;YAAO,GAAG,KAAK;YACrG,MAAM0E,cAAc,MAAMD;YAC1B,MAAMC,YAAY,QAAQ,CAACjC;YAE3B,MAAMzC,KAAK,OAAO,CAAC,yDAAyD,MAAM,CAAC;gBAAE,SAAS;YAAK,GAAG,KAAK;QAC5G;QAGA,MAAMA,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG;QAG1B,IAAIH,OAAO,OAAO,EAAE;YACnB,MAAMuW,kBAAkBpW,KAAK,OAAO,CAAC,6CAA6C,MAAM,CAAC;gBAAE,SAAS;YAAO;YAC3G,MAAMoW,gBAAgB,OAAO,CAAC,gBAAgB,KAAK;YACnD,MAAMA,gBAAgB,OAAO,CAAC,kCAAkC,IAAI,CAACvW,OAAO,OAAO;YACnF,MAAM4P,gBAAgBzP,KAAK,OAAO,CAAC;YACnC,MAAMyP,cAAc,KAAK,GAAG,OAAO;YACnC,MAAMA,cAAc,KAAK,GAAG,KAAK;QAClC;QAGA,IAAI5P,OAAO,WAAW,EAAE;YACvB,MAAMwW,sBAAsBrW,KAC1B,OAAO,CAAC,6CACR,MAAM,CAAC;gBAAE,SAAS;YAAO,GACzB,OAAO,CAAC;YACV,MAAMqW,oBAAoB,OAAO,CAAC,CAAC,gCAAgC,EAAExW,OAAO,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK;QACpG;QAGA,MAAMG,KAAK,OAAO,CAAC,uCAAuC,KAAK;QAE/D,OAAOiE,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ;IAChB;ICnDO,MAAMqS,oBAAmC,OAAO1W,MAAMC;QAC5D,IAAIA,AAAsB,UAAtBA,OAAO,UAAU,EACpB,OAAOqE,gCAAUtE,MAAMC;QAGxB,IAAIA,AAAsB,cAAtBA,OAAO,UAAU,EACpB,OAAOgC,kCAAWjC,MAAMC;QAGzB,OAAOH,cAAcmC,mCAAYqC,iCAAWtE,MAAMC;IACnD;ICtCO,MAAM0W,oBAAoB;IAE1B,MAAMC,YAAY;QACxB,QAAQ;QACR,iBAAiB;IAClB;ICUA,MAAMC,2BAA2B;IAEjC,MAAM7U,8BAA0C;QAC/C,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,MAAM;QACN,MAAM;QACH,MAAM;QACT,QAAQ;QACR,QAAQ;QACR,OAAO;IACR;IAGA,MAAM8U,cAAc;QAAC;KAAO;IAG5B,MAAMC,cAAyC;QAC9C,MAAQ;QACR,QAAU;QACV,aAAe;IACd;IAEF,MAAM5J,uCAAoB,CAAC5F;QAC1B,MAAMrE,WAAW,IAAI8T;QAErB,KAAK,MAAM,CAAChwB,KAAK2F,MAAM,IAAIhL,OAAO,OAAO,CAAC4lB,MACzCrE,SAAS,MAAM,CAAClc,KAAKuG,OAAOZ;QAG7B,OAAOuW,SAAS,QAAQ;IACzB;IAEO,MAAM+T,qBAAqB,OAAUz0B,MAAYyd,QAA6BsH;QACpF,IAAI2P;QAEJ,IAAI;YACHA,UAAU,MAAM10B,KAAK,GAAG,CAAC;gBACxB,QAAQ;gBACR,KAAK;gBACL,QAAQ;oBACP,QAAQ;oBACR,OAAOyd,OAAO,KAAK;oBACnB,MAAM;gBACP;gBACA,MAAMkN,qCAAkB5F;YACzB;QACD,EAAE,OAAOphB,OAAO;YACf+wB,UAAW/wB,OAAwB;QACpC;QAEA,OAAO+wB;IACR;IAEO,MAAMjV,gCAA4B,OAAOjC,MAAMC;QACrD,MAAM0Q,cAAc;QACpB,MAAMwG,mBAAmBtvB,CAAAA,OAAO,gBAAoBR,KAAK,KAAK,CAAC,IAAIS,OAAO,OAAO,KAAK;QAEtF,MAAMua,eAAerC,KAAK,UAAU;QACjC,MAAMhV,UAAU;YACZ,cACI;YACJ,QAAQiV,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;YAClE,QAAQ;YACR,SAAS,CAAC,2GAA2G,EAAErC,OAAO,KAAK,CAAC,sBAAsB,EAAEnY,KAAK,GAAG,IAAI;QAC5K;QACH,MAAMtF,OAAO,IAAI8Z,KAAK;YAAEtR;QAOxB;QAGAxI,KAAK,sBAAsB,CAAiB,CAACma;YAC5C,MAAMya,eAAeza,SAAS,IAAI;YAClC,MAAM4F,UAAUtC,AAAoB,YAApBA,OAAO,QAAQ,GAAe,OAAO;YAGrD,IACCmX,cAAc,aACdA,AAA+B,MAA/BA,aAAa,SAAS,CAAC,GAAG,IAC1B,CAACN,YAAY,QAAQ,CAACM,aAAa,SAAS,CAAC,GAAG,GAC/C;gBACD,MAAM5U,SACLR,2BAAQ,CAACoV,aAAa,SAAS,CAAC,GAAG,CAAC,IACpCza,SAAS,MAAM,CAAC,eAAe,IAC/Bya,aAAa,SAAS,CAAC,OAAO,IAC9B,CAAC,EAAE,EAAE7U,QAAQ,SAAS,CAAC;gBAExB,OAAO;oBACN,MAAMP,2BAAQ,CAACoV,aAAa,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM;oBACnD,SAAS5U;oBACT,MAAM4U;gBACP;YACD;QACD;QAGA,MAAM50B,KAAK,GAAG,CAAC;YACd,QAAQ;YACR,KAAK;YACL,QAAQ;gBACPmuB;gBACA,KAAK;gBACL,OAAO;gBACP,OAAO;gBACP,OAAO;gBACP,MAAM;gBACN,WAAW;gBACX,mBAAmB;gBACnB,YAAY;gBACZ,aAAa;gBACb,OAAO1Q,OAAO,KAAK;gBACnB,MAAM;gBACN,GAAG;gBACH,MAAM;YACP;QACD;QAGA,MAAM0C,eAAe,OAAOE;YAC3B,MAAMwU,cAA2D,EAAE;YAGnE,MAAMC,cAAc,MAAM3zB,QAAQ,GAAG,CACpCkf,OAAO,GAAG,CAAC,CAACtf;gBACX,IAAIuf,WAAWC,AAAAA,IAAAA,sBAAAA,kBAAAA,AAAAA,EAAmBxf;gBACtB,IAAIg0B,MAAMna,6BAAAA,OAAY,CAAC0F;gBACvBA,WAAWyU,MAAMzU,WAAW,GAAGA,SAAS,IAAI,CAAC;gBACzD,OAAOG,AAAAA,IAAAA,sBAAAA,aAAAA,AAAAA,EAAc1f,KAAK6Z,6BAAAA,IAAS,CAACiF,cAAcS;YACnD;YAGD,IAAK,IAAIhe,QAAQ,GAAGA,QAAQ+d,OAAO,MAAM,EAAE/d,QAAS;gBACnD,MAAMke,QAAQsU,WAAW,CAACxyB,MAAM;gBAChC,MAAM0yB,YAAYva,aAAa+F;gBAE/B,MAAME,WAAW,IAAIC,CAAAA,4BAAAA;gBACrBD,SAAS,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAEpe,QAAQ,GAAG;gBAC5Coe,SAAS,MAAM,CAAC,QAAQsU,UAAU,IAAI;gBACtCtU,SAAS,MAAM,CAAC,QAAQsU,UAAU,IAAI;gBACtCtU,SAAS,MAAM,CAAC,oBAAoBsU,UAAU,gBAAgB;gBAC9DtU,SAAS,MAAM,CAAC,QAAQsU,UAAU,IAAI;gBACtCtU,SAAS,MAAM,CAAC,QAAQ1F,2BAAAA,gBAAmB,CAACwF;gBAE5C,MAAMrG,WAAW,MAAMna,KAAK,GAAG,CAA0B;oBACxD,QAAQ;oBACR,KAAK,CAAC,wGAAwG,EAAEyd,OAAO,KAAK,CAAC,WAAW,CAAC;oBACzI,MAAMiD;oBACN,iBAAiB;gBAClB;gBAEAmU,YAAY,IAAI,CAAC1a;YAClB;YAEA,OAAO0a;QACR;QAEA,MAAMhU,sBAAsB/E,cAAc2B,OAAO,OAAO;QACxD,MAAMqD,sBAAsB,MAAMX,aAAaU;QAE/C,MAAME,UAAUtE,cAAcgB,OAAO,OAAO,EAAE,CAACN;YAC9C,IAAIA,IAAI,OAAO,CAAC,GAAG,EAAE;gBACpB,MAAM6D,MAAMH,oBAAoB,SAAS,CAAC,CAACf,KAAOA,OAAO3C,IAAI,OAAO,CAAC,GAAG;gBACxEA,IAAI,OAAO,CAAC,GAAG,GAAG2D,mBAAmB,CAACE,IAAI,CAAC,OAAO;gBAClD7D,IAAI,OAAO,CAAC,KAAK,GAAG;gBACpBA,IAAI,OAAO,CAAC,KAAK,GAAG;YACrB;YACA,OAAOA;QACR;QAGA,MAAMqO,WAAW,MAAMrL,aAAa;YAAC1C,OAAO,WAAW,CAAC,OAAO;SAAC;QAGhE,IAAIwX,eAAe;QAEnB,IAAIxX,OAAO,WAAW,EAAE,eAAeA,OAAO,WAAW,EAAE,aAAa;YACvE,MAAMyX,gBAAgBzX,OAAO,WAAW,CAAC,WAAW;YAEpD,IAAIyX,iBAAiBA,cAAc,MAAM,GAAG,GAAG;gBAC9C,MAAMC,aAAa,EAAE;gBAErB,MAAMC,kBAAkB;oBACvB,UAAU;oBACV,OAAO;oBACP,QAAQ;oBACR,SAAS;oBACT,UAAU;oBACV,QAAQ;oBACR,YAAY;oBACZ,iBAAiB;oBACjB,YAAY;gBACb;gBAEA,KAAK,MAAMC,SAASH,cAAe;oBAClC,MAAMI,eAAe,MAAMt1B,KAAK,GAAG,CAAyC;wBAC3E,QAAQ;wBACR,KAAK;wBACL,QAAQ;4BACP,QAAQ;wBACT;wBACA,MAAM2qB,qCAAkB;4BACvB,MAAM;4BACN,GAAG;4BACH,MAAM;4BACN,OAAOlN,OAAO,KAAK;4BACnB,QAAQ5Y,KAAK,MAAM,GAAG,QAAQ;4BAC9B,UAAUwwB;wBACX;wBACA,iBAAiB;oBAClB;oBAEA,KAAGC,CAAAA,aAAa,WAAW,CAAC,MAAM,GAAC,IASlC,OAAO;wBAAE,MAAM;wBAAK,SAAS,CAAC,MAAM,EAAED,MAAM,gBAAgB,CAAC;wBAAE,MAAM;oBAAG;oBATpC;wBACpC,IAAIE,mBAAmBD,aAAa,WAAW,CAAC,EAAE;wBAClDF,gBAAgB,QAAQ,GAAGG,iBAAiB,QAAQ;wBACpDH,gBAAgB,MAAM,GAAGG,iBAAiB,MAAM;wBAChDH,gBAAgB,MAAM,GAAGG,iBAAiB,OAAO;wBACjDH,gBAAgB,QAAQ,GAAGG,iBAAiB,QAAQ;wBACpDH,gBAAgB,OAAO,GAAGG,iBAAiB,OAAO;wBAClDJ,WAAW,IAAI,CAAC;4BAAE,GAAGC,eAAe;wBAAC;oBACtC;gBAGD;gBACAH,eAAeE,WAAW,MAAM,GAAG,IAAIx0B,KAAK,SAAS,CAAC;oBAAE,YAAew0B;gBAAW,KAAK;YACxF;QACD;QAGA,IAAIK,WAAW;QACf,IAAIC,WAAW;QACf,IAAIhY,OAAO,WAAW,CAAC,WAAW,IAAIA,OAAO,WAAW,CAAC,cAAc,EAAC;YACvE,eAAeiY;gBACd,MAAM9U,MAAM,MAAM5gB,KAAK,GAAG,CAAC;oBACzB,QAAQ;oBACR,KAAK;oBACL,QAAQ;wBACT,QAAQ;wBACRmuB;wBACA,OAAO1Q,OAAO,KAAK;wBACnB,MAAM;wBACN,GAAG;wBACH,MAAM;oBACL;gBACF;gBAEA,OAAOmD,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE;YACnC;YAEA,eAAe+U;gBAChB,MAAM/U,MAAM,MAAM5gB,KAAK,GAAG,CAAC;oBAC1B,QAAQ;oBACR,KAAK;oBACL,QAAQ;wBACR,QAAQ;wBACRmuB;wBACA,OAAO1Q,OAAO,KAAK;wBACnB,MAAM;wBACN,GAAG;wBACH,MAAM;oBACN;gBACD;gBAEA,OAAOmD,IAAI,WAAW;YACvB;YAGA,IAAK,IAAIgV,SAASnY,OAAO,WAAW,CAAC,cAAc,CAClD,IAAImY,AAAU,aAAVA,OAAmB;gBAEtB,IAAK,AAAiC,KAAjC,OAAMF,eAAc,EAAG,MAAM,EAAM;oBAEvC,MAAMG,aAAa,MAAM71B,KAAK,GAAG,CAAC;wBACjC,QAAQ;wBACR,KAAK;wBACL,QAAQ;4BACP,QAAQ;4BACR,QAAQ6E,KAAK,MAAM,GAAG,QAAQ;4BAC9BspB;4BACA,OAAO1Q,OAAO,KAAK;4BACnB,MAAM;4BACN,GAAG;4BACH,MAAM;wBACP;wBACA,iBAAiB4W;oBAClB;oBAEA,MAAMyB,eAAev1B,OAAO,IAAI,CAACs1B,WAAW,aAAa,EAAE;oBAC3D,MAAME,iBAAiBnb,6BAAAA,IAAS,CAACiF,cAAc;oBAC/C7E,2BAAAA,aAAgB,CAAC+a,gBAAgB,IAAInP,WAAWkP;oBAEhDrY,OAAO,kBAAkB,GAAGsY;oBAE5B,MAAMC,UAAUH,WAAW,OAAO;oBAElC,IAAIvH,OAAO;oBAEX,IAAK,IAAI1pB,IAAI,GAAGA,IAAIuvB,mBAAmBvvB,IAAK;wBAC3C,MAAMqxB,AAAAA,IAAAA,sBAAAA,KAAAA,AAAAA,EAAM;wBAEZ,MAAMC,kBAAkB,MAAMl2B,KAAK,GAAG,CAA6B;4BAClE,QAAQ;4BACR,KAAK;4BACL,QAAQ;gCACP,QAAQ;gCACR,SAASg2B;gCACT7H;gCACA,MAAM;gCACN,GAAG;gCACH,MAAM;gCACN,OAAO1Q,OAAO,KAAK;gCACnB,UAAUnY,KAAK,GAAG;4BACnB;wBACD;wBAEAgpB,OAAO4H,gBAAgB,aAAa;wBAEpC,IAAK5H,AAAQ,KAARA,QAAc,OAAMoH,eAAc,EAAG,MAAM,GAAG,GAClD;wBAGD,IAAI9wB,MAAMuvB,oBAAoB,GAC7B,OAAO;4BAAE,MAAM;4BAAK,SAAS;4BAAiB,MAAM;wBAAG;oBAEzD;gBAED;gBAGA,IAAIgC,UAAU,MAAMT;gBACpB,KAAK,IAAIU,gBAAgBD,QACxB,IAAIC,aAAa,QAAQ,KAAK3Y,OAAO,WAAW,CAAC,cAAc,CAACmY,MAAM,EACrEJ,WAAWY,aAAa,QAAQ;gBAGlC,IAAI,CAACZ,UAEJ,OAAO;oBAAE,MAAM;oBAAK,SAAS;oBAA6B,MAAM;gBAAG;gBAGpE,IAAI/X,OAAO,WAAW,EAAE,cAAa;oBAEpC,IAAI4Y,aAAa,MAAMV;oBAEvB,IAAIW,WAAWD,WAAW,IAAI,CAC7BE,CAAAA,SAAUA,OAAO,IAAI,KAAK9Y,OAAO,WAAW,CAAC,YAAY,GACvD,YAAY;oBAEf,IAAI4Y,AAAqB,KAArBA,WAAW,MAAM,IAAUC,UAkB9Bb,WAAWa;yBAjBX,MAAMt2B,KAAK,GAAG,CAAC;wBACd,QAAQ;wBACR,KAAK;wBACL,QAAQ;4BACL,QAAQ;wBACX;wBACA,MAAM2qB,qCAAkB;4BACvB,MAAM;4BACNwD;4BACA,OAAO1Q,OAAO,KAAK;4BACnB,MAAM;4BACN,GAAG;4BACH,MAAM;4BACN,MAAMA,OAAO,WAAW,CAAC,YAAY;wBACrC;oBACF;oBAKD,IAAI,CAAC6Y,UAAU;wBACd,KAAK,IAAIE,eAAgB,OAAMb,eAAc,EAC5CF,WAAa,OAAME,eAAc,EAAG,IAAI,CACvCY,CAAAA,SAAUA,OAAO,IAAI,KAAK9Y,OAAO,WAAW,CAAC,YAAY,GACvD;wBAEJ,IAAI,CAACgY,UACJ,OAAO;4BAAC,MAAK;4BAAK,SAAQ;4BAAkB,MAAK;wBAAE;oBAErD;gBAED;YAED;QAKF;QAEA,MAAMgB,oBAAqB,AAAC;YAC3B,MAAMC,iBAAiB;gBACtB,oBAAoB;gBACpB,wBAAwB;gBACxB,6BAA6B;gBAC7B,aAAa;gBACb,qBAAqB;gBACrB,mBAAmB;gBACnB,eAAe;YAChB;YAEA,MAAMhsB,OAAO+S,QAAQ,aAAa,eAAe,QAAQ;YACzD,IAAI/S,AAAS,aAATA,MAAmB;gBACtB,MAAMisB,OAAOlZ,QAAQ,aAAa,eAAe;gBACjD,IAAI,CAACkZ,QAAQ,CAACA,KAAK,OAAO,IAAI,CAACA,KAAK,KAAK,IAAIA,AAAsB,QAAtBA,KAAK,aAAa,IAAYA,AAAoB,QAApBA,KAAK,WAAW,EAAU,OAAO;gBAE5G,MAAMC,cAAcrC,WAAW,CAACoC,KAAK,OAAO,CAAC;gBAC7C,MAAME,YAAYtC,WAAW,CAACoC,KAAK,KAAK,CAAC,GAAG;gBAG5CD,eAAe,kBAAkB,GAAG;gBACpC,OAAQE;oBACP,KAAK;wBACJF,eAAe,sBAAsB,GAAG;wBACxCA,eAAe,2BAA2B,GAAG;wBAC7C;oBACD,KAAK;wBACJA,eAAe,sBAAsB,GAAG;wBACxCA,eAAe,2BAA2B,GAAG;wBAC7C;oBACD,KAAK;wBACJA,eAAe,sBAAsB,GAAG;wBACxCA,eAAe,2BAA2B,GAAG;wBAC7C;gBACF;gBAGAA,eAAe,WAAW,GAAGG;gBAG7BH,eAAe,mBAAmB,GAAGC,KAAK,aAAa,GAAGpC,WAAW,CAACoC,KAAK,OAAO,CAAC,GAAG;gBACtFD,eAAe,iBAAiB,GAAGC,KAAK,WAAW,GAAIpC,WAAW,CAACoC,KAAK,KAAK,CAAC,GAAG;gBAEjF,OAAOD;YACR;YAEA,IAAIhsB,AAAS,cAATA,MACHgsB,eAAe,aAAa,GAAG;YAKhC,OAAOA;QACR;QAEA,IAAI,CAACD,mBAAmB,OAAO;YAAE,MAAM;YAAK,SAAS;YAAqB,MAAM;QAAG;QAInF,MAAMK,YAAY;YACjB,MAAM;YACN,GAAG;YACH,MAAM;YACN,OAAO;YACP,cAAc;YACd,OAAO;YACP,YAAY;YACZ,kBAAkB;YAClB,kBAAkB;YAClB,kBAAkB;YAClB,WAAW;YACX,aAAatB,WAAW,IAAI;YAC5B,kBAAkB;YAClB,qBAAqB;YACrB,WAAWA,WAAWA,WAAW;YACjC,kBAAkB;YAClB,yBAAyB;YACzB,oBAAoBiB,kBAAkB,kBAAkB;YACxD,wBAAwBA,kBAAkB,sBAAsB;YAChE,6BAA6BA,kBAAkB,2BAA2B;YAC1E,aAAaA,kBAAkB,WAAW;YAC1C,qBAAqBA,kBAAkB,mBAAmB;YAC1D,mBAAmBA,kBAAkB,iBAAiB;YACtD,kBAAiBhZ,OAAO,WAAW,EAAE,eAAcgY,WAAWA,WAAW,IAAI;YAC7E,sBAAsB;YACtB,UAAU;YACV,eAAe;YAEf,OAAOhY,OAAO,KAAK;YACnB,UAAUA,OAAO,QAAQ,IAAI;YAC7B,QAAQA,OAAO,KAAK;YACpB,SAASA,QAAQ,aAAa,YAAY;YAC1C,SAASA,QAAQ,aAAa,cAAc;YAC5C,UAAUsD,WAAW;YACrB,YAAYtD,QAAQ,aAAa,kBAAkB;YACnD,UAAU+N,QAAQ,CAAC,EAAE,CAAC,OAAO,IAAI;YACjC,iBAAiB/N,QAAQ,aAAa,cAAa,IAAI;YACvD,gBAAgBA,QAAQ,aAAa,cAAa,IAAI;YACtD,uBAAuBA,QAAQ,aAAa,cAAa,IAAI;YAC7D,iBAAiBA,QAAQ,aAAa,cAAawX,eAAc;YACjE,eAAewB,kBAAkB,aAAa;YAC9C,qBAAqBhZ,QAAQ,aAAa,iBAAiB,IAAI;YAC/D,oBAAoBA,QAAQ,aAAa,sBAAsB,IAAI;YACnE,oBAAoBA,QAAQ,aAAa,kBAAkB,CAAC,EAAE,IAAI;YAElE,gBAAgB;YAChB,aAAa;QACd;QAEGD,KAAK,YAAY,CAAC,aAAa,GAAElY,KAAK,GAAG;QAE5C,MAAM,EAAEyxB,QAAQ,EAAE,GAAG,MAAM/2B,KAAK,GAAG,CAAuB;YACzD,QAAQ;YACR,KAAK;YACL,QAAQ;gBACP,OAAOyd,OAAO,KAAK;gBACnB,GAAG;gBACH,KAAK;gBACL,MAAM;gBACN,MAAM;YACP;YACA,MAAMkN,qCAAkBmM;YACxB,iBAAiB;QAClB;QAGA,IAAIrZ,AAAoB,YAApBA,OAAO,QAAQ,EAClB,OAAO;YAAE,MAAM;YAAG,MAAMsZ;YAAU,SAAS;QAAe;QAG3D,MAAMC,eAAe,IACbh3B,KAAK,GAAG,CAA8E;gBAC5F,QAAQ;gBACR,KAAK;gBACL,QAAQ;oBACP,OAAOyd,OAAO,KAAK;oBACnB,MAAM;oBACN,GAAG;oBACH,MAAM;oBACN,kBAAkBsZ;oBAClB5I;oBACA,QAAQtpB,KAAK,MAAM,GAAG,QAAQ;gBAC/B;gBACA,iBAAiB;YAClB;QAID,IAAIoyB,cAAc,MAAMD;QAExB,IAAIC,YAAY,SAAS,EAAE,QAAQ,QAAQ;YAC1CzZ,KAAK,MAAM,CAAC,IAAI,CAAC;YACjB,MAAMxd,KAAK,GAAG,CAAC;gBACd,QAAQ;gBACR,KAAK;gBACL,QAAQ;oBACP,KAAK;oBACL,MAAM;oBACN,OAAOyd,OAAO,KAAK;gBACpB;gBACA,MAAMkN,qCAAkB;oBACvB,OAAOlN,OAAO,KAAK;oBACnB,MAAM;oBACN,GAAG;oBACH,MAAM;oBACN0Q;oBACA,QAAQtpB,KAAK,MAAM,GAAG,QAAQ;oBAC9B,UAAU;gBACX;YACD;YACAoyB,cAAc,MAAMD;QACrB;QAGA,MAAM,EAAEE,aAAa,EAAEC,oBAAoB,EAAE,EAAE,GAAGF;QAGlD,IAAIxZ,OAAO,QAAQ,EAAE;YACpB,MAAM2Z,cAAcD,kBAAkB,IAAI,CAAC,CAACrX,KAAOA,GAAG,UAAU,KAAKsU,UAAU,MAAM;YACrF,IAAI,CAACgD,aAAa,eAAe,CAAC,EAAE,EAAE,OACrC,OAAO;gBAAE,MAAM;gBAAK,SAAS;gBAAmB,MAAM;YAAG;QAE3D;QAGA,IAAI,CAAC3Z,OAAO,QAAQ,EACnB,MAAMzd,KAAK,GAAG,CAAC;YACd,QAAQ;YACR,KAAK;YACL,QAAQ;gBACP,GAAG;gBACH,WAAW;gBACX,yBAAyB;gBACzB,OAAOyd,OAAO,KAAK;gBACnB,MAAM;YACP;YACA,MAAMkN,qCAAkB;gBACvB,UAAUoM;gBACV5I;gBACA,OAAO1Q,OAAO,KAAK;gBACnB,MAAM;gBACN,GAAG;gBACH,MAAM;YACP;QACD;QAID,MAAMzd,KAAK,GAAG,CAAC;YACd,QAAQ;YACR,KAAK;YACL,MAAM2qB,qCAAkB;gBACvB,OAAOoM;gBACP5I;gBACA,OAAO1Q,OAAO,KAAK;gBACnB,MAAM;gBACN,GAAG;gBACH,MAAM;gBACN,QAAQ5Y,KAAK,MAAM,GAAG,QAAQ;YAC/B;QACD;QAEA,MAAMwyB,oBAAoB;YACzB,OAAO5Z,OAAO,KAAK;YACnB,MAAM;YACN,GAAG;YACH,MAAM;YACN,QAAQ5Y,KAAK,MAAM,GAAG,QAAQ;YAC9BspB;YACA,aAAa;YACb,MAAM;YACN,UAAU4I;QACX;QACA,IAAK,IAAInyB,IAAI,GAAGA,IAAI,IAAIA,IAAK;YAC5B,MAAMqxB,AAAAA,IAAAA,sBAAAA,KAAAA,AAAAA,EAAM;YACZ,MAAMqB,WAAW;gBAAE,GAAGD,iBAAiB;gBAAE,aAAazyB,AAAM,MAANA,IAAU,IAAI;YAAE;YACtE,MAAM2yB,wBAAwB,MAAM9C,mBAAwDz0B,MAAMyd,QAAQ6Z;YAC1G,IAAIC,sBAAsB,sBAAsB,EAC/C;QAEF;QAEA,MAAMtB,AAAAA,IAAAA,sBAAAA,KAAAA,AAAAA,EAAM;QAEZ,MAAMj2B,KAAK,GAAG,CAAC;YACd,QAAQ;YACR,KAAK;YACL,QAAQ;gBACP,QAAQ;gBACR,OAAOyd,OAAO,KAAK;gBACnB,MAAM;YACP;YACA,MAAMkN,qCAAkB;gBACvB,WAAWoM;gBACX5I;gBACA,OAAO1Q,OAAO,KAAK;gBACnB,MAAM;gBACN,GAAG;gBACH,MAAM;gBACN,yBAAyBA,OAAO,QAAQ,GAAG,IAAI;gBAC/C,WAAWA,OAAO,WAAW,CAAC,KAAK,GAAGA,OAAO,WAAW,CAAC,KAAK,GAAG;gBACjE,QAAQ5Y,KAAK,MAAM,GAAG,QAAQ;YAC/B;QACD;QAEA,MAAMoxB,AAAAA,IAAAA,sBAAAA,KAAAA,AAAAA,EAAM;QAEZ,MAAMj2B,KAAK,GAAG,CAAC;YACd,QAAQ;YACR,KAAK;YACL,QAAQ;gBACP,QAAQ;YACT;YACA,MAAM2qB,qCAAkB;gBACvB,UAAUoM;gBACV,gBAAgB;gBAChB5I;gBACA,OAAO1Q,OAAO,KAAK;gBACnB,MAAM;gBACN,GAAG;gBACH,MAAM;gBACN,QAAQ5Y,KAAK,MAAM,GAAG,QAAQ;YAC/B;QACD;QAEA,MAAMoxB,AAAAA,IAAAA,sBAAAA,KAAAA,AAAAA,EAAM;QAGZ,MAAMuB,kBAAkB,MAAMx3B,KAAK,GAAG,CAA4C;YACjF,QAAQ;YACR,KAAK;YACL,QAAQ;gBACP,OAAOyd,OAAO,KAAK;gBACnB,MAAM;gBACN,GAAG;YACJ;YACA,MAAMkN,qCAAkB;gBACvB,OAAOlN,OAAO,KAAK;gBACnB,MAAM;gBACN,GAAG;gBACH,MAAM;gBACN,QAAQ;gBACR0Q;gBACA,QAAQtpB,KAAK,MAAM,GAAG,QAAQ;YAC/B;YACA,iBAAiBwvB;QAClB;QAEA,MAAM4B,AAAAA,IAAAA,sBAAAA,KAAAA,AAAAA,EAAM;QAGZ,MAAMwB,gBAAgB,MAAMz3B,KAAK,GAAG,CAAwC;YAC3E,QAAQ;YACR,KAAK;YACL,QAAQ;gBACP,OAAOyd,OAAO,KAAK;gBACnB,MAAM;gBACN,GAAG;YACJ;YACA,MAAMkN,qCAAkB;gBACvB,OAAOlN,OAAO,KAAK;gBACnB,MAAM;gBACN,GAAG;gBACH,MAAM;gBACN,OAAO;gBACP,YAAY;gBACZ,MAAM;gBACN,QAAQ+Z,gBAAgB,MAAM;gBAC9BrJ;gBACA,QAAQtpB,KAAK,MAAM,GAAG,QAAQ;YAC/B;YACA,iBAAiBwvB;QAClB;QACA,MAAM4B,AAAAA,IAAAA,sBAAAA,KAAAA,AAAAA,EAAM;QAEZ,IAAIwB,AAA8B,MAA9BA,cAAc,WAAW,EAC5B,OAAO;YAAE,MAAM;YAAK,SAASpD;YAA0B,MAAM;QAAG;QAEjE,MAAMqD,OAAOD,cAAc,IAAI;QAC/B,MAAMxB,AAAAA,IAAAA,sBAAAA,KAAAA,AAAAA,EAAM;QAGZ,MAAM0B,eAAe,MAAM33B,KAAK,GAAG,CAAC;YACnC,QAAQ;YACR,KAAK;YACL,QAAQ;gBACP,QAAQ;gBACR,MAAM;gBACN,cAAc;gBACd,QAAQw3B,gBAAgB,MAAM;gBAC9BE;gBACA,OAAOR;gBACP,UAAU,IAAEzZ,OAAO,WAAW,CAAC,KAAK;gBACpC,GAAIA,OAAO,QAAQ,GAAG,CAAC,IAAI;oBAAE,cAAc;gBAAE,CAAC;YAC/C;YACA,iBAAiB4W;YACjB,cAAc;QACf;QAEA,MAAMuD,eAAer3B,OAAO,IAAI,CAACo3B;QACjC,MAAME,iBAAiBjd,6BAAAA,IAAS,CAACiF,cAAc,CAAC,cAAc,EAAEva,KAAK,GAAG,GAAG,IAAI,CAAC;QAChF0V,2BAAAA,aAAgB,CAAC6c,gBAAgB,IAAIjR,WAAWgR;QAEhDna,OAAO,kBAAkB,GAAGoa;QAG5B,IAAIvJ,OAAO;QACX,IAAK,IAAI1pB,IAAI,GAAGA,IAAIuvB,mBAAmBvvB,IAAK;YAC3C,MAAMqxB,AAAAA,IAAAA,sBAAAA,KAAAA,AAAAA,EAAM;YAEZ,MAAMC,kBAAkB,MAAMl2B,KAAK,GAAG,CAAoC;gBACzE,QAAQ;gBACR,KAAK;gBACL,QAAQ;oBACP,OAAOyd,OAAO,KAAK;oBACnB,MAAM;oBACN,UAAUnY,KAAK,GAAG;gBACnB;gBACA,MAAMqlB,qCAAkB;oBACvB,OAAOlN,OAAO,KAAK;oBACnB,MAAM;oBACN,GAAG;oBACH,MAAM;oBACNia;oBACA,QAAQ;oBACR,MAAM;oBACNvJ;oBACA,QAAQtpB,KAAK,MAAM,GAAG,QAAQ;gBAC/B;YACD;YAEA,IAAIqxB,AAA4B,QAA5BA,gBAAgB,OAAO,IAAYA,gBAAgB,IAAI,EAAE;gBAC5D5H,OAAO4H,gBAAgB,IAAI;gBAC3B;YACD;YAEA,IAAItxB,MAAMuvB,oBAAoB,GAC7B,OAAO;gBAAE,MAAM;gBAAK,SAAS;gBAAiB,MAAM;YAAG;QAEzD;QAGA,IAAI,CAAC1W,OAAO,QAAQ,EACnB,MAAMzd,KAAK,GAAG,CAAC;YACd,QAAQ;YACR,KAAK;YACL,QAAQ;gBACP,OAAOyd,OAAO,KAAK;gBACnB,MAAM;gBACN,GAAG;YACJ;YACA,MAAMkN,qCAAkB;gBACvB,OAAOlN,OAAO,KAAK;gBACnB,MAAM;gBACN,GAAG;gBACH,MAAM;gBACN0Q;gBACA,QAAQtpB,KAAK,MAAM,GAAG,QAAQ;gBAC9B,QAAQ;gBACR6yB;YACD;QACD;QAGE,MAAM9V,YAAYpE,MAAM,UAAU,QAAS,IAAI1D,KAAK;YAACtR;QAAO,GAAGiV,OAAO,QAAQ,EAAEA,OAAO,WAAW,IAAKzd;QAE1G,MAAM4hB,UAAU,GAAG,CAAmE;YACrF,QAAQ;YACR,KAAK;YACL,QAAQ;gBACP,GAAG;gBACH,OAAOnE,OAAO,KAAK;gBACnB,MAAM;gBACN,GAAIA,OAAO,QAAQ,GAAG;oBACrB,GAAIA,OAAO,WAAW,CAAC,KAAK,GAAG;wBAC9B,QAAQ;oBACT,IAAG,CAAC,CAAC;gBACN,IAAI;oBAAE,yBAAyB;gBAAE,CAAC;YACnC;YACA,MAAMkN,qCAAkB;gBACvB,OAAOlN,OAAO,KAAK;gBACnB,MAAM;gBACN,GAAG;gBACH,MAAM;gBACN0Q;gBACA,QAAQtpB,KAAK,MAAM,GAAG,QAAQ;gBAC9B,KAAK;gBACLypB;gBACA,cAAc;gBACd,iBAAiB;gBACjB,MAAM;gBACN,SAAS;gBACT,KAAK;gBACL,SAAS;gBACT,UAAU;gBACV,MAAM;gBACN,WAAW7Q,OAAO,WAAW,CAAC,KAAK,GAAGA,OAAO,WAAW,CAAC,KAAK,GAAG;gBACjE,MAAM;gBACN,YAAY;gBACZ,aAAa;gBACbyZ;gBACA,QAAQY,AAAAA,IAAAA,sBAAAA,YAAAA,AAAAA,EAAa;gBACrB,UAAU,IAAIxyB,OAAO,OAAO,KAAKqvB,AAAmB,MAAnBA;gBACjC,cAAc;gBACd,eAAelX,OAAO,QAAQ,GAAG,UAAU;gBAC3C,UAAUsZ;gBACV,SAAS;gBACT,aAAa;gBACb,YAAY;gBACZ,UAAU;YACX;YACA,iBAAiBtZ,OAAO,QAAQ,GAAG,yBAAyB;QAC7D;QAEA,OAAOoE,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQkV,UAAU,CAAC,UAAU,CAAC,GAAGnV,CAAAA,UAAU,SAAS,IAAI,EAAC;IACjE;IC72BA,MAAMmW,0BAA0B5D,OAAAA;IAEzB,MAAMrS,8BAA2B,OAAOtE,MAAMC;QACpD,MAAMoC,eAAerC,KAAK,UAAU;QAEpC,MAAMuE,gBAAmC;YACxC,MAAM;YACN,QAAQ;YACR,QAAQ;YACR,KAAK;YACL,UAAU;QACX;QAEA,MAAMiW,YAAY;YACjB,QAAQ;YACR,MAAM;YACN,OAAOva,OAAO,KAAK;YACnB,MAAM;YACN,WAAWnY,KAAK,GAAG;YACnB,UAAUmY,OAAO,QAAQ;QAC1B;QAEA,IAAIA,OAAO,WAAW,EAAE,gBAAe;YACtC,MAAMwa,kBAAkB;gBACvB,QAAQ;gBACR,OAAOxa,OAAO,KAAK;gBACnB,MAAM;YACP;YACA,MAAMya,eAAe,MAAM1a,KAAK,UAAU,CAAC;gBAC1C,MAAMA,KAAK,KAAK;gBAChB,KACCC,OAAO,GAAG,IACV,CAAC,kDAAkD,EAAEte,OAAO,OAAO,CAAC84B,iBAClE,GAAG,CAAC,CAACnY,KAAOA,GAAG,IAAI,CAAC,MACpB,IAAI,CAAC,MAAM;gBACd,SAASrC,OAAO,OAAO,EAAE,IAAI,CAACqC,KAAQ;wBAAE,GAAGiC,aAAa;wBAAE,GAAGjC,EAAE;oBAAC,OAAO,EAAE;YAC1E;YAEA,MAAMqY,cAAcD,aAAa,OAAO,CAAC;YACzC,MAAME,gBAAgBD,YAAY,OAAO,CAAC,2CAA2C,MAAM,CAAC;gBAAC,SAAS1a,OAAO,WAAW,CAAC,cAAc,CAAC,MAAM;YAAA,GAAG,KAAK;YACtJ,IAAG,MAAM2a,iBAAiB,GAAE;gBAC3B,MAAMD,YAAY,OAAO,CAAC,iCAAiC,KAAK;gBAChE,IAAI;oBACH,IAAI;wBACH,MAAMD,aAAa,eAAe,CAAC,kBAAkB;4BAAE,OAAO;4BAAW,SAAS;wBAAM;wBACxF,MAAMG,YAAY,MAAMF,YAAY,OAAO,CAAC,kBAAkB,YAAY,CAAC;wBAE3E,IAAIE,WAAW;4BACd,MAAMvC,eAAev1B,OAAO,IAAI,CAAC83B,UAAU,OAAO,CAAC,4BAA4B,KAAK;4BACpF,MAAMtC,iBAAiBnb,6BAAAA,IAAS,CAACiF,cAAc;4BAC/C7E,2BAAAA,aAAgB,CAAC+a,gBAAgB,IAAInP,WAAWkP;4BAEhDrY,OAAO,kBAAkB,GAAGsY;wBAC7B;oBAID,EAAE,OAAOpyB,OAAO;wBACf,MAAM,IAAI5B,MAAM;oBACjB;oBAEA,IAAK,IAAI6C,IAAI,GAAGA,IAAIuvB,mBAAmBvvB,IAAK;wBAC3C,MAAMzD,QAAQ,GAAG,CAAC;4BACjB+2B,aAAa,MAAM;4BACnBA,aAAa,gBAAgB,CAAC;yBAC9B;wBAGD,IAAI;4BACH,MAAMA,aAAa,eAAe,CAAC,CAAC,kDAAkD,EAAEza,OAAO,WAAW,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,EAAE;gCAAE,SAAS;4BAAK;4BACvJ;wBACD,EAAE,OAAO9Z,OAAO,CAAC;wBAEjB,IAAIiB,MAAMuvB,oBAAoB,GAAG,MAAM,IAAIpyB,MAAM;oBAClD;gBAED,EAAE,OAAO4B,OAAO;oBACf,IAAI20B,eAAe;oBACnB,IAAI30B,iBAAiB5B,OACpBu2B,eAAe30B,MAAM,OAAO;yBACtB,IAAI,AAAiB,YAAjB,OAAOA,OACjB20B,eAAe30B;oBAEhB,MAAMu0B,aAAa,KAAK;oBACxB,OAAO;wBAAE,MAAM;wBAAK,SAASI;wBAAe,MAAM;oBAAG;gBACtD;YACD;YAEA,IAAG7a,OAAO,WAAW,CAAC,YAAY,EAAC;gBAClC,MAAMya,aAAa,OAAO,CAAC,iDAAiD,KAAK;gBACjF,MAAMA,aAAa,gBAAgB,CAAC;gBAEpC,MAAMK,YAAYJ,YAAY,OAAO,CAAC,4DAA4D,MAAM,CAAC;oBAAC,SAAS,IAAI3G,OAAO,CAAC,CAAC,EAAE/T,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;gBAAE,GAAG,KAAK;gBAE9K,IAAG,MAAM8a,aAAa,GAAE;oBACvB,MAAMJ,YAAY,OAAO,CAAC,8BAA8B,IAAI,CAAC1a,OAAO,WAAW,CAAC,YAAY;oBAC5F,MAAM0a,YAAY,OAAO,CAAC,8BAA8B,KAAK;oBAC7D,MAAMA,YAAY,OAAO,CAAC,8DAA8D,KAAK;gBAC9F;YACD;YACA,MAAMD,aAAa,KAAK;QAEzB;QAEA,MAAMta,OAAO,MAAMJ,KAAK,UAAU,CAAC;YAClC,MAAMA,KAAK,KAAK;YAChB,KACCC,OAAO,GAAG,IACV,CAAC,wCAAwC,EAAEte,OAAO,OAAO,CAAC64B,WACxD,GAAG,CAAC,CAAClY,KAAOA,GAAG,IAAI,CAAC,MACpB,IAAI,CAAC,MAAM;YACd,SAASrC,OAAO,OAAO,EAAE,IAAI,CAACqC,KAAQ;oBAAE,GAAGiC,aAAa;oBAAE,GAAGjC,EAAE;gBAAC,OAAO,EAAE;QAC1E;QAGA,IAAI;YACH,MAAMlC,KAAK,eAAe,CAAC,sBAAsB;gBAAE,OAAO;YAAU;QACrE,EAAE,OAAOja,OAAO;YACf,OAAO;gBAAE,MAAM;gBAAK,SAAS;gBAAQ,MAAMia,KAAK,GAAG;YAAG;QACvD;QAGA,MAAMA,KAAK,eAAe,CAAC,kBAAkB;YAAE,OAAO;QAAU;QAGhEQ,cAAcR,MAAK,oDAAmD,MAAM,qFAC5E;YACC,eAAe;YACf,gBAAgB;QACjB;QAEAQ,cAAcR,MAAK,gEAA+D,MAAM,iGACxF;YACC,eAAe;YACf,gBAAgB;QACjB;QAGA,MAAMoE,gBAAgBpE,KAAK,OAAO,CAAC;QACnC,MAAMoE,cAAc,KAAK;QACzB,MAAMA,cAAc,IAAI,CAACvE,OAAO,KAAK;QAGrC,IAAIA,OAAO,WAAW,CAAC,QAAQ,EAAE;YAChC,MAAMuE,gBAAgBpE,KAAK,OAAO,CAAC;YACnC,MAAMoE,cAAc,KAAK;YACzB,MAAMA,cAAc,IAAI,CAACvE,OAAO,WAAW,CAAC,QAAQ;QACrD;QAGA,MAAME,oBAAoBC,MAAMH,OAAO,OAAO;QAE9C,MAAMG,KAAK,KAAK,CAAC;QAEjB,MAAMA,KAAK,QAAQ,CAAC,KAAK,CAAC;QAG1B,MAAMA,KAAK,OAAO,CAAC,yBAAyB,QAAQ,CAAC,CAACf,OAASA,KAAK,cAAc;QAGlF,IAAIY,OAAO,WAAW,CAAC,UAAU,EAAE;YAClC,MAAMuE,gBAAgBpE,KAAK,OAAO,CAAC;YACnC,MAAMoE,cAAc,KAAK;YACzB,MAAMA,cAAc,IAAI,CAACvE,OAAO,WAAW,CAAC,UAAU;QACvD;QAGA,IAAIA,OAAO,WAAW,CAAC,OAAO,EAAE;YAC/B,IAAI6C,WAAWC,AAAAA,IAAAA,sBAAAA,kBAAAA,AAAAA,EAAmB9C,OAAO,WAAW,CAAC,OAAO;YACtD,IAAIsX,MAAMna,6BAAAA,OAAY,CAAC0F;YACvBA,WAAWyU,MAAMzU,WAAW,GAAGA,SAAS,IAAI,CAAC;YACnD,MAAMkY,QAAQ,MAAM/X,AAAAA,IAAAA,sBAAAA,aAAAA,AAAAA,EAAchD,OAAO,WAAW,CAAC,OAAO,EAAE7C,6BAAAA,IAAS,CAACiF,cAAcS;YAGtF,MAAM1C,KAAK,OAAO,CAAC,2DAA2D,KAAK;YACnF,MAAMA,KACJ,OAAO,CAAC,mGACR,MAAM,CAAC;gBAAE,SAAS;YAAS,GAC3B,KAAK;YAIP,MAAMA,KAAK,eAAe,CAAC,iCAAiC;gBAAE,OAAO;YAAU;YAC/E,MAAM6a,SAAS7a,KAAK,OAAO,CAAC;YAE5B,MAAM6a,OAAO,OAAO,CAAC,+CAA+C,MAAM,CAAC;gBAAE,SAAS;YAAO,GAAG,KAAK;YACrG,MAAM7a,KAAK,cAAc,CAAC;YAE1B,MAAMyE,qBAAqBzE,KAAK,YAAY,CAAC;YAC7C,MAAM6a,OAAO,OAAO,CAAC,iEAAiE,KAAK;YAC3F,MAAMnW,cAAc,MAAMD;YAC1B,MAAMC,YAAY,QAAQ,CAAC;gBAACkW;aAAM;YAGlC,MAAM5a,KAAK,eAAe,CAAC,0EAA0E;gBACpG,OAAO;YACR;YACA,MAAMA,KAAK,eAAe,CAAC,wCAAwC;gBAAE,OAAO;YAAW;YAEvF,MAAM8a,UAAU9a,KAAK,OAAO,CAAC;YAC7B,IAAG,MAAM8a,QAAQ,KAAK,KAAK,GAAG,OAAO;gBAAC,MAAM;gBAAK,SAAS,YAAW,OAAMA,QAAQ,WAAW,MAAI,WAAU;gBAAI,MAAM;YAAE;YAGxH,MAAMD,OACJ,OAAO,CAAC,8EACR,MAAM,CAAC;gBAAE,SAAS;YAAM,GACxB,KAAK;YAEP,MAAMA,OACJ,OAAO,CAAC,8CACR,MAAM,CAAC;gBAAE,SAAS;YAAK,GACvB,OAAO,CAAC;gBAAE,OAAO;YAAU;YAC7B,MAAMA,OAAO,OAAO,CAAC,8CAA8C,MAAM,CAAC;gBAAE,SAAS;YAAK,GAAG,KAAK;QACnG;QAGA,IAAGhb,OAAO,WAAW,CAAC,WAAW,EAAC;YACjC,MAAMG,KAAK,OAAO,CAAC,gBAAgB,KAAK;YAExC,MAAM+a,aAAa/a,KAAK,OAAO,CAAC;YAChC,MAAMgb,gBAAgBD,WAAW,OAAO,CAAC;YACzC,MAAME,gBAAgBF,WAAW,OAAO,CAAC;YAEzC,MAAMC,cAAc,OAAO,CAAC,qCAAqC,MAAM,CAAC;gBAAC,SAAS;YAAM,GAAG,KAAK;YAEhG,IAAGnb,OAAO,WAAW,EAAE,aAEtB,KAAK,IAAIqb,WAAWrb,OAAO,WAAW,CAAC,WAAW,CAAC;gBAElD,MAAMmb,cAAc,OAAO,CAAC,gCAAgC,IAAI,CAACE;gBACjE,MAAMF,cAAc,OAAO,CAAC,cAAc,KAAK;gBAC/C,MAAMG,aAAaH,cAAc,OAAO,CAAC;gBAEzC,MAAMhb,KAAK,cAAc,CAAC;gBAE1B,IAAI,MAAMmb,WAAW,YAAY,CAAC,aAAa,2CAW9C,OAAO;oBAAE,MAAM;oBAAK,SAAS,CAAC,MAAM,EAAED,QAAQ,gBAAgB,CAAC;oBAAE,MAAM;gBAAG;gBAXc;oBAExF,MAAME,kBAAkB,MAAMD,WAAW,OAAO,CAAC,4BAA4B,WAAW,MAAMv5B,KAAAA;oBAC9F,MAAMu5B,WAAW,KAAK;oBACtB,MAAME,cAAcL,cAAc,OAAO,CAAC;oBAC1C,MAAMM,iBAAiB,MAAMD,YAAY,OAAO,CAAC,kBAAkB,MAAM,CAAC;wBAAC,SAASD;oBAAe,GAAG,KAAK;oBAE3G,IAAI,CAACE,gBACJ,OAAO;wBAAC,MAAM;wBAAM,SAAQ;wBAAgB,MAAM;oBAAE;gBAEtD;YAGD;YAKD,IAAGzb,OAAO,WAAW,EAAE,gBAAe;gBACrC,MAAM0b,gBAAgB,MAAMP,cAAc,OAAO,CAAC,6BAA6B,MAAM,CAAC;oBAAE,SAAS;gBAAM,GAAG,KAAK,MAAM;gBACrH,IAAG,CAACO,eAAe,MAAMP,cAAc,OAAO,CAAC,0DAA0D,KAAK;YAC/G;YAEA,MAAMQ,WAAWP,cAAc,OAAO,CAAC;YACvC,IAAI,CAAC,MAAMO,SAAS,SAAS,IAAI,MAAMA,SAAS,KAAK;YACrD,MAAMP,cAAc,OAAO,CAAC,8CAA8C,KAAK;YAE/E,IAAIpb,OAAO,WAAW,EAAE,gBAAe;gBAEtC,MAAMG,KAAK,OAAO,CAAC,2BAA2B,KAAK;gBAEnD,MAAMyb,iBAAiBzb,KAAK,OAAO,CAAC;gBACpC,MAAM0b,oBAAoBD,eAAe,OAAO,CAAC;gBACjD,MAAME,oBAAoBF,eAAe,OAAO,CAAC;gBAGjD,IAAK,IAAIzD,SAASnY,OAAO,WAAW,CAAC,cAAc,CAClD,IAAImY,AAAU,aAAVA,OAAmB;oBACtB,IAAI4D,WAAW/b,OAAO,WAAW,CAAC,cAAc,CAACmY,MAAM;oBAEvD,MAAM0D,kBAAkB,OAAO,CAAC,mCAAmC;wBAAE,SAAS;oBAAO,GAAG,KAAK;oBAC7F,MAAMA,kBAAkB,OAAO,CAAC,6BAA6B,IAAI,CAACE;oBAGlE,IAAG/b,OAAO,WAAW,CAAC,YAAY,EAAE;wBACnC,MAAMgc,wBAAwB7b,KAAK,OAAO,CAAC;wBAC3C,MAAM8b,aAAaD,sBAAsB,OAAO,CAAC;wBAEjD,MAAME,cAAc;wBACpB,MAAMC,UAAU;wBAChB,IAAIC,eAAe;wBAEnB,IAAK,IAAIC,UAAU,GAAGA,UAAUH,aAAaG,UAAW;4BACvD,MAAMC,aAAa,MAAML,WAAW,UAAU;4BAC9C,IAAI,CAACK,YAAW;gCACf,MAAML,WAAW,SAAS,MAAKG;gCAC/B,IAAIA,AAAgB,KAAhBA,cAAmB;4BACxB;4BAEA,IAAIC,YAAYH,cAAc,GAAG,MAAM,IAAI53B,MAAM;4BACjD,MAAM,IAAIZ,QAAQC,CAAAA,UAAW44B,WAAW54B,SAASw4B;wBAClD;wBAGA,MAAMK,cAAc,MAAMR,sBAAsB,OAAO,CAAC,yDAAyD,WAAW,MAAM;wBAClI,MAAMS,kBAAkB,MAAMT,sBAAsB,OAAO,CAAC,qEAAqE,MAAM,CAAC;4BAAC,SAAS,IAAIjI,OAAO,CAAC,CAAC,EAAE;gCAAC/T,OAAO,WAAW,CAAC,YAAY;6BAAC,CAAC,CAAC,CAAC;wBAAC,GAAG,KAAK,MAAM;wBAEpN,IAAI,CAACwc,eAAe,CAACC,iBAAiB;4BACrC,MAAMT,sBAAsB,OAAO,CAAC,yDAAyD,KAAK;4BAClG,MAAMA,sBAAsB,OAAO,CAAC,qDAAqD,MAAM,CAAC;gCAAC,SAAS,IAAIjI,OAAO,CAAC,CAAC,EAAE;oCAAC/T,OAAO,WAAW,CAAC,YAAY;iCAAC,CAAC,CAAC,CAAC;4BAAC,GAAG,KAAK;wBACvK;oBACD,OACC,MAAM6b,kBAAkB,OAAO,CAAC,qDAAqD,SAAS,MAAKA,kBAAkB,OAAO,CAAC,mDAAmD,OAAO;gBAGzL;gBAID,MAAMF,WAAWG,kBAAkB,OAAO,CAAC;gBAC3C,IAAI,CAAC,MAAMH,SAAS,SAAS,IAAI,MAAMA,SAAS,KAAK;gBACrD,MAAMG,kBAAkB,OAAO,CAAC,8CAA8C,KAAK;YAEpF;QAED;QAGA,IAAG9b,OAAO,WAAW,EAAE,eAAc;YACpC,MAAMG,KAAK,OAAO,CAAC,qDAAqD,KAAK;YAC7E,MAAMuc,wBAAwBvc,KAAK,OAAO,CAAC;YAC3C,MAAMwc,mBAAmBD,sBAAsB,OAAO,CAAC;YACvD,MAAME,mBAAmBF,sBAAsB,OAAO,CAAC;YAEvD,IAAG1c,AAAyC,YAAzCA,OAAO,WAAW,CAAC,aAAa,CAAC,IAAI,EAAa;gBACpD,MAAM2c,iBAAiB,OAAO,CAAC,wCAAwC;oBAAE,SAAS;gBAAa,GAAG,KAAK;gBAEvG,MAAME,eAAeF,iBAAiB,OAAO,CAAC;gBAC9C,MAAMG,aAAaH,iBAAiB,OAAO,CAAC;gBAC5C,MAAMI,mBAAmB5c,KAAK,OAAO,CAAC;gBAEtC,MAAM0c,aAAa,OAAO,CAAC,kCAAkC,KAAK;gBAClE,MAAME,iBAAiB,OAAO,CAAC,mCAAmC;oBAAE,SAAS/c,OAAO,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE;gBAAQ,GAAG,KAAK;gBAEtI,IAAGA,OAAO,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,eAC3C,MAAM6c,aAAa,OAAO,CAAC,6BAA6B,KAAK;qBAE7D,MAAMA,aAAa,OAAO,CAAC,+BAA+B,SAAS,MAAKA,aAAa,OAAO,CAAC,6BAA6B,OAAO;gBAGlI,MAAM1c,KAAK,cAAc,CAAC;gBAE1B,MAAM2c,WAAW,OAAO,CAAC,kCAAkC,KAAK;gBAChE,MAAMC,iBAAiB,OAAO,CAAC,mCAAmC;oBAAE,SAAS/c,OAAO,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE;gBAAM,GAAG,KAAK;gBAEpI,IAAGA,OAAO,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,aAC3C,MAAM8c,WAAW,OAAO,CAAC,6BAA6B,KAAK;qBAE3D,MAAMA,WAAW,OAAO,CAAC,+BAA+B,SAAS,MAAKA,WAAW,OAAO,CAAC,6BAA6B,OAAO;YAE/H,OAAM,IAAG9c,AAAyC,aAAzCA,OAAO,WAAW,CAAC,aAAa,CAAC,IAAI,EAC7C,MAAM2c,iBAAiB,OAAO,CAAC,wCAAwC;gBAAE,SAAS;YAAgB,GAAG,KAAK;YAG3G,MAAMC,iBAAiB,OAAO,CAAC,8CAA8C,KAAK;QACnF;QAGA,IAAI5c,OAAO,WAAW,CAAC,cAAc,EAAE;YACtC,MAAMG,KAAK,OAAO,CAAC,yCAAyC,KAAK;YACjE,MAAMA,KAAK,cAAc,CAAC;YAC1B,MAAMyP,gBAAgBzP,KAAK,OAAO,CAAC;YACnC,MAAM6c,aAAapN,cAAc,OAAO,CAAC;YACzC,MAAMoN,WAAW,IAAI,CAAChd,OAAO,WAAW,CAAC,cAAc;YACvD,MAAM4P,cAAc,OAAO,CAAC,6BAA6B,KAAK;QAC/D;QAGA,IAAI5P,OAAO,WAAW,CAAC,gBAAgB,IAAIA,OAAO,WAAW,CAAC,gBAAgB,CAAC,MAAM,GAAG,GAAG;YAC1F,MAAMid,SAASjd,OAAO,WAAW,CAAC,gBAAgB,CAAC,EAAE;YACrD,MAAMG,KAAK,OAAO,CAAC,0CAA0C,KAAK;YAClE,MAAMA,KAAK,cAAc,CAAC;YAC1B,MAAMyP,gBAAgBzP,KAAK,OAAO,CAAC;YACnC,MAAMyP,cAAc,OAAO,CAAC,CAAC,2BAA2B,EAAEqN,OAAO,EAAE,CAAC,EAAE,KAAK;QAC5E;QAGA,IAAIjd,AAA2C,SAA3CA,OAAO,WAAW,CAAC,mBAAmB,EAAW;YACpD,MAAMG,KAAK,OAAO,CAAC,2CAA2C,KAAK;YACnE,MAAMA,KAAK,cAAc,CAAC;YAC1B,MAAMyP,gBAAgBzP,KAAK,OAAO,CAAC;YACnC,MAAMyP,cAAc,OAAO,CAAC,gDAAgD,KAAK;QAClF;QAEA,MAAMzP,KAAK,cAAc,CAAC;QACvBJ,KAAK,YAAY,CAAC,aAAa,GAAElY,KAAK,GAAG;QAG5C,MAAMwd,YAAY,MAAM,IAAI3hB,QAAgB,OAAOC;YAElD,MAAM4hB,iBAAiB,OAAO7I;gBAC7B,MAAMpZ,MAAMoZ,SAAS,GAAG;gBACxB,MAAMwgB,QAAQ5b,oBAAoBhe;gBAClC,IAAIA,IAAI,QAAQ,CAAC,8BAA8B45B,OAAO,MAAM,iBAAiB;oBAC5E,MAAM1X,eAAe,MAAM9I,SAAS,IAAI;oBACxCyD,KAAK,GAAG,CAAC,YAAYoF;oBACrB5hB,QAAQ6hB,cAAc;gBACvB;YACD;YAGArF,KAAK,EAAE,CAAC,YAAYoF;YAGpBpF,KAAK,OAAO,CAAC,gEAAgE,KAAK;YAClF,MAAMA,KAAK,cAAc,CAAC;YAE1B,IAAIH,OAAO,WAAW,CAAC,KAAK,EAAE;gBAC7B,MAAMG,KAAK,OAAO,CAAC,qCAAqC;oBAAC,SAAS;gBAAM,GAAG,OAAO,CAAC,6BAA6B,KAAK;gBACrH,IAAIgd,QAAQv1B,OAAO+W,cAAc,MAAM,CAACqB,OAAO,WAAW,CAAC,KAAK,EAAE;gBAClE,IAAIod,OAAOx1B,OAAO+W,cAAc,MAAM,CAAC9W,KAAK,GAAG,IAAI;gBAEnD,MAAMsY,KAAK,OAAO,CAAC,sDAAsD,KAAK;gBAC9E,MAAMkd,WAAWld,KAAK,OAAO,CAAC,iDAAiD,OAAO,CAAC;gBACvF,MAAMkd,SAAS,MAAM,CAAC;oBAAC,SAASF,SAASC,OAAO,OAAOD,SAASC,OAAO,IAAI,OAAOze,cAAc,MAAM,CAACqB,OAAO,WAAW,CAAC,KAAK,EAAE;gBAAO,GAAG,KAAK;gBAEhJ,MAAMsd,eAAend,KAAK,OAAO,CAAC;gBAClC,MAAMmd,aAAa,OAAO,CAAC,6BAA6B,IAAI,CAAC3e,cAAc,MAAM,CAACqB,OAAO,WAAW,CAAC,KAAK,EAAE;gBAC5G,MAAMsd,aAAa,OAAO,CAAC,6BAA6B,KAAK;YAE9D;QACD;QACA,MAAMnd,KAAK,cAAc,CAAC;QAE1B,IAAGH,OAAO,QAAQ,EAAC;YAClB,MAAMud,QAAQ31B,OAAO,MAAMuY,KAAK,OAAO,CAAC,uCAAuC,OAAO,CAAC,sEAAsE,WAAW;YACxK,IAAIod,AAAO,KAAPA,OAAW,OAAO;gBAAE,MAAM;gBAAK,SAAS;gBAAmB,MAAM;YAAG;YACxE,MAAMpd,KAAK,OAAO,CAAC,iCAAiC,OAAO,CAAC,6BAA6B,KAAK;QAC/F,OACC,MAAMA,KAAK,OAAO,CAAC,iCAAiC,OAAO,CAAC,6BAA6B,OAAO;QAGjG,MAAMA,KAAK,cAAc,CAAC;QAG1B,MAAMA,KAAK,eAAe,CAAC,iFAAiF;YAAC,OAAO;QAAS;QAC7H,MAAMA,KAAK,OAAO,CAAC,uGAAuG,KAAK;QAG/H,MAAMA,KAAK,eAAe,CAAC,gFAAgF;YAAC,OAAO;QAAU;QAC7H,MAAMA,KAAK,OAAO,CAAC,sGAAsG,KAAK;QAE9H,MAAMA,KAAK,cAAc,CAAC;QAG1B,MAAMqd,sBAAsBrd,KAAK,OAAO,CAAC;QACzC,IAAI,MAAMqd,oBAAoB,KAAK,KAAK,GACvC;YAAA,IAAI,MAAMA,oBAAoB,WAAW,OAAO,QAAO;gBACtD,MAAMC,aAAatd,KAAK,OAAO,CAAC;gBAChC,MAAMsd,WAAW,OAAO,CAAC,6BAA4B;oBAAC,SAAS;gBAAK,GAAG,KAAK;gBAC5E,MAAMA,WAAW,OAAO,CAAC,6BAA4B;oBAAC,SAAS;gBAAI,GAAG,KAAK;YAC5E;QAAA;QAID,IAAI;YACH,MAAMC,YAAY71B,KAAK,GAAG;YAG1B,MAAM,IAAInE,QAAc,OAAOC,SAASC;gBAEvC,MAAM2hB,iBAAiB,OAAO7I;oBAC7B,IAAIA,SAAS,GAAG,GAAG,QAAQ,CAAC,mBAAmB;wBAC9C,MAAM8I,eAAe,MAAM9I,SAAS,IAAI;wBACxC,IAAI8I,AAAyB,QAAzBA,aAAa,OAAO,EAAU;4BACjC7hB;4BACAwc,KAAK,GAAG,CAAC,YAAYoF;wBACtB,OAAO,IAAI1d,KAAK,GAAG,KAAK61B,YAAYpD,yBAAyB;4BAC5D12B;4BACAuc,KAAK,GAAG,CAAC,YAAYoF;wBACtB;oBACD;gBACD;gBAGApF,KAAK,EAAE,CAAC,YAAYoF;gBAGpB,MAAMpF,KAAK,eAAe,CAAC,wDAAwD;oBAClF,OAAO;gBACR;gBACA,MAAMya,YAAY,MAAMza,KACtB,OAAO,CAAC,wDACR,KAAK,GACL,YAAY,CAAC;gBACf,IAAIya,WAAW;oBACd,MAAM+C,SAAS,IAAI1O,IAAI2L,WAAWza,KAAK,GAAG,IAAI,IAAI;oBAClD,MAAMzD,WAAW,MAAMF,yBAAM;wBAC5B,QAAQ;wBACR,KAAKmhB;wBACL,cAAc;oBACf;oBAEA,MAAMvD,iBAAiBjd,6BAAAA,IAAS,CAACiF,cAAc;oBAC/C7E,2BAAAA,aAAgB,CAAC6c,gBAAgB1d,SAAS,IAAI;oBAC9CsD,OAAO,kBAAkB,GAAGoa;gBAC7B,OACC,MAAM,IAAI91B,MAAM;YAElB;QACD,EAAE,OAAO4B,OAAO;YACf,MAAMia,KAAK,KAAK;YAChB,OAAO;gBAAE,MAAM;gBAAK,SAAS;gBAAmB,MAAM;YAAG;QAC1D;QAEA,MAAMA,KAAK,cAAc,CAAC;QAC1B,MAAMA,KAAK,KAAK;QAEhB,OAAOiE,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQiB;IAChB;ICrdO,MAAMuY,gBAA+B,OAAO7d,MAAM8d;QACxD,MAAM7d,SAAS6B,cAAcgc,SAAS;YAAE,UAAU;QAAK;QAEvD,IAAI7d,AAAsB,UAAtBA,OAAO,UAAU,EACpB,OAAOqE,4BAAUtE,MAAMC;QAGxB,IAAIA,AAAsB,cAAtBA,OAAO,UAAU,EACpB,OAAOgC,8BAAWjC,MAAMC;QAGzB,OAAOH,cAAcmC,+BAAYqC,6BAAWtE,MAAMC;IACnD;ICzCA,MAAM8d,YAAY,CACjBv7B,MACAyd,QACAsH;QAEA,MAAMrE,WAAW,IAAIC,CAAAA,4BAAAA;QAErB,KAAK,MAAM,CAACnc,KAAK2F,MAAM,IAAIhL,OAAO,OAAO,CAAC4lB,MACzCrE,SAAS,MAAM,CAAClc,KAAK2F;QAGtB,OAAOnK,KAAK,GAAG,CAAC;YACf,QAAQ;YACR,KAAK;YACL,QAAQ;gBACP,OAAOyd,OAAO,KAAK;gBACnB,GAAG;gBACH,KAAK;gBACL,MAAM;gBACN,MAAM;YACP;YACA,MAAMiD;QACP;IACD;IAEO,MAAMjB,kCAA4B,OAAOjC,MAAMC;QACrD,MAAMoC,eAAerC,KAAK,UAAU;QACpC,MAAMxd,OAAO,IAAI8Z,KAAK;YACrB,SAAS;gBACR,QAAQ2D,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;gBAClE,QAAQ;gBACR,SAAS,CAAC,8CAA8C,EAAErC,OAAO,KAAK,CAAC,WAAW,CAAC;YACpF;QACD;QAGA,MAAM+d,kBAAqC,EAAE;QAC7C,MAAMC,aAAqC,CAAC;QAE5C,IAAIhe,OAAO,OAAO,IAAIA,OAAO,OAAO,CAAC,MAAM,GAAG,GAAG;YAEhD,MAAM4C,SAAS,MAAMlf,QAAQ,GAAG,CAC/Bsc,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC1c;gBACnB,MAAMuf,WAAWC,AAAAA,IAAAA,sBAAAA,kBAAAA,AAAAA,EAAmBxf;gBACpC,OAAO0f,AAAAA,IAAAA,sBAAAA,aAAAA,AAAAA,EAAc1f,KAAK6Z,6BAAAA,IAAS,CAACiF,cAAcS;YACnD;YAGD,IAAK,IAAIhe,QAAQ,GAAGA,QAAQ+d,OAAO,MAAM,EAAE/d,QAAS;gBACnD,MAAMke,QAAQH,MAAM,CAAC/d,MAAM;gBAC3B,MAAM0yB,YAAYva,aAAa+F;gBAE/B,MAAME,WAAW,IAAIC,CAAAA,4BAAAA;gBACrBD,SAAS,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAEpe,QAAQ,GAAG;gBAC5Coe,SAAS,MAAM,CAAC,QAAQsU,UAAU,IAAI;gBACtCtU,SAAS,MAAM,CAAC,QAAQsU,UAAU,IAAI;gBACtCtU,SAAS,MAAM,CAAC,oBAAoBsU,UAAU,gBAAgB;gBAC9DtU,SAAS,MAAM,CAAC,QAAQsU,UAAU,IAAI;gBACtCtU,SAAS,MAAM,CAAC,QAAQ1F,2BAAAA,gBAAmB,CAACwF;gBAE5C,MAAMrG,WAAW,MAAMna,KAAK,GAAG,CAAuC;oBACrE,QAAQ;oBACR,KAAK,CAAC,wGAAwG,EAAEyd,OAAO,KAAK,CAAC,WAAW,CAAC;oBACzI,MAAMiD;gBACP;gBAGA,MAAMgb,oBAAoB,MAAM17B,KAAK,GAAG,CAAgB;oBACvD,QAAQ;oBACR,KAAK;oBACL,QAAQ;wBACP,QAAQ;wBACR,QAAQma,SAAS,OAAO;wBACxB,OAAOsD,OAAO,KAAK;wBACnB,MAAM;wBACN,GAAG;wBACH,MAAM;oBACP;gBACD;gBAEA,MAAMke,aAAaD,kBAAkB,WAAW;gBAEhDF,gBAAgB,IAAI,CAAC;oBACpB,SAASrhB,SAAS,OAAO;oBACzB,cAAc;oBACd,eAAe;oBACf,SAAS9U,OAAO8U,SAAS,OAAO;oBAChC,OAAOuhB,kBAAkB,KAAK;oBAC9B,QAAQA,kBAAkB,MAAM;oBAChC,aAAa,CAAC,IAAI,EAAEC,WAAW,CAAC,CAAC,CAAC,EAAEA,WAAW,CAAC,CAAC,CAAC,EAAEA,WAAW,CAAC,CAAC,CAAC,CAAC;oBACnE,KAAKxhB,SAAS,OAAO;gBACtB;gBAGA,IAAI7X,AAAU,MAAVA,OAAa;oBAChB,MAAMs5B,eAAe,IAAIjb,CAAAA,4BAAAA;oBACzBib,aAAa,MAAM,CAAC,UAAUzhB,SAAS,OAAO;oBAG9C,MAAM0hB,aAA4B;wBACjC;4BAAC;4BAAI;yBAAE;wBACP;4BAAC;4BAAG;yBAAE;wBACN;4BAAC;4BAAG;yBAAE;qBACN;oBACDD,aAAa,MAAM,CAAC,cAAcC,WAAW,MAAM;oBACnD,MAAMC,kBAAkBD,WAAW,GAAG,CAAC,CAACj4B,GAAGod;wBAC1C,MAAM+a,iBAAiB5gB,yBACtBugB,kBAAkB,KAAK,EACvBA,kBAAkB,MAAM,EACxB93B;wBAEDg4B,aAAa,MAAM,CAAC,CAAC,IAAI,EAAE5a,IAAI,GAAG,CAAC,EAAE+a,eAAe,EAAE;wBACtDH,aAAa,MAAM,CAAC,CAAC,IAAI,EAAE5a,IAAI,GAAG,CAAC,EAAE+a,eAAe,EAAE;wBACtDH,aAAa,MAAM,CAAC,CAAC,IAAI,EAAE5a,IAAI,GAAG,CAAC,EAAE+a,eAAe,EAAE;wBACtDH,aAAa,MAAM,CAAC,CAAC,IAAI,EAAE5a,IAAI,GAAG,CAAC,EAAE+a,eAAe,EAAE;wBAEtD,OAAO;4BAAE,OAAO,GAAGn4B,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEA,CAAC,CAAC,EAAE,EAAE;4BAAE,GAAGm4B,cAAc;wBAAC;oBACtD;oBAEAH,aAAa,MAAM,CAAC,SAASne,OAAO,KAAK;oBACzCme,aAAa,MAAM,CAAC,QAAQ;oBAC5BA,aAAa,MAAM,CAAC,KAAK;oBACzBA,aAAa,MAAM,CAAC,QAAQ;oBAE5B,MAAMI,eAAe,MAAMh8B,KAAK,GAAG,CAAwC;wBACrE,QAAQ;wBACR,KAAK;wBACL,MAAM47B;oBACR;oBAEJH,WAAW,aAAa,GAAGthB,SAAS,OAAO;oBAC3CshB,WAAW,QAAQ,GAAGO,aAAa,MAAM,CAAC,EAAE,CAAC,MAAM;oBACnDP,WAAW,cAAc,GAAGO,aAAa,MAAM,CAAC,EAAE,CAAC,MAAM;oBACzDP,WAAW,aAAa,GAAGO,aAAa,MAAM,CAAC,EAAE,CAAC,MAAM;oBACxDP,WAAW,YAAY,GAAGO,aAAa,MAAM,CAAC,EAAE,CAAC,MAAM;oBACvDP,WAAW,YAAY,GAAGO,aAAa,MAAM,CAAC,EAAE,CAAC,MAAM;oBACvDP,WAAW,UAAU,GAAG96B,KAAK,SAAS,CAAC;wBACtC,WAAWm7B,gBAAgB,GAAG,CAAC,CAAChc,IAAIkB,MAAS;gCAC5C,SAASgb,aAAa,MAAM,CAAChb,IAAI,CAAC,OAAO;gCACzC,OAAOlB,GAAG,KAAK;gCACf,IAAI;gCACJ,IAAI;gCACJ,IAAI;gCACJ,IAAI;4BACL;wBACA,mBAAmBgc,gBAAgB,GAAG,CAAC,CAAChc,IAAIkB,MAAS;gCACpD,GAAGlB,EAAE;gCACL,SAASkc,aAAa,MAAM,CAAChb,IAAI,CAAC,OAAO;4BAC1C;oBACD;gBACD;YACD;QACD;QAGA,MAAMJ,MAAM,MAAM2a,UAAUv7B,MAAMyd,QAAQ;YACzC,GAAGge,UAAU;YACb,OAAOhe,OAAO,KAAK;YACnB,MAAM;YACN,GAAG;YACH,MAAM;YACN,cAAc;YACd,QAAQA,OAAO,KAAK;YACpB,UAAUA,OAAO,OAAO;YACxB,kBAAkB9c,KAAK,SAAS,CAAC66B;QAClC;QAEC,OAAO3Z,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQjB;IACjB;IC7LA,MAAMqb,aAAqC;QAC1C,IAAI;QACJ,UAAU;QACV,WAAW;QACX,UAAU;IACX;IAEO,MAAMna,gCAA2B,OAAOtE,MAAMC;QACpD,MAAMsE,gBAAmC;YACxC,MAAM;YACN,QAAQ;YACR,QAAQ;YACR,KAAK;YACL,UAAU;QACX;QAEA,MAAMnE,OAAO,MAAMJ,KAAK,UAAU,CAAC;YAClC,MAAMA,KAAK,KAAK;YAChB,KACCC,OAAO,GAAG,IACV,CAAC,8GAA8G,EAAEA,OAAO,KAAK,CAAC,WAAW,CAAC;YAC3I,SAASA,OAAO,OAAO,EAAE,IAAI,CAACqC,KAAQ;oBAAE,GAAGiC,aAAa;oBAAE,GAAGjC,EAAE;gBAAC,OAAO,EAAE;QAC1E;QAEA,MAAMD,eAAerC,KAAK,UAAU;QAGpC,IAAI;YACH,MAAMI,KAAK,eAAe,CAAC;QAC5B,EAAE,OAAOja,OAAO;YACf,OAAO;gBAAE,MAAM;gBAAK,SAAS;gBAAQ,MAAMia,KAAK,GAAG;YAAG;QACvD;QAEA,MAAMse,YAAYte,KAAK,OAAO,CAAC;QAG/B,IAAIH,OAAO,OAAO,IAAIA,OAAO,OAAO,CAAC,MAAM,GAAG,GAAG;YAChD,MAAM4C,SAAS,MAAMlf,QAAQ,GAAG,CAC/Bsc,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC1c;gBACnB,MAAMuf,WAAWC,AAAAA,IAAAA,sBAAAA,kBAAAA,AAAAA,EAAmBxf;gBACpC,OAAO0f,AAAAA,IAAAA,sBAAAA,aAAAA,AAAAA,EAAc1f,KAAK6Z,6BAAAA,IAAS,CAACiF,cAAcS;YACnD;YAID,MAAM+B,qBAAqBzE,KAAK,YAAY,CAAC;YAC7C,MAAMse,UAAU,OAAO,CAAC,wBAAwB,KAAK;YACrD,MAAMA,UACJ,OAAO,CAAC,sDACR,MAAM,CAAC;gBAAE,SAAS;YAAO,GACzB,KAAK;YACP,MAAM5Z,cAAc,MAAMD;YAC1B,MAAMC,YAAY,QAAQ,CAACjC;QAC5B;QAGA,MAAM2B,gBAAgBpE,KAAK,OAAO,CAAC;QACnC,MAAMoE,cAAc,KAAK;QACzB,MAAMA,cAAc,IAAI,CAACvE,OAAO,KAAK;QAGrC,MAAMsW,eAAenW,KAAK,OAAO,CAAC;QAClC,MAAMmW,aAAa,KAAK;QACxB,MAAMA,aAAa,IAAI,CAACtW,OAAO,OAAO;QAGtC,IAAIA,OAAO,MAAM,EAAE;YAClB,MAAMye,UAAU,OAAO,CAAC,+CAA+C,KAAK;YAC5E,MAAMte,KACJ,OAAO,CAAC,uDACR,MAAM,CAAC;gBAAE,SAASqe,UAAU,CAACxe,OAAO,MAAM,CAAC;YAAC,GAC5C,KAAK;QACR;QAGA,IAAIA,OAAO,OAAO,IAAIA,OAAO,OAAO,CAAC,MAAM,GAAG,GAC7C,MAAMG,KAAK,eAAe,CAAC;QAI5B,IAAIH,OAAO,KAAK,EACf,MAAMye,UAAU,OAAO,CAAC,kCAAkC,KAAK;aAE/D,MAAMA,UAAU,OAAO,CAAC,gCAAgC,KAAK;QAG9D,OAAOra,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ;IAChB;ICnEO,MAAMsa,kBAAiC,OAAO3e,MAAMC;QAC1D,IAAIA,AAAsB,UAAtBA,OAAO,UAAU,EACpB,OAAOqE,8BAAUtE,MAAMC;QAGxB,IAAIA,AAAsB,cAAtBA,OAAO,UAAU,EACpB,OAAOgC,gCAAWjC,MAAMC;QAGzB,OAAOH,cAAcmC,iCAAYqC,+BAAWtE,MAAMC;IACnD;IC7BA,MAAMnO,cAAcob,oBAAQ;IAgB5B,MAAMlL,mCAAmC;QACrC,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;IACT;IAGA,MAAM2K,iBAAY,IAAId;IAEf,MAAM5J,qCAA4B,OAAOjC,MAAMC;QAClD,MAAMoC,eAAerC,KAAK,UAAU;QAEpC,MAAM6M,WAAW5M,OAAO,OAAO,CAAC,IAAI,CAAC,CAACqC,KAAOA,AAAY,SAAZA,GAAG,IAAI,GAAY;QAChE,IAAI,CAACuK,UACD,OAAO;YAAC,MAAM;YAAK,SAAS;YAAsB,MAAM;QAAE;QAE9D,MAAM7hB,UAAU;YACZ,QAAQiV,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,KAAO,GAAGA,GAAG,IAAI,CAAC,CAAC,EAAEA,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC;YAClE,QAAQ;YACR,SAAS;YACT,cACI;QACR;QACA,MAAM9f,OAAO,IAAI8Z,KAAK;YAACtR;QAAO;QAG9BxI,KAAK,sBAAsB,CAAiB,CAACma;YACzC,MAAMya,eAAeza,SAAS,IAAI;YAGlC,IAAIya,cAAc,QAAQA,AAAsB,MAAtBA,aAAa,IAAI,EAAQ;gBAC/C,MAAM5U,SAASR,gCAAQ,CAACoV,aAAa,IAAI,CAAC,IAAIza,SAAS,MAAM,CAAC,eAAe,IAAI;gBAEjF,OAAO;oBACH,MAAMqF,gCAAQ,CAACoV,aAAa,IAAI,CAAC,GAAG,MAAM;oBAC1C,SAAS5U;oBACT,MAAM4U;gBACV;YACJ;QACJ;QAGA,MAAMwH,gBAAgB;QACtB,MAAMC,mBAAmB;YACrB,UAAU;YACV,OAAO;YACP,YAAY5e,OAAO,OAAO,CAAC,MAAM;YACjC,SAAS;YACT,QAAQ;QACZ;QACA,MAAM6M,KAAKhlB,KAAK,GAAG,GAAG,QAAQ;QAC9B,MAAMmlB,KAAKN,eAAU,SAAS,CAACiS,eAAe/R,UAAU,cAAcgS;QACtE,MAAMC,cAAc,MAAMt8B,KAAK,GAAG,CAA4D;YAC1F,QAAQ;YACR,SAAS;YACT,KAAKo8B;YACL,iBAAiB;YACjB,SAAS;gBAAC,OAAO3R;gBAAI,OAAOH;YAAE;YAC9B,QAAQ+R;QACZ;QAEA,IAAIE,cAA0C,EAAE;QAChDD,YAAY,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAACld;YACxCA,KAAK,OAAO,CAAC,OAAO,CAACod,CAAAA;gBACjBD,YAAY,IAAI,CAAC;oBACb,QAAQnd,KAAK,MAAM,IAAI;oBACvB,YAAYA,KAAK,UAAU,IAAI;oBAC/B,SAASod;oBACT,OAAOpd,KAAK,KAAK,IAAI;gBACzB;YACJ;QACJ;QAGA,IAAImd,YAAY,MAAM,GAAG9e,OAAO,OAAO,CAAC,MAAM,EAAE,OAAO;YAAC,MAAM;YAAK,SAAS;YAAgC,MAAM;QAAE;QAEpH,IAAI8e,AAAuB,MAAvBA,YAAY,MAAM,EAAQ,OAAO;YAAC,MAAM;YAAK,SAAS;YAAiB,MAAM;QAAE;QAEnF,MAAME,mBAAmBpyB,MAAM,IAAI,CAAC;YAAC,QAAQkyB,YAAY,MAAM;QAAA,GAAG,CAACt1B,GAAGrC,IAAMA;QAE5E,MAAM83B,aAAa,OAAO37B,KAAauB;YAInC,MAAMge,WAAWC,AAAAA,IAAAA,sBAAAA,kBAAAA,AAAAA,EAAmBxf;YACpC,MAAM47B,WAAW,MAAMlc,AAAAA,IAAAA,sBAAAA,aAAAA,AAAAA,EAAc1f,KAAK6Z,6BAAAA,IAAS,CAACiF,cAAcS;YAClE,MAAMsc,aAAa5hB,2BAAAA,YAAe,CAAC2hB;YAEnC,MAAME,cAAcN,YAAY,MAAM;YACtC,IAAIzC,UAAU;YAEd,MAAOA,UAAU+C,YAAa;gBAE1B,MAAMC,iBAAiBL,iBAAiB,KAAK;gBAE7C,IAAIK,AAAmBt9B,KAAAA,MAAnBs9B,gBACA;gBAGJ,MAAMC,cAAcR,WAAW,CAACO,eAAe;gBAC/C,MAAME,YAAYD,YAAY,OAAO;gBACrC,MAAME,WAAWF,YAAY,KAAK;gBAClC,MAAMG,YAAYH,YAAY,UAAU;gBAExC,IAAI;oBACA,MAAM/8B,KAAK,GAAG,CAAC;wBACX,QAAQ;wBACR,KAAK,CAAC,QAAQ,EAAEk9B,UAAU,CAAC,EAAEF,WAAW;wBACxC,MAAMJ;wBACN,SAAS;4BACL,wBAAwBK;wBAC5B;wBACA,iBAAiB;oBACrB;oBACA,OAAO;wBAACD;wBAAWC;oBAAQ;gBAC/B,EAAE,OAAOt5B,OAAO;oBACZm2B;gBACJ;YACJ;YACA,OAAO;gBAAC,WAAW;gBAAI,UAAU;YAAE;QACvC;QAEA,MAAMqD,aAAa,MAAMh8B,QAAQ,GAAG,CAACsc,OAAO,OAAO,CAAC,GAAG,CAAC,CAACqC,IAAIkB,MAAQ0b,WAAW5c,IAAIkB;QACpF,MAAMoc,gBAAgBD,WAAW,IAAI,CAAC,CAACrd,KAAOA,AAAgB,OAAhBA,GAAG,QAAQ,IAAWA,AAAgB,MAAhBA,GAAG,SAAS;QAChF,IAAIsd,eAAe,OAAO;YAAC,MAAM;YAAK,SAAS;YAAmB,MAAM;QAAE;QAE1E,IAAI3f,OAAO,KAAK,IAAIA,OAAO,KAAK,CAAC,MAAM,GAAG,GACtC,MAAMtc,QAAQ,GAAG,CAACsc,OAAO,KAAK,CAAC,GAAG,CAAC,OAAOmO;YACtC,IAAI,CAACA,KAAK,CAAC,KAAK,EAAE;gBACd,MAAMrB,YAAY;oBAAC,aAAaqB,KAAK,CAAC,OAAO;gBAAA;gBAC7C,MAAMyR,YAAY/3B,KAAK,GAAG,GAAG,QAAQ;gBACrC,MAAMg4B,YAAYnT,eAAU,UAAU,CAAC,mDAAmDE,UAAS,cAAcE;gBACjH,IAAIgT,cAAc,MAAMv9B,KAAK,GAAG,CAAC;oBAC7B,QAAQ;oBACR,KAAK;oBACL,SAAS;wBACL,OAAOs9B;wBACP,OAAOD;oBACX;oBACA,MAAM9S;oBACN,iBAAiB;gBACrB;gBACAprB,OAAO,MAAM,CAACysB,OAAO2R,YAAY,IAAI,CAAC,WAAW,CAAC,EAAE;YACxD;QACJ;QAIJ,MAAM9b,cAAc;YAChB,QAAQ;gBACJ,KAAK,EAAE;gBACP,eAAe,EAAE;gBACjB,MAAMhE,QAAQ;gBACd,YAAY,CAAC;gBACb,UAAUA,OAAO,KAAK,IAAI,EAAE;gBAC5B,SAAS;gBACT,QAAQ9c,KAAK,SAAS,CAAC;oBACnB,MAAM;oBACN,KAAK;oBACL,WAAW;gBACf;gBACA,OAAO8c,QAAQ;gBACf,MAAM;gBACN,cAAc;oBACV,SAAS;oBACT,MAAMA,AAAwB,aAAxBA,OAAO,YAAY,GAAgB,IAAI;gBACjD;gBACA,UAAUA,OAAO,OAAO,GAClB;oBACE,MAAMA,OAAO,OAAO,EAAE;oBACtB,QAAQA,OAAO,OAAO,EAAE;oBACxB,UAAUA,OAAO,OAAO,EAAE;oBAC1B,SAASA,OAAO,OAAO,EAAE;gBAC7B,IACE;gBACN,gBAAgB;YACpB;YACA,YAAY;gBACR,QAAQ0f,WAAW,GAAG,CAAC,CAACrd,KAAQ;wBAC5B,iBAAiB;wBACjB,SAASA,GAAG,SAAS;wBACrB,UAAU;4BAAC,QAAQ;wBAAE;wBACrB,UAAU;4BAAC,UAAU,EAAE;4BAAE,SAAS;wBAAC;oBACvC;YACJ;YACA,YAAY;QAChB;QAGA,MAAM0d,sBAAsB;YACxB,QAAQ;YACR,WAAW,CAAC;YACZ,YAAY,CAAC;QACjB;QAEA,IAAI/f,OAAO,eAAe,EAAE,SAAS,uBAEjC+f,oBAAoB,MAAM,GAAG;aAC1B,IAAI/f,OAAO,eAAe,EAAE,SAAS,gBAExC+f,oBAAoB,MAAM,GAAG;aAC1B,IAAI/f,OAAO,eAAe,EAAE,SAAS;YAExC,IAAIA,AAAqC,oBAArCA,OAAO,eAAe,CAAC,SAAS,EAEhC+f,oBAAoB,MAAM,GAAG;iBAC1B,IAAI/f,AAAqC,oBAArCA,OAAO,eAAe,CAAC,SAAS,EAAsB;gBAE7D+f,oBAAoB,MAAM,GAAG;gBAC7B,MAAMC,YAA0D,CAAC;gBAEjE,IAAIhgB,OAAO,eAAe,CAAC,gBAAgB,EAEvCggB,UAAU,UAAU,GAAG;oBACnB,MAAMhgB,OAAO,eAAe,CAAC,gBAAgB,CAAC,IAAI;oBAClD,OAAOA,OAAO,eAAe,CAAC,gBAAgB,CAAC,MAAM;oBACrD,SAASA,OAAO,eAAe,CAAC,gBAAgB,CAAC,QAAQ;oBACzD,SAASA,OAAO,eAAe,CAAC,gBAAgB,CAAC,YAAY;gBACjE;gBAGJ,IAAIA,OAAO,eAAe,CAAC,YAAY,EAEnCggB,UAAU,SAAS,GAAGhgB,OAAO,eAAe,CAAC,YAAY;gBAG7D+f,oBAAoB,SAAS,GAAGC;YACpC,OAAO,IAAIhgB,AAAqC,oBAArCA,OAAO,eAAe,CAAC,SAAS,EAAsB;gBAE7D+f,oBAAoB,MAAM,GAAG;gBAE7B,IAAI/f,OAAO,eAAe,CAAC,WAAW,EAElC+f,oBAAoB,UAAU,GAAG;oBAC7B,QAAQ/f,OAAO,eAAe,CAAC,WAAW;gBAC9C;YAER;;QAGJ,MAAMigB,iBAAiB;YACnB,SAAS;YACT,SAAS;YACT,QAAQ;YACR,eAAe,CAAC;YAEhB,gBAAgBjgB,OAAO,oBAAoB,GAAG,CAAC,IAAI;gBAAC,UAAUA,OAAO,gBAAgB;YAAA;YACrF,oBAAoB;gBAAC,IAAI;YAAE;YAC3B,GAAIA,OAAO,eAAe,GAAG;gBAAC+f;YAAmB,IAAI,CAAC,CAAC;QAC3D;QAEA/b,YAAY,MAAM,CAAC,cAAc,GAAG9gB,KAAK,SAAS,CAAC+8B;QAEnD,MAAML,YAAY/3B,KAAK,GAAG,GAAG,QAAQ;QACrC,MAAMg4B,YAAYnT,eAAU,UAAU,CAAC,wBAAwBE,UAAS,cAAc5I;QACtF,MAAMkc,WAAWruB,YAAY+a,UAAUgT,WAAWC;QAElD,MAAM1b,YAAYpE,MAAM,UAAU,QAAS,IAAI1D,KAAK;YAACtR;QAAO,GAAGiV,OAAO,QAAQ,EAAEA,OAAO,WAAW,IAAKzd;QAEvGwd,KAAK,YAAY,CAAC,aAAa,GAAElY,KAAK,GAAG;QAEzC,MAAMgnB,gBAAgB,MAAM1K,UAAU,GAAG,CAAgC;YACrE,QAAQ;YACR,KAAK;YACL,MAAMH;YACN,SAAS;gBACL,OAAO6b;gBACP,OAAOD;gBACP,cAAcM;YAClB;YACA,iBAAiB;QACrB;QAEA,OAAO9b,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQyK,cAAc,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG1K,CAAAA,UAAU,SAAS,IAAI,EAAC;IAC/E;ICtSA,MAAMtS,kBAAcob,oBAAQ;IAG5B,MAAMP,gBAAY,IAAId;IAEf,MAAMvH,mCAA2B,OAAOtE,MAAMC;QACpD,MAAMsE,gBAAmC;YACxC,MAAM;YACN,UAAU;YACV,QAAQ;YACR,QAAQ;YACR,KAAK;YACL,UAAU;QACX;QAEA,MAAMnE,OAAO,MAAMJ,KAAK,UAAU,CAAC;YAClC,MAAMA,KAAK,KAAK;YAChB,KAAKC,OAAO,GAAG,IAAI;YACnB,SAASA,OAAO,OAAO,EAAE,IAAI,CAACqC,KAAQ;oBAAE,GAAGiC,aAAa;oBAAE,GAAGjC,EAAE;gBAAC,OAAO,EAAE;QAC1E;QAEA,MAAMD,eAAerC,KAAK,UAAU;QAEpC,MAAM+O,gBAAgB;YACrB;YACA;YACA;YACA;YACA;YACA;SACA;QAED,MAAM3O,KAAK,KAAK,CAAC,MAAM,OAAO4O,OAAOC;YACpC,MAAM1rB,MAAM0rB,QAAQ,GAAG;YACvB,IAAIF,cAAc,IAAI,CAACI,CAAAA,UAAW5rB,IAAI,QAAQ,CAAC4rB,WAAW;gBACzD,MAAMiR,SAAS,IAAIlR,IAAI3rB;gBACD68B,OAAO,QAAQ,EAAGA,OAAO,MAAM;gBAC5C,MAAMvB,mBAAmBl9B,OAAO,WAAW,CAAC,IAAIq1B,gBAAgBoJ,OAAO,MAAM;gBACtF,MAAMtT,KAAKhlB,KAAK,GAAG,GAAG,QAAQ;gBAE9B,MAAM+kB,WAAW5M,OAAO,OAAO,CAAC,IAAI,CAAC,CAACqC,KAAOA,AAAY,SAAZA,GAAG,IAAI,GAAY;gBAChE,IAAI,CAACuK,UAAU;oBACd,MAAMmC,MAAM,OAAO,CAAC;wBACnB,QAAQ;wBACR,aAAa;wBACb,MAAM7rB,KAAK,SAAS,CAAC;4BAAE,MAAM;4BAAK,SAAS;4BAAsB,MAAM;wBAAG;oBAC3E;oBACA;gBACD;gBAEA,MAAMk9B,gBAAgBD,OAAO,QAAQ,CAAC,QAAQ,CAACrR,aAAa,CAAC,EAAE;gBAE/D,MAAM9B,KAAK,MAAOoT,CAAAA,gBACd;oBACF,MAAMpc,cAAc9gB,KAAK,KAAK,CAAC8rB,QAAQ,QAAQ,MAAM;oBACrD,OAAOtC,cAAU,UAAU,CAACoC,aAAa,CAAC,EAAE,EAAElC,UAAS,cAAc5I;gBACpE,OAAM0I,cAAU,SAAS,CAACyT,OAAO,QAAQ,EAAEvT,UAAU,cAAegS,iBAAgB;gBAE9E,MAAMsB,WAAWruB,gBAAY+a,UAAUC,IAAIG;gBAEpD,MAAMqT,aAAa;oBAClB,GAAGrR,QAAQ,OAAO,EAAE;oBACpB,OAAOhC;oBACK,cAAakT;gBAC1B;gBAEA,MAAMnR,MAAM,QAAQ,CAAC;oBAAE,SAASsR;gBAAW;YAC5C,OACC,MAAMtR,MAAM,QAAQ;QAEtB;QAIA,MAAMuR,gBAAgB,OAAOC,UAAmBC;YAC/C,MAAMC,WAAW,AAAoB,YAApB,OAAOF,WAAwBpgB,KAAK,OAAO,CAACogB,YAAYA;YACzE,MAAME,SAAS,KAAK;YACpB,MAAMA,SAAS,OAAO,CAAC,SAAS,IAAI,CAACD;YACrC,MAAM5Q,gBAAgBzP,KAAK,OAAO,CAAC;YACnC,MAAMyP,cAAc,KAAK,GAAG,OAAO;YACnC,MAAMA,cAAc,KAAK,GAAG,KAAK;QAClC;QAGA,MAAM8Q,aAAa,OAAOH,UAA4BzhB;YACrD,MAAM2hB,WAAW,AAAoB,YAApB,OAAOF,WAAwBpgB,KAAK,OAAO,CAACogB,YAAYA;YACzE,MAAME,SAAS,KAAK;YACpB,MAAMA,SAAS,IAAI,CAAC3hB;YACpB,MAAM2hB,SAAS,IAAI;QACpB;QAGA,MAAME,mBAAmB;YACxB,MAAMxgB,KAAK,cAAc,CAAC;YAC1B,MAAMygB,WAAWzgB,KAAK,OAAO,CAAC;YAC9B,MAAM2J,QAAQ,MAAM8W,SAAS,KAAK;YAClC,MAAMC,kBAAuC,EAAE;YAE/C,IAAK,IAAI15B,IAAI,GAAGA,IAAI2iB,OAAO3iB,IAAK;gBAC/B,MAAM25B,UAAUF,SAAS,GAAG,CAACz5B;gBAC7B,MAAM45B,QAAQ,MAAMD,QAAQ,YAAY,CAAC;gBACzC,IAAIC,SAAS,CAACA,MAAM,QAAQ,CAAC,kBAC5BF,gBAAgB,IAAI,CAACC;YAEvB;YAEA,IAAID,gBAAgB,MAAM,GAAG,GAC5B,OAAOA,eAAe,CAACA,gBAAgB,MAAM,GAAG,EAAE;YAGnD,MAAM,IAAIv8B,MAAM;QACjB;QAGA,MAAM08B,oBAAoB;YACzB,MAAM7gB,KAAK,cAAc,CAAC;YAC1B,MAAMygB,WAAWzgB,KAAK,OAAO,CAAC;YAC9B,OAAOygB,SAAS,IAAI;QACrB;QAMA,IAAI;YACH,MAAMzgB,KAAK,eAAe,CAAC,oBAAoB;gBAAE,OAAO;YAAU;QACnE,EAAE,OAAOja,OAAO;YACf,OAAO;gBAAE,MAAM;gBAAK,SAAS;gBAAQ,MAAMia,KAAK,GAAG;YAAG;QACvD;QAGA,MAAMA,KAAK,OAAO,CAAC,qDAAqD,KAAK;QAG7E,MAAMA,KACJ,OAAO,CAAC,0EACR,MAAM,CAAC;YAAE,SAAS;QAAS,GAC3B,KAAK;QAGP,MAAMyC,SAAS,MAAMlf,QAAQ,GAAG,CAC/Bsc,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC1c;YACnB,MAAMuf,WAAWC,AAAAA,IAAAA,sBAAAA,kBAAAA,AAAAA,EAAmBxf;YACpC,OAAO0f,AAAAA,IAAAA,sBAAAA,aAAAA,AAAAA,EAAc1f,KAAK6Z,6BAAAA,IAAS,CAACiF,cAAcS;QACnD;QAID,MAAM+B,qBAAqBzE,KAAK,YAAY,CAAC;QAC7C,MAAMA,KAAK,SAAS,CAAC,WAAW,KAAK;QACrC,MAAM0E,cAAc,MAAMD;QAC1B,MAAMC,YAAY,QAAQ,CAACjC;QAG3B,MAAM2B,gBAAgBpE,KAAK,OAAO,CAAC;QACnC,MAAMoE,cAAc,KAAK;QACzB,MAAMA,cAAc,IAAI,CAACvE,OAAO,KAAK;QAGrC,MAAMsW,eAAenW,KAAK,OAAO,CAAC;QAClC,MAAMmW,aAAa,KAAK;QACxB,MAAMA,aAAa,iBAAiB,CAACtW,OAAO,OAAO,CAAC,OAAO,CAAC,iBAAgB;QAG5E,IAAGA,OAAO,KAAK,IAAIA,OAAO,KAAK,CAAC,MAAM,GAAG,GACxC,KAAK,MAAMqC,MAAMrC,OAAO,KAAK,CAAE;YAC9B,MAAMsW,aAAa,iBAAiB,CAAC,CAAC,CAAC,EAAEjU,EAAE,CAAC,OAAO,EAAE;YACrD,MAAMlC,KAAK,OAAO,CAAC,uBAAuB,OAAO,CAAC;gBAAE,OAAO;YAAW;YACtE,MAAMA,KAAK,cAAc,CAAC;YAC1B,MAAMA,KAAK,OAAO,CAAC,wCAAwC,KAAK;QACjE;QAID,MAAMse,YAAYte,KAAK,OAAO,CAAC;QAC/B,MAAMse,UAAU,KAAK;QACrB,MAAMte,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG;QAE1B,IAAIH,OAAO,OAAO,EAEjB,MAAMsgB,cACLngB,KAAK,OAAO,CAAC,mCAAmC,MAAM,CAAC;YAAE,SAAS;QAAO,IACzEH,OAAO,OAAO,CAAC,IAAI;QAIrB,IAAIA,OAAO,eAAe,EAAE;YAE3B,MAAMG,KAAK,OAAO,CAAC,4BAA4B,MAAM,CAAC;gBAAE,SAAS;YAAS,GAAG,OAAO,CAAC,yBAAyB,KAAK;YACnH,MAAMyP,gBAAgB,MAAM+Q;YAC5B,MAAMM,0BAA0BrR,cAAc,OAAO,CAAC;YACtD,IAAI5P,AAAgC,0BAAhCA,OAAO,eAAe,CAAC,IAAI,EAC9B,MAAMihB,wBAAwB,MAAM,CAAC;gBAAE,SAAS;YAAY,GAAG,KAAK;iBAC9D,IAAIjhB,AAAgC,mBAAhCA,OAAO,eAAe,CAAC,IAAI,EACrC,MAAMihB,wBAAwB,MAAM,CAAC;gBAAE,SAAS;YAAY,GAAG,KAAK;iBAC9D,IAAIjhB,AAAgC,uBAAhCA,OAAO,eAAe,CAAC,IAAI,EAAyB;gBAC9D,MAAMihB,wBAAwB,MAAM,CAAC;oBAAE,SAAS;gBAAS,GAAG,KAAK;gBAEjE,MAAMC,uCAAwC,OAAMP,kBAAiB,EAAG,OAAO,CAAC;gBAEhF,MAAMO,qCAAqC,KAAK,GAAG,OAAO;gBAC1D,IAAIlhB,AAAqC,oBAArCA,OAAO,eAAe,CAAC,SAAS,EACnC,MAAMkhB,qCAAqC,MAAM,CAAC;oBAAE,SAAS;gBAAY,GAAG,KAAK;qBAC3E,IAAIlhB,AAAqC,oBAArCA,OAAO,eAAe,CAAC,SAAS,EAAsB;oBAChE,MAAM,EAAEmhB,YAAY,EAAEC,gBAAgB,EAAE,GAAGphB,OAAO,eAAe;oBACjE,MAAMkhB,qCAAqC,MAAM,CAAC;wBAAE,SAAS;oBAAO,GAAG,KAAK;oBAE5E,MAAMG,oBAAoB,MAAML;oBAChC,MAAMM,mBAAmBH,gBAAgBC;oBAGzC,IAAIA,kBACH,MAAMd,cAAce,kBAAkB,OAAO,CAAC,mBAAmBD,iBAAiB,IAAI;oBAGvF,IAAID,cACH,MAAMT,WAAWW,kBAAkB,OAAO,CAAC,uBAAuBF;oBAGnE,MAAME,kBACJ,OAAO,CAAC,iBACR,MAAM,CAAC;wBAAE,SAASC,mBAAmB,OAAO;oBAAK,GACjD,KAAK;gBACR,OAAO,IAAIthB,AAAqC,oBAArCA,OAAO,eAAe,CAAC,SAAS,EAAsB;oBAChE,MAAMkhB,qCAAqC,MAAM,CAAC;wBAAE,SAAS;oBAAO,GAAG,KAAK;oBAE5E,MAAMG,oBAAoB,MAAML;oBAEhC,MAAMO,cAAcvhB,OAAO,eAAe,CAAC,WAAW;oBACtD,IAAIuhB,aACH,MAAMF,kBAAkB,OAAO,CAAC,mBAAmB,IAAI,CAACE;oBAGzD,MAAMF,kBACJ,OAAO,CAAC,iBACR,MAAM,CAAC;wBAAE,SAASE,cAAc,OAAO;oBAAK,GAC5C,KAAK;gBACR;YACD;QACD;QAGA,IAAIvhB,AAAwB,cAAxBA,OAAO,YAAY,EAAgB;YACtC,MAAMG,KAAK,OAAO,CAAC,4BAA4B,MAAM,CAAC;gBAAE,SAAS;YAAO,GAAG,OAAO,CAAC,qBAAqB,KAAK;YAC7G,MAAMyP,gBAAgB,MAAM+Q;YAC5B,MAAM/Q,cAAc,OAAO,CAAC,6BAA6B,MAAM,CAAC;gBAAE,SAAS;YAAQ,GAAG,KAAK;QAC5F;QAEG7P,KAAK,YAAY,CAAC,aAAa,GAAElY,KAAK,GAAG;QAE5C,MAAM25B,sBAAsBrhB,KAC1B,OAAO,CAAC,SACR,MAAM,CAAC;YAAE,SAASH,OAAO,oBAAoB,GAAG,SAAS;QAAO;QAClE,MAAMwhB,oBAAoB,KAAK;QAE/B,IAAIxhB,OAAO,gBAAgB,EAE1B,MAAM0gB,WAAW,sBAAsB1gB,OAAO,gBAAgB;QAG/D,MAAMtD,WAAW,MAAM,IAAIhZ,QAAgB,CAACC;YAE3C,MAAM4hB,iBAAiB,OAAO7I;gBAC7B,IAAIA,SAAS,GAAG,GAAG,QAAQ,CAAC,yBAAyB;oBACpD,MAAM8I,eAAe,MAAM9I,SAAS,IAAI;oBACxCyD,KAAK,GAAG,CAAC,YAAYoF;oBACrB5hB,QAAQ6hB,cAAc,MAAM;gBAC7B;YACD;YAGArF,KAAK,EAAE,CAAC,YAAYoF;YAEpBpF,KAAK,OAAO,CAAC,uBAAuB,KAAK;QAC1C;QAGA,MAAMA,KAAK,KAAK;QAEhB,OAAOiE,AAAAA,IAAAA,sBAAAA,OAAAA,AAAAA,EAAQ1H;IAChB;ICpPO,MAAM+kB,qBAAoC,OAAO1hB,MAAMC;QAC7D,IAAIA,AAAsB,UAAtBA,OAAO,UAAU,EACpB,OAAOqE,iCAAUtE,MAAMC;QAGxB,IAAIA,AAAsB,cAAtBA,OAAO,UAAU,EACpB,OAAOgC,mCAAWjC,MAAMC;QAGzB,OAAOH,cAAcmC,oCAAYqC,kCAAWtE,MAAMC;IACnD;;;;IClBO,MAAM0hB,WAAW;IAEjB,MAAMC;QACZ,YAAoB5hB,IAAkB,CAAE;iBAApBA,IAAI,GAAJA;QAAqB;QAGzC,MAAc,SAA0C6hB,IAAwB,EAAE5hB,MAAS,EAAE;YAC5F,IAAImX;YAGE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC,IAAI,EAAE,SAAUuK,YAAa;YAG3E,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG;gBAAE,aAAa75B,KAAK,GAAG;YAAG;YAGzD,IAAI,IAAI,CAAC,IAAI,EAAE,cAEd,IAAI,CAAC,IAAI,CAAC,YAAY,CAACmY,OAAO,SAAS,IAAI;YAGtC,IAAI,IAAI,CAAC,IAAI,EAAE,eAAe,OAE1B,IAAI,CAAC,IAAI,CAAC,WAAW,CAACA,OAAO,QAAQ,IAAI;YAG7C,IAAI,IAAI,CAAC,IAAI,EAAE,oBAAoBje,KAAAA,GAC/B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe;YAG3D,IAAI,AAAkB,YAAlB,OAAOie,QAEVA,OAAO,OAAO,GAAGA,QAAQ,WAAW,EAAE;YAGvC,IAAI;gBACHmX,eAAe,MAAMyK,KAAK,IAAI,CAAC,IAAI,EAAE5hB;YACtC,EAAE,OAAO9Z,OAAO;gBACfixB,eAAe9a,KAAK,cAAc,CAACnW;YACpC,SAAU;gBACA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,GAAE2B,KAAK,GAAG;YACjD;YAEA,IAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAE7C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;YAG3D,IAAIsvB,AAAsB,QAAtBA,aAAa,IAAI,EAEpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAGyK,KAAK,IAAI,CAAC,oBAAoB,CAAC,EAAEzK;iBACpD,IAAIA,AAAsB,MAAtBA,aAAa,IAAI,EAAQ;gBACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CACrBA,aAAa,OAAO,IAAI,GAAGyK,KAAK,IAAI,CAAC,KAAK,CAAC,EAC3ChiB,eAAeuX,aAAa,IAAI,GAChCA,aAAa,KAAK;gBAEnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAGyK,KAAK,IAAI,CAAC,cAAc,CAAC;YACnD,OACC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAGA,KAAK,IAAI,CAAC,eAAe,CAAC;YAG9C,IAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAC;gBACvDr8B,QAAQ,GAAG,CAAC,YAAa,KAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAa,IAAG,MAAM;gBAC7GA,QAAQ,GAAG,CAAC,WAAY,KAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAY,IAAG,MAAM;YAC9G;YACA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAIA,QAAQ,GAAG,CAAC,eAAgB,KAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAa,IAAG,MAAM;YAExI,OAAO4xB;QACR;QAEA,cAAcnX,MAA2B,EAAC;YACzC,OAAO,IAAI,CAAC,QAAQ,CAACgW,eAAehW;QACrC;QAGA,kBAAkBA,MAA+B,EAAC;YACjD,OAAO,IAAI,CAAC,QAAQ,CAAC0S,mBAAmB1S;QACzC;QAGA,eAAeA,MAA0B,EAAC;YACzC,OAAO,IAAI,CAAC,QAAQ,CAACwQ,gBAAgBxQ;QACtC;QAGA,eAAeA,MAAuB,EAAC;YACtC,OAAO,IAAI,CAAC,QAAQ,CAACyQ,gBAAgBzQ;QACtC;QAGA,gBAAgBA,MAA0B,EAAC;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC2Q,iBAAiB3Q;QACvC;QAGA,gBAAgBA,MAA0B,EAAC;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC4Q,iBAAiB5Q;QACvC;QAGA,uBAAuBA,MAAoC,EAAE;YAC5D,OAAO,IAAI,CAAC,QAAQ,CAACwH,wBAAwBxH;QAC9C;QAGA,aAAaA,MAA0B,EAAE;YACxC,OAAO,IAAI,CAAC,QAAQ,CAACmQ,cAAcnQ;QACpC;QAGA,cAAcA,MAA0B,EAAE;YACzC,OAAO,IAAI,CAAC,QAAQ,CAACoQ,eAAepQ;QACrC;QAGA,aAAaA,MAA6B,EAAE;YAC3C,OAAO,IAAI,CAAC,QAAQ,CAACqQ,cAAcrQ;QACpC;QAGA,cAAcA,MAA0B,EAAE;YACzC,OAAO,IAAI,CAAC,QAAQ,CAACuQ,eAAevQ;QACrC;QAGA,oBAAoBA,MAAiC,EAAE;YACtD,OAAO,IAAI,CAAC,QAAQ,CAAC0H,uBAAuB1H;QAC7C;QAGA,sBAAsBA,MAAmC,EAAE;YAC1D,OAAO,IAAI,CAAC,QAAQ,CAACyH,uBAAuBzH;QAC7C;QAGA,iBAAiBA,MAA8B,EAAE;YAChD,OAAO,IAAI,CAAC,QAAQ,CAAC8G,kBAAkB9G;QACxC;QAGA,gBAAgBA,MAA6B,EAAE;YAC9C,OAAO,IAAI,CAAC,QAAQ,CAACiW,iBAAiBjW;QACvC;QAGA,mBAAmBA,MAAgC,EAAE;YACpD,OAAO,IAAI,CAAC,QAAQ,CAACqH,oBAAoBrH;QAC1C;QAGA,iBAAiBA,MAA8B,EAAE;YAChD,OAAO,IAAI,CAAC,QAAQ,CAAC0G,kBAAkB1G;QACxC;QAGA,qBAAqBA,MAAkC,EAAE;YACxD,OAAO,IAAI,CAAC,QAAQ,CAAC2G,sBAAsB3G;QAC5C;QAGA,mBAAmBA,MAAgC,EAAE;YACpD,OAAO,IAAI,CAAC,QAAQ,CAACyhB,oBAAoBzhB;QAC1C;QAGA,2BAA2BA,MAAwC,EAAE;YACpE,OAAO,IAAI,CAAC,QAAQ,CAAC2M,4BAA4B3M;QAClD;QAEA,0BAA0BA,MAAuC,EAAE;YAClE,OAAO,IAAI,CAAC,QAAQ,CAAC2H,2BAA2B3H;QACjD;QAGA,gBAAgBA,MAA6B,EAAE;YAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC0e,iBAAiB1e;QACvC;QAGA,kBAAkBA,MAA+B,EAAE;YAClD,OAAO,IAAI,CAAC,QAAQ,CAACyW,mBAAmBzW;QACzC;QAGA,eAAeA,MAA4B,EAAE;YAC5C,OAAO,IAAI,CAAC,QAAQ,CAACkQ,gBAAgBlQ;QACtC;QAGA,cAAcA,MAA2B,EAAE;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC4d,eAAe5d;QACrC;IACD"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["webpack://@iflyrpa/actions/../../node_modules/.pnpm/agent-base@7.1.4/node_modules/agent-base/dist/helpers.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/agent-base@7.1.4/node_modules/agent-base/dist/index.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/browser.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/common.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/index.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/node.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/https-proxy-agent@7.0.6/node_modules/https-proxy-agent/dist/index.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/https-proxy-agent@7.0.6/node_modules/https-proxy-agent/dist/parse-proxy-response.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js","webpack://@iflyrpa/actions/../../node_modules/.pnpm/supports-color@8.1.1/node_modules/supports-color/index.js","webpack://@iflyrpa/actions/./src/utils/XhsXsCommonEnc.js","webpack://@iflyrpa/actions/./src/utils/ttABEncrypt.js","webpack://@iflyrpa/actions/./src/utils/xhs_ob/ob.enc.js","webpack://@iflyrpa/actions/./src/utils/xhs_ob/ob.env.js","webpack://@iflyrpa/actions/./src/utils/xhs_ob/x_s.encoder.js","webpack://@iflyrpa/actions/./src/utils/proxy.ts","webpack://@iflyrpa/actions/./src/utils/http.ts","webpack://@iflyrpa/actions/./src/utils/index.ts","webpack://@iflyrpa/actions/./src/actions/baijiahaoPublish/utils.ts","webpack://@iflyrpa/actions/./src/actions/baijiahaoPublish/mock.ts","webpack://@iflyrpa/actions/./src/actions/baijiahaoPublish/rpa.ts","webpack://@iflyrpa/actions/./src/actions/baijiahaoPublish/index.ts","webpack://@iflyrpa/actions/./src/actions/getBaijiahaoActivity/index.ts","webpack://@iflyrpa/actions/./src/actions/getToutiaoConfig/index.ts","webpack://@iflyrpa/actions/./src/actions/getBaijiaohaoConfig/index.ts","webpack://@iflyrpa/actions/./src/actions/searchToutiaoTopicList/index.ts","webpack://@iflyrpa/actions/./src/actions/searchToutiaoLocation/index.ts","webpack://@iflyrpa/actions/./src/actions/searchToutiaoUserID/index.ts","webpack://@iflyrpa/actions/./src/actions/searchXiaohongshuLocation/index.ts","webpack://@iflyrpa/actions/./src/utils/xhs_ob/mnsvc2.ts","webpack://@iflyrpa/actions/./src/utils/xhs_ob/index.ts","webpack://@iflyrpa/actions/./src/actions/searchXiaohongshuTopicList/index.ts","webpack://@iflyrpa/actions/./src/actions/toutiaoPublish/mock.ts","webpack://@iflyrpa/actions/./src/actions/toutiaoPublish/rpa.ts","webpack://@iflyrpa/actions/./src/actions/toutiaoPublish/index.ts","webpack://@iflyrpa/actions/./src/actions/common/FansTool/index.ts","webpack://@iflyrpa/actions/./src/actions/common/sessionCheck/index.ts","webpack://@iflyrpa/actions/./src/actions/searchAccountInfo/types.ts","webpack://@iflyrpa/actions/./src/actions/searchAccountInfo/getBjhInfo.ts","webpack://@iflyrpa/actions/./src/actions/searchAccountInfo/getTTInfo.ts","webpack://@iflyrpa/actions/./src/actions/searchAccountInfo/getWxInfo.ts","webpack://@iflyrpa/actions/./src/actions/searchAccountInfo/getXhsInfo.ts","webpack://@iflyrpa/actions/./src/actions/searchAccountInfo/index.ts","webpack://@iflyrpa/actions/./src/actions/searchBjhTopicList/index.ts","webpack://@iflyrpa/actions/./src/actions/searchPublishInfo/types.ts","webpack://@iflyrpa/actions/./src/actions/searchPublishInfo/handleTTData.ts","webpack://@iflyrpa/actions/./src/actions/searchPublishInfo/handleWXData.ts","webpack://@iflyrpa/actions/./src/actions/searchPublishInfo/handleBjhData.ts","webpack://@iflyrpa/actions/./src/actions/searchPublishInfo/handleXhsData.ts","webpack://@iflyrpa/actions/./src/actions/searchPublishInfo/index.ts","webpack://@iflyrpa/actions/./src/actions/getWeixinConfig/index.ts","webpack://@iflyrpa/actions/./src/actions/getWeixinCollection/index.ts","webpack://@iflyrpa/actions/./src/actions/getXhsCollection/index.ts","webpack://@iflyrpa/actions/./src/actions/weitoutiaoPublish/mock.ts","webpack://@iflyrpa/actions/./src/actions/weitoutiaoPublish/rpa.ts","webpack://@iflyrpa/actions/./src/actions/weitoutiaoPublish/index.ts","webpack://@iflyrpa/actions/./src/actions/weixinPublish/utils.ts","webpack://@iflyrpa/actions/./src/actions/weixinPublish/mock.ts","webpack://@iflyrpa/actions/./src/actions/weixinPublish/rpa.ts","webpack://@iflyrpa/actions/./src/actions/weixinPublish/index.ts","webpack://@iflyrpa/actions/./src/actions/weixinmpPublish/mock.ts","webpack://@iflyrpa/actions/./src/actions/weixinmpPublish/rpa.ts","webpack://@iflyrpa/actions/./src/actions/weixinmpPublish/index.ts","webpack://@iflyrpa/actions/./src/actions/xiaohongshuPublish/mock.ts","webpack://@iflyrpa/actions/./src/utils/xhsXsEncrypt.ts","webpack://@iflyrpa/actions/./src/actions/xiaohongshuPublish/rpa.ts","webpack://@iflyrpa/actions/./src/actions/xiaohongshuPublish/index.ts","webpack://@iflyrpa/actions/./src/actions/getXhsGroup/index.ts","webpack://@iflyrpa/actions/./src/actions/getXhsHotTopic/index.ts","webpack://@iflyrpa/actions/./src/actions/getToutiaoCollection/index.ts","webpack://@iflyrpa/actions/./src/index.ts"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.req = exports.json = exports.toBuffer = void 0;\nconst http = __importStar(require(\"http\"));\nconst https = __importStar(require(\"https\"));\nasync function toBuffer(stream) {\n let length = 0;\n const chunks = [];\n for await (const chunk of stream) {\n length += chunk.length;\n chunks.push(chunk);\n }\n return Buffer.concat(chunks, length);\n}\nexports.toBuffer = toBuffer;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nasync function json(stream) {\n const buf = await toBuffer(stream);\n const str = buf.toString('utf8');\n try {\n return JSON.parse(str);\n }\n catch (_err) {\n const err = _err;\n err.message += ` (input: ${str})`;\n throw err;\n }\n}\nexports.json = json;\nfunction req(url, opts = {}) {\n const href = typeof url === 'string' ? url : url.href;\n const req = (href.startsWith('https:') ? https : http).request(url, opts);\n const promise = new Promise((resolve, reject) => {\n req\n .once('response', resolve)\n .once('error', reject)\n .end();\n });\n req.then = promise.then.bind(promise);\n return req;\n}\nexports.req = req;\n//# sourceMappingURL=helpers.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Agent = void 0;\nconst net = __importStar(require(\"net\"));\nconst http = __importStar(require(\"http\"));\nconst https_1 = require(\"https\");\n__exportStar(require(\"./helpers\"), exports);\nconst INTERNAL = Symbol('AgentBaseInternalState');\nclass Agent extends http.Agent {\n constructor(opts) {\n super(opts);\n this[INTERNAL] = {};\n }\n /**\n * Determine whether this is an `http` or `https` request.\n */\n isSecureEndpoint(options) {\n if (options) {\n // First check the `secureEndpoint` property explicitly, since this\n // means that a parent `Agent` is \"passing through\" to this instance.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (typeof options.secureEndpoint === 'boolean') {\n return options.secureEndpoint;\n }\n // If no explicit `secure` endpoint, check if `protocol` property is\n // set. This will usually be the case since using a full string URL\n // or `URL` instance should be the most common usage.\n if (typeof options.protocol === 'string') {\n return options.protocol === 'https:';\n }\n }\n // Finally, if no `protocol` property was set, then fall back to\n // checking the stack trace of the current call stack, and try to\n // detect the \"https\" module.\n const { stack } = new Error();\n if (typeof stack !== 'string')\n return false;\n return stack\n .split('\\n')\n .some((l) => l.indexOf('(https.js:') !== -1 ||\n l.indexOf('node:https:') !== -1);\n }\n // In order to support async signatures in `connect()` and Node's native\n // connection pooling in `http.Agent`, the array of sockets for each origin\n // has to be updated synchronously. This is so the length of the array is\n // accurate when `addRequest()` is next called. We achieve this by creating a\n // fake socket and adding it to `sockets[origin]` and incrementing\n // `totalSocketCount`.\n incrementSockets(name) {\n // If `maxSockets` and `maxTotalSockets` are both Infinity then there is no\n // need to create a fake socket because Node.js native connection pooling\n // will never be invoked.\n if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {\n return null;\n }\n // All instances of `sockets` are expected TypeScript errors. The\n // alternative is to add it as a private property of this class but that\n // will break TypeScript subclassing.\n if (!this.sockets[name]) {\n // @ts-expect-error `sockets` is readonly in `@types/node`\n this.sockets[name] = [];\n }\n const fakeSocket = new net.Socket({ writable: false });\n this.sockets[name].push(fakeSocket);\n // @ts-expect-error `totalSocketCount` isn't defined in `@types/node`\n this.totalSocketCount++;\n return fakeSocket;\n }\n decrementSockets(name, socket) {\n if (!this.sockets[name] || socket === null) {\n return;\n }\n const sockets = this.sockets[name];\n const index = sockets.indexOf(socket);\n if (index !== -1) {\n sockets.splice(index, 1);\n // @ts-expect-error `totalSocketCount` isn't defined in `@types/node`\n this.totalSocketCount--;\n if (sockets.length === 0) {\n // @ts-expect-error `sockets` is readonly in `@types/node`\n delete this.sockets[name];\n }\n }\n }\n // In order to properly update the socket pool, we need to call `getName()` on\n // the core `https.Agent` if it is a secureEndpoint.\n getName(options) {\n const secureEndpoint = this.isSecureEndpoint(options);\n if (secureEndpoint) {\n // @ts-expect-error `getName()` isn't defined in `@types/node`\n return https_1.Agent.prototype.getName.call(this, options);\n }\n // @ts-expect-error `getName()` isn't defined in `@types/node`\n return super.getName(options);\n }\n createSocket(req, options, cb) {\n const connectOpts = {\n ...options,\n secureEndpoint: this.isSecureEndpoint(options),\n };\n const name = this.getName(connectOpts);\n const fakeSocket = this.incrementSockets(name);\n Promise.resolve()\n .then(() => this.connect(req, connectOpts))\n .then((socket) => {\n this.decrementSockets(name, fakeSocket);\n if (socket instanceof http.Agent) {\n try {\n // @ts-expect-error `addRequest()` isn't defined in `@types/node`\n return socket.addRequest(req, connectOpts);\n }\n catch (err) {\n return cb(err);\n }\n }\n this[INTERNAL].currentSocket = socket;\n // @ts-expect-error `createSocket()` isn't defined in `@types/node`\n super.createSocket(req, options, cb);\n }, (err) => {\n this.decrementSockets(name, fakeSocket);\n cb(err);\n });\n }\n createConnection() {\n const socket = this[INTERNAL].currentSocket;\n this[INTERNAL].currentSocket = undefined;\n if (!socket) {\n throw new Error('No socket was returned in the `connect()` function');\n }\n return socket;\n }\n get defaultPort() {\n return (this[INTERNAL].defaultPort ??\n (this.protocol === 'https:' ? 443 : 80));\n }\n set defaultPort(v) {\n if (this[INTERNAL]) {\n this[INTERNAL].defaultPort = v;\n }\n }\n get protocol() {\n return (this[INTERNAL].protocol ??\n (this.isSecureEndpoint() ? 'https:' : 'http:'));\n }\n set protocol(v) {\n if (this[INTERNAL]) {\n this[INTERNAL].protocol = v;\n }\n }\n}\nexports.Agent = Agent;\n//# sourceMappingURL=index.js.map","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(' ', ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n","/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpsProxyAgent = void 0;\nconst net = __importStar(require(\"net\"));\nconst tls = __importStar(require(\"tls\"));\nconst assert_1 = __importDefault(require(\"assert\"));\nconst debug_1 = __importDefault(require(\"debug\"));\nconst agent_base_1 = require(\"agent-base\");\nconst url_1 = require(\"url\");\nconst parse_proxy_response_1 = require(\"./parse-proxy-response\");\nconst debug = (0, debug_1.default)('https-proxy-agent');\nconst setServernameFromNonIpHost = (options) => {\n if (options.servername === undefined &&\n options.host &&\n !net.isIP(options.host)) {\n return {\n ...options,\n servername: options.host,\n };\n }\n return options;\n};\n/**\n * The `HttpsProxyAgent` implements an HTTP Agent subclass that connects to\n * the specified \"HTTP(s) proxy server\" in order to proxy HTTPS requests.\n *\n * Outgoing HTTP requests are first tunneled through the proxy server using the\n * `CONNECT` HTTP request method to establish a connection to the proxy server,\n * and then the proxy server connects to the destination target and issues the\n * HTTP request from the proxy server.\n *\n * `https:` requests have their socket connection upgraded to TLS once\n * the connection to the proxy server has been established.\n */\nclass HttpsProxyAgent extends agent_base_1.Agent {\n constructor(proxy, opts) {\n super(opts);\n this.options = { path: undefined };\n this.proxy = typeof proxy === 'string' ? new url_1.URL(proxy) : proxy;\n this.proxyHeaders = opts?.headers ?? {};\n debug('Creating new HttpsProxyAgent instance: %o', this.proxy.href);\n // Trim off the brackets from IPv6 addresses\n const host = (this.proxy.hostname || this.proxy.host).replace(/^\\[|\\]$/g, '');\n const port = this.proxy.port\n ? parseInt(this.proxy.port, 10)\n : this.proxy.protocol === 'https:'\n ? 443\n : 80;\n this.connectOpts = {\n // Attempt to negotiate http/1.1 for proxy servers that support http/2\n ALPNProtocols: ['http/1.1'],\n ...(opts ? omit(opts, 'headers') : null),\n host,\n port,\n };\n }\n /**\n * Called when the node-core HTTP client library is creating a\n * new HTTP request.\n */\n async connect(req, opts) {\n const { proxy } = this;\n if (!opts.host) {\n throw new TypeError('No \"host\" provided');\n }\n // Create a socket connection to the proxy server.\n let socket;\n if (proxy.protocol === 'https:') {\n debug('Creating `tls.Socket`: %o', this.connectOpts);\n socket = tls.connect(setServernameFromNonIpHost(this.connectOpts));\n }\n else {\n debug('Creating `net.Socket`: %o', this.connectOpts);\n socket = net.connect(this.connectOpts);\n }\n const headers = typeof this.proxyHeaders === 'function'\n ? this.proxyHeaders()\n : { ...this.proxyHeaders };\n const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;\n let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\\r\\n`;\n // Inject the `Proxy-Authorization` header if necessary.\n if (proxy.username || proxy.password) {\n const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;\n headers['Proxy-Authorization'] = `Basic ${Buffer.from(auth).toString('base64')}`;\n }\n headers.Host = `${host}:${opts.port}`;\n if (!headers['Proxy-Connection']) {\n headers['Proxy-Connection'] = this.keepAlive\n ? 'Keep-Alive'\n : 'close';\n }\n for (const name of Object.keys(headers)) {\n payload += `${name}: ${headers[name]}\\r\\n`;\n }\n const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);\n socket.write(`${payload}\\r\\n`);\n const { connect, buffered } = await proxyResponsePromise;\n req.emit('proxyConnect', connect);\n this.emit('proxyConnect', connect, req);\n if (connect.statusCode === 200) {\n req.once('socket', resume);\n if (opts.secureEndpoint) {\n // The proxy is connecting to a TLS server, so upgrade\n // this socket connection to a TLS connection.\n debug('Upgrading socket connection to TLS');\n return tls.connect({\n ...omit(setServernameFromNonIpHost(opts), 'host', 'path', 'port'),\n socket,\n });\n }\n return socket;\n }\n // Some other status code that's not 200... need to re-play the HTTP\n // header \"data\" events onto the socket once the HTTP machinery is\n // attached so that the node core `http` can parse and handle the\n // error status code.\n // Close the original socket, and a new \"fake\" socket is returned\n // instead, so that the proxy doesn't get the HTTP request\n // written to it (which may contain `Authorization` headers or other\n // sensitive data).\n //\n // See: https://hackerone.com/reports/541502\n socket.destroy();\n const fakeSocket = new net.Socket({ writable: false });\n fakeSocket.readable = true;\n // Need to wait for the \"socket\" event to re-play the \"data\" events.\n req.once('socket', (s) => {\n debug('Replaying proxy buffer for failed request');\n (0, assert_1.default)(s.listenerCount('data') > 0);\n // Replay the \"buffered\" Buffer onto the fake `socket`, since at\n // this point the HTTP module machinery has been hooked up for\n // the user.\n s.push(buffered);\n s.push(null);\n });\n return fakeSocket;\n }\n}\nHttpsProxyAgent.protocols = ['http', 'https'];\nexports.HttpsProxyAgent = HttpsProxyAgent;\nfunction resume(socket) {\n socket.resume();\n}\nfunction omit(obj, ...keys) {\n const ret = {};\n let key;\n for (key in obj) {\n if (!keys.includes(key)) {\n ret[key] = obj[key];\n }\n }\n return ret;\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseProxyResponse = void 0;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst debug = (0, debug_1.default)('https-proxy-agent:parse-proxy-response');\nfunction parseProxyResponse(socket) {\n return new Promise((resolve, reject) => {\n // we need to buffer any HTTP traffic that happens with the proxy before we get\n // the CONNECT response, so that if the response is anything other than an \"200\"\n // response code, then we can re-play the \"data\" events on the socket once the\n // HTTP parser is hooked up...\n let buffersLength = 0;\n const buffers = [];\n function read() {\n const b = socket.read();\n if (b)\n ondata(b);\n else\n socket.once('readable', read);\n }\n function cleanup() {\n socket.removeListener('end', onend);\n socket.removeListener('error', onerror);\n socket.removeListener('readable', read);\n }\n function onend() {\n cleanup();\n debug('onend');\n reject(new Error('Proxy connection ended before receiving CONNECT response'));\n }\n function onerror(err) {\n cleanup();\n debug('onerror %o', err);\n reject(err);\n }\n function ondata(b) {\n buffers.push(b);\n buffersLength += b.length;\n const buffered = Buffer.concat(buffers, buffersLength);\n const endOfHeaders = buffered.indexOf('\\r\\n\\r\\n');\n if (endOfHeaders === -1) {\n // keep buffering\n debug('have not received end of HTTP headers yet...');\n read();\n return;\n }\n const headerParts = buffered\n .slice(0, endOfHeaders)\n .toString('ascii')\n .split('\\r\\n');\n const firstLine = headerParts.shift();\n if (!firstLine) {\n socket.destroy();\n return reject(new Error('No header received from proxy CONNECT response'));\n }\n const firstLineParts = firstLine.split(' ');\n const statusCode = +firstLineParts[1];\n const statusText = firstLineParts.slice(2).join(' ');\n const headers = {};\n for (const header of headerParts) {\n if (!header)\n continue;\n const firstColon = header.indexOf(':');\n if (firstColon === -1) {\n socket.destroy();\n return reject(new Error(`Invalid header from proxy CONNECT response: \"${header}\"`));\n }\n const key = header.slice(0, firstColon).toLowerCase();\n const value = header.slice(firstColon + 1).trimStart();\n const current = headers[key];\n if (typeof current === 'string') {\n headers[key] = [current, value];\n }\n else if (Array.isArray(current)) {\n current.push(value);\n }\n else {\n headers[key] = value;\n }\n }\n debug('got proxy server response: %o %o', firstLine, headers);\n cleanup();\n resolve({\n connect: {\n statusCode,\n statusText,\n headers,\n },\n buffered,\n });\n }\n socket.on('error', onerror);\n socket.on('end', onend);\n read();\n });\n}\nexports.parseProxyResponse = parseProxyResponse;\n//# sourceMappingURL=parse-proxy-response.js.map","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet flagForceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tflagForceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tflagForceColor = 1;\n}\n\nfunction envForceColor() {\n\tif ('FORCE_COLOR' in env) {\n\t\tif (env.FORCE_COLOR === 'true') {\n\t\t\treturn 1;\n\t\t}\n\n\t\tif (env.FORCE_COLOR === 'false') {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, {streamIsTTY, sniffFlags = true} = {}) {\n\tconst noFlagForceColor = envForceColor();\n\tif (noFlagForceColor !== undefined) {\n\t\tflagForceColor = noFlagForceColor;\n\t}\n\n\tconst forceColor = sniffFlags ? flagForceColor : noFlagForceColor;\n\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (sniffFlags) {\n\t\tif (hasFlag('color=16m') ||\n\t\t\thasFlag('color=full') ||\n\t\t\thasFlag('color=truecolor')) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (hasFlag('color=256')) {\n\t\t\treturn 2;\n\t\t}\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE', 'DRONE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream, options = {}) {\n\tconst level = supportsColor(stream, {\n\t\tstreamIsTTY: stream && stream.isTTY,\n\t\t...options\n\t});\n\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: getSupportLevel({isTTY: tty.isatty(1)}),\n\tstderr: getSupportLevel({isTTY: tty.isatty(2)})\n};\n","\nvar encrypt_lookup = [\n \"Z\",\n \"m\",\n \"s\",\n \"e\",\n \"r\",\n \"b\",\n \"B\",\n \"o\",\n \"H\",\n \"Q\",\n \"t\",\n \"N\",\n \"P\",\n \"+\",\n \"w\",\n \"O\",\n \"c\",\n \"z\",\n \"a\",\n \"/\",\n \"L\",\n \"p\",\n \"n\",\n \"g\",\n \"G\",\n \"8\",\n \"y\",\n \"J\",\n \"q\",\n \"4\",\n \"2\",\n \"K\",\n \"W\",\n \"Y\",\n \"j\",\n \"0\",\n \"D\",\n \"S\",\n \"f\",\n \"d\",\n \"i\",\n \"k\",\n \"x\",\n \"3\",\n \"V\",\n \"T\",\n \"1\",\n \"6\",\n \"I\",\n \"l\",\n \"U\",\n \"A\",\n \"F\",\n \"M\",\n \"9\",\n \"7\",\n \"h\",\n \"E\",\n \"C\",\n \"v\",\n \"u\",\n \"R\",\n \"X\",\n \"5\"\n];\n\nlet esm_typeof = {}\nesm_typeof.A = function (t) {\n return typeof t\n}\n\nfunction encrypt_b64Encode(t) {\n var e = 664\n , r = 634\n , n = 448\n , o = 599\n , i = 315\n , a = 416\n , u = 512\n , s = 361\n , c = 406\n , l = 487\n , f = 496\n , p = 333\n , h = 630\n , d = 639\n , v = 548\n , g = 582\n , m = 447\n , y = 468\n , w = 375\n , b = 331\n , _ = 149\n , E = 382\n , x = 265\n , k = 625\n , T = 570\n , S = 551\n , A = 582\n , L = 581\n , I = 638\n , R = 618\n , O = 606\n , C = 429\n , N = 651\n , P = 667\n , B = 817\n , M = 333\n , j = 567\n , F = 747\n , D = 561\n , q = 570\n , U = 676\n , G = 840\n , H = 240\n , V = {\n udFrB: function (t, e) {\n return t % e\n },\n cCZFe: function (t, e) {\n return t === e\n },\n jevwl: function (t, e) {\n return t - e\n },\n aqlTy: function (t, e) {\n return t + e\n },\n rceYY: function (t, e) {\n return t >> e\n },\n OwjMq: function (t, e) {\n return t & e\n },\n kSGXO: function (t, e) {\n return t << e\n },\n veNiI: function (t, e) {\n return t === e\n },\n QLthP: function (t, e) {\n return t + e\n },\n wDtJz: function (t, e) {\n return t + e\n },\n nYqUQ: function (t, e) {\n return t & e\n },\n TCArD: function (t, e) {\n return t << e\n },\n RHteb: function (t, e) {\n return t - e\n },\n mZPJZ: function (t, e) {\n return t < e\n },\n zDETq: function (t, e, r, n) {\n return t(e, r, n)\n },\n YlZGp: function (t, e) {\n return t > e\n }\n };\n function W(t, e) {\n return a0_0x10f4ac(e, t - -H)\n }\n for (var X = (W(-413, -442) + W(-e, -r) + \"7\")[W(-n, -o)](\"|\"), z = 0; ;) {\n switch (X[z++]) {\n case \"0\":\n var Y;\n continue;\n case \"1\":\n var K = [];\n continue;\n case \"2\":\n var J = V[W(-i, -a)]($, 3);\n continue;\n case \"3\":\n var $ = t[W(-350, -u)];\n continue;\n case \"4\":\n V[W(-s, -c)](J, 1) ? (Y = t[V[W(-l, -f)]($, 1)],\n K[W(-p, -346)](V[W(-h, -d)](encrypt_lookup[V[W(-503, -v)](Y, 2)] + encrypt_lookup[V[W(-g, -741)](V[W(-331, -m)](Y, 4), 63)], \"==\"))) : V[W(-y, -w)](J, 2) && (Y = V[W(-b, -_)](t[$ - 2], 8) + t[V[W(-l, -E)]($, 1)],\n K[W(-333, -x)](V[W(-k, -505)](V[W(-T, -S)](encrypt_lookup[Y >> 10], encrypt_lookup[V[W(-A, -L)](Y >> 4, 63)]) + encrypt_lookup[V[W(-I, -R)](V[W(-O, -C)](Y, 2), 63)], \"=\")));\n continue;\n case \"5\":\n var Q = 16383;\n continue;\n case \"6\":\n for (var Z = 0, tt = V[W(-509, -N)]($, J); V[W(-P, -B)](Z, tt); Z += Q)\n K[W(-M, -153)](V[W(-j, -F)](encrypt_encodeChunk, t, Z, V[W(-D, -413)](Z + Q, tt) ? tt : V[W(-q, -501)](Z, Q)));\n continue;\n case \"7\":\n return K[W(-U, -G)](\"\")\n }\n break\n }\n}\n\nfunction encrypt_encodeUtf8(t) {\n var e = 185\n , r = 410\n , n = 480\n , o = 222\n , i = 194\n , a = 165\n , u = 147\n , s = 290\n , c = 460\n , l = 472\n , f = 497\n , p = 462\n , h = 286\n , d = 209\n , v = 223\n , g = 590\n , m = {\n bIGxm: function (t, e) {\n return t(e)\n },\n MahgM: function (t, e) {\n return t < e\n },\n czxKn: function (t, e) {\n return t === e\n },\n clYIu: function (t, e) {\n return t + e\n }\n }\n , y = m[b(477, 488)](encodeURIComponent, t)\n , w = [];\n function b(t, e) {\n return a0_0x10f4ac(t, e - g)\n }\n for (var _ = 0; m[b(333, e)](_, y[b(r, n)]); _++) {\n var E = y[b(o, 290)](_);\n if (m[b(i, a)](E, \"%\")) {\n var x = y[b(u, s)](m[b(574, 472)](_, 1)) + y[b(c, 290)](m[b(605, l)](_, 2))\n , k = parseInt(x, 16);\n w[b(592, f)](k),\n _ += 2\n } else\n w[b(p, f)](E[b(217, h) + b(d, v)](0))\n }\n return w\n}\n\nfunction sign_common(h) {\n return encrypt_b64Encode(encrypt_encodeUtf8(JSON.stringify(h)))\n}\nfunction encrypt_tripletToBase64(t) {\n var e = 11\n , r = 15\n , n = 199\n , o = 34\n , i = 4\n , a = 102\n , u = 276\n , s = 205\n , c = 218\n , l = 11\n , f = 115\n , p = 34\n , h = 161\n , d = 123\n , v = 335\n , g = {};\n function m(t, e) {\n return a0_0x10f4ac(e, t - v)\n }\n g[m(205, 328)] = function (t, e) {\n return t + e\n }\n ,\n g[m(e, 53)] = function (t, e) {\n return t >> e\n }\n ,\n g[m(r, n)] = function (t, e) {\n return t & e\n }\n ,\n g[m(o, i)] = function (t, e) {\n return t >> e\n }\n ,\n g[m(-a, -u)] = function (t, e) {\n return t & e\n }\n ;\n var y = g;\n return y[m(s, c)](encrypt_lookup[63 & y[m(l, -75)](t, 18)], encrypt_lookup[y[m(r, f)](y[m(p, h)](t, 12), 63)]) + encrypt_lookup[t >> 6 & 63] + encrypt_lookup[y[m(-a, -d)](t, 63)]\n}\nfunction encrypt_encodeChunk(t, e, r) {\n var n, o = 165, i = 246, a = 205, u = 353, s = 162, c = 17, l = 351, f = 191, p = 139, h = 79, d = 86, v = 233, g = 270, m = 166, y = {\n hwomB: function (t, e) {\n return t < e\n },\n iHUeL: function (t, e) {\n return t & e\n },\n ELxEv: function (t, e) {\n return t << e\n },\n lBuRH: function (t, e) {\n return t << e\n },\n SkIJl: function (t, e) {\n return t & e\n },\n JYxWY: function (t, e) {\n return t + e\n },\n CxjtF: function (t, e) {\n return t(e)\n }\n }, w = [];\n function b(t, e) {\n return a0_0x10f4ac(t, e - m)\n }\n for (var _ = e; y[b(-63, -o)](_, r); _ += 3)\n n = y[b(-i, -a)](y[b(-166, -124)](t[_], 16), 16711680) + y[b(-u, -205)](y[b(s, -c)](t[_ + 1], 8), 65280) + y[b(-l, -208)](t[y[b(-350, -f)](_, 2)], 255),\n w[b(p, 73)](y[b(h, d)](encrypt_tripletToBase64, n));\n return w[b(-v, -g)](\"\")\n}\n\nfunction a0_0x3693(t, e) {\n var r = [\n \"xUKNL\",\n \"jUrZI\",\n \"rviFu\",\n \"join\",\n \"get\",\n \"LjDtD\",\n \"ZJHyP\",\n \"wOmGY\",\n \"enumera\",\n \"aONWR\",\n \"string\",\n \"kQpMi\",\n \"mZPJZ\",\n \"Ysiay\",\n \"czxKn\",\n \"|5|6|4|\",\n \"prototy\",\n \"jklmnop\",\n \"MuYbw\",\n \"diDwk\",\n \"TRFtx\",\n \"drDHI\",\n \"WLARA\",\n \"xyz0123\",\n \"asBytes\",\n \"|6|0|1|\",\n \"JOtEi\",\n \"Oialn\",\n \"OQrEi\",\n \"uPnXq\",\n \"VWXYZab\",\n \"cIbFa\",\n \"qYuta\",\n \"QDOZZ\",\n \"MahgM\",\n \"iRXZq\",\n \"22098XlFGYn\",\n \"mmLKn\",\n \"jMcIE\",\n \"stringi\",\n \"[object\",\n \"nYqUQ\",\n \"jSgjk\",\n \"ucyEo\",\n \"iewJI\",\n \"vgTwl\",\n \"DnNGR\",\n \"oBytes\",\n \"Xtwzk\",\n \"aqlTy\",\n \"JWnPK\",\n \"1|0|2|4\",\n \"qrstuvw\",\n \"_gg\",\n \"QLthP\",\n \"FJIWy\",\n \"yRnhISG\",\n \"pjUsr\",\n \"KAwuh\",\n \"Thhoa\",\n \"jarkJ\",\n \"WjRNN\",\n \"asStrin\",\n \"x3VT16I\",\n \"357835LaQWjW\",\n \"SkIJl\",\n \"size\",\n \"iyorr\",\n \"iHUeL\",\n \"tTanW\",\n \"tNusJ\",\n \"NiSrP\",\n \"eAt\",\n \"TCArD\",\n \"a2r1ZQo\",\n \"iamspam\",\n \"bOnfu\",\n \"UNSKg\",\n \"HIJKLMN\",\n \"ZfMKC\",\n \"bJhXU\",\n \"zwAAc\",\n \"JYxWY\",\n \"lUAFM97\",\n \"mwaRe\",\n \"EzYWD\",\n \"replace\",\n \"uOtUJ\",\n \"__esMod\",\n \"ViQWI\",\n \"aCMFL\",\n \"EAKSd\",\n \"ule\",\n \"pqnFP\",\n \"qYDsL\",\n \"270726pnaYfG\",\n \"glBZG\",\n \"OwjMq\",\n \"YGrjc\",\n \"ZhAcd\",\n \"JDqFL\",\n \"456789+\",\n \"kEjQs\",\n \"lWhbD\",\n \"OaLTI\",\n \"dXlgm\",\n \"cVte9UJ\",\n \"ctor\",\n \"hwomB\",\n \"wDtJz\",\n \"constru\",\n \"ABHuC\",\n \"zDETq\",\n \"SYNeA\",\n \"BGbij\",\n \"ionFq\",\n \"QzaNS\",\n \"7|3|5|4\",\n \"YlZGp\",\n \"Bjniw\",\n \"ZITuN\",\n \"KPTzH\",\n \"HrBeq\",\n \"xobsT\",\n \"kXJkC\",\n \"QSrEZ\",\n \"ENXtO\",\n \"FYbRJ\",\n \"wOcza/L\",\n \"_hh\",\n \"dVXMb\",\n \"ppkua\",\n \"WgamZ\",\n \"HuwCW\",\n \"362424fnLCuh\",\n \"charCod\",\n \"HhPqg\",\n \"ODunI\",\n \"eJzqq\",\n \"charAt\",\n \"JGAgI\",\n \"ZmserbB\",\n \"TURcG\",\n \"WyrqF\",\n \"iYJzH\",\n \"VIwfH\",\n \"tzzOB\",\n \"YgiCH\",\n \"byyMQ\",\n \"ELxEv\",\n \"0DSfdik\",\n \"HRihr\",\n \"_ii\",\n \"aDsrp\",\n \"ble\",\n \"jTGtW\",\n \"configu\",\n \"cXiYW\",\n \"56kSpAsC\",\n \"158KIldlA\",\n \"oHQtNP+\",\n \"BHavO\",\n \"PCIlh\",\n \"QatIf\",\n \"IKyqh\",\n \"Words\",\n \"Qwnrg\",\n \"44lQAgNu\",\n \"cdefghi\",\n \"nTwxD\",\n \"RHteb\",\n \"coqPr\",\n \"rJwmI\",\n \"aBoeK\",\n \"default\",\n \"exports\",\n \"rceYY\",\n \"isArray\",\n \"mdKKO\",\n \"kzxWE\",\n \"DeBtm\",\n \"tjjUn\",\n \"vJEcD\",\n \"LpfE8xz\",\n \"bin\",\n \"HKazo\",\n \"rable\",\n \"call\",\n \"wordsTo\",\n \"zBiyt\",\n \"GrsGL\",\n \"fqulF\",\n \"jevwl\",\n \"mxfLj\",\n \"xlUnt\",\n \"q42KWYj\",\n \"endian\",\n \"eEqDc\",\n \"oyGAZ\",\n \"bytesTo\",\n \"OzjuJ\",\n \"IfwWq\",\n \"ize\",\n \"6648810piiNEz\",\n \"lTHdy\",\n \"vDLZJ\",\n \"stringT\",\n \"A4NjFqY\",\n \"GkjTz\",\n \"eooJA\",\n \"substr\",\n \"veNiI\",\n \"LYfDp\",\n \"ljKsP\",\n \"jJYWG\",\n \"bcYAf\",\n \"srikB\",\n \"utf8\",\n \"qTbeY\",\n \"yqRzd\",\n \"|3|5\",\n \"bjbAy\",\n \" Array]\",\n \"rMbXP\",\n \"u5wPHsO\",\n \"test\",\n \"gMIMC\",\n \"Deyqv\",\n \" argume\",\n \"ABCDEFG\",\n \"undefin\",\n \"split\",\n \"QTlsj\",\n \"_isBuff\",\n \"OPQRSTU\",\n \"Illegal\",\n \"loSen\",\n \"navigat\",\n \"ObwNo\",\n \"qPbcq\",\n \"7182692QogvXX\",\n \"tvqSn\",\n \"DGptJ\",\n \"HhTfW\",\n \"avIYx\",\n \"defineP\",\n \"PFQbW\",\n \"CjFyM\",\n \"toStrin\",\n \"yMWXS\",\n \"yMyOy\",\n \"0XTdDgM\",\n \"eXkru\",\n \"_blocks\",\n \"indexOf\",\n \"mbBQr\",\n \"lBuRH\",\n \"HzGjH\",\n \"HNErV\",\n \"mEokX\",\n \"userAge\",\n \"UpmtD\",\n \"sgomx\",\n \"KDfKS\",\n \"OTbSq\",\n \"lxMGW\",\n \"0|3|2|1\",\n \"dfWyB\",\n \"lWzAd\",\n \"eyXTL\",\n \"5624qreyZK\",\n \"pow\",\n \"IJstz\",\n \"LMlMB\",\n \"INlwI\",\n \"lRulU\",\n \"TCgZh\",\n \"_digest\",\n \"UBhIl\",\n \"fLtZZ\",\n \"FYSKq\",\n \"2|8|0\",\n \"IoCeZ\",\n \" Object\",\n \"UuTvI\",\n \"lNKLD\",\n \"String\",\n \"Bytes\",\n \"rBVvW\",\n \"KblCWi+\",\n \"pRaIH\",\n \"roperty\",\n \"vTINI\",\n \"atLE\",\n \"functio\",\n \"Udqoy\",\n \"nt \",\n \"htSWx\",\n \"hEwRK\",\n \"encodin\",\n \"sCSVK\",\n \"VuAZF\",\n \"xeIIy\",\n \"RBjMb\",\n \"taTrq\",\n \"vDLFJ\",\n \"bPkya\",\n \"HzimH\",\n \"nCffO\",\n \"BWbtU\",\n \"2|8\",\n \"slice\",\n \"lxMGQ\",\n \"tTiwe\",\n \"JDhJB\",\n \"rCode\",\n \"gNDzY\",\n \"wJkyu\",\n \"cCZFe\",\n \"RNGSl\",\n \"floor\",\n \"clYIu\",\n \"vLiwz\",\n \"BiNSE\",\n \"MtYWB\",\n \"fromCha\",\n \"StNOc\",\n \"|7|5|3|\",\n \"9|1|4|6\",\n \"length\",\n \"UNYAE\",\n \"pngG8yJ\",\n \"hasOwnP\",\n \"pYeWu\",\n \"wTjkk\",\n \"Bvk6/7=\",\n \"KTmgk\",\n \"bIGxm\",\n \"readFlo\",\n \"LFZch\",\n \"_ff\",\n \"1|3|4|2\",\n \"binary\",\n \"LLdJZ\",\n \"ZofOU\",\n \"6399uFPxTQ\",\n \"push\",\n \"YntPT\",\n \"kSGXO\",\n \"random\",\n \"HfpCU\",\n \"hECvuRX\",\n \"getTime\",\n \"iwSyV\",\n \"alert\",\n \"LKMcb\",\n \"DJVdg\",\n \"Hex\",\n \"URzKO\",\n \"CxjtF\",\n \"ZVOCs\",\n \"isBuffe\",\n \"vGpbT\",\n \"rotl\",\n \"udFrB\",\n \"CnbsH\",\n \"crLST\"\n ]\n return r[t -= 131]\n}\nfunction a0_0x10f4ac(t, e) {\n return a0_0x3693(e - -570, t)\n}\n\nvar encrypt_mcr = function (t) {\n var e = 67\n , r = 15\n , n = 164\n , o = 126\n , i = 137\n , a = 39\n , u = 176\n , s = 72\n , c = 56\n , l = 21\n , f = 35\n , p = 34\n , h = 35\n , d = 18\n , v = 25\n , g = 185\n , m = 1149\n , y = 744\n , w = 1295\n , b = 1248\n , _ = 1310\n , E = 1096\n , x = 1166\n , k = 1095\n , T = 1196\n , S = 1180\n , A = 1039\n , L = 976\n , R = 1347\n , I = 1117\n , O = 1168\n , C = 1233\n , N = 1157\n , P = 1006\n , B = 1122\n , M = 1277\n , j = 1288\n , F = 1271\n , D = 986\n , q = 162\n , U = {};\n function H(t, e) {\n return a0_0x10f4ac(e, t - q)\n }\n U[H(-73, -66)] = function (t, e) {\n return t === e\n }\n ,\n U[H(e, 186)] = function (t, e) {\n return t < e\n }\n ,\n U[H(-r, -n)] = function (t, e) {\n return t ^ e\n }\n ,\n U[H(r, -o)] = function (t, e) {\n return t & e\n }\n ,\n U[H(-i, -a)] = function (t, e) {\n return t < e\n }\n ,\n U[H(-175, -u)] = function (t, e) {\n return t ^ e\n }\n ,\n U[H(-59, s)] = function (t, e) {\n return t ^ e\n }\n ,\n U[H(-c, -l)] = function (t, e) {\n return t >>> e\n }\n ,\n U[H(f, p)] = function (t, e) {\n return t >>> e\n }\n ;\n for (var G, V, W = U, z = 3988292384, X = 256, Y = []; X--; Y[X] = W[H(h, -66)](G, 0))\n for (V = 8,\n G = X; V--;)\n G = W[H(r, d)](G, 1) ? W[H(35, v)](G, 1) ^ z : W[H(h, g)](G, 1);\n return function (t) {\n function e(t, e) {\n return H(e - 1181, t)\n }\n if (W[e(m, 1108)]((0,\n esm_typeof.A)(t), e(y, 914))) {\n for (var r = 0, n = -1; W[e(w, b)](r, t[e(_, 1233)]); ++r)\n n = W[e(E, x)](Y[W[e(k, T)](n, 255) ^ t[e(S, A) + e(1022, L)](r)], n >>> 8);\n return W[e(R, 1166)](n, -1) ^ z\n }\n for (r = 0,\n n = -1; W[e(I, 1044)](r, t[e(O, C)]); ++r)\n n = W[e(N, P)](Y[W[e(1229, B)](W[e(M, T)](n, 255), t[r])], W[e(j, 1125)](n, 8));\n return W[e(F, B)](W[e(D, 1122)](n, -1), z)\n }\n}();\n\nfunction GenXSCommon(a1cookie, x_t, x_s) {\n let b1 = 'I38rHdgsjopgIvesdVwgIC+oIELmBZ5e3VwXLgFTIxS3bqwErFeexd0ekncAzMFYnqthIhJeSnMDKutRI3KsYorWHPtGrbV0P9WfIi/eWc6eYqtyQApPI37ekmR1QL+5Ii6sdnoeSfqYHqwl2qt5B0DoIvMzOZQqZVw7IxOeTqwr4qtiIkrOIi/skccxICLdI3Oe0utl2ADZsLveDSKsSPw5IEvsiutJOqw8BVwfPpdeTDWOIx4VIiu6ZPwbPut5IvlaLbgs3qtxIxes1VwHIkumIkIyejgsY/WTge7sjutKrZgedWI9gfKeYWZGI36eWPwyIEJefut0ocVAPBLLI3Aeiqt3cZ7sVom4IESyIhEqQd4AICY24F4gIiifpVwAICZVJo3sWWJs1qwiIvdef97e0ekKIi/e1piS8qwUIE7s1fds6WAeiVwqed5sdut3IxILbd6sdqtDbgKs0PwgIv8aI3z5rqwGBVtwzfTsKD7sdBdskut+Iioed/As1SiiIkKs0F6s3nVuIkge1Pt0IkVkwPwwNVtMI3/e1qtdIkKs1VwVIEesdutA+qwKsuw7IvrRIxDgJfIj2IJexVtVIhiKIi6eDVw/bz4zLadsYjmfIkWo4VtPmVw5IvAe3qtk+LJeTl5sTSEyIEJekdgs3PtsnPwqI35sSPt0Ih/sV04TIk0ejjNsfqw7Iv3sVut04B8qIkWyIvKsxFOekzNsdAKsYPtKIiMFI3MurVtKIvzjIh6s6lFut//sWqtaI3IYbuwl'\n let h = {\n \"s0\": 3,\n \"s1\": \"\",\n \"x0\": \"1\",\n \"x1\": \"3.6.8\",\n \"x2\": \"Mac OS\",\n \"x3\": \"xhs-pc-web\",\n \"x4\": \"4.20.1\",\n \"x5\": a1cookie, // a1 cookie\n \"x6\": x_t,\n \"x7\": x_s,\n \"x8\": b1,\n \"x9\": encrypt_mcr(x_t + x_s + b1),\n \"x10\": 1,\n }\n\n return sign_common(h)\n}\n\nmodule.exports = GenXSCommon\n\n\n// let a1 = '195b24e679dmxgripk2o89yld9kdnoklz0h04octb40000365251';\n// let x_t = 1754108104611;\n// const x_s = 'XYS_2UQhPsHCH0c1PjhFHjIj2erjwjQM89PjNsQhPjHCHDlkJdphHjIj2ePjwjQTJdPIP/ZlgAmGy0Yt4Lh3cFq34DE84F+ewBrM/9IUwebz8F+3J9Qi+SQD8dzN4e8EPeYS2eb7c0mTc9Yrc7z14nI3nLkQcDSenLkG4sR68FVM+nSF2e+NJ9zca0mkzrTj4DV3GMqMpoS3yeWEznbM+L40wn4Lpbb9zr+7/SW6PMYYzeQ1aFTI8gm8J/YL/FzTc0D6zgSyPjTy+0Ys+7c38g8NLSQD8AWjNsQh+sHCHfRjyfp04sQR'\n\n// console.log(GenXSCommon(a1, x_t, x_s));\n","const a0_0x45db08=a0_0x4b0d;function a0_0x4b0d(_0x2bd218,_0x316d6){const _0x165410=a0_0x1654();return a0_0x4b0d=function(_0x4b0d73,_0x5794db){_0x4b0d73=_0x4b0d73-0x84;let _0x1859e3=_0x165410[_0x4b0d73];return _0x1859e3;},a0_0x4b0d(_0x2bd218,_0x316d6);}(function(_0x1b2596,_0x16c0e0){const _0x1227f1=a0_0x4b0d,_0x46fb59=_0x1b2596();while(!![]){try{const _0x383dd4=parseInt(_0x1227f1(0x85))/0x1+-parseInt(_0x1227f1(0xb0))/0x2*(-parseInt(_0x1227f1(0x9b))/0x3)+parseInt(_0x1227f1(0xaa))/0x4+-parseInt(_0x1227f1(0xa0))/0x5*(parseInt(_0x1227f1(0x9d))/0x6)+parseInt(_0x1227f1(0x86))/0x7+-parseInt(_0x1227f1(0xab))/0x8*(parseInt(_0x1227f1(0x8d))/0x9)+parseInt(_0x1227f1(0x91))/0xa;if(_0x383dd4===_0x16c0e0)break;else _0x46fb59['push'](_0x46fb59['shift']());}catch(_0x4fc071){_0x46fb59['push'](_0x46fb59['shift']());}}}(a0_0x1654,0x807f8));const Random=Math['random'](),Ts=Date['now'](),Sm3DoneTs=Ts+0x30,xhrParaDoneTs=Ts+0x109,xhrReqDoneTs=Ts+0x10af0;function a0_0x1654(){const _0x46e031=['floor','dhzx','map','_compress','charCodeAt','min','invalid\\x20j\\x20for\\x20constant\\x20Tj','reset','662|856|1920|977|1920|977|1920|1080|Linux\\x20x86_64','6GqxJwW','error','1578UVUSyW','fromCharCode','replace','17445vhaSjq','isNaN','toString','push','length','write','reduce','charAt','reg','split','2475936ufrFMu','2137592VTpBSF','join','Dkdpgh2ZmsQB80/MfvV36XI1R45-WUAlEixNLwoqYTOPuzKFjJnry79HbGcaStCe','exports','fmUmtNjj1OfTrR716RULEyQaLPrOG1jpZz0/4Tyzr7/IbcOXs8PxVxHmrAIsIMm6IfTserj+JgCbPHUssUmedGKwCrIziubgSU0FT1MmqPOZXcPDGB3xUyq+vaM7HZyYgJtKyMR=','48064qVwnFy','concat','prototype','167524mhzzJE','5968354Oyyfma','chunk','string','forEach','size','slice','sort','9BjSPrC','sum','repeat','splice','239400JtRPVl'];a0_0x1654=function(){return _0x46e031;};return a0_0x1654();}class SM3Hasher{constructor(){const _0x468533=a0_0x4b0d;this[_0x468533(0xa8)]=new Array(0x8),this[_0x468533(0x87)]=[],this[_0x468533(0x8a)]=0x0,this[_0x468533(0x99)]();}[a0_0x45db08(0x99)](){const _0x11e792=a0_0x45db08;this[_0x11e792(0xa8)][0x0]=0x7380166f,this[_0x11e792(0xa8)][0x1]=0x4914b2b9,this['reg'][0x2]=0x172442d7,this[_0x11e792(0xa8)][0x3]=0xda8a0600,this['reg'][0x4]=0xa96f30bc,this[_0x11e792(0xa8)][0x5]=0x163138aa,this[_0x11e792(0xa8)][0x6]=0xe38dee4d,this[_0x11e792(0xa8)][0x7]=0xb0fb0e4e,this[_0x11e792(0x87)]=[],this[_0x11e792(0x8a)]=0x0;}[a0_0x45db08(0xa5)](_0x22d1ef){const _0x182388=a0_0x45db08;var _0x2ded18=_0x182388(0x88)==typeof _0x22d1ef?function(_0x5e491d){const _0x12d911=_0x182388;var _0x5795ab=encodeURIComponent(_0x5e491d)[_0x12d911(0x9f)](/%([0-9A-F]{2})/g,function(_0x22d98b,_0x5659da){const _0x357908=_0x12d911;return String[_0x357908(0x9e)]('0x'+_0x5659da);}),_0x5c0d1c=new Array(_0x5795ab['length']);return Array[_0x12d911(0x84)][_0x12d911(0x89)]['call'](_0x5795ab,function(_0x2e8583,_0x28f42f){const _0x4b2a85=_0x12d911;_0x5c0d1c[_0x28f42f]=_0x2e8583[_0x4b2a85(0x96)](0x0);}),_0x5c0d1c;}(_0x22d1ef):_0x22d1ef;this['size']+=_0x2ded18['length'];var _0xffe4ea=0x40-this[_0x182388(0x87)][_0x182388(0xa4)];if(_0x2ded18[_0x182388(0xa4)]<_0xffe4ea)this['chunk']=this[_0x182388(0x87)][_0x182388(0xb1)](_0x2ded18);else{for(this['chunk']=this[_0x182388(0x87)][_0x182388(0xb1)](_0x2ded18[_0x182388(0x8b)](0x0,_0xffe4ea));this[_0x182388(0x87)]['length']>=0x40;)this['_compress'](this[_0x182388(0x87)]),_0xffe4ea<_0x2ded18[_0x182388(0xa4)]?this['chunk']=_0x2ded18[_0x182388(0x8b)](_0xffe4ea,Math[_0x182388(0x97)](_0xffe4ea+0x40,_0x2ded18['length'])):this[_0x182388(0x87)]=[],_0xffe4ea+=0x40;}}[a0_0x45db08(0x8e)](_0x34ff8d,_0xecf9f6){const _0x3ddb20=a0_0x45db08;_0x34ff8d&&(this[_0x3ddb20(0x99)](),this[_0x3ddb20(0xa5)](_0x34ff8d)),this['_fill']();for(var _0x28ac8a=0x0;_0x28ac8a<this[_0x3ddb20(0x87)][_0x3ddb20(0xa4)];_0x28ac8a+=0x40)this[_0x3ddb20(0x95)](this[_0x3ddb20(0x87)]['slice'](_0x28ac8a,_0x28ac8a+0x40));var _0x117621,_0x335539,_0x450e58,_0x5b1ad8=null;if('hex'==_0xecf9f6){_0x5b1ad8='';for(_0x28ac8a=0x0;_0x28ac8a<0x8;_0x28ac8a++)_0x5b1ad8+=(_0x117621=this[_0x3ddb20(0xa8)][_0x28ac8a][_0x3ddb20(0xa2)](0x10),_0x335539=0x8,_0x450e58='0',_0x117621[_0x3ddb20(0xa4)]>=_0x335539?_0x117621:_0x450e58[_0x3ddb20(0x8f)](_0x335539-_0x117621[_0x3ddb20(0xa4)])+_0x117621);}else for(_0x5b1ad8=new Array(0x20),_0x28ac8a=0x0;_0x28ac8a<0x8;_0x28ac8a++){var _0x46ad66=this[_0x3ddb20(0xa8)][_0x28ac8a];_0x5b1ad8[0x4*_0x28ac8a+0x3]=(0xff&_0x46ad66)>>>0x0,_0x46ad66>>>=0x8,_0x5b1ad8[0x4*_0x28ac8a+0x2]=(0xff&_0x46ad66)>>>0x0,_0x46ad66>>>=0x8,_0x5b1ad8[0x4*_0x28ac8a+0x1]=(0xff&_0x46ad66)>>>0x0,_0x46ad66>>>=0x8,_0x5b1ad8[0x4*_0x28ac8a]=(0xff&_0x46ad66)>>>0x0;}return this[_0x3ddb20(0x99)](),_0x5b1ad8;}['_fill'](){const _0xa844a0=a0_0x45db08;var _0x15bc36=0x8*this[_0xa844a0(0x8a)],_0x4a32f3=this['chunk'][_0xa844a0(0xa3)](0x80)%0x40;for(0x40-_0x4a32f3<0x8&&(_0x4a32f3-=0x40);_0x4a32f3<0x38;_0x4a32f3++)this[_0xa844a0(0x87)][_0xa844a0(0xa3)](0x0);for(var _0x36cc0b=0x0;_0x36cc0b<0x4;_0x36cc0b++){var _0xd7dcfe=Math[_0xa844a0(0x92)](_0x15bc36/0x100000000);this['chunk'][_0xa844a0(0xa3)](_0xd7dcfe>>>0x8*(0x3-_0x36cc0b)&0xff);}for(_0x36cc0b=0x0;_0x36cc0b<0x4;_0x36cc0b++)this[_0xa844a0(0x87)][_0xa844a0(0xa3)](_0x15bc36>>>0x8*(0x3-_0x36cc0b)&0xff);}[a0_0x45db08(0x95)](_0x1e530c){const _0x3c50af=a0_0x45db08;function _0x3da582(_0x14b06e,_0x4ec82e){return(_0x14b06e<<(_0x4ec82e%=0x20)|_0x14b06e>>>0x20-_0x4ec82e)>>>0x0;}function _0x489962(_0x5dd43e){const _0x744660=a0_0x4b0d;return 0x0<=_0x5dd43e&&_0x5dd43e<0x10?0x79cc4519:0x10<=_0x5dd43e&&_0x5dd43e<0x40?0x7a879d8a:void console[_0x744660(0x9c)](_0x744660(0x98));}function _0x197f71(_0x5e22dd,_0xfc800b,_0x1300f1,_0xed8891){const _0x3414cb=a0_0x4b0d;return 0x0<=_0x5e22dd&&_0x5e22dd<0x10?(_0xfc800b^_0x1300f1^_0xed8891)>>>0x0:0x10<=_0x5e22dd&&_0x5e22dd<0x40?(_0xfc800b&_0x1300f1|_0xfc800b&_0xed8891|_0x1300f1&_0xed8891)>>>0x0:(console[_0x3414cb(0x9c)]('invalid\\x20j\\x20for\\x20bool\\x20function\\x20FF'),0x0);}function _0x2f42fb(_0x326645,_0x2c63af,_0x558c0d,_0x4a902b){const _0x493bba=a0_0x4b0d;return 0x0<=_0x326645&&_0x326645<0x10?(_0x2c63af^_0x558c0d^_0x4a902b)>>>0x0:0x10<=_0x326645&&_0x326645<0x40?(_0x2c63af&_0x558c0d|~_0x2c63af&_0x4a902b)>>>0x0:(console[_0x493bba(0x9c)]('invalid\\x20j\\x20for\\x20bool\\x20function\\x20GG'),0x0);}if(_0x1e530c[_0x3c50af(0xa4)]<0x40){console[_0x3c50af(0x9c)]('compress\\x20error:\\x20not\\x20enough\\x20data');return;}else{for(var _0x23a9bd=function(_0x7114f5){for(var _0x49cf1f=new Array(0x84),_0x698c70=0x0;_0x698c70<0x10;_0x698c70++)_0x49cf1f[_0x698c70]=_0x7114f5[0x4*_0x698c70]<<0x18,_0x49cf1f[_0x698c70]|=_0x7114f5[0x4*_0x698c70+0x1]<<0x10,_0x49cf1f[_0x698c70]|=_0x7114f5[0x4*_0x698c70+0x2]<<0x8,_0x49cf1f[_0x698c70]|=_0x7114f5[0x4*_0x698c70+0x3],_0x49cf1f[_0x698c70]>>>=0x0;for(var _0xe5328=0x10;_0xe5328<0x44;_0xe5328++){var _0x2b58f2=_0x49cf1f[_0xe5328-0x10]^_0x49cf1f[_0xe5328-0x9]^_0x3da582(_0x49cf1f[_0xe5328-0x3],0xf);_0x2b58f2=_0x2b58f2^_0x3da582(_0x2b58f2,0xf)^_0x3da582(_0x2b58f2,0x17),_0x49cf1f[_0xe5328]=(_0x2b58f2^_0x3da582(_0x49cf1f[_0xe5328-0xd],0x7)^_0x49cf1f[_0xe5328-0x6])>>>0x0;}for(_0xe5328=0x0;_0xe5328<0x40;_0xe5328++)_0x49cf1f[_0xe5328+0x44]=(_0x49cf1f[_0xe5328]^_0x49cf1f[_0xe5328+0x4])>>>0x0;return _0x49cf1f;}(_0x1e530c),_0x17c086=this[_0x3c50af(0xa8)][_0x3c50af(0x8b)](0x0),_0x3621a2=0x0;_0x3621a2<0x40;_0x3621a2++){var _0x5959b9=_0x3da582(_0x17c086[0x0],0xc)+_0x17c086[0x4]+_0x3da582(_0x489962(_0x3621a2),_0x3621a2),_0x3b42ff=((_0x5959b9=_0x3da582(_0x5959b9=(0xffffffff&_0x5959b9)>>>0x0,0x7))^_0x3da582(_0x17c086[0x0],0xc))>>>0x0,_0x50d411=_0x197f71(_0x3621a2,_0x17c086[0x0],_0x17c086[0x1],_0x17c086[0x2]);_0x50d411=(0xffffffff&(_0x50d411=_0x50d411+_0x17c086[0x3]+_0x3b42ff+_0x23a9bd[_0x3621a2+0x44]))>>>0x0;var _0x910e21=_0x2f42fb(_0x3621a2,_0x17c086[0x4],_0x17c086[0x5],_0x17c086[0x6]);_0x910e21=(0xffffffff&(_0x910e21=_0x910e21+_0x17c086[0x7]+_0x5959b9+_0x23a9bd[_0x3621a2]))>>>0x0,_0x17c086[0x3]=_0x17c086[0x2],_0x17c086[0x2]=_0x3da582(_0x17c086[0x1],0x9),_0x17c086[0x1]=_0x17c086[0x0],_0x17c086[0x0]=_0x50d411,_0x17c086[0x7]=_0x17c086[0x6],_0x17c086[0x6]=_0x3da582(_0x17c086[0x5],0x13),_0x17c086[0x5]=_0x17c086[0x4],_0x17c086[0x4]=(_0x910e21^_0x3da582(_0x910e21,0x9)^_0x3da582(_0x910e21,0x11))>>>0x0;}for(var _0x459622=0x0;_0x459622<0x8;_0x459622++)this['reg'][_0x459622]=(this[_0x3c50af(0xa8)][_0x459622]^_0x17c086[_0x459622])>>>0x0;}}}function EnvData2CharCode(_0x58cd97,_0x23e1e0,_0x3ca6b2){const _0x56cb93=a0_0x45db08;let _0x2d49d4=Random*0xf0>>0x0>0x6d?(Random*0xf0>>0x0)+0x2:Random*0xf0>>0x0,_0x3f2013=Random*0xff>>0x0&0x4d|0x2|0x10|0x20|0x80,_0x4b8ded=[Random*0xffff&0xff&0xaa|[0x1,0x0,0x1,0xf][_0x56cb93(0x8b)](0x0,0x2)[0x0]&0x55,Random*0xffff&0xff&0x55|[0x1,0x0,0x1,0xf][_0x56cb93(0x8b)](0x0,0x2)[0x0]&0xaa,Random*0xffff>>0x8&0xaa|[0x1,0x0,0x1,0xf]['slice'](0x0,0x2)[0x1]&0x55,Random*0xffff>>0x8&0x55|[0x1,0x0,0x1,0xf][_0x56cb93(0x8b)](0x0,0x2)[0x1]&0xaa,_0x2d49d4&0xaa|[0x1,0x0,0x1,0xf][_0x56cb93(0x8b)](0x2,0x4)[0x0]&0x55,_0x2d49d4&0x55|[0x1,0x0,0x1,0xf][_0x56cb93(0x8b)](0x2,0x4)[0x0]&0xaa,_0x3f2013&0xaa|[0x1,0x0,0x1,0xf][_0x56cb93(0x8b)](0x2,0x4)[0x1]&0x55,_0x3f2013&0x55|[0x1,0x0,0x1,0xf][_0x56cb93(0x8b)](0x2,0x4)[0x1]&0xaa],_0x5bb315=_0x56cb93(0x9a)['split']('')[_0x56cb93(0x94)](_0x42b4c4=>_0x42b4c4[_0x56cb93(0x96)](0x0)),_0x1cdc95=((String(xhrParaDoneTs+0x3)&0xff)+',')[_0x56cb93(0xa9)]('')[_0x56cb93(0x94)](_0x58aa5d=>_0x58aa5d[_0x56cb93(0x96)](0x0));const _0x26ee7a=new SM3Hasher(),_0xe2d586=_0x26ee7a[_0x56cb93(0x8e)](_0x26ee7a['sum'](_0x58cd97+_0x56cb93(0x93))),_0x571095=_0x26ee7a[_0x56cb93(0x8e)](_0x26ee7a[_0x56cb93(0x8e)](_0x23e1e0+'dhzx')),_0x4dabdb=_0x26ee7a[_0x56cb93(0x8e)](_0x3ca6b2);let _0x4139e6=[0x29,(xhrReqDoneTs-0x190e5788800)/0x3e8/0x3c/0x3c/0x18/0xe>>0x0,0x6,xhrParaDoneTs-Ts+0x3&0xff,xhrParaDoneTs&0xff,xhrParaDoneTs>>0x8&0xff,xhrParaDoneTs>>0x10&0xff,xhrParaDoneTs>>0x18&0xff,xhrParaDoneTs/0x100/0x100/0x100/0x100&0xff,xhrParaDoneTs/0x100/0x100/0x100/0x100/0x100&0xff,xhrParaDoneTs/0x100/0x100/0x100/0x100/0x100&0xff%0x100&0xff,xhrParaDoneTs/0x100/0x100/0x100/0x100/0x100&0xff%0x100&0xff/0x100&0xff,[0xa,0x4,0x4,0x0,0x1][0x4]&0xff,[0xa,0x4,0x4,0x0,0x1][0x4]>>0x8&0xff,[0xa,0x4,0x4,0x0,0x1][0x0],[0xa,0x4,0x4,0x0,0x1][0x1],[0xa,0x4,0x4,0x0,0x1][0x2],[0xa,0x4,0x4,0x0,0x1][0x3],0x8&0xff,0x8>>0x8&0xff,0x8>>0x10&0xff,0x8>>0x18&0xff,_0xe2d586[0x9],_0xe2d586[0x12],0x3,_0xe2d586[0x3],_0x571095[0xa],_0x571095[0x13],0x4,_0x571095[0x4],_0x4dabdb[0xb],_0x4dabdb[0x15],0x5,_0x4dabdb[0x5],Sm3DoneTs&0xff,Sm3DoneTs>>0x8&0xff,Sm3DoneTs>>0x10&0xff,Sm3DoneTs>>0x18&0xff,Sm3DoneTs/0x100/0x100/0x100/0x100&0xff,Sm3DoneTs/0x100/0x100/0x100/0x100/0x100&0xff,0x3,0x6529&0xff,0x6529>>0x8&0xff,0x6529>>0x10&0xff,0x6529>>0x18&0xff,0x4cf&0xff,0x4cf>>0x8&0xff,0x4cf>>0x10&0xff,0x4cf>>0x18&0xff,_0x5bb315['length'],_0x5bb315['length'],0x0,_0x1cdc95[_0x56cb93(0xa4)],_0x1cdc95[_0x56cb93(0xa4)],0x0],_0x339170=[_0x4139e6[0x9],_0x4139e6[0x12],_0x4139e6[0x1e],_0x4139e6[0x23],_0x4139e6[0x2f],_0x4139e6[0x4],_0x4139e6[0x2c],_0x4139e6[0x13],_0x4139e6[0xa],_0x4139e6[0x17],_0x4139e6[0xc],_0x4139e6[0x28],_0x4139e6[0x19],_0x4139e6[0x2a],_0x4139e6[0x3],_0x4139e6[0x16],_0x4139e6[0x26],_0x4139e6[0x15],_0x4139e6[0x5],_0x4139e6[0x2d],_0x4139e6[0x1],_0x4139e6[0x1d],_0x4139e6[0x6],_0x4139e6[0x2b],_0x4139e6[0x21],_0x4139e6[0xe],_0x4139e6[0x24],_0x4139e6[0x25],_0x4139e6[0x2],_0x4139e6[0x2e],_0x4139e6[0xf],_0x4139e6[0x30],_0x4139e6[0x1f],_0x4139e6[0x1a],_0x4139e6[0x10],_0x4139e6[0xd],_0x4139e6[0x8],_0x4139e6[0x29],_0x4139e6[0x1b],_0x4139e6[0x11],_0x4139e6[0x27],_0x4139e6[0x14],_0x4139e6[0xb],_0x4139e6[0x0],_0x4139e6[0x22],_0x4139e6[0x7],_0x4139e6[0x32],_0x4139e6[0x33],_0x4139e6[0x35],_0x4139e6[0x36]];function _0x56e1cd(_0x24b6d5,_0x196cf7){const _0x2eb1f3=_0x56cb93;return _0x196cf7[_0x2eb1f3(0x8c)]((_0x2171ba,_0x925e58)=>_0x925e58-_0x2171ba)[_0x2eb1f3(0x89)](_0x540dbd=>{const _0x2fbb10=_0x2eb1f3;_0x540dbd>=0x0&&_0x540dbd<_0x24b6d5[_0x2fbb10(0xa4)]&&_0x24b6d5[_0x2fbb10(0x90)](_0x540dbd,0x1);}),_0x24b6d5;}let _0x41ebdd=_0x4b8ded[_0x56cb93(0xb1)](_0x56e1cd(_0x4139e6,[0x18,0x1c,0x20,0x31,0x34])),_0x42a240=_0x41ebdd[_0x56cb93(0xa6)]((_0x49ec53,_0x3d9ba0)=>_0x49ec53^_0x3d9ba0),_0xeaa831=_0x339170['concat'](_0x5bb315,_0x1cdc95,_0x42a240),_0x477e24=[],_0x3bd924=0x0;for(let _0xa7bf19=0x0;_0xa7bf19+0x2<_0xeaa831[_0x56cb93(0xa4)];){_0x477e24[_0x56cb93(0xa3)](Random*0x3e8&0xff&0x91|_0xeaa831[_0xa7bf19++]&0x6e),_0x477e24['push'](Random*0x3e8&0xff&0x42|_0xeaa831[_0xa7bf19++]&0xbd),_0x477e24[_0x56cb93(0xa3)](Random*0x3e8&0xff&0x2c|_0xeaa831[_0xa7bf19++]&0xd3),_0x477e24[_0x56cb93(0xa3)](_0xeaa831[_0xa7bf19-0x3]&0x91|_0xeaa831[_0xa7bf19-0x2]&0x42|_0xeaa831[_0xa7bf19-0x1]&0x2c),_0x3bd924+=0x3;}let _0x23c273=_0x4b8ded[_0x56cb93(0xb1)](_0x477e24,_0xeaa831[_0x56cb93(0x8b)](_0x3bd924,_0xeaa831[_0x56cb93(0xa4)]));return _0x23c273[_0x56cb93(0x94)](_0x4d13ab=>String['fromCharCode'](_0x4d13ab))[_0x56cb93(0xac)]('');}function Base2Data(_0x348aa6){const _0x2bc7c7=a0_0x45db08;let _0x874207=[Random*0xffff&0xff&0xaa|[0x3,0x52][0x0]&0x55,Random*0xffff&0xff&0x55|[0x3,0x52][0x0]&0xaa,Random*0x28>>0x0&0xaa|[0x3,0x52][0x1]&0x55,Random*0x28>>0x0&0x55|[0x3,0x52][0x1]&0xaa][_0x2bc7c7(0x94)](_0x224d00=>{const _0x31697c=_0x2bc7c7;return String[_0x31697c(0x9e)](_0x224d00);})[_0x2bc7c7(0xac)](''),_0x235e4f=[0xff,0xfe,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf3,0xf2,0xf1,0xf0,0xef,0xee,0xed,0xec,0xeb,0xea,0xe9,0xe8,0xe7,0xe6,0xe5,0xe4,0xe3,0xe2,0xe1,0xe0,0xdf,0xde,0xdd,0xdc,0xdb,0xda,0xd9,0xd8,0xd7,0xd6,0xd5,0xd4,0xd3,0xd2,0xd1,0xd0,0xcf,0xce,0xcd,0xcc,0xcb,0xca,0xc9,0xc8,0xc7,0xc6,0xc5,0xc4,0xc3,0xc2,0xc1,0xc0,0xbf,0xbe,0xbd,0xbc,0xbb,0xba,0xb9,0xb8,0xb7,0xb6,0xb5,0xb4,0xb3,0xb2,0xb1,0xb0,0xaf,0xae,0xad,0xac,0xab,0xaa,0xa9,0xa8,0xa7,0xa6,0xa5,0xa4,0xa3,0xa2,0xa1,0xa0,0x9f,0x9e,0x9d,0x9c,0x9b,0x9a,0x99,0x98,0x97,0x96,0x95,0x94,0x93,0x92,0x91,0x90,0x8f,0x8e,0x8d,0x8c,0x8b,0x8a,0x89,0x88,0x87,0x86,0x85,0x84,0x83,0x82,0x81,0x80,0x7f,0x7e,0x7d,0x7c,0x7b,0x7a,0x79,0x78,0x77,0x76,0x75,0x74,0x73,0x72,0x71,0x70,0x6f,0x6e,0x6d,0x6c,0x6b,0x6a,0x69,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x61,0x60,0x5f,0x5e,0x5d,0x5c,0x5b,0x5a,0x59,0x58,0x57,0x56,0x55,0x54,0x53,0x52,0x51,0x50,0x4f,0x4e,0x4d,0x4c,0x4b,0x4a,0x49,0x48,0x47,0x46,0x45,0x44,0x43,0x42,0x41,0x40,0x3f,0x3e,0x3d,0x3c,0x3b,0x3a,0x39,0x38,0x37,0x36,0x35,0x34,0x33,0x32,0x31,0x30,0x2f,0x2e,0x2d,0x2c,0x2b,0x2a,0x29,0x28,0x27,0x26,0x25,0x24,0x23,0x22,0x21,0x20,0x1f,0x1e,0x1d,0x1c,0x1b,0x1a,0x19,0x18,0x17,0x16,0x15,0x14,0x13,0x12,0x11,0x10,0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0];const _0x29dde1='Ó'[_0x2bc7c7(0x96)](0x0);let _0x4a74f1=0x0;for(let _0xef36c2=0x0;_0xef36c2<_0x235e4f[_0x2bc7c7(0xa4)];_0xef36c2++){let _0x4120e4=_0x235e4f[_0xef36c2];_0x4a74f1=(_0x4a74f1*_0x4120e4+_0x4a74f1+_0x29dde1)%0x100,[_0x235e4f[_0xef36c2],_0x235e4f[_0x4a74f1]]=[_0x235e4f[_0x4a74f1],_0x235e4f[_0xef36c2]];}let _0x39cb62=0x0,_0x5cbaf6='';for(let _0x29a672=0x0;_0x29a672<_0x348aa6[_0x2bc7c7(0xa4)];_0x29a672++){let _0x96c5ae=_0x348aa6[_0x2bc7c7(0x96)](_0x29a672),_0x46c34b=_0x29a672+0x1,_0x5d4cb4=_0x235e4f[_0x46c34b];[_0x235e4f[_0x46c34b],_0x235e4f[(_0x39cb62+_0x5d4cb4)%0x100]]=[_0x235e4f[(_0x39cb62+_0x5d4cb4)%0x100],_0x235e4f[_0x46c34b]];let _0x506f4f=_0x235e4f[(_0x235e4f[_0x46c34b]+_0x5d4cb4)%0x100];_0x39cb62=(_0x39cb62+_0x5d4cb4)%0x100,_0x5cbaf6+=String['fromCharCode'](_0x96c5ae^_0x506f4f);}return _0x874207+_0x5cbaf6;}function Data2A_B(_0x19ca6d){const _0x5d8d72=a0_0x45db08;let _0x225e7d=_0x5d8d72(0xad),_0x4f0a28='',_0x251d62=[0x3e,0x12a,0x10,0x0,0x4,0x9,0x10,0x0,0x5,0x36,0x0,0x5,0x3e,0x12b,0x1a,0x12c,0x36,0x0,0x5,0x3e,0x12d,0x1a,0x12e,0x36,0x0,0x5,0x3e,0x12f,0x1a,0x130,0x36,0x0,0x5,0x3e,0x131,0x1a,0x10c,0x36,0x0,0x5,0x3e,0x132,0x1a,0x128,0x36,0x0,0x5,0x36,0x0,0x3,0x4c,0x10,0x0,0x6,0x3e,0x24,0x10,0x0,0x7,0x17,0x0,0x10,0x0,0x9,0x36,0x0,0x2,0x4,0x19,0x36,0x0,0x9,0x17,0x3,0x31,0x43,0xe,0x9f,0x36,0x0,0x2,0x16,0x4,0xf7,0x22,0x0,0x9,0x3c,0xc,0x1,0x17,0xff,0x32,0x17,0x10,0x1f,0x36,0x0,0x2,0x16,0x4,0xf7,0x22,0x0,0x9,0x3c,0xc,0x1,0x17,0xff,0x32,0x17,0x8,0x1f,0x20,0x36,0x0,0x2,0x16,0x4,0xf7,0x22,0x0,0x9,0x3c,0xc,0x1,0x17,0xff,0x32,0x20,0x10,0x0,0x8,0x36,0x0,0x7,0x36,0x0,0x6,0x16,0x4,0x67,0x36,0x0,0x8,0x17,0xfc0000,0x32,0x17,0x12,0x33,0xc,0x1,0x31,0x22,0x0,0x7,0x48,0x2b,0x36,0x0,0x7,0x36,0x0,0x6,0x16,0x4,0x67,0x36,0x0,0x8,0x17,0x3f000,0x32,0x17,0xc,0x33,0xc,0x1,0x31,0x22,0x0,0x7,0x48,0x2b,0x36,0x0,0x7,0x36,0x0,0x6,0x16,0x4,0x67,0x36,0x0,0x8,0x17,0xfc0,0x32,0x17,0x6,0x33,0xc,0x1,0x31,0x22,0x0,0x7,0x48,0x2b,0x36,0x0,0x7,0x36,0x0,0x6,0x16,0x4,0x67,0x36,0x0,0x8,0x17,0x3f,0x32,0xc,0x1,0x31,0x22,0x0,0x7,0x48,0x2b,0x12,-0xad,0x36,0x0,0x2,0x4,0x19,0x36,0x0,0x9,0x0,0x17,0x0,0x13,0xe,0xa0,0x36,0x0,0x2,0x16,0x4,0xf7,0x22,0x0,0x9,0x3c,0xc,0x1,0x17,0xff,0x32,0x17,0x10,0x1f,0x36,0x0,0x2,0x4,0x19,0x36,0x0,0x9,0x13,0xe,0x13,0x36,0x0,0x2,0x16,0x4,0xf7,0x36,0x0,0x9,0xc,0x1,0x17,0xff,0x32,0x17,0x8,0x1f,0x12,0x2,0x17,0x0,0x20,0x10,0x0,0x8,0x36,0x0,0x7,0x36,0x0,0x6,0x16,0x4,0x67,0x36,0x0,0x8,0x17,0xfc0000,0x32,0x17,0x12,0x33,0xc,0x1,0x31,0x22,0x0,0x7,0x48,0x2b,0x36,0x0,0x7,0x36,0x0,0x6,0x16,0x4,0x67,0x36,0x0,0x8,0x17,0x3f000,0x32,0x17,0xc,0x33,0xc,0x1,0x31,0x22,0x0,0x7,0x48,0x2b,0x36,0x0,0x7,0x36,0x0,0x2,0x4,0x19,0x36,0x0,0x9,0x13,0xe,0x13,0x36,0x0,0x6,0x16,0x4,0x67,0x36,0x0,0x8,0x17,0xfc0,0x32,0x17,0x6,0x33,0xc,0x1,0x12,0x3,0x36,0x0,0x4,0x31,0x22,0x0,0x7,0x48,0x2b,0x36,0x0,0x7,0x36,0x0,0x4,0x31,0x22,0x0,0x7,0x48,0x2b,0x36,0x0,0x7,0x41];for(let _0x2b8eea=0x0;_0x2b8eea<_0x19ca6d['length'];_0x2b8eea+=0x3){const _0x3fca04=_0x19ca6d[_0x5d8d72(0x96)](_0x2b8eea),_0xb85a46=_0x19ca6d[_0x5d8d72(0x96)](_0x2b8eea+0x1),_0x4e702d=_0x19ca6d[_0x5d8d72(0x96)](_0x2b8eea+0x2),_0x4382e1=_0x3fca04<<_0x251d62[0x5e]|_0xb85a46<<_0x251d62[0x70]|_0x4e702d,_0x225aa0=(_0x4382e1&_0x251d62[0x93])>>_0x251d62[0x96];_0x4f0a28+=_0x225e7d[_0x5d8d72(0xa7)](_0x225aa0);const _0x5607b9=(_0x4382e1&_0x251d62[0xad])>>_0x251d62[0xb0];_0x4f0a28+=!Number[_0x5d8d72(0xa1)](_0x3fca04)?_0x225e7d[_0x5d8d72(0xa7)](_0x5607b9):'=';const _0x3fb7b7=(_0x4382e1&_0x251d62[0xc7])>>_0x251d62[0xca];_0x4f0a28+=!Number[_0x5d8d72(0xa1)](_0xb85a46)?_0x225e7d[_0x5d8d72(0xa7)](_0x3fb7b7):'=';const _0x425784=_0x4382e1&_0x251d62[0xe1];_0x4f0a28+=!Number[_0x5d8d72(0xa1)](_0x4e702d)?_0x225e7d[_0x5d8d72(0xa7)](_0x425784):'=';}return _0x4f0a28;}function GenAB(_0x315138,_0x1c32b3){const _0x206982=a0_0x45db08,_0x56536b=_0x206982(0xaf);return Data2A_B(Base2Data(EnvData2CharCode(_0x315138,_0x1c32b3,_0x56536b)));}module[a0_0x45db08(0xae)]=GenAB;","//eval1\nvar _0x5e26 = ['1OWxddp', 'UMGUw', 'PqfSQ', 'bAFBA', 'RdZOW', 'VTKBBQFM', 'zxdmC', 'tmPwM', 'wiumi', 'ΙIΙ', 'MhWZS', 'setPrototypeOf', 'PyUdY', 'MjAjc', 'xPcsI', 'EJjtF', 'HGVol', 'yxiaz', 'prototype', 'OBxQX', 'apply', 'cXDFm', '[object\\x20Arguments]', 'BqDfU', 'IIΙ', 'HaYEx', 'XVDwO', 'jqHEd', 'eJIqr', 'BmFKC', 'vFVcP', 'length', 'rUBOo', 'kouSN', 'IVyLJ', 'UgkRn', '231578RZAPRo', 'iJhUX', 'slice', 'PWtFM', 'HkaBE', 'tYXYt', '321249iOnvFh', 'GADdy', 'IUXjo', 'AbRVN', 'Hcklz', 'hwjfK', 'kmriT', 'uMRFn', 'rttQd', '__bc', 'XxNlA', 'kqKnQ', 'mQhYz', 'sWKCl', 'construct', '260713ggTmlX', 'BYbSM', '3icXZpW', 'mZrHM', 'ZYFsA', 'ZQUMb', 'YtJvW', 'yuUMe', 'euoqz', 'jHwuh', 'CciCu', 'bind', 'JOCDJ', 'gqOZZ', 'IΙI', 'TNifp', 'CozeT', 'sham', 'SMVQv', 'ksZAC', '258308ThHaAN', 'qDuah', 'XBnTt', 'LzUba', '746795dpceNN', 'POWBq', 'Pwrup', 'BdEvR', 'fromCharCode', 'juZTe', 'iGuJR', 'bPojh', 'keys', 'lzlIX', 'yZBVv', 'yOsHa', 'err-209e10:\\x20+\\x20', 'QiARX', 'ABRVQ', 'xRIOr', 'XDOoR', 'oRfag', 'undefined', '1QZcWJQ', 'FdcjM', 'PczfC', 'ΙII', 'uixXY', 'ahwRp', 'SOoBb', 'RMSgu', 'hJTjo', 'yrDYx', 'dxzss', 'qfwSc', 'idiYu', 'DlfXv', 'UwVWk', 'PdbAc', 'push', 'gZeSF', 'nWekH', 'Kbhwt', 'ndGnJ', 'kPvxn', '121585KCTaKM', 'comGc', 'wnbho', 'QBTLS', 'NOFBb', 'SAYoa', 'XDLWq', 'cFexY', 'SygNu', 'function', 'HTOjf', 'hOwmN', 'EGbYA', 'suYWh', 'vvqfG', 'EJPiB', 'uCThz', 'FSTxk', 'Awtlv', 'XLyDS', 'qskTK', 'ZqAbc', 'PzXQN', 'sGqQS', 'JsjPA', 'tLDgE', 'QqSfw', 'xMjZi', 'Tthhs', 'IΙΙ', '742454TyjCbv', 'zmfqy', 'WLUSP', 'yrZuT', 'call', 'toString'];\nvar _0x4a41 = function (_0x1218b5, _0x5e2612) {\n _0x1218b5 = _0x1218b5 - 0x0;\n var _0x4a419f = _0x5e26[_0x1218b5];\n return _0x4a419f;\n};\n(function (_0xe72767, _0xe7f5e) {\n var _0x3fd162 = _0x4a41;\n while (!![]) {\n try {\n var _0x257514 = parseInt(_0x3fd162(0x29)) * -parseInt(_0x3fd162(0x54)) + parseInt(_0x3fd162(0x14)) + parseInt(_0x3fd162(0x41)) + -parseInt(_0x3fd162(0x2b)) * parseInt(_0x3fd162(0x6a)) + -parseInt(_0x3fd162(0x1a)) + -parseInt(_0x3fd162(0x3d)) + parseInt(_0x3fd162(0x8e)) * parseInt(_0x3fd162(0x88));\n if (_0x257514 === _0xe7f5e) break; else _0xe72767['push'](_0xe72767['shift']());\n } catch (_0x5c8197) {\n _0xe72767['push'](_0xe72767['shift']());\n }\n }\n}(_0x5e26, 0x7deda));\nvar glb = globalThis;\nglb['c93b4da3'] = function (_0x24c604, _0x6a35ed, _0x22f624) {\n var _0x7083c4 = _0x4a41, _0x12b83a = {\n 'gqOZZ': function (_0x1ff265, _0x19dd10) {\n return _0x1ff265 == _0x19dd10;\n },\n 'iLzQB': _0x7083c4(0x53),\n 'ksZAC': function (_0x2bfbca, _0x5cafee) {\n return _0x2bfbca === _0x5cafee;\n },\n 'rUBOo': _0x7083c4(0x1f),\n 'NOFBb': function (_0x2f08d7, _0x37fbe9) {\n return _0x2f08d7 === _0x37fbe9;\n },\n 'yOsHa': function (_0x33582f, _0x641642) {\n return _0x33582f + _0x641642;\n },\n 'mZrHM': function (_0x2fdb95, _0x1258bd) {\n return _0x2fdb95 >> _0x1258bd;\n },\n 'JMbrB': function (_0x5bf9ad, _0xf255ce) {\n return _0x5bf9ad + _0xf255ce;\n },\n 'nWekH': function (_0xee3311, _0x318ddf, _0x4385f3) {\n return _0xee3311(_0x318ddf, _0x4385f3);\n },\n 'HGVol': function (_0x584e4a, _0x5c149f) {\n return _0x584e4a + _0x5c149f;\n },\n 'dxzss': function (_0x17b7fe, _0x174344) {\n return _0x17b7fe > _0x174344;\n },\n 'oRfag': function (_0x18d99e, _0x5cbc7d) {\n return _0x18d99e + _0x5cbc7d;\n },\n 'zxdmC': function (_0x56bf71, _0x3dc1b2) {\n return _0x56bf71 + _0x3dc1b2;\n },\n 'bAFBA': function (_0x16e5da, _0xa53bfb) {\n return _0x16e5da > _0xa53bfb;\n },\n 'wnbho': function (_0x485b39, _0x387bd5) {\n return _0x485b39 + _0x387bd5;\n },\n 'comGc': function (_0x3dcf70, _0x48eb89) {\n return _0x3dcf70 + _0x48eb89;\n },\n 'IVyLJ': function (_0x5d0e43, _0xe05ad5) {\n return _0x5d0e43 + _0xe05ad5;\n },\n 'SAYoa': function (_0x2463d8, _0x1a5a8f, _0x49936e) {\n return _0x2463d8(_0x1a5a8f, _0x49936e);\n },\n 'SOoBb': _0x7083c4(0x57),\n 'yZBVv': 'IIΙ',\n 'MjAjc': 'ΙIΙ',\n 'MhWZS': function (_0x45d1a1, _0x2a01a0) {\n return _0x45d1a1 ^ _0x2a01a0;\n },\n 'EJjtF': function (_0x3ff15b, _0x4f901b) {\n return _0x3ff15b * _0x4f901b;\n },\n 'qskTK': function (_0x1dfe70, _0x51b176) {\n return _0x1dfe70 === _0x51b176;\n },\n 'ABRVQ': function (_0x3d45e0, _0xf84a5d) {\n return _0x3d45e0 === _0xf84a5d;\n },\n 'lzlIX': function (_0x39dfca, _0x3e5179) {\n return _0x39dfca === _0x3e5179;\n },\n 'WDtsC': function (_0x3f8716, _0x3aa298, _0x4d3f6b, _0x4446eb, _0x4c8666, _0x1397bd, _0x3b53d5, _0x25f6f4, _0x29b4e2) {\n return _0x3f8716(_0x3aa298, _0x4d3f6b, _0x4446eb, _0x4c8666, _0x1397bd, _0x3b53d5, _0x25f6f4, _0x29b4e2);\n },\n 'HTOjf': function (_0x3f4419, _0x5170ae, _0x1359a6, _0x50e590, _0x338aeb, _0x3a9605, _0x290bc9, _0x1ff6c7, _0xcd43a3) {\n return _0x3f4419(_0x5170ae, _0x1359a6, _0x50e590, _0x338aeb, _0x3a9605, _0x290bc9, _0x1ff6c7, _0xcd43a3);\n },\n 'GrFtx': _0x7083c4(0x37),\n 'PWtFM': function (_0x3b25e9, _0x5e42f8) {\n return _0x3b25e9 === _0x5e42f8;\n },\n 'tLDgE': function (_0x1ba8e5, _0x26aef5) {\n return _0x1ba8e5 > _0x26aef5;\n },\n 'POWBq': function (_0x65c1f7, _0x373aa4) {\n return _0x65c1f7 === _0x373aa4;\n },\n 'mpwlj': function (_0x50d703, _0x928a91) {\n return _0x50d703 * _0x928a91;\n },\n 'hJTjo': function (_0xb408a6, _0x20a02d) {\n return _0xb408a6 + _0x20a02d;\n },\n 'AbRVN': function (_0x29f74b, _0x545253) {\n return _0x29f74b === _0x545253;\n },\n 'FSTxk': function (_0x358a47, _0x3f46e4) {\n return _0x358a47 < _0x3f46e4;\n },\n 'UwVWk': function (_0x18ec78, _0x4a7966) {\n return _0x18ec78 > _0x4a7966;\n },\n 'OBxQX': function (_0x31653d, _0x3e50ef) {\n return _0x31653d === _0x3e50ef;\n },\n 'mQhYz': _0x7083c4(0x9a),\n 'SMVQv': function (_0x4d3a96, _0x1a13b2) {\n return _0x4d3a96 === _0x1a13b2;\n },\n 'DgvJt': function (_0x3bacd8, _0x5887b3) {\n return _0x3bacd8 === _0x5887b3;\n },\n 'PqfSQ': function (_0x436eef, _0x5222c2) {\n return _0x436eef > _0x5222c2;\n },\n 'BYbSM': function (_0x2c8c91, _0x7980dd) {\n return _0x2c8c91 === _0x7980dd;\n },\n 'EGbYA': function (_0xd59293, _0x2b8404) {\n return _0xd59293 === _0x2b8404;\n },\n 'PDTHy': function (_0x24f33b, _0xd06423) {\n return _0x24f33b + _0xd06423;\n },\n 'Pwrup': function (_0x472411, _0x583510) {\n return _0x472411 + _0x583510;\n },\n 'JOCDJ': function (_0x560524, _0x189796) {\n return _0x560524 === _0x189796;\n },\n 'ZQUMb': function (_0x28584e, _0x4faf64) {\n return _0x28584e === _0x4faf64;\n },\n 'jHwuh': function (_0x4b2e99, _0x3623da) {\n return _0x4b2e99 - _0x3623da;\n },\n 'eJIqr': function (_0xce7c94, _0x9032ec) {\n return _0xce7c94 === _0x9032ec;\n },\n 'XxNlA': function (_0x14736a, _0x6288b8) {\n return _0x14736a === _0x6288b8;\n },\n 'zmfqy': function (_0x4f7385, _0x49c856) {\n return _0x4f7385 === _0x49c856;\n },\n 'suYWh': function (_0x176f10, _0x5253ed) {\n return _0x176f10 === _0x5253ed;\n },\n 'yuUMe': function (_0x261198, _0x176d4f) {\n return _0x261198 === _0x176d4f;\n },\n 'wUDmg': function (_0x5cb9a5, _0x319795) {\n return _0x5cb9a5 > _0x319795;\n },\n 'HaYEx': function (_0x380a2e, _0x42b18d) {\n return _0x380a2e > _0x42b18d;\n },\n 'euoqz': function (_0x38ffc5, _0x5cfc49) {\n return _0x38ffc5 === _0x5cfc49;\n },\n 'ndGnJ': function (_0x2f4e06, _0x1f4ce1) {\n return _0x2f4e06(_0x1f4ce1);\n },\n 'kouSN': function (_0x579306, _0x125668) {\n return _0x579306 === _0x125668;\n },\n 'pKKkl': function (_0x1a570e, _0x15b5be) {\n return _0x1a570e === _0x15b5be;\n },\n 'juZTe': function (_0x55b590, _0x5a2f99) {\n return _0x55b590 === _0x5a2f99;\n },\n 'BqDfU': function (_0x2b20aa, _0x25efe9) {\n return _0x2b20aa === _0x25efe9;\n },\n 'yrZuT': function (_0x5a70e7, _0x301cd3) {\n return _0x5a70e7 > _0x301cd3;\n },\n 'RdZOW': function (_0x1701b4, _0x42f110) {\n return _0x1701b4 > _0x42f110;\n },\n 'wsfhT': function (_0x5aa648, _0x105428) {\n return _0x5aa648 === _0x105428;\n },\n 'FdcjM': function (_0x47dd10, _0x410a4e) {\n return _0x47dd10 === _0x410a4e;\n },\n 'QiARX': function (_0x97fa53, _0x8beaee) {\n return _0x97fa53 > _0x8beaee;\n },\n 'yxiaz': function (_0x584b00, _0x4e8343, _0x434d83) {\n return _0x584b00(_0x4e8343, _0x434d83);\n },\n 'JsjPA': function (_0x3e4974, _0x1f5b2f) {\n return _0x3e4974 > _0x1f5b2f;\n },\n 'GADdy': function (_0xfeec47, _0x9fb647) {\n return _0xfeec47 + _0x9fb647;\n },\n 'Awtlv': function (_0x8c3df2, _0x17fbce) {\n return _0x8c3df2 < _0x17fbce;\n },\n 'gZeSF': function (_0x246e23, _0x2163fd) {\n return _0x246e23 - _0x2163fd;\n },\n 'LdgBs': function (_0x4557a3, _0x5ce007) {\n return _0x4557a3 * _0x5ce007;\n },\n 'vFVcP': function (_0x189e3c, _0x39d9b2) {\n return _0x189e3c === _0x39d9b2;\n },\n 'EJPiB': function (_0x4d5e62, _0x3c4e2e) {\n return _0x4d5e62 > _0x3c4e2e;\n },\n 'sGqQS': function (_0x1275b5, _0x111acb) {\n return _0x1275b5 === _0x111acb;\n },\n 'wiumi': function (_0x45d234, _0x5c740a) {\n return _0x45d234 > _0x5c740a;\n },\n 'kmriT': function (_0x330c1e, _0x496b23) {\n return _0x330c1e === _0x496b23;\n },\n 'BPpsP': function (_0x3b8ef1, _0x231263) {\n return _0x3b8ef1 === _0x231263;\n },\n 'UgkRn': function (_0x25eebc, _0x1b69fa) {\n return _0x25eebc ^ _0x1b69fa;\n },\n 'RMSgu': function (_0x1da372, _0x2272aa) {\n return _0x1da372 === _0x2272aa;\n },\n 'sKqsm': function (_0x11af26, _0x4404cf) {\n return _0x11af26 === _0x4404cf;\n },\n 'QqSfw': function (_0x35dada, _0x334cfd) {\n return _0x35dada === _0x334cfd;\n },\n 'TNifp': function (_0x43e4f0, _0x3cf229) {\n return _0x43e4f0 > _0x3cf229;\n },\n 'kqKnQ': function (_0x1b53c3, _0x5d9a2a) {\n return _0x1b53c3 === _0x5d9a2a;\n },\n 'PcJlX': function (_0x2e2a54, _0x1d5c8b) {\n return _0x2e2a54 === _0x1d5c8b;\n },\n 'uCThz': function (_0x275a32, _0x4b36cf) {\n return _0x275a32 === _0x4b36cf;\n },\n 'xMjZi': _0x7083c4(0x51),\n 'HkaBE': function (_0x974374, _0x11b253) {\n return _0x974374 === _0x11b253;\n },\n 'Tthhs': function (_0x3510ae, _0x2c1c19) {\n return _0x3510ae === _0x2c1c19;\n },\n 'hOwmN': function (_0x237c62, _0x2ed7be) {\n return _0x237c62 > _0x2ed7be;\n },\n 'UWMGT': function (_0x27caf3, _0x59cf43) {\n return _0x27caf3 === _0x59cf43;\n },\n 'PzXQN': function (_0x161ca7, _0x351dad) {\n return _0x161ca7 === _0x351dad;\n },\n 'tYXYt': function (_0x59f40f, _0x56db54) {\n return _0x59f40f > _0x56db54;\n },\n 'RbRaq': _0x7083c4(0x7f),\n 'CciCu': 'ZefSz',\n 'XVDwO': function (_0x2731c5, _0x215661) {\n return _0x2731c5 + _0x215661;\n },\n 'PdbAc': function (_0x20571c, _0x2f81a1) {\n return _0x20571c * _0x2f81a1;\n },\n 'tmPwM': function (_0x325743, _0x315b84) {\n return _0x325743 > _0x315b84;\n },\n 'vvqfG': function (_0x29299d, _0x26e36b) {\n return _0x29299d === _0x26e36b;\n },\n 'qfwSc': function (_0x3ccd9d, _0x1bb79d) {\n return _0x3ccd9d + _0x1bb79d;\n },\n 'ZYFsA': function (_0xc8fbc5, _0x1a7921) {\n return _0xc8fbc5 - _0x1a7921;\n },\n 'OCCVJ': function (_0x10f7a4, _0x1e948f) {\n return _0x10f7a4 > _0x1e948f;\n },\n 'UMGUw': function (_0x5ec926, _0x2a9505) {\n return _0x5ec926 === _0x2a9505;\n },\n 'Kbhwt': function (_0x3a3eed, _0x55fbaf) {\n return _0x3a3eed > _0x55fbaf;\n },\n 'CozeT': function (_0x266fac, _0x3c78a3) {\n return _0x266fac === _0x3c78a3;\n },\n 'SygNu': function (_0x35474d, _0xa44cbd) {\n return _0x35474d * _0xa44cbd;\n },\n 'PczfC': function (_0xb82f14, _0x22aa37) {\n return _0xb82f14 > _0x22aa37;\n },\n 'LzUba': function (_0x17d4ea, _0x2636de) {\n return _0x17d4ea !== _0x2636de;\n },\n 'Hcklz': function (_0x45fc23, _0x56bd98) {\n return _0x45fc23 === _0x56bd98;\n },\n 'jqHEd': function (_0x17a8e3, _0x1bb49c) {\n return _0x17a8e3 + _0x1bb49c;\n },\n 'yrDYx': function (_0x406702, _0x5cfd36) {\n return _0x406702 < _0x5cfd36;\n },\n 'YtJvW': function (_0x38316d, _0x172a9d) {\n return _0x38316d + _0x172a9d;\n },\n 'IUXjo': function (_0x5382c2, _0x2ad38b, _0x367bd3) {\n return _0x5382c2(_0x2ad38b, _0x367bd3);\n }\n };\n\n function _0x39fe15() {\n var _0xf72fd1 = _0x7083c4;\n if (_0x12b83a[_0xf72fd1(0x36)](_0x12b83a['iLzQB'], typeof Reflect) || !Reflect[_0xf72fd1(0x28)]) return !0x1;\n if (Reflect[_0xf72fd1(0x28)][_0xf72fd1(0x3a)]) return !0x1;\n if (_0x12b83a[_0xf72fd1(0x36)]('function', typeof Proxy)) return !0x0;\n try {\n return Date[_0xf72fd1(0x2)][_0xf72fd1(0x8d)][_0xf72fd1(0x8c)](Reflect[_0xf72fd1(0x28)](Date, [], function () {\n })), !0x0;\n } catch (_0x1acf38) {\n return !0x1;\n }\n }\n\n function _0x5419d5(_0xc4e151, _0x1cdc6a, _0x385b68) {\n var _0x3cb9ef = _0x7083c4, _0xaf1f2b = {\n 'uMRFn': function (_0x2035d4, _0xa530a2, _0x5349ad) {\n return _0x2035d4(_0xa530a2, _0x5349ad);\n }\n };\n return (_0x5419d5 = _0x39fe15() ? Reflect['construct'] : function (_0x31f90b, _0x355d4c, _0x28afe6) {\n var _0x17e79c = _0x4a41, _0x1b4231 = {\n 'WLUSP': function (_0x3d7900, _0x1a45c4) {\n return _0x3d7900 + _0x1a45c4;\n }, 'idiYu': function (_0xfd41fb, _0x1dade8) {\n return _0xfd41fb + _0x1dade8;\n }, 'iGuJR': function (_0x23bd86, _0x5044eb) {\n return _0x23bd86 - _0x5044eb;\n }\n };\n if (_0x17e79c(0x7d) === _0x17e79c(0x58)) {\n function _0x1b4a48() {\n var _0xed3200 = _0x17e79c, _0x1f9d27 = _0x4b6f90[_0x1b4231[_0xed3200(0x8a)](_0xafab0f -= 0x2, 0x1)];\n for (_0x22e6cd = _0x3d3dc6[_0x36209c][_0x1f9d27] = _0x5aa9d8[_0x1b4231[_0xed3200(0x60)](_0x1ad466, 0x2)]; 0x166e === _0x3355d2;) _0x4386e5 = _0x230507[_0x2cbcdf][_0x1b4231[_0xed3200(0x47)](_0x1f9d27, 0x1)] = !_0x159f0e[_0x4d33d1 + 0x2];\n 0x166e === _0x1f9d27 && (_0x197574 = _0xe2df51[_0x35fa65][_0x1f9d27 - 0x1] = !_0x194e9c[_0x1b4231[_0xed3200(0x60)](_0xa0cfd3, 0x2)]), _0x4e9811--;\n }\n } else {\n var _0x12fb2d = [null];\n _0x12fb2d[_0x17e79c(0x64)][_0x17e79c(0x4)](_0x12fb2d, _0x355d4c);\n var _0x2fcaa9 = new (Function[_0x17e79c(0x34)]['apply'](_0x31f90b, _0x12fb2d))();\n return _0x28afe6 && _0xaf1f2b[_0x17e79c(0x21)](_0x2e7a26, _0x2fcaa9, _0x28afe6[_0x17e79c(0x2)]), _0x2fcaa9;\n }\n })[_0x3cb9ef(0x4)](null, arguments);\n }\n\n function _0x2e7a26(_0x50aa3b, _0x5b028a) {\n var _0x120a3e = _0x7083c4;\n return (_0x2e7a26 = Object[_0x120a3e(0x99)] || function (_0x5179ac, _0x5685b9) {\n return _0x5179ac['__proto__'] = _0x5685b9, _0x5179ac;\n })(_0x50aa3b, _0x5b028a);\n }\n\n function _0x1373ba(_0xa8799b) {\n var _0x5b8490 = {\n 'XBnTt': function (_0x4e36e2, _0x92f5b1) {\n return _0x4e36e2 == _0x92f5b1;\n }, 'ErAsM': function (_0x2bb008, _0x12649b) {\n return _0x2bb008 < _0x12649b;\n }, 'bPojh': function (_0x1c25d9, _0x365c42) {\n return _0x1c25d9 < _0x365c42;\n }\n };\n return function (_0x11608f) {\n var _0x4605ce = _0x4a41;\n if (_0x12b83a[_0x4605ce(0x3c)](_0x12b83a[_0x4605ce(0x10)], _0x4605ce(0x27))) {\n function _0x3d378b() {\n var _0x43afe4 = _0x4605ce, _0x532ac4, _0x2a8eba;\n _0x5b8490[_0x43afe4(0x3f)](null, _0x548930) && (_0x4a688e = this), _0x55558e && !_0x177290['d'] && (_0x5cc057['d'] = 0x0, _0x4cb4f8['$0'] = _0x4b0f36, _0x5e1932[0x1] = {});\n var _0x2b7d1e = {}, _0xec9b8d = _0x2b7d1e['d'] = _0x58d483 ? _0x13e036['d'] + 0x1 : 0x0;\n for (_0x2b7d1e['$' + _0xec9b8d] = _0x2b7d1e, _0x2a8eba = 0x0; _0x5b8490['ErAsM'](_0x2a8eba, _0xec9b8d); _0x2a8eba++) _0x2b7d1e[_0x532ac4 = '$' + _0x2a8eba] = _0x345188[_0x532ac4];\n for (_0x2a8eba = 0x0, _0xec9b8d = _0x2b7d1e[_0x43afe4(0xf)] = _0x476742[_0x43afe4(0xf)]; _0x5b8490[_0x43afe4(0x48)](_0x2a8eba, _0xec9b8d); _0x2a8eba++) _0x2b7d1e[_0x2a8eba] = _0x4d830d[_0x2a8eba];\n return _0xd4d768 && _0x5a461e[_0x322e98], _0x58df46[_0x7e9d11], _0x5decd7(_0x37654f, _0x4ebe6a, _0x87d026, 0x0, _0x2b7d1e, _0x54e185, null)[0x1];\n }\n } else {\n if (Array['isArray'](_0x11608f)) {\n for (var _0x458cba = 0x0, _0x40af62 = new Array(_0x11608f[_0x4605ce(0xf)]); _0x458cba < _0x11608f[_0x4605ce(0xf)]; _0x458cba++) _0x40af62[_0x458cba] = _0x11608f[_0x458cba];\n return _0x40af62;\n }\n }\n }(_0xa8799b) || function (_0x47239e) {\n var _0xd94b9a = _0x4a41;\n if (Symbol['iterator'] in Object(_0x47239e) || _0xd94b9a(0x6) === Object[_0xd94b9a(0x2)][_0xd94b9a(0x8d)][_0xd94b9a(0x8c)](_0x47239e)) return Array['from'](_0x47239e);\n }(_0xa8799b) || function () {\n throw new TypeError('Invalid\\x20attempt\\x20to\\x20spread\\x20non-iterable\\x20instance');\n }();\n }\n\n this[_0x7083c4(0x23)] = _0x24c604;\n for (var _0x22f5c2 = [], _0xc15748 = 0x0, _0x498cf3 = [], _0x2ab336 = 0x0, _0x49c968 = function (_0x2435ac, _0x4de9cc) {\n var _0x43ddd5 = _0x7083c4;\n if (_0x12b83a[_0x43ddd5(0x6e)]('rohmx', 'rohmx')) {\n var _0xb96fbb = _0x2435ac[_0x4de9cc++], _0x3ad1bc = _0x2435ac[_0x4de9cc],\n _0x2a37cd = parseInt(_0x12b83a['yOsHa']('', _0xb96fbb) + _0x3ad1bc, 0x10);\n if (_0x12b83a['mZrHM'](_0x2a37cd, 0x7) == 0x0) return [0x1, _0x2a37cd];\n if (_0x12b83a[_0x43ddd5(0x36)](_0x2a37cd >> 0x6, 0x2)) {\n var _0x486235 = parseInt('' + _0x2435ac[++_0x4de9cc] + _0x2435ac[++_0x4de9cc], 0x10);\n return _0x2a37cd &= 0x3f, [0x2, _0x486235 = _0x12b83a[_0x43ddd5(0x4c)](_0x2a37cd <<= 0x8, _0x486235)];\n }\n if (_0x12b83a[_0x43ddd5(0x2c)](_0x2a37cd, 0x6) == 0x3) {\n var _0x105c68 = parseInt(_0x12b83a['JMbrB']('', _0x2435ac[++_0x4de9cc]) + _0x2435ac[++_0x4de9cc], 0x10),\n _0x4f381c = _0x12b83a[_0x43ddd5(0x66)](parseInt, _0x12b83a['JMbrB']('' + _0x2435ac[++_0x4de9cc], _0x2435ac[++_0x4de9cc]), 0x10);\n return _0x2a37cd &= 0x3f, [0x3, _0x4f381c = (_0x2a37cd <<= 0x10) + (_0x105c68 <<= 0x8) + _0x4f381c];\n }\n } else {\n function _0x9949() {\n var _0x4f1a1d = _0x323767[_0x455c3c++];\n _0x2ee7b2[++_0x17f54b] = _0x4f1a1d;\n }\n }\n }, _0xfa87b5 = function (_0x5c9ccf, _0x2fc50f) {\n var _0x5ac37a = _0x7083c4,\n _0x5d468d = _0x12b83a[_0x5ac37a(0x66)](parseInt, _0x12b83a[_0x5ac37a(0x0)]('' + _0x5c9ccf[_0x2fc50f], _0x5c9ccf[_0x2fc50f + 0x1]), 0x10);\n return _0x5d468d = _0x12b83a[_0x5ac37a(0x5e)](_0x5d468d, 0x7f) ? -0x100 + _0x5d468d : _0x5d468d;\n }, _0xd412d2 = function (_0x2b32ac, _0x26614f) {\n var _0x1b0b08 = _0x7083c4,\n _0x89bc72 = parseInt(_0x12b83a[_0x1b0b08(0x52)](_0x12b83a[_0x1b0b08(0x94)]('' + _0x2b32ac[_0x26614f], _0x2b32ac[_0x26614f + 0x1]) + _0x2b32ac[_0x26614f + 0x2], _0x2b32ac[_0x26614f + 0x3]), 0x10);\n return _0x89bc72 = _0x12b83a[_0x1b0b08(0x91)](_0x89bc72, 0x7fff) ? _0x12b83a[_0x1b0b08(0x94)](-0x10000, _0x89bc72) : _0x89bc72;\n }, _0x10e5cb = function (_0x2a1ef9, _0x4112a4) {\n var _0x14cec8 = _0x7083c4,\n _0x586fa1 = parseInt(_0x12b83a[_0x14cec8(0x94)](_0x12b83a['zxdmC'](_0x12b83a[_0x14cec8(0x6c)]('' + _0x2a1ef9[_0x4112a4] + _0x2a1ef9[_0x12b83a['wnbho'](_0x4112a4, 0x1)], _0x2a1ef9[_0x12b83a['comGc'](_0x4112a4, 0x2)]) + _0x2a1ef9[_0x4112a4 + 0x3] + _0x2a1ef9[_0x4112a4 + 0x4], _0x2a1ef9[_0x12b83a[_0x14cec8(0x6b)](_0x4112a4, 0x5)]), _0x2a1ef9[_0x12b83a[_0x14cec8(0x6b)](_0x4112a4, 0x6)]) + _0x2a1ef9[_0x4112a4 + 0x7], 0x10);\n return _0x586fa1 = _0x12b83a[_0x14cec8(0x91)](_0x586fa1, 0x7fffffff) ? _0x12b83a[_0x14cec8(0x6b)](0x0, _0x586fa1) : _0x586fa1;\n }, _0x4746fc = function (_0x50db27, _0x3a05d0) {\n var _0x4987a0 = _0x7083c4;\n return parseInt('' + _0x50db27[_0x3a05d0] + _0x50db27[_0x12b83a[_0x4987a0(0x12)](_0x3a05d0, 0x1)], 0x10);\n }, _0x29944e = function (_0x8bea75, _0x4da4b2) {\n var _0x2ce82e = _0x7083c4;\n return _0x12b83a[_0x2ce82e(0x6f)](parseInt, _0x12b83a['IVyLJ']('', _0x8bea75[_0x4da4b2]) + _0x8bea75[_0x4da4b2 + 0x1] + _0x8bea75[_0x4da4b2 + 0x2] + _0x8bea75[_0x4da4b2 + 0x3], 0x10);\n }, _0x24f400 = _0x24f400 || this || window, _0x51cce9 = Object[_0x7083c4(0x49)] || function (_0x1414c9) {\n var _0x48f581 = {}, _0x53ce65 = 0x0;\n for (var _0x428514 in _0x1414c9) _0x48f581[_0x53ce65++] = _0x428514;\n return _0x48f581['length'] = _0x53ce65, _0x48f581;\n }, _0x5c4110 = (_0x24c604[_0x7083c4(0xf)], 0x0), _0x5e0b6d = '', _0x168ac1 = _0x5c4110; _0x12b83a[_0x7083c4(0x5d)](_0x168ac1, _0x5c4110 + 0x10); _0x168ac1++) {\n var _0xdeab25 = '' + _0x24c604[_0x168ac1++] + _0x24c604[_0x168ac1];\n _0xdeab25 = parseInt(_0xdeab25, 0x10), _0x5e0b6d += String[_0x7083c4(0x45)](_0xdeab25);\n }\n if (_0x7083c4(0x93) != _0x5e0b6d) throw new Error('err:d93135:' + _0x5e0b6d);\n _0x5c4110 += 0x10, parseInt(_0x12b83a['jqHEd'](_0x12b83a[_0x7083c4(0xb)]('', _0x24c604[_0x5c4110]), _0x24c604[_0x5c4110 + 0x1]), 0x10), (_0x5c4110 += 0x8, _0xc15748 = 0x0);\n for (var _0x323a2b = 0x0; _0x323a2b < 0x4; _0x323a2b++) {\n var _0x28c6bf = _0x12b83a[_0x7083c4(0xb)](_0x5c4110, _0x12b83a[_0x7083c4(0x72)](0x2, _0x323a2b)),\n _0x8096f5 = _0x12b83a[_0x7083c4(0x2f)](_0x12b83a[_0x7083c4(0x2f)]('', _0x24c604[_0x28c6bf++]), _0x24c604[_0x28c6bf]),\n _0x2d0b41 = _0x12b83a[_0x7083c4(0x1c)](parseInt, _0x8096f5, 0x10);\n _0xc15748 += (0x3 & _0x2d0b41) << _0x12b83a[_0x7083c4(0x72)](0x2, _0x323a2b);\n }\n _0x5c4110 += 0x10, _0x5c4110 += 0x8;\n var _0x1d2320 = parseInt(_0x12b83a[_0x7083c4(0x2f)]('' + _0x24c604[_0x5c4110] + _0x24c604[_0x5c4110 + 0x1] + _0x24c604[_0x12b83a[_0x7083c4(0x2f)](_0x5c4110, 0x2)] + _0x24c604[_0x5c4110 + 0x3] + _0x24c604[_0x12b83a[_0x7083c4(0x2f)](_0x5c4110, 0x4)] + _0x24c604[_0x5c4110 + 0x5] + _0x24c604[_0x5c4110 + 0x6], _0x24c604[_0x5c4110 + 0x7]), 0x10),\n _0x3121f2 = _0x1d2320, _0x23b9e8 = _0x5c4110 += 0x8, _0x42ee3d = _0x29944e(_0x24c604, _0x5c4110 += _0x1d2320);\n _0x5c4110 += 0x4, _0x22f5c2 = {'p': [], 'q': []};\n for (var _0x440e84 = 0x0; _0x440e84 < _0x42ee3d; _0x440e84++) {\n for (var _0x36c245 = _0x49c968(_0x24c604, _0x5c4110), _0x377410 = _0x5c4110 += 0x2 * _0x36c245[0x0], _0x36ee46 = _0x22f5c2['p']['length'], _0x50dc14 = 0x0; _0x50dc14 < _0x36c245[0x1]; _0x50dc14++) {\n var _0x2d295a = _0x49c968(_0x24c604, _0x377410);\n _0x22f5c2['p'][_0x7083c4(0x64)](_0x2d295a[0x1]), _0x377410 += 0x2 * _0x2d295a[0x0];\n }\n _0x5c4110 = _0x377410, _0x22f5c2['q'][_0x7083c4(0x64)]([_0x36ee46, _0x22f5c2['p'][_0x7083c4(0xf)]]);\n }\n var _0x4fed5f = [];\n return _0x1fdc1b(_0x24c604, _0x23b9e8, _0x3121f2 / 0x2, [], _0x6a35ed, _0x22f624);\n\n function _0x3714b9(_0x484194, _0x7e7569, _0x1b87f3, _0x4e3c2b, _0x33e19f, _0xa3097b, _0xa9d1be, _0x4ab42b) {\n var _0x564652 = _0x7083c4, _0xe4f438 = {\n 'ozVGE': function (_0x58c899, _0x3c7e4c) {\n return _0x58c899 == _0x3c7e4c;\n },\n 'xRIOr': _0x564652(0x53),\n 'cFexY': _0x564652(0x73),\n 'cXDFm': function (_0x36c27e, _0x102483, _0xa0b332) {\n return _0x36c27e(_0x102483, _0xa0b332);\n },\n 'zrNGy': _0x12b83a[_0x564652(0x5a)],\n 'DlfXv': 'IIΙ',\n 'XDLWq': 'IΙI',\n 'rttQd': function (_0x4b430a, _0x524bf4) {\n return _0x4b430a < _0x524bf4;\n }\n };\n if (_0x564652(0x69) === _0x564652(0x9c)) {\n function _0xb458fa() {\n var _0x55abd2 = _0x564652;\n if (_0xe4f438['ozVGE'](_0xe4f438[_0x55abd2(0x50)], typeof _0x2a4cdc) || !_0x442910['construct']) return !0x1;\n if (_0x4aa130[_0x55abd2(0x28)]['sham']) return !0x1;\n if (_0xe4f438[_0x55abd2(0x71)] == typeof _0x5e5cdd) return !0x0;\n try {\n return _0x13077c[_0x55abd2(0x2)][_0x55abd2(0x8d)][_0x55abd2(0x8c)](_0x5a7929[_0x55abd2(0x28)](_0x3b1fe0, [], function () {\n })), !0x0;\n } catch (_0x3ef480) {\n return !0x1;\n }\n }\n } else {\n null == _0xa3097b && (_0xa3097b = this);\n var _0x2f0111, _0x4a995d, _0x31793d, _0x568eef, _0x1d4fa7 = [], _0x1c5004 = 0x0;\n _0xa9d1be && (_0x2f0111 = _0xa9d1be);\n for (var _0x30595f, _0x4e19c9, _0xf3aac1 = _0x7e7569, _0xcd74f4 = _0x12b83a['IVyLJ'](_0xf3aac1, _0x12b83a[_0x564652(0x9d)](0x2, _0x1b87f3)); _0xf3aac1 < _0xcd74f4;) if (_0x30595f = parseInt('' + _0x484194[_0xf3aac1] + _0x484194[_0xf3aac1 + 0x1], 0x10), _0xf3aac1 += 0x2, _0x12b83a[_0x564652(0x7e)](0x46, _0x30595f)) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] != _0x2f0111; _0x12b83a[_0x564652(0x91)](_0x30595f, 0x10c3);) 0x10c3 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x4f)](0x47, _0x30595f)) {\n for (_0x1d4fa7[_0x1c5004] = ++_0x1d4fa7[_0x1c5004]; _0x30595f > 0x15cc;) 0x15cc === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x33 === _0x30595f) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] <= _0x2f0111; _0x30595f > 0x10e9;) _0x12b83a['lzlIX'](0x10e9, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x38 === _0x30595f) {\n for (_0x4e19c9 = _0x29944e(_0x484194, _0xf3aac1), _0xf3aac1 += 0x4, _0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x33e19f[_0x4e19c9] = _0x2f0111; _0x30595f > 0xaa7;) 0xaa7 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x26 === _0x30595f) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] - _0x2f0111; _0x30595f > 0xe18;) _0x12b83a['lzlIX'](0xe18, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x4b === _0x30595f) {\n for (_0x4a995d = _0x1d4fa7[_0x1c5004--], _0x31793d = _0x1d4fa7[_0x1c5004--], (_0x568eef = _0x1d4fa7[_0x1c5004--])['IΙΙ'] === _0x3714b9 ? _0x568eef[_0x564652(0x57)] >= 0x1 ? _0x1d4fa7[++_0x1c5004] = _0x12b83a['WDtsC'](_0x1fdc1b, _0x484194, _0x568eef[_0x12b83a[_0x564652(0x4b)]], _0x568eef['IΙI'], _0x4a995d, _0x568eef[_0x12b83a[_0x564652(0x9b)]], _0x31793d, null, 0x1) : (_0x1d4fa7[++_0x1c5004] = _0x12b83a[_0x564652(0x74)](_0x1fdc1b, _0x484194, _0x568eef[_0x564652(0x8)], _0x568eef[_0x12b83a['GrFtx']], _0x4a995d, _0x568eef[_0x12b83a['MjAjc']], _0x31793d, null, 0x0), _0x568eef[_0x564652(0x57)]++) : _0x1d4fa7[++_0x1c5004] = _0x568eef[_0x564652(0x4)](_0x31793d, _0x4a995d); _0x30595f > 0xcc5;) 0xcc5 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x4a)](0x45, _0x30595f)) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] instanceof _0x2f0111; _0x12b83a[_0x564652(0x91)](_0x30595f, 0x15fa);) 0x15fa === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x17)](0x28, _0x30595f)) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] * _0x2f0111; _0x12b83a['tLDgE'](_0x30595f, 0xa3c);) _0x12b83a[_0x564652(0x17)](0xa3c, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x17)](0x1a, _0x30595f)) {\n for (_0x1d4fa7[_0x1c5004] = !_0x1d4fa7[_0x1c5004]; _0x30595f > 0x11f6;) _0x12b83a[_0x564652(0x42)](0x11f6, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x5 === _0x30595f) {\n for (_0x1d4fa7[++_0x1c5004] = void 0x0; _0x30595f > 0x5c8;) _0x12b83a[_0x564652(0x42)](0x5c8, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x59 === _0x30595f) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] || _0x2f0111; _0x30595f > 0xc6e;) _0x12b83a[_0x564652(0x42)](0xc6e, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x2 === _0x30595f) {\n for (_0x1d4fa7[_0x1c5004] = _0xd412d2(_0x484194, _0xf3aac1), _0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] && _0x2f0111, _0x12b83a['tLDgE'](_0xf3aac1, 0x0) && (_0xf3aac1 -= _0x12b83a['mpwlj'](0x5, _0x12b83a[_0x564652(0x5c)](_0x1d4fa7[_0x1c5004], 0x36))); _0x30595f > 0xc9c;) 0xc9c === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x42)](0x3c, _0x30595f)) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] | _0x2f0111; _0x30595f > 0x186b;) 0x186b === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a['POWBq'](0xc, _0x30595f)) {\n for (_0x4e19c9 = _0x4746fc(_0x484194, _0xf3aac1), _0xf3aac1 += 0x2, _0x1d4fa7[++_0x1c5004] = _0x33e19f['$' + _0x4e19c9]; _0x30595f > 0x1106;) 0x1106 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0xf === _0x30595f) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] / _0x2f0111; _0x30595f > 0x1004;) 0x1004 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a['AbRVN'](0x30, _0x30595f)) {\n for (_0x1d4fa7[_0x1c5004] = _0xd412d2(_0x484194, _0xf3aac1), _0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] <= _0x2f0111, _0x12b83a[_0x564652(0x83)](_0xf3aac1, 0x0) && (_0xf3aac1 -= 0x5 * (_0x1d4fa7[_0x1c5004] + 0x3c)); _0x30595f > 0xd38;) 0xd38 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x1d)](0x3d, _0x30595f)) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x12b83a[_0x564652(0x7b)](_0x1d4fa7[_0x1c5004], _0x2f0111); _0x12b83a[_0x564652(0x62)](_0x30595f, 0xcdc);) _0x12b83a['OBxQX'](0xcdc, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x24 === _0x30595f) {\n if (_0x12b83a[_0x564652(0x3)](_0x12b83a[_0x564652(0x26)], _0x12b83a['mQhYz'])) {\n for (_0x4e19c9 = _0x12b83a[_0x564652(0x6f)](_0x29944e, _0x484194, _0xf3aac1), _0x568eef = '', _0x50dc14 = _0x22f5c2['q'][_0x4e19c9][0x0]; _0x50dc14 < _0x22f5c2['q'][_0x4e19c9][0x1]; _0x50dc14++) _0x568eef += String[_0x564652(0x45)](_0x12b83a[_0x564652(0x98)](_0xc15748, _0x22f5c2['p'][_0x50dc14]));\n for (_0xf3aac1 += 0x4, _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004][_0x568eef]; _0x30595f > 0xe38;) _0x12b83a[_0x564652(0x3b)](0xe38, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n function _0x4b747b() {\n var _0x14e520 = _0x564652,\n _0xae6caa = {'ahwRp': _0x12b83a['SOoBb']};\n _0x2c6152 = _0x23d147(_0x3f1ea3, _0x2275d3);\n var _0x322b7d = function _0x45ed34() {\n var _0x5aa2f9 = _0x4a41,\n _0x3bbcf8 = arguments;\n return _0x45ed34[_0xae6caa[_0x5aa2f9(0x59)]] > 0x0 || _0x45ed34['ΙII']++, _0x596942(_0x4bc5ed, _0x45ed34[_0x5aa2f9(0x8)], _0x45ed34[_0x5aa2f9(0x37)], _0x3bbcf8, _0x45ed34[_0x5aa2f9(0x97)], this, null, 0x0);\n };\n for (_0x322b7d[_0x12b83a[_0x14e520(0x4b)]] = _0x23de6f + 0x4, _0x322b7d[_0x14e520(0x37)] = _0x313fa0 - 0x2, _0x322b7d['IΙΙ'] = _0x4903b6, _0x322b7d[_0x12b83a['SOoBb']] = 0x0, _0x322b7d[_0x12b83a[_0x14e520(0x9b)]] = _0x18d83a, _0x5e9908[_0x2cacaa] = _0x322b7d, _0x1d6fe2 += 0x2 * _0xc315ac - 0x2; _0x2dee16 > 0x869;) _0x12b83a['NOFBb'](0x869, _0x2a6fda) && (_0x4c114f[_0x5dce57--][_0xbd9e4e] = _0x4782af[_0x23fb08++]), _0xb2dc6f--;\n }\n }\n } else {\n if (_0x12b83a['DgvJt'](0x41, _0x30595f)) {\n for (_0x4e19c9 = _0x29944e(_0x484194, _0xf3aac1), _0x568eef = '', _0x50dc14 = _0x22f5c2['q'][_0x4e19c9][0x0]; _0x12b83a[_0x564652(0x7b)](_0x50dc14, _0x22f5c2['q'][_0x4e19c9][0x1]); _0x50dc14++) _0x568eef += String[_0x564652(0x45)](_0x12b83a[_0x564652(0x98)](_0xc15748, _0x22f5c2['p'][_0x50dc14]));\n for (_0x568eef = +_0x568eef, _0xf3aac1 += 0x4, _0x1d4fa7[++_0x1c5004] = _0x568eef; _0x12b83a[_0x564652(0x90)](_0x30595f, 0x885);) _0x12b83a[_0x564652(0x2a)](0x885, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x76)](0x29, _0x30595f)) {\n for (_0x1d4fa7[_0x1c5004] = --_0x1d4fa7[_0x1c5004]; _0x30595f > 0x1319;) 0x1319 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x76)](0x1c, _0x30595f)) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x12b83a[_0x564652(0x36)](_0x1d4fa7[_0x1c5004], _0x2f0111); _0x30595f > 0xca1;) 0xca1 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x1 === _0x30595f) {\n for (_0x1d4fa7[_0x1c5004] = _0xd412d2(_0x484194, _0xf3aac1), _0x1d4fa7[_0x1c5004] = !_0x1d4fa7[_0x1c5004], _0xf3aac1 > 0x0 && (_0xf3aac1 -= 0x5 * _0x12b83a['PDTHy'](_0x1d4fa7[_0x1c5004], 0x38)); _0x30595f > 0x51a;) 0x51a === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x2d === _0x30595f) {\n for (_0x1d4fa7[_0x1c5004] = _0x12b83a['SAYoa'](_0xd412d2, _0x484194, _0xf3aac1), _0x1d4fa7[++_0x1c5004] = void 0x0, _0xf3aac1 > 0x0 && (_0xf3aac1 -= 0x5 * _0x12b83a[_0x564652(0x43)](_0x1d4fa7[_0x1c5004], 0x21)); _0x30595f > 0x1a25;) 0x1a25 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x35)](0x52, _0x30595f)) {\n var _0x4857c3 = _0x1d4fa7[_0x12b83a[_0x564652(0x43)](_0x1c5004 -= 0x2, 0x1)];\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004][_0x4857c3] = _0x1d4fa7[_0x1c5004 + 0x2]; _0x12b83a[_0x564652(0x2e)](0x166e, _0x30595f);) _0x2f0111 = _0x1d4fa7[_0x1c5004][_0x12b83a[_0x564652(0x32)](_0x4857c3, 0x1)] = !_0x1d4fa7[_0x1c5004 + 0x2];\n 0x166e === _0x4857c3 && (_0x2f0111 = _0x1d4fa7[_0x1c5004][_0x4857c3 - 0x1] = !_0x1d4fa7[_0x1c5004 + 0x2]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0xc)](0xa, _0x30595f)) {\n for (_0x1d4fa7[++_0x1c5004] = _0x24f400; _0x30595f > 0x6c8;) _0x12b83a[_0x564652(0xc)](0x6c8, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x24)](0x25, _0x30595f)) {\n for (_0x1d4fa7[++_0x1c5004] = null; _0x30595f > 0xe7d;) 0xe7d === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x3f === _0x30595f) return [0x1, _0x1d4fa7[_0x1c5004--]];\n if (_0x12b83a['XxNlA'](0x54, _0x30595f)) {\n _0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] in _0x2f0111;\n for (; _0x30595f > 0x1a19;) 0x1a19 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x1f === _0x30595f) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] >> _0x2f0111; _0x30595f > 0x91c;) _0x12b83a[_0x564652(0x89)](0x91c, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x55 === _0x30595f) {\n for (_0x4a995d = _0x1d4fa7[_0x1c5004--], _0x2f0111 = delete _0x1d4fa7[_0x1c5004--][_0x4a995d]; _0x30595f > 0x146a;) 0x146a === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x4a === _0x30595f) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = typeof _0x2f0111; _0x30595f > 0x1375;) _0x12b83a[_0x564652(0x77)](0x1375, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x36 === _0x30595f) {\n for (_0x4e19c9 = _0xd412d2(_0x484194, _0xf3aac1), _0x498cf3[++_0x2ab336] = [[_0xf3aac1 + 0x4, _0x4e19c9 - 0x3], 0x0, 0x0], _0xf3aac1 += 0x2 * _0x4e19c9 - 0x2; _0x30595f > 0x1963;) 0x1963 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x22 === _0x30595f) {\n for (_0x4e19c9 = _0x12b83a[_0x564652(0x6f)](_0x29944e, _0x484194, _0xf3aac1), _0x2f0111 = '', _0x50dc14 = _0x22f5c2['q'][_0x4e19c9][0x0]; _0x50dc14 < _0x22f5c2['q'][_0x4e19c9][0x1]; _0x50dc14++) _0x2f0111 += String[_0x564652(0x45)](_0xc15748 ^ _0x22f5c2['p'][_0x50dc14]);\n for (_0x1d4fa7[++_0x1c5004] = _0x2f0111, _0xf3aac1 += 0x4; _0x30595f > 0x44f;) 0x44f === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x3a === _0x30595f) {\n for (_0x1d4fa7[++_0x1c5004] = _0xd412d2(_0x484194, _0xf3aac1), _0xf3aac1 += 0x4; _0x30595f > 0x1a40;) _0x12b83a[_0x564652(0x30)](0x1a40, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x3e === _0x30595f) {\n for (; _0x12b83a['wUDmg'](_0x30595f, 0x1587);) _0x12b83a[_0x564652(0x30)](0x1587, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x32 === _0x30595f) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] >= _0x2f0111; _0x12b83a[_0x564652(0x9)](_0x30595f, 0xf4a);) _0x12b83a[_0x564652(0x31)](0xf4a, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x31)](0x13, _0x30595f)) {\n for (_0x4e19c9 = _0x4746fc(_0x484194, _0xf3aac1), _0xf3aac1 += 0x2, _0x1d4fa7[_0x1c5004 -= _0x4e19c9] = 0x0 === _0x4e19c9 ? new _0x1d4fa7[_0x1c5004]() : _0x12b83a['SAYoa'](_0x5419d5, _0x1d4fa7[_0x1c5004], _0x12b83a[_0x564652(0x68)](_0x1373ba, _0x1d4fa7[_0x564652(0x16)](_0x1c5004 + 0x1, _0x12b83a[_0x564652(0x43)](_0x1c5004 + _0x4e19c9, 0x1)))); _0x30595f > 0x1187;) 0x1187 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x58 === _0x30595f) {\n for (_0x1d4fa7[++_0x1c5004] = _0x2f0111; _0x30595f > 0x15b7;) 0x15b7 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x31)](0x23, _0x30595f)) {\n for (_0x1d4fa7[_0x1c5004 -= 0x1] = _0x1d4fa7[_0x1c5004][_0x1d4fa7[_0x1c5004 + 0x1]]; _0x12b83a[_0x564652(0x9)](_0x30595f, 0x140c);) 0x140c === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x31)](0x35, _0x30595f)) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] & _0x2f0111; _0x12b83a['HaYEx'](_0x30595f, 0x70c);) 0x70c === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a['euoqz'](0x27, _0x30595f)) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] === _0x2f0111; _0x12b83a[_0x564652(0x9)](_0x30595f, 0x1767);) _0x12b83a[_0x564652(0x31)](0x1767, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x11)](0x3b, _0x30595f)) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] ^ _0x2f0111; _0x30595f > 0x19f5;) _0x12b83a[_0x564652(0x11)](0x19f5, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x37 === _0x30595f) {\n for (_0x1d4fa7[_0x1c5004] = _0x12b83a['SAYoa'](_0xd412d2, _0x484194, _0xf3aac1), _0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x12b83a[_0x564652(0x7b)](_0x1d4fa7[_0x1c5004], _0x2f0111), _0xf3aac1 > 0x0 && (_0xf3aac1 -= 0x5 * (_0x1d4fa7[_0x1c5004] + 0x3a)); _0x30595f > 0x10f6;) _0x12b83a['pKKkl'](0x10f6, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x46)](0x18, _0x30595f)) {\n for (_0x1d4fa7[++_0x1c5004] = !0x0; _0x30595f > 0x1398;) _0x12b83a['BqDfU'](0x1398, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x1e === _0x30595f) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x12b83a[_0x564652(0x9)](_0x1d4fa7[_0x1c5004], _0x2f0111); _0x30595f > 0x13a3;) 0x13a3 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x1d === _0x30595f) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] << _0x2f0111; _0x12b83a[_0x564652(0x8b)](_0x30595f, 0x1667);) 0x1667 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x2b === _0x30595f) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] >>> _0x2f0111; _0x12b83a[_0x564652(0x8b)](_0x30595f, 0x1a51);) 0x1a51 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x7)](0x34, _0x30595f)) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] % _0x2f0111; _0x12b83a[_0x564652(0x92)](_0x30595f, 0x8f1);) _0x12b83a['wsfhT'](0x8f1, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a['FdcjM'](0x56, _0x30595f)) {\n for (_0x1d4fa7[_0x1c5004] = ~_0x1d4fa7[_0x1c5004]; _0x12b83a[_0x564652(0x4e)](_0x30595f, 0x17ea);) 0x17ea === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x16 === _0x30595f) {\n for (_0x1d4fa7[_0x1c5004] = _0x12b83a[_0x564652(0x1)](_0xd412d2, _0x484194, _0xf3aac1), _0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] >= _0x2f0111, _0x12b83a['JsjPA'](_0xf3aac1, 0x0) && (_0xf3aac1 -= 0x5 * _0x12b83a[_0x564652(0x1b)](_0x1d4fa7[_0x1c5004], 0x3b)); _0x12b83a[_0x564652(0x82)](_0x30595f, 0x182a);) 0x182a === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x7 === _0x30595f) {\n for (_0x12b83a[_0x564652(0x7c)](_0x4e19c9 = _0xd412d2(_0x484194, _0xf3aac1), 0x0) ? (0x1, _0xf3aac1 += _0x12b83a['gZeSF'](0x2 * _0x4e19c9, 0x2)) : _0xf3aac1 += 0x2 * _0x4e19c9 - 0x2; _0x30595f > 0x1a38;) _0x12b83a[_0x564652(0x55)](0x1a38, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0xd === _0x30595f) {\n for (_0x1d4fa7[_0x1c5004] = _0x12b83a[_0x564652(0x1)](_0xd412d2, _0x484194, _0xf3aac1), _0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] / _0x2f0111, _0xf3aac1 > 0x0 && (_0xf3aac1 -= _0x12b83a['LdgBs'](0x5, _0x1d4fa7[_0x1c5004] + 0x2b)); _0x30595f > 0x756;) 0x756 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x55)](0x48, _0x30595f)) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] && _0x2f0111; _0x30595f > 0x18cb;) 0x18cb === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0xe)](0x40, _0x30595f)) {\n for (_0x1d4fa7[++_0x1c5004] = !0x1; _0x12b83a[_0x564652(0x79)](_0x30595f, 0x103b);) _0x12b83a[_0x564652(0x81)](0x103b, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0xe === _0x30595f) throw _0x1d4fa7[_0x1c5004] = _0xd412d2(_0x484194, _0xf3aac1), _0x1d4fa7[_0x1c5004--];\n if (0x2f === _0x30595f) {\n for (_0x1d4fa7[++_0x1c5004] = _0xa3097b; _0x30595f > 0x1137;) 0x1137 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x81)](0x3, _0x30595f)) {\n for (_0x1d4fa7[_0x1c5004] = !_0x1d4fa7[_0x1c5004]; _0x12b83a[_0x564652(0x96)](_0x30595f, 0x103b);) _0x12b83a['kmriT'](0x103b, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x20)](0x17, _0x30595f)) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--]; _0x12b83a['wiumi'](_0x30595f, 0x8a9);) _0x12b83a['kmriT'](0x8a9, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x2a === _0x30595f) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004] !== _0x2f0111; _0x12b83a[_0x564652(0x96)](_0x30595f, 0x1091);) _0x12b83a['BPpsP'](0x1091, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x10 === _0x30595f) {\n for (_0x1d4fa7[_0x1c5004] > 0x0 && (_0xf3aac1 -= 0x5 * (_0x1d4fa7[_0x1c5004] + 0x1d)), _0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x4e19c9 = _0x12b83a['yxiaz'](_0x29944e, _0x484194, _0xf3aac1), _0x568eef = '', _0x50dc14 = _0x22f5c2['q'][_0x4e19c9][0x0]; _0x50dc14 < _0x22f5c2['q'][_0x4e19c9][0x1]; _0x50dc14++) _0x568eef += String[_0x564652(0x45)](_0x12b83a[_0x564652(0x13)](_0xc15748, _0x22f5c2['p'][_0x50dc14]));\n for (_0xf3aac1 += 0x4, _0x1d4fa7[_0x1c5004--][_0x568eef] = _0x2f0111; _0x30595f > 0x1a47;) _0x12b83a[_0x564652(0x5b)](0x1a47, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x5b)](0x4c, _0x30595f)) {\n for (_0x1d4fa7[_0x1c5004] > 0x0 && (_0xf3aac1 -= 0x5 * (_0x1d4fa7[_0x1c5004] + 0x1d)), _0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x4e19c9 = _0x29944e(_0x484194, _0xf3aac1), _0x568eef = '', _0x50dc14 = _0x22f5c2['q'][_0x4e19c9][0x0]; _0x50dc14 < _0x22f5c2['q'][_0x4e19c9][0x1]; _0x50dc14++) _0x568eef += String[_0x564652(0x45)](_0xc15748 ^ _0x22f5c2['p'][_0x50dc14]);\n for (_0xf3aac1 += 0x4, _0x1d4fa7[_0x1c5004--][_0x568eef] = _0x2f0111; _0x30595f > 0xca6;) 0xca6 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a['sKqsm'](0x42, _0x30595f)) {\n for (_0x4e19c9 = _0x12b83a[_0x564652(0x1)](_0x29944e, _0x484194, _0xf3aac1), _0xf3aac1 += 0x4, _0x1d4fa7[_0x1c5004][_0x4e19c9] = _0x1d4fa7[_0x1c5004]; _0x12b83a[_0x564652(0x96)](_0x30595f, 0xfbb);) 0xfbb === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x84)](0x57, _0x30595f)) {\n for (_0x4e19c9 = _0x12b83a[_0x564652(0x1)](_0x29944e, _0x484194, _0xf3aac1), _0xf3aac1 += 0x4, _0x2f0111 = _0x33e19f[_0x4e19c9], _0x1d4fa7[++_0x1c5004] = _0x2f0111; _0x12b83a[_0x564652(0x96)](_0x30595f, 0x131d);) 0x131d === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x1b === _0x30595f) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004], _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004 - 0x1], _0x1d4fa7[_0x1c5004 - 0x1] = _0x2f0111; _0x12b83a[_0x564652(0x38)](_0x30595f, 0x1492);) _0x12b83a[_0x564652(0x25)](0x1492, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a['PcJlX'](0x2e, _0x30595f)) {\n for (_0x4a995d = _0x1d4fa7[_0x1c5004--], _0x12b83a[_0x564652(0x7a)]((_0x568eef = _0x1d4fa7[_0x1c5004])[_0x564652(0x87)], _0x3714b9) ? _0x568eef[_0x564652(0x57)] >= 0x1 ? _0x1d4fa7[_0x1c5004] = _0x1fdc1b(_0x484194, _0x568eef[_0x564652(0x8)], _0x568eef[_0x564652(0x37)], [_0x4a995d], _0x568eef[_0x12b83a[_0x564652(0x9b)]], _0x31793d, null, 0x1) : (_0x1d4fa7[_0x1c5004] = _0x1fdc1b(_0x484194, _0x568eef[_0x564652(0x8)], _0x568eef[_0x564652(0x37)], [_0x4a995d], _0x568eef[_0x564652(0x97)], _0x31793d, null, 0x0), _0x568eef[_0x564652(0x57)]++) : _0x1d4fa7[_0x1c5004] = _0x568eef(_0x4a995d); _0x12b83a[_0x564652(0x38)](_0x30595f, 0x1a61);) _0x12b83a[_0x564652(0x7a)](0x1a61, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0xb === _0x30595f) {\n if (_0x12b83a[_0x564652(0x7a)](_0x12b83a['xMjZi'], _0x12b83a[_0x564652(0x85)])) {\n _0x4e19c9 = _0xd412d2(_0x484194, _0xf3aac1);\n try {\n if (_0x498cf3[_0x2ab336][0x2] = 0x1, _0x12b83a['gqOZZ'](0x1, (_0x2f0111 = _0x3714b9(_0x484194, _0x12b83a['GADdy'](_0xf3aac1, 0x4), _0x4e19c9 - 0x3, [], _0x33e19f, _0xa3097b, null, 0x0))[0x0])) return _0x2f0111;\n } catch (_0x6ea9fa) {\n if (_0x498cf3[_0x2ab336] && _0x498cf3[_0x2ab336][0x1] && 0x1 == (_0x2f0111 = _0x12b83a[_0x564652(0x74)](_0x3714b9, _0x484194, _0x498cf3[_0x2ab336][0x1][0x0], _0x498cf3[_0x2ab336][0x1][0x1], [], _0x33e19f, _0xa3097b, _0x6ea9fa, 0x0))[0x0]) return _0x2f0111;\n } finally {\n if (_0x498cf3[_0x2ab336] && _0x498cf3[_0x2ab336][0x0] && 0x1 == (_0x2f0111 = _0x12b83a['HTOjf'](_0x3714b9, _0x484194, _0x498cf3[_0x2ab336][0x0][0x0], _0x498cf3[_0x2ab336][0x0][0x1], [], _0x33e19f, _0xa3097b, null, 0x0))[0x0]) return _0x2f0111;\n _0x498cf3[_0x2ab336] = 0x0, _0x2ab336--;\n }\n for (_0xf3aac1 += 0x2 * _0x4e19c9 - 0x2; _0x30595f > 0x620;) 0x620 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n function _0x22cc38() {\n var _0x38b253 = _0x564652,\n _0x131d91 = [null];\n _0x131d91[_0x38b253(0x64)][_0x38b253(0x4)](_0x131d91, _0x36d39c);\n var _0x3bd6f3 = new (_0x4facba['bind']['apply'](_0x4a1881, _0x131d91))();\n return _0x30a343 && _0x12b83a[_0x38b253(0x6f)](_0x1aa65d, _0x3bd6f3, _0x1d74df['prototype']), _0x3bd6f3;\n }\n }\n } else {\n if (_0x12b83a[_0x564652(0x18)](0x44, _0x30595f)) {\n if (_0x564652(0xd) !== _0x564652(0x44)) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x4e19c9 = _0x29944e(_0x484194, _0xf3aac1), _0x568eef = '', _0x50dc14 = _0x22f5c2['q'][_0x4e19c9][0x0]; _0x50dc14 < _0x22f5c2['q'][_0x4e19c9][0x1]; _0x50dc14++) _0x568eef += String[_0x564652(0x45)](_0xc15748 ^ _0x22f5c2['p'][_0x50dc14]);\n for (_0xf3aac1 += 0x4, _0x1d4fa7[_0x1c5004--][_0x568eef] = _0x2f0111; _0x30595f > 0xe0c;) 0xe0c === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n function _0x596110() {\n var _0x3ffbd7 = _0x564652,\n _0x1b6b51 = {\n 'QBTLS': function (_0x5855a7, _0x4983c5, _0x5c73fe) {\n var _0x53cab5 = _0x4a41;\n return _0xe4f438[_0x53cab5(0x5)](_0x5855a7, _0x4983c5, _0x5c73fe);\n }\n };\n return (_0xa930c4 = _0x20908c() ? _0x2977d9[_0x3ffbd7(0x28)] : function (_0x35a188, _0x490a4b, _0x52bfdd) {\n var _0x587c50 = _0x3ffbd7,\n _0x51b449 = [null];\n _0x51b449['push'][_0x587c50(0x4)](_0x51b449, _0x490a4b);\n var _0x57e6a7 = new (_0x24c6cb[_0x587c50(0x34)]['apply'](_0x35a188, _0x51b449))();\n return _0x52bfdd && _0x1b6b51[_0x587c50(0x6d)](_0x32ca83, _0x57e6a7, _0x52bfdd[_0x587c50(0x2)]), _0x57e6a7;\n })[_0x3ffbd7(0x4)](null, arguments);\n }\n }\n } else {\n if (0x53 === _0x30595f) {\n for (_0x1d4fa7[++_0x1c5004] = _0xfa87b5(_0x484194, _0xf3aac1), _0xf3aac1 += 0x2; _0x12b83a['TNifp'](_0x30595f, 0x19f3);) 0x19f3 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x86)](0x31, _0x30595f)) {\n for (_0x4e19c9 = _0x12b83a[_0x564652(0x1)](_0x29944e, _0x484194, _0xf3aac1), _0xf3aac1 += 0x4, _0x4a995d = _0x1c5004 + 0x1, _0x1d4fa7[_0x1c5004 -= _0x4e19c9 - 0x1] = _0x4e19c9 ? _0x1d4fa7[_0x564652(0x16)](_0x1c5004, _0x4a995d) : []; _0x12b83a[_0x564652(0x75)](_0x30595f, 0x1435);) _0x12b83a[_0x564652(0x86)](0x1435, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x86)](0x4d, _0x30595f)) {\n for (; _0x12b83a['hOwmN'](_0x30595f, 0x1071);) _0x12b83a[_0x564652(0x86)](0x1071, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a['UWMGT'](0x15, _0x30595f)) {\n for (_0x2f0111 = _0x1d4fa7[_0x12b83a[_0x564652(0x65)](_0x1c5004, 0x1)], _0x4a995d = _0x1d4fa7[_0x1c5004], _0x1d4fa7[++_0x1c5004] = _0x2f0111, _0x1d4fa7[++_0x1c5004] = _0x4a995d; _0x30595f > 0x183c;) 0x183c === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x80)](0x4, _0x30595f)) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004], _0x1d4fa7[++_0x1c5004] = _0x2f0111; _0x12b83a[_0x564652(0x19)](_0x30595f, 0xf71);) _0x12b83a[_0x564652(0x80)](0xf71, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x80)](0x11, _0x30595f)) {\n if (_0x12b83a['RbRaq'] !== _0x12b83a[_0x564652(0x33)]) {\n _0x4e19c9 = _0x12b83a['yxiaz'](_0xd412d2, _0x484194, _0xf3aac1);\n var _0x1338c6 = function _0x1cc642() {\n var _0xf70f4c = _0x564652,\n _0x391e0e = arguments;\n return _0x1cc642[_0xe4f438['zrNGy']] > 0x0 || _0x1cc642[_0xe4f438['zrNGy']]++, _0x1fdc1b(_0x484194, _0x1cc642[_0xe4f438[_0xf70f4c(0x61)]], _0x1cc642[_0xe4f438[_0xf70f4c(0x70)]], _0x391e0e, _0x1cc642[_0xf70f4c(0x97)], this, null, 0x0);\n };\n for (_0x1338c6[_0x564652(0x8)] = _0x12b83a[_0x564652(0xa)](_0xf3aac1, 0x4), _0x1338c6[_0x564652(0x37)] = _0x4e19c9 - 0x2, _0x1338c6['IΙΙ'] = _0x3714b9, _0x1338c6[_0x12b83a['SOoBb']] = 0x0, _0x1338c6['ΙIΙ'] = _0x33e19f, _0x1d4fa7[_0x1c5004] = _0x1338c6, _0xf3aac1 += _0x12b83a[_0x564652(0x63)](0x2, _0x4e19c9) - 0x2; _0x12b83a['tYXYt'](_0x30595f, 0x869);) _0x12b83a[_0x564652(0x80)](0x869, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n function _0x6c9fba() {\n var _0x23db2b = _0x564652;\n for (_0x5358df = _0x37df01[_0x39a85a--], _0x2cfce7 = _0x5cac76(_0x52b4f9, _0x1390aa), _0x5aa74b = '', _0x23270e = _0x1be6f4['q'][_0x3b727d][0x0]; _0x3abcae < _0x1b0bde['q'][_0x425292][0x1]; _0x219b63++) _0x4ce2a2 += _0x9d7c49[_0x23db2b(0x45)](_0x12b83a[_0x23db2b(0x98)](_0x31ab8d, _0x322583['p'][_0x304385]));\n for (_0x127502 += 0x4, _0x278007[_0x4d9bd5--][_0x2eaf43] = _0x397069; _0x4e2c50 > 0xe0c;) 0xe0c === _0x589c7e && (_0x41e04a[_0x3671bd--][_0x57ea2a] = _0x478084[_0x4befae++]), _0x22dc14--;\n }\n }\n } else {\n if (0x49 === _0x30595f) {\n for (; _0x12b83a[_0x564652(0x95)](_0x30595f, 0x16b7);) 0x16b7 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x80)](0x2c, _0x30595f)) {\n for (; _0x30595f > 0xf17;) _0x12b83a[_0x564652(0x80)](0xf17, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a['vvqfG'](0x19, _0x30595f)) {\n for (_0x1d4fa7[++_0x1c5004] = _0x10e5cb(_0x484194, _0xf3aac1), _0xf3aac1 += 0x8; _0x30595f > 0x19dc;) _0x12b83a[_0x564652(0x78)](0x19dc, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x14 === _0x30595f) {\n for (_0x4e19c9 = _0x12b83a[_0x564652(0x1)](_0xd412d2, _0x484194, _0xf3aac1), _0x498cf3[_0x2ab336][0x0] && !_0x498cf3[_0x2ab336][0x2] ? _0x498cf3[_0x2ab336][0x1] = [_0x12b83a['qfwSc'](_0xf3aac1, 0x4), _0x12b83a[_0x564652(0x65)](_0x4e19c9, 0x3)] : _0x498cf3[_0x2ab336++] = [0x0, [_0x12b83a['qfwSc'](_0xf3aac1, 0x4), _0x12b83a[_0x564652(0x2d)](_0x4e19c9, 0x3)], 0x0], _0xf3aac1 += _0x12b83a[_0x564652(0x63)](0x2, _0x4e19c9) - 0x2; _0x12b83a['OCCVJ'](_0x30595f, 0xa3d);) 0xa3d === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x20 === _0x30595f) {\n for (_0x1d4fa7[_0x1c5004] = _0x51cce9(_0x1d4fa7[_0x1c5004]); _0x30595f > 0x17ec;) 0x17ec === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x564652(0x3e) !== 'YAaGs') {\n if (0x0 === _0x30595f) throw _0x1d4fa7[_0x1c5004--];\n if (_0x12b83a[_0x564652(0x8f)](0x4e, _0x30595f)) {\n var _0x25d459 = 0x0,\n _0x42fb78 = _0x1d4fa7[_0x1c5004]['length'],\n _0x28fdfd = _0x1d4fa7[_0x1c5004];\n for (_0x1d4fa7[++_0x1c5004] = function () {\n var _0x20fe2e = _0x564652,\n _0x1bafbb = _0xe4f438[_0x20fe2e(0x22)](_0x25d459, _0x42fb78);\n if (_0x1bafbb) {\n var _0x24e420 = _0x28fdfd[_0x25d459++];\n _0x1d4fa7[++_0x1c5004] = _0x24e420;\n }\n _0x1d4fa7[++_0x1c5004] = _0x1bafbb;\n }; _0x12b83a[_0x564652(0x67)](_0x30595f, 0xcda);) 0xcda === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a['CozeT'](0x12, _0x30595f)) {\n var _0xbd2f50 = _0xfa87b5(_0x484194, _0xf3aac1),\n _0x3c286b = _0x1c5004;\n for (_0x1d4fa7[_0x1c5004 + 0x1] = _0x1d4fa7[_0x3c286b] + _0xbd2f50, _0xf3aac1 += 0x0; _0x12b83a[_0x564652(0x67)](_0x30595f, 0x515);) 0x515 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x39)](0x51, _0x30595f)) {\n for (_0x1d4fa7[_0x1c5004--] ? _0xf3aac1 += 0x4 : _0x12b83a['Awtlv'](_0x4e19c9 = _0xd412d2(_0x484194, _0xf3aac1), 0x0) ? (0x1, _0xf3aac1 += _0x12b83a[_0x564652(0x72)](0x2, _0x4e19c9) - 0x2) : _0xf3aac1 += _0x12b83a['ZYFsA'](_0x12b83a[_0x564652(0x72)](0x2, _0x4e19c9), 0x2); _0x30595f > 0x60d;) 0x60d === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x5a === _0x30595f) {\n for (_0x4e19c9 = _0x12b83a[_0x564652(0x1)](_0x29944e, _0x484194, _0xf3aac1), _0xf3aac1 += 0x4, _0x1d4fa7[_0x1c5004] = _0x1d4fa7[_0x1c5004][_0x4e19c9]; _0x12b83a[_0x564652(0x56)](_0x30595f, 0xb63);) 0xb63 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (0x50 === _0x30595f) {\n for (_0x2f0111 = _0x1d4fa7[_0x1c5004--], _0x1d4fa7[_0x1c5004] = _0x12b83a['qfwSc'](_0x1d4fa7[_0x1c5004], _0x2f0111); _0x12b83a[_0x564652(0x56)](_0x30595f, 0xce5);) 0xce5 === _0x1c5004 && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n } else {\n if (_0x12b83a[_0x564652(0x40)](0x43, _0x30595f)) throw new Error(_0x564652(0x4d) + _0x30595f);\n for (; _0x30595f > 0xe8d;) _0x12b83a[_0x564652(0x1e)](0xe8d, _0x1c5004) && (_0x1d4fa7[_0x1c5004--][_0x1c5004] = _0x1d4fa7[_0x1c5004++]), _0x1c5004--;\n }\n }\n }\n }\n }\n } else {\n function _0x1fe1b3() {\n var _0x58eb4d = _0x564652,\n _0x31617d = {},\n _0x474f20 = 0x0;\n for (var _0x4fa1b5 in _0x16872a) _0x31617d[_0x474f20++] = _0x4fa1b5;\n return _0x31617d[_0x58eb4d(0xf)] = _0x474f20, _0x31617d;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n return [0x0, null];\n }\n }\n\n function _0x1fdc1b(_0x407daf, _0x2b4fe1, _0x1bf090, _0x502aec, _0x2086de, _0x13679c, _0x357cd1, _0x3b8cb1) {\n var _0x44fdd7 = _0x7083c4;\n if ('iJhUX' === _0x44fdd7(0x15)) {\n var _0x3a98c2, _0x43c136;\n _0x12b83a[_0x44fdd7(0x36)](null, _0x13679c) && (_0x13679c = this), _0x2086de && !_0x2086de['d'] && (_0x2086de['d'] = 0x0, _0x2086de['$0'] = _0x2086de, _0x2086de[0x1] = {});\n var _0x121dbc = {},\n _0x210cf9 = _0x121dbc['d'] = _0x2086de ? _0x12b83a[_0x44fdd7(0x5f)](_0x2086de['d'], 0x1) : 0x0;\n for (_0x121dbc[_0x12b83a[_0x44fdd7(0xb)]('$', _0x210cf9)] = _0x121dbc, _0x43c136 = 0x0; _0x43c136 < _0x210cf9; _0x43c136++) _0x121dbc[_0x3a98c2 = '$' + _0x43c136] = _0x2086de[_0x3a98c2];\n for (_0x43c136 = 0x0, _0x210cf9 = _0x121dbc[_0x44fdd7(0xf)] = _0x502aec['length']; _0x43c136 < _0x210cf9; _0x43c136++) _0x121dbc[_0x43c136] = _0x502aec[_0x43c136];\n return _0x3b8cb1 && _0x4fed5f[_0x2b4fe1], _0x4fed5f[_0x2b4fe1], _0x3714b9(_0x407daf, _0x2b4fe1, _0x1bf090, 0x0, _0x121dbc, _0x13679c, null)[0x1];\n } else {\n function _0x417546() {\n var _0x17f3de = _0x44fdd7;\n return _0x2edd65[_0x17f3de(0x2)][_0x17f3de(0x8d)][_0x17f3de(0x8c)](_0x2cbce0[_0x17f3de(0x28)](_0x5956b3, [], function () {\n })), !0x0;\n }\n }\n }\n};\n\n//eval2\nvar _0x5479 = ['_f523010cd8cf5fb75250d1fc2f671c73', 'push', 'EhLkd', '_2b3beb7962f7014c81b260f8aa1890be', 'tFBhT', 'length', '112237xHQyuJ', '8LIglkV', 'Invalid\\x20code\\x20point:\\x20', '_575364e3fbdd1929a75a10a5118cc687', 'FMtAg', 'dCVzD', 'nHBiG', '5ekKZPb', 'XADBI', '184993ShoWTj', 'byRPx', 'zwMfF', '756117jhUodH', '1sUsefP', 'iacYd', '1138479XrELIw', '1087901hELCjO', 'fromCharCode', 'DOGdJ', '_972e441617b5152eab406b3c2c8e25ff', '835795CfxVfq', '706685rELxlJ', 'sVNOf', 'XolAc', 'UzJLB'];\nvar _0x55e4 = function (_0x5a83dc, _0x547951) {\n _0x5a83dc = _0x5a83dc - 0x0;\n var _0x55e409 = _0x5479[_0x5a83dc];\n return _0x55e409;\n};\nvar _0x4d6a1b = _0x55e4;\n(function (_0xf55a6c, _0x4256ee) {\n var _0x17d3cf = _0x55e4;\n while (!![]) {\n try {\n var _0xa70d40 = -parseInt(_0x17d3cf(0x8)) * -parseInt(_0x17d3cf(0x7)) + -parseInt(_0x17d3cf(0x16)) + parseInt(_0x17d3cf(0x17)) + -parseInt(_0x17d3cf(0x1c)) + -parseInt(_0x17d3cf(0x14)) * -parseInt(_0x17d3cf(0x1b)) + -parseInt(_0x17d3cf(0xe)) * parseInt(_0x17d3cf(0x10)) + parseInt(_0x17d3cf(0x13));\n if (_0xa70d40 === _0x4256ee)\n break;\n else\n _0xf55a6c['push'](_0xf55a6c['shift']());\n } catch (_0x50a5e0) {\n _0xf55a6c['push'](_0xf55a6c['shift']());\n }\n }\n}(_0x5479, 0xc529c));\n\nfunction _d1b4df64eb152aa1d24e82f9bd0bfe7b(_0x1acabb, _0x456f43) {\n var _0x106df0 = _0x55e4;\n let _0x1e2b8c = '';\n for (let _0x3e16ea = _0x1acabb; 0x0 != new Uint8Array(_0x456f43)[_0x3e16ea]; _0x3e16ea++)\n _0x1e2b8c += String[_0x106df0(0x18)](new Uint8Array(_0x456f43)[_0x3e16ea]);\n return _0x1e2b8c;\n}\n\nfunction _7140998d8f99c8324e0fcd817edff9b2(_0x139611) {\n var _0x131c86 = _0x55e4\n , _0x434b65 = {\n 'WcjOV': function (_0x2fdad2, _0x11de5b) {\n return _0x2fdad2 % _0x11de5b;\n },\n 'iacYd': function (_0x54f135, _0x47d7a2) {\n return _0x54f135 / _0x47d7a2;\n }\n }\n , _0x1cdab2 = 0x0 | _0x139611;\n if (_0x1cdab2 < 0x80)\n return [_0x1cdab2];\n var _0x3621ec = _0x434b65['WcjOV'](_0x1cdab2, 0x80)\n , _0x1b667f = _0x434b65[_0x131c86(0x15)](_0x1cdab2 - _0x3621ec, 0x80)\n , _0x7a6865 = [];\n return _0x7a6865[_0x131c86(0x2)](_0x3621ec + 0x80, 0x7f & _0x1b667f),\n _0x7a6865;\n}\n\nfunction _6e8d40c844a972a6429074a59f678907(_0x496cdc) {\n var _0x5dd132 = _0x55e4\n , _0x5e2e3a = {\n 'wxcvd': function (_0x5266f7, _0x46cb26) {\n return _0x5266f7 & _0x46cb26;\n }\n }\n , _0x4a0480 = _0x496cdc >>> 0x0;\n if (_0x4a0480 < 0x4000)\n return _7140998d8f99c8324e0fcd817edff9b2(_0x4a0480);\n var _0x2eac01 = [];\n do {\n if (_0x5dd132(0x5) === 'tFBhT') {\n var _0x56ce93 = 0x7f & _0x4a0480;\n (_0x4a0480 >>>= 0x7) && (_0x56ce93 |= 0x80),\n _0x2eac01['push'](_0x56ce93);\n } else {\n function _0x35bd24() {\n for (var _0xdc4172 = 0x0, _0x139652 = 0x0; _0x139652 < _0x520d19['length']; _0x139652++)\n _0xdc4172 = _0x5e2e3a['wxcvd'](_0xdc4172 + (_0x28b208[_0x139652] & _0x4b3f49), 0xff);\n return _0xdc4172;\n }\n }\n } while (_0x4a0480);\n return _0x2eac01;\n}\n\nfunction _575364e3fbdd1929a75a10a5118cc687(_0x362fcb) {\n var _0x3d21ce = _0x55e4;\n for (var _0x1e626c = 0x0, _0x58bacc = 0x0; _0x58bacc < _0x362fcb[_0x3d21ce(0x6)]; _0x58bacc++)\n _0x1e626c = _0x1e626c + (0xe9 & _0x362fcb[_0x58bacc]) & 0xff;\n return _0x1e626c;\n}\n\nfunction _972e441617b5152eab406b3c2c8e25ff(_0x17d27e, _0x3f568d) {\n var _0x17f238 = _0x55e4\n , _0x5ce91f = {\n 'UzJLB': function (_0x32e788, _0x38e84a) {\n return _0x32e788 < _0x38e84a;\n }\n };\n for (var _0x914ea2 = 0x0, _0x259971 = 0x0; _0x5ce91f[_0x17f238(0x0)](_0x259971, _0x17d27e[_0x17f238(0x6)]); _0x259971++)\n _0x914ea2 = _0x914ea2 + (_0x17d27e[_0x259971] & _0x3f568d) & 0xff;\n return _0x914ea2;\n}\n\nfunction _2b3beb7962f7014c81b260f8aa1890be() {\n var _0x2d2326 = {\n 'zYdkX': function (_0x43e7ad, _0x5c56da) {\n return _0x43e7ad == _0x5c56da;\n }\n };\n const _0x2055b1 = new function () {\n eval('this[\\'a\\'] = 2;');\n }\n ();\n return _0x2d2326['zYdkX'](!0x0, !_0x2055b1['a']);\n}\n\nfunction _2d6b4518857b5d2355e5bd9809691b44(_0x543826, _0x3993fb) {\n var _0x3f7c9e = _0x55e4\n , _0x1bf349 = {\n 'XADBI': function (_0x298685, _0x585396) {\n return _0x298685 + _0x585396;\n },\n 'ySAch': function (_0x30fb04, _0x21db63) {\n return _0x30fb04 < _0x21db63;\n },\n 'zwMfF': 'ZIhrN',\n 'FMtAg': function (_0x382aae, _0x546bf) {\n return _0x382aae <= _0x546bf;\n },\n 'EhLkd': function (_0x434164, _0x204d91) {\n return _0x434164 & _0x204d91;\n },\n 'sVNOf': function (_0x19f010, _0x160df0) {\n return _0x19f010 >> _0x160df0;\n },\n 'DOGdJ': function (_0x528411, _0x4d6e02) {\n return _0x528411 | _0x4d6e02;\n },\n 'XolAc': function (_0x7e49ef, _0x543b8f) {\n return _0x7e49ef & _0x543b8f;\n },\n 'nHBiG': function (_0x16b1fb, _0x3d4192) {\n return _0x16b1fb | _0x3d4192;\n },\n 'tPlMb': function (_0xfd6cc0, _0x3fbacd) {\n return _0xfd6cc0 | _0x3fbacd;\n },\n 'dCVzD': function (_0x45d0a5, _0x5c2c91) {\n return _0x45d0a5 & _0x5c2c91;\n }\n };\n for (var _0x922e84 = [], _0x4a3e21 = 0x0; _0x1bf349['ySAch'](_0x4a3e21, _0x543826['length']); _0x4a3e21 += _0x3993fb) {\n if (_0x1bf349[_0x3f7c9e(0x12)] === 'SCMie') {\n function _0x48cef0() {\n var _0x1ae327 = _0x3f7c9e;\n for (var _0x2061b9 = 0x0, _0xd2b865 = 0x0; _0xd2b865 < _0x12548c[_0x1ae327(0x6)]; _0xd2b865++)\n _0x2061b9 = _0x1bf349[_0x1ae327(0xf)](_0x2061b9, 0x21 & _0x588673[_0xd2b865]) & 0xff;\n return _0x2061b9;\n }\n } else {\n var _0x4f3d04 = _0x543826['charCodeAt'](_0x4a3e21);\n if (_0x1bf349[_0x3f7c9e(0xb)](_0x4f3d04, 0x7f))\n _0x922e84[_0x3f7c9e(0x2)](_0x4f3d04);\n else {\n if (_0x1bf349['FMtAg'](_0x4f3d04, 0x7ff))\n _0x922e84[_0x3f7c9e(0x2)](0xc0 | _0x4f3d04 >> 0x6),\n _0x922e84[_0x3f7c9e(0x2)](0x80 | _0x1bf349[_0x3f7c9e(0x3)](0x3f, _0x4f3d04));\n else {\n if (_0x4f3d04 <= 0xffff)\n _0x922e84['push'](0xe0 | _0x1bf349[_0x3f7c9e(0x1d)](_0x4f3d04, 0xc)),\n _0x922e84[_0x3f7c9e(0x2)](_0x1bf349[_0x3f7c9e(0x19)](0x80, _0x1bf349[_0x3f7c9e(0x1e)](_0x1bf349[_0x3f7c9e(0x1d)](_0x4f3d04, 0x6), 0x3f))),\n _0x922e84[_0x3f7c9e(0x2)](0x80 | 0x3f & _0x4f3d04);\n else {\n if (!(_0x4f3d04 <= 0x10ffff))\n throw new Error(_0x3f7c9e(0x9) + _0x4f3d04);\n _0x922e84['push'](_0x1bf349[_0x3f7c9e(0xd)](0xf0, _0x4f3d04 >> 0x12)),\n _0x922e84[_0x3f7c9e(0x2)](0x80 | _0x1bf349[_0x3f7c9e(0x1d)](_0x4f3d04, 0xc) & 0x3f),\n _0x922e84[_0x3f7c9e(0x2)](_0x1bf349['tPlMb'](0x80, _0x1bf349[_0x3f7c9e(0xc)](_0x4f3d04 >> 0x6, 0x3f))),\n _0x922e84[_0x3f7c9e(0x2)](0x80 | 0x3f & _0x4f3d04);\n }\n }\n }\n }\n }\n return new Uint8Array(_0x922e84);\n}\n\nfunction _f523010cd8cf5fb75250d1fc2f671c73(_0xe64b03) {\n var _0x1e8b75 = _0x55e4\n , _0x1447ab = {\n 'SypXu': function (_0x2c06b2, _0x202073) {\n return _0x2c06b2 < _0x202073;\n },\n 'byRPx': function (_0x429066, _0x56585f) {\n return _0x429066 + _0x56585f;\n }\n };\n for (var _0xffa0f2 = 0x0, _0x29f84f = 0x0; _0x1447ab['SypXu'](_0x29f84f, _0xe64b03[_0x1e8b75(0x6)]); _0x29f84f++)\n _0xffa0f2 = _0x1447ab[_0x1e8b75(0x11)](_0xffa0f2, 0x21 & _0xe64b03[_0x29f84f]) & 0xff;\n return _0xffa0f2;\n}\n\nvar _e0c26a2a191851217a8ed324fc1d568d = globalThis;\n_e0c26a2a191851217a8ed324fc1d568d['_d1b4df64eb152aa1d24e82f9bd0bfe7b'] = _d1b4df64eb152aa1d24e82f9bd0bfe7b,\n _e0c26a2a191851217a8ed324fc1d568d['_6e8d40c844a972a6429074a59f678907'] = _6e8d40c844a972a6429074a59f678907,\n _e0c26a2a191851217a8ed324fc1d568d[_0x4d6a1b(0xa)] = _575364e3fbdd1929a75a10a5118cc687,\n _e0c26a2a191851217a8ed324fc1d568d[_0x4d6a1b(0x1a)] = _972e441617b5152eab406b3c2c8e25ff,\n _e0c26a2a191851217a8ed324fc1d568d[_0x4d6a1b(0x4)] = _2b3beb7962f7014c81b260f8aa1890be,\n _e0c26a2a191851217a8ed324fc1d568d['_2d6b4518857b5d2355e5bd9809691b44'] = _2d6b4518857b5d2355e5bd9809691b44,\n _e0c26a2a191851217a8ed324fc1d568d[_0x4d6a1b(0x1)] = _f523010cd8cf5fb75250d1fc2f671c73;\nvar __$c = '56544b424251464d001f320474df1decedf402a0000000000002ed4c22000011001c570000240001240002240003042400041b5700013100014b3f380003220000110046570001240005042400061b2200073100014b530027510005403f0c015a0003255700005700013100024b380006570006042400061b2200083100014b53005301262a3f3800042200001100270c015a00042557000057000024000924000a3100024b51000607000a0c01530144000b3f38000522000011009b0c005a0002240002240003042400031b3100004b0424000c1b2200083100014b38000657000651000607000a0c01530144000b36000314000e583800a00c01530144000b0b00530c005a00030424000d1b0c005a00022400022400032400030c005a00022400022400033100003100034b380007570007042400061b2200083100014b53005301262a51000607000a0c01530144000b4d3f38000622000011006a0c005a000424000224000c042400031b3100004b0424000c1b2200083100014b38000657000651000607000a0c01530144000b0c005a000524000224000c042400031b3100004b0424000c1b2200083100014b38000757000751000607000a0c01530144000b3f38000722000011007922000e050a4a1c5100560c01530144000b1053013800060c005a000224000224000f51000a570006473800060c005a00062522000011001d0d0c005a000224000224000f51000d0c0204240010474400103f3a012c3100024b1707001b0a042400031b3100004b2200112a51000a0c0153014400123f38000822000011004b0c005a000722000011003d0c005a0006252200001100280c015a000a250c025a00000c025a00010c025a00023100034b170c035a00002200132e173f3a012c3100024b173f13013f3800092200001102ec0c005a00081300530026380006190000bcdd3800073a00f83800083a179e380009532938000a3a05e738000b537438000c3a02f438000d3a00e238000e3a017a38000f5700075700012400142a5100530c0153014400120d53013800100c005a000224000224000f51000a570010473800100c005a00062522000011001d4c0c005a000224000224000f51000d0c0204240015474400153f3a012c3100024b175300380011530038001257000253082a51002557000253202a51002b57000253402a5100315700023a00802a51003607004207003f57000838001157000938001207003057000a38001157000b38001207002157000c38001157000d38001207001257000e38001157000f3800120700035700125300275100530c0153014400120153013800100c005a000224000224000f51000a570010473800100c005a00062522000011001d0d0c005a000224000224000f51000d0c0204240015474400153f3a012c3100024b170c010c005a0009220016234400170c015a0015042400181b2200001100180a042400191b0c025a00010c025a00023100024b3f3100014b0424001a1b2200001100cc5700003800065700062400143800070c015a0015042400181b2200001100130a0424001b1b0c035a00063100014b3f3100014b0424001a1b2200001100885700003800060c025a0011570006270451000f170c025a00120c035a0007275100060700620c0153014400120c025a00002200001100043f44001c4c53013800070c005a000224000224000f51000a570007473800070c005a00062522000011001d370c005a000224000224000f51000d0c040424001d4744001d3f3a012c3100024b173f3100014b173f3100014b170c005a00081300530026570006263800135700133a03e8530a281e5100530c0153014400120e53013800100c005a000224000224000f51000a570010473800100c005a00062522000011001d100c005a000224000224000f51000d0c0204240015474400153f3a012c3100024b173f38000a22000011024057000024001c380006055700064a22001e2a5100530c0153014400123753013800070c005a000224000224000f51000a570007473800070c005a00062522000011001d020c005a000224000224000f51000d0c020424001d4744001d3f3a012c3100024b1722001f380008055700064a22000e2a510012570006042400031b3100004b380008570008042400201b2200213100014b24001438000957000953011e5100530c0153014400120d53013800070c005a000224000224000f51000a570007473800070c005a00062522000011001d4c0c005a000224000224000f51000d0c020424001d4744001d3f3a012c3100024b175700080424000c1b2200223100014b5100530c0153014400120d53013800070c005a000224000224000f51000a570007473800070c005a00062522000011001d010c005a000224000224000f51000d0c020424001d4744001d3f3a012c3100024b175700080424000c1b2200233100014b5100530c0153014400120253013800070c005a000224000224000f51000a570007473800070c005a00062522000011001d100c005a000224000224000f51000d0c020424001d4744001d3f3a012c3100024b170c015a0009255700005700085700013100034b0424001a1b2200001100043f3100014b042400241b2200001100540c0153014400120153013800060c005a000224000224000f51000a570006473800060c005a00062522000011001d4c0c005a000224000224000f51000d0c0304240010474400103f3a012c3100024b173f3100014b173f38000b2200001100a70c005a000813005300263800060c015a00085700002e170c015a00075700002e170c015a00065700002e170c015a00055700002e170c005a00081300530026570006263800075700073a03e8530a281e5100530c01530144000b4c53013800080c005a000224000224000f51000a570008473800080c005a00062522000011001d0d0c005a000224000224000f51000d0c0204240025474400253f3a012c3100024b173f38000c2200001100140c015a000b2557000053203100024b173f38000d2200001100900c005a000813005300263800060c015a000c5700002e170c005a00081300530026570006263800075700073a03e8530a281e5100530c01530144000b3053013800080c005a000224000224000f51000a570008473800080c005a00062522000011001d010c005a000224000224000f51000d0c0204240025474400253f3a012c3100024b170c0153014400263f38000e2200001100250c005a0006252200001100100c015a000e0c025a00002e173f3a1b583100024b173f38000f2200001102742200001100ba0c005a000b042400271b3100004b3800060c005a000b042400271b3100004b5700062653083d0451000f170c025a000624001453001e5100660c025a0006042400281b3100004b38000736000314002058380012570007240029510013570007042400291b5700123100014b170b002c5700070424002a1b3100004b38000857000724002b5100135700070424002b1b5700083100014b174d07ff780c025a000624001453001e51000f0c005a000c0c025a000c2e173f38000b2200001100800c025a00071a510063050c005a000d4a22001e275100400c005a000d2200001100305700000424002c1b3100004b53051e5100110c025a000b253100004b1707000f0c005a000c0c025a000c2e173f2e170700150c005a0006250c025a000b53323100024b170700160c005a0006250c025a000c3a03e83100024b173f38000c310000380006403800072538000822002d22002e22002f220030310004380009530038000a57000a5700092400143d5100570a042400311b57000957000a232200001100350c021844001d0c005a000a0c025a00082e170c020c005a00062522000011000a0c024044001d3f3a03e83100024b4400253f3100024b1757000a4738000a07ffa20a2400321300042200001100390c025a0006042400331b0a24003213000457000044002a3100014b170c025a000624001453012751000e0c025a000c253100004b173f440034042200001100570c005a00072200001100490c025a0006042400331b0a2400321300040c035a000044002a0457000044002b045700014400293100014b170c025a000624001453012751000e0c025a000c253100004b173f13013f4400183f380010220000110057310000380006570006042400351b0c015a00113100014b380006570006042400331b0c015a00003100014b17570006042400331b0c015a00013100014b17570006042400331b0c015a00023100014b175700063f3800122200001101805700000c015a00165301525700000c015a00175300525700000c015a00185300525700000c015a00195300525700000c015a001a5300525700000c015a001b40525700000c015a001c5300525700000c015a001f5300525700000c015a001d5300525700000c015a001e5300525700000c015a00205300525700000c015a002140525700000c015a00225300525700000c015a00235300525700000c015a002440525700000c015a00255303525700000c015a002625525700000c015a002c570001525700000c015a002d0c005a0009525700000c015a002b5300525700000c015a002840525700000c015a002e405257000153004400365700010c005a000f4400375700010c005a000f44003857000153004400395700010c005a000f44003a57000122003b23220031233800065700000c015a0029570006525700000c015a00305300525700000c015a00315300525700000c015a00325300525700000c015a00335300525700000c015a00345300525700000c015a003540523f3800362200001100c657000053004400360c005a000b042400271b3100004b38000657000022003c235100860c015a0079255700000c015a00772200001100330c005a000b042400271b3100004b3800060c025a000053014400360c015a004e252200002200003a27103100034b173f2200001100340c025a000053024400360c015a004e250c005a001057000024003d2e0c005a001057000024003e2e3a27113100034b173f3100044b1707001f57000053034400360c015a004e252200002200003a27123100034b173f38003722000011001b0c015a007f250a0a24003f570000193332ecaf3100044b3f38003822000011002f220040380006220041380007570006570007503800080c015a007c250a0a24003f5700085700003100044b3f3800392200001100140a042400421b5700002200433100024b3f38003a22000011002a220044380006220045380007570006570007503800080a042400461b5700005700083100024b3f38003b22000011005a57000124003953012a51004d5700005301275100255700010c015a00384400375700010c015a00394400385700012200474400480700225700010c015a003a4400375700010c015a003b4400385700012200494400483f38003c22000011023053733a00f85353536653673a00c93a00b53a00835363535e530453443a00fa3a0084531531000f380006310000380007570007042400331b53013100014b17570007042400331b5700000c015a0027235700065300233b3100014b17570007042400331b5700012400365700065301233b3100014b173a00ff38000822004a570001540451000b172200395700015451001d570001240039530f3553041d57000122004a23530f353c380008570007042400331b5700085700065302233b3100014b17570007042400331b5700000c015a0016235700065303233b3100014b17570007042400331b5700000c015a0017235700065304233b3100014b17570007042400331b5700000c015a0018235700065305233b3100014b17570007042400331b5700000c015a0019235700065306233b3100014b17570007042400331b5700000c015a001a235700065307233b3100014b17570007042400331b5700000c015a001d235700065308233b3100014b17570007042400331b5700000c015a001e235700065309233b3100014b17570007042400331b5700000c015a002523570006530a233b3100014b17570007042400331b5300570006530b233b3100014b17570007042400331b5700000c015a002023570006530c233b3100014b17570007042400351b5300570006530d233b5300570006530e233b3100023100014b38000757000124003a5100215700010424003a1b5700073100014b3800095700095100095700093800075700073f38003d2200001105f20c005a00050424004b1b0c005a001113000424004c1b5700003100014b3100014b3800065700062400143800070c005a000813005300263800083100003800090c015a00745700022e170c015a002f51027e5700020c015a00172353002a51026f5700020c015a00233a07d152530038000c0c005a000224000224000f51000c57000c53025038000c57000c0c005a000e0424004d1b0c005a000e0424004e1b3100004b41004f283100014b5038000c57000c0c005a000e0424004d1b0c005a000e0424004e1b3100004b41004f283100014b5038000c57000c0c005a000e0424004d1b0c005a000e0424004e1b3100004b41004f283100014b5038000c57000c0c005a000e0424004d1b0c005a000e0424004e1b3100004b41004f283100014b5038000c57000c0c005a000e0424004d1b0c005a000e0424004e1b3100004b41004f283100014b5038000c57000c0c005a000e0424004d1b0c005a000e0424004e1b3100004b41004f283100014b5038000c57000c0c005a000e0424004d1b0c005a000e0424004e1b3100004b41004f283100014b5038000c1657000c0c005a000e0424004d1b0c005a000e0424004e1b3100004b41004f283100014b5038000c57000c0c005a000e0424004d1b0c005a000e0424004e1b3100004b41004f283100014b5038000c57000c0c005a000e0424004d1b0c005a000e0424004e1b3100004b41004f283100014b5038000c57000c0c005a000e0424004d1b0c005a000e0424004e1b3100004b41004f283100014b5038000c57000c0c005a000e0424004d1b0c005a000e0424004e1b3100004b41004f283100014b5038000c57000c0c005a000e0424004d1b0c005a000e0424004e1b3100004b41004f283100014b5038000c530138000d0c005a000224000224000f51000a57000d4738000d0c005a00062522000011001d2d0c005a000224000224000f51000d0c0204240050474400503f3a012c3100024b170c005a000e0424004d1b0c005a000e0424004e1b3100004b41004f283100014b38000e57000e3a00ff3538000f5700020c015a002757000f5257000f5302345100100c015a005c5700022e1707000d0c015a005d5700022e170c015a006a5700022e170c015a006e5700022e170c015a00675700022e17570009042400351b53775368536053293100043100014b380009570009042400351b0c015a004457000e2e3100014b380009570009042400351b0c015a0048255700085700023100024b3100014b38000957000322005123041a51000717220052380010570009042400351b0c015a00465700102e3100014b3800095700020c015a002223380011570011473800110c015a00445700112e380012570009042400351b5700123100014b3800095700020c015a0022570011520c015a00755700022e170c015a0073253100004b3800130c015a00445700132e380014570009042400351b5700143100014b3800090c015a00445700072e380015570009042400351b5700153100014b3800090c015a00432557000157000f3100024b042400531b530053083100024b380016570009042400351b5700163100014b3800090c015a00412200542e38001757000322005523041a510007172200563800185700175100095700170700062200563800175700185100095700180700062200563800180c005a00050424004b1b570003042400571b5700173100014b3100014b3800190c005a00050424004b1b570003042400571b5700183100014b3100014b38001a570003042400581b5700192400143100014b38001b57001b042400351b5700193100014b38001c570003042400581b57001a2400143100014b38001d57001d042400351b57001a3100014b38001e570009042400351b57001c3100014b380009570009042400351b57001e3100014b3800090c015a003d255700025700033100024b38001f570009042400351b57001f3100014b380009570003042400371b5700093100014b38000a570003042400381b57000a3100014b38000b0c005a00081300530026570008263800205700203a03e8530a281e5100105700020c015a00233a07d2520d57000b3f38003e2200001100c52200003800060c015a003c255700032400365700033100024b1757000324004822005950380006360003140050583800285700062200005700020c015a00172350503800060c015a004e250c005a001057002824003d2e0c005a001057002824003e2e5700020c015a0023235700020c015a0017233100044b170b00440c015a003e255700005700015700025700033100044b380007570007510010570006570007503800060700175700062200005700020c015a00172350503800064d5700063f38003f2200001100950c015a00375700012e170c015a0036255700005700013100024b170c015a005c5700002e170c015a005d5700002e170c015a00725700002e170c015a00645700002e170c015a00685700002e170c015a006a5700002e170c015a006e5700002e170c015a00745700002e170c015a00655700002e175700000c015a00240c015a004b22005a2e520c015a00835700012e173f3800402200001100460c005a001222005b5700005022005c5013013800070c005a001324005d0424005e1b5700073100014b380006585100130c005a00145700065302232e3f070005253f3f38004122000011005331000038000653003800075700075700003d51003a570006042400331b0c005a000e0424004d1b0c005a000e0424004e1b3100004b3a0100283100014b3100014b175700074738000707ffc25700063f3800422200001100845700000c005a000f2751000c0c015a004253102e3f57000024001453023453002a5100041631000038000653003800075700075700002400143d5100430c005a0015255700000424005f1b57000753023100024b53103100024b380008570006042400331b5700085700013b3100014b1757000753025038000707ffb65700063f3800432200001100500c005a00055304130138000657000653005700003a00ff3552570006530157000053082b3a00ff3552570006530257000053102b3a00ff3552570006530357000053182b3a00ff35525700063f3800442200001100ae0c005a0005530813013800060c005a000e0424004d1b5700004100600f3100014b38000757000053002b38000857000653005700083a00ff3552570006530157000853082b3a00ff3552570006530257000853102b3a00ff3552570006530357000853182b3a00ff355257000653045700073a00ff3552570006530557000753082b3a00ff3552570006530657000753102b3a00ff3552570006530757000753182b3a00ff35525700063f38004522000011000d0c015a00455700002e3f38004622000011003e530038000653003800075700075700002400143d510023570006570000570007233a00e935503a00ff353800065700074738000707ffd65700063f3800472200001102be0c005a0005530813013800060c005a000e0424004d1b5700004100600f3100014b38000757000053002b38000853003800095700083a00ff3538000a57000853082b3a00ff3538000b57000957000b503a00ff3538000957000853102b3a00ff3538000c57000957000c503a00ff3538000957000853182b3a00ff3538000d57000957000d503a00ff353800095700073a00ff3538000e57000957000e503a00ff3538000957000753082b3a00ff3538000f57000957000f503a00ff3538000957000753102b3a00ff35380010570009570010503a00ff3538000957000753182b3a00ff35380011570009570011503a00ff35380009570006530057000a53293b52570006530157000b53293b52570006530257000c53293b52570006530357000d53293b525700062400145308270451000d175700010c015a002b2351014a3600031400955838006e5700010c015a00282340275100041253013800150c005a000224000224000f51000a570015473800155700010c015a002e53012623182751000f570006530057000953293b5257000653002357000653012350570006530223505700065303235038001353013800150c005a000224000224000f51000a570015473800155700155700010c015a002b23503800130b00a35300510012570006530357000d53273b5207ffef5700010c015a002c233800125700122400610424004b1b534353783a009153323100043100014b380013570012240061240062042400031b3100004b3800145700010c015a002e231827045100071757001451000f570006530457000e53293b5253013800150c005a000224000224000f51000a570015473800155700155700010c015a002b23503800134d5700010c015a002a57001352570006530457000e53293b52570006530557000f53293b52570006530657001053293b52570006530757001153293b525700063f3800482200001100850c005a00162400633800065700060424000c1b2200643100014b5100072200653f5700060424005e1b0a24006622006722006813023100014b5100072200693f5700060424005e1b0a24006622006a22006813023100014b51000722006b3f5700060424005e1b0a24006622006c22006813023100014b51000722006d3f22006e3f3800492200001100120c015a0049253100004b22006e273f38004a2200001101a00a24006f1a1a041a51000a170a2400701a1a380006050c005a00174a22000e2a041a51000a170a2400711a1a380007050a2400724a22000e270451000e17050a2400734a22000e270451001217050c005a00162400744a22000e27041a51001d170a2400662200752200681302042400761b0a2400773100014b041a51002a170a2400780451000b170a240078240079041a51000717220000042400031b3100004b22007a2738000840041a51000e170c005a001324007b1a1a3800095700091a0451000a170a24007c1a1a0451000a170a24007d1a1a041a510018170a24003b1a1a0451000d170a24003b24007b1a1a041a510028170a24007e240063042400061b22007f3100014b53005301261e0451000a170a24005a1a1a38000a0a24005a1a1a04510008175700061a045100081757000a1a38000b57000022005a2751000a57000b3f0700555700002200782751000a5700083f0700445700002200802751000a5700093f0700335700002200812751000a5700073f0700225700002200822751000a57000a3f070011570000220070275100075700063f3f38004b2200001100560c005a0013042400831b2200843100014b3800060c005a001813003800075700064e380009570009052e510025380008570007042400851b570008240086042400871b3100004b3100014b1707ffd95700073f38004c2200001100130c005a00192200881301253100004b3f38004d2200001101830c005a0002042400891b0c005a001324005d042400201b22008a3100014b0424008b1b220000110013570000042400201b22008c3100014b3f3100014b3100014b22005523041a51000517253800060c005a0002042400891b0c005a001324005d042400201b22008a3100014b0424008b1b220000110013570000042400201b22008c3100014b3f3100014b3100014b22008d23041a51000517253800070c005a001a13003800085700080424008e1b22008f220090183100034b17570008042400911b2200922200933100024b17570008042400911b2200942200953100024b170c005a001b042400961b0a2400321300042200974400980422009944009a0422009b44009c040a24009d24009e44009f040a24007e2400634400a0040a24007e2400a14400a2040a2400321300045700004400a30457000144003e045700064400a404570003220000504400a5040a2400484400a6045700074400a7045700024400a84400a93100014b380009570008042400aa1b5700093100014b173f38004e22000011003a57000253052b57000153021d3b57000153032b57000253041d3b505700005700013b5700055700035303355700043b235700023b503b3f38004f22000011002b193c6ef3733800065700005700065038000057000053022b5303353800075700075700003100023f380050220000110032570001042400531b530053203100024b3800060c005a00192200a82200ab2200ac1303255700005700063100024b3f38005122000011001f0c005a00192200ad2200ae2200af1303255700005700013100024b3f38005222000011001f0c005a00192200ae2200ad2200b01303255700005700013100024b3f3800532200001100150c005a00192200ae2200b113025700002e3f38005422000011001f0c005a00192200ad2200a82200b21303255700005700013100024b3f3800552200001100150c005a00192200a32200b313025700002e3f38005622000011008f2200b43800062200b53800072200b6380008570001042400531b530053023100024b57000750570001042400531b5302530c3100024b503800095700065700075057000850380009570001042400531b530853063100024b57000650570008042400531b530253083100024b5038000a0c005a00192200a82200ad2200b71303255700005700093100024b3f3800572200001100150c005a00192200592200b813025700002e3f3800582200001100150c005a00192200ad2200b913025700002e3f38005922000011004b403800060c015a004a253100004b5100365700002200ba235700002200bb23263a00aa1e041a510017175700002200bc235700002200bd23263a00aa1e510007183800065700063f38005a220000110062403800063600031400455838000e0c005a0002042400be1b57000e22003e0a24003213000422000011000a0c02184400103f4400bf3100034b170c005a00192200a32200c0130257000e2e170b000f0c005a001c2200001301004d5700063f38005b22000011004a5700000c015a002c233800065700000c015a001623530027510005183f403800070c015a005b253100004b5100071838000757000751000e5700000c015a00165300525700073f38005c2200001100565700000c015a001823530127510005183f403800060c015a005e253100004b380007570007533f2a5100125700000c015a0018530152183800065700000c015a002b5700000c015a001723530350525700063f38005d22000011028e2200001100405700002400c13800065700065100305700062400c238000757000653644400c257000613003800085700065700074400c257000824003e220000503f3f3800060a2400321300042200c34400c4042200c34400c5042200c34400c6042200c34400c73800073100003800082200c33800092200c338000a2200c338000b2200c338000c537f38000d5700060a2e38000e0a2400662200c82200001302042400c91b57000e3100014b38000f57000f51000f57000757000f5300234400c557000e5100ab57000e042400ca1b0a2400662200cb2200cc13022200213100024b042400ca1b0a2400662200cd2200cc13022200003100024b042400201b0a2400662200ce2200cc13023100014b38001057001024001438000d570010530023041a510007172200cf0424005f1b53003a00803100024b38000957001057000d53012623041a51000e1757001057000d53022623041a510007172200cf0424005f1b53003a00803100024b38000a57000757000a4400c45700075700094400c757000a38000b57001157000b045100191757000b042400061b2200d03100014b53005301261e1a53001d3c38001157001157000b045100191757000b042400061b2200d13100014b53005301261e1a53011d3c38001157001157000b045100191757000b042400061b2200d23100014b53005301261e1a53021d3c38001157001157000b045100191757000b042400061b2200d33100014b53005301261e1a53031d3c38001157001157000b045100191757000b042400061b2200d43100014b53005301261e1a53041d3c38001157001157000b045100191757000b042400061b2200d53100014b53005301261e1a53051d3c38001157000051000b5700005700112e175700113f38005e2200001100b136000314000b58380099403800070b009c0c005a00162400d6380006403800070c005a00162400d7402a51000a1838000707000e0c005a00162400d73800072200d70c005a0016540451000b172200d7570006543800085700081a5100095700083800070c005a00160451001a170c005a0002042400d81b0c005a00162200d73100024b0451001d170c005a0002042400d81b0c005a00162200d73100024b2400bf510007183800074d5700073f38005f22000011011a5700003800060c005a00133800075700072400d93800082200d757000654041a51000b172200da57000654041a51000b172200db57000654041a51000b172200dc57000654041a51000b172200dd57000754041a51000b172200de57000754041a51000b172200df57000754041a51000b172200e057000754041a51000b172200e157000754041a51000b172200e257000754041a51000b172200e357000754041a51000b172200e457000754041a51000b172200e557000754041a51000b172200e657000754041a5100151725570008042400e71b2200e83100014b2a041a5100151725570008042400e71b2200d73100014b2a041a5100151725570008042400e71b2200e93100014b2a510008183f070005403f3f3800602200001100c85700003800062200ea5700065404510011175700062200ea230c005a000f2a510005183f2200eb57000654041a51000b172200ec57000654041a51000b172200ed57000654041a51000b172200ee57000654041a51000b172200ef57000654041a51000b172200f057000654041a51000b172200f157000654041a51000b172200f257000654041a51000b172200f357000654041a51000b172200f457000654041a51000b172200f557000654041a51000b172200f657000654510008183f070005403f3f3800612200001100345700000c015a00242351002636000314000958380012183f0b00170c005a00162400f72400f8530027510005183f4d403f380062220000110005403f3800632200001100ab5700000c015a002c233800065700000c015a00192353002a510005183f53003800070c015a005f5700062e51000f570007530153001d3c3800070c015a00605700062e51000f570007530153011d3c3800070c015a00615700062e51000f570007530153021d3c3800070c015a00625700002e51000f570007530153031d3c3800070c015a00635700062e51000f570007530153041d3c3800075700000c015a001957000752403f3800642200001100cd5700000c015a002c2338000653003800073600031400075838003f0b00a122005a5700065451002f57000622005a233800085700080451000f172200f90c005a001d54402751000f570007530153001d3c3800075700000c015a002123402751005c0c005a00162400fa042400fb1b0a2400321300042200fc4400053100014b0424001a1b2200001100245700002400fd2200fe275100160c025a00000c015a00201523530153011d3c523f3100014b175700000c015a002118524d5700000c015a002057000752403f3800652200001100260c015a004d253100004b380006570006042400ff1b2201003100014b510005183f403f3800662200001100845700000c015a00332353001e04510010175700000c015a00342353001e04510017175700000c015a0033235700000c015a0034233251004b0c005a000e042401011b5700000c015a0033235700000c015a003423263100014b38000657000653023d04510010175700000c015a00312353143d51000d5700000c015a003518523f3800672200001101a95700000c015a0029233800065700062522002d2200001100610c025a00000c015a001c53015257000024010240275100160c025a00000c015a001f1523530153001d3c520c025a00000c015a00310c025a00000c015a003123530150520c025a00000c015a00340c005a000b042400271b3100004b523f3100024b175700062522010322000011002f0c025a00000c015a001c53015257000024010240275100160c025a00000c015a001f1523530153011d3c523f3100024b175700062522002f22000011003b57000024010240275100160c025a00000c015a001f1523530153021d3c520c025a00000c015a00320c025a00000c015a003223530150523f3100024b175700062522010422000011002257000024010240275100160c025a00000c015a001f1523530153031d3c523f3100024b17570006252200302200001100610c025a00000c015a001c53015257000024010240275100160c025a00000c015a001f1523530153041d3c520c025a00000c015a00300c025a00000c015a003023530150520c025a00000c015a00330c005a000b042400271b3100004b523f3100024b173f38006822000011001f0c005a001e22003013013800065700062401021827510005183f403f3800692200001100cc5700000c015a001b2340275100490c015a0066253100004b5100145700000c015a001a1523530153001d3c520c015a0069253100004b5100145700000c015a001a1523530153021d3c525700000c015a001b18525700000c015a001c235300275100175700000c015a001a1523530153011d3c520700175700000c015a001a152353ff530153011d3b35525700000c015a0035235100145700000c015a001a1523530153031d3c525700000c015a001f2353001e5100145700000c015a001a1523530153041d3c523f38006a2200001100e6403800063600180c005a0013240105042401061b5700073100014b1714000b583801ae183800060b00b80c005a001324010724001453001e51001b050c005a00132401074a22000e2a51000718380006070007183800065700061a5100830c005a0013042401081b2201093100014b38000757000722010a4400050c005a00132401050424010b1b5700073100014b170c005a001324010724010a3800080c005a001922010c22010d130222010a2e380009055700084a22000e27041a51000917570009252751000a183800060700115700085700092a510007183800064d5700063f38006b220000110076403800065700000c015a002d23380007570007240061510007183800060c005a000b1a041a51000d170c005a000b24010e1a041a51000c170c005a001f24010f51000a183800060700280c005a0003042400bf1b0c005a000b2201103100024b3800085700080527510007183800065700063f38006c2200001100285700000c015a002c2338000622011157000654510010570006042401111b3100004b3f183f38006d2200001100705700000c015a001e2353002a510005183f53003800060c015a006b253100004b51000f570006530153001d3c3800060c015a006c5700002e51000f570006530153011d3c3800060c015a006d5700002e51000f570006530153021d3c3800065700000c015a001e57000652403f38006e2200001100fd22000011000d0c022f4400102201123f38000757000024000138000857000824000238000957000924000338000a57000024011338000b57000b1a51000757000a3f57000b24000d38000c57000924000438000d57000924000d38000e57000957000744000457000957000744000d360003140007583800400b000c57000722000050174d57000957000d44000457000957000e44000d055700064a22001e2a041a51000e175700062400052200032a041a51000d1757000624001453002a51000757000a3f57000c255700065700073100003100034b38000f57000f042400061b2201123100014b53005301262751000757000a3f5700063f38006f2200001100d50c015a006f5700002e380006570000042400661b2201143100014b38000757000624000422000050042400ca1b5700072200003100024b380008310000380009530038000a530038000b57000124001438000c57000b57000c3d51007457000157000b2338000d57000d51003f570006042400041b57000d3100014b042400ca1b5700072200003100024b38000e57000957000b57000e57000827510008530107000553005207000c57000957000b53005257000a57000957000b2357000b1d3c38000a57000b4738000b07ff8857000a3f38007022000011011a0a38000657000624011524004e5700062401165700062400c131000338000757000624011722011831000257000624011922010c31000257000624011922011a31000257000624011b22011c31000257000624011b2200a13100023100053800085700062401132400d8380009530038000a57000824001438000b57000a57000b3d51007457000857000a2338000c57000c53002338000d57000d51004257000d24000238000e57000e5100335700092557000e57000c5301233100024b38000f57000f510019570007042400331b57000f2400bf3100014b17070012570007042400331b53003100014b1757000a4738000a07ff880c015a0070255700065700073100024b3800105700103a00ff2a510005183f403f3800712200001100335700000c015a001d2353002a510005183f0c015a0071253100004b5100145700000c015a001d1523530153001d3c523f3800722200001100640a38000657000624011d22011e27041a51000e1757000624011d22011f27041a51000a17570006240120041a51000a17570006240121041a51000a1757000624012251000953003f0700180c005a0002042401231b5700063100014b2400143f3f3800732200001100cf5700000c015a002c233800065700000c015a00172353002a510005183f53003800070c005a000f38000822012457000654510015570006042401241b3100004b38000807000f570007530153001d3c38000757000851000c570008530523070005530038000957000953002751000f570007530153011d3c3800075700000c015a0017570007525700000c015a00172353002a5100370c005a0006252200001100230c015a004e252200002200003a07d30c025a00000c015a0017233100044b173f3a012c3100024b17403f3800742200001100865700000c015a00172353002a510005183f5700000c015a0022310001233800065700000c015a002c23380007570006536334532127041a51000b175700063a00821c38000857000851002022012557000754510016570007042401251b5700073a00803100024b1722012657000754510013570007042401261b5700073100014b173f3800752200001100960a22003c2304220127231b5700010a2400321300040a2400321300040a22003c23220128230a2400321300043a0800440129130144012a44012b3100024b0424001a1b2200001100250c025a000057000024012c44003f0c025a000251000e0c025a0002253100004b173f3100014b042400241b2200001100160c025a000351000d0c025a00035700002e173f3100014b173f3800792200001100542200003800065700003800070c005a00205700011301570007235300465100305700060c005a00040424000a1b0c005a00205700011301570007233100014b503800065700074738000707ffc25700063f38007a22000011002d570000042400531b570001570001570002503100024b3800060c005a002057000613013800075700073f38007b2200001100d90c005a0008130053002638000657000124012d24012a24012e38000757000338000857000124012d0424012f1b5700082400143100014b3800090c005a00205700075700095700082400141303042401301b5700083100014b1757000124012d042401311b5700095700082400143100024b38000a22000038000b570000240132510018570000042401321b57000a5700073100024b0700130c015a007a2557000a5700073100024b38000b57000124012d042401331b57000a3100014b1757000124012d042401331b5700093100014b1757000b3f38007c2200001100b70c005a0008130053002638000657000124012d24012a24012e38000757000338000857000124012d0424012f1b5700082400143100014b3800090c005a00205700075700095700082400141303042401301b5700083100014b1757000124012d042401341b5700095700082400143100024b38000a0c015a007b2557000757000a53103100034b38000b57000124012d042401331b57000a3100014b1757000124012d042401331b5700093100014b1757000b3f38007d2200001100b70c005a0008130053002638000657000124012d24012a24012e38000757000338000857000124012d0424012f1b5700082400143100014b3800090c005a00205700075700095700082400141303042401301b5700083100014b1757000124012d042401351b5700095700082400143100024b38000a0c015a007b2557000757000a53103100034b38000b57000124012d042401331b57000a3100014b1757000124012d042401331b5700093100014b1757000b3f38007e2200001100be0c005a0008130053002638000657000124012d24012a24012e38000757000238000857000124012d0424012f1b5700082400143100014b3800090c005a00205700075700095700082400141303042401301b5700083100014b1757000124012d042401361b5700095700082400145700033100034b38000a0c015a007b2557000757000a5700082400143100034b38000b57000124012d042401331b57000a3100014b1757000124012d042401331b5700093100014b1757000b3f38007f2200001100275700002201372200001100190c015a0084250c015a00825700005700013100034b3f523f38008322000011008c2f380007530053012638000853003800093600031400075838004e0b006d0a38000a0c015a008038000b0c005a000f38000c570000530026570000275100475700000c015a0081275100160c015a00402557000b57000a3100024b38000c5700000c015a00822751001c0c015a003f2557000157000257000b57000a3100044b38000c57000c3f4d3f3800845300380000530038000153003800023100003800110c005a0009380013530038008557008553053d5100520c005a000e0424004d1b0c005a0008042400271b3100004b3a03e80f0c005a000e0424004e1b3100004b505302343100014b380014570011042400331b5700143100014b175700854738008507ffab57001357000c44012657001357000b440125570013570012440124570010253100004b38001557001322001657001552570013190025030144013857000e5700132e175364380016536538001753663800185367380019536838001a3a041038001b536938001c536a38001d536b38001e536c38001f536d3800203a04423800213a00cb3800223a00cc3800233a012d3800243a01913800253a01923800263a01933800273a01943800283a01f53800293a03e338002a3a03e438002b3a03e538002c3a03e638002d3a166e38002e1838002f3a02593800303a025a3800313a025b3800323a025c3800333a025d3800343a025e3800350a5700504401390a57004f44013a0a5700514400460a57005244013b0a57005344013c0a57005444013d0a57005544013e0a5700564400570a5700574400420a57005844013f0a570059440058530053615373536d530153005300530053015324530753605303537f537f537f530053605301537f5301537f53605302537f537f5301537f536053005301537f53605301537f530053605300530053605303537f537f537f5301537f530353135312530553025306530053025302530053005300530153005303530153045301530353045301530453055301537053015302530253055306530153013a008053023a00805302530653085301537f530153413a00903a00965304530b53073a00975302530d5306536d5365536d536f5372537953025300532353785379535f53645361536153395332533653385338536653665339533353305339536553315361533253395364533253355332533253345366536453305331533653345361530053015306536d5361536c536c536f53635300530c530453665372536553655300530d532353785379535f5331533853645331533253625338536553355334533153625331536653645338533053625331536353335363533253655365536253365333536153325330533853005302532353785379535f5363536153345365536453615332533653345332536553345339536353335333533853315331533553385366533653625330533953625330533153355336533753005304532353785379535f5336536653355364533153315362536453395337533353625337536153615365533153635331536253655339533253355364533553645336533953395363533153005305530b535f5369536e5369537453695361536c5369537a5365530053005319535f535f5369536e536453695372536553635374535f53665375536e536353745369536f536e535f537453615362536c5365530153005310535f535f536553725372536e536f535f536c536f5363536153745369536f536e5300530b53095373537453615363536b53535361537653655300530f530c5373537453615363536b5352536553735374536f5372536553005310530a5373537453615363536b5341536c536c536f536353005311530953075301530053415301530b53015300530a3a00ef3a008f53025312530353005301530b3a00df3a0083530153025307537f5301537e5323530053413a00a05302536b5322530653245300532053065322530353413a009c3a00fa3a00b73a00c5530653365302530c5320530353413a00f4530a5328530253005341537f537353413a00f8530a5328530253005341537f53735372532253025341537f53735320530253413a00a53a009d3a00f33a00d653055372536a53413a00a73a00be3a00dc3a008c5301536a533653023a009c530253205303532053035341530c536a53365302530853035340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405320530353285302530c5322530253413a00983a00e23a008c5372534c530453405320530253413a00873a00fa3a00c13a00b9537b534c530453405320530253413a00fc3a00ed3a00dc3a00b55379534c530453405320530253413a00cc3a00e23a00db3a00d85378534c530453405320530253413a00a23a00ab3a00ea3a00bf5378534c530453405320530253413a00933a00813a00a43a008f5378534c530453405320530253413a00bb3a00de3a00db3a008453785346530d530a5320530253413a00d33a009f3a00813a008853785347530d53675320530353285302530853413a00b13a00c03a008c3a00ad537a533653025300530c5367530b5320530253413a00943a00813a00a43a008f53785346530d53185320530253413a00bf3a00fa3a00dd3a009253785346530d53275320530253413a00ea3a00e43a00ac3a00ba53785347530d536653413a00cc530b532853025300531a53413a00d0530b532853025300531a5320530353285302530853413a00dd3a00a93a00cd3a00835379533653025300530c5366530b5320530253413a009f3a00de3a00853a00c95378534c530453405320530253413a00a33a00ab3a00ea3a00bf53785346530d53505320530253413a00d03a00e23a00e53a00c253785347530d53665320530353285302530853413a00ea3a00e43a00ac3a00ba5378533653025300530c5366530b5320530253413a00a03a00de3a00853a00c953785346530d53235320530253413a00d93a00d83a00e23a00d353785346530d53375320530253413a009a3a00ea3a00a73a00d853785347530d53655320530353285302530853413a00e53a00fe3a00eb3a00a3530653413a00db3a008c3a00c13a0085537953205303532d53003a00fa5301531b533653025300532053035320530353285302534c533653023a00885301530c5365530b5320530253413a00d03a00e53a00843a00fe5378534c530453405320530253413a00f13a00ea3a00d93a00e25378534c530453405320530253413a00cd3a00e23a00db3a00d853785346530d53055320530253413a00ca3a00c13a00b83a00e253785347530d53665320530353285302530853413a00f93a00b43a00d63a00e153015336530253005320530353205303532853025314533653025350530c5366530b5320530253413a00f23a00ea3a00d93a00e253785346530d53245320530253413a00e53a00ad3a00f13a00f453785346530d53435320530253413a00c73a00b93a00ef3a00fb53785347530d53655320530353285302530853413a00d83a00b93a00863a009b5301533653025300530c5365530b5320530253413a00f43a00d53a00aa3a00855379534c530453405320530253413a00d13a00e53a00843a00fe53785346530d53495320530253413a00dd3a00a93a00cd3a008353795347530d53655320530353285302530853413a00f93a00b43a00d63a00e1530153413a00a13a00fa3a00d53a00d7537c53205303532d53003a00895302531b5336530253005320530353415300533653025350530c5365530b5320530253413a00f53a00d53a00aa3a008553795346530d530e5320530253413a00db3a008c3a00c13a008553795346530d53205320530253413a00e83a00bc3a00a13a00ab53795347530d53645320530353285302530853413a00c13a00a53a00e13a009c537f533653025300530c5364530b5320530253413a00dd3a00bf3a00ae3a00ab537a534c530453405320530253413a00a03a00d23a00dc3a0082537a534c530453405320530253413a00813a00853a00c73a00cc5379534c530453405320530253413a00fd3a00ed3a00dc3a00b553795346530d53615320530253413a00803a00ca3a00803a00cc53795347530d53665320530353285302530853413a00913a00f63a00ff3a00f1537c533653025300530c5366530b5320530253413a00823a00853a00c73a00cc53795346530d534d5320530253413a00f83a00e83a00903a00dd53795346530d53115320530253413a00843a00d43a00b83a00ea53795347530d5365532053035320530353285302535453365302531453413a0094530f532853025300531a53413a0098530f532853025300531a5320530353285302530853413a00823a00853a00c73a00cc5379533653025300530c5365530b5320530253413a00ea3a00b93a00ad3a0085537a534c530453405320530253413a00a13a00d23a00dc3a0082537a5346530d535a5320530253413a00b93a00b03a00b83a0084537a5347530d53655320530353285302530853413a00ce3a008f3a009f3a00fa537d533653025300530c5365530b5320530253413a00eb3a00b93a00ad3a0085537a5346530d53125320530253413a00fe3a00883a00be3a009a537a5346530d53475320530253413a00c33a008f3a009b3a00a7537a5347530d53645320530353285302530853413a00f73a00e23a00ce3a00e7537a53413a00fd3a00ed3a00dc3a00b5537953413a00e4530e53285302530053413a00e8530e532853025300536c53413a008e3a00f53a00c03a00845302536e532253025341537f537353413a00d13a00c43a00a4534953715320530253415306537153725322530453413a00b43a00853a00fe3a00b5537953735322530253413a00c23a00e23a00da3a00fa537c53725320530253413a00c23a00c03a00da3a00f853045371536c5320530253413a00a53a00813a00803a0084530253715320530453413a00823a00a23a00805302537353413a00823a00a23a00803a008253785371536c536a53413a00dc3a00863a00d5537c5349531b533653025300530c5364530b5320530253413a00aa3a00d53a00873a00fc537a534c530453405320530253413a00ad3a00b03a00da3a00e5537a534c530453405320530253413a00de3a00bf3a00ae3a00ab537a5346530d531c5320530253413a00b13a00c03a008c3a00ad537a5347530d536553413a0094530d532853025300531a53413a0098530d532853025300531a5320530353285302530853413a00ea3a00cf3a009b3a00bf5301533653025300530c5365530b5320530253413a00ae3a00b03a00da3a00e5537a5346530d53045320530253413a00f73a00e23a00ce3a00e7537a5346530d53445320530253413a00873a009b3a00a03a00e9537a5347530d53645320530353285302530853413a00943a00813a00a43a008f5378533653025300530c5364530b5320530253413a00fe3a00843a00933a0096537b534c530453405320530253413a00ab3a00d53a00873a00fc537a5346530d53375320530253413a008b3a00923a00813a0087537b5346530d533b5320530253413a00d33a00953a009f3a008a537b5347530d53645320530353285302530853413a00ca3a00d63a009e3a00a0537f533653025300530c5364530b5320530253413a00ff3a00843a00933a0096537b5346530d535d5320530253413a00fd3a00e33a00b13a00af537b5346530d53175320530253413a00fc3a00d73a00c83a00b5537b5347530d5363532053035320530353285302536453365302532c5320530353205303532853025368533653025328532053035320530353285302536c53365302532453413a009c530e53285302530053413a00a0530e532853025300536e531a5320530353285302530853413a00da3a00ee3a008f5325533653025300530c5363530b5320530253413a00fe3a00d93a00e23a00fa537d534c530453405320530253413a00a33a009e3a008a3a00ee537c534c530453405320530253413a00c03a00b23a00ec3a00aa537c534c530453405320530253413a00c13a008c3a009a3a00e7537b534c530453405320530253413a00883a00fa3a00c13a00b9537b5346530d53375320530253413a00873a00d63a00b53a00d2537b5347530d53665320530353285302530853413a009a3a00ac3a00bb5333533653025300530c5366530b5320530253413a00c23a008c3a009a3a00e7537b5346530d532f5320530253413a00863a00d93a00863a00ec537b5346530d53395320530253413a008d3a00ae3a009f3a0085537c5347530d536553205303532853023a009053015322530253205303532853023a008c5302536a53205303532853023a009053025320530253205303532853023a008453025370536a532d53005300532253045320530253413a00805309536a532d530053005322530553715341537f5373532053045341537f5373532053055341537f537353715341537f53735371533a53005300532053025341530153725322530453205303532853023a008c5302536a53205303532853023a009053025320530453205303532853023a008453025370536a532d53005300532253055320530453413a00805309536a532d5300530053225304536a53205304532053055371534153015374536b533a530053005320530353285302530853413a00c43a00e53a00f03a0081537e53413a008d3a00ae3a009f3a0085537c5320530253415302537153205302534153025372536a5322530253413a00c053005346531b5336530253005320530353205302533653023a00905301530c5365530b5320530253413a009b3a008d3a00b03a00bc537c534c530453405320530253413a00c13a00b23a00ec3a00aa537c5346530d53405320530253413a00843a00e93a008b3a00b6537c5347530d53655320530353285302530853413a00fa3a00eb3a00c13a00c95306533653025300530c5365530b5320530253413a009c3a008d3a00b03a00bc537c5346530d534d5320530253413a00873a00c33a009e3a00bd537c5346530d534b5320530253413a00a13a00fa3a00d53a00d7537c5347530d53645320530353285302530853413a00c13a00b93a00ef3a00d7530753413a00f83a00e83a00903a00dd537953413a00d4530b53285302530053413a00d8530b532853025300536b53413a00d33a008f3a00ba3a00f053025372532253025320530253413a00883a00873a00d33a00b553065371534153015374536b53413a00913a00cf3a00903a00e05304536a53413a00d53a00fb3a00f63a00a9537f534b531b533653025300530c5364530b5320530253413a00943a00963a00af3a00b6537d534c530453405320530253413a00a03a009e3a00943a008a537d534c530453405320530253413a00a43a009e3a008a3a00ee537c5346530d53205320530253413a00913a00f63a00ff3a00f1537c5347530d53655320530353205303532853023a00fc530153415301536a533653023a00dc530153413a00ec530c532853025300531a53413a00f0530c532853025300531a5320530353285302530853413a00bf3a00fa3a00dd3a00925378533653025300530c5365530b5320530253413a00a13a009e3a00943a008a537d5346530d531c5320530253413a00a83a00953a00aa3a009e537d5346530d530d5320530253413a00f83a00bb3a00e43a00af537d5347530d536453413a0098530c5328530253005321530253413a0094530c5328530253005321530453205303532853023a00fc53015320530053205301531053065320530353285302530853413a00b13a00fd3a00933a00d9530653413a00a43a00963a00cf3a00875301532053025320530453715322530253413a00f43a00ce3a00fd3a00b6537e53725320530253413a00f43a00ce3a00fd3a00b6537e5371536c5320530253413a008b3a00b13a00823a00c953015371532053025341537f537353413a00f43a00ce3a00fd3a00b6537e5371536c536a5322530253413a00c93a00863a00de3a00eb530453725320530253413a00c83a00863a00de3a00eb53045371536c532053025341537f537353413a00c93a00863a00de3a00eb530453715320530253413a00b43a00f93a00a13a0094537b5371536c536a53413a00ec3a00bd3a00973a00db5379537153413a00a53a00b73a00f33a00e753055346531b533653025300530c5364530b5320530253413a00a93a00f33a00d73a00ec537d534c530453405320530253413a00953a00963a00af3a00b6537d5346530d53565320530253413a00b83a00833a00c53a00c1537d5347530d536453413a00f0530b5328530253005321530453413a00ec530b5328530253005321530553205303532853023a008c5302532253025342530053375303533853205302534253005337530353305320530253425300533753035328532053025342530053375303532053205302534253005337530353185320530253425300533753035310532053025342530053375303530853205302534253005337530353005320530353285302530853413a00b83a00833a00c53a00c1537d53413a00eb3a00b93a00ad3a0085537a5320530453205305537153413a00a63a00e13a00bb3a0092537a534f53413a00d73a00a73a00e63a00b65304536a5322530253413a00cb3a00a63a00805316537353205302537153413a00813a00d63a00dd3a00a45378534b531b533653025300530c5364530b5320530253413a00aa3a00f33a00d73a00ec537d5346530d53395320530253413a009c3a00a03a00c63a00f2537d5346530d53385320530253413a00ce3a008f3a009f3a00fa537d5347530d53635320530353285302530853413a00ce3a008f3a009f3a00fa537d53413a00a33a008f3a00a03a00fc530753413a00cc530e53285302530053413a00d0530e532853025300537253413a00f73a00ac3a00d23a00f55379534f53413a00b73a009c3a00b33a00ca5302536c532253025341537f537353413a00d63a00bc3a00b53a00bc537a53715320530253413a00a93a00c33a00ca3a00c353015371537253413a008d3a008f3a00ce3a00c3537a534b531b533653025300530c5363530b5320530253413a00ac3a00bf3a00e33a00cd537e534c530453405320530253413a00eb3a00c93a00ab3a0098537e534c530453405320530253413a00c33a00e53a00f03a0081537e534c530453405320530253413a00ff3a00d93a00e23a00fa537d5346530d53635320530253413a00d73a00ca3a00e83a0080537e5347530d53655320530353285302530853413a00a83a00953a00aa3a009e537d533653025300530c5365530b5320530253413a00c43a00e53a00f03a0081537e5346530d53145320530253413a00863a00fa3a00f33a008a537e5346530d530b5320530253413a00ef3a00ab3a00d83a008e537e5347530d53645320530353285302530853413a00cf3a00ea3a0091531c533653025300530c5364530b5320530253413a008f3a00b13a00be3a00ba537e534c530453405320530253413a00ec3a00c93a00ab3a0098537e5346530d53535320530253413a00a73a00d33a00cc3a00b1537e5347530d536453413a00ae530a53205303532d53003a00965302533a5300530053413a00af530a53413a008f530a532d5300530053413a00a453015373533a5300530053413a00e0530953413a00c05309532d5300530053413a00a853015373533a5300530053413a00e1530953413a00c15309532d53005300534153085373533a5300530053413a00e4530953413a00c45309532d530053005341530f5373533a5300530053413a00e5530953413a00c55309532d53005300534153305373533a5300530053413a00e3530953413a00c35309532d53005300532253025341537f537353413a00f253015371532053025341530d53715372533a5300530053413a00b0530a53413a0090530a532d5300530053225302532053025341533a5371534153015374536b53413a00c65300536b533a5300530053413a00e2530953413a00c25309532d53005300532253025320530253413a00e453005371534153015374536b5341531c536b533a5300530053413a00e6530953413a00c65309532d53005300532253025320530253413a00c253005371534153015374536b5341533e536b533a5300530053413a00e7530953413a00c75309532d5300530053413a00ea53005373533a5300530053413a00e8530953413a00c85309532d5300530053413a00eb53015373533a5300530053413a00eb530953413a00cb5309532d530053005341530d5373533a5300530053413a00e9530953413a00c95309532d53005300532253025320530253413a00eb53005371534153015374536b53415315536b533a5300530053413a00ea530953413a00ca5309532d53005300532253025341537f537353413a008a530153715320530253413a00f553005371537253413a00d453005373533a5300530053413a00ec530953413a00cc5309532d530053005322530253413a00e153015372532053025341537f53735341531e537253715341537f5373533a5300530053413a00ed530953413a00cd5309532d530053005322530253413a00bf53015372532053025341537f537353413a00c05300537253715341537f5373533a5300530053413a00ee530953413a00ce5309532d530053005322530253205302534153135371534153015374536b53415313536a533a5300530053413a00ef530953413a00cf5309532d530053005322530253413a009c53015371532053025341537f537353413a00e35300537153725341537f5373533a5300530053413a00f0530953413a00d05309532d530053005341533b5373533a5300530053413a00e0530a53413a00c0530a532d530053005322530253205302534153165371534153015374536b53413a00ea5300536b533a5300530053413a00e1530a53413a00c1530a532d53005300532253025341537f537353413a00f9530053715320530253413a0086530153715372533a5300530053413a00e2530a53413a00c2530a532d53005300534153095373533a5300530053413a00e3530a53413a00c3530a532d5300530053413a00b353015373533a5300530053413a00e4530a53413a00c4530a532d53005300534153235373533a5300530053413a00e5530a53413a00c5530a532d5300530053413a008f53015373533a5300530053413a00e6530a53413a00c6530a532d5300530053413a00c553005373533a5300530053413a00e7530a53413a00c7530a532d53005300532253025341537f537353413a00a2530153715320530253413a00dd530053715372533a5300530053413a00e8530a53413a00c8530a532d5300530053413a00c353015373533a5300530053413a00e9530a53413a00c9530a532d53005300532253025341537f537353413a00f65301537153205302534153095371537253413a00f853005373533a5300530053413a00ea530a53413a00ca530a532d5300530053413a00d353005373533a5300530053413a00eb530a53413a00cb530a532d53005300532253025341537f537353413a008f530153715320530253413a00f0530053715372533a5300530053413a00ec530a53413a00cc530a532d5300530053413a00b353015373533a5300530053413a00ed530a53413a00cd530a532d5300530053413a00cd53015373533a5300530053413a00ee530a53413a00ce530a532d5300530053413a00c453015373533a5300530053413a00ef530a53413a00cf530a532d530053005322530253205302534153365371534153015374536b53415336536a533a5300530053413a00f0530a53413a00d0530a532d530053005322530253205302534153295371534153015374536b53415329536a533a5300530053413a0080530953413a00c05308532d530053005322530253413a00d053005372532053025341537f537353413a00af5301537253715341537f5373533a5300530053413a0081530953413a00c15308532d5300530053413a00e653005373533a5300530053413a0082530953413a00c25308532d53005300532253025341537f53735341533f53715320530253413a00c0530153715372534153015373533a5300530053413a0083530953413a00c35308532d53005300532253025341537f537353413a00bf530153715320530253413a00c0530053715372533a5300530053413a0084530953413a00c45308532d530053005341531c5373533a5300530053413a0085530953413a00c55308532d530053005322530253413a00c053005372532053025341537f537353413a00bf5301537253715341537f5373533a5300530053413a0086530953413a00c65308532d53005300532253025341537f537353413a00af530153715320530253413a00d0530053715372533a5300530053413a0087530953413a00c75308532d530053005322530253413a00ea53015372532053025341537f537353415315537253715341537f5373533a5300530053413a0088530953413a00c85308532d5300530053413a00b253015373533a5300530053413a0089530953413a00c95308532d53005300532253025341537f537353413a00c253015372532053025341533d53725371533a5300530053413a008a530953413a00ca5308532d53005300532253025320530253413a00c953005371534153015374536b53413a00c95300536a533a5300530053413a008b530953413a00cb5308532d5300530053413a00bb53015373533a5300530053413a008c530953413a00cc5308532d5300530053225302534153325371532053025341537f537353413a00cd5301537153725341537f5373533a5300530053413a008d530953413a00cd5308532d53005300532253025341537f53735341532053715320530253413a00df530153715372533a5300530053413a008e530953413a00ce5308532d5300530053225302532053025341532c5371534153015374536b5341532c536a533a5300530053413a008f530953413a00cf5308532d5300530053413a008553015373533a5300530053413a0090530953413a00d05308532d53005300532253025320530253413a00c853005371534153015374536b53413a00c85300536a533a5300530053413a0091530953413a00d15308532d53005300532253025320530253413a00dc53005371534153015374536b53413a00dc5300536a533a5300530053413a0092530953413a00d25308532d53005300532253025341537f537353413a00ed530053715320530253413a0092530153715372533a5300530053413a0093530953413a00d35308532d5300530053413a00aa53015373533a5300530053413a0094530953413a00d45308532d530053005341531b5373533a5300530053413a0095530953413a00d55308532d53005300532253025341537f537353413a00fe530053715320530253413a008153015371537253413a00f753005373533a5300530053413a0096530953413a00d65308532d5300530053413a00a853015373533a5300530053413a0097530953413a00d75308532d5300530053413a008b53015373533a5300530053413a0098530953413a00d85308532d5300530053413a008953015373533a5300530053413a0099530953413a00d95308532d53005300534153295373533a5300530053413a009a530953413a00da5308532d5300530053413a00e853015373533a5300530053413a009b530953413a00db5308532d53005300534153295373533a5300530053413a009c530953413a00dc5308532d5300530053413a00f753015373533a5300530053413a009d530953413a00dd5308532d53005300532253025341537f537353413a00d4530053725320530253413a00ab530153725371533a5300530053413a009e530953413a00de5308532d530053005322530253205302534153015371534153015374536b53413a00ff5300536b533a5300530053413a009f530953413a00df5308532d530053005322530253205302534153225371534153015374536b53413a00de5300536b533a5300530053413a00a0530953413a00e05308532d5300530053413a00ff53005373533a5300530053413a00a1530953413a00e15308532d53005300532253025320530253413a00d853005371534153015374536b53413a00d85300536a533a5300530053413a00a2530953413a00e25308532d53005300534153205373533a5300530053413a00a3530953413a00e35308532d5300530053413a00ba53015373533a5300530053413a00a4530953413a00e45308532d53005300532253025320530253413a00fc53005371534153015374536b53413a00fc5300536a533a5300530053413a00a5530953413a00e55308532d53005300532253025341537f537353413a00f253015371532053025341530d5371537253413a00ef53005373533a5300530053413a00a6530953413a00e65308532d5300530053413a00dc53015373533a5300530053413a00a7530953413a00e75308532d53005300534153305373533a5300530053413a00a8530953413a00e85308532d53005300532253025341537f537353413a00f7530053715320530253413a008853015371537253413a00e753005373533a5300530053413a00a9530953413a00e95308532d5300530053413a00cc53005373533a5300530053413a00aa530953413a00ea5308532d5300530053413a00e953005373533a5300530053413a00ab530953413a00eb5308532d5300530053225302532053025341533f5371534153015374536b53413a00c15300536b533a5300530053413a00ac530953413a00ec5308532d53005300532253025341537f53735341533953715320530253413a00c653015371537253413a00cd53005373533a5300530053413a00ad530953413a00ed5308532d5300530053413a00dc53015373533a5300530053413a00ae530953413a00ee5308532d53005300532253025341537f537353413a00d753015371532053025341532853715372533a5300530053413a00af530953413a00ef5308532d5300530053413a00c453015373533a5300530053413a00b0530953413a00f05308532d53005300534153175373533a530053005320530353285302530853413a00e43a00d03a00b23a00a65304533653025300530c5364530b5320530253413a00903a00b13a00be3a00ba537e5346530d53575320530253413a00fc3a009b3a00af3a00c0537e5346530d532e5320530253413a00f43a00b93a00cc3a00c7537e5347530d53635320530353205303532853023a009853015345533a53003a0097530153413a00bc530e532853025300531a53413a00c0530e532853025300531a5320530353285302530853413a00e53a00ff3a00e23a0088537f533653025300530c5363530b5320530253413a00c03a00a53a00e13a009c537f534c530453405320530253413a00e43a00ff3a00e23a0088537f534c530453405320530253413a00ad3a00bf3a00e33a00cd537e5346530d53305320530253413a00b93a00843a00fe3a0082537f5347530d536453413a00a4530d532853025300531a53413a00a8530d532853025300531a5320530353285302530853413a00a23a00da3a00fd3a00805304533653025300530c5364530b5320530253413a00e53a00ff3a00e23a0088537f5346530d533f5320530253413a00f23a00ab3a009e3a0089537f5346530d53565320530253413a00f03a00cd3a00a73a009c537f5347530d53635320530353285302530853413a00b33a00f83a00943a00e65306533653025300530c5363530b5320530253413a00853a00e43a00d03a00be537f534c530453405320530253413a00c13a00a53a00e13a009c537f5346530d53165320530253413a00ca3a00d63a009e3a00a0537f5346530d53105320530253413a00f33a00993a00ce3a00be537f5347530d53635320530353205303532853023a00d853015341537e5371533653023a00cc53015320530353285302530853413a00f33a00993a00ce3a00be537f53413a00d33a009f3a00813a0088537853413a008c530d53285302530053413a0090530d532853025300536a532253025341537f537353413a00a73a00f13a009e3a0081530453715320530253413a00d83a008e3a00e13a00fe537b5371537253413a009a3a00843a00973a00ac537c534f53413a008c3a00b33a00bb5344536c53413a00973a00f53a00c83a00b45302534b531b533653025300530c5363530b5320530253413a00863a00e43a00d03a00be537f5346530d53135320530253413a00a43a00f43a00d153435346530d53615320530253413a00fa3a00dd3a008a53675347530d53625320530353285302530853413a00de3a00bf3a00ae3a00ab537a533653025300530c5362530b530253405320530253413a009d3a00b43a00973a008e5304534c530453405320530253413a00c83a00843a00893a00e75301534c530453405320530253413a00c63a00843a00c83a008c5301534c530453405320530253413a00d33a00b13a00875334534c530453405320530253413a00d93a00ee3a008f5325534c530453405320530253413a00993a00e23a008c53725346530d53165320530253413a00cf3a00ea3a0091531c5347530d53675320530353285302530853413a00c13a00a53a00e13a009c537f533653025300530c5367530b5320530253413a00da3a00ee3a008f53255346530d533f5320530253413a00e83a00c33a00c8532d5346530d53075320530253413a009a3a00ac3a00bb53335347530d536653413a00fc530d532853025300531a53413a0080530e532853025300531a5320530353285302530853413a00863a00d93a00863a00ec537b533653025300530c5366530b5320530253413a00993a00dd3a00fa3a00ee5300534c530453405320530253413a00d43a00b13a008753345346530d53345320530253413a00f03a00cc3a00a0533f5346530d532d5320530253413a00f43a00803a00b73a00c253005347530d53665320530353285302530853413a00fc3a009b3a00af3a00c0537e533653025300530c5366530b5320530253413a00f83a00ce3a00b93a00fe53005346530d53505320530253413a00a43a00963a00cf3a008753015346530d531a5320530253413a009a3a00dd3a00fa3a00ee53005347530d536553205303532853025310532153005320530353413a00a05302536a5324530053205300530f530b5320530253413a009b3a00bb3a00de3a00c05301534c530453405320530253413a00a03a008d3a00b93a009e5301534c530453405320530253413a00c73a00843a00c83a008c53015346530d535f5320530253413a00d83a00b93a00863a009b53015347530d5366532053035320530353285302532053415301536b53225302533653023a0098530153413a00b0530e5328530253005321530453413a00ac530e5328530253005321530553205303532853023a00fc530153205303532853023a00dc530153205302531053075320530353285302530853413a00e63a009d3a00e13a00bb530653413a00c73a00843a00c83a008c53015320530453205305537153413a00bf3a00b63a00d63a00925306536b5322530253413a00863a00ae3a00b73a00eb530253725320530253413a00863a00ae3a00b73a00eb53025371536c5320530253413a00f93a00d13a00c83a009453055371532053025341537f537353413a00863a00ae3a00b73a00eb53025371536c536a53413a00be3a008f3a00d73a00ff5307537153413a00df3a00b13a00973a009f53055349531b533653025300530c5366530b5320530253413a00a13a008d3a00b93a009e53015346530d534a5320530253413a00813a00fc3a00c63a00a353015346530d53425320530253413a00ea3a00cf3a009b3a00bf53015347530d53655320530353285302530853413a00f23a00ab3a009e3a0089537f53413a008f3a00b43a00973a00a3530753413a009c530d53285302530053413a00a0530d532853025300537253413a008d3a009a3a00d15314536a5322530253413a00eb3a00da3a00dd3a00ad537f5371532053025341537f537353413a00943a00a53a00a23a00d25300537153725341537f537353413a00b03a00ed3a00f03a00825303536a53413a00903a00e13a00c23a00d4537c5349531b533653025300530c5365530b5320530253413a00c33a00873a00c53a00da5301534c530453405320530253413a009c3a00bb3a00de3a00c053015346530d530a5320530253413a00943a00a53a00903a00d253015347530d53655320530353285302530853413a00f43a00b93a00cc3a00c7537e533653025300530c5365530b5320530253413a00c43a00873a00c53a00da53015346530d535a5320530253413a00933a00ae3a00cf3a00e053015346530d53265320530253413a00f93a00b43a00d63a00e153015347530d5364532053035320530353285302535053365302531053413a00a4530f532853025300531a53413a00a8530f532853025300531a5320530353285302530853413a00a33a00e03a00f13a00e35306533653025300530c5364530b5320530253413a00993a00ed3a00ba3a009f5303534c530453405320530253413a009e3a00c93a00e73a00c05302534c530453405320530253413a00fd3a00a43a00a13a00805302534c530453405320530253413a00c93a00843a00893a00e753015346530d53525320530253413a00923a009f3a00f23a00fb53015347530d53665320530353285302530853413a00e43a00d03a00b23a00a6530453413a00a73a00d33a00cc3a00b1537e53413a00a4530b53285302530053413a00a8530b532853025300536a5322530453413a00b53a00f83a00f93a00dc530753735322530253413a00ff3a00883a00c53a008b537953725320530253413a00ff3a00883a00c53a008b53795371536c5320530453413a00ca3a00803a00843a00835378537353413a00ff3a00883a00c53a008b537953715320530253413a00803a00f73a00ba3a00f453065371536c536a53413a00973a00ec3a00e2531e5347531b533653025300530c5366530b5320530253413a00fe3a00a43a00a13a008053025346530d53285320530253413a00913a00eb3a00a03a009353025346530d53035320530253413a00e33a00f73a00873a00ad53025347530d53655320530353205303532853023a00e8530153205303532853023a00805302536a533653023a00e053015320530353285302530853413a00f23a00ea3a00d93a00e25378533653025300530c5365530b5320530253413a00f63a00933a00e73a00de5302534c530453405320530253413a009f3a00c93a00e73a00c053025346530d530d5320530253413a00e63a00c03a00aa3a00c753025347530d53655320530353285302530853413a00e93a008f3a00c63a00e35303533653025300530c5365530b5320530253413a00f73a00933a00e73a00de53025346530d530a5320530253413a00b33a00973a00a13a008853035346530d532d5320530253413a00d43a00af3a00c23a009d53035347530d53645320530353285302530853413a00d43a00b13a0087533453413a00fc3a00d73a00c83a00b5537b53205303532d53003a009f5301531b5336530253005320530353205303532853023a00a853015322530253365302537c5320530353205303532853023a00a45301532253045336530253785320530353205302533653025374532053035320530453365302536c53205303532053025336530253685320530353205303532853023a00a05301533653025364530c5364530b5320530253413a00cb3a00d53a00bb3a00e35303534c530453405320530253413a00893a00d33a009d3a00bb5303534c530453405320530253413a009a3a00ed3a00ba3a009f53035346530d53555320530253413a00f93a00a43a00f23a00b753035347530d53655320530353285302530853413a00aa3a00f33a00d73a00ec537d53413a00953a009d3a00e73a0090530453205303532d53003a00bf5301531b5336530253005320530353205303532853025334533653025370530c5365530b5320530253413a008a3a00d33a009d3a00bb53035346530d53065320530253413a00af3a00833a00863a00bc53035346530d53335320530253413a00e13a00823a00f33a00d253035347530d536453205303532053005320530353285302534c536a532d530053005345533a53003a00fa53015320530353285302530853413a00eb3a00e03a00963a00d0530653413a009a3a00ea3a00a73a00d8537853413a00ac530c53285302530053413a00b0530c5328530253005341537f5373536a53413a00803a00eb3a00e33a00aa5379536c53413a00bd3a00d53a009c3a00f65307536a53413a00ec3a00e83a00c53a00c05379534b531b533653025300530c5364530b5320530253413a00a73a00a03a00f43a00ed5303534c530453405320530253413a00cc3a00d53a00bb3a00e353035346530d53295320530253413a00e93a008f3a00c63a00e353035347530d53645320530353285302530853413a00db3a008c3a00c13a0085537953413a00fe3a00ff3a008a3a00da530553205303532d53003a00f35301531b5336530253005320530353205301533653023a008853015320530353205303532853023a00f45301533653023a008c5301530c5364530b5320530253413a00a83a00a03a00f43a00ed53035346530d533b5320530253413a00a23a00da3a00fd3a008053045346530d53295320530253413a00d13a00c93a00a43a008b53045347530d536353413a00c4530d532853025300531a53413a00c8530d532853025300531a5320530353285302530853413a00fc3a009b3a00af3a00c0537e533653025300530c5363530b5320530253413a00923a00853a00eb3a00c05306534c530453405320530253413a00c23a00fd3a00cc3a00b35305534c530453405320530253413a00ae3a00c33a008c3a00b55304534c530453405320530253413a00b63a00cb3a00c63a009f5304534c530453405320530253413a009e3a00b43a00973a008e53045346530d53475320530253413a00953a009d3a00e73a009053045347530d53665320530353285302530853413a00af3a00c33a008c3a00b5530453413a00c43a00873a00c53a00da530153413a00e4530d5328530253005341537f537353413a00e8530d5328530253005341537f537353715341537f5373532253025320530253413a00d93a009c3a00ca3a00e253005371534153015374536b53413a00d93a009c3a00ca3a00e25300536a53413a00853a00803a00c93a00d75304537253413a00973a00c43a00cb3a00f7537d537153413a00c23a00ae3a00bb3a00d6537e5349531b533653025300530c5366530b5320530253413a00b73a00cb3a00c63a009f53045346530d53325320530253413a00e43a00d03a00b23a00a653045346530d53095320530253413a00a13a00ee3a00873a00a953045347530d53655320530353285302530853413a00cd3a00e23a00db3a00d8537853413a00a33a00ab3a00ea3a00bf537853413a0084530b53285302530053413a0088530b532853025300537353413a00ef3a008c3a00fb3a00c85300536a532253025341537f537353413a00cd3a00b73a00e53a00b3530253715320530253413a00b23a00c83a009a3a00cc537d5371537253413a00873a00fb3a00c53a00c55306536b53413a00ae3a00c93a00d53a008b5301534b531b533653025300530c5365530b5320530253413a00ba3a00fd3a00e53a00e65304534c530453405320530253413a00af3a00c33a008c3a00b553045346530d53355320530253413a00e23a00b83a009e3a00ca53045347530d53655320530353285302534053205303532853023a00e85301536a53415301536b53205303532853023a008c530253205303532853025330536a532d53005300533a530053005320530353285302530853413a008b3a00923a00813a0087537b533653025300530c5365530b5320530253413a00bb3a00fd3a00e53a00e653045346530d53215320530253413a00fc3a00983a008e3a00ff53045346530d53435320530253413a00c53a00f33a00ab3a00a953055347530d53645320530353285302530853413a00843a00d43a00b83a00ea537953413a00fd3a00e33a00b13a00af537b53205303532d53003a00fb5301531b5336530253005320530353415300533653025354530c5364530b5320530253413a009d3a00fd3a00cb3a00965306534c530453405320530253413a00e03a00f63a00e43a00c55305534c530453405320530253413a00c33a00fd3a00cc3a00b353055346530d533f5320530253413a00b53a00cd3a00b83a00be53055347530d53655320530353285302530853413a00b13a00b33a00f43a00b2530653413a00c23a008c3a009a3a00e7537b53205303532d53003a00cb5301531b5336530253005320530353205303532853023a00ac530153365302535c530c5365530b5320530253413a00e13a00f63a00e43a00c553055346530d53615320530253413a00b63a00df3a00e13a00d153055346530d530f5320530253413a00fe3a00ff3a008a3a00da53055347530d53645320530353205303532853023a008c530153365302534c5320530353285302530853413a00e13a00823a00f33a00d2530353413a00eb3a00e03a00963a00d0530653413a00a4530c53285302530053413a00a8530c532853025300536e53413a00d83a00bb3a00c33a009a5306536b53413a00f03a00843a00883a008d5307537353413a00863a00b93a00e73a00d05378537253413a00c63a00bb3a00a13a00ca537b534b531b533653025300530c5364530b5320530253413a00d83a00dc3a00f73a00a65306534c530453405320530253413a009e3a00fd3a00cb3a009653065346530d53605320530253413a00e53a00fe3a00eb3a00a353065347530d53645320530353285302530853413a00843a00e93a008b3a00b6537c53413a00fa3a00eb3a00c13a00c9530653413a00b4530c53285302530053413a00b8530c532853025300536c53413a00ca3a00803a00de3a00b05306536a53413a009f3a00d33a00b73a00a15305537253413a00a33a00cd3a00e73a00fe53005349531b533653025300530c5364530b5320530253413a00d93a00dc3a00f73a00a653065346530d53545320530253413a00b13a00b33a00f43a00b253065346530d53455320530253413a00e63a009d3a00e13a00bb53065347530d53635320530353285302530853413a00c13a00b23a00ec3a00aa537c533653025300530c5363530b5320530253413a00c83a00bd3a00b83a00fa5306534c530453405320530253413a00b03a00fd3a00933a00d95306534c530453405320530253413a00f93a00eb3a00c13a00c95306534c530453405320530253413a00933a00853a00eb3a00c053065346530d535d5320530253413a009c3a00fa3a00b73a00c553065347530d53655320530353285302530853413a00d03a00b73a00cb3a00c9530753413a009c3a008d3a00b03a00bc537c53205303532853023a009c530253413a00aa3a00893a00f03a00db5301534b531b533653025300530c5365530b5320530253413a00fa3a00eb3a00c13a00c953065346530d531d5320530253413a00eb3a00e03a00963a00d053065346530d53525320530253413a00a63a00a13a00dd3a00d553065347530d53645320530353285302530853413a00ff3a00843a00933a0096537b53413a00e53a00ad3a00f13a00f4537853413a00d4530e5328530253005322530253413a00d8530e53285302530053225304537253205302532053045371536c53205302532053045341537f53735322530453725341537f537353205302532053045371536c536a5322530253413a00e83a00e43a00ee3a00e6530653725320530253413a00e83a00e43a00ee3a00e653065371536c5320530253413a00973a009b3a00913a009953795371532053025341537f537353413a00e83a00e43a00ee3a00e653065371536c536a5322530253413a00f23a00ce3a00d53a00e0530553725320530253413a00f03a00ce3a00d53a00e053055371536c5320530253413a00883a00b13a00aa3a009f537a5371532053025341537f537353413a00f23a00ce3a00d53a00e053055371536c536a5322530253413a00d03a00f23a00ef3a00ec530153725320530253413a00a83a008d3a00903a0093537e5373537153413a00a43a00e53a00e85317534b531b533653025300530c5364530b5320530253413a00b23a00f83a00943a00e65306534c530453405320530253413a00b13a00fd3a00933a00d953065346530d53515320530253413a00a33a00e03a00f13a00e353065347530d53645320530353285302530853413a009a3a00dd3a00fa3a00ee530053413a00a33a00e03a00f13a00e3530653413a00ac530f5328530253005322530253413a00b0530f532853025300532253045341537f5373537153415301537453205302532053045373536b53413a00b53a00b73a00df5341537253413a00843a00f53a00ec3a00fe5306536a53413a00cc3a00f43a009a3a009a53785349531b533653025300530c5364530b5320530253413a00b33a00f83a00943a00e653065346530d531d5320530253413a00ef3a00fb3a00c33a00eb53065346530d535a5320530253413a00f33a00c63a008d3a00f553065347530d536353205303532853023a00fc530153205303532853025324536a5322530253205302532d53005300532053035328530253285341530853745372532253045341533a536e53225302533a5300530053205303532853023a00fc53015320530353285302532453225305532053055341537f53735341537e5372536a536a5322530553205305532d5300530253205304532053025341533a5371532053025341533a5372536c532053025341537f53735341533a53715320530253413a00c53a00ff3a00ff53075371536c536a536b53415308537453725341533a536e533a530053025320530353285302530853413a00da3a00ee3a008f5325533653025300530c5363530b5320530253413a00cf3a00973a00ca3a00ba5307534c530453405320530253413a00c63a00bd3a00ef3a00a05307534c530453405320530253413a00c93a00bd3a00b83a00fa53065346530d534a5320530253413a00803a00d33a00ce3a00a053075347530d53645320530353285302530853413a00b33a00973a00a13a00885303533653025300530c5364530b5320530253413a00c73a00bd3a00ef3a00a053075346530d53275320530253413a00b13a00ad3a00b33a00a153075346530d532b5320530253413a008f3a00b43a00973a00a353075347530d53635320530353285302530853413a00fc3a00d73a00c83a00b5537b5336530253005320530353415300533653025368532053035341530053365302536c5320530353415300533653025364530c5363530b53025340530253405320530253413a00d53a00fb3a00e63a00f65307534c530453405320530253413a00d03a00973a00ca3a00ba53075346530d53025320530253413a00d03a00b73a00cb3a00c953075346530d53015320530253413a00c13a00b93a00ef3a00d753075347530d53655320530353285302530853413a00f83a00e83a00903a00dd5379533653025300530c5365530b5320530253413a00d63a00fb3a00e63a00f653075346530d531a5320530253413a00bb3a00c53a008f3a00f853075346530d53245320530253413a00a33a008f3a00a03a00fc53075347530d53645320530353285302530853413a00b93a00843a00fe3a0082537f53413a00c33a00fd3a00cc3a00b3530553205303532d53003a00975301531b5336530253005320530353205303532853023a00985301533653025360530c5364530b5320530353413a00805312532853025300533653023a009853025320530353285302530853413a00d03a00b73a00cb3a00c9530753413a00d03a00973a00ca3a00ba530753413a00fc530a532853025300532253025341537f537353413a0080530b532853025300532253045341537f53735372532053025320530453715341537f537353715341537f537353413a00f13a00d93a00bf3a00e15305536a5322530253413a008a3a00a13a009b3a0083530253725320530253413a00f53a00de3a00e43a00fc537d53735371532253025341537f537353413a00e13a00a33a00893a00f4530253715320530253413a009e3a00dc3a00f63a008b537d5371537253413a00c73a00bf3a00ec3a009f537b53735320530253413a00a63a009c3a00e53a00eb53795371537253413a00bd3a00ee3a00f453055346531b533653025300530c5363530b5320530353285302530853413a00913a00eb3a00a03a00935302533653025300530c5362530b5320530353205303532853023a009853025345533a53003a009753025320530353285302530853413a00a13a00ee3a00873a00a95304533653025300530c5361530b53413a0090530b532853025300531a53413a008c530b532853025300531a5320530353285302530853413a00ae3a00b03a00da3a00e5537a533653025300530c5360530b5320530353285302530853413a00e83a00c33a00c8532d53413a00863a00fa3a00f33a008a537e53205303532d53003a00975302531b533653025300530c535f530b5320530353285302530853413a008a3a00d33a009d3a00bb530353413a00f83a00ce3a00b93a00fe530053413a0094530b53285302530053413a0098530b532853025300537153413a00c83a00f13a00fc3a00be5305537153413a00ce3a00cb3a00f53a00dd537c536c53413a00f53a00c93a008e533e536b53413a00c33a00a63a00aa3a009e537d5349531b533653025300530c535e530b53413a00a0530a53413a0080530a532d5300530053413a00e653015373533a5300530053413a00a1530a53413a0081530a532d5300530053413a00de53015373533a5300530053413a00a2530a53413a0082530a532d5300530053413a009053015373533a5300530053413a00a3530a53413a0083530a532d5300530053413a00b753015373533a5300530053413a00a5530a53413a0085530a532d5300530053413a008953015373533a5300530053413a00a4530a53413a0084530a532d53005300532253025341537f537353413a00c053015371532053025341533f5371537253413a009b53015373533a5300530053413a00a6530a53413a0086530a532d53005300532253025341531b5371532053025341537f537353413a00e45301537153725341537f5373533a5300530053413a00a7530a53413a0087530a532d5300530053225302534153275372532053025341537f537353413a00d85301537253715341537f5373533a5300530053413a00a0530b5328530253005321530453413a009c530b5328530253005321530253413a00ab530a53413a008b530a532d5300530053413a00bf53015373533a5300530053413a00ad530a53413a008d530a532d5300530053413a00cb53005373533a5300530053413a00a8530a53413a0088530a532d530053005322530553205305534153155371534153015374536b53413a00eb5300536b533a5300530053413a00a9530a53413a0089530a532d53005300532253055320530553413a00f453005371534153015374536b53413a00f45300536a533a5300530053413a00aa530a53413a008a530a532d53005300532253055320530553413a00ed53005371534153015374536b53415313536b533a5300530053413a00ac530a53413a008c530a532d53005300532253055341537f53735341531053715320530553413a00ef5301537153725341531e5373533a530053005320530353413a008e530a532d5300530053413a00ad53015373533a53003a009653025320530353285302530853413a00f83a00ce3a00b93a00fe530053413a00bb3a00de3a00db3a0084537853205302532053025320530453735341537f5373537153413a00a73a009e3a00a53a00af5306536a53413a008c3a00f83a00ef3a00ab5301536e53413a00da3a00ac3a00f83a00e15307536b53413a00873a00ba3a009c533c5349531b533653025300530c535d530b5320530353285302530853413a00923a009f3a00f23a00fb5301533653025300530c535c530b53413a00ae530a53205303532d53003a00965302533a5300530053413a00b0530a53413a0090530a532d5300530053413a00ba53015373533a5300530053413a00e1530953413a00c15309532d53005300534153085373533a5300530053413a00e2530953413a00c25309532d5300530053413a00e453015373533a5300530053413a00e4530953413a00c45309532d530053005341530f5373533a5300530053413a00af530a53413a008f530a532d530053005322530253413a00db53005372532053025341537f537353413a00a45301537253715341537f5373533a5300530053413a00e0530953413a00c05309532d530053005322530253205302534153285371534153015374536b53413a00d85300536b533a5300530053413a00e3530953413a00c35309532d53005300532253025320530253413a00f253005371534153015374536b5341530e536b533a5300530053413a00b0530b532853025300531a53413a00ac530b532853025300531a53413a00e7530953413a00c75309532d5300530053413a00ea53005373533a5300530053413a00e8530953413a00c85309532d5300530053413a00eb53015373533a5300530053413a00ea530953413a00ca5309532d5300530053413a00de53015373533a5300530053413a00ed530953413a00cd5309532d5300530053413a00c053005373533a5300530053413a00e9530953413a00c95309532d53005300532253025341537f537353413a00eb53015371532053025341531453715372533a5300530053413a00eb530953413a00cb5309532d53005300532253025341537f53735341530d53715320530253413a00f2530153715372533a5300530053413a00e5530953413a00c55309532d530053005322530253205302534153305371534153015374536b53415330536a533a5300530053413a00e6530953413a00c65309532d53005300532253025320530253413a00c253005371534153015374536b5341533e536b533a5300530053413a00ec530953413a00cc5309532d5300530053225302532053025341531e5371534153015374536b5341531e536a533a5300530053413a00ee530953413a00ce5309532d53005300534153135373533a5300530053413a00ef530953413a00cf5309532d5300530053413a009c53015373533a5300530053413a00f0530953413a00d05309532d530053005322530253413a00c453015372532053025341537f53735341533b537253715341537f5373533a5300530053413a00e0530a53413a00c0530a532d530053005322530253413a009653015371532053025341537f537353413a00e95300537153725341537f5373533a5300530053413a00e1530a53413a00c1530a532d53005300532253025341537f537353413a0099530153715320530253413a00e653005371537253413a00e053015373533a5300530053413a00e2530a53413a00c2530a532d53005300534153095373533a5300530053413a00e3530a53413a00c3530a532d530053005322530253413a00b353015371532053025341537f537353413a00cc5300537153725341537f5373533a5300530053413a00e4530a53413a00c4530a532d53005300534153235373533a5300530053413a00e5530a53413a00c5530a532d5300530053413a008f53015373533a5300530053413a00e6530a53413a00c6530a532d53005300532253025341537f537353413a00ba530153725320530253413a00c5530053725371533a5300530053413a00e7530a53413a00c7530a532d5300530053413a00a253015373533a5300530053413a00e8530a53413a00c8530a532d5300530053413a00c353015373533a5300530053413a00e9530a53413a00c9530a532d53005300532253025341537f537353413a00ee5301537153205302534153115371537253413a00e053005373533a5300530053413a00ea530a53413a00ca530a532d5300530053413a00d353005373533a5300530053413a00eb530a53413a00cb530a532d53005300532253025341537f537353413a008f530153715320530253413a00f0530053715372533a5300530053413a00ec530a53413a00cc530a532d53005300532253025341537f537353413a00ee530053715320530253413a009153015371537253413a00dd53015373533a5300530053413a00ed530a53413a00cd530a532d5300530053413a00cd53015373533a5300530053413a00ee530a53413a00ce530a532d53005300532253025320530253413a00c453005371534153015374536b5341533c536b533a5300530053413a00ef530a53413a00cf530a532d53005300532253025341537f537353413a00c953015372532053025341533653725371533a5300530053413a00f0530a53413a00d0530a532d53005300534153295373533a5300530053413a0080530953413a00c05308532d530053005322530253413a00af53015371532053025341537f537353413a00d05300537153725341537f5373533a5300530053413a0081530953413a00c15308532d5300530053413a00e653005373533a5300530053413a0082530953413a00c25308532d530053005322530253413a00c153015372532053025341537f53735341533e537253715341537f5373533a5300530053413a0083530953413a00c35308532d530053005322530253413a00c053005372532053025341537f537353413a00bf5301537253715341537f5373533a5300530053413a0084530953413a00c45308532d5300530053225302532053025341531c5371534153015374536b5341531c536a533a5300530053413a0085530953413a00c55308532d5300530053413a00bf53015373533a5300530053413a0086530953413a00c65308532d5300530053225302532053025341532f5371534153015374536b53413a00d15300536b533a5300530053413a0087530953413a00c75308532d530053005322530253413a00ea53015372532053025341537f537353415315537253715341537f5373533a5300530053413a0088530953413a00c85308532d53005300532253025341537f537353413a00b2530153715320530253413a00cd530053715372533a5300530053413a0089530953413a00c95308532d530053005341533d5373533a5300530053413a008a530953413a00ca5308532d5300530053413a00c953005373533a5300530053413a008b530953413a00cb5308532d5300530053413a00bb53015373533a5300530053413a008c530953413a00cc5308532d53005300534153325373533a5300530053413a008d530953413a00cd5308532d530053005322530253205302534153205371534153015374536b53415320536a533a5300530053413a008e530953413a00ce5308532d5300530053225302532053025341532c5371534153015374536b5341532c536a533a5300530053413a008f530953413a00cf5308532d530053005322530253413a008553015371532053025341537f537353413a00fa5300537153725341537f5373533a5300530053413a0090530953413a00d05308532d53005300532253025341537f537353413a0081530153715320530253413a00fe53005371537253413a00c953015373533a5300530053413a0091530953413a00d15308532d5300530053413a00dc53005373533a5300530053413a0092530953413a00d25308532d5300530053413a00ed53005373533a5300530053413a0093530953413a00d35308532d5300530053413a00aa53015373533a5300530053413a0094530953413a00d45308532d53005300532253025341537f53735341531b53715320530253413a00e4530153715372533a5300530053413a0095530953413a00d55308532d53005300534153095373533a5300530053413a0096530953413a00d65308532d5300530053413a00a853015373533a5300530053413a0097530953413a00d75308532d530053005322530253413a008b53015371532053025341537f537353413a00f45300537153725341537f5373533a5300530053413a0098530953413a00d85308532d530053005322530253205302534153095371534153015374536b53413a00f75300536b533a5300530053413a0099530953413a00d95308532d53005300532253025341537f53735341532953715320530253413a00d6530153715372533a5300530053413a009a530953413a00da5308532d5300530053413a00e853015373533a5300530053413a009b530953413a00db5308532d53005300534153295373533a5300530053413a009c530953413a00dc5308532d5300530053413a00f753015373533a5300530053413a009d530953413a00dd5308532d5300530053413a00ab53015373533a5300530053413a009e530953413a00de5308532d5300530053413a008153015373533a5300530053413a009f530953413a00df5308532d5300530053413a00a253015373533a5300530053413a00a0530953413a00e05308532d53005300532253025341537f537353413a0090530153715320530253413a00ef53005371537253413a00ef53015373533a5300530053413a00a1530953413a00e15308532d5300530053413a00d853005373533a5300530053413a00a2530953413a00e25308532d530053005322530253205302534153205371534153015374536b53415320536a533a5300530053413a00a3530953413a00e35308532d5300530053413a00ba53015373533a5300530053413a00a4530953413a00e45308532d53005300532253025341537f537353413a00fc530053715320530253413a0083530153715372533a5300530053413a00a5530953413a00e55308532d5300530053413a009d53015373533a5300530053413a00a6530953413a00e65308532d53005300532253025320530253413a00dc53005371534153015374536b53415324536b533a5300530053413a00a7530953413a00e75308532d53005300534153305373533a5300530053413a00a8530953413a00e85308532d5300530053225302534153105371532053025341537f537353413a00ef5301537153725341537f5373533a5300530053413a00a9530953413a00e95308532d5300530053413a00cc53005373533a5300530053413a00aa530953413a00ea5308532d5300530053413a00e953005373533a5300530053413a00ab530953413a00eb5308532d5300530053413a00bf53015373533a5300530053413a00ac530953413a00ec5308532d53005300532253025341537f537353413a00f4530053715320530253413a008b530153715372533a5300530053413a00ad530953413a00ed5308532d5300530053413a00dc53015373533a5300530053413a00ae530953413a00ee5308532d53005300532253025320530253413a00d753005371534153015374536b53415329536b533a5300530053413a00af530953413a00ef5308532d53005300532253025320530253413a00c453005371534153015374536b5341533c536b533a5300530053413a00b0530953413a00f05308532d53005300534153175373533a530053005320530353413a00f15308532d53005300533a53003a009553025320530353285302530853413a009c3a00bb3a00de3a00c05301533653025300530c535b530b5320530353285302530853413a00f73a00933a00e73a00de5302533653025300530c535a530b53413a00b1530953205303532d53003a0095530253413a009a53015373533a5300530053413a00b2530953413a00f25308532d5300530053413a00dc53005373533a5300530053413a00b5530953413a00f55308532d5300530053413a00e953015373533a5300530053413a00b8530953413a00f85308532d53005300532253025341537f537353413a00f253015371532053025341530d53715372533a5300530053413a00b3530953413a00f35308532d53005300532253025320530253413a00e053005371534153015374536b53415320536b533a5300530053413a00b4530953413a00f45308532d53005300532253025320530253413a00e953005371534153015374536b53413a00e95300536a533a5300530053413a00b6530953413a00f65308532d53005300532253025341537f537353413a0093530153715320530253413a00ec53005371537253413a00d953005373533a5300530053413a00b7530953413a00f75308532d5300530053225302534153365372532053025341537f537353413a00c95301537253715341537f5373533a5300530053413a00b9530953413a00f95308532d53005300532253025341537f537353413a00da5301537153205302534153255371537253413a00db53005373533a5300530053413a00ba530953413a00fa5308532d5300530053413a00a553015373533a5300530053413a00bb530953413a00fb5308532d5300530053413a009a53015373533a5300530053413a00bc530953413a00fc5308532d5300530053413a00e453015373533a5300530053413a00bd530953413a00fd5308532d5300530053413a00e453005373533a5300530053413a00a1530853413a00815308532d5300530053413a00c553005373533a5300530053413a00a0530853413a00805308532d53005300532253025341537f537353413a00ac530153725320530253413a00d3530053725371533a5300530053413a00a3530853413a00835308532d53005300532253025341537f537353413a00b5530153725320530253413a00ca530053725371533a5300530053413a00be530953413a00fe5308532d530053005322530253413a00a853015372532053025341537f537353413a00d75300537253715341537f5373533a5300530053413a00bf530953413a00ff5308532d530053005322530253205302534153335371534153015374536b53413a00cd5300536b533a5300530053413a00a2530853413a00825308532d53005300532253025341537f537353413a00cc530053715320530253413a00b353015371537253413a00bd53015373533a5300530053413a00a4530853413a00845308532d53005300532253025320530253413a00c153005371534153015374536b53413a00c15300536a533a5300530053413a00a5530853413a00855308532d5300530053413a00ea53015373533a5300530053413a00a6530853413a00865308532d5300530053413a00f453015373533a5300530053413a00a7530853413a00875308532d5300530053413a00d353005373533a5300530053413a00a8530853413a00885308532d53005300534153025373533a5300530053413a00a9530853413a00895308532d5300530053413a00e153005373533a5300530053413a00aa530853413a008a5308532d530053005322530253205302534153315371534153015374536b53413a00cf5300536b533a5300530053413a00ab530853413a008b5308532d5300530053413a00dd53005373533a5300530053413a00ac530853413a008c5308532d530053005322530253413a00fb53005371532053025341537f537353413a00845301537153725341537f5373533a5300530053413a00ad530853413a008d5308532d53005300532253025341532d5372532053025341537f537353413a00d25301537253715341537f5373533a5300530053413a00ae530853413a008e5308532d530053005322530253413a00fb53015372532053025341537f537353415304537253715341537f5373533a5300530053413a00af530853413a008f5308532d5300530053413a00db53015373533a5300530053413a00b0530853413a00905308532d530053005341531b5373533a530053005320530353285302530853413a00863a00fa3a00f33a008a537e533653025300530c5359530b53413a00805312534153015336530253005320530653415330536b53225306532453005320530353205306533653023a009053025320530653415340536a532253065324530053205303532053005345533a53003a008b53025320530353205306533653023a008c530253205303532053015345533a53003a008a53025320530353285302530853413a009f3a00c93a00e73a00c05302533653025300530c5358530b5320530353285302530853413a00d73a00ca3a00e83a0080537e53413a00a83a00953a00aa3a009e537d53413a00b4530b53285302530053413a00b8530b532853025300537253413a00cf3a00dd3a008c3a00d1537a534f532253025320530253413a00b33a00953a00923a00a0537c5373536a5322530253413a00983a00a43a00ed3a00b15301537253413a00903a00843a00805320536c5320530253413a00a73a00913a00923a0080537c537153413a00883a00a03a00ed3a00915301536c536a53413a00b83a009a3a00c13a00d95378534b531b533653025300530c5357530b5320530353205303532d53003a008b5302532253025341537f537353205303532d53003a008a5302532253045341537f53735371532053025320530453725341537f537353725341537f5373534153015371533a53003a008953025320530353285302530853413a00f53a00d53a00aa3a0085537953413a00a83a00953a00aa3a009e537d53413a00bc530b53285302530053413a00c0530b532853025300536e53413a00b93a00aa3a00c23a0090537b534f53413a008f3a00873a009e3a00985302536b532253025341537f537353413a00873a00803a00985310537153413a00803a00b03a00e05300537253413a00cd3a00803a00943a00a8537853735320530253413a00b23a00c83a00813a00c753055371537253413a00d83a00a23a00de3a00a0537f5349531b533653025300530c5356530b5320530353285302530853413a00b63a00df3a00e13a00d15305533653025300530c5355530b5320530353285302530853413a00d03a00e23a00e53a00c2537853413a00ea3a00e43a00ac3a00ba537853413a00c4530b53285302530053413a00c8530b532853025300537253413a00a23a00e03a00f63a00cf5303537253413a00f93a00993a00e73a00d05305536b53413a00c83a00933a009e3a0099537f537153413a00b83a009e3a00bc3a00bf53785346531b533653025300530c5354530b53413a00dc530b532853025300531a53413a00e0530b532853025300531a5320530353285302530853413a00d33a00953a009f3a008a537b533653025300530c5353530b5320530353285302530853413a00c93a00843a00893a00e7530153413a00b83a00833a00c53a00c1537d53413a00e4530b53285302530053413a00e8530b532853025300536b5322530253413a00c33a00f53a00933a00f353795372532053025341537f537353413a00bc3a008a3a00ec3a008c530653725371532253045341537f53735322530253413a00df3a00a63a008d3a008f530653725320530253413a00df3a00a63a008d3a008f53065371536c5320530253413a00a03a00d93a00f23a00f0537953715320530453413a00df3a00a63a008d3a008f53065371536c536a53413a00f53a00e43a00e53a00e4537c537353413a00e83a00fe3a00ba3a00f153075349531b533653025300530c5352530b5320530353285302530853413a00993a00e23a008c5372533653025300530c5351530b53205303532853023a0090530253225302534253005337530353005320530253415300533b5301532053205302534253005337530353185320530253425300533753035310532053025342530053375303530853205303532853023a0090530253413a00e0530a534153035310530a53205303532853023a0090530253413a00a0530a534153075310530a53205303532853023a0090530253413a00e05309534153075310530a53205303532853023a0090530253205303532853023a0090530253105309536a5322530253413a00a053085329530353005337530053005320530253413a00b05308532d53005300533a530053105320530253413a00a853085329530353005337530053085320530353205303532853023a0090530253105309533653023a008453025320530353285302530853413a008d3a00ae3a009f3a0085537c5336530253005320530353415300533653023a00905301530c5350530b532053035320530153415301537453225302533653023a00805302530253405302537f53415300532053025345530d5300531a532053023a00ad532253093a00a7532253045320530253415301537253413a00803a008053045349530d5300531a5341537f5320530453205309534253203a00883a00a7531b530b532253045310530c532253025345530d53005320530253415304536b532d530053005341530353715345530d530053205302534153005320530453105308530b5320530353205302533653023a00fc53015320530353285302530853413a00863a00e43a00d03a00be537f533653025300530c534f530b53413a00f4530b532853025300531a53413a00f8530b532853025300531a5320530353285302530853413a00943a00813a00a43a008f5378533653025300530c534e530b5320530353205303532853023a00fc53015345533a53003a00fb53015320530353285302530853413a00943a00813a00a43a008f537853413a00ef3a00ab3a00d83a008e537e53413a00fc530b5328530253005322530253413a0080530c532853025300532253045371532053025320530453725341537f537353725341537f537353413a00fb3a00f23a00ec3a00cd5306536c532253025320530253413a008c3a00963a00c33a00e053015373536a5320530253413a00f33a00e93a00bc3a009f537e5371536b53413a00833a00ca3a00f63a00fb5379537153413a00fb3a00e03a00f53a00f8537b534b531b533653025300530c534d530b53413a0084530c532853025300531a53413a0088530c532853025300531a5320530353285302530853413a00c53a00f33a00ab3a00a95305533653025300530c534c530b5320530353285302530853413a00f83a00bb3a00e43a00af537d53413a00b13a00fd3a00933a00d9530653413a008c530c53285302530053413a0090530c532853025300536a532253025341537f537353413a00d93a00b33a00ae531353715320530253413a00a63a00cc3a00d1536c537153725322530253413a00893a009f3a00ff3a00da53795371532053025341537f537353413a00f63a00e93a00913a00a553065372536a53413a00a23a00c43a008a3a00ab537a5347531b533653025300530c534b530b5320530353285302530853413a00d63a00fb3a00e63a00f65307533653025300530c534a530b5320530353285302530853413a00fa3a00dd3a008a536753413a00de3a00bf3a00ae3a00ab537a53413a009c530c53285302530053413a00a0530c532853025300536e53413a00fe3a00c43a00823a008b5303537253413a00863a00933a00f03a00dd5306536b53413a00f93a00d63a00c13a00da5378537153413a00f73a00f23a00e43a00a3537b534b531b533653025300530c5349530b5320530353285302530853413a00a13a009e3a00943a008a537d533653025300530c5348530b5320530353285302530853413a00fe3a00ff3a008a3a00da53055336530253005320530353415300533653023a008c5301530c5347530b532053035320530353285302534c53415301536a533653023a00f453015320530353285302530853413a00fa3a00eb3a00c13a00c9530653413a00f03a00cd3a00a73a009c537f53413a00bc530c53285302530053413a00c0530c532853025300537353413a00e93a00f03a0098536e536c53413a009f3a00ce3a00e13a00a7537f534f53413a00ab3a00903a00e23a00e35378537353413a009b3a00c93a00f73a00e153065349531b533653025300530c5346530b5320530353285302530853413a00a43a009e3a008a3a00ee537c53413a00ec3a00c93a00ab3a0098537e53413a00c4530c5328530253005322530253413a00c8530c53285302530053225304537153205302532053045372536a53413a00853a00de3a00af3a009d5303536a53413a00a93a00c13a00fc3a0081537d534f53413a009c3a00d53a009f3a00ba537d537253413a00f43a00823a00da3a009e537b534b531b533653025300530c5345530b5320530353205303532853023a00f45301532053015346533a53003a00f353015320530353285302530853413a00e63a00c03a00aa3a00c7530253413a00ec3a00c93a00ab3a0098537e53413a00cc530c53285302530053413a00d0530c532853025300537253413a009c3a00a13a00915334537353413a00e23a00d43a00ee3a00cb5307537253413a00883a00e13a00993a008653045347531b533653025300530c5344530b5320530353205303532853023a008853015336530253485320530353285302530853413a009a3a00ed3a00ba3a009f530353413a00bb3a00fd3a00e53a00e6530453413a00d4530c53285302530053413a00d8530c532853025300536e53413a009c3a00eb3a00c23a00c85306536c5341537f537353413a00d33a00933a00fa3a00ab537d537153413a009e3a00f13a00893a00e65301537353413a00a03a00cb3a00dd3a00cf53795349531b533653025300530c5343530b5320530353205303532853023a0080530253415301537253225305533653023a00ec530153413a00e0530c5328530253005321530253413a00dc530c5328530253005321530453205303532053055310530c53225305533653023a00e8530153205303532053055345533a53003a00e753015320530353285302530853413a00a03a00de3a00853a00c9537853413a00bb3a00fd3a00e53a00e6530453205304532053025341537f5373537153205302532053045341537f53735371536b53413a00c03a00f73a00bd3a00dd5302537253413a00ab3a00923a00883a00f35305536a53413a00d73a00f83a009f3a00c8537a5349531b533653025300530c5342530b5320530353285302530853413a00a13a008d3a00b93a009e530153413a00e33a00f73a00873a00ad530253205303532d53003a00e75301531b5336530253005320530353415300533653025358530c5341530b53205303532853023a00e0530153415300533a530053005320530353285302530853413a00bb3a00c53a008f3a00f85307533653025300530c5340530b5320530353285302530853413a00913a00f63a00ff3a00f1537c53413a00803a00ca3a00803a00cc537953413a00e4530c5328530253005322530253413a00e8530c53285302530053225304536a53205302532053045371534153015374536b5322530253413a00a93a00a33a00c1535953735320530253413a00a83a00a13a00c03a00d05303537353413a00ae3a00f53a00f83a00d653035371534153015374536b53413a00ae3a00f53a00f83a00d65303536a5322530253413a008d3a00fa3a00803a00e0530453735320530253413a008d3a00fa3a00803a00e053045371534153015374536a53413a00923a00e93a00a93a00a15379534b531b533653025300530c533f530b5320530353285302530853413a00933a00ae3a00cf3a00e053015336530253005320530353205301533653023a008053015320530353205303532853023a00805302533653023a00845301530c533e530b5320530353205303532853023a008053015336530253445320530353205303532853023a008453015336530253405320530353285302530853413a00fe3a00a43a00a13a0080530253413a00d93a00dc3a00f73a00a6530653413a00f4530c53285302530053413a00f8530c532853025300537253413a00cb3a00f03a00873a00bb5305536b53413a00d83a00f93a00e23a00c85302536e53413a009c3a00d83a00873a00f3537c537253413a009c3a00e53a00843a00ac5304534b531b533653025300530c533d530b532053035320530353285302534453225302534153025349533a53003a00d353015320530353415301532053025320530253415301534d531b53225302533653023a00d853015320530353205302534153015371533653023a00d453015320530353285302530853413a00c73a00bd3a00ef3a00a0530753413a00d93a00dc3a00f73a00a6530653413a00fc530c5328530253005341537f537353413a0080530d5328530253005341537f537353715341537f537353413a00cd3a00f83a00b33a00d7537d536c53413a00b33a00e13a00e33a00dc5301536a5322530253413a00a33a00893a00ac3a00fd537c53725320530253413a00a33a00893a00ac3a00fd537c5371536c5320530253413a00dc3a00f63a00d33a008253035371532053025341537f537353413a00a33a00893a00ac3a00fd537c5371536c536a53413a00e93a00db3a00c33a00e1537e5349531b533653025300530c533c530b5320530353285302530853413a00d43a00b13a0087533453413a00cc3a00d53a00bb3a00e3530353205303532d53003a00d35301531b53365302530053205303534153005336530253785320530353415300533653025374530c533b530b53413a0084530d532853025300531a53413a0088530d532853025300531a5320530353285302530853413a00f33a00993a00ce3a00be537f533653025300530c533a530b53205303532053035328530253485345533a53003a00cb53015320530353285302530853413a00a23a00da3a00fd3a0080530453413a00f03a00cc3a00a0533f53413a00ac530d53285302530053413a00b0530d532853025300537253413a008e3a00df3a00d33a00ec5306536e53413a00a13a008b3a00b53a00b25301536c53413a008c3a00bc3a00c3532c5346531b533653025300530c5339530b5320530353285302530853413a00b13a00ad3a00b33a00a15307533653025300530c5338530b5320530353285302530853413a00803a00d33a00ce3a00a0530753413a00b33a00973a00a13a0088530353413a00b4530d53285302530053413a00b8530d532853025300536a5322530253413a00d23a00e23a00fd530553725320530253413a00d23a00e23a00fd53055371536c5320530253413a00ad3a009d3a008253025371532053025341537f537353413a00d23a00e23a00fd53055371536c536a53413a008c3a00f23a00d63a00975303536a53413a00d43a00863a00fa537b537253413a00c23a009d3a00973a00f0537e5349531b533653025300530c5337530b5320530353285302530853413a00803a00d33a00ce3a00a0530753413a00b53a00cd3a00b83a00be530553413a00bc530d53285302530053413a00c0530d532853025300536b53413a00803a00fa3a00ca3a009a5305536a53413a00943a00813a009a3a009f5379537353413a009f3a00dd3a00c13a00f55306536c53413a008c3a00ae3a00803a009c537f534b531b533653025300530c5336530b5320530353205303532853023a00ac530153205303532853025348536b533653023a00c453015320530353285302530853413a00d13a00c93a00a43a008b5304533653025300530c5335530b5320530353205303532853023a00e8530153205303532853023a00c45301536a533653023a00c053015320530353285302530853413a00fc3a009b3a00af3a00c0537e53413a00ad3a00bf3a00e33a00cd537e53413a00cc530d53285302530053413a00d0530d532853025300536c53413a00da3a00e03a00d43a00a05302536a53413a00c23a00c03a00913a00e7537d537153413a00833a00ac3a008b3a00b1537f5346531b533653025300530c5334530b5320530353285302530853413a00b73a00cb3a00c63a009f5304533653025300530c5333530b53205303532853023a00c053015341533153205303532853025348531053085320530353285302530853413a00b13a00b33a00f43a00b253065336530253005320530353205303532853023a00c4530153365302535c530c5332530b532053035320530353285302537453365302533c5320530353205303532853025378533653025338532053035320530353285302537c53365302533453413a00d4530d532853025300531a53413a00d8530d532853025300531a5320530353285302530853413a00af3a00833a00863a00bc5303533653025300530c5331530b5320530353205303532853023a00d453015345533a53003a00bf53015320530353285302530853413a00f93a00a43a00f23a00b7530353413a00a13a00d23a00dc3a0082537a53413a00dc530d53285302530053413a00e0530d5328530253005371532253025320530253413a00f63a00c23a00d23a009d53025373536a5320530253413a00893a00bd3a00ad3a00e253015371536b53413a009f3a00ff3a008f3a00d95302537153413a00bd3a00c63a00b13a00ec5303536b53413a00ae3a00b03a00a553705349531b533653025300530c5330530b5320530353205303532853023a00fc530153205303532853025338536a53225305532d530053005320530353285302533c534153085374537253225302533653023a00b8530153205303532053025341533a536e53225307533653023a00b4530153413a00f0530d5328530253005321530253413a00ec530d532853025300532153045320530553205307533a530053005320530353285302530853413a00883a00fa3a00c13a00b9537b53413a00af3a00c33a008c3a00b5530453205304532053025341537f5373537153205302532053045341537f53735371536b53413a00d33a008e3a00803a00925306536c5322530253413a008f3a00e53a00c93a00c5537953725320530253413a008f3a00e53a00c93a00c553795371536c532053025341537f537353413a008f3a00e53a00c93a00c5537953715320530253413a00f03a009a3a00b63a00ba53065371536c536a53413a00f83a00ac3a00bc3a00b55302537353413a009c3a00e43a00d33a00815302534b531b533653025300530c532f530b5320530353285302530853413a00d93a00d83a00e23a00d35378533653025300530c532e530b5320530353285302530853413a00ab3a00d53a00873a00fc537a533653025300530c532d530b5320530353205303532853023a00b8530153205303532853023a00b45301532253025341533a5372532053025341533a5371536c53205302534153455371532053025341537f53735341533a5371536c536a536b533653023a00b053015320530353285302530853413a00ab3a00d53a00873a00fc537a53413a00873a00d63a00b53a00d2537b53413a00f4530d53285302530053413a00f8530d532853025300536e53413a00d93a00983a00b93a00fe537e537353413a00b23a00b03a00a33a00a05304536b532253025341537f537353413a00fb3a00873a00b13a00fb537b53725320530253413a00843a00f83a00ce3a008453045372537153413a00eb3a00db3a00c03a00a6537b5346531b533653025300530c532c530b5320530353285302530853413a00863a00d93a00863a00ec537b53413a009c3a00a03a00c63a00f2537d53413a0084530e53285302530053413a0088530e532853025300536a53413a00863a00de3a00ed3a00ea5300536e532253025341530653715341530153745320530253413a00d93a00ce3a00813a00a553055373536b53413a00863a00dc3a00e43a00ac537b536c53413a00f53a00f93a00873a00945378534b531b533653025300530c532b530b5320530353285302530853413a00aa3a00f33a00d73a00ec537d5336530253005320530353205303532853023a00b05301533653025370530c532a530b53205303532053035328530253705336530253305320530353285302530853413a008b3a00923a00813a0087537b53413a00e23a00b83a009e3a00ca530453413a008c530e5328530253005322530253413a0090530e532853025300532253045371532053025341537f5373532053045341537f5373537153725341537f537353413a00ed3a00de3a00bc3a00e1537c537253413a00a33a00eb3a00c73a00a85307537353413a00c93a00fc3a00973a008f5301534b531b533653025300530c5329530b53205303532853023a008c530253205303532853025330536a532d5300530053215302532053035320530353285302534053415301536b53225304533653023a00ac530153413a0098530e5328530253005321530553413a0094530e5328530253005321530753205303532853023a00e8530153205304536a53205302533a530053005320530353285302530853413a008b3a00923a00813a0087537b53413a00a83a00a03a00f43a00ed53035320530553205307537253413a00b23a00b23a00fc535a534f53413a00b13a00843a00e63a00d05378536c5322530253413a009f3a00f93a00be3a00e5530053715341530153745320530253413a00e03a00863a00c13a009a537f5373536b53413a00863a00d43a00a53a00b7537e534b531b533653025300530c5328530b5320530353285302530853413a00c33a00fd3a00cc3a00b353055336530253005320530353205303532853025344533653025360530c5327530b53413a00a8530e5328530253005321530553413a00a4530e5328530253005321530753205303532853023a00fc530153205303532853025324536a5322530253205302532d53005300532053035328530253285341530853745372532253025341533a536e53225308533a5300530053205303532853023a00fc530153205303532853025324532253045341537f537353413a00fd3a00b53a00b43a0081537c53715320530453413a00823a00ca3a00cb3a00fe53035371537253413a00fc3a00b53a00b43a0081537c5373532053045341530153715372536a5322530453205304532d5300530053205302532053085341533a536c532253045341537f5373537153415301537453205302532053045373536b5341530853745372532253025341533a536e53225304533a53005300532053035320530353285302532453415302536a533653023a00a453015320530353205302532053045341533a536c532253045341537f53735371532053025341537f5373532053045371536b533653023a00a85301532053035320530353285302532c53415302536a53225302533653023a00a05301532053035320530253205303532853023a00cc53015346533a53003a009f53015320530353285302530853413a00da3a00ee3a008f532553413a00d43a00af3a00c23a009d53035320530553205307536c53413a00d43a00d13a00b93a0089537d536c53413a00f53a00e33a00983a00bb53015346531b533653025300530c5326530b53205303532053035328530253605336530253205320530353285302530853413a00a63a00a13a00dd3a00d5530653413a00c73a00b93a00ef3a00fb537853205303532853023a00fc5301532d53005300531b533653025300530c5325530b5320530353285302530853413a00f43a00b93a00cc3a00c7537e53413a00943a00a53a00903a00d2530153413a00b4530e53285302530053413a00b8530e532853025300536a5322530253413a00843a0088530e537353205302537153413a00b63a00ca3a008e3a00da5378537153413a00a03a00be3a00c93a00ff5303536b53413a00e63a00903a00e73a00ac5304534b531b533653025300530c5324530b5320530353285302530853413a00813a00fc3a00c63a00a35301533653025300530c5323530b5320530353285302530853413a00ce3a008f3a009f3a00fa537d53413a00b93a00b03a00b83a0084537a53413a00c4530e53285302530053413a00c8530e532853025300536b53413a00e23a00de3a00ae3a00df5303536b53413a00ff3a00a33a00dc3a00a3537a534f5322530253413a00933a00903a00cd3a00a65304537353205302534153015374536a53413a00b83a00bb3a00dc531c534b531b533653025300530c5322530b53205303532053035328530253205345533a53003a009653015320530353285302530853413a00fc3a00983a008e3a00ff530453413a00e53a00ad3a00f13a00f4537853413a00dc530e53285302530053413a00e0530e532853025300536e53413a00d63a00813a00ed3a00eb5301536a53413a00a13a00b53a00eb3a00d35378534f53413a00f33a00b83a00b23a00e95305537353413a00c53a00c33a00d43a00f75303534b531b533653025300530c5321530b5320530353285302530853413a00c33a008f3a009b3a00a7537a533653025300530c5320530b5320530353285302530853413a00fd3a00ed3a00dc3a00b5537953413a009e3a00b43a00973a008e530453413a00ec530e53285302530053413a00f0530e532853025300536a5322530253413a00d03a00853a00e73a00ce530453715341530153745320530253413a00af3a00fa3a00983a00b1537b5373536b5322530253413a00c53a00e23a00ce3a0088530153725320530253413a00c53a00e23a00ce3a008853015371536c5320530253413a00ba3a009d3a00b13a00f7537e5371532053025341537f537353413a00c53a00e23a00ce3a008853015371536c536a53413a00de3a00823a00ec3a008b5302537253413a00893a00843a00d03a008753025346531b533653025300530c531f530b5320530353285302530853413a00b93a00843a00fe3a0082537f53413a00933a00ae3a00cf3a00e0530153205303532d53003a00965301531b5336530253005320530353205303532853023a00ac5301533653023a008453015320530353205303532853025320533653023a00805301530c531e530b532053035320530353285302535c53365302531c5320530353285302530853413a009e3a00fd3a00cb3a0096530653413a00fe3a00883a00be3a009a537a53413a00f4530e5328530253005322530253413a00f8530e53285302530053225304537253205302532053045371536c53205302532053045341537f53735322530453725341537f537353205302532053045371536c536a53413a00ae3a00e23a009d3a00a85303536a5322530453413a00b23a009f3a00da3a00f3537d53735322530253413a00d43a00be3a00ec3a009d537a53725320530253413a00d43a00be3a00ec3a009d537a5371536c5320530453413a00c43a00a03a00a43a008c5302537353413a00d43a00be3a00ec3a009d537a53715320530253413a00ab3a00c13a00933a00e253055371536c536a53413a008c3a00af3a00e23a00a053795349531b533653025300530c531d530b53413a0080530f5328530253005321530253413a00fc530e5328530253005321530453205303532853023a00e8530153225305532053055320530353285302531c53225307536a53205303532853023a00ec530153205307536b531053075320530353285302530853413a00d13a00e53a00843a00fe537853413a009e3a00fd3a00cb3a009653065320530453205302536b53413a00f23a00ca3a00f93a00b25303536a532253025320530253413a00fa3a00d83a00be3a008a53045371534153015374536b53413a00863a00a73a00c13a00f55303536b53413a00d13a00823a009d3a0097537e537353413a00823a00cb3a009b3a00c7537b5349531b533653025300530c531c530b5320530353285302530853413a00a13a008d3a00b93a009e53015336530253005320530353205303532853023a00e85301533653025358530c531b530b53205303532053035328530253585336530253185320530353285302530853413a00c93a00bd3a00b83a00fa530653413a00e13a00f63a00e43a00c5530553413a0084530f53285302530053413a0088530f532853025300537253413a00c23a00c43a00a13a00815305537353413a00de3a00c53a00ab3a00b15305537153413a00b53a00d93a00933a00955379536c53413a00bb3a009e3a00923a00e053075349531b533653025300530c531a530b53413a0090530f5328530253005321530253413a008c530f5328530253005321530453205303532853023a00fc53015310530d5320530353285302530853413a00e13a00f63a00e43a00c5530553413a00873a00c33a009e3a00bd537c53205302532053045371532253025341537f537353413a00e73a00f43a00a03a009f530253725320530253413a00823a00e43a00805309537153413a00e53a00933a00a13a00d653035372537153413a00a63a00cc3a009e3a00f953015349531b533653025300530c5319530b5320530353285302530853413a00843a00d43a00b83a00ea53795336530253005320530353205303532853025318533653025354530c5318530b5320530353285302530853413a00ca3a00c13a00b83a00e2537853413a00823a00853a00c73a00cc537953413a009c530f53285302530053413a00a0530f532853025300537353413a00f73a00df3a009f3a009f5304536e53413a00ed3a00983a00e43a00ba5302536b53413a00ca3a00d83a00803a00ea5304534b531b533653025300530c5317530b5320530353285302530853413a00d03a00b73a00cb3a00c95307533653025300530c5316530b5320530353285302530853413a00cd3a00e23a00db3a00d85378533653025300530c5315530b53413a00a1530a53413a0081530a532d5300530053413a00de53015373533a5300530053413a00a3530a53413a0083530a532d5300530053413a00b753015373533a5300530053413a00a6530a53413a0086530a532d530053005341531b5373533a5300530053413a00a7530a53413a0087530a532d5300530053413a00d853015373533a5300530053413a00a8530a53413a0088530a532d5300530053413a009553015373533a5300530053413a00a0530a53413a0080530a532d53005300532253025341537f537353413a00e653015371532053025341531953715372533a5300530053413a00a2530a53413a0082530a532d530053005322530253205302534153105371534153015374536b53413a00f05300536b533a5300530053413a00a4530a53413a0084530a532d53005300532253025341537f537353413a00a4530153715320530253413a00db5300537153725341537f5373533a5300530053413a00a5530a53413a0085530a532d530053005322530253205302534153095371534153015374536b53413a00f75300536b533a5300530053413a00a9530a53413a0089530a532d5300530053413a00f453005373533a5300530053413a00aa530a53413a008a530a532d5300530053413a00ed53015373533a5300530053413a00ac530a53413a008c530a532d530053005341530e5373533a5300530053413a00ad530a53413a008d530a532d5300530053413a00cb53005373533a5300530053413a00ab530a53413a008b530a532d53005300532253025341537f537353413a00bf530153715320530253413a00c0530053715372533a530053005320530353285302530853413a008a3a00d33a009d3a00bb5303533653025300530c5314530b53205303532853023a008c5302532253025342530053375303530053205302534253005337530353385320530253425300533753035330532053025342530053375303532853205302534253005337530353205320530253425300533753035318532053025342530053375303531053205302534253005337530353085320530353285302530853413a00b83a00833a00c53a00c1537d533653025300530c5313530b53205303532853023a00fc53015320530053205301531053065320530353285302530853413a00f83a00bb3a00e43a00af537d533653025300530c5312530b5320530353285302530853413a00e13a00823a00f33a00d25303533653025300530c5311530b5320530353285302530853413a00a43a009e3a008a3a00ee537c533653025300530c5310530b53205303532853023a008053025341530153725310530c531a5320530353285302530853413a00bb3a00fd3a00e53a00e65304533653025300530c530f530b5320530353285302530853413a00fe3a00a43a00a13a00805302533653025300530c530e530b5320530353285302530853413a00f33a00993a00ce3a00be537f533653025300530c530d530b5320530353285302530853413a00ea3a00cf3a009b3a00bf5301533653025300530c530c530b5320530353285302530853413a00a23a00da3a00fd3a00805304533653025300530c530b530b5320530353285302530853413a00af3a00833a00863a00bc5303533653025300530c530a530b53205303532853023a00fc530153205303532853025338536a5322530253205302532d530053005320530353285302533c53415308537453725341533a536e533a530053005320530353285302530853413a00af3a00c33a008c3a00b55304533653025300530c5309530b5320530353285302530853413a00ab3a00d53a00873a00fc537a533653025300530c5308530b5320530353285302530853413a00863a00d93a00863a00ec537b533653025300530c5307530b53205303532853023a00fc530153205303532853023a00dc53015320530353285302532053415301536b531053075320530353285302530853413a00d83a00b93a00863a009b5301533653025300530c5306530b5320530353285302530853413a00e53a00ad3a00f13a00f45378533653025300530c5305530b5320530353285302530853413a00f73a00e23a00ce3a00e7537a533653025300530c5304530b53205303532853023a00e8530153225302532053025320530353285302531c53225304536a53205303532853023a00ec530153205304536b531053075320530353285302530853413a00fe3a00883a00be3a009a537a533653025300530c5303530b53205303532853023a00fc53015310530d5320530353285302530853413a00c93a00bd3a00b83a00fa5306533653025300530c5302530b5320530353285302530853413a00823a00853a00c73a00cc5379533653025300530c5301530b5320530353285302530853413a00a33a00e03a00f13a00e35306533653025300530c5300530b5300530b3a00ee530953015306537f5323530053415330536b53225304532453005320530453413a00f23a008c3a00af3a0098537e5336530253045320530453413a00b4530f5328530253005322530353413a00b8530f53285302530053225305537253205303532053055371536c53205303532053055341537f53735322530553725341537f537353205303532053055371536c536a53413a00c23a00963a00e73a00b35301536e53413a00873a00953a00d23a00b05303536c53413a00ca3a00f73a00c33a00975302536a53365302532c532053045320530453415304536a5336530253005303534053025340530253405302534053025340530253405302534053025340532053045328530253045322530353413a00f13a008c3a00af3a0098537e534c530453405320530353413a00d63a00a73a00ab3a00a6537a534c530453405320530353413a00d83a00d93a00903a00a253785346530d53025320530353413a00f33a00e53a00e83a00fe53785346530d53055320530353413a00b83a00ff3a00fb3a00fb53795347530d53095320530453285302530053413a00d73a00a73a00ab3a00a6537a53413a00b43a00f33a008b3a0088537c53205304532d53005327531b53365302530053205304532053025336530253105320530453415300533653025314530c5309530b5320530353413a00c53a00ef3a00cf3a00f6537b534c530453405320530353413a00cb3a00e83a00c03a00d8537b5346530d53065320530353413a00d73a00a73a00ab3a00a6537a5347530d530953205304532853025328532153005320530453415330536a5324530053205300530f530b5320530353413a00c63a00ef3a00cf3a00f6537b5346530d53065320530353413a00b43a00f33a008b3a0088537c5347530d5308532053045320530453285302531053365302530c53205304532053045328530253145336530253085320530453285302530053413a00c63a00a13a00d53a00e9530753413a00853a00bd3a00c13a00da530753413a00d4530f53285302530053413a00d8530f5328530253005372532253035320530353413a00b33a00923a00aa3a009a53075371534153015374536b53413a00b33a00923a00aa3a009a5307536a5322530353413a00c53a00ff3a00e03a00d2537953715320530353413a00c53a00ff3a00e03a00d253795372536a53225303532053035341537f537353413a00fb3a00ba3a00b03a00e853055372536a53415301536a53413a00d03a00d73a00ea3a00df5306534b531b533653025300530c5308530b530253405320530353413a009c3a00c53a00fb3a00835303534c530453405320530353413a00f23a008c3a00af3a0098537e5346530d53015320530353413a00e83a00e73a00c93a00a7537e5346530d53045320530353413a009d3a00c43a00833a00e3537e5347530d53095320530453285302530053413a00b83a00ff3a00fb3a00fb5379533653025300530c5309530b5320530353413a00c53a00a13a00d53a00e95307534c530453405320530353413a009d3a00c53a00fb3a008353035346530d53035320530353413a00853a00bd3a00c13a00da53075347530d530953413a00e0530f5328530253005321530553413a00dc530f53285302530053215307532053045328530253085322530653205304532853025328536a5320530453285302530c532253035320530053205306536a532d530053005373533a5300530053205304532053035341530f537653225306532053035341530d5376532253085341537f5373537153205308532053065341537f537353715372532053035341530c53765373532053035341530a537653735341531f53745320530453285302530c5341530153765372533653025320532053045320530453285302530853415301536a5322530353365302531c5320530453205301532053035346533a5300531b5320530453285302530053413a00cb3a00e83a00c03a00d8537b53413a00c63a00a13a00d53a00e953075320530553205307537253413a00cc3a00b93a00f83a00975305536c53413a00983a00cf3a00b43a00e65307536a5322530353413a00dc3a00d73a00e43a00a1530653735320530353413a00dc3a00d73a00e43a00a153065371534153015374536a53413a009d3a00a43a00a23a00ac537e5347531b533653025300530c5309530b5320530353413a00c63a00a13a00d53a00e953075346530d53075320530353413a00bc3a00db3a00993a00ed53075347530d5308532053015310530c531a5320530453285302530053413a00d83a00d93a00903a00a25378533653025300530c5308530b5320530453285302530053413a00d83a00d93a00903a00a2537853413a00bc3a00db3a00993a00ed53075320530453285302532c53413a00ac3a00f83a00833a009753795349531b533653025300530c5307530b53413a00c0530f5328530253005321530353413a00bc530f5328530253005321530553205304532053015310530c5336530253285320530453285302530053413a00bc3a00db3a00993a00ed530753413a009d3a00c53a00fb3a00835303532053035320530553725322530353413a00e43a00fa3a00893a0094537d53735320530353413a00843a00f83a00883a00945305537353413a00943a00fd3a009c3a009753055371534153015374536b53413a00ec3a00823a00e33a00e85302536b5322530353413a00f03a00ed3a00873a00ba530753725320530353413a008f3a00923a00f83a00c553785373537153413a00cd3a00a83a00b53a008753035349531b533653025300530c5306530b5320530453285302530053413a00e83a00e73a00c93a00a7537e533653025300530c5305530b5320530453285302530053413a00c63a00ef3a00cf3a00f6537b53413a00f33a00e53a00e83a00fe537853413a00c4530f53285302530053413a00c8530f5328530253005373532253035341537f537353413a00b93a00d53a0094532953725320530353413a00c63a00aa3a00eb53565372537153413a008f3a00f13a00c13a009c5305536b532253035341537f537353413a00be3a00c43a00963a008d537f53725320530353413a00c13a00bb3a00e93a00f253005372537153413a00cb3a00943a00d83a00eb537c534b531b533653025300530c5304530b53205304532053015345533a530053275320530453285302530053413a00c63a00ef3a00cf3a00f6537b53413a009d3a00c43a00833a00e3537e53413a00cc530f5328530253005341537f537353413a00d0530f5328530253005341537f537353725322530353413a00803a00953a00a83a00f253005371532053035341537f53735322530353413a00e83a00a03a00853a008553045371537253413a00a03a00b13a008d533553735320530353413a00a03a00a43a00a53a00c753005371537253413a00973a00ca3a00d23a0088537b537253413a00b83a00813a00aa3a00c753025346531b533653025300530c5303530b5320530453285302530053413a00d73a00a73a00ab3a00a6537a53413a00b43a00f33a008b3a0088537c53205304532d5300531b531b533653025300532053045320530453285302531c5336530253145320530453205304532853025320533653025310530c5302530b5320530453285302530053413a00f33a00e53a00e83a00fe5378533653025300530c5301530b532053045328530253085322530353205304532853025328536a5320530053205303536a532d530053005322530353205304532d5300530c5322530553715341537f5373532053035341537f5373532053055341537f537353715341537f53735371533a530053005320530453285302530053413a00853a00bd3a00c13a00da5307533653025300530c5300530b5300530b3a00b5531853025311537f5301537e5323530053413a00e05300536b53225303532453005320530353413a00d13a00f33a00d53a00ea53045336530253085320530353413a00e4530f5328530253005322530453413a00e8530f532853025300532253075371532053045341537f5373532053075341537f5373537153725341537f537353413a00ca3a00f13a00a85376534f53413a00b23a00db3a00b63a00fb5379536c53413a00f43a00943a00ec3a00ac5306536e53365302535c532053035320530353415308536a533653025304532053025341530e536a53215309532053025341530f536a5321530a532053015341530853765321530b532053015341531053765321530753205301534153185376532153085320530253415303536a5321530c5320530253415305536a5321530d5320530253415306536a5321530e5320530253415307536a5321530f5320530253415309536a53215310532053025341530a536a53215311532053025341530b536a53215312532053025341530d536a532153135303534053025340530253405302534053025340530253405302534053025340532053035328530253085322530453413a00e63a00a33a00c43a009d5302534c530453405320530453413a00aa3a00ab3a00903a00f6537c534c530453405320530453413a00ad3a00f83a00e83a00c353795346530d53025320530453413a00a43a00843a00d83a0088537c5346530d53075320530453413a00e53a00df3a00c43a00dd537a5347530d53095320530353413a00e05300536a53245300530f530b5320530453413a00ab3a00ab3a00903a00f6537c5346530d53035320530453413a00923a00ce3a00dd3a0089537e5346530d53045320530453413a00c83a00b93a00913a009f537f5347530d53085320530353285302530453413a00a73a00c63a00a93a00e85303533653025300530c5308530b530253405320530453413a00d03a00f33a00d53a00ea5304534c530453405320530453413a00e73a00a33a00c43a009d53025346530d53085320530453413a00f13a00c23a00c23a00aa53025346530d53015320530453413a00a73a00c63a00a93a00e853035347530d53095320530353285302530453413a00ad3a00f83a00e83a00c3537953413a00a43a00843a00d83a0088537c53413a00f4530f53285302530053413a00f8530f532853025300536e53413a00c23a00833a00ba3a00c7537e537353413a00f73a00a03a00e75321536c5322530453413a00de3a00f53a00e3530e53725320530453413a00de3a00f53a00e3530e5371536c5320530453413a00a13a008a3a009c53715371532053045341537f537353413a00de3a00f53a00e3530e5371536c536a53413a00833a00953a008653335347531b533653025300530c5309530b5320530453413a00ee3a00933a00863a00c253055346530d53055320530453413a00cc3a00e83a008e3a009b53055346530d53025320530453413a00d13a00f33a00d53a00ea53045347530d53085320530353285302530453413a00ee3a00933a00863a00c2530553413a00f13a00c23a00c23a00aa53025320530353285302535c53413a00e53a00ec3a008b3a00e853795346531b533653025300530c5308530b53413a00f0530f5328530253005321530453413a00ec530f5328530253005321530653413a008853125320530053205301536a53415301536b3a00ad53375303530053413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530053413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5322531453375303530053205314534253213a00883a00a753215305532053035320530253415301536a5336530253585320530253205305533a5300530153413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5322531453375303530053205314534253213a00883a00a753215305532053035320530253415302536a5336530253545320530253205305533a5300530253413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5322531453375303530053205314534253213a00883a00a753215305532053035320530c5336530253505320530253205305533a5300530353413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5322531453375303530053205314534253213a00883a00a753215305532053035320530253415304536a53365302534c5320530253205305533a5300530453413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5322531453375303530053205314534253213a00883a00a753215305532053035320530d5336530253485320530253205305533a5300530553413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5322531453375303530053205314534253213a00883a00a753215305532053035320530e5336530253445320530253205305533a5300530653413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5322531453375303530053205314534253213a00883a00a753215305532053035320530f5336530253405320530253205305533a5300530753413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5322531453375303530053205314534253213a00883a00a753215305532053035320530253415308536a53365302533c5320530253205305533a5300530853413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5322531453375303530053205314534253213a00883a00a75321530553205303532053105336530253385320530253205305533a5300530953413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5322531453375303530053205314534253213a00883a00a75321530553205303532053115336530253345320530253205305533a5300530a53413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5322531453375303530053205314534253213a00883a00a75321530553205303532053125336530253305320530253205305533a5300530b53413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5322531453375303530053205314534253213a00883a00a75321530553205303532053025341530c536a53365302532c5320530253205305533a5300530c53413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5322531453375303530053205314534253213a00883a00a75321530553205303532053135336530253285320530253205305533a5300530d53413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530353205314534253213a0088533c530053275320530353285302530453413a00f13a00c23a00c23a00aa530253413a00c83a00b93a00913a009f537f5320530453205306537353205304532053065371534153015374536a53413a00973a00c23a00bc3a00a2537b537153413a00db3a00c13a00853a00b45304536b53413a00943a00e43a00e53a00d3537b537353413a00fe3a00e93a00c23a00db537d5349531b533653025300530c5307530b532053035320530953365302532053413a00fc530f5328530253005321530453413a00805310532853025300532153065320530253205303532d53005327533a5300530e53413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5322531453375303530053205314534253213a00883a00a753215305532053035320530a53365302531c5320530253205305533a5300530f53413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530353205314534253213a00883a00a753225305532053055341537f5373534153015372536a53415302536a53225305533a5300531b5320530253205305533a530053005320530353205303532d5300531b532253055336530253145320530253205305536a53205301533a53005300532053035320530b533a53005313532053035320530253205303532853025314534153045372536a53365302530c5320530353285302530453413a00cc3a00e83a008e3a009b530553413a00ad3a00f83a00e83a00c3537953205306532053045341537f537353715341537f537353205304532053065341537f537353715341537f537353715341537f537353413a00ea3a00b93a00e13a00fd537d537153413a009a3a00d13a00b23a00c7537c536c53413a00923a00893a00f53a00d85303536b53413a00e73a00a43a00993a00b65302534b531b533653025300530c5306530b5320530353285302530453413a00ab3a00ab3a00903a00f6537c533653025300530c5305530b53413a00845310532853025300531a53413a00885310532853025300531a5320530353285302530453413a00923a00ce3a00dd3a0089537e533653025300530c5304530b53413a00905310532853025300531a53413a008c5310532853025300531a5320530353285302530c53205303532d53005313533a530053005320530253205303532853025314534153085372536a53205307533a5300530053205302532053035328530253145341530c5372536a53205308533a530053005320530353285302531c53205303532d5300531b53225304532053045341537f5373534153335372536a53205303532853025358532d5300530053225304532053045341537f5373534153335372536a536a53205303532853025354532d53005300534153335371536a53415302536a5322530453205303532853025350532d5300530053415333537153225306537353205304532053065371534153015374536a5320530353285302534c532d53005300534153335371536a53205303532853025348532d5300530053225304534153335372532053045341534c53735371536a53205303532853025344532d53005300534153335371536a53205303532853025340532d53005300534153335371536a5320530353285302533c532d53005300534153335371536a53205303532853025338532d53005300534153335371536a53205303532853025334532d53005300534153335371536a53205303532853025330532d5300530053225304532053045341537f5373534153335372536a536a5320530353285302532c532d53005300534153335371536a53205303532853025328532d5300530053225304534153335372532053045341534c53735371536a53415301536a5322530453205303532853025320532d5300530053415333537153225306537153205304532053065372536a533a530053005320530353285302530453413a00e53a00df3a00c43a00dd537a533653025300530c5303530b53413a008853125320530053205301536a53415301536b3a00ad53375303530053413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530053413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530153413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530253413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530353413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530453413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530553413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530653413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530753413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530853413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530953413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530a53413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530b53413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530c53413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530d53413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c5337530353005320530353285302530453413a00f13a00c23a00c23a00aa5302533653025300530c5302530b5320530253205303532d53005327533a5300530e53413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c532253145337530353005320530253205314534253213a0088533c5300530f53413a0088531253413a0088531253295303530053423a00ad3a00fe3a00d53a00e43a00d43a00853a00fd3a00a83a00d85300537e53425301537c53225314533753035300532053025341530053205314534253213a00883a00a75341537f53735341537e537253225304536b533a530053005320530253205304536b53205301533a530053005320530353285302530453413a00ad3a00f83a00e83a00c35379533653025300530c5301530b5320530353285302530c53205303532d53005313533a530053005320530253205303532853025314532253045341537f537353413a00ee3a00a03a00983a0090537953715320530453413a00913a00df3a00e73a00ef53065371537253413a00e63a00a03a00983a009053795373532053045341530853715372536a53205307533a530053005320530253205303532853025314532253045341537f537353413a00833a00cb3a00f13a0087530253715320530453413a00fc3a00b43a008e3a00f8537d5371537253413a008f3a00cb3a00f13a008753025373532053045341530c53715372536a53205308533a530053005320530353285302531c53205303532d5300531b53415333537153205303532853025358532d53005300534153335371536a53205303532853025354532d53005300534153335371536a53205303532853025350532d5300530053225304532053045341537f5373534153335372536a536a5320530353285302534c532d53005300534153335371536a53205303532853025348532d53005300534153335371536a53205303532853025344532d53005300534153335371536a53205303532853025340532d53005300534153335371536a5320530353285302533c532d5300530053225304534153335372532053045341534c53735371536a53205303532853025338532d53005300534153335371536a53415301536a5322530453205303532853025334532d53005300532253065341534c537353205306537153225306537153205304532053065372536a53205303532853025330532d53005300534153335371536a532253045320530353285302532c532d5300530053225306534153335372532053065341534c5373537153225306537153205304532053065372536a53205303532853025328532d53005300534153335371536a53205303532853025320532d53005300534153335371536a533a530053005320530353285302530453413a00923a00ce3a00dd3a0089537e533653025300530c5300530b5300530b3a0088531353015309537f5323530053415340536a5322530553245300532053055322530353413a00fa3a00d43a009a3a00ed537b5336530253045320530353413a009453105328530253005322530253413a009853105328530253005322530453205304532053025320530453735341537f53735371534153015374536b536a5322530453413a00db3a00eb3a009f537e53725320530453413a00c93a00aa3a009f3a00b6537e53725322530253413a00da3a00e93a009a3a00ce53035371536c5320530253413a00a53a00963a00e53a00b1537c5371532053045341537f537353413a00923a00c13a00803a00c853015371536c536a5322530253413a00d03a00f43a00b73a00cf5307537353205302537153365302533c532053035320530353415304536a53365302530053035340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340532053035328530253045322530253413a00813a00833a00b53a00a1537e534c530453405320530253413a00b43a00803a00d63a008e537c534c530453405320530253413a00e73a00dc3a00803a00a15379534c530453405320530253413a00e13a00983a00c03a008753785346530d530f5320530253413a00d23a00c03a00cd3a00da53785346530d53055320530253413a00e13a00ed3a00e43a00f153785347530d53125320530553415310536b53225305532453005320530353285302530053413a009b3a00fa3a00ab3a008a5301533653025300530c5312530b5320530253413a00eb3a00853a00c13a00dc537a534c530453405320530253413a00e83a00dc3a00803a00a153795346530d53095320530253413a00eb3a00ff3a00d13a00c3537a5347530d53125320530353285302530053413a00b53a00803a00d63a008e537c533653025300530c5312530b5320530253413a00ec3a00853a00c13a00dc537a5346530d530a5320530253413a00fa3a00d43a009a3a00ed537b5347530d53115320530353285302530053413a009b3a00fa3a00ab3a008a530153413a00e13a00ed3a00e43a00f153785320530353285302533c53413a00bd3a008a3a00e73a00a5537a5349531b533653025300530c5311530b5320530253413a00ed3a00f53a00c73a00f1537c534c530453405320530253413a00b53a00803a00d63a008e537c5346530d530b5320530253413a00d13a00823a00f43a00bf537c5346530d53025320530253413a00bf3a00ed3a00b83a00d3537c5347530d531153413a00e453105328530253005321530253413a00e85310532853025300532153025320530353285302530053413a00b53a00803a00d63a008e537c533653025300530c5311530b5320530253413a00f23a00b83a00c93a00b0537d534c530453405320530253413a00ee3a00f53a00c73a00f1537c5346530d53105320530253413a00d23a00be3a00853a00ae537d5347530d53115320530353285302530053413a00d13a00823a00f43a00bf537c533653025300530c5311530b5320530253413a00f33a00b83a00c93a00b0537d5346530d53045320530253413a008c3a00b43a00893a00b8537d5347530d53105320530353285302530053413a00f33a00b83a00c93a00b0537d53413a00fd3a00943a00a43a0093530653413a00b4531053285302530053413a00b85310532853025300537253413a00bc3a00d73a00a03a00de5304536a53413a00cc3a00ee3a00da3a0088537e537353413a00a23a00d83a00e33a00a45379534b531b533653025300530c5310530b530253405320530253413a00a83a00da3a00f33a00ad5305534c530453405320530253413a009a3a00fa3a00ab3a008a5301534c530453405320530253413a00823a00833a00b53a00a1537e5346530d53075320530253413a00ae3a00d33a009d3a00dc537e5346530d53105320530253413a00d53a00973a00f83a00fb537e5347530d53125320530353285302530053413a00ec3a00853a00c13a00dc537a533653025300530c5312530b5320530253413a00a13a00d93a00863a00f35303534c530453405320530253413a009b3a00fa3a00ab3a008a53015346530d53025320530253413a00f13a00e23a00923a00dd53015347530d53125320530353285302530053413a00bf3a00ed3a00b83a00d3537c533653025300530c5312530b5320530253413a00a23a00d93a00863a00f353035346530d53035320530253413a00d33a00a53a00a23a009953045347530d53115320530353285302530053413a00aa3a00ce3a00e23a00d153065336530253005320530353205303532853025324533653025314530c5311530b5320530253413a00a93a00ce3a00e23a00d15306534c530453405320530253413a00f23a00ed3a00a23a00915306534c530453405320530253413a00823a00f73a00fe3a00b853055346530d530e5320530253413a00a93a00da3a00f33a00ad53055347530d531253205303532853025320532153005320530353415340536b5324530053205300530f530b5320530253413a00f33a00ed3a00a23a009153065346530d53095320530253413a00fd3a00943a00a43a009353065347530d53115320530353285302530053413a00f33a00b83a00c93a00b0537d533653025300530c5311530b5320530253413a00aa3a00ce3a00e23a00d153065346530d530b5320530253413a00c93a00993a00b93a00fc53065346530d53065320530253413a009f3a00c23a00ba3a00d153075347530d53105320530353285302530053413a00aa3a00ce3a00e23a00d1530653413a00823a00833a00b53a00a1537e53205303532d53005337531b533653025300532053035341537f533653025318532053035341530053365302531c5320530353415300533653025314530c5310530b53413a00a053105328530253005321530453413a009c5310532853025300532153025320530553415310536b532253055324530053205303532053055336530253385320530353285302530053413a00d23a00be3a00853a00ae537d53413a009b3a00fa3a00ab3a008a53015320530253205304536a5322530253413a009d3a00983a008f3a00ef530553725320530253413a00e23a00e73a00f03a0090537a5373537153413a00bf3a00f43a009e3a00ec5300536e532253025341531c53715341530153745320530253413a00a33a009f3a00dc3a00d953005373536b53413a00da3a00d03a00a63a00be537b534b531b533653025300530c530f530b5320530353285302530053413a00a23a00d93a00863a00f3530353413a00e13a00983a00c03a0087537853413a00a4531053285302530053413a00a85310532853025300536e53413a00e83a008b3a00c23a0099537c53725322530253413a00a33a00f03a00a13a00fb530253715341530153745320530253413a00dc3a008f3a00de3a0084537d5373536b53413a00843a00e03a00eb3a00aa5307536c53413a009d3a009e3a00eb3a00c5537d5349531b533653025300530c530e530b53205303532053015345533a530053375320530353285302530053413a00d23a00c03a00cd3a00da537853413a00e13a00983a00c03a0087537853413a00ac531053285302530053413a00b05310532853025300536c5322530253413a00923a00903a00815309537353413a00e93a00a33a00fc3a00d2537c53725320530253413a00883a00813a00c83a00d05300537353413a00963a00dc3a00833a00ad5303537253715322530253413a00ec3a00cb3a00ad3a00b9537e53725320530253413a00ec3a00cb3a00ad3a00b9537e5371536c532053025341537f537353413a00ec3a00cb3a00ad3a00b9537e53715320530253413a00933a00b43a00d23a00c653015371536c536a53413a00823a00d23a00c43a0097537a534b531b533653025300530c530d530b5320530353285302530053413a008c3a00b43a00893a00b8537d533653025300530c530c530b53413a00bc531053285302530053413a00c05310532853025300536e531a5320530353285302530053413a009f3a00c23a00ba3a00d15307533653025300530c530b530b5320530353205303532853025318533653025310532053035320530353285302531c53365302530c5320530353285302530053413a00ae3a00d33a009d3a00dc537e53413a00c93a00993a00b93a00fc530653413a00c45310532853025300532253025341537f537353413a00c33a00a73a00e63a00d2537b53715320530253413a00bc3a00d83a00993a00ad53045371537253413a00c85310532853025300532253025341537f537353413a00c33a00a73a00e63a00d2537b53715320530253413a00bc3a00d83a00993a00ad53045371537253735322530253413a00a13a00f43a008d3a00ba530653725320530253413a00a13a00f43a008d3a00ba53065371536c532053025341537f537353413a00a13a00f43a008d3a00ba530653715320530253413a00de3a008b3a00f23a00c553795371536c536a53413a00c43a009a3a00ef3a00db5306536b53225302532053025341537f537353413a00953a00ed3a00f93a008b53015372536a53413a00993a00ec3a00f73a00b253785346531b533653025300530c530a530b532053005320530353285302530c53225302536a532d5300530053215304532053035320530253415301537153205302534153015372536a5322530253365302532c5320530353205301532053025346533a5300532b5320530353413a00a03a00863a00e23a00ed537e5341530053205304532053035328530253105373532253065341537e5373532053065371531b532253045320530653415301537653225302536a53205302532053045371534153015374536b532253095341530153765322530453413a00a03a00863a00e23a00ed537e53415300532053065341537f53735322530a5341537d53725341537f5347531b5322530253715341537f5373532053045341537f5373532053025341537f537353715341537f537353715322530753415306537653225308532053065341531b53745341531f537553413a00e43a00a03a00dc3a00ed53015371532053065341531c53745341531f537553413a00b23a00903a00ee3a00f65300537153225304532053065341531d53745341531f537553413a00993a00883a00b7533b5371532253025371532053025320530453725341537f5373537253735322530253413a00fd3a00ae3a00df53445371532053025341537f537353413a00823a00903a00a0533b5371537253413a00c83a00c13a00b83a00db5303534153005320530a5341535f53725341537f5347531b532253025341537f537353413a00fd3a00ae3a00df534453715320530253413a00803a00c13a00a0531b537153725373532253025341537f5373537153205302532053085341537f53735371537253413a00903a00833a00f13a00b6530753415300532053095341537f53735341535f53725341537f5347531b537353413a00a03a00863a00e23a00ed537e53415300532053075341537f53735341535f53725341537f5347531b53735336530253305320530353285302530053413a00e83a00dc3a00803a00a1537953413a00c93a00993a00b93a00fc530653413a00cc531053285302530053413a00d05310532853025300536b53413a00e23a00973a00ac3a00e35305536a5322530253413a009a3a00c83a00813a00c8537b53735320530253413a009a3a00c83a00813a00c853035371534153015374536a53413a00b93a00bf3a008a3a008553065349531b533653025300530c5309530b5320530353285302530053413a00f33a00ed3a00a23a0091530653413a00823a00833a00b53a00a1537e53205303532d5300532b531b533653025300532053035320530353285302532c53365302531c5320530353205303532853025330533653025318530c5308530b5320530353285302530053413a00d53a00973a00f83a00fb537e53413a00ec3a00853a00c13a00dc537a53413a00d453105328530253005322530453413a00d85310532853025300532253025372532053025320530453735341537f5373537153413a00883a00b23a00f83a00945378537253413a00a53a00883a00b43a00a85302537353413a00d73a00a13a00e53a00df5300536b53413a00f03a00ec3a008c3a00c3537b534b531b533653025300530c5307530b53205303532053035328530253305341537f537353365302532453413a00dc5310532853025300531a53413a00e05310532853025300531a5320530353285302530053413a00f13a00e23a00923a00dd5301533653025300530c5306530b53413a00ec5310532853025300531a53413a00f05310532853025300531a5320530353285302530053413a00d33a00a53a00a23a00995304533653025300530c5305530b53205303532053035328530253145336530253085320530353285302530053413a00823a00f73a00fe3a00b8530553413a00ee3a00f53a00c73a00f1537c53413a00f4531053285302530053413a00f85310532853025300536e53413a00c53a00f73a00eb3a00ed5301536b5322530253413a00983a00ec3a00843a00be53015371532053025341537f537353413a00e73a00933a00fb3a00c1537e537153725341537f5373532253025320530253413a009c3a00b73a00c33a00ba53035371534153015374536b53413a00da3a00843a008153225347531b533653025300530c5304530b53413a008053115328530253005321530853413a00fc53105328530253005321530453205303532853025338532253025342530053375303530853205302534253005337530353005320530153205303532853025308532053035328530253385310530353205303534153105310530c5322530753365302532053205307532053035328530253385322530253295300530053375300530053205307532053025329530053085337530053085320530353285302530053413a00a93a00da3a00f33a00ad530553413a00823a00f73a00fe3a00b853055320530453205308536a53413a00e93a00a83a00d03a00905301536b5322530253413a00cb3a00a43a00983a00c05378537253413a00fb3a00be3a00da3a00cc537a53715320530253413a00fb3a00bf3a00df3a00dd537e5372536a53413a00a43a00cf3a009d3a00825303534b531b533653025300530c5303530b5320530353285302530053413a00a23a00d93a00863a00f35303533653025300530c5302530b5320530353285302530053413a00c93a00993a00b93a00fc5306533653025300530c5301530b532053035328530253385322530253425300533753035300532053025342530053375303530853205301532053035328530253085320530353285302533853105303534153105310530c53225304532053035328530253385322530253295300530053375300530053205304532053025329530053085337530053085320530353285302530053413a00823a00f73a00fe3a00b85305533653025300530c5300530b5300530b3a00a853175301530c537f5323530053413a00805301536b5322530553245300532053055322530353413a00c93a00e53a00a93a00c953025336530253085320530353413a0084531153285302530053413a00885311532853025300536e53413a00ed3a00db3a00805367537353413a00cd3a00b23a009c3a00945378536c53413a00ea3a00d53a00df3a00d55307536b53365302537c532053035320530353415308536a533653025304532053015341530353715321530a532053015341530453495321530b532053015341537c53725321530c5303534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340530253405302534053025340532053035328530253085322530253413a00aa3a009e3a00915333534c530453405320530253413a00b73a00d93a00b73a00b4537c534c530453405320530253413a00a93a009e3a00bb3a00b6537a534c530453405320530253413a00da3a00c33a00c53a00875379534c530453405320530253413a00f63a00a93a00ef3a00b553785346530d53075320530253413a00943a00863a00903a008453795347530d531753205303532053015345533a530053775320530353285302530453413a00f63a00a93a00ef3a00b55378533653025300530c5317530b5320530253413a00db3a00c33a00c53a008753795346530d53145320530253413a00953a00f73a00fe3a009a53795347530d53165320530353285302530453413a00b83a00d93a00b73a00b4537c53413a008a3a00da3a00c53a0082537d53205303532d53005377531b5336530253005320530353413a00c53a00bb3a00f23a00885378533653025328530c5316530b5320530253413a008e3a00e53a00bb3a00bb537b534c530453405320530253413a00aa3a009e3a00bb3a00b6537a5346530d53035320530253413a00ac3a00bd3a00ea3a008c537b5347530d53165320530353285302530453413a009c3a00d73a008b3a0080530453413a00c73a009d3a00cd3a00d1530153205303532d5300536f531b533653025300532053035341530053365302533c5320530353413a00c53a00bb3a00f23a00885378533653025338530c5316530b5320530253413a008f3a00e53a00bb3a00bb537b5346530d530d5320530253413a00ea3a00bb3a00a23a00d5537b5346530d53065320530253413a009c3a00f63a00ad3a00d6537b5347530d53155320530353285302530453413a00d73a00c33a00ef3a00d65301533653025300530c5315530b5320530253413a00b33a00f03a00a23a00d8537d534c530453405320530253413a00893a00da3a00c53a0082537d534c530453405320530253413a00b83a00d93a00b73a00b4537c5346530d53105320530253413a00c63a00b83a00813a00ea537c5347530d5316532053035320530353285302532c533653025318532053035320530353285302533053365302531453205303532053035328530253345336530253105320530353285302530453413a00db3a00c33a00c53a0087537953413a00923a00f13a009f3a00e9530453413a00dc531153285302530053413a00e05311532853025300536b53413a00873a00c23a00cb3a00a25305536b53413a00e63a00a83a00863a00965307536e5322530253413a00f23a00d53a00913a00a65303537253205302534153025371536c532053025341537f537353413a00f23a00d53a00913a00a65303537153205302534153015371536c536a53413a00de3a00f33a009d3a00b65302534b531b533653025300530c5316530b5320530253413a008a3a00da3a00c53a0082537d5346530d53075320530253413a00d93a00953a00d63a0096537d5347530d53155320530553415310536b53225305532453005320530353285302530453413a00aa3a009e3a00bb3a00b6537a533653025300530c5315530b5320530253413a00f63a009f3a00cc3a00de537e534c530453405320530253413a00b43a00f03a00a23a00d8537d5346530d53035320530253413a008b3a00d33a00fe3a0087537e5347530d531553413a00f853115328530253005321530753413a00f45311532853025300532153045320530353285302537853225302534253005337530353085320530253425300533753035300532053015320530353285302530c532053035328530253785310530353205303534153105310530c5322530653365302535053205306532053035328530253785322530253295300530053375300530053205306532053025329530053085337530053085320530353285302530453413a008a3a00843a00f33a00d7530053413a009e3a008b3a009b3a00a6530353205304532053075372532253025320530253413a00d93a00bd3a00f63a009953045371534153015374536b53413a00be3a00cb3a00a63a008f537b536c53413a00fb3a00ae3a009a3a00df53795347531b533653025300530c5315530b5320530253413a00f73a009f3a00cc3a00de537e5346530d53105320530253413a00f53a00d73a00e03a009f537f5346530d53035320530253413a00953a008c3a008053605347530d53145320530353285302530453413a00873a00993a00913a00a55304533653025300530c5314530b530253405320530253413a009b3a00d73a008b3a00805304534c530453405320530253413a00c83a00e53a00a93a00c95302534c530453405320530253413a00d63a00c33a00ef3a00d65301534c530453405320530253413a00ab3a009e3a009153335346530d530a5320530253413a00c73a009d3a00cd3a00d153015346530d530b5320530253413a008a3a00843a00f33a00d753005347530d531753205303532853025350532153005320530353413a00805301536a5324530053205300530f530b5320530253413a00d73a00c33a00ef3a00d653015346530d530b5320530253413a00c93a00b63a009b3a00f253015347530d53165320530353285302530453413a00953a00f73a00fe3a009a537953413a00f73a009f3a00cc3a00de537e53413a00a4531153285302530053413a00a85311532853025300537253413a00e13a00bd3a008f3a00af537b537253413a00aa3a00e13a00df5330536b53413a00ed3a00ab3a00a83a00f1537d537353413a00c73a00b93a00933a00c053055349531b533653025300530c5316530b5320530253413a009d3a008b3a009b3a00a65303534c530453405320530253413a00c93a00e53a00a93a00c953025346530d53025320530253413a00b23a00bf3a00913a009453035347530d53165320530353285302530453413a00f43a00e03a00a93a00c7530353413a00ab3a009e3a0091533353413a00ac531153285302530053413a00b05311532853025300537253413a00da3a00f03a00de3a00875303537153413a00f13a00923a00b63a00f95302536c53413a00e63a00863a00913a009f5302537153413a00a83a00c63a00f73a00e95302534b531b533653025300530c5316530b5320530253413a009e3a008b3a009b3a00a653035346530d53145320530253413a00f43a00e03a00a93a00c753035347530d53155320530353285302530453413a00ab3a009e3a00915333533653025300530c5315530b5320530253413a00833a00d13a00e83a00ec5304534c530453405320530253413a00bb3a00a23a00bc3a00cb5304534c530453405320530253413a009c3a00d73a008b3a008053045346530d530d5320530253413a00873a00993a00913a00a553045347530d53165320530353285302530453413a00e33a00e93a00dd3a008153055336530253005320530353413a00c53a00bb3a00f23a00885378533653025348532053035341530053365302534c5320530353415300533653025344530c5316530b5320530253413a00bc3a00a23a00bc3a00cb53045346530d53105320530253413a00923a00f13a009f3a00e953045347530d5315532053005320530353285302531053225302536a532d5300530053215304532053035320530253415301536a53365302535c532053035320530353285302531853415301536a532253025336530253585320530353205302532053035328530253705346533a5300535753205303532053045320530353285302531453735322530253413a00933a00833a0080530853725320530253413a00933a00833a008053085371536c5320530253413a00ec3a00fc3a00ff53775371532053025341537f537353413a00933a00833a008053085371536c536a5336530253605320530353285302530453413a00d93a00d03a00813a0081530753413a00db3a00c33a00c53a0087537953413a00e453115328530253005322530253413a00e853115328530253005322530453205304532053025320530453735341537f53735371534153015374536b536a5322530253413a00bb3a00b63a00d53a008753025373532053025371532253025341537f537353413a00c03a00c03a00a0531b537253413a00f83a00c83a00a13a00bb537d53715320530253413a00833a00a73a00c43a00c053025371537253413a00fb3a00d63a00c23a00d0537c537353413a00b93a00f83a009e3a00d35303534b531b533653025300530c5315530b5320530253413a00e23a00e93a00dd3a00815305534c530453405320530253413a00843a00d13a00e83a00ec53045346530d530e5320530253413a00cb3a00c63a00b33a00f353045347530d53155320530353285302530453413a00ac3a00bd3a00ea3a008c537b533653025300530c5315530b5320530253413a00e33a00e93a00dd3a008153055346530d530a5320530253413a00c53a00d33a00de3a00af53065346530d53115320530253413a00d93a00d03a00813a008153075347530d53145320530353285302530453413a00b83a00d93a00b73a00b4537c53413a00c63a00b83a00813a00ea537c53205303532d53005357531b533653025300532053035320530353285302535c533653025334532053035320530353285302536053225302533653025330532053035320530353285302535853365302532c5320530353205302533653025328530c5314530b5320530353285302530453413a00d93a00953a00d63a0096537d53413a00aa3a009e3a00bb3a00b6537a5320530353285302537c53413a00f63a00ce3a00a83a00f253005346531b533653025300530c5313530b53413a00905311532853025300531a53413a008c5311532853025300531a5320530553415310536b532253055324530053205303532053055336530253785320530353285302530453413a00b43a00f03a00a23a00d8537d533653025300530c5312530b5320530353285302530453413a00f53a00d73a00e03a009f537f533653025300530c5311530b53413a00985311532853025300531a53413a00945311532853025300531a5320530353285302530453413a00943a00863a00903a00845379533653025300530c5310530b5320530353285302530453413a00ea3a00bb3a00a23a00d5537b533653025300530c530f530b5320530353285302530453413a00f73a009f3a00cc3a00de537e53413a00c93a00b63a009b3a00f2530153413a009c531153285302530053413a00a05311532853025300536e53413a00a53a00d53a00b03a00a85304536a53413a00b53a00e03a00f33a00e65303536e532253025320530253413a00d13a00ee3a00cc3a008e537e5373536a53205302534153065371536b53413a00a23a00873a00f63a00d353785346531b533653025300530c530e530b532053035320530a5336530253705320530353285302530453413a00b23a00bf3a00913a00945303533653025300530c530d530b532053035320530b533a5300536f5320530353285302530453413a00f43a00e03a00a93a00c7530353413a00cb3a00c63a00b33a00f3530453413a00b4531153285302530053413a00b85311532853025300536a53413a00d53a00b63a00b83a00fb537a534f53413a00d13a00c93a00cb3a009f5304536c5322530253413a009e3a00e73a00e03a00d95301537353205302537153413a00843a00e33a00ad3a008b537c5346531b533653025300530c530c530b5320530353285302530453413a009c3a00f63a00ad3a00d6537b53413a00d73a00c33a00ef3a00d6530153413a00bc53115328530253005341537f537353413a00c053115328530253005341537f537353725322530253413a00973a00cb3a00be3a00cb53015371532053025341537f537353413a00e83a00b43a00c13a00b4537e5371537253413a00d43a00b53a00ef3a00d75304537353413a00f43a00ec3a00953a00d05300536b53413a008e3a00bf3a00a83a00ce537d534b531b533653025300530c530b530b532053035320530c5320530153415303537353715336530253685320530353285302530453413a009c3a00f63a00ad3a00d6537b53413a00953a008c3a0080536053413a00c4531153285302530053413a00c85311532853025300536e53413a00cc3a00b83a00ea3a00965304536a5322530253413a00db3a00e93a00823a00a7530553725320530253413a00db3a00e93a00823a00a753055371536c5320530253413a00a43a00963a00fd3a00d8537a5371532053025341537f537353413a00db3a00e93a00823a00a753055371536c536a532253025341537f537353413a00ab3a00a63a008e3a0086537b53715320530253413a00d43a00d93a00f13a00f953045371537253413a00e63a00863a00c93a00a4537c534b531b533653025300530c530a530b532053005320530353285302534c53225302534153035372536a532d53005300532153085320530053205302534153025372536a532d530053005321530d5320530053205302534153015372536a532d53005300532153095320530053205302536a532d530053005321530653205303532853025348532153075320530353285302530453413a009c3a00d73a008b3a0080530453413a00e33a00e93a00dd3a008153055320530353285302534453415304536a53225304532053035328530253685346531b533653025300532053035320530253415304537153205302534153045372536a5322530253365302534c5320530353205304533653025344532053035320530253365302533c532053035320530d532053065320530753735322530253413a00933a00833a0080530853725320530253413a00933a00833a008053085371536c532053025341537f537353413a00933a00833a0080530853715320530253413a00ec3a00fc3a00ff53775371536c536a532253025341537f537353413a009b3a00ea3a00893a009d537c53715320530253413a00e43a00953a00f63a00e2530353715372532053095341537f537353413a009b3a00ea3a00893a009d537c53715320530953413a00e453015371537253735322530253413a00933a00833a0080530853725320530253413a00933a00833a008053085371536c532053025341537f537353413a00933a00833a0080530853715320530253413a00ec3a00fc3a00ff53775371536c536a537353413a00933a00833a00805308536c532253025320530853205308532053025320530853735341537f53735371534153015374536b536a5322530253413a00933a00833a0080530853725320530253413a00933a00833a008053085371536c5320530253413a00ec3a00fc3a00ff53775371532053025341537f537353413a00933a00833a008053085371536c536a5322530253365302534853205303532053025336530253405320530353205302533653025338530c5309530b5320530353205303532853025338533653025324532053035320530353285302533c533653025320532053035320530353285302534053365302531c5320530353285302530453413a00c53a00d33a00de3a00af530653413a008f3a00e53a00bb3a00bb537b5341530053413a00cc531153285302530053413a00d05311532853025300536e53413a00b73a00b63a00a93a00aa537a537353413a00ca3a00e33a00df3a00f85379534f5341537f537353413a00f33a00813a00e23a00ad53075371536b53413a00bf3a00973a00a43a008a53055349531b533653025300530c5308530b53205303532053035328530253705345533a530053675320530353285302530453413a008f3a00e53a00bb3a00bb537b53413a00843a00d13a00e83a00ec530453413a00d4531153285302530053413a00d85311532853025300536e532253025320530253413a00a43a00a13a00cf3a00dd53075371534153015374536b53413a00a33a00cd3a00c33a00e353025346531b533653025300530c5307530b5320530353285302530453413a00b83a00d93a00b73a00b4537c53413a00c63a00b83a00813a00ea537c53205303532d53005367531b533653025300532053035341530053365302532c53205303532053035328530253205336530253345320530353205303532853025324533653025330532053035320530353285302531c533653025328530c5306530b532053035320530353285302532853365302530c5320530353285302530453413a008b3a00d33a00fe3a0087537e53413a009e3a008b3a009b3a00a6530353413a00ec531153285302530053413a00f05311532853025300536a53413a00843a009f3a00db3a00eb5301536e53413a00d43a00b53a00de3a00c15378537253413a00d53a00b53a00de3a00c15378537153413a00e43a00bd3a00c83a00fb53795349531b533653025300530c5305530b5320530353285302530453413a00943a00863a00903a00845379533653025300530c5304530b5320530353285302530453413a00c93a00b63a009b3a00f25301533653025300530c5303530b5320530353285302530453413a008f3a00e53a00bb3a00bb537b533653025300530c5302530b5320530353285302530453413a00923a00f13a009f3a00e95304533653025300530c5301530b5320530353285302537853225302534253005337530353005320530253425300533753035308532053015320530353285302530c5320530353285302537853105303534153105310530c53225304532053035328530253785322530253295300530053375300530053205304532053025329530053085337530053085320530353285302530453413a008b3a00d33a00fe3a0087537e533653025300530c5300530b5300530b3a00e2530353015302537f5320530053205302536a5321530353025340530253405302534053205300532053015373534153035371534553045340532053005341530353715345530d53015320530253415300534c530d53015320530053215302530353405320530253205301532d53005300533a530053005320530153415301536a532153015320530253415301536a532253025341530353715345530d530353205302532053035349530d5300530b530c5302530b5302534053205303534153045349530d53005320530353415304536b53225304532053005349530d53005320530053215302530353405320530253205301532d53005300533a530053005320530253205301532d53005301533a530053015320530253205301532d53005302533a530053025320530253205301532d53005303533a530053035320530153415304536a532153015320530253415304536a5322530253205304534d530d5300530b530c5303530b5320530053215302530c5302530b5320530053215302530b53025340532053035341537c53715322530053413a00c053005349530d5300532053025320530053415340536a53225304534b530d530053035340532053025320530153285302530053365302530053205302532053015328530253045336530253045320530253205301532853025308533653025308532053025320530153285302530c53365302530c532053025320530153285302531053365302531053205302532053015328530253145336530253145320530253205301532853025318533653025318532053025320530153285302531c53365302531c532053025320530153285302532053365302532053205302532053015328530253245336530253245320530253205301532853025328533653025328532053025320530153285302532c53365302532c532053025320530153285302533053365302533053205302532053015328530253345336530253345320530253205301532853025338533653025338532053025320530153285302533c53365302533c5320530153415340536b532153015320530253415340536b5322530253205304534d530d5300530b530b5320530053205302534d530d53005303534053205302532053015328530253005336530253005320530153415304536a532153015320530253415304536a53225302532053005349530d5300530b530b5320530253205303534953045340530353405320530253205301532d53005300533a530053005320530153415301536a532153015320530253415301536a53225302532053035347530d5300530b530b530b3a00d4530253015302537f5302534053205300532053015346530d5300532053015320530053205302536a53225304536b5341530053205302534153015374536b534d5304534053205300532053015320530253105306530f530b53205300532053015373534153035371532153035302534053025340532053005320530153495304534053205303530d5302532053005341530353715345530d530153035340532053025345530d53045320530053205301532d53005300533a530053005320530153415301536a532153015320530253415301536b532153025320530053415301536a53225300534153035371530d5300530b530c5301530b5302534053205303530d5300532053045341530353715304534053035340532053025345530d5305532053005320530253415301536b53225302536a532253035320530153205302536a532d53005300533a5300530053205303534153035371530d5300530b530b5320530253415303534d530d530053035340532053005320530253415304536b53225302536a5320530153205302536a5328530253005336530253005320530253415303534b530d5300530b530b532053025345530d530253035340532053005320530253415301536b53225302536a5320530153205302536a532d53005300533a5300530053205302530d5300530b530c5302530b5320530253415303534d530d53005303534053205300532053015328530253005336530253005320530153415304536a532153015320530053415304536a532153005320530253415304536b5322530253415303534b530d5300530b530b532053025345530d5300530353405320530053205301532d53005300533a530053005320530053415301536a532153005320530153415301536a532153015320530253415301536b53225302530d5300530b530b530b3a00f0530253025302537f5301537e53025340532053025345530d53005320530053205301533a530053005320530053205302536a5322530353415301536b53205301533a5300530053205302534153035349530d53005320530053205301533a530053025320530053205301533a530053015320530353415303536b53205301533a530053005320530353415302536b53205301533a5300530053205302534153075349530d53005320530053205301533a530053035320530353415304536b53205301533a5300530053205302534153095349530d5300532053005341530053205300536b53415303537153225304536a532253035320530153413a00ff5301537153413a00813a00823a00845308536c53225300533653025300532053035320530253205304536b5341537c537153225302536a5322530153415304536b5320530053365302530053205302534153095349530d5300532053035320530053365302530853205303532053005336530253045320530153415308536b53205300533653025300532053015341530c536b5320530053365302530053205302534153195349530d5300532053035320530053365302531853205303532053005336530253145320530353205300533653025310532053035320530053365302530c5320530153415310536b532053005336530253005320530153415314536b532053005336530253005320530153415318536b53205300533653025300532053015341531c536b53205300533653025300532053025320530353415304537153415318537253225301536b53225302534153205349530d5300532053003a00ad53423a00813a00803a00803a00805310537e532153055320530153205303536a532153015303534053205301532053055337530353185320530153205305533753035310532053015320530553375303530853205301532053055337530353005320530153415320536a532153015320530253415320536b532253025341531f534b530d5300530b530b530b536953015303537f530253405320530053225301534153035371530453405303534053205301532d530053005345530d53025320530153415301536a53225301534153035371530d5300530b530b53035340532053015322530253415304536a5321530153205302532853025300532253035341537f53735320530353413a00813a00823a00845308536b537153413a00803a00813a00823a0084537853715345530d5300530b53035340532053025322530153415301536a5321530253205301532d53005300530d5300530b530b5320530153205300536b530b534753015301537f532053005310530953205300536a5321530053025340532053025345530d53005303534053205301532d53005300532253035345530d53015320530053205303533a530053005320530053415301536a532153005320530153415301536a532153015320530253415301536b53225302530d5300530b530b5320530053415300533a53005300530b5305530053413a00905312530b3a009553285301530b537f5323530053415310536b5322530b532453005302534053025340530253405302534053025340530253405302534053025340530253405320530053413a00f45301534d5304534053413a009453125328530253005322530653415310532053005341530b536a534153785371532053005341530b5349531b53225305534153035376532253005376532253015341530353715304534053025340532053015341537f537353415301537153205300536a532253025341530353745322530153413a00bc5312536a532253005320530153413a00c45312536a532853025300532253015328530253085322530453465304534053413a00945312532053065341537e5320530253775371533653025300530c5301530b532053045320530053365302530c5320530053205304533653025308530b5320530153415308536a532153005320530153205302534153035374532253025341530353725336530253045320530153205302536a5322530153205301532853025304534153015372533653025304530c530a530b5320530553413a009c531253285302530053225307534d530d530153205301530453405302534053415302532053005374532253025341530053205302536b5372532053015320530053745371532253005341530053205300536b53715368532253015341530353745322530053413a00bc5312536a532253025320530053413a00c45312536a532853025300532253005328530253085322530453465304534053413a00945312532053065341537e532053015377537153225306533653025300530c5301530b532053045320530253365302530c5320530253205304533653025308530b53205300532053055341530353725336530253045320530053205305536a53225308532053015341530353745322530153205305536b532253045341530153725336530253045320530053205301536a5320530453365302530053205307530453405320530753415378537153413a00bc5312536a5321530153413a00a85312532853025300532153025302537f532053065341530153205307534153035376537453225303537153455304534053413a009453125320530353205306537253365302530053205301530c5301530b53205301532853025308530b532153035320530153205302533653025308532053035320530253365302530c532053025320530153365302530c5320530253205303533653025308530b5320530053415308536a5321530053413a00a853125320530853365302530053413a009c531253205304533653025300530c530a530b53413a009853125328530253005322530a5345530d53015320530a534153005320530a536b5371536853415302537453413a00c45314536a5328530253005322530253285302530453415378537153205305536b5321530353205302532153015303534053025340532053015328530253105322530053455304534053205301532853025314532253005345530d5301530b5320530053285302530453415378537153205305536b53225301532053035320530153205303534953225301531b53215303532053005320530253205301531b532153025320530053215301530c5301530b530b5320530253285302531853215309532053025320530253285302530c5322530453475304534053413a00a45312532853025300531a53205302532853025308532253005320530453365302530c5320530453205300533653025308530c5309530b5320530253415314536a532253015328530253005322530053455304534053205302532853025310532253005345530d53035320530253415310536a53215301530b530353405320530153215308532053005322530453415314536a5322530153285302530053225300530d53005320530453415310536a532153015320530453285302531053225300530d5300530b5320530853415300533653025300530c5308530b5341537f532153055320530053413a00bf537f534b530d5300532053005341530b536a532253005341537853715321530553413a00985312532853025300532253085345530d53005341530053205305536b532153035302534053025340530253405302537f534153005320530553413a008053025349530d5300531a5341531f5320530553413a00ff3a00ff3a00ff5307534b530d5300531a532053055341532653205300534153085376536753225300536b537653415301537153205300534153015374536b5341533e536a530b5322530753415302537453413a00c45314536a532853025300532253015345530453405341530053215300530c5301530b5341530053215300532053055341531953205307534153015376536b53415300532053075341531f5347531b53745321530253035340530253405320530153285302530453415378537153205305536b5322530653205303534f530d530053205301532153045320530653225303530d530053415300532153035320530153215300530c5303530b5320530053205301532853025314532253065320530653205301532053025341531d5376534153045371536a532853025310532253015346531b5320530053205306531b53215300532053025341530153745321530253205301530d5300530b530b53205300532053045372534553045340534153005321530453415302532053075374532253005341530053205300536b5372532053085371532253005345530d5303532053005341530053205300536b5371536853415302537453413a00c45314536a53285302530053215300530b532053005345530d5301530b530353405320530053285302530453415378537153205305536b5322530253205303534953215301532053025320530353205301531b53215303532053005320530453205301531b5321530453205300532853025310532253015304537f53205301530553205300532853025314530b53225300530d5300530b530b532053045345530d53005320530353413a009c531253285302530053205305536b534f530d53005320530453285302531853215307532053045320530453285302530c5322530253475304534053413a00a45312532853025300531a53205304532853025308532253005320530253365302530c5320530253205300533653025308530c5307530b5320530453415314536a532253015328530253005322530053455304534053205304532853025310532253005345530d53035320530453415310536a53215301530b530353405320530153215306532053005322530253415314536a5322530153285302530053225300530d53005320530253415310536a532153015320530253285302531053225300530d5300530b5320530653415300533653025300530c5306530b5320530553413a009c531253285302530053225304534d5304534053413a00a8531253285302530053215300530253405320530453205305536b5322530153415310534f530453405320530053205305536a53225302532053015341530153725336530253045320530053205304536a532053015336530253005320530053205305534153035372533653025304530c5301530b53205300532053045341530353725336530253045320530053205304536a532253015320530153285302530453415301537253365302530453415300532153025341530053215301530b53413a009c53125320530153365302530053413a00a85312532053025336530253005320530053415308536a53215300530c5308530b5320530553413a00a053125328530253005322530253495304534053413a00a053125320530253205305536b5322530153365302530053413a00ac531253413a00ac53125328530253005322530053205305536a53225302533653025300532053025320530153415301537253365302530453205300532053055341530353725336530253045320530053415308536a53215300530c5308530b5341530053215300532053055341532f536a532253035302537f53413a00ec53155328530253005304534053413a00f45315532853025300530c5301530b53413a00f853155342537f53375302530053413a00f0531553423a00803a00a03a00803a00803a00803a0080530453375302530053413a00ec53155320530b5341530c536a53415370537153413a00d83a00aa3a00d53a00aa5305537353365302530053413a008053165341530053365302530053413a00d053155341530053365302530053413a00805320530b53225301536a532253065341530053205301536b5322530853715322530153205305534d530d530753413a00cc5315532853025300532253045304534053413a00c453155328530253005322530753205301536a5322530953205307534d530d530853205304532053095349530d5308530b5302534053413a00d05315532d530053005341530453715345530453405302534053025340530253405302534053413a00ac5312532853025300532253045304534053413a00d453155321530053035340532053045320530053285302530053225307534f530453405320530753205300532853025304536a53205304534b530d5303530b5320530053285302530853225300530d5300530b530b534153005310530e532253025341537f5346530d5303532053015321530653413a00f053155328530253005322530053415301536b53225304532053025371530453405320530153205302536b5320530253205304536a5341530053205300536b5371536a53215306530b5320530553205306534f530d530353413a00cc5315532853025300532253005304534053413a00c453155328530253005322530453205306536a5322530853205304534d530d530453205300532053085349530d5304530b532053065310530e53225300532053025347530d5301530c5305530b5320530653205302536b532053085371532253065310530e532253025320530053285302530053205300532853025304536a5346530d53015320530253215300530b532053005341537f5346530d5301532053065320530553415330536a534f530453405320530053215302530c5304530b53413a00f45315532853025300532253025320530353205306536b536a5341530053205302536b5371532253025310530e5341537f5346530d53015320530253205306536a532153065320530053215302530c5303530b532053025341537f5347530d5302530b53413a00d0531553413a00d05315532853025300534153045372533653025300530b532053015310530e53215302534153005310530e53215300532053025341537f5346530d5305532053005341537f5346530d53055320530053205302534d530d53055320530053205302536b532253065320530553415328536a534d530d5305530b53413a00c4531553413a00c4531553285302530053205306536a5322530053365302530053413a00c853155328530253005320530053495304534053413a00c8531553205300533653025300530b5302534053413a00ac5312532853025300532253035304534053413a00d4531553215300530353405320530253205300532853025300532253015320530053285302530453225304536a5346530d53025320530053285302530853225300530d5300530b530c5304530b53413a00a4531253285302530053225300534153005320530053205302534d531b53455304534053413a00a4531253205302533653025300530b534153005321530053413a00d853155320530653365302530053413a00d453155320530253365302530053413a00b453125341537f53365302530053413a00b8531253413a00ec531553285302530053365302530053413a00e053155341530053365302530053035340532053005341530353745322530153413a00c45312536a5320530153413a00bc5312536a532253045336530253005320530153413a00c85312536a532053045336530253005320530053415301536a53225300534153205347530d5300530b53413a00a053125320530653415328536b532253005341537853205302536b534153075371534153005320530253415308536a534153075371531b53225301536b5322530453365302530053413a00ac53125320530153205302536a5322530153365302530053205301532053045341530153725336530253045320530053205302536a5341532853365302530453413a00b0531253413a00fc5315532853025300533653025300530c5304530b53205300532d5300530c534153085371530d53025320530153205303534b530d53025320530253205303534d530d5302532053005320530453205306536a53365302530453413a00ac5312532053035341537853205303536b534153075371534153005320530353415308536a534153075371531b53225300536a5322530153365302530053413a00a0531253413a00a0531253285302530053205306536a5322530253205300536b5322530053365302530053205301532053005341530153725336530253045320530253205303536a5341532853365302530453413a00b0531253413a00fc5315532853025300533653025300530c5303530b5341530053215304530c5305530b5341530053215302530c5303530b53413a00a4531253285302530053205302534b5304534053413a00a4531253205302533653025300530b5320530253205306536a5321530153413a00d45315532153005302534053025340530253405302534053025340530253405303534053205301532053005328530253005347530453405320530053285302530853225300530d5301530c5302530b530b53205300532d5300530c5341530853715345530d5301530b53413a00d453155321530053035340532053035320530053285302530053225301534f530453405320530153205300532853025304536a5322530453205303534b530d5303530b5320530053285302530853215300530c5300530b5300530b5320530053205302533653025300532053005320530053285302530453205306536a533653025304532053025341537853205302536b534153075371534153005320530253415308536a534153075371531b536a5322530753205305534153035372533653025304532053015341537853205301536b534153075371534153005320530153415308536a534153075371531b536a532253065320530553205307536a53225305536b53215300532053035320530653465304534053413a00ac53125320530553365302530053413a00a0531253413a00a0531253285302530053205300536a532253005336530253005320530553205300534153015372533653025304530c5303530b53413a00a853125328530253005320530653465304534053413a00a853125320530553365302530053413a009c531253413a009c531253285302530053205300536a5322530053365302530053205305532053005341530153725336530253045320530053205305536a53205300533653025300530c5303530b5320530653285302530453225303534153035371534153015346530453405320530353415378537153215309530253405320530353413a00ff5301534d530453405320530653285302530c53225301532053065328530253085322530253465304534053413a0094531253413a009453125328530253005341537e5320530353415303537653775371533653025300530c5302530b532053025320530153365302530c5320530153205302533653025308530c5301530b532053065328530253185321530853025340532053065320530653285302530c5322530253475304534053205306532853025308532253015320530253365302530c5320530253205301533653025308530c5301530b530253405320530653415314536a5322530353285302530053225301530d53005320530653415310536a5322530353285302530053225301530d53005341530053215302530c5301530b530353405320530353215304532053015322530253415314536a5322530353285302530053225301530d53005320530253415310536a532153035320530253285302531053225301530d5300530b5320530453415300533653025300530b532053085345530d5300530253405320530653285302531c5322530153415302537453413a00c45314536a5322530453285302530053205306534653045340532053045320530253365302530053205302530d530153413a0098531253413a009853125328530253005341537e5320530153775371533653025300530c5302530b53205308534153105341531453205308532853025310532053065346531b536a53205302533653025300532053025345530d5301530b532053025320530853365302531853205306532853025310532253015304534053205302532053015336530253105320530153205302533653025318530b53205306532853025314532253015345530d530053205302532053015336530253145320530153205302533653025318530b5320530653205309536a53225306532853025304532153035320530053205309536a53215300530b53205306532053035341537e537153365302530453205305532053005341530153725336530253045320530053205305536a532053005336530253005320530053413a00ff5301534d530453405320530053415378537153413a00bc5312536a532153015302537f53413a00945312532853025300532253025341530153205300534153035376537453225300537153455304534053413a009453125320530053205302537253365302530053205301530c5301530b53205301532853025308530b532153005320530153205305533653025308532053005320530553365302530c532053055320530153365302530c5320530553205300533653025308530c5303530b5341531f532153035320530053413a00ff3a00ff3a00ff5307534d53045340532053005341532653205300534153085376536753225301536b537653415301537153205301534153015374536b5341533e536a53215303530b532053055320530353365302531c53205305534253005337530253105320530353415302537453413a00c45314536a532153015302534053413a00985312532853025300532253025341530153205303537453225304537153455304534053413a00985312532053025320530453725336530253005320530153205305533653025300530c5301530b532053005341531953205303534153015376536b53415300532053035341531f5347531b5374532153035320530153285302530053215302530353405320530253225301532853025304534153785371532053005346530d5303532053035341531d53765321530253205303534153015374532153035320530153205302534153045371536a5322530453285302531053225302530d5300530b5320530453205305533653025310530b5320530553205301533653025318532053055320530553365302530c5320530553205305533653025308530c5302530b53413a00a053125320530653415328536b532253005341537853205302536b534153075371534153005320530253415308536a534153075371531b53225301536b5322530853365302530053413a00ac53125320530153205302536a5322530153365302530053205301532053085341530153725336530253045320530053205302536a5341532853365302530453413a00b0531253413a00fc531553285302530053365302530053205303532053045341532753205304536b534153075371534153005320530453415327536b534153075371531b536a5341532f536b53225300532053005320530353415310536a5349531b532253015341531b5336530253045320530153413a00dc53155329530253005337530253105320530153413a00d4531553295302530053375302530853413a00dc53155320530153415308536a53365302530053413a00d853155320530653365302530053413a00d453155320530253365302530053413a00e05315534153005336530253005320530153415318536a532153005303534053205300534153075336530253045320530053415308536a532153025320530053415304536a5321530053205302532053045349530d5300530b53205301532053035346530d530353205301532053015328530253045341537e5371533653025304532053035320530153205303536b5322530253415301537253365302530453205301532053025336530253005320530253413a00ff5301534d530453405320530253415378537153413a00bc5312536a532153005302537f53413a00945312532853025300532253015341530153205302534153035376537453225302537153455304534053413a009453125320530153205302537253365302530053205300530c5301530b53205300532853025308530b532153015320530053205303533653025308532053015320530353365302530c532053035320530053365302530c5320530353205301533653025308530c5304530b5341531f532153005320530253413a00ff3a00ff3a00ff5307534d53045340532053025341532653205302534153085376536753225300536b537653415301537153205300534153015374536b5341533e536a53215300530b532053035320530053365302531c53205303534253005337530253105320530053415302537453413a00c45314536a532153015302534053413a00985312532853025300532253045341530153205300537453225306537153455304534053413a00985312532053045320530653725336530253005320530153205303533653025300530c5301530b532053025341531953205300534153015376536b53415300532053005341531f5347531b5374532153005320530153285302530053215304530353405320530453225301532853025304534153785371532053025346530d5304532053005341531d53765321530453205300534153015374532153005320530153205304534153045371536a5322530653285302531053225304530d5300530b5320530653205303533653025310530b5320530353205301533653025318532053035320530353365302530c5320530353205303533653025308530c5303530b53205301532853025308532253005320530553365302530c53205301532053055336530253085320530553415300533653025318532053055320530153365302530c5320530553205300533653025308530b5320530753415308536a53215300530c5305530b53205301532853025308532253005320530353365302530c53205301532053035336530253085320530353415300533653025318532053035320530153365302530c5320530353205300533653025308530b53413a00a053125328530253005322530053205305534d530d530053413a00a053125320530053205305536b5322530153365302530053413a00ac531253413a00ac53125328530253005322530053205305536a53225302533653025300532053025320530153415301537253365302530453205300532053055341530353725336530253045320530053415308536a53215300530c5303530b53413a00905312534153305336530253005341530053215300530c5302530b53025340532053075345530d5300530253405320530453285302531c5322530053415302537453413a00c45314536a5322530153285302530053205304534653045340532053015320530253365302530053205302530d530153413a00985312532053085341537e532053005377537153225308533653025300530c5302530b53205307534153105341531453205307532853025310532053045346531b536a53205302533653025300532053025345530d5301530b532053025320530753365302531853205304532853025310532253005304534053205302532053005336530253105320530053205302533653025318530b53205304532853025314532253005345530d530053205302532053005336530253145320530053205302533653025318530b53025340532053035341530f534d53045340532053045320530353205305536a532253005341530353725336530253045320530053205304536a5322530053205300532853025304534153015372533653025304530c5301530b53205304532053055341530353725336530253045320530453205305536a53225302532053035341530153725336530253045320530253205303536a532053035336530253005320530353413a00ff5301534d530453405320530353415378537153413a00bc5312536a532153005302537f53413a00945312532853025300532253015341530153205303534153035376537453225303537153455304534053413a009453125320530153205303537253365302530053205300530c5301530b53205300532853025308530b532153015320530053205302533653025308532053015320530253365302530c532053025320530053365302530c5320530253205301533653025308530c5301530b5341531f532153005320530353413a00ff3a00ff3a00ff5307534d53045340532053035341532653205303534153085376536753225300536b537653415301537153205300534153015374536b5341533e536a53215300530b532053025320530053365302531c53205302534253005337530253105320530053415302537453413a00c45314536a532153015302534053025340532053085341530153205300537453225306537153455304534053413a00985312532053065320530853725336530253005320530153205302533653025300530c5301530b532053035341531953205300534153015376536b53415300532053005341531f5347531b5374532153005320530153285302530053215305530353405320530553225301532853025304534153785371532053035346530d5302532053005341531d53765321530653205300534153015374532153005320530153205306534153045371536a5322530653285302531053225305530d5300530b5320530653205302533653025310530b5320530253205301533653025318532053025320530253365302530c5320530253205302533653025308530c5301530b53205301532853025308532253005320530253365302530c53205301532053025336530253085320530253415300533653025318532053025320530153365302530c5320530253205300533653025308530b5320530453415308536a53215300530c5301530b53025340532053095345530d5300530253405320530253285302531c5322530053415302537453413a00c45314536a5322530153285302530053205302534653045340532053015320530453365302530053205304530d530153413a009853125320530a5341537e5320530053775371533653025300530c5302530b53205309534153105341531453205309532853025310532053025346531b536a53205304533653025300532053045345530d5301530b532053045320530953365302531853205302532853025310532253005304534053205304532053005336530253105320530053205304533653025318530b53205302532853025314532253005345530d530053205304532053005336530253145320530053205304533653025318530b53025340532053035341530f534d53045340532053025320530353205305536a532253005341530353725336530253045320530053205302536a5322530053205300532853025304534153015372533653025304530c5301530b53205302532053055341530353725336530253045320530253205305536a53225304532053035341530153725336530253045320530353205304536a5320530353365302530053205307530453405320530753415378537153413a00bc5312536a5321530053413a00a85312532853025300532153015302537f534153015320530753415303537653745322530553205306537153455304534053413a009453125320530553205306537253365302530053205300530c5301530b53205300532853025308530b532153065320530053205301533653025308532053065320530153365302530c532053015320530053365302530c5320530153205306533653025308530b53413a00a853125320530453365302530053413a009c531253205303533653025300530b5320530253415308536a53215300530b5320530b53415310536a5324530053205300530b3a00cb530b53015307537f53025340532053005345530d53005320530053415308536b532253025320530053415304536b5328530253005322530153415378537153225300536a532153055302534053205301534153015371530d5300532053015341530353715345530d5301532053025320530253285302530053225301536b5322530253413a00a453125328530253005349530d53015320530053205301536a5321530053413a00a85312532853025300532053025347530453405320530153413a00ff5301534d5304534053205301534153035376532153015320530253285302530c53225303532053025328530253085322530453465304534053413a0094531253413a009453125328530253005341537e5320530153775371533653025300530c5303530b532053045320530353365302530c5320530353205304533653025308530c5302530b532053025328530253185321530653025340532053025320530253285302530c5322530153475304534053205302532853025308532253035320530153365302530c5320530153205303533653025308530c5301530b530253405320530253415314536a5322530453285302530053225303530d53005320530253415310536a5322530453285302530053225303530d53005341530053215301530c5301530b530353405320530453215307532053035322530153415314536a5322530453285302530053225303530d53005320530153415310536a532153045320530153285302531053225303530d5300530b5320530753415300533653025300530b532053065345530d5301530253405320530253285302531c5322530453415302537453413a00c45314536a5322530353285302530053205302534653045340532053035320530153365302530053205301530d530153413a0098531253413a009853125328530253005341537e5320530453775371533653025300530c5303530b53205306534153105341531453205306532853025310532053025346531b536a53205301533653025300532053015345530d5302530b532053015320530653365302531853205302532853025310532253035304534053205301532053035336530253105320530353205301533653025318530b53205302532853025314532253035345530d530153205301532053035336530253145320530353205301533653025318530c5301530b5320530553285302530453225301534153035371534153035347530d530053413a009c53125320530053365302530053205305532053015341537e537153365302530453205302532053005341530153725336530253045320530053205302536a53205300533653025300530f530b5320530253205305534f530d530053205305532853025304532253015341530153715345530d5300530253405320530153415302537153455304534053413a00ac53125328530253005320530553465304534053413a00ac53125320530253365302530053413a00a0531253413a00a0531253285302530053205300536a5322530053365302530053205302532053005341530153725336530253045320530253413a00a853125328530253005347530d530353413a009c53125341530053365302530053413a00a8531253415300533653025300530f530b53413a00a853125328530253005320530553465304534053413a00a853125320530253365302530053413a009c531253413a009c531253285302530053205300536a5322530053365302530053205302532053005341530153725336530253045320530053205302536a53205300533653025300530f530b5320530153415378537153205300536a53215300530253405320530153413a00ff5301534d5304534053205301534153035376532153015320530553285302530c53225303532053055328530253085322530453465304534053413a0094531253413a009453125328530253005341537e5320530153775371533653025300530c5302530b532053045320530353365302530c5320530353205304533653025308530c5301530b532053055328530253185321530653025340532053055320530553285302530c5322530153475304534053413a00a45312532853025300531a53205305532853025308532253035320530153365302530c5320530153205303533653025308530c5301530b530253405320530553415314536a5322530453285302530053225303530d53005320530553415310536a5322530453285302530053225303530d53005341530053215301530c5301530b530353405320530453215307532053035322530153415314536a5322530453285302530053225303530d53005320530153415310536a532153045320530153285302531053225303530d5300530b5320530753415300533653025300530b532053065345530d5300530253405320530553285302531c5322530453415302537453413a00c45314536a5322530353285302530053205305534653045340532053035320530153365302530053205301530d530153413a0098531253413a009853125328530253005341537e5320530453775371533653025300530c5302530b53205306534153105341531453205306532853025310532053055346531b536a53205301533653025300532053015345530d5301530b532053015320530653365302531853205305532853025310532253035304534053205301532053035336530253105320530353205301533653025318530b53205305532853025314532253035345530d530053205301532053035336530253145320530353205301533653025318530b53205302532053005341530153725336530253045320530053205302536a532053005336530253005320530253413a00a853125328530253005347530d530153413a009c531253205300533653025300530f530b53205305532053015341537e537153365302530453205302532053005341530153725336530253045320530053205302536a53205300533653025300530b5320530053413a00ff5301534d530453405320530053415378537153413a00bc5312536a532153015302537f53413a00945312532853025300532253035341530153205300534153035376537453225300537153455304534053413a009453125320530053205303537253365302530053205301530c5301530b53205301532853025308530b532153005320530153205302533653025308532053005320530253365302530c532053025320530153365302530c5320530253205300533653025308530f530b5341531f532153045320530053413a00ff3a00ff3a00ff5307534d53045340532053005341532653205300534153085376536753225301536b537653415301537153205301534153015374536b5341533e536a53215304530b532053025320530453365302531c53205302534253005337530253105320530453415302537453413a00c45314536a5321530753025340530253405302534053413a00985312532853025300532253035341530153205304537453225301537153455304534053413a009853125320530153205303537253365302530053205307532053025336530253005320530253205307533653025318530c5301530b532053005341531953205304534153015376536b53415300532053045341531f5347531b5374532153045320530753285302530053215301530353405320530153225303532853025304534153785371532053005346530d5302532053045341531d53765321530153205304534153015374532153045320530353205301534153045371536a5322530753415310536a53285302530053225301530d5300530b53205307532053025336530253105320530253205303533653025318530b532053025320530253365302530c5320530253205302533653025308530c5301530b53205303532853025308532253005320530253365302530c53205303532053025336530253085320530253415300533653025318532053025320530353365302530c5320530253205300533653025308530b53413a00b4531253413a00b4531253285302530053415301536b532253005341537f53205300531b533653025300530b530b534753015302537f53413a00fc5311532853025300532253015320530053415307536a53415378537153225302536a532153005302534053205302534153005320530053205301534d531b530d530053205300533f5300534153105374534b530d530053413a00fc53115320530053365302530053205301530f530b53413a00905312534153305336530253005341537f530b5304530053235300530b530653005320530053245300530b531053005323530053205300536b534153705371532253005324530053205300530b530b3a00c953095308530053413a00805308530b5311532653333a0086533053713a00db3a00c65360533653543a0087536a53433a00eb537c3a00a2531b530053413a00a05308530b53115347533253105336532b3a00f93a00a053293a00c53a009e535d3a00c1533d5325536b3a008b530f530053413a00c05308530b3a009153013a00ae5379533f3a008b53283a008b3a00b353093a00ae532153703a00ae5329533d53333a00a2536d534a53623a00a7535153083a00ab3a00fd3a00ff535b3a008953543a008c3a00de3a00dc3a00bf5360537053183a008253733a00903a00d7536c534c531053313a00b9537e3a00d63a00d93a00c353123a00ea53443a00f853713a00e33a00c23a00c13a00eb3a009d3a00d03a00fa3a00845322531d3a00f953133a00ea53693a00da53363a00ff3a00b03a00f3530453013a00c8537e3a00be3a009a3a00c03a00855321533a53613a00b3530b53223a0083533453403a00ed3a00b35314530153475321533e3a00ac3a00e253013a00c63a00c33a00bb3a00a55352534b3a00963a00ad3a00dc3a00ad53513a00f23a00e83a00c153253a00c93a00f95363534e530c533c3a00e03a00d93a00b53a00db3a00cc5330534153763a00e9534a3a00a73a00b6534a53763a008553223a00a23a00a13a009553415353530e53383a00b3533b530053413a00e05309530b531153633a00dc53063a00913a00e53a00fb532e3a00803a00e35359536c537553543a00943a00dc3a00df3a00c0530053413a0080530a530b53113a00833a00b83a00f73a00df53323a00e353703a00b43a00f8531a3a00823a00cf537f53393a00de3a00d03a00ba530053413a00a0530a530b53113a00d33a00eb3a00e053513a00f43a00f453745364533f3a00c13a00bd53583a00ed5379532853473a00fe530053413a00c0530a530b53113a00d9532953583a00e153703a00db53103a00f43a00943a00d6530a3a00d53a00d23a00af3a00a753525329530053413a00e0530a530b3a009f530753223a00aa536253213a00fe53393a00d55378535c53225348533d53395331535853593a00bf5300530053003a00df3a00ff5371532a3a00b73a00da53043a009a3a00a453085344536d53643a00f6532d53363a00d63a00aa3a00b55344532353563a00a23a0090537f3a00883a008a3a00e2534a3a00c0531c3a00963a00e13a00df53003a00b7533c531b3a00f33a0089533d534d3a00953a00c453073a00b3532e53445369531c5314531c3a00f73a009c533d534e5369532b3a00cd53233a00b9532d53625324535f3a00bd53183a00823a00c43a0090531f531d537353175335537053175337536e3a0090532453175353530a3a008f53713a009b3a00f7534d3a00af3a00ff3a00883a00db3a00ec53343a008e532c534453593a00bd3a00ec53233a00d03a00df535553523a00d33a00d33a00e33a00ab532853703a00933a00a13a00c63a00ca53663a00ba3a009a3a00ea53505321535c531b3a00953a00a353033a00893a00cc3a00903a00a7531a3a00ab535a53563a00c253463a00ae53323a00a63a008953733a008f535c3a00863a0087534a537b3a00ef533053023a00a953135319533f3a00b2532e5319535a533053143a009553143a008d53203a00935335534e5327537e3a00b8531353003a00ea537f535853275346537d3a008a533c533a53683a00af3a00bd536a533b532b53765367533c3a00c7533d5301537e3a00ad53153a00a1536e532d53483a00c03a009c3a0083530e532853373a00bf53793a00903a00ad3a00fb3a008b5367537653123a00db536a536d3a00d653353a00d03a00af535153503a00953a00a93a00bc53723a00993a00b13a00d13a00a83a00b353323a00f43a00dc3a008e3a00b6532a533b3a00a7533f5322537753503a00ef3a008a3a00ba3a008853273a00d553123a00e93a00cc53265365530f53013a00d33a00fe3a00bb536e530b3a008c534e3a00b3537b3a00d53a00873a00cc3a00fe3a00fd3a00f23a00e7536a3a00f05302532c532053043a00f0534e531553775372530653163a00c25369531153023a00bd3a00c4536e53605319535a3a008253243a00af53313a00cd53383a00e05361532a535e3a00cb537f3a008f53763a00a93a00c153763a00bf3a00bf3a00ae534e3a00a3533e3a00f1533353553a00d2532a3a00cd3a00ae53503a009c3a00ba3a00dd535b3a00f73a00ad532a3a00af3a00ca3a00c253623a00c23a00d95304535a53733a00d53a00f93a00b653185315535f3a009d3a00ad534b533c3a00ff3a00f23a00f63a00af3a00c23a00853a00f93a00af532b532d3a00bb5376537e3a00d2532d3a00f03a00db5318533a3a008e3a00fb531b3a00fa3a00be537e3a00d853373a00ae3a008153573a00b93a00fd53745335534e53323a00a1534c3a009353383a00a53a00993a00d23a00f33a00d23a00843a00a95323531a537e3a008753015348531b3a00ae3a00ac53715310533853163a00b03a00f853183a00ec5364534353535330531253093a00c33a00b4537753323a00d93a00a33a00d33a00ea3a00d653203a00da5345533e53003a00a753583a00973a00cb531753223a00fc5321534d531f3a00b653663a00ad531c3a00b43a00c73a00cf5368532f3a00f7534b533653483a008053563a00a85372532b5359532b3a00df530b3a00d23a00933a00a73a00a953683a00c13a00b43a00d53a00be533b5300530d3a00a63a00f73a00eb3a00d2530c3a00ef535e3a00f4530e533153623a00b353793a00fe3a00ca534353043a00c73a00e5531e3a00b153613a00fa53263a009c3a00e73a00d93a009c536153163a00c6532e5302533b3a00ab537153395329534a532f3a00d93a00d83a00af3a00e23a008253163a00d13a00ef536d3a00d953013a00e13a00f43a00963a00ac3a009f531d534f530d3a00d43a00f5534f535b3a00e73a00bc3a00a2533d53533a008c3a00c63a00ec3a00af532c3a00c33a0084531a3a00dc534253653a00a3536d3a00aa5310532c5362534f3a008353133a009b3a00cf5367530b53315315534f3a00fe535b535d5355534d531b3a00b753663a00bb3a00b453555315535253453a008a5300537053103a00ac531a3a00aa5310530d3a008453433a00c43a0084532d5330537b3a00ef3a00d53a00c43a00f153053a00ff3a00993a00ef3a00d253535301533f532c3a00e43a008153343a00883a00ef530d535e53063a00c33a00a553523a00c23a00b253635346536a3a00ae3a00f33a00a8532a53123a00d953543a00c4534a3a00bb53573a00dc3a00da53003a00e253633a00bb3a0097532d3a00eb532953163a00f23a00f53a00e63a00c83a00a053483a00d453333a00df535c3a00fe533b3a00af5328532a3a00ce3a00c03a00903a00a253423a00e9534c536a3a00ec532e53013a00b6533b5333531853533a00873a00bf3a008e5365531c53643a00ac3a00e453493a009b533053183a00fa5327530b53093a00f43a00fc530c535a3a00f03a00f853733a00c45373536a3a00933a00973a00d753603a00df5331532a53033a00c353463a00b2535d53373a00e6531f3a00f9536953523a00e653073a00d43a00c43a00cd3a00a53a00bd3a00963a00df3a00af3a00d03a00a13a00bc53605328530a3a00af536e53433a00a43a00ae536b3a00b23a00b53a00c153793a00955362533c53373a00f83a00e253363a00df3a00c8532a3a00843a00c6536d5322533553643a00e853403a00a3533f537553163a00b6536a3a00ad533d3a00ea53165322532e3a009b536a534253283a00b7530a3a0086536753643a008d3a00d853295315534f532a3a008f3a00bf537d536b3a00f053053a00d55304530c3a00fa3a00f85379535e5338534953343a0087537a533753363a00d43a00d73a00fa3a00eb3a00e153733a00c5535b53053a00bb53133a00ca530d3a00df3a009253263a00ca532d3a00c8537d3a008353605361537b3a00f53a0092530f53485337535f535b53523a00875366537553483a00e93a00f353173a00b63a009b53633a00b53a00d23a00ba3a00e93a00d3536953633a00ac530b3a00b1533e3a008b535d3a00903a00fa3a00cd3a00d13a009153483a00803a00935350537a534b3a00c03a00df3a00e6537753303a008f3a0091535b3a00893a00ad3a00eb533353775310530b5301318e3e3800760c005a0020570076130138007722000e050a4a1c5100070a0700040a3800783100003800804101403800814101413800825700845700812e173f014200085a69727f68757372096c6e73687368656c790868734f686e75727b047f7d707004727d7179077572787964537a067e736972783c0d47727d68756a793c7f73787941064f686e75727b0c7a6e73715f747d6e5f737879012d0875727f706978796f057d6c6c706509697278797a757279780e747d6f536b724c6e736c796e6865012a0f47737e76797f683c4b757278736b41012e0d7f74797f773c787372793d3d3d067079727b6874022d2a0b43436f7f7479786970796e022e2d117d7878487d6f774b7568744e796f69706821432e782a7e28292d2424292b7e29782e2f292979297e7825242c252a252d7e2828046874797221437a292e2f2c2d2c7f78247f7a297a7e2b292e292c782d7a7f2e7a2a2b2d7f2b2f087f252f7e28787d2f012b087a69727f687573720b64667d64787d6f786f7d78056f6c70756801160b7f73726f7370793270737b0878797e697b7b796e057f7d687f740124012c0372736b056f74757a68066e7976797f68027a72076e796f73706a790d687571794e79717d757275727b097173696f7971736a79066f7f6e7370700777796578736b72057f70757f77107d7878596a79726850756f687972796e06537e76797f68046c696f74077d7878487d6f77067f73727f7d68214379792c2d2578252f252c2c787f79792e7e787d7a7e7929242528792a7f247d2521432d2a2d25782a252b2f29792d7828242c7d2b2e782b792c2d7f287d282c7e2b7a2143292a2d2a7a2f2e2a7d7d7e7f292e28787a292b7d29787f7f2b2a2a28252b7d2c2143252c287e242c2d2d792f2e2e7d292a282a787f282c247e287e2e2a2e24292b2921437a2e2a782a287a2d2d797e2c7a2e2b2f2d782d782c2f7a7d7e7f7a242b7f297f0878737f69717972680b4b797e5d6f6f79717e70650771796f6f7d7b79056f687d7f77214325257f2a2f7a2c7e2a29257e2879792e797a2d2b7f2a282e7d2c782f2829797e207d6c242537335d4c4d4e4f68494a517879525346696a6b644b44457a7b6d6e6f205a4850742f73757677702829575b5455565e5f2a7e7f65662c2d2e58592b7172214378782a2e2d2c2c792d792b2c782d2a7f7a292c797f2d252f2a7e2d7a2b282b2c2025252b29282d2c2a2a2f2f7a2528782f292c787e2f2878292824782a2c252d7d20517a7b6d6e6f7e7f65664c4d4e4f68696a5f2b7172292c2d5455565e732e58592045467d7677702a2f5b6c242537335d28494a5a4857787952536b644b445074752143792d792a24252f2b2b7f2c7a7e787e797e2b7a292b2f7a2d282b2b2f2a282b250771726f2c2d2c2d21432a2a2c2a2e28242b7f7a2d2c2f2a2e2e282b297d2e7a257e2d2b78242e252f790771726f2c2e2c2d05786f6f686f047a6e73710679727f737879057a7073736e066e7d727873710a282e2528252a2b2e2529022d2f0670737d78686f09242c2b24282c282424056f70757f79027d2d09646f797f7d6c6c75780369727721432b2a297e287d2e2e242c24252f2f2c242e2a242a292e2979247d782d24252e79214325292c2e2a787a2a297e7d7f78792e2d2e2c2e2579287f792529242c7d7f2d240143067f746e737179053442603c350d21344742274136353427603835067f737377757905717d687f74066f697e6f686e0a282e2528252a2b2e252a065e697a7a796e045a6e737109696f796e5d7b7972680878756f7f736a796e0b64746f78756f7f736a796e064e797b59646c0932367d72786e7375780175077d72786e7375781234754c7473727960754c737860754c7d78350375736f08323671737e757079056c74737279026c7f03736c6e05736c796e7d0f717366557272796e4f7f6e797972451158796a757f79517368757372596a7972681658796a757f79536e757972687d68757372596a7972680d696f796e5d7b797268587d687d0b7f73726f686e697f68736e0468796f680b5448515059707971797268066f7d7a7d6e75106c696f74527368757a757f7d687573722147737e76797f683c4f7d7a7d6e754e7971736879527368757a757f7d68757372410c78737f6971797268517378790a4f68657079517978757d08727d6a757b7d687909727d6a757b7d68736e0359787b027579077a756e797a73640479787b79147b7968597079717972686f5e65487d7b527d71790136037d787807687d7b527d71790b687350736b796e5f7d6f79697079683c792178737f6971797268327b7968597079717972686f5e65487d7b527d7179343e363e3530682172796b3c4f7968277a736e347079683c7d3c737a3c793568327d7878347d32687d7b527d717932687350736b796e5f7d6f79343535276e7968696e723c680b7a6e73715972686e75796f02273c03717d6c0121056b797e557804736c7972044c534f48277468686c6f2633337d6c71317a793264757d737473727b6f7469327f7371337d6c7533787d687d106f79684e796d69796f6854797d78796e0c5f7372687972683148656c79107d6c6c70757f7d6875737233766f7372087e75663168656c79067d6c71437a79096f686e75727b757a65046b7d6c48137f73726879646843727d7179486e7d7f77796e0a64746f436b797e6f7877147f737268796468437d6e68757a7d7f68527d71790c6b797e71726f43796e6e736e1071797d6f696e797179726843727d71790870737f7d6875737204746e797a0d7f737268796468436e73696879117f73726879646843696f796e5d7b797268077d6c6c527d71790f7f737268796468437d6c6c527d71790179057d6c6c7578057964686e7d016a056b797e757801681071797d6f696e797179726843787d687d046f79727802686881286868216868373e5a4857787952536b644b4445467d6c242537335d28494a5074757677702a2f5b3e273c7079683c382168327079727b6874306e214741277a736e347079683c79212c27792038277937212f35677079683c73216847794130702179372d203823684779372d41262c30722179372e203823684779372e41262c3069217320202d2a60702020246072305a2147692222222d243a2a2f30692222222d2e3a2a2f30692222222a3a2a2f302a2f3a694130432138317922212f232c262f313438317935277a736e347079683c7a212c277a20283143277a3737356e326c696f74346868327f747d6e5d68345a477a413535277a736e347079683c74212c2774204327743737356e326c696f74343e213e35616e7968696e723c6e3276737572343e3e35016e017280956a7d6e3c68216e327079727b6874307d216820202e27757a347235676a7d6e3c79216e4768312d4127757a347920347d31212835312f606079227d356e7968696e723c72697070277d2179617a736e346a7d6e3c7a2172796b3c49757268245d6e6e7d65347d353075212c2775207d27373775357a477541216e477522222e41222234342f3a753520202f35276e7968696e723c7a80916a7d6e3c6830792172327079727b6874307d217922222e27342f3a79353d212c3a3a37377d306e2334682172796b3c497572682f2e5d6e6e7d65347d372d3535477d41217926682172796b3c497572682f2e5d6e6e7d65347d35277a736e346a7d6e3c73212c27732079273737733568477322222e41602172477341202034342f3a733520202f35276e7968696e723c683e757a3472327079727b6874202d2a35676a7d6e3c792172796b3c49757268245d6e6e7d65342d2a352779326f796834723530722179616e7968696e723c7281346a7d6e3c64307d3079307230383073307a216e327079727b68743070217a312d277a736e347d216e4770413079212c3073212c60517d6874327a7073736e342a37292e337a352773222c2731317335676a7d6e3c71216b757278736b3243257924292528282a2e2e2524282d7d7d2d7878252c29787d2c2c782e2d28297a347935277a736e3438212c30722171472c4130792171472d4127382070273737383564216e4738372d41307d216e47384137216b757278736b32437e25242c282d2b78297e7f782b2a7f2d79792e247e242a2b7d282f2e792e7d2c34793064307d303830723068352764216e472c41307d216e47704137216b757278736b32437e25242c282d2b78297e7f782b2a7f2d79792e247e242a2b7d282f2e792e7d2c34793064307d30383072306835616e7968696e723c6e226e7968696e723c72796b3c4879646859727f7378796e34353279727f73787934793502792a0428242f7f0a7d2e7d2d79797829792f81866e7968696e72343e6f686e75727b3e212168656c79737a3c683a3a3468216b757278736b32432b2a297e287d2e2e242c24252f2f2c242e2a242a292e2979247d782d24252e7934683535303e6f686e75727b3e212168656c79737a3c6e3a3a346e216b757278736b32432b2a297e287d2e2e242c24252f2f2c242e2a242a292e2979247d782d24252e79346e3535307269707021216860602c21212168327079727b6874352368266b757278736b32432c2b7d2825242e7e242c2e257d7d7a28247f287e287825297e7f2b287e787e25346b757278736b32432c7828242c782f2b2d2f787879792d29292b7d7e2e792a2e2f2b2c2c79782b7e346b757278736b32432d7f252e2c247e7f7a7e2e7e7a2b2825287f7d2b7a7a7e7e2e2e252d2d7a25783468303d2c35306b757278736b32432d7f252e2c247e7f7a7e2e7e7a2b2825287f7d2b7a7a7e7e2e2e252d2d7a2578346b757278736b32437f242d2824252b792a782e7f2d2a7e2b2b282d297d2a2c252b257d257d252c25346e35303d2d3535303d2d35526a7d6e3c6e212c604327757a346e202d2e24356e7968696e72476e41276a7d6e3c69216e392d2e243072214741276e7968696e723c72326c696f743469372d2e24302d2e2b3a346e316935332d2e2435307280906a7d6e3c69216e2222222c27757a3469202d2a2f2428356e7968696e723c6b757278736b32432d7e2b7f28782a2b2c292a282e7f7e2a7924292c2a257e7878797d28792c2d79346935276a7d6e3c79214741277873676a7d6e3c72212d2e2b3a69273469222222212b353a3a347260212d2e24353079326c696f74347235616b74757079346935276e7968696e723c790a736968796e4b757868740a757272796e4b757868740b736968796e5479757b74680b757272796e5479757b74680e78797a7572794c6e736c796e6865037b79680e7f73726f7370793270737b34793505596e6e736e0f6f687d7f77486e7d7f795075717568013f067e736868737103797578037079720368736c223423267f746e7371793179646879726f7573722640334033353447423f4033413735047964797f076e796c707d7f790934406e407260406e35017b1634323740333464746f7f7872354033604235323740720240720579716c686504796a7d70107f746e7371793179646879726f7573720970737f7d7074736f68092d2e2b322c322c322d097d727372657173696f047a7570790943436c6e7368734343096b797e786e756a796e187b7968536b724c6e736c796e686558796f7f6e756c68736e0f78737f69717972685970797179726816434f7970797275697143555859434e797f736e78796e0c7f7d70704f7970797275697109436f797079727569711543436b797e786e756a796e436f7f6e756c68437a72114343786e756a796e43796a7d70697d68791443436b797e786e756a796e43796a7d70697d68791343436f7970797275697143796a7d70697d68791343437a64786e756a796e43796a7d70697d6879124343786e756a796e4369726b6e7d6c6c79781543436b797e786e756a796e4369726b6e7d6c6c79781443436f797079727569714369726b6e7d6c6c79781443437a64786e756a796e4369726b6e7d6c6c79781743436b797e786e756a796e436f7f6e756c68437a69727f0c7b79685d68686e757e696879086f7970797275697106786e756a796e217f787f437d78734d6c737d6f727a7d2b2a6c7a7f4650717f7a70434f65717e7370207f787f437d78734d6c737d6f727a7d2b2a6c7a7f4650717f7a70435d6e6e7d65227f787f437d78734d6c737d6f727a7d2b2a6c7a7f4650717f7a70434c6e7371756f79194343386b797e786e756a796e5d6f65727f5964797f6968736e104343707d6f684b7d68756e5d70796e68124343707d6f684b7d68756e5f73727a756e71114343707d6f684b7d68756e4c6e73716c681243436b797e786e756a796e5a69727f7b797e1043436b797e786e756a796e43437f746e1b43436b797e786e756a796e436f7f6e756c68437a69727f687573720e7f7d707079784f79707972756971146b7d68757259646c6e796f6f757372596e6e736e156b7d68757259646c6e796f6f7573724e796f6970680a7f737272797f68757372036e6868037f6f750b6c796e71756f6f7573726f056d69796e65067f7d71796e7d056f687d6879077b6e7d7268797803747d6f0b6c707d6f7173317f6f6975037d7e6f09756f486e696f687978096873697f7471736a7905777965696c047e7378650b6e7971736a795f74757078037d70700d7f6e797d6879597079717972680575726c6968017d067d6c6c7972780164166e7968696e723c78737f6971797268327d7070346435107b79685972686e75796f5e6548656c790558797e697b1a73726e796f73696e7f7968757175727b7e697a7a796e7a69707021432e7e2f7e797e2b252a2e7a2b2c2d287f242d7e2e2a2c7a247d7d2d24252c7e79024741074e797a70797f68063c474234413604517d687404587d6879064f7f6e797972056b757868740a5173696f79596a7972680971736a79717972684409527d6a757b7d68736e086c707d687a736e711243436b64766f4379726a756e7372717972680b717572756c6e737b6e7d71077e6e736b6f796e0a43436b644b797e59726a1343436b64766f43756f436b776b797e6a75796b0e4b7975647572564f5e6e75787b79137b7968536b724c6e736c796e6865527d71796f0383857277088385727a75727568650483857268700b75726f687d7268757d687906517971736e650775727568757d7006717971736e650379726a0875726f687d727f790779646c736e686f067e697a7a796e06717d7070737f036f796823646543787d7d252e2a24247a7a252f2c25792d7d2e25782e292e2e287a782c2d2a287d2143782d7e28787a2a28797e2d292e7d7d2d782e2879242e7a257e782c7e7a792b7e047a6e7979236465437f7d2879787d2e2a282e7928257f2f2f242d2d29247a2a7e2c257e2c2d292a2b236465432a7a29782d2d7e78252b2f7e2b7d7d792d7f2d7e79252e297829782a25257f2d236465432d24782d2e7e247929282d7e2d7a78242c7e2d7f2f7f2e79797e2a2f7d2e2c240571726f6a2e21432b2f2c2d2b2e282e7f247e292b7f2d787d282a7e782d7a242d287d2d7a2d7e2c2143257924292528282a2e2e2524282d7d7d2d7878252c29787d2c2c782e2d28297a21437e25242c282d2b78297e7f782b2a7f2d79792e247e242a2b7d282f2e792e7d2c21432c2b7d2825242e7e242c2e257d7d7a28247f287e287825297e7f2b287e787e2521432d7f252e2c247e7f7a7e2e7e7a2b2825287f7d2b7a7a7e7e2e2e252d2d7a257821437f242d2824252b792a782e7f2d2a7e2b2b282d297d2a2c252b257d257d252c2521432c7828242c782f2b2d2f787879792d29292b7d7e2e792a2e2f2b2c2c79782b7e21432d7e2b7f28782a2b2c292a282e7f7e2a7924292c2a257e7878797d28792c2d790a282e2528252a2b2e252b0a282e2528252a2b2e2524';\nglobalThis['c93b4da3'](__$c, [, , typeof Object !== \"undefined\" ? Object : undefined, typeof Reflect !== \"undefined\" ? Reflect : undefined, typeof String !== \"undefined\" ? String : undefined, typeof Array !== \"undefined\" ? Array : undefined, typeof setTimeout !== \"undefined\" ? setTimeout : undefined, typeof Promise !== \"undefined\" ? Promise : undefined, typeof Date !== \"undefined\" ? Date : undefined, typeof globalThis !== \"undefined\" ? globalThis : undefined, typeof clearTimeout !== \"undefined\" ? clearTimeout : undefined, typeof performance !== \"undefined\" ? performance : undefined, typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : undefined, typeof requestIdleCallback !== \"undefined\" ? requestIdleCallback : undefined, typeof Math !== \"undefined\" ? Math : undefined, typeof undefined !== \"undefined\" ? undefined : undefined, typeof encodeURIComponent !== \"undefined\" ? encodeURIComponent : undefined, typeof TextEncoder !== \"undefined\" ? TextEncoder : undefined, typeof RegExp !== \"undefined\" ? RegExp : undefined, typeof document !== \"undefined\" ? document : undefined, typeof unescape !== \"undefined\" ? unescape : undefined, typeof parseInt !== \"undefined\" ? parseInt : undefined, typeof navigator !== \"undefined\" ? navigator : undefined, typeof InstallTrigger !== \"undefined\" ? InstallTrigger : undefined, typeof Set !== \"undefined\" ? Set : undefined, typeof Function !== \"undefined\" ? Function : undefined, typeof XMLHttpRequest !== \"undefined\" ? XMLHttpRequest : undefined, typeof JSON !== \"undefined\" ? JSON : undefined, typeof Error !== \"undefined\" ? Error : undefined, typeof chrome !== \"undefined\" ? chrome : undefined, typeof Event !== \"undefined\" ? Event : undefined, typeof top !== \"undefined\" ? top : undefined, typeof Uint8Array !== \"undefined\" ? Uint8Array : undefined])\n","!(function(){\n const $toString = Function.prototype.toString;\n const symbol = Symbol(); \n const myToString = function (){\n return typeof this === 'function' && this[symbol] || $toString.call(this);\n }\n function safeFunction(func, key, value){\n Object.defineProperty(func, key, {\n enumerable: false,\n configurable: true,\n writable: true,\n value: value,\n })\n };\n delete Function.prototype.toString;\n safeFunction(Function.prototype, \"toString\", myToString);\n safeFunction(Function.prototype.toString, symbol, 'function toString() { [native code] }');\n globalThis.safeFunction = function(func, funcname){\n safeFunction(func, symbol, `function ${funcname || func.name || ''}() { [native code] }`);\n }\n})();\n\n// delete __filename;\n// delete __dirname;\n \nfunction Window(){}\nwindow = global;\nwindow.Buffer = Buffer;\n// delete global;\n// delete Buffer;\nwindow.window = window.top = window.self = window;\nwindow.requestAnimationFrame = function requestAnimationFrame() {};\nwindow.requestIdleCallback = function requestIdleCallback() {};\nwindow.DeviceOrientationEvent = function DeviceOrientationEvent(){};\nwindow.DeviceMotionEvent = function DeviceMotionEvent(){};\n \nfunction XMLHttpRequest() {}\nXMLHttpRequest.prototype.open = function () {};\nXMLHttpRequest.prototype.send = function () {};\nXMLHttpRequest.prototype.setRequestHeader = function () {};\nXMLHttpRequest.prototype.addEventListener = function () {};\nwindow.XMLHttpRequest = XMLHttpRequest;\nwindow.chrome = {}\nwindow.xsecappid = 'xhs-pc-web';\nwindow.loadts = new Date().toString()\nwindow.addEventListener = function addEventListener(){}\nwindow.MouseEvent = function MouseEvent(){}\n \nsafeFunction(window.addEventListener)\nsafeFunction(window.MouseEvent)\n \nObject.setPrototypeOf(window, Window.prototype)\n \n \nfunction Document(){}\nfunction Element(){}safeFunction(Element)\nElement.prototype.getAttribute = function getAttribute(){\n \n};safeFunction(Element.prototype.getAttribute)\nElement.prototype.removeChild = function removeChild(){\n \n};safeFunction(Element.prototype.removeChild)\nfunction HTMLElement(){\n Element.call(this)\n};safeFunction(HTMLElement)\nHTMLElement.prototype = Object.create(Element.prototype)\nHTMLElement.prototype.constructor = HTMLElement;\n \nwindow.HTMLElement = HTMLElement;\nfunction HTMLHtmlElement(){\n HTMLElement.call(this)\n};safeFunction(HTMLElement)\nHTMLHtmlElement.prototype = Object.create(HTMLElement.prototype)\nHTMLHtmlElement.prototype.constructor = HTMLHtmlElement;\n \n \nfunction HTMLCollection(){\n}\n \n// 添加一个基本的 iterator 方法\nHTMLCollection.prototype[Symbol.iterator] = function () {\n return [].values(); // 返回一个空数组的迭代器\n};\n \n \nDocument.prototype.documentElement = new HTMLHtmlElement();\nDocument.prototype.getElementsByTagName = function getElementsByTagName(tagName){\n if (tagName === '*'){\n return [\n {\"tagName\": \"html\"},\n {\"tagName\": \"head\"},\n {\"tagName\": \"script\"},\n {\"tagName\": \"meta\"},\n {\"tagName\": \"link\"},\n {\"tagName\": \"style\"},\n {\"tagName\": \"title\"},\n {\"tagName\": \"body\"},\n {\"tagName\": \"div\"},\n {\"tagName\": \"svg\"},\n {\"tagName\": \"defs\"},\n {\"tagName\": \"clippath\"},\n {\"tagName\": \"rect\"},\n {\"tagName\": \"path\"},\n {\"tagName\": \"symbol\"},\n {\"tagName\": \"circle\"},\n {\"tagName\": \"g\"},\n {\"tagName\": \"header\"},\n {\"tagName\": \"a\"},\n {\"tagName\": \"img\"},\n {\"tagName\": \"input\"},\n {\"tagName\": \"use\"},\n {\"tagName\": \"button\"},\n {\"tagName\": \"span\"},\n {\"tagName\": \"ul\"},\n {\"tagName\": \"li\"},\n {\"tagName\": \"picture\"},\n {\"tagName\": \"i\"},\n {\"tagName\": \"p\"},\n {\"tagName\": \"section\"},\n {\"tagName\": \"iframe\"}\n]\n }\n};safeFunction(Document.prototype.getElementsByTagName)\nDocument.prototype.addEventListener = function addEventListener(){}\n \nfunction HTMLAllCollection (){\n this.length = 1181;\n};safeFunction(HTMLAllCollection)\nfunction HTMLBodyElement (){\n HTMLElement.call(this)\n};safeFunction(HTMLBodyElement)\nHTMLBodyElement.prototype = Object.create(HTMLElement.prototype)\nHTMLBodyElement.prototype.constructor = HTMLBodyElement;\nDocument.prototype.all = new HTMLAllCollection();\nDocument.prototype.body = new HTMLBodyElement();\nDocument.prototype.cookie = window.a1value;\n \n \nsafeFunction(Document.prototype.addEventListener)\nfunction HTMLDocument(){}\nObject.setPrototypeOf(HTMLDocument.prototype, Document.prototype)\ndocument = new HTMLDocument()\nwindow.document = document;\nwindow.HTMLDocument = HTMLDocument;\n \n \nfunction Navigator(){}\nNavigator.prototype.appCodeName = \"Mozilla\";\nNavigator.prototype.appName = \"Netscape\";\nNavigator.prototype.language = \"zh-CN\";\nNavigator.prototype.languages = [\n \"zh-CN\",\n \"zh\",\n \"en\"\n];\nNavigator.prototype.platform = \"MacIntel\";\nNavigator.prototype.product = \"Gecko\";\nNavigator.prototype.productSub = \"20030107\";\nfunction PermissionStatus(){\n this.state = \"denied\"\n this.then = function then(){}\n};safeFunction(PermissionStatus)\nfunction Permissions(){\n}\nPermissions.prototype.query = function query() {\n return Promise.resolve(new PermissionStatus())\n};safeFunction(Permissions.prototype.query)\nNavigator.prototype.permissions = new Permissions()\nNavigator.prototype.userAgent = \"\";\nNavigator.prototype.vendor = \"Google Inc.\";\nNavigator.prototype.webdriver = false;\nnavigator = new Navigator()\nwindow.navigator = navigator;\nwindow.Navigator = Navigator;\n \n \nfunction Storage(){}\nsessionStorage = new Storage()\nwindow.sessionStorage = sessionStorage;\n \n \nlocalStorage = new Storage()\nwindow.localStorage = localStorage;\nwindow.Storage = Storage;\n \n \nfunction Location(){}\nLocation.prototype = {\n \"ancestorOrigins\": {},\n \"href\": \"https://bf5b000000001001945f?xsec_token=AB3TbsCqzVXoWzLIZU5EZiXQBkisr5haqXi5iXIV2NtO0=&xsec_source=pc_note\",\n \"origin\": \"https:shu.com\",\n \"protocol\": \"https:\",\n \"host\": \"www..com\",\n \"hostname\": \"www.xiaohongshu.com\",\n \"port\": \"\",\n \"pathname\": \"/user/00000001001945f\",\n \"search\": \"?xsec_token=AB3TbsCqzVXoWzLIZU5EZiXQBkisr5haqXi5iXIV2NtO0=&xsec_source=pc_note\",\n \"hash\": \"\"\n}\nlocation = new Location()\nwindow.location = location;\nwindow.Location = Location;\n \n \nfunction History(){}\nhistory = new History()\nwindow.history = history;\nwindow.History = History;\n \n \nfunction Screen(){}\nscreen = new Screen()\nwindow.screen = screen;\nwindow.Screen = Screen;\n \n ","function encodeUtf8(e) {\n let r2 = []\n for (let a = encodeURIComponent(e), c = 0;c < a.length; c++) {\n const d = a.charAt(c);\n if (d === \"%\") {\n const s = Number.parseInt(a.charAt(c + 1) + a.charAt(c + 2), 16);\n r2.push(s), c += 2;\n } else\n r2.push(d.charCodeAt(0));\n }\n return r2;\n}\nvar c = [\n \"Z\",\n \"m\",\n \"s\",\n \"e\",\n \"r\",\n \"b\",\n \"B\",\n \"o\",\n \"H\",\n \"Q\",\n \"t\",\n \"N\",\n \"P\",\n \"+\",\n \"w\",\n \"O\",\n \"c\",\n \"z\",\n \"a\",\n \"/\",\n \"L\",\n \"p\",\n \"n\",\n \"g\",\n \"G\",\n \"8\",\n \"y\",\n \"J\",\n \"q\",\n \"4\",\n \"2\",\n \"K\",\n \"W\",\n \"Y\",\n \"j\",\n \"0\",\n \"D\",\n \"S\",\n \"f\",\n \"d\",\n \"i\",\n \"k\",\n \"x\",\n \"3\",\n \"V\",\n \"T\",\n \"1\",\n \"6\",\n \"I\",\n \"l\",\n \"U\",\n \"A\",\n \"F\",\n \"M\",\n \"9\",\n \"7\",\n \"h\",\n \"E\",\n \"C\",\n \"v\",\n \"u\",\n \"R\",\n \"X\",\n \"5\"\n];\nfunction tripletToBase64(e) {\n return c[e >> 18 & 63] + c[e >> 12 & 63] + c[e >> 6 & 63] + c[63 & e];\n}\nfunction encodeChunk(e, a, r2) {\n for (var c2, d = [], s = a;s < r2; s += 3)\n c2 = (e[s] << 16 & 16711680) + (e[s + 1] << 8 & 65280) + (255 & e[s + 2]), d.push(tripletToBase64(c2));\n return d.join(\"\");\n}\nfunction b64Encode(e) {\n for (var a, r2 = e.length, d = r2 % 3, s = [], f = 16383, u = 0, l = r2 - d;u < l; u += f)\n s.push(encodeChunk(e, u, u + f > l ? l : u + f));\n return d === 1 ? (a = e[r2 - 1], s.push(c[a >> 2] + c[a << 4 & 63] + \"==\")) : d === 2 && (a = (e[r2 - 2] << 8) + e[r2 - 1], s.push(c[a >> 10] + c[a >> 4 & 63] + c[a << 2 & 63] + \"=\")), s.join(\"\");\n}\nfunction encode_mnsv2(mnsv2, platform, req_type) {\n const f = {\n x0: \"4.2.6\",\n x1: \"xhs-pc-web\",\n x2: platform,\n x3: mnsv2,\n x4: req_type\n };\n return \"XYS_\" + b64Encode(encodeUtf8(JSON.stringify(f)));\n}\nmodule.exports = encode_mnsv2\n","import {Http} from \"./http\";\nimport { HttpsProxyAgent } from \"https-proxy-agent\";\n\nconst ProxyData = {\n api: \"202101291430286754\",\n md5akey: \"6ec8d333e85044b7\",\n akey: \"91709114\"\n}\n\ninterface ProxyInfo {\n code: number;\n msg: string;\n data: {\n ip: string;\n port: number;\n adr: string;\n timeout: number;\n continue: number;\n proxyAddress: string;\n }[];\n}\n\nexport const ProxyAgent =async ( adr: string, huiwenToken?: string) =>{\n const http = new Http({});\n let ProxyInfo: ProxyInfo = await http.api({\n method: \"GET\",\n url: \"https://preview.huiwen.top/api/publish/zdy/ip\",\n params: {\n addr: adr\n },\n ...(huiwenToken ? { headers: { token: huiwenToken } } : null)\n })\n \n // 在 URL 中写上认证信息\n return ProxyInfo.code === 0 && ProxyInfo.data.length > 0 ? new HttpsProxyAgent(`http://${ProxyData.api}:${ProxyData.akey}@${ProxyInfo.data[0].proxyAddress}`) : null;\n}","import type { ResponseData } from \"@iflyrpa/share\";\nimport axios, {\n\ttype AxiosError,\n\ttype AxiosInstance,\n\ttype AxiosResponse,\n\ttype CreateAxiosDefaults,\n\ttype AxiosRequestConfig,\n} from \"axios\";\nimport {ProxyAgent} from \"./proxy\";\n\nexport class Http {\n private readonly apiClient: AxiosInstance;\n private readonly adr?: string;\n private readonly heiwenToken?: string;\n public proxyInfo?: string;\n\n static handleApiError(error: unknown): ResponseData {\n // 如果错误已经是 ResponseData 格式,直接抛出\n if (error && typeof error === \"object\" && \"code\" in error && \"message\" in error) {\n return error as ResponseData;\n }\n\n // 处理其他类型的错误\n return {\n code: 500,\n message: \"\",\n data: error,\n };\n }\n\n constructor(config?: CreateAxiosDefaults, adr?: string, huiwenToken?: string) {\n this.apiClient = axios.create({\n ...config,\n proxy: {\n \thost: \"192.168.137.1\", // 根据你的代理服务设置\n \tport: 9000,\n \tprotocol: \"http\", // 可选\n },\n });\n this.adr = adr;\n this.heiwenToken = huiwenToken\n }\n\n\n // 添加响应拦截器\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n public addResponseInterceptor<T = any>(findError: (response: AxiosResponse<T>) => ResponseData | undefined) {\n this.apiClient.interceptors.response.use(\n (response) => {\n // 检查响应中的 errno 字段\n const error = findError(response);\n\n if (error) {\n return Promise.reject(\n Object.assign(error, {\n extra: {\n method: response.config.method,\n url: response.config.url,\n },\n }),\n );\n }\n\n return response;\n },\n (error: AxiosError) => {\n // 创建标准错误响应格式\n const errorResponse: ResponseData = {\n code: error.response?.status || 500,\n message: error.message || \"\",\n data: error.response?.data,\n extra: {\n method: error.config?.method,\n url: error.config?.url,\n },\n };\n\n // 如果服务端返回了详细错误信息,可以使用服务端的错误信息\n if (error.response?.data) {\n if (typeof error.response.data === \"object\") {\n // 如果服务端返回的是对象,可以尝试提取错误信息\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n const serverError = error.response.data as any;\n if (serverError.message) {\n errorResponse.message = serverError.message;\n }\n // 可以保留原始错误数据\n errorResponse.data = serverError;\n }\n }\n // ✅ 情况二:网络错误(没有 response)\n if (error.code) {\n switch (error.code) {\n case \"ECONNRESET\":\n errorResponse.message = \"连接被重置,请检查网络或稍后重试!\";\n break;\n case \"ENOTFOUND\":\n errorResponse.message = \"域名解析失败,请检查 URL 是否正确!\";\n break;\n case \"ETIMEDOUT\":\n errorResponse.message = \"网络请求超时,请检查网络连接!\";\n break;\n case \"ECONNREFUSED\":\n errorResponse.message = \"服务器拒绝连接,请稍后重试!\";\n break;\n case \"EAI_AGAIN\":\n errorResponse.message = \"DNS 查询超时,请稍后重试!\";\n break;\n default:\n errorResponse.message = `网络错误: ${error.message}`;\n break;\n }\n }\n\n // 返回标准化的错误响应\n return Promise.reject(errorResponse);\n },\n );\n }\n\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n public async api<T = any>(config: AxiosRequestConfig, options?: {\n retries?: number;\n retryDelay?: number\n }): Promise<T> {\n const retries = options?.retries ?? 0; // 默认不重试\n const retryDelay = options?.retryDelay ?? 500;\n const sessionRt = async (Rtimes: number): Promise<T> => {\n try {\n const agent = this.adr ? await ProxyAgent(this.adr, this.heiwenToken) : undefined;\n if (this.adr && agent == null) return Promise.reject({code: 200, message: \"当前发文IP地址暂不支持!\"});\n this.proxyInfo = agent?.proxy.host;\n const response = await this.apiClient<T>({\n ...config,\n ...(agent ? {\n httpAgent: agent,\n httpsAgent: agent\n } : {}),\n });\n return response.data;\n } catch (error) {\n const handledError = Http.handleApiError(error);\n const isRetry = (handledError as any).code >= 500 || (handledError as any).code === 0;\n\n if (Rtimes < retries && isRetry) {\n console.log(\"Loger: 进入重试!\")\n await new Promise((resolve) => setTimeout(resolve, retryDelay));\n return sessionRt(Rtimes + 1);\n }\n return Promise.reject(handledError);\n }\n };\n return sessionRt(0);\n }\n}\n","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport type { CommonAction, Page, ResponseData } from \"@iflyrpa/share\";\nimport domSerializer from \"dom-serializer\";\nimport { type ChildNode, DomHandler, type Element } from \"domhandler\";\nimport { DomUtils, Parser } from \"htmlparser2\";\nimport mime from \"mime-types\";\n\nimport { Http } from \"./http\";\n\n/**\n * 生成两数之间的随机整数\n * @param min\n * @param max\n * @returns\n */\nexport function getRandomInRange(min: number, max: number) {\n\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\nexport const getFileState = (filePath: string) => {\n\t// 获取文件名\n\tconst filename = path.basename(filePath);\n\t// 获取文件类型\n\tconst fileType = mime.lookup(filePath);\n\tconst stats = fs.statSync(filePath);\n\t// 获取文件大小\n\tconst fileSize = stats.size;\n\t// 获取最后修改时间\n\tconst lastModifiedDate = stats.mtime;\n\n\treturn {\n\t\tname: filename,\n\t\ttype: fileType,\n\t\tsize: fileSize,\n\t\tlastModifiedDate: lastModifiedDate.toString(),\n\t};\n};\n\nexport type AspectRatio = [number, number];\nexport type CropCoordinates = {\n\tx1: number;\n\ty1: number;\n\tx2: number;\n\ty2: number;\n};\n\n/**\n * 获取特定的比例切割图片,获取切割的坐标\n * @param width 图片长度\n * @param height 图片高度\n * @param aspectRatio 切割比例:[宽度,高度]\n * @returns\n */\nexport const calculateCropCoordinates = (width: number, height: number, aspectRatio: AspectRatio): CropCoordinates => {\n\tconst targetRatio = aspectRatio[0] / aspectRatio[1];\n\tlet cropWidth: number;\n\tlet cropHeight: number;\n\n\tif (width / height > targetRatio) {\n\t\t// 图片过宽,需要裁切宽度\n\t\tcropHeight = height;\n\t\tcropWidth = height * targetRatio;\n\t} else {\n\t\t// 图片过高,需要裁切高度\n\t\tcropWidth = width;\n\t\tcropHeight = width / targetRatio;\n\t}\n\n\tconst x1 = (width - cropWidth) / 2;\n\tconst y1 = (height - cropHeight) / 2;\n\tconst x2 = x1 + cropWidth;\n\tconst y2 = y1 + cropHeight;\n\n\t// 返回百分比坐标\n\treturn {\n\t\tx1: x1 / width,\n\t\ty1: y1 / height,\n\t\tx2: x2 / width,\n\t\ty2: y2 / height,\n\t};\n};\n\n// 提取 html 中的 img 标签\nexport const extractImgTag = (html: string) => {\n\tconst srcList: string[] = [];\n\n\tconst parser = new Parser({\n\t\tonopentag(name, attributes) {\n\t\t\tif (name === \"img\" && (attributes.src.trim() || attributes.currentSrc.trim())) {\n\t\t\t\tsrcList.push(attributes.src.trim() || attributes.currentSrc.trim());\n\t\t\t}\n\t\t},\n\t});\n\n\tparser.write(html);\n\tparser.end();\n\n\treturn srcList;\n};\n\n/**\n * 时间格式化\n * @param time\n * @param format 默认 yyyy-MM-dd HH:mm\n * @returns 时间字符串\n */\nexport class TimeFormatter {\n\tstatic format(timestamp: number, formatStr: String = 'yyyy-MM-dd hh:mm') {\n\t // 自动判断:如果是10位(秒),就转为毫秒\n\t if (typeof timestamp === 'number' && timestamp.toString().length === 10) {\n\t\ttimestamp *= 1000;\n\t }\n \n\t const date = new Date(timestamp);\n \n\t const map: Record<string, string> = {\n\t\t\"yyyy\": String(date.getFullYear()),\n\t\t\"yy\": String(date.getFullYear()).slice(-2),\n\t\t\"MM\": String(date.getMonth() + 1).padStart(2, '0'),\n\t\t\"dd\": String(date.getDate()).padStart(2, '0'),\n\t\t\"hh\": String(date.getHours()).padStart(2, '0'),\n\t\t\"mm\": String(date.getMinutes()).padStart(2, '0'),\n\t\t\"ss\": String(date.getSeconds()).padStart(2, '0'),\n\t\t\"M\": String(date.getMonth() + 1), // 月不带前导零\n \t\t\"d\": String(date.getDate()), // 日不带前导零\n\t\t\"h\": String(date.getHours()), // 不带前导零\n\t\t\"m\": String(date.getMinutes()), // 不带前导零\n\t\t\"s\": String(date.getSeconds()) // 不带前导零\n\t };\n \n\t return formatStr.replace(/yyyy|yy|MM|dd|hh|mm|ss|M|d|h|m|s/g, key => map[key]);\n\t}\n }\nexport const replaceImgSrc = (html: string, callback: (dom: Element) => Element) => {\n\tlet lastedHtml = html;\n\n\tconst isImageTag = (node: ChildNode): node is Element => node.type === \"tag\" && node.name === \"img\";\n\n\tconst traverseDom = (node: ChildNode) => {\n\t\tif (DomUtils.hasChildren(node)) {\n\t\t\tfor (const child of node.children) {\n\t\t\t\tif (isImageTag(child)) {\n\t\t\t\t\tcallback(child);\n\t\t\t\t}\n\t\t\t\ttraverseDom(child);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handler = new DomHandler((error, dom) => {\n\t\tif (error) {\n\t\t\tconsole.log(error);\n\t\t} else {\n\t\t\t// 处理 DOM 节点的函数\n\t\t\tdom.forEach(traverseDom);\n\t\t}\n\n\t\tlastedHtml = domSerializer(dom, { decodeEntities: false });\n\t});\n\n\tconst parser = new Parser(handler, { decodeEntities: false });\n\tparser.write(html);\n\tparser.end();\n\n\treturn lastedHtml;\n};\n\nexport const stringifyError = (error: unknown) => {\n\tif (error instanceof Error) {\n\t\treturn error.toString();\n\t}\n\n\tif (typeof error === \"object\") {\n\t\treturn JSON.stringify(error);\n\t}\n\n\treturn error;\n};\n\n/**\n * 创建一个函数,该函数会依次执行传入的函数列表,直到有一个函数成功或所有函数都失败。\n *\n * @template P - 函数的参数类型,为一个任意长度的数组。\n * @template T - 函数的返回类型,为一个 Promise 的解析值类型。\n * @param {CommonAction<P, T>[]} actions - 一个函数列表,每个函数的类型为 `(...p: P) => Promise<T>`。\n * @returns {CommonAction<P, T>} - 返回一个新的函数,其类型与传入的函数列表中的函数类型相同。\n * 当调用该函数时,会依次执行 `actions` 中的函数,直到有一个函数成功(即返回一个解析的 Promise),\n * 或者所有函数都失败(即抛出异常)。如果所有函数都失败,则抛出最后一个错误。\n *\n * @example\n * const action1 = async (num) => {\n * if (num > 0) return \"Action 1 succeeded\";\n * throw new Error(\"Action 1 failed\");\n * };\n *\n * const action2 = async (num) => {\n * if (num > 1) return \"Action 2 succeeded\";\n * throw new Error(\"Action 2 failed\");\n * };\n *\n * const combinedAction = executeAction(action1, action2);\n *\n * (async () => {\n * try {\n * const result = await combinedAction(1);\n * console.log(result); // 输出: \"Action 2 succeeded\"\n * } catch (error) {\n * console.error(error.message);\n * }\n * })();\n */\nexport const executeAction = <P, T>(...actions: CommonAction<P, T>[]): CommonAction<P, T> => {\n\treturn async (task, params) => {\n\t\tlet result: ResponseData<T> = {\n\t\t\tcode: 500,\n\t\t\tmessage: \"\",\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: <explanation>\n\t\t\tdata: null as any,\n\t\t};\n\n\t\tfor (let index = 0; index < actions.length; index++) {\n\t\t\tconst action = actions[index];\n\n\t\t\ttry {\n\t\t\t\tresult = await action(task, params);\n\t\t\t} catch (error) {\n\t\t\t\tresult = Http.handleApiError(error);\n\t\t\t}\n\n\t\t\t// code === 0 表示成功, code === 200 虽然表示失败,但是不需要继续执行后续的 action\n\t\t\tif (result.code === 0 || result.code === 200) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\t// 不是最后一个 action,上报错误信息\n\t\t\tif (index !== actions.length - 1) {\n\t\t\t\ttask.logger.error(result.message, stringifyError(result.data), result.extra);\n\t\t\t}\n\t\t}\n\n\t\t// 所有 action 都执行完毕但都失败了,返回最后一个失败结果\n\t\treturn result;\n\t};\n};\n\n/**\n * 将 HTML 内容复制到剪贴板\n * @param page - 页面对象\n * @param html - HTML 内容\n * @param options - 选项,包括格式和回退\n * @returns 无返回值\n */\nexport async function copyHtmlToClipboard(page: Page, html: string, options = { format: \"text/html\", fallback: true }) {\n\ttry {\n\t\t// 尝试使用原生 API\n\t\tawait page.evaluate(\n\t\t\tasync ({ htmlContent, format }) => {\n\t\t\t\tconst blob = new Blob([htmlContent], { type: format });\n\t\t\t\tawait navigator.clipboard.write([new ClipboardItem({ [format]: blob })]);\n\t\t\t},\n\t\t\t{ htmlContent: html, format: options.format },\n\t\t);\n\t} catch (error) {\n\t\tif (options.fallback) {\n\t\t\t// 回退到 DOM 操作\n\t\t\tawait page.evaluate((htmlContent) => {\n\t\t\t\tconst div = document.createElement(\"div\");\n\t\t\t\tdiv.contentEditable = \"true\";\n\t\t\t\tdiv.style.cssText = `\n position: fixed;\n left: -9999px;\n opacity: 0;\n pointer-events: none;\n `;\n\n\t\t\t\tdiv.innerHTML = htmlContent;\n\t\t\t\tdocument.body.appendChild(div);\n\n\t\t\t\tconst range = document.createRange();\n\t\t\t\trange.selectNodeContents(div);\n\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: <忽略错误>\n\t\t\t\tconst selection = window.getSelection()!;\n\t\t\t\tselection.removeAllRanges();\n\t\t\t\tselection.addRange(range);\n\n\t\t\t\tdocument.execCommand(\"copy\");\n\t\t\t\tdocument.body.removeChild(div);\n\t\t\t\tselection.removeAllRanges();\n\t\t\t}, html);\n\t\t}\n\t}\n}\n\n/**\n * 通用弹窗监听处理器\n * @param page - Playwright 页面对象\n * @param popupSelector - 弹窗的选择器(字符串或 Locator)\n * @param popKey - 弹窗中的唯一键(字符串)\n * @param buttonSelector - 弹窗中需要点击的按钮选择器\n * @param options - 可选配置项\n */\nexport function PopupListener(\n\tpage: Page, \n\tpopupSelector: string, \n\tpopKey: string, \n\tbuttonSelector: string, \n\toptions:{\n\t\tcheckInterval?: number;\n\t\tstopAfterClick?: boolean;\n\t} = {}) {\n\tconst {\n\t\tcheckInterval = 1000,\n\t\tstopAfterClick = false\n\t} = options;\n\n\tconst popup = page.locator(popupSelector);\n\tconst button = page.locator(buttonSelector);\n\n\tconst intervalId = setInterval(async () => {\n\t\ttry {\n\t\t\tif (await popup.count() > 0 && await popup.isVisible() && (await popup.textContent()||\"\").includes(popKey)) {\n\t\t\t\tawait button.click({ force: true });\n\n\t\t\t\tif (stopAfterClick) {\n\t\t\t\t\tclearInterval(intervalId);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err) { }\n\t}, checkInterval);\n\n\treturn () => {\n\t\tclearInterval(intervalId);\n\t};\n}\n\n// 将 url 的 queryString 解析成对象\nexport const parseUrlQueryString = (url: string) => {\n\tconst queryStringObject: Record<string, string> = {};\n\n\t// 检查 URL 是否包含查询参数\n\tif (!url || !url.includes(\"?\")) {\n\t\treturn queryStringObject;\n\t}\n\n\t// 提取查询字符串部分\n\tconst queryString = url.split(\"?\")[1];\n\n\t// 检查查询字符串是否为空\n\tif (!queryString) {\n\t\treturn queryStringObject;\n\t}\n\n\t// 处理 hash 部分\n\tconst queryWithoutHash = queryString.split(\"#\")[0];\n\n\t// 分割查询参数\n\tconst queryStringArray = queryWithoutHash.split(\"&\");\n\n\tfor (const item of queryStringArray) {\n\t\t// 跳过空参数\n\t\tif (!item) continue;\n\n\t\tconst equalIndex = item.indexOf(\"=\");\n\n\t\t// 处理没有值的参数 (如 ?param)\n\t\tif (equalIndex === -1) {\n\t\t\tqueryStringObject[item] = \"\";\n\t\t} else {\n\t\t\tconst key = item.slice(0, equalIndex);\n\t\t\tconst value = item.slice(equalIndex + 1);\n\n\t\t\t// 尝试解码,如果解码失败则使用原始值\n\t\t\ttry {\n\t\t\t\tqueryStringObject[key] = decodeURIComponent(value);\n\t\t\t} catch (e) {\n\t\t\t\tqueryStringObject[key] = value;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn queryStringObject;\n};\n\n/**\n * 合并默认参数\n * @param params\n * @param defaults\n * @returns\n */\nexport const defaultParams = <P = Record<string, unknown>>(params: P, defaults: Partial<P>): P => {\n\treturn Object.assign({}, defaults, params);\n};\n","import crypto from \"node:crypto\";\n\n/**\n * 生成百家号话题html\n * @param topic\n * @param id\n * @param sv_small_images\n */\nexport const generateTopicHtml = function (topic: string, id?: string, sv_small_images?: {\n http: string,\n https: string\n}) {\n const generateUid = function () {\n const e = () => Math.floor(65536 * (1 + Math.random())).toString(16).substring(1);\n return e() + e() + e() + e() + e() + e() + e() + e();\n };\n const topicBase = function (topic: string, id?: string, sv_small_images?: { http: string, https: string }) {\n const t = function (r: any) {\n let n = [];\n let e = 0;\n for (; e < 256; ++e)\n n[e] = (e + 256).toString(16).substr(1);\n let o = 0;\n return [\n n[r[o++]], n[r[o++]], n[r[o++]], n[r[o++]], \"-\",\n n[r[o++]], n[r[o++]], \"-\",\n n[r[o++]], n[r[o++]], \"-\",\n n[r[o++]], n[r[o++]], \"-\",\n n[r[o++]], n[r[o++]], n[r[o++]], n[r[o++]], n[r[o++]], n[r[o++]]\n ].join(\"\");\n };\n const s = crypto.randomBytes(16);\n // @ts-ignore\n (s[6] = 15 & s[6] | 64, s[8] = 63 & s[8] | 128);\n return {\n id: id || t(s),\n sv_small_images: sv_small_images || \"\",\n title: topic.replace(/[^\\u4E00-\\u9FA5a-zA-Z0-9]/g, \"\"),\n isCreate: 1\n };\n };\n\n const n = id ? topicBase(topic, id, sv_small_images) : topicBase(topic);\n const topicAttr = {\n style: \"border:none;display:inline-block;color:#3E5599;text-decoration:none;font-style:normal;\",\n href: `https://m.baidu.com/s?word=%23${n.title}%23&topic_id=${n.id}&sa=edit&sfrom=1023524a&append=1&newwindow=0&upqrade=1`.replace(/&/g, \"&\"),\n target: \"_blank\",\n // @ts-ignore\n \"data-bjh-cover\": \"\".concat(n.sv_small_images && (n.sv_small_images.https || n.sv_small_images.http)),\n \"data-bjh-src\": `https://m.baidu.com/s?word=%23${n.title}%23&topic_id=${n.id}&sa=edit&sfrom=1023524a&append=1&newwindow=0&upqrade=1`.replace(/&/g, \"&\"),\n \"data-bjh-box\": \"topic\",\n \"data-bjh-title\": n.title,\n \"data-bjh-id\": id || n.id,\n \"data-bjh-type\": \"topic\",\n contenteditable: \"false\",\n \"data-ignore-remove-style\": \"1\",\n \"data-bjh-create\": id ? \"0\" : \"1\",\n \"data-bjh-adinspiration\": \"0\",\n \"data-diagnose-id\": generateUid()\n };\n\n const attrStr = Object.entries(topicAttr)\n .map(([key, val]) => `${key}=\"${val}\"`)\n .join(\" \");\n\n return `<p><span data-diagnose-id=${generateUid()}></span><a ${attrStr}>#${n.title}#</a></p>`;\n};","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\nimport FormData from \"form-data\";\n\nimport type { PublishAction } from \".\";\nimport { extractImgTag, replaceImgSrc } from \"../../utils\";\nimport { Http } from \"../../utils/http\";\nimport {generateTopicHtml} from \"./utils\";\n\ninterface CommonResponse<T = unknown> {\n\tdata: T;\n\terrmsg: string;\n\terrno: number;\n}\n\ninterface ImageRetResponse {\n\tbos_url: string;\n\thttps_url: string;\n\tno_waterlog_bos_url: string;\n\torg_url: string;\n}\n\nconst errnoMap: Record<number, string> = {\n\t20040706: \"正文图片和封面图片推荐jpg、png格式。\",\n\t20040084: \"正文图片和封面图片推荐jpg、png格式。\",\n\t20050004: \"今日百家号发布次数已达上限,请明天再试。\",\n\t10000015: \"账号存在异常,需前往百家号平台完成发文验证后可激活使用。\",\n\t20050000: \"操作太频繁,请稍后再试\",\n\t20040027: \"你的账号状态异常,请到百家号平台检查账号状态。\",\n\t10000017: \"账号存在异常,需前往百家号平台完成发文验证后可激活使用。\",\n\t20040033: \"封面图片推荐 jpg、png格式,宽高在372×284-5000×5000 范围内。\",\n\t2004005714: \"网络环境异常,请检查网络后重试发布。\",\n\t401100032: \"异常,请检查图片(如:格式、版权、合规性等)。\",\n\t20040034: \"封面图片推荐jpg、png格式,不支持gif格式。\",\n\t20040124: \"服务器异常,请稍后重试!\",\n\t20040001: \"当前用户未登录,请登陆后重试!\",\n 401100025: \"该应用不支持此媒资类型\",\n 401100033: \"图片宽高不满足要求\",\n '-6': \"文章分类信息错误\"\n};\n\nexport const mockAction: PublishAction = async (task, params) => {\n\tconst { baijiahaoSingleCover, baijiahaoMultCover, baijiahaoCoverType } = params.settingInfo;\n\tconst tmpCachePath = task.getTmpPath();\n const headers= {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\ttoken: params.token,\n\t\t}\n\n\tlet http = new Http({ headers });\n\n\t// 添加响应拦截器\n\thttp.addResponseInterceptor<CommonResponse>((response) => {\n\t\tconst msgType = params.saveType === \"draft\" ? \"同步\" : \"发布\";\n\n\t\t// 检查响应中的 errno 字段\n\t\tif (response.data.errno !== 0) {\n\t\t\tlet errmsg = response.config.defaultErrorMsg || `文章${msgType}异常,请稍后重试。`;\n\n\t\t\tif (response.data.errno === 20050000) {\n\t\t\t\terrmsg = msgType + errnoMap[response.data.errno];\n\t\t\t}\n\t\t\tif (response.data.errno === 401100032) {\n\t\t\t\terrmsg = `图片${msgType}${errnoMap[response.data.errno]}`;\n\t\t\t} else if (errnoMap[response.data.errno]) {\n\t\t\t\terrmsg = errnoMap[response.data.errno];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcode: errnoMap[response.data.errno] ? 200 : 500,\n\t\t\t\tmessage: errmsg,\n\t\t\t\tdata: response.data,\n\t\t\t};\n\t\t}\n\t});\n\n\t// 0. 校验登录\n\tawait http.api({\n\t\tmethod: \"get\",\n\t\turl: \"https://baijiahao.baidu.com/pcui/home/index\",\n\t\tdefaultErrorMsg: `百家号登录状态失效,请重新绑定账号后${params.saveType === \"draft\" ? \"同步\" : \"发布\"}。`,\n\t});\n\n\t// 1. 获取用户 appId\n\tconst appIdInfo = await http.api<CommonResponse<{ user: { app_id: number } }>>({\n\t\tmethod: \"post\",\n\t\turl: \"https://baijiahao.baidu.com/builder/app/appinfo\",\n\t\tdefaultErrorMsg: \"创建草稿失败,请稍后重试。\",\n\t});\n\n\tconst appId = appIdInfo.data.user.app_id;\n\n\tconst uploadImages = async (_images: string[]) => {\n\t\t// 过滤掉空字符串\n\t\tconst images = _images.filter((url) => !!url && url.trim() !== \"\");\n\n\t\t// 下载图片到本地\n\t\treturn await Promise.all(\n\t\t\timages.map(async (url) => {\n\t\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\t\tconst image = await downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t\t\tconst formData = new FormData();\n\t\t\t\tformData.append(\"org_file_name\", fileName);\n\t\t\t\tformData.append(\"type\", \"image\");\n\t\t\t\tformData.append(\"app_id\", appId);\n\t\t\t\tformData.append(\"is_waterlog\", \"1\");\n\t\t\t\tformData.append(\"save_material\", \"1\");\n\t\t\t\tformData.append(\"no_compress\", \"0\");\n\t\t\t\tformData.append(\"article_type\", \"news\");\n\t\t\t\tformData.append(\"media\", fs.createReadStream(image));\n\n\t\t\t\tconst res = await http.api<{ ret: ImageRetResponse }>({\n\t\t\t\t\tmethod: \"post\",\n\t\t\t\t\turl: \"https://baijiahao.baidu.com/materialui/picture/uploadProxy\",\n\t\t\t\t\tdata: formData,\n\t\t\t\t\tdefaultErrorMsg:\n\t\t\t\t\t\tparams.saveType === \"draft\" ? \"图片上传异常,请稍后重试同步。\" : \"图片上传异常,请稍后重试发布。\",\n\t\t\t\t});\n\n\t\t\t\treturn res.ret;\n\t\t\t}),\n\t\t);\n\t};\n\n\t// 2. 提取并上传正文中的图片\n\tconst originContentImages = extractImgTag(params.content);\n\tconst targetContentImages = await uploadImages(originContentImages);\n \n if (params.settingInfo.baijiahaoTopic && !params.settingInfo.baijiahaoTopic?.id) {\n let topicCheck = await http.api<{ errno: number; errmsg: string }>({\n method: \"get\",\n url: \"https://baijiahao.baidu.com/pcui/topic/topiccheck\",\n params: {\n topicName: params.settingInfo.baijiahaoTopic?.title\n }\n });\n if (topicCheck.errno != 0) {\n return { code: 200, message: topicCheck.errmsg, data: '' };\n }\n }\n\n\t// 替换正文中的图片\n const content = replaceImgSrc(params.settingInfo?.baijiahaoTopic && params.settingInfo.baijiahaoTopic?.title ? params.content + generateTopicHtml(params.settingInfo?.baijiahaoTopic?.title, params.settingInfo?.baijiahaoTopic?.id || \"\", params.settingInfo.baijiahaoTopic?.sv_small_images||\"\"): params.content , (dom) => {\n if (dom.attribs.src) {\n\t\t\tconst idx = originContentImages.findIndex((it) => it === dom.attribs.src);\n\t\t\tdom.attribs.src = targetContentImages[idx].bos_url;\n\t\t\tdom.attribs[\"data-bjh-origin-src\"] = targetContentImages[idx].org_url;\n\t\t\tdom.attribs[\"data-bjh-params\"] = targetContentImages[idx].org_url;\n\t\t\tdom.attribs[\"data-bjh-type\"] = \"IMG\";\n\t\t}\n\n\t\treturn dom;\n\t});\n\n\t// 3. 上传竖版封面\n\t// let vertical_cover = params.settingInfo.baijiahaoVerticalCover;\n\t// if (vertical_cover) {\n\t// \tvertical_cover = (await uploadImages([vertical_cover]))[0].bos_url;\n\t// }\n\n\t// 4. 上传横版封面\n\tconst horizontalCoverUrl = baijiahaoCoverType === \"single\" ? [baijiahaoSingleCover] : baijiahaoMultCover;\n\tconst horizontalCoverRes = await uploadImages(horizontalCoverUrl);\n\tconst cover_images = horizontalCoverRes.map((item) => ({\n\t\tsrc: item.bos_url,\n\t\tmachine_chooseimg: 0,\n\t\tisLegal: 0,\n\t}));\n\tconst _cover_images_map = horizontalCoverRes.map((item) => ({\n\t\tsrc: item?.bos_url,\n\t\torigin_src: item?.org_url,\n\t}));\n\n\t// 5. 构造发布数据\n\tconst isAi = params.settingInfo.baijiahaoIsAi.includes(\"isAi\");\n\tconst activityList = params.settingInfo.baijiahaoSelectActivityCache;\n\tconst cover_layout = baijiahaoCoverType === \"single\" ? \"one\" : \"three\";\n\n\tconst activity_list = [\n\t\t...(activityList.length > 0 ? [{ id: `task_${activityList[0]}`, is_checked: 1 }] : []),\n\t\t...(params.settingInfo.baijiahaoPublishConf?.map( item => ({ id : item.confName, is_checked : item.isChecked? 1 : 0 })) || [])\n\t];\n\n\tif(isAi && !activity_list.some(item => 'aigc_bjh_status' in item)){ activity_list.push({ id : 'aigc_bjh_status', is_checked : 1 })} // 兼容旧版配置\n\n\tconst publishData: Record<string, any> = {\n\t\ttitle: params.settingInfo.baijiahaoTitle,\n\t\tcontent,\n\t\t// vertical_cover,\n\t\tabstract: params.settingInfo.baijiahaoAbstract,\n\t\tcover_layout,\n\t\tcover_images: JSON.stringify(cover_images),\n\t\t_cover_images_map: JSON.stringify(_cover_images_map),\n\t\ttype: \"news\",\n\t\tsource_reprinted_allow: 0,\n\t\tabstract_from: 1,\n\t\tisBeautify: \"false\",\n\t\tusingImgFilter: \"false\",\n\t\tsource: \"upload\",\n\t\tcover_source: \"upload\",\n\t\tevent2news: params.settingInfo?.baijiahaoEvent2News ? 2 : 0,\n\t\tactivity_list,\n\t\t...(params.settingInfo.timer ? { timer_time: params.settingInfo.timer } : {}),\n ...(params.settingInfo.baijiahaoCms? { 'cate_user_cms[0]': params.settingInfo.baijiahaoCms[0], 'cate_user_cms[1]': params.settingInfo.baijiahaoCms[1]}:{}),\n ...(params.settingInfo.baijiahaoEventSpec? {'event_spec[time]':params.settingInfo.baijiahaoEventSpec.time, 'event_spec[pos]': params.settingInfo.baijiahaoEventSpec.pos}:{})\n\t};\n\n\tconst isDraft = params.saveType === \"draft\";\n\n\tconst saveUrl = isDraft\n\t\t? \"https://baijiahao.baidu.com/pcui/article/save?callback=bjhdraft\"\n\t\t: \"https://baijiahao.baidu.com/pcui/article/publish?callback=bjhpublish\";\n\n task._timerRecord['PrePublish']= Date.now();\n \n const proxyHttp = task?.isBeta ?? false ? new Http({headers}, params.proxyLoc, params.huiwenToken ) : http;\n\n\tconst res = await proxyHttp.api<{errno:number; ret: { article_id: string }; proxyInfo: Record<string, any>; errmsg: string}>({\n\t\tmethod: \"post\",\n\t\turl: saveUrl,\n\t\tdata: publishData,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/x-www-form-urlencoded\",\n\t\t\torigin: \"https://baijiahao.baidu.com\",\n\t\t\treferer: \"https://baijiahao.baidu.com/builder/rc/edit?type=news\",\n\t\t},\n\t\tdefaultErrorMsg: isDraft ? \"文章同步出现异常,请稍后重试。\" : \"文章发布出现异常,请稍后重试。\",\n }, {retries: 2, retryDelay: 500});\n \n return success(res.errno == 0 ? res?.ret?.article_id || '': \"\", res.errno == 0 ? `文章发布成功!`+ (proxyHttp.proxyInfo || \"\"): res.errmsg ?? '文章发布失败,请稍后重试。')\n};\n","import path from \"node:path\";\nimport type { CookieMap, Response } from \"@iflyrpa/share\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\n\nimport { copyHtmlToClipboard, TimeFormatter} from \"../../utils\";\nimport type { PublishAction } from \"./index\";\n\nexport const rpaAction: PublishAction = async (task, params) => {\n\tconst tmpCachePath = task.getTmpPath();\n\n\tconst commonCookies: CookieMap[number] = {\n\t\tpath: \"/\",\n\t\tsecure: true,\n\t\tdomain: \"baijiahao.baidu.com\",\n\t\turl: \"https://baijiahao.baidu.com\",\n\t\thttpOnly: true,\n\t};\n\n\tconst page = await task.createPage({\n\t\tshow: task.debug,\n\t\turl: params.url || \"https://baijiahao.baidu.com/builder/rc/edit?type=news&is_from_cms=1\",\n\t\tcookies: params.cookies?.map((it) => ({ ...commonCookies, ...it })) || [],\n\t});\n\n\t// 0. 校验登录\n\ttry {\n\t\tawait page.waitForSelector(\".bjh-edit-header\", { state: \"visible\" });\n\t} catch (error) {\n\t\treturn { code: 400, message: \"登录失效\", data: page.url() };\n\t}\n\n\t// 1. 等待编辑器加载出来\n\tawait page.waitForSelector(\".edui-editor-toolbarbox\", { state: \"visible\" });\n\n\t// 2. 关闭纯文本粘贴\n\t// 有个默认开启纯文本粘贴的提示,先关闭\n\tif (await page.locator(\"#_onceTip-news_pasteplain_tip\").isVisible()) {\n\t\tawait page.locator(\"#_onceTip-news_pasteplain_tip .confirm\").click();\n\t}\n\t// 判断是否开启纯文本粘贴,如果开启,点击关闭\n\tif (await page.locator(\".edui-editor-toolbarbox .edui-button.edui-for-pasteplain .edui-state-checked\").isVisible()) {\n\t\tawait page.locator(\".edui-editor-toolbarbox .edui-button.edui-for-pasteplain .edui-state-checked\").click();\n\t}\n\n\t// 3. 填写标题\n\tconst titleInstance = page.locator(\"#ueditor #bjhNewsTitle .input-box textarea\");\n\tawait titleInstance.click();\n\tawait titleInstance.fill(params.title);\n\n\t// 4. 填写正文\n\tawait copyHtmlToClipboard(page, params.content);\n\t// 定位目标元素并聚焦\n\tawait page.click(\"#ueditor .edui-editor-iframeholder iframe\");\n\t// 模拟Ctrl+A全选\n\tawait page.keyboard.press(\"Control+A\");\n\t// 模拟Ctrl+V粘贴\n\tawait page.keyboard.press(\"Control+V\");\n\n\t// 等待 1 秒钟(让正文中的图片上传上去)\n\tawait page.waitForTimeout(1000);\n\n\t// 5. 设置封面\n\tconst coverFormItem = page.locator(\".bjh-edit-wrap-set .cheetah-form-item\").nth(0);\n\tconst isSingleCover = params.settingInfo.baijiahaoCoverType === \"single\";\n\tif (isSingleCover) {\n\t\t// 单图\n\t\tawait coverFormItem\n\t\t\t.locator(\".cheetah-form-item-control label.cheetah-radio-wrapper\")\n\t\t\t.filter({ hasText: \"单图\" })\n\t\t\t.click();\n\t} else {\n\t\t// 多图\n\t\tawait coverFormItem\n\t\t\t.locator(\".cheetah-form-item-control label.cheetah-radio-wrapper\")\n\t\t\t.filter({ hasText: \"三图\" })\n\t\t\t.click();\n\t}\n\t// 获取待上传图片的本地路径\n\tconst images = await Promise.all(\n\t\t(isSingleCover ? [params.settingInfo.baijiahaoSingleCover] : params.settingInfo.baijiahaoMultCover).map((url) => {\n\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t}),\n\t);\n\tconst coverSelector = page.locator(\n\t\t\".cheetah-form-item-control .edit-cover-container .cover-list .DraggableTags-tag-drag .coverUploaderView\",\n\t);\n\tconst coverCount = await coverSelector.count();\n\n\tfor (let i = 0; i < coverCount; i++) {\n\t\tconst item = coverSelector.nth(i);\n\t\tconst image = images[i];\n\n\t\t// 滚动到可视区域\n\t\tawait item.evaluate((node) => node.scrollIntoView());\n\n\t\t// 如果已经存在图片,选择更换\n\t\tif (await item.locator(\".actions-wrap\").isVisible()) {\n\t\t\tawait item.locator(\".actions-wrap .action\").filter({ hasText: \"更换\" }).click();\n\t\t} else {\n\t\t\tawait item.click();\n\t\t}\n\n\t\t// 等待弹窗出现\n\t\tawait page.waitForSelector(\".cheetah-modal-root .cheetah-ui-pro-image-modal\", { state: \"visible\" });\n\t\t// 选择本地图片 tab\n\t\tawait page\n\t\t\t.locator(\".cheetah-modal-root .cheetah-ui-pro-image-modal .cheetah-tabs-nav-list .cheetah-tabs-tab\")\n\t\t\t.filter({ hasText: \"本地图片\" })\n\t\t\t.click();\n\t\tconst fileChooserPromise = page.waitForEvent(\"filechooser\");\n\t\tawait page\n\t\t\t.locator(\".cheetah-modal-root .cheetah-ui-pro-image-modal .cheetah-tabs-tabpane-active .cheetah-upload-wrapper\")\n\t\t\t.click();\n\t\tconst fileChooser = await fileChooserPromise;\n\t\tawait fileChooser.setFiles([image]);\n\t\t// 等待上传完成(可以用去编辑是否可点击来判断)\n\t\t// 等待 button 元素上面的 disabled 属性消失\n\t\tawait page.waitForSelector(\n\t\t\t\".cheetah-modal-root .cheetah-ui-pro-image-modal .cheetah-modal-footer button#imageModalEditBtn[disabled]\",\n\t\t\t{ state: \"detached\" },\n\t\t);\n\t\t// 点击确认关闭弹窗\n\t\tawait page\n\t\t\t.locator(\".cheetah-modal-root .cheetah-ui-pro-image-modal .cheetah-modal-footer button\")\n\t\t\t.filter({ hasText: \"确认\" })\n\t\t\t.click();\n\t\t// 等待 2 秒\n\t\tawait page.waitForTimeout(1000);\n\t}\n\n\t// 6. 摘要\n\tconst abstractFormItem = page\n\t\t.locator(\".bjh-edit-wrap-set .cheetah-form-item\")\n\t\t.nth(1)\n\t\t.locator(\"textarea.cheetah-input\");\n\tawait abstractFormItem.click();\n\tawait abstractFormItem.fill(params.settingInfo.baijiahaoAbstract);\n\n\t// 7. 设置\n\tconst isAi = params.settingInfo.baijiahaoIsAi.includes(\"isAi\");\n\tconst settingFormItem = page.locator(\".bjh-edit-wrap-set .cheetah-form-item\").nth(5);\n\tif (isAi) {\n\t\tawait settingFormItem.locator(\"label.cheetah-checkbox-wrapper\").filter({ hasText: \"AI创作声明\" }).click();\n\t}\n\tif(params.settingInfo.baijiahaoPublishConf){\n\t\tfor (const item of params.settingInfo.baijiahaoPublishConf) {\n\t\t\tconst _settingFormItem = settingFormItem.locator(\"label.cheetah-checkbox-wrapper\").locator(`span.${item.confName}`)\n\t\t\tif((await _settingFormItem.isChecked()) !== item.isChecked ) await _settingFormItem.click();\n\t\t\tawait page.waitForTimeout(200);\n\t\t};\n\t}\n\n\tconst enent2NewsBtn = page.locator(\"input#event2news\")\n\tif((await enent2NewsBtn.isVisible()) && params.settingInfo.baijiahaoEvent2News) await enent2NewsBtn.click()\n\n\t// 8. 活动投稿\n\tif (params.settingInfo.baijiahaoActivity.length > 0 && params.settingInfo.baijiahaoSelectActivityCache.length > 0) {\n\t\tconst activity = params.settingInfo.baijiahaoActivity.filter((it) =>\n\t\t\tparams.settingInfo.baijiahaoSelectActivityCache.includes(it.id),\n\t\t);\n\t\tif (activity.length > 0) {\n\t\t\tconst activityFormItem = page.locator(\".bjh-edit-wrap-set .cheetah-form-item\").nth(3);\n\t\t\tconst name = activity[0].task_name;\n\t\t\tconst findActivity = activityFormItem.locator(\".cheetah-form-item-control\").getByText(name, { exact: true });\n\t\t\tif ((await findActivity.count()) > 0) {\n\t\t\t\tawait findActivity.first().locator(\"..\").click();\n\t\t\t}\n\t\t}\n\t}\n\n\t// 9. 保存草稿 / 发布\n\tconst {articleId, message}= await new Promise<{articleId: string, message:string}>(async (resolve) => {\n\t\t// 定义响应处理函数\n\t\tconst handleResponse = async (response: Response) => {\n\t\t\tconst url = response.url();\n\t\t\tif (url.includes(\"/pcui/article/save\") || url.includes(\"/pcui/article/publish\")) {\n\t\t\t\tconst jsonResponse = await response.json();\n\t\t\t\tpage.off(\"response\", handleResponse);\n\t\t\t\tresolve({articleId:jsonResponse?.ret?.article_id, message: jsonResponse?.errmsg});\n\t\t\t}\n\t\t};\n\n\t\t// 开始监听响应事件\n\t\tpage.on(\"response\", handleResponse);\n task._timerRecord['PrePublish']= Date.now();\n\n\t\tconst operatorContainer = page.locator(\".editor-component-operator\");\n\t\tif (params.saveType === \"draft\") {\n\t\t\tawait operatorContainer.locator(\".op-btn-outter-content\").filter({ hasText: \"存草稿\" }).locator(\"button\").click();\n\t\t} else {\n\t\t\tif (params.settingInfo.timer) {\n\t\t\t\t// 点击“定时发布”按钮\n\t\t\t\tawait operatorContainer.locator(\".op-btn-outter-content\").filter({ hasText: \"定时发布\" }).locator(\"button\").click();\n\n\t\t\t\t// 选择日期\n\t\t\t\tawait page.locator(\".timepublish-wrap-select .select-wrap\",{hasText: \"日\"}).click();\n\t\t\t\tawait page.locator('#select-date_list + * .cheetah-select-item-option', { hasText: TimeFormatter.format(params.settingInfo.timer, \"M月dd日\") }).click();\n\t\t\t\tawait page.waitForTimeout(200);\n\n\t\t\t\t// 选择小时\n\t\t\t\tawait page.locator(\".timepublish-wrap-select .select-wrap\",{hasText: \"点\"}).click();\n\t\t\t\tawait page.locator('#select-hour_list +div.rc-virtual-list').hover();\n\n\t\t\t\tconst scrollHourInfo = await page.evaluate(() => {\n\t\t\t\t\tconst hourInner = document.querySelector('#select-hour_list + * .rc-virtual-list-holder-inner');\n\t\t\t\t\tconst hourElementHeight = hourInner?.children[0].clientHeight || 36;\n\t\t\t\t\tconst hourMapsElem = Array.from(document.querySelectorAll('#select-hour_list + * .cheetah-select-item-option .cheetah-select-item-option-content'));\n\t\t\t\t\tconst hourMap = hourMapsElem.map(item => item.textContent?.trim());\n\n\t\t\t\t\treturn {elementHeight: hourElementHeight, elementItem : hourMap};\n\t\t\t\t});\n\t\t\t\tconst fistHourElem = scrollHourInfo.elementItem[0];\n\t\t\t\tlet fistHourElemH = Number(fistHourElem?.split(\"点\")[0]); // 列表渲染的第一个时间\n\n\t\t\t\tconst lastHourElem = scrollHourInfo.elementItem[scrollHourInfo.elementItem.length - 1];\n\t\t\t\tlet lastHourElemH = Number(lastHourElem?.split(\"点\")[0]); // 列表渲染的最后一个时间\n\n\t\t\t\tlet targetTimeH = Number(TimeFormatter.format(params.settingInfo.timer, 'h')); // 目标时间\n\t\t\t\tawait page.mouse.wheel(0, targetTimeH > lastHourElemH ? (targetTimeH-lastHourElemH)*scrollHourInfo.elementHeight : targetTimeH < fistHourElemH ? -(fistHourElemH - targetTimeH)*scrollHourInfo.elementHeight : 0 );\n\t\t\t\tawait page.locator(\"#select-hour_list + * .cheetah-select-item-option \",{ hasText: targetTimeH + \"点\"}).click()\n\t\t\t\tawait page.waitForTimeout(200);\n\n\n\t\t\t\t// 选择分钟\n\t\t\t\tawait page.locator(\".timepublish-wrap-select .select-wrap\",{hasText: \"分\"}).click();\n\t\t\t\tawait page.locator('#select-minute_list +div.rc-virtual-list').hover();\n\n\t\t\t\tconst scrollMinuteInfo = await page.evaluate(() => {\n\t\t\t\t\tconst hourInner = document.querySelector('#select-minute_list + * .rc-virtual-list-holder-inner');\n\t\t\t\t\tconst hourElementHeight = hourInner?.children[0].clientHeight || 36;\n\t\t\t\t\tconst hourMapsElem = Array.from(document.querySelectorAll('#select-minute_list + * .cheetah-select-item-option .cheetah-select-item-option-content'));\n\t\t\t\t\tconst hourMap = hourMapsElem.map(item => item.textContent?.trim());\n\n\t\t\t\t\treturn {elementHeight: hourElementHeight, elementItem : hourMap};\n\t\t\t\t});\n\t\t\t\tconst fistMinuteElem = scrollMinuteInfo.elementItem[0];\n\t\t\t\tlet fistMinuteElemH = Number(fistMinuteElem?.split(\"分\")[0]); // 列表渲染的第一个时间\n\n\t\t\t\tconst lastMinuteElem = scrollMinuteInfo.elementItem[scrollMinuteInfo.elementItem.length - 1];\n\t\t\t\tlet lastMinuteElemH = Number(lastMinuteElem?.split(\"分\")[0]); // 列表渲染的最后一个时间\n\n\t\t\t\tlet targetTimeM = Number(TimeFormatter.format(params.settingInfo.timer, 'm')); // 目标时间\n\t\t\t\tawait page.mouse.wheel(0, targetTimeM > lastMinuteElemH ? (targetTimeM-lastMinuteElemH)*scrollMinuteInfo.elementHeight : targetTimeM < fistMinuteElemH ? -(fistMinuteElemH - targetTimeM)*scrollMinuteInfo.elementHeight : 0 );\n\t\t\t\tawait page.locator(\"#select-minute_list + * .cheetah-select-item-option \",{ hasText: targetTimeM + \"分\"}).click()\n\t\t\t\tawait page.waitForTimeout(200);\n\n\n\t\t\t\tawait page.locator(\".cheetah-modal-confirm-btns button\").filter({ hasText:\"定时发布\" }).click()\n\t\t\t}else{\n\t\t\t\tawait operatorContainer.locator(\".op-btn-outter-content\").filter({ hasText: /^发布/ }).locator(\"button\").click();\n\t\t\t}\n\t\t}\n\t});\n\n\t// 关闭页面\n\tawait page.close();\n\n\treturn success(articleId, articleId? \"发布成功\" : message);\n};\n","import type { CommonAction } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { executeAction } from \"../../utils\";\nimport { mockAction } from \"./mock\";\nimport { rpaAction } from \"./rpa\";\n\ninterface ActivityData {\n\tid: string;\n\ttask_name: string;\n\t// biome-ignore lint/suspicious/noExplicitAny: <explanation>\n\t[key: string]: any;\n}\n\nexport interface BaijiahaoPublishParams extends ActiomCommonParams {\n\tsaveType: \"draft\" | \"publish\"; // 保存成草稿 / 发布\n\ttoken: string;\n\ttitle: string;\n\tcontent: string;\n proxyLoc?: string;\n huiwenToken?: string; // 绘文token\n\tsettingInfo: {\n\t\tbaijiahaoTitle: string; // 标题\n\t\tbaijiahaoCoverType: \"single\" | \"multiple\"; // 封面设置:单图 | 三图\n\t\tbaijiahaoAbstract: string; // 摘要\n\t\tbaijiahaoIsAi: string[]; // 设置-由配置项取代\n\t\tbaijiahaoSingleCover: string; // 单图封面\n\t\tbaijiahaoMultCover: string[]; // 三图封面\n\t\tbaijiahaoVerticalCover?: string; // 竖版封面-下版本删除\n\t\tbaijiahaoActivity: ActivityData[]; // 活动投稿\n\t\tbaijiahaoPublishConf?: {\n\t\t\tconfName: string;\n\t\t\tisChecked: boolean;\n\t\t}[]; // 发布配置项\n baijiahaoTopic?: Record<string, any>; // 百家号话题\n baijiahaoCms?: string[];// 百家号分类\n baijiahaoEventSpec?: { time: string; pos: string }; // 百家号事件来源说明\n\t\tbaijiahaoEvent2News: boolean; // 图文转动态\n\t\tbaijiahaoSelectActivityCache: string[]; // 选中的活动标签\n\t\ttimer?: number;\n\t};\n}\n\nexport type PublishAction = CommonAction<BaijiahaoPublishParams, string>;\n\nexport const baijiahaoPublish: PublishAction = async (task, params) => {\n\tif (params.actionType === \"rpa\") {\n\t\treturn rpaAction(task, params);\n\t}\n\n\tif (params.actionType === \"mockApi\") {\n\t\treturn mockAction(task, params);\n\t}\n\n\treturn executeAction(mockAction, rpaAction)(task, params);\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface GetBaijiahaoActivityParams extends ActiomCommonParams {\n\ttoken: string;\n}\n\nexport interface ActivityData {\n\tid: string;\n\ttask_name: string;\n}\n\nexport type PublishAction = CommonAction<GetBaijiahaoActivityParams, ActivityData[]>;\n\nexport const getBaijiahaoActivity: PublishAction = async (_task, params) => {\n\tconst cookies = params.cookies ?? [];\n\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\ttoken: params.token,\n\t\t},\n\t});\n\n\tconst res = await http.api<{ data: { list: ActivityData[] } }>({\n\t\tmethod: \"get\",\n\t\turl: \"https://baijiahao.baidu.com/author/eco/tasksystem/getSquareMissionList\",\n\t\tparams: {\n\t\t\tpage_no: 1,\n\t\t\tpage_size: 18,\n\t\t\tarticle_type: 1,\n\t\t\ttask_attend: 1,\n\t\t\ttask_origin: \"market\",\n\t\t\ttask_type: -1,\n\t\t},\n\t});\n\n\treturn success(res?.data?.list ?? []);\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams, Toutiao } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface GetToutiaoConfigParams extends ActiomCommonParams {}\n\nexport interface GetToutiaoConfigResult {\n\tsuggestWords: Toutiao.Topic[];\n\tcityDistrict: Toutiao.CityDistrict | null;\n\tuserRights: Toutiao.UserRight[];\n}\n\nexport type PublishAction = CommonAction<GetToutiaoConfigParams, GetToutiaoConfigResult>;\n\nexport const getToutiaoConfig: PublishAction = async (_task, params) => {\n\tconst cookies = params.cookies ?? [];\n\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n\t\t},\n\t});\n\n\tconst getSuggestWords = async () => {\n\t\ttry {\n\t\t\tconst res = await http.api<{ code: number; hots: Toutiao.Topic[] }>({\n\t\t\t\tmethod: \"get\",\n\t\t\t\turl: \"https://mp.toutiao.com/mp/agw/creator_helper/suggest_words\",\n\t\t\t\tparams: { type: 2, words: \"\" },\n\t\t\t});\n\n\t\t\treturn res.code === 0 ? res.hots : [];\n\t\t} catch (error) {\n\t\t\treturn [];\n\t\t}\n\t};\n\n\tconst getCityDistrict = async () => {\n\t\ttry {\n\t\t\tconst res = await http.api<{ status: number; data: Toutiao.CityDistrict }>({\n\t\t\t\tmethod: \"get\",\n\t\t\t\turl: \"https://mp.toutiao.com/toutiao/normandy/mp/city_district/\",\n\t\t\t});\n\t\t\treturn res.status === 0 ? res.data : null;\n\t\t} catch (error) {\n\t\t\treturn null;\n\t\t}\n\t};\n\n\tconst getUserRights = async () => {\n\t\ttry {\n\t\t\tconst res = await http.api<{ code: number; data: { benefit_level_info_list: Toutiao.UserRight[] } }>({\n\t\t\t\tmethod: \"get\",\n\t\t\t\turl: \"https://mp.toutiao.com/mp/agw/creator_project/get_benefit_page_info\",\n\t\t\t});\n\t\t\treturn res.code === 0 ? res.data.benefit_level_info_list : [];\n\t\t} catch (error) {\n\t\t\treturn [];\n\t\t}\n\t};\n\n\tconst [suggestWords, cityDistrict, userRights] = await Promise.all([\n\t\tgetSuggestWords(),\n\t\tgetCityDistrict(),\n\t\tgetUserRights(),\n\t]);\n\n\treturn success({ suggestWords, cityDistrict, userRights });\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface GetBaijiahaoConfigParams extends ActiomCommonParams {\n\ttoken: string;\n}\n\nexport interface ConfigData {\n\tid: string;\n\tname: string;\n\tdetail: string;\n\tis_enable: number;\n\tpublish_num_left?: number;\n}\n\nexport type PublishAction = CommonAction<GetBaijiahaoConfigParams, ConfigData[]>;\n\nexport const getBaijiahaoConfig: PublishAction = async (_task, params) => {\n\tconst cookies = params.cookies ?? [];\n\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\ttoken: params.token,\n\t\t},\n\t});\n\n\tconst res = await http.api<{ data: { article: { activity_list: ConfigData[]}, ability: { publish_num_left: number} } }>({\n\t\tmethod: \"get\",\n\t\turl: \"https://baijiahao.baidu.com/pcui/article/edit\",\n\t\tparams: {\n\t\t\ttype: \"news\"\n\t\t},\n\t});\n\tconst data : ConfigData[] = res?.data?.article.activity_list.map((_item) =>{ \n\t\treturn {\n\t\t\tid: _item.id,\n\t\t\tname: _item.name,\n\t\t\tdetail: _item.detail,\n\t\t\tis_enable: _item.is_enable\n\t\t}\n\t})?? []\n\tdata.push({\n\t\tid: \"bjh_publish_num_left\",\n\t\tname: \"账号剩余发文数\",\n\t\tdetail: \"\",\n\t\tis_enable: 1,\n\t\tpublish_num_left: res.data.ability.publish_num_left\n\t})\n\treturn success(data, \"获取百家号配置项成功!\")\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams, Toutiao } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface SearchToutiaoTopicListParams extends ActiomCommonParams {\n\tsearchValue: string;\n}\n\nexport type PublishAction = CommonAction<SearchToutiaoTopicListParams, Toutiao.Topic[]>;\n\nexport const searchToutiaoTopicList: PublishAction = async (_task, params) => {\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n\t\t},\n\t});\n\n\ttry {\n\t\tconst res = await http.api<{ code: number; recents: Toutiao.Topic[]; hots: Toutiao.Topic[] }>({\n\t\t\tmethod: \"get\",\n\t\t\turl: \"https://mp.toutiao.com/mp/agw/creator_helper/suggest_words\",\n\t\t\tparams: { type: 2, words: params.searchValue },\n\t\t});\n\n\t\tif (res.code === 0) {\n\t\t\treturn success(params.searchValue ? res.recents : res.hots);\n\t\t}\n\n\t\treturn success([]);\n\t} catch (error) {\n\t\treturn success([]);\n\t}\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams, Toutiao } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface SearchToutiaoLocationParams extends ActiomCommonParams {\n\tplaceName: string;\n}\n\nexport type PublishAction = CommonAction<SearchToutiaoLocationParams, Toutiao.CityPoi[]>;\n\nexport const searchToutiaoLocation: PublishAction = async (_task, params) => {\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n biz: 1231\n\t\t},\n\t});\n\n\ttry {\n\t\tconst res = await http.api<{ code: number; data: {poi: Array<any>}}>({\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://mp.toutiao.com/poi/api/searchplace\",\n\t\t\tdata: {\n appid: 1231,\n device: 2,\n keywords: params.placeName,\n language: \"zh-CN\",\n location: \"-1,-1\",\n offset: 20,\n page: 1,\n region: \"CN\",\n scenario: \"TIPS\",\n timestamp: Math.floor(Date.now() / 1000)\n },\n\t\t});\n \n\t\tif (res.code === 200) {\n\t\t\treturn success(res.data.poi.map(item => ({ \n position: item.name,\n city: item.city,\n longitude: item.longitude,\n latitude: item.latitude,\n type_code: item.type_code,\n poi_id: item.id,\n })));\n\t\t}\n\n\t\treturn success([]);\n\t} catch (error) {\n\t\treturn success([]);\n\t}\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams, Toutiao } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface SearchToutiaoUserIDParams extends ActiomCommonParams {\n\tUserName: string;\n}\n\nexport type PublishAction = CommonAction<SearchToutiaoUserIDParams, Toutiao.SuggestWords[]>;\n\nexport const searchToutiaoUserInfo: PublishAction = async (_task, params) => {\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n\t\t},\n\t});\n\n\ttry {\n\t\tconst res = await http.api<{ err_no: number; data: {suggest: Array<any>}}>({\n\t\t\tmethod: \"get\",\n\t\t\turl: \"https://mp.toutiao.com/ugc/publish/post/v1/suggest/\",\n\t\t\tparams: { \n words: params.UserName,\n language: \"zh\",\n app_name: \"toutiao_mp\"\n },\n\t\t});\n\n\t\tif (res.err_no === 0) {\n\t\t\treturn success(res.data.suggest.map(item => ({ \n user_id: item.user.info.user_id,\n name: item.user.info.name,\n avatar_url: item.user.info.avatar_url,\n followers_count: item.user.relation_count.followers_count\n })), '搜索成功');\n\t\t}\n\n\t\treturn success([]);\n\t} catch (error) {\n\t\treturn success([]);\n\t}\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams, Xiaohongshu } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface searchXiaohongshuLocationParams extends ActiomCommonParams {\n\tsearchValue: string;\n\tlatitude?: number;\n\tlongitude?: number;\n\tsize?: number;\n\tpage?: number;\n}\n\nexport type PublishAction = CommonAction<searchXiaohongshuLocationParams, Xiaohongshu.Location[]>;\n\nexport const searchXiaohongshuLocation: PublishAction = async (_task, params) => {\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://creator.xiaohongshu.com\",\n\t\t\torigin: \"https://creator.xiaohongshu.com\",\n\t\t},\n\t});\n\n\ttry {\n\t\tconst result = await http.api<{ code: number; data: { poi_list: Xiaohongshu.Location[] } }>({\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://edith.xiaohongshu.com/web_api/sns/v1/local/poi/creator/search\",\n\t\t\tdata: {\n\t\t\t\tkeyword: params.searchValue,\n\t\t\t\tlatitude: params.latitude ?? 0,\n\t\t\t\tlongitude: params.longitude ?? 0,\n\t\t\t\tpage: params.page ?? 1,\n\t\t\t\tsize: params.size ?? 10,\n\t\t\t\tsource: \"WEB\",\n\t\t\t\ttype: 3,\n\t\t\t},\n\t\t});\n\n\t\treturn success(result.code === 0 ? result.data.poi_list : []);\n\t} catch (error) {\n\t\treturn success([]);\n\t}\n};\n","declare global {\n interface Window {\n mnsv2: (arg1: string, arg2: string) => string;\n }\n}\n\n// 在 Node/Bun 中用 globalThis 替代 window\nconst window = globalThis as unknown as Window & Record<string, unknown>;\n\nconst mnsv2_enc = (arg1: string, arg2: string, a1value: string) => {\n // 设置全局变量 a1value\n window.a1value = `a1=${a1value};`;\n\n // 同步加载 ob.env / ob.enc(必须 CommonJS)\n require(\"./ob.env\");\n require(\"./ob.enc\");\n\n // 调用 mnsv2\n return window.mnsv2(arg1, arg2);\n};\n\nexport default mnsv2_enc;\n","import crypto from \"node:crypto\";\nimport mnsvc2 from \"./mnsvc2\";\nconst encode_mnsv2 = require('./x_s.encoder.js') as (mnsv2: string, platform: string, req_type: string) => string;\n\nexport class Xhshow {\n \n // constructor() {\n \n // console.log(\"Xhshow xs encoder initialized\");\n // }\n\n signXsGet(\n uri: string,\n a1Value: string,\n xsecAppid = \"xhs-pc-web\",\n params?: Record<string, unknown> | null\n ): string {\n let para1 = \"\"\n if (!params || Object.keys(params).length === 0) {\n para1 = uri;\n } else {\n const _queryPara = Object.entries(params).map(([key, value]) => {\n let valueStr = '';\n if (Array.isArray(value)) {\n valueStr = value.map(v => String(v)).join(',');\n } else if (value !== null && value !== undefined) {\n valueStr = String(value);\n }\n return `${key}=${valueStr}`;\n });\n para1 = `${uri}?${_queryPara.join('&')}`;\n }\n\n const md5Para1 = crypto.createHash(\"md5\").update(para1).digest(\"hex\"); // md5 enc\n const mnsvc2_data = mnsvc2(para1, md5Para1, a1Value)\n \n return encode_mnsv2(mnsvc2_data, \"Windows\", \"\");\n }\n\n signXsPost(\n uri: string,\n a1Value: string,\n xsecAppid = \"xhs-pc-web\",\n payload?: Record<string, unknown> | null\n ): string {\n const para1 = uri + JSON.stringify(payload || {});\n const md5Para1 = crypto.createHash(\"md5\").update(para1).digest(\"hex\"); // md5 enc\n const mnsvc2_data = mnsvc2(para1, md5Para1, a1Value)\n\n return encode_mnsv2(mnsvc2_data, \"Windows\", \"object\");\n }\n \n}\n\nexport default Xhshow;\n//\n// const xhshow = new Xhshow();\n//\n// // For test\n// console.log(\n// xhshow.signXsPost(\n// \"/api/sns/web/v1/feed\", \n// \"19aa5490309ue3bza2poh9lwqsqw2og6azztnku2050000809471\", \n// \"xhs-pc-web\", \n// {\"source_note_id\":\"6909f57e0000000007015f28\",\"image_formats\":[\"jpg\",\"webp\",\"avif\"],\"extra\":{\"need_body_topic\":\"1\"},\"xsec_source\":\"pc_search\",\"xsec_token\":\"ABEFyvlKvV2nK8QceNjsokHdjsoo7gonz4YIlxkzRbb5w=\"}\n// )\n// );\n\n// console.log(xhshow.signXsGet(\"/api/sns/web/v1/search/filter\", \"19aa5490309ue3bza2poh9lwqsqw2og6azztnku2050000809471\", \"xhs-pc-web\", {keyword:\"ios26.1正式版\", search_id:\"2fn6umax1wg3kk0igh956\"}));","import {type CommonAction, success} from \"@iflyrpa/share\";\nimport type {ActiomCommonParams, Xiaohongshu} from \"../../types\";\nimport {Http} from \"../../utils/http\";\nimport {Xhshow} from \"../../utils/xhs_ob\";\n\n// 小红书参数加密器\nconst xsEncrypt = new Xhshow();\n\nexport interface SearchXiaohongshuTopicListParams extends ActiomCommonParams {\n searchValue: string;\n}\n\nexport type PublishAction = CommonAction<SearchXiaohongshuTopicListParams, Xiaohongshu.Topic[]>;\n\nexport const searchXiaohongshuTopicList: PublishAction = async (_task, params) => {\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n referer: \"https://creator.xiaohongshu.com\",\n origin: \"https://creator.xiaohongshu.com\",\n },\n });\n const a1Cookie = params.cookies.find((it) => it.name === \"a1\")?.value;\n if (!a1Cookie) return {code: 200, message: \"账号数据异常,请重新绑定账号后重试。\", data: []};\n\n try {\n const xt = Date.now().toString();\n const topicData = {\n keyword: params.searchValue,\n suggest_topic_request: {\n title: \"\",\n desc: `#${params.searchValue}`\n },\n page: {\n page_size: 20,\n page: 1\n }\n }\n\n const fatchTopic = `/web_api/sns/v1/search/topic`;\n const xs = xsEncrypt.signXsPost(fatchTopic, a1Cookie,\"xhs-pc-web\" , topicData);\n const result = await http.api<{ code: number; data: { topic_info_dtos: Xiaohongshu.Topic[] } }>({\n method: \"post\",\n url: \"https://edith.xiaohongshu.com/web_api/sns/v1/search/topic\",\n data: topicData,\n headers: {\"x-s\": xs, \"x-t\": xt},\n defaultErrorMsg: \"话题搜索异常,请稍后重试。\",\n });\n\n return success(result.code === 0 ? result.data.topic_info_dtos : [], '获取话题成功');\n } catch (error) {\n return success([]);\n }\n\n}","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\nimport FormData from \"form-data\";\n\nimport type { Toutiao } from \"../../types\";\nimport { extractImgTag, replaceImgSrc, TimeFormatter } from \"../../utils\";\nimport { Http } from \"../../utils/http\";\nimport { COVER_TYPE, type PublishAction, getAddTypeValue } from \"./index\";\nconst GenAB = require(\"../../utils/ttABEncrypt\") as (headers: string, data: string) => string;\n\ninterface CommonResponse<T = unknown> {\n\tdata: T;\n proxyInfo?: Record<string, any>\n\tcode: number;\n\tmessage: string;\n}\n\nconst errnoMap: Record<number, string | string[]> = {\n\t20004020: \"图片上传异常,请重新绑定账号后同步。\",\n\t7115: \"正文图片和封面图片推荐jpg、png格式。\",\n\t100006: \"文章同步异常,请重新绑定账号后重试。\",\n\t3101: [\n\t\t\"今日头条号发布次数已达上限,请明天再试。\",\n\t\t\"头条账号状态异常,需前往头条号完成实名认证。\",\n\t\t\"头条账号状态异常,资料审核未通过,请前往头条号查看。\",\n\t],\n\t2007: \"文章发布失败,声明原创要求正文字数不少于 300 字,请修改后重试。\",\n\t2010: \"无头条广告权限,请修改后重试。\",\n\t3103: \"今日头条号发布次数已达上限,请明天再试。\",\n\t1053: \"正文图片和封面图片推荐jpg、png格式。\",\n\t1050: \"图片上传失败,请重试上传。\",\n\t2005: \"账号无【申明原创】权限,请关闭申明后重试。\",\n\t100004: \"用户未登录或登陆已过期,请重新登陆后重试。\"\n};\nconst generatorFormData = (data: Record<string, unknown>) => {\n\treturn Object.entries(data)\n\t\t.map(([key, value]) => {\n\t\t\tconst encodedKey = encodeURIComponent(key);\n\t\t\tconst encodedValue = encodeURIComponent(String(value));\n\t\t\treturn `${encodedKey}=${encodedValue}`;\n\t\t})\n\t\t.join('&');\n};\nconst get3101DetailError = (errorList: string[], message: string, saveType: string) => {\n\tlet error = \"\";\n\tif (message?.includes(\"当日发文\")) {\n\t\terror = errorList[0];\n\t} else if (message?.includes(\"实名认证\")) {\n\t\terror = errorList[1];\n\t} else if (message?.includes(\"资料审核\")) {\n\t\terror = errorList[2];\n\t}\n\treturn error || (saveType === \"draft\" ? \"文章同步异常,请稍后重试。\" : \"文章发布异常,请稍后重试。\");\n};\n\nexport const mockAction: PublishAction = async (task, params) => {\n\tconst { toutiaoSingleCover, toutiaoMultCover, toutiaoCoverType, toutiaoOriginal, toutiaoExclusive, toutiaoClaim } = params.settingInfo;\n\tconst tmpCachePath = task.getTmpPath();\n const headers = {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n origin: \"https://mp.toutiao.com\",\n referer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n }\n\tconst http = new Http({headers});\n\n\t// 添加响应拦截器\n\thttp.addResponseInterceptor<CommonResponse>((response) => {\n\t\t// 检查响应中的 errno 字段\n\t\tif (response.data?.code !== 0) {\n\t\t\tlet errmsg = \"\";\n\n\t\t\tif (Array.isArray(errnoMap[response.data.code])) {\n\t\t\t\terrmsg = get3101DetailError(errnoMap[response.data.code] as string[], response.data.message, params.saveType);\n\t\t\t} else {\n\t\t\t\terrmsg =\n\t\t\t\t\t(errnoMap[response.data.code] as string) ||\n\t\t\t\t\tresponse.config.defaultErrorMsg ||\n\t\t\t\t\t(params.saveType === \"draft\" ? \"文章同步异常,请稍后重试。\" : \"文章发布异常,请稍后重试。\");\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcode: errnoMap[response.data.code] ? 200 : 500,\n\t\t\t\tmessage: errmsg,\n\t\t\t\tdata: response.data,\n\t\t\t};\n\t\t}\n\t});\n\n\t// 0. 校验登录\n\tawait http.api({\n\t\tmethod: \"get\",\n\t\turl: \"https://mp.toutiao.com/mp/agw/creator_center/user_info\",\n\t\tdefaultErrorMsg: `头条号登录状态失效,请重新绑定账号后${params.saveType === \"draft\" ? \"同步\" : \"发布\"}。`,\n\t});\n\n\tconst uploadImages = async (images: string[]) => {\n\t\t// 下载图片到本地\n\t\treturn await Promise.all(\n\t\t\timages.map(async (url) => {\n\t\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\t\tconst image = await downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t\t\tconst formData = new FormData();\n\t\t\t\tformData.append(\"image\", fs.createReadStream(image));\n\n\t\t\t\tconst response = await http.api<CommonResponse<Toutiao.ImageData>>({\n\t\t\t\t\tmethod: \"post\",\n\t\t\t\t\turl: \"https://mp.toutiao.com/spice/image?upload_source=20020002&aid=1231&device_platform=web\",\n\t\t\t\t\tdata: formData,\n\t\t\t\t\tdefaultErrorMsg:\n\t\t\t\t\t\tparams.saveType === \"draft\" ? \"图片上传异常,请稍后重试同步。\" : \"图片上传异常,请稍后重试发布。\",\n\t\t\t\t});\n\n\t\t\t\treturn response.data;\n\t\t\t}),\n\t\t);\n\t};\n\n\t// 1. 提取并上传正文中的图片\n\tconst originContentImages = extractImgTag(params.content);\n\tconst targetContentImages = await uploadImages(originContentImages);\n\t// 2. 替换正文中的图片\n\tconst content = replaceImgSrc(params.content, (dom) => {\n\t\tif (dom.attribs.src) {\n\t\t\tconst idx = originContentImages.findIndex((it) => it === dom.attribs.src);\n\t\t\tdom.attribs.src = targetContentImages[idx].image_url;\n\t\t\tdom.attribs.web_uri = targetContentImages[idx].image_uri;\n\t\t\tdom.attribs.img_width = targetContentImages[idx].image_width.toString();\n\t\t\tdom.attribs.image_height = targetContentImages[idx].image_height.toString();\n\t\t\tdom.attribs.image_type = targetContentImages[idx].image_type.toString();\n\t\t\tdom.attribs.mime_type = targetContentImages[idx].image_mime_type;\n\t\t}\n\t\treturn dom;\n\t});\n\n\t// 3. 上传横版封面\n\tconst coverUrl =\n\t\ttoutiaoCoverType === \"single\" ? [toutiaoSingleCover] : toutiaoCoverType === \"multiple\" ? toutiaoMultCover : [];\n\tconst coverRes = await uploadImages(coverUrl);\n\n\t// 4. 构造发布数据\n\t// const isSingleTitle = params.settingInfo.toutiaoTitleType === \"single\";\n\tconst location = params.settingInfo.toutiaoLocation;\n\tconst topics = params.settingInfo.toutiaoTopic || [];\n\n\t// const multiTitleData = params.settingInfo.subTitles.map((title) => ({\n\t// \tid: \"0\",\n\t// \tvisibility_level: 0,\n\t// \tsource: \"author\",\n\t// \told_source: \"author\",\n\t// \ttext: title,\n\t// \tversion: \"author\",\n\t// \tai_title: \"\",\n\t// }));\n\n\tconst topicContent = topics\n\t\t.map(\n\t\t\t(topic) =>\n\t\t\t\t`<p><a class=\"tteditor-forum\" data-name=\"${topic.word}\" data-id=\"${topic.id}\" data-concern-id=\"${topic.id}\">#${topic.word}#</a ></p >`,\n\t\t)\n\t\t.join(\"\");\n\n\tlet sourceData : Record<string, any> = {\n\t\tsource_type: toutiaoClaim ? toutiaoClaim.type : 5 // 老用户默认为:个人观点,仅供参考\n\t}\n\tif (toutiaoClaim && toutiaoClaim.type === 1) {\n\t\tif( !toutiaoClaim?.source_author_uid) return { code: 500, message: \"请填写作者ID\", data: \"\" }\n\t\tsourceData = {\n\t\t\t...sourceData,\n\t\t\tsource_author_uid: toutiaoClaim.source_author_uid,\n\t\t\ttime_format: toutiaoClaim.time_format,\n\t\t\tposition: toutiaoClaim.position\n\t\t}\n\t}\n\tconst extraData = {\n\t\tcontent_word_cnt: params.settingInfo.cntWord,\n\t\t// is_multi_title: isSingleTitle ? 0 : 1,\n\t\t// sub_titles: isSingleTitle ? [] : multiTitleData,\n\t\tgd_ext: {\n\t\t\tentrance: \"\",\n\t\t\tfrom_page: \"publisher_mp\",\n\t\t\tenter_from: \"PC\",\n\t\t\tdevice_platform: \"mp\",\n\t\t\tis_message: 0,\n\t\t},\n\t\ttuwen_wtt_trans_flag: params.settingInfo?.toutiaoTransWtt ? \"2\" : \"0\",\n\t\tinfo_source: sourceData,\n\t\t...(location ? { city: location.label, city_code: location.value } : null),\n ...(params.settingInfo?.toutiaoCollectionId ? { want_join_collection_id: params.settingInfo.toutiaoCollectionId } : null)\n\t};\n\n\tconst publishData = {\n\t\tarticle_type: 0,\n\t\tsource: 0,\n\t\tsearch_creation_info: '{\"searchTopOne\": 0, \"abstract\": \"\", \"clue_id\": \"\"}',\n\t\ttitle_id: \"\",\n\t\teducluecard: \"\",\n\t\torigin_debut_check_pgc_normal: 1,\n\t\tis_fans_article: 0,\n\t\tgovern_forward: 0,\n\t\tpraise: 0,\n\t\tdisable_praise: 0,\n\t\ttree_plan_article: 0,\n\t\tstar_order_id: \"\",\n\t\tstar_order_name: \"\",\n\t\tcustomer_nick_name: \"\",\n\t\tactivity_tag: 0,\n\t\ttrends_writing_tag: 0,\n\t\tis_refute_rumor: 0,\n\t\tsave: params.saveType === \"publish\" ? 1 : 0,\n\t\ttimer_status: params.settingInfo.timer? 1 : 0,\n\t\ttimer_time: params.settingInfo.timer? TimeFormatter.format(params.settingInfo.timer):\"\",\n\t\ttitle: params.title,\n\t\tcontent: content + topicContent,\n\t\textra: JSON.stringify(extraData),\n\t\tmp_editor_stat: toutiaoCoverType === \"no\" ? \"{}\" : '{\"image\": %d}',\n\t\tdraft_form_data: JSON.stringify({\n\t\t\tcoverType: COVER_TYPE[toutiaoCoverType],\n\t\t}),\n\t\tpgc_feed_covers: JSON.stringify(\n\t\t\tcoverRes.map((item) => ({\n\t\t\t\tid: \"\",\n\t\t\t\turl: item.image_url,\n\t\t\t\turi: item.image_uri,\n\t\t\t\tic_uri: \"\",\n\t\t\t\tthumb_widt: item.image_width,\n\t\t\t\tthumb_heigh: item.image_height,\n\t\t\t\textra: {\n\t\t\t\t\tfrom_content_uri: \"\",\n\t\t\t\t\tfrom_content: \"0\",\n\t\t\t\t},\n\t\t\t})),\n\t\t),\n\t\tarticle_ad_type: getAddTypeValue(params.settingInfo.toutiaoAd),\n\t\t// claim_origin: toutiaoOriginal.includes(\"original\") ? 1 : 0,\n\t\tclaim_exclusive: toutiaoExclusive ? toutiaoExclusive : toutiaoOriginal?.includes(\"exclusive\") ? 1 : 0, // 首发声明兼容老用户字段\n\t};\n \n task._timerRecord['PrePublish']= Date.now();\n\n\tconst msToken = params.cookies.find((it) => it.name === \"msToken\")?.value;\n\tlet publishOption = {}\n\tif (!msToken) {\n\t\tpublishOption = {\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://mp.toutiao.com/mp/agw/article/publish?source=mp&type=article&aid=1\",\n\t\t\tdata: publishData,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/x-www-form-urlencoded\",\n\t\t\t},\n\t\t\tdefaultErrorMsg: params.saveType === \"draft\" ? \"文章同步异常,请稍后重试。\" : \"文章发布异常,请稍后重试。\",\n\t\t};\n\t}else{\n\t\tconst postHeaders = generatorFormData({\n\t\t\tsource: \"mp\",\n\t\t\ttype: \"article\",\n\t\t\taid: 1231,\n\t\t\tmp_publish_ab_val: 0,\n\t\t\tmsToken: msToken\n\t\t})\n\t\tconst postData = generatorFormData(publishData)\n\t\tlet a_bogus = GenAB(postHeaders,postData)\n\t\n\t\tpublishOption = {\n\t\t\tmethod: \"post\",\n\t\t\turl: `https://mp.toutiao.com/mp/agw/article/publish?${postHeaders}&a_bogus=${a_bogus}`,\n\t\t\tdata: postData,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/x-www-form-urlencoded\",\n\t\t\t\t\"user-agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36\"\n\t\t\t},\n\t\t\tdefaultErrorMsg: params.saveType === \"draft\" ? \"文章同步异常,请稍后重试。\" : \"文章发布异常,请稍后重试。\",\n\t\t};\n\t}\n const proxyHttp = task?.isBeta ?? false ? new Http({headers}, params.proxyLoc, params.huiwenToken ): http;\n\n const publishResult = await proxyHttp.api<CommonResponse<{ pgc_id: string }>>(publishOption, {\n retries: 2,\n retryDelay: 500\n });\n\n\treturn success(publishResult.data.pgc_id, `文章发布成功!`+ (proxyHttp.proxyInfo || \"\"));\n};\n","import path from \"node:path\";\nimport type { CookieMap, Response } from \"@iflyrpa/share\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\n\nimport { copyHtmlToClipboard, getRandomInRange, PopupListener, TimeFormatter } from \"../../utils\";\nimport { COVER_TYPE, type PublishAction, getAddTypeValue } from \"./index\";\nconst GenAB = require(\"../../utils/ttABEncrypt\") as (headers: string, data: string) => string;\n\nexport const rpaAction: PublishAction = async (task, params) => {\n\tconst tmpCachePath = task.getTmpPath();\n\n\tconst commonCookies: CookieMap[number] = {\n\t\tpath: \"/\",\n\t\tsecure: true,\n\t\tdomain: \".toutiao.com\",\n\t\turl: \"https://mp.toutiao.com\",\n\t\thttpOnly: true,\n\t};\n\n\tconst page = await task.createPage({\n\t\tshow: task.debug,\n\t\turl: params.url || \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n\t\tcookies: params.cookies?.map((it) => ({ ...commonCookies, ...it })) || [],\n\t});\n\n\t// 0. 校验登录\n\ttry {\n\t\tawait page.waitForSelector(\".publish-editor\", { state: \"visible\" });\n\t} catch (error) {\n\t\treturn {\n\t\t\tcode: 400,\n\t\t\tmessage: `头条号登录状态失效,请重新绑定账号后${params.saveType === \"draft\" ? \"同步\" : \"发布\"}。`,\n\t\t\tdata: page.url(),\n\t\t};\n\t}\n\n\tconst interceptUrls = [\n\t\t'/mp/agw/article/publish'\n\t];\n\t \n\tawait page.route('**', async (route, request) => {\n\t\tconst url = new URL(request.url()); \n\t\tif (interceptUrls.some(pattern => url.pathname.includes(pattern))) {\n\t\t\tconst headers = {\n\t\t\t\t...request.headers(),\n\t\t\t\t\"user-agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36\" //ua参数固定,不可修改\n\t\t\t};\n\n\t\t\tconst generatorFormData = (data: Record<string, unknown>) => {\n\t\t\t\treturn Object.entries(data)\n\t\t\t\t\t.map(([key, value]) => {\n\t\t\t\t\t\tconst encodedKey = encodeURIComponent(key);\n\t\t\t\t\t\tconst encodedValue = encodeURIComponent(String(value));\n\t\t\t\t\t\treturn `${encodedKey}=${encodedValue}`;\n\t\t\t\t\t})\n\t\t\t\t\t.join('&');\n\t\t\t};\n\n\t\t\tconst postHeaders = generatorFormData({\n\t\t\t\tsource: \"mp\",\n\t\t\t\ttype: \"article\",\n\t\t\t\taid: 1231,\n\t\t\t\tmp_publish_ab_val: 0,\n\t\t\t\tmsToken: url.searchParams.get('msToken')\n\t\t\t})\n\t\t\tconst postData = request.postData() || \"\";\n\t\t\tlet a_bogus = GenAB(postHeaders,postData)\n\n\t\t\turl.searchParams.set('aid', \"1231\"); \n\t\t\turl.searchParams.set('mp_publish_ab_val', \"0\"); \n\t\t\turl.searchParams.set('a_bogus', a_bogus); \n\n\t\t\tawait route.continue({ url: url.toString() , headers: headers});\n\n\t\t} else {\n\t\t\tawait route.continue();\n\t\t}\n\t});\n\n\t//弹窗监听检测\n\tPopupListener(page,'.byte-modal.publish-exclusive-modal .title',\"激励\", '.byte-modal-close-icon', \n\t{\n\t\tcheckInterval: 1000,\n\t\tstopAfterClick: false\n\t})\n\t\n\t// 1. 填写标题\n\tconst titleInstance = page.locator(\".publish-editor-title-wrapper .publish-editor-title textarea\");\n\tawait titleInstance.click();\n\tawait titleInstance.fill(params.title);\n\n\t// 2. 填写正文\n\tawait copyHtmlToClipboard(page, params.content);\n\t// 定位目标元素并聚焦\n\tawait page.click(\".publish-editor .syl-editor-wrap .ProseMirror\");\n\t// 模拟Ctrl+V粘贴\n\tawait page.keyboard.press(\"Control+V\");\n\n\t// 3. 封面\n\tconst coverTypeValue = COVER_TYPE[params.settingInfo.toutiaoCoverType];\n\tconst coverContainer = page.locator(\".form-container .edit-cell\").filter({ hasText: \"展示封面\" });\n\t// 滚动到可视区域\n\tawait coverContainer.evaluate((node) => node.scrollIntoView());\n\tawait coverContainer.locator(`.article-cover label.byte-radio:has(input[value=\"${coverTypeValue}\"])`).click();\n\n\tlet coverUrls: string[] = [];\n\tif (params.settingInfo.toutiaoCoverType === \"single\") {\n\t\tcoverUrls = [params.settingInfo.toutiaoSingleCover];\n\t} else if (params.settingInfo.toutiaoCoverType === \"multiple\") {\n\t\tcoverUrls = params.settingInfo.toutiaoMultCover;\n\t}\n\t// 获取待上传图片的本地路径\n\tconst images = await Promise.all(\n\t\tcoverUrls.map((url) => {\n\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t}),\n\t);\n\n\tconst coverUploadEle = coverContainer\n\t\t.locator(\".article-cover .article-cover-images\")\n\t\t.locator(\".article-cover-img-wrap, .article-cover-add\");\n\tconst coverUploadCount = await coverUploadEle.count();\n\n\tfor (let i = 0; i < coverUploadCount; i++) {\n\t\tif (!images[i]) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst ele = coverUploadEle.nth(i);\n\t\t// 如果存在图片则替换\n\t\tif ((await ele.locator(\"img\").count()) > 0) {\n\t\t\tawait ele.locator(\".article-cover-img-menu a\").filter({ hasText: \"替换\" }).click();\n\t\t} else {\n\t\t\t// 如果不存在图片则点击上传\n\t\t\tawait ele.click();\n\t\t}\n\n\t\t// 上传图片\n\t\tconst drawerContainer = page.locator(\".byte-drawer-wrapper:not(.byte-drawer-wrapper-hide)\");\n\t\tawait drawerContainer.locator(\".byte-tabs-header .byte-tabs-header-title\").filter({ hasText: \"上传图片\" }).click();\n\t\tconst fileChooserPromise = page.waitForEvent(\"filechooser\");\n\t\tawait page.waitForTimeout(200);\n\t\tawait drawerContainer.locator(\".upload-image-panel button.byte-btn\").filter({ hasText: \"本地上传\" }).click();\n\t\tconst fileChooser = await fileChooserPromise;\n\t\tawait fileChooser.setFiles([images[i]]);\n\n\t\t// 等待上传完成\n\t\tconst confirmBtn = drawerContainer\n\t\t\t.locator(\".footer .confirm-btns button:not(.byte-btn-disabled)\")\n\t\t\t.filter({ hasText: \"确定\" });\n\t\tawait confirmBtn.waitFor({ state: \"visible\" });\n\t\tawait confirmBtn.click();\n\n\t\tawait page.waitForTimeout(getRandomInRange(500, 1000));\n\t}\n\n\t// 4. 添加位置\n\tif (params.settingInfo.toutiaoLocation) {\n\t\tconst locationContainer = page.locator(\".form-container .edit-cell\").filter({ hasText: \"添加位置\" });\n\t\tawait locationContainer.locator(\".position-select\").click();\n\t\tawait locationContainer\n\t\t\t.locator(\".position-select .byte-select-view-search input\")\n\t\t\t.fill(params.settingInfo.toutiaoLocation.label);\n\t\tconst poperInstance = page.locator(\".byte-trigger .byte-select-popup .byte-select-option\");\n\t\tawait poperInstance.first().waitFor();\n\t\tawait poperInstance.first().click();\n\t}\n\n\t// 5. 投放广告\n\tconst adContainer = page\n\t\t.locator(\".form-container .edit-cell .edit-label\")\n\t\t.filter({ hasText: \"投放广告\" })\n\t\t.locator(\"xpath=..\");\n\n\t// 判断是否存在投放广告的选项\n\tconst isAdOptionVisible = await adContainer.isVisible();\n\n\tif (isAdOptionVisible) {\n\t\t// 获取元素的父元素句柄并点击\n\t\tawait adContainer\n\t\t\t.locator(`label.byte-radio:has(input[value=\"${getAddTypeValue(params.settingInfo.toutiaoAd)}\"])`)\n\t\t\t.click();\n\t}\n\n\t// 6. 声明首发\n\tconst exclusiveContainer = page.locator(\".form-container .edit-cell .edit-label\").filter({ hasText: \"声明首发\" }).locator(\"xpath=..\");\n\tif ((params.settingInfo.toutiaoOriginal && params.settingInfo.toutiaoOriginal.includes(\"exclusive\")) || params.settingInfo.toutiaoExclusive ) {\n\n\t\texclusiveContainer.locator(\".exclusive .exclusive-checkbox-wraper .byte-checkbox\").check();\n\t}else{\n\t\texclusiveContainer.locator(\".exclusive .exclusive-checkbox-wraper .byte-checkbox\").uncheck();\n\t}\n\n\t// 作品声明\n\tlet claim = params.settingInfo.toutiaoClaim ? params.settingInfo.toutiaoClaim.type : 5;\n\tswitch (claim) {\n\t\t// case 1:\n\t\t// \tawait page.locator(\".source-wrap .byte-checkbox\",{hasText: \"引用站内\"}).locator(\".byte-checkbox-mask\").check();\n\t\t// \tif(!params.settingInfo.toutiaoClaim?.source_author_name) return{ code: 500, message: \"请填写作者账户名\", data: \"\" };\n\t\t// \tawait page.locator(\".source-form-item\",{hasText: \"账号\"}).locator(\".byte-select-view-search input\").fill(params.settingInfo.toutiaoClaim.source_author_name)\n\t\t// \tbreak;\n\t\tcase 3:\n\t\t\tawait page.locator(\".source-wrap .byte-checkbox\",{hasText: \"引用AI\"}).locator(\".byte-checkbox-mask\").check();\n\t\t\t\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tawait page.locator(\".source-wrap .byte-checkbox\",{hasText: \"取材网络\"}).locator(\".byte-checkbox-mask\").check();\n\t\t\t\n\t\t\tbreak;\n\t\tcase 5:\n\t\t\tawait page.locator(\".source-wrap .byte-checkbox\",{hasText: \"个人观点,仅供参考\"}).locator(\".byte-checkbox-mask\").check();\n\t\t\t\n\t\t\tbreak;\n\t\tcase 6:\n\t\t\tawait page.locator(\".source-wrap .byte-checkbox\",{hasText: \"虚构演绎,故事经历\"}).locator(\".byte-checkbox-mask\").check();\n\t\t\t\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tawait page.locator(\".source-wrap .byte-checkbox\",{hasText: \"个人观点,仅供参考\"}).locator(\".byte-checkbox-mask\").check();\n\n\t\t\tbreak;\n\t}\n\n\t// 7. 保存草稿 / 发布\n\tconst articleId = await new Promise<string>(async (resolve) => {\n\t\tconst handleResponse = async (response: Response) => {\n\t\t const url = response.url();\n\t\t if (url.includes(\"/mp/agw/article/publish\")) {\n\t\t\tconst jsonResponse = await response.json();\n\t\t\tpage.off(\"response\", handleResponse);\n\t\t\tresolve(jsonResponse.data.pgc_id);\n\t\t }\n\t\t};\n\t \n\t\tpage.on(\"response\", handleResponse);\n\t \n\t\tif (params.settingInfo.timer && params.saveType == \"publish\") {\n\t\t // 点击“定时发布”按钮\n\t\t await page.locator(\".publish-footer button\").filter({ hasText: \"定时发布\" }).click();\n\t\t await page.waitForSelector('button.publish-btn:not(.byte-btn-loading) >> nth=1', { state: 'attached' });\n\t \n\t\t // 选择日期\n\t\t await page.locator(\".byte-modal-content .day-select .byte-select-view-value\").click();\n\t\t await page.locator('li.byte-select-option', { hasText: TimeFormatter.format(params.settingInfo.timer, \"MM月dd日\") }).click();\n\t\t await page.waitForTimeout(200);\n\t \n\t\t // 选择小时\n\t\t await page.locator(\".byte-modal-content .hour-select .byte-select-view-value\").click();\n\t\t await page.locator('li.byte-select-option', { hasText: TimeFormatter.format(params.settingInfo.timer, \"h\") }).click();\n\t\t await page.waitForTimeout(200);\n\t \n\t\t // 选择分钟\n\t\t await page.locator(\".byte-modal-content .minute-select .byte-select-view-value\").click();\n\t\t await page.locator('li.byte-select-option', { hasText: TimeFormatter.format(params.settingInfo.timer, \"m\") }).click();\n\t\t await page.waitForTimeout(200);\n\n\t\t await page.locator(\".byte-modal-footer button\").filter({ hasText:\"预览并定时发布\" }).click()\n\t\t}else{\n\t\t\tawait page.locator(\".publish-footer button\").filter({ hasText:\"预览并发布\" }).click();\n\t\t}\n\t \n\t });\n\n\tif(params.settingInfo.toutiaoAd == 'no'){\n\t\tawait page.waitForTimeout(200);\n\t\tconst confirmBtn = page.locator('div.byte-modal-footer button.byte-btn-primary:has-text(\"确定\")');\n\t\tif (await confirmBtn.isVisible()) {\n\t\t await confirmBtn.click();\n\t\t}\n\t}\n \n\ttask._timerRecord['PrePublish']= Date.now();\n \n\tif (params.saveType === \"publish\") {\n\t\tawait page.locator(\".publish-footer button\").filter({ hasText: params.settingInfo.timer? \"定时发布\" : \"确认发布\" }).waitFor({ state: \"visible\" });\n\t\tawait page.waitForTimeout(200);\n\t\tawait page.locator(\".publish-footer button\").filter({ hasText: params.settingInfo.timer? \"定时发布\" : \"确认发布\" }).click();\n\t}\n\n\t// 关闭页面\n\tawait page.close();\n\n\treturn success(articleId, params.saveType === \"publish\" ? \"发布成功\" : \"保存草稿成功\");\n};\n","import type { CommonAction } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { executeAction } from \"../../utils\";\nimport { mockAction } from \"./mock\";\nimport { rpaAction } from \"./rpa\";\n\ntype CoverType = \"single\" | \"multiple\" | \"no\";\n\nexport interface ToutiaoPublishParams extends ActiomCommonParams {\n\tsaveType: \"draft\" | \"publish\"; // 保存成草稿 / 发布\n\ttitle: string;\n\tcontent: string;\n proxyLoc?: string; // 代理位置\n huiwenToken?: string; // 绘文token\n\tsettingInfo: {\n\t\ttoutiaoCoverType: CoverType;\n\t\ttoutiaoTitleType: \"single\" | \"multiple\"; // 已关闭对应功能,保留参数,兼容老版本\n\t\ttoutiaoSingleCover: string;\n\t\ttoutiaoMultCover: string[];\n\t\ttoutiaoAd: string; // 广告配置 - 投放广告/不投放广告\n\t\ttoutiaoOriginal?: string; // 原创声明-已修改为首发声明,兼容老用户\n\t\ttoutiaoExclusive?: number; // 头条首发 0 - 声明非首发 1- 声明首发\n toutiaoCollectionId?: string; // 头条合集id\n toutiaoTransWtt?: boolean; // 是否同步微头条\n\t\ttoutiaoClaim?: {\n\t\t\ttype: number// 作品声明 -1 - 不声明,4 - 取材网络,1 - 引用站内(该选项必须传入下方两个参数,否则会错误),5 - 个人观点,仅供参考,3 - 引用AI,6 - 虚构演绎,故事经历\n\t\t\tsource_author_uid?: string;\n\t\t\tsource_author_name?: string;\n\t\t\ttime_format?: string;\n\t\t\tposition?: {\n\t\t\t\tposition: string;\n\t\t\t\tcity: string;\n\t\t\t\tlongitude: number;\n\t\t\t\tlatitude: number;\n\t\t\t\ttype_code: string;\n\t\t\t\tpoi_id: string;\n\t\t\t}\n\n\t\t}; \n\t\t// biome-ignore lint/suspicious/noExplicitAny: <explanation>\n\t\ttoutiaoLocation?: { label: string; value: string; [key: string]: any }; // 位置\n\t\ttoutiaoTopic: { id: string; word: string }[]; // 话题\n\t\tcntWord: number;\n\t\tsubTitles: string[]; // 多标题\n\t\ttimer?: number;\n\t};\n}\n\nexport const COVER_TYPE: Record<CoverType, number> = {\n\tno: 1,\n\tsingle: 2,\n\tmultiple: 3,\n};\n\nexport const getAddTypeValue = (toutiaoAd: ToutiaoPublishParams[\"settingInfo\"][\"toutiaoAd\"]) =>\n\ttoutiaoAd === \"yes\" ? 3 : 2;\n\nexport type PublishAction = CommonAction<ToutiaoPublishParams, string>;\n\nexport const toutiaoPublish: PublishAction = async (task, params) => {\n\tif (params.actionType === \"rpa\") {\n\t\treturn rpaAction(task, params);\n\t}\n\n\tif (params.actionType === \"mockApi\") {\n\t\treturn mockAction(task, params);\n\t}\n\n\treturn executeAction(mockAction, rpaAction)(task, params);\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams, Toutiao, Xiaohongshu, Weixin, BaiJiaHao} from \"../../../types\";\nimport { Http } from \"../../../utils/http\";\n\n\nexport type ttSearchAction = CommonAction<ActiomCommonParams, Toutiao.FansCount>;\n\nexport type xhsSearchAction = CommonAction<ActiomCommonParams, Xiaohongshu.FansCount>;\n\nexport interface GetWxFansSearchParams extends ActiomCommonParams {\n token: string| number;\n}\nexport type wxSearchAction = CommonAction<GetWxFansSearchParams, Weixin.FansCount>;\n\nexport type bjhSearchAction = CommonAction<ActiomCommonParams, BaiJiaHao.FansCount>;\n\n\nexport const TTFansExport: ttSearchAction = async (_task, params) => {\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n referer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n },\n });\n\n try {\n const res = await http.api<{ code: number; total_fans_count: number }>({\n method: \"get\",\n url: \"https://mp.toutiao.com/mp/agw/creator_center/user_info?app_id=1231\",\n params: { app_id: 1231},\n });\n\n return success(res.code === 0 ? { fans_count: res.total_fans_count } : { fans_count: null }, \"获取粉丝数成功!\");\n } catch (error) {\n return success({ fans_count: null }, \"获取粉丝数失败,请检查登陆有效性!\");\n }\n\n};\n\nexport const XhsFansExport: xhsSearchAction = async (_task, params) => { \n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://creator.xiaohongshu.com/new/home?source=official\",\n\t\t},\n\t});\n\n try {\n const res = await http.api<{ result: number; data: Xiaohongshu.FansCount }>({\n method: \"get\",\n url: \"https://creator.xiaohongshu.com/api/galaxy/creator/home/personal_info\",\n });\n\n return success(res.result === 0 ? { fans_count: res.data.fans_count } : { fans_count: null }, \"获取粉丝数成功!\");\n } catch (error) {\n return success({ fans_count: null }, \"获取粉丝数失败,请检查登陆有效性!\");\n }\n\n};\n\nexport const WxFansExport: wxSearchAction = async (_task, params) => { \n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t},\n\t});\n\n try {\n const htmlStr = await http.api<string>({\n method: \"get\",\n url: \"https://mp.weixin.qq.com/cgi-bin/home\",\n params: {\n t: \"home/index\",\n token: params.token,\n lang: \"zh_CN\",\n },\n });\n\n const match = htmlStr.match(/总用户数[\\s\\S]*?<mp-thousandth>(\\d+)<\\/mp-thousandth>/);\n \n return success(match ? { fans_count: Number(match[1]) }: {fans_count: null},\"获取粉丝数成功!\");\n } catch (error) {\n return success({ fans_count: null }, \"获取粉丝数失败,请检查登陆有效性!\");\n }\n\n};\n\nexport const BjhFansExport: bjhSearchAction = async (_task, params) => { \n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://baijiahao.baidu.com/builder/rc/home\",\n\t\t},\n\t});\n\n try {\n const res = await http.api<{ errno: number; data: {total_fans: number} }>({\n method: \"get\",\n url: \"https://baijiahao.baidu.com/cms-ui/rights/growth/get_info\",\n });\n\n return success(res.errno === 0 ? { fans_count: res.data.total_fans } : { fans_count: null }, \"获取粉丝数成功!\");\n } catch (error) {\n return success({ fans_count: null }, \"获取粉丝数失败,请检查登陆有效性!\");\n }\n\n};","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../../types\";\nimport { Http } from \"../../../utils/http\";\n\nexport interface sessionCheckResult {\n\tisValidSession: boolean;\n}\n\nexport type ttSessionCheck = CommonAction<ActiomCommonParams, sessionCheckResult>;\nexport interface wxSessionParams extends ActiomCommonParams {\n token: string | number;\n}\nexport type wxSessionCheck = CommonAction<wxSessionParams, sessionCheckResult>;\nexport type xhsSessionCheck = CommonAction<ActiomCommonParams, sessionCheckResult>;\nexport type bjhSessionCheck = CommonAction<ActiomCommonParams, sessionCheckResult>;\n\nexport const TTSessionCheck: ttSessionCheck = async (_task, params) => {\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n referer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n },\n });\n\n try {\n const res = await http.api({\n method: \"get\",\n url: \"https://mp.toutiao.com/mp/agw/creator_center/user_info\",\n defaultErrorMsg: `头条号登录状态失效。`,\n });\n\n return success(res.code === 0 ? { isValidSession: true } : { isValidSession: false }, \"头条账号有效性检测完成!\");\n } catch (error) {\n return success({ isValidSession: false }, \"头条账号有效性检测失败!\");\n }\n\n};\n\nexport const WxSessionCheck: wxSessionCheck = async (_task, params) => {\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t},\n\t});\n const fingerprint = \"4695500bc93ab4ce8fb2692da6564e04\";\n\n try {\n const res = await http.api<{base_resp: {ret: number;}}>({\n method: \"get\",\n url: \"https://mp.weixin.qq.com/cgi-bin/appmsgpublish\",\n params: {\n fingerprint,\n sub: \"list\",\n begin: 0,\n count: 10,\n query: \"\",\n type: 101_1_102_103,\n show_type: \"\",\n free_publish_type: 1_102_103,\n sub_action: \"list_ex\",\n search_card: 0,\n token: params.token,\n lang: \"zh_CN\",\n f: \"json\",\n ajax: 1,\n },\n });\n\n return success(res.base_resp.ret === 0 ? { isValidSession: true } : { isValidSession: false }, \"微信账号有效性检测完成!\");\n } catch (error) {\n return success({ isValidSession: false }, \"微信账号有效性检测失败!\");\n }\n\n};\n\nexport const XhsSessionCheck: xhsSessionCheck = async (_task, params) => { \n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://creator.xiaohongshu.com/new/home?source=official\",\n\t\t},\n\t});\n\n try {\n const res = await http.api<{ result: number;}>({\n method: \"get\",\n url: \"https://creator.xiaohongshu.com/api/galaxy/user/info\",\n });\n\n return success(res.result === 0 ? { isValidSession: true } : { isValidSession: false }, \"小红书账号有效性检测完成!\");\n } catch (error) {\n return success({ isValidSession: false}, \"小红书账号有效性检测完成!\");\n }\n\n};\n\nexport const BjhSessionCheck: bjhSessionCheck = async (_task, params) => { \n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://baijiahao.baidu.com/builder/rc/home\",\n\t\t},\n\t});\n\n try {\n const res = await http.api({\n method: \"get\",\n url: \"https://baijiahao.baidu.com/pcui/home/index\",\n defaultErrorMsg: `百家号登录状态失效。`,\n });\n\n return success(res.errno === 0 ? { isValidSession: true } : { isValidSession: false }, \"百家号账号有效性检测完成!\");\n } catch (error) {\n return success({ isValidSession: false}, \"百家号账号有效性检测失败!\");\n }\n\n};","\nexport interface ttConfigData {\n fansNum: number;\n fansNumYesterday: number | null;\n readNum: number;\n incomeNum: number;\n incomeNumYesterday: number| null;\n showNumYesterday: number| null;\n readNumYesterday: number| null;\n likeNumYesterday: number| null;\n commentNumYesterday: number| null;\n}\n\nexport interface xhsConfigData {\n fansNum: number;\n favedNum: number;\n watchNumLastWeek: number;\n likeNumLastWeek: number;\n collectNumLastWeek: number;\n commentNumLastWeek: number;\n fansNumLastWeek: number;\n fansNumYesterday: number;\n}\n\nexport interface wxConfigData {\n fansNum: number;\n fansNumYesterday: number;\n readNumYesterday: number;\n shareNumYesterday: number;\n}\n\nexport interface bjhConfigData {\n fansNum: number;\n fansNumYesterday: number | null;\n readNum: number;\n incomeNum: number;\n incomeNumYesterday: number | null;\n recommendNumYesterday: number | null;\n readNumYesterday: number | null;\n likeNumYesterday: number | null;\n commentNumYesterday: number | null;\n}\n\nexport interface SearchAccountInfoResponse {\n code: number;\n message: string;\n data: ttConfigData | xhsConfigData | wxConfigData | bjhConfigData | null;\n};\n\nexport const errorResponse = (\n message: string,\n code: number = 500\n): SearchAccountInfoResponse => ({\n code,\n message,\n data: null,\n});\n","// @ts-ignore\nimport { success } from \"@iflyrpa/share\";\nimport { SearchAccountInfoResponse, errorResponse, bjhConfigData } from \"./types\";\nimport { type SearchAccountInfoParams } from \".\";\nimport { Http } from \"../../utils/http\";\nimport { TimeFormatter } from \"../../utils\";\n\nexport async function getBaijiahaoData(params: SearchAccountInfoParams): Promise<SearchAccountInfoResponse> {\n try {\n const { token } = params;\n if (!token) return errorResponse(\"缺少token\", 200);\n\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n token: String(token),\n Referer: \"https://baijiahao.baidu.com/builder/rc/home\",\n },\n });\n\n const yesterday = TimeFormatter.format(new Date().setDate(new Date().getDate() - 1), \"yyyyMMdd\");\n const [fansData, readData, incomeData, yesterdayData] = await Promise.all([\n http.api<{ data: { coreData: { fansCount: number; } } }>({\n method: \"get\",\n url: \"https://baijiahao.baidu.com/pcui/home/index\",\n }),\n http.api<{ data: { total: { view_count: number; } } }>({\n method: \"get\",\n url: \"https://baijiahao.baidu.com/author/eco/statistic/getauthorhistory\",\n }),\n http.api<{ data: { all_income: { total_income: number; yesterday_income: number; } } }>({\n method: \"get\",\n url: \"https://baijiahao.baidu.com/author/eco/income4/homepageincome\",\n }),\n http.api<{ data: { data: { recommend_count: number; view_count: number; likes_count: number; comment_count: number; fans_increase: number; } } }>({\n method: \"get\",\n url: `https://baijiahao.baidu.com/author/eco/statistics/appStatistic`,\n params: {\n type: \"all\",\n is_yesterday: false,\n start_day: yesterday,\n end_day: yesterday,\n stat: 0,\n },\n }),\n ]);\n\n const bjhData: bjhConfigData = {\n fansNum: fansData.data.coreData.fansCount,\n fansNumYesterday: yesterdayData.data.data.fans_increase == -1 ? null : yesterdayData.data.data.fans_increase,\n readNum: readData.data.total.view_count,\n incomeNum: incomeData.data.all_income.total_income,\n incomeNumYesterday: incomeData.data.all_income.yesterday_income == -1 ? null : incomeData.data.all_income.yesterday_income,\n recommendNumYesterday: yesterdayData.data.data.recommend_count == -1 ? null : yesterdayData.data.data.recommend_count,\n readNumYesterday: yesterdayData.data.data.view_count == -1 ? null : yesterdayData.data.data.view_count,\n likeNumYesterday: yesterdayData.data.data.likes_count == -1 ? null : yesterdayData.data.data.likes_count,\n commentNumYesterday: yesterdayData.data.data.comment_count == -1 ? null : yesterdayData.data.data.comment_count,\n };\n\n return success(bjhData, \"百家号平台数据获取成功!\");\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"百家号平台数据获取失败\");\n }\n}\n","// @ts-ignore\nimport {success} from \"@iflyrpa/share\";\nimport {SearchAccountInfoResponse, errorResponse, ttConfigData} from \"./types\";\nimport {type SearchAccountInfoParams} from \".\";\nimport {Http} from \"../../utils/http\";\n\nexport async function getToutiaoData(params: SearchAccountInfoParams): Promise<SearchAccountInfoResponse> {\n const {cookies} = params;\n try {\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n referer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n },\n });\n\n const [totalData, contentDataYesterday] = await Promise.all([\n http.api<{\n data: {\n statistic: {\n data: {\n total_subscribe_count: string;\n total_read_play_count: string;\n total_income: number;\n yesterday_income: number;\n is_yesterday_income_ready: boolean;\n yesterday_fans?: string\n yesterday_play_count: string;\n yesterday_read_count: string;\n }\n }\n }\n }>({\n method: \"get\",\n url: \"https://mp.toutiao.com/mp/fe_api/home/merge_v2\",\n params: {app_id: 1231},\n }),\n http.api<{\n author_stat: {\n consume_data: { impression_count: number; go_detail_count: number; },\n interaction_data: { comment_count: number; digg_count: number; }\n }\n }>({\n method: \"get\",\n url: \"https://mp.toutiao.com/mp/agw/statistic/v2/content_stat\",\n params: {type: 0, app_id: 1231},\n }),\n ]);\n\n const isReday = totalData.data.statistic.data.yesterday_read_count !== undefined\n\n const ttData: ttConfigData = {\n fansNum: Number(totalData.data.statistic.data.total_subscribe_count),\n fansNumYesterday: totalData.data.statistic.data.yesterday_fans !== undefined ? Number(totalData.data.statistic.data.yesterday_fans) : null,\n readNum: Number(totalData.data.statistic.data.total_read_play_count),\n incomeNum: totalData.data.statistic.data.total_income,\n incomeNumYesterday: totalData.data.statistic.data.is_yesterday_income_ready ? totalData.data.statistic.data.yesterday_income : null,\n showNumYesterday: isReday ? contentDataYesterday.author_stat.consume_data.impression_count: null,\n readNumYesterday: isReday ? contentDataYesterday.author_stat.consume_data.go_detail_count : null,\n likeNumYesterday: isReday ? contentDataYesterday.author_stat.interaction_data.digg_count: null,\n commentNumYesterday: isReday ? contentDataYesterday.author_stat.interaction_data.comment_count: null,\n };\n\n return success(ttData, \"头条号粉丝数据获取成功!\");\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"头条号数据获取失败\");\n }\n\n}","// @ts-ignore\nimport {success} from \"@iflyrpa/share\";\nimport {SearchAccountInfoResponse, errorResponse, wxConfigData} from \"./types\";\nimport {type SearchAccountInfoParams} from \".\";\nimport {Http} from \"../../utils/http\";\nimport {TimeFormatter} from \"../../utils\";\n\nexport async function getWeixinData(params: SearchAccountInfoParams): Promise<SearchAccountInfoResponse> {\n const {token} = params;\n\n if (!token) return {code: 200, message: \"缺少token\", data: null};\n\n try {\n const {token} = params;\n if (!token) return errorResponse(\"缺少token\", 200);\n\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n },\n });\n const userInfo = {\n originalCount: 0,\n totalUsers: 0,\n userIncrease: 0,\n yesterday: {\n read: 0,\n share: 0,\n subscribe: 0\n }\n };\n const userInfoHtml = await http.api<string>({\n method: \"get\",\n url: \"https://mp.weixin.qq.com/cgi-bin/home\",\n params: {\n t: \"home/index\",\n token,\n lang: \"zh_CN\"\n },\n })\n\n // 提取原创内容(兼容属性、换行)\n const originalMatch = userInfoHtml.trim().match(/原创内容[\\s\\S]*?<mp-thousandth[^>]*>([\\d,]+)<\\/mp-thousandth>/i);\n if (originalMatch) userInfo.originalCount = parseInt(originalMatch[1].replace(/,/g, ''), 10);\n\n // 提取总用户数(兼容属性、空格)\n const totalUsersMatch = userInfoHtml.match(/总用户数[\\s\\S]*?<div[^>]*class=[\"']weui-desktop-user_sum[\"'][^>]*>[\\s\\S]*?<mp-thousandth[^>]*>([\\d,]+)<\\/mp-thousandth>/i);\n if (totalUsersMatch) userInfo.totalUsers = parseInt(totalUsersMatch[1].replace(/,/g, ''), 10);\n\n // 提取用户增长(支持正负号、带属性)\n const increaseMatch = userInfoHtml.match(/weui-desktop-user_increase_num[^>]*>\\s*([+-]?)\\s*<mp-thousandth[^>]*>([\\d,]+)<\\/mp-thousandth>/i);\n if (increaseMatch) {\n const sign = increaseMatch[1] === '-' ? -1 : 1;\n userInfo.userIncrease = sign * parseInt(increaseMatch[2].replace(/,/g, ''), 10);\n }\n\n // 昨日阅读\n const readMatch = userInfoHtml.match(/昨日阅读[\\s\\S]*?<mp-thousandth[^>]*>([\\d,]+)<\\/mp-thousandth>/i);\n if (readMatch) userInfo.yesterday.read = parseInt(readMatch[1].replace(/,/g, ''), 10);\n\n // 昨日分享\n const shareMatch = userInfoHtml.match(/昨日分享[\\s\\S]*?<mp-thousandth[^>]*>([\\d,]+)<\\/mp-thousandth>/i);\n if (shareMatch) userInfo.yesterday.share = parseInt(shareMatch[1].replace(/,/g, ''), 10);\n\n // 昨日新增关注\n const subscribeMatch = userInfoHtml.match(/昨日新增关注[\\s\\S]*?<mp-thousandth[^>]*>([\\d,]+)<\\/mp-thousandth>/i);\n if (subscribeMatch) userInfo.yesterday.subscribe = parseInt(subscribeMatch[1].replace(/,/g, ''), 10);\n\n const wxData: wxConfigData = {\n fansNum: userInfo.totalUsers,\n fansNumYesterday: userInfo.yesterday.subscribe,\n readNumYesterday: userInfo.yesterday.read,\n shareNumYesterday: userInfo.yesterday.share,\n };\n\n return success(wxData, \"微信平台数据获取成功!\");\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"微信平台数据获取失败\");\n }\n}","// @ts-ignore\nimport { success } from \"@iflyrpa/share\";\nimport { SearchAccountInfoResponse, errorResponse, xhsConfigData } from \"./types\";\nimport { type SearchAccountInfoParams } from \".\";\nimport { Http } from \"../../utils/http\";\nimport { Xhshow } from \"../../utils/xhs_ob\";\n\nexport async function getXiaohongshuData(params: SearchAccountInfoParams): Promise<SearchAccountInfoResponse> {\n\n try {\n const a1Cookie = params.cookies.find((it) => it.name === \"a1\")?.value;\n if (!a1Cookie) {\n return errorResponse(\"账号数据异常,请重新绑定账号后重试。\", 200);\n }\n\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n referer: \"https://creator.xiaohongshu.com\",\n origin: \"https://creator.xiaohongshu.com\",\n },\n });\n\n const xsEncrypt = new Xhshow();\n const xt = Date.now().toString();\n const sevenDataUrl = \"/api/galaxy/v2/creator/datacenter/account/base\";\n const xs = xsEncrypt.signXsGet(sevenDataUrl, a1Cookie, \"xhs-pc-web\", null );\n\n const [overAllData, sevenData] = await Promise.all([\n http.api<{ data: { fans_count: number; faved_count: number; } }>({\n method: \"get\",\n url: \"https://creator.xiaohongshu.com/api/galaxy/creator/home/personal_info\",\n }),\n http.api<{ data: { seven: { view_count: number; like_count: number; collect_count: number; comment_count: number; rise_fans_count: number; rise_fans_list: { data: number; count: number; }[] } } }>({\n method: \"get\",\n baseURL: \"https://creator.xiaohongshu.com\",\n url: sevenDataUrl,\n headers: { \"x-s\": xs, \"x-t\": xt },\n }),\n ]);\n\n const xhsData: xhsConfigData = {\n fansNum: overAllData.data.fans_count,\n favedNum: overAllData.data.faved_count,\n watchNumLastWeek: sevenData.data.seven.view_count,\n likeNumLastWeek: sevenData.data.seven.like_count,\n collectNumLastWeek: sevenData.data.seven.collect_count,\n commentNumLastWeek: sevenData.data.seven.comment_count,\n fansNumLastWeek: sevenData.data.seven.rise_fans_count,\n fansNumYesterday: sevenData.data.seven.rise_fans_list[0].count\n };\n\n return success(xhsData, \"小红书平台数据获取成功!\");\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"小红书平台数据获取失败\");\n }\n}","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { ttConfigData, xhsConfigData, wxConfigData, bjhConfigData } from \"./types\";\nimport { getBaijiahaoData } from \"./getBjhInfo\";\nimport { getToutiaoData } from \"./getTTInfo\";\nimport { getWeixinData } from \"./getWxInfo\";\nimport { getXiaohongshuData } from \"./getXhsInfo\";\n\nexport interface SearchAccountInfoParams extends ActiomCommonParams {\n token?: string | number;\n platform: string;\n}\n\nexport const SearchAccountInfo: CommonAction<\nSearchAccountInfoParams,\nttConfigData | xhsConfigData | wxConfigData | bjhConfigData | null\n> = async (_task, params) => {\n const { platform } = params;\n switch (platform) {\n case \"toutiao\":\n return getToutiaoData(params);\n case \"xiaohongshu\":\n return getXiaohongshuData(params);\n case \"weixin\":\n return getWeixinData(params);\n case \"baijiahao\":\n return getBaijiahaoData(params);\n default:\n return success(null, \"暂不支持该平台\");\n }\n};","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface SearchBjhTopicListParams extends ActiomCommonParams {\n\ttoken: string;\n topicContent: string;\n}\n\nexport interface TopicData {\n\ttitle: string;\n\tid: string;\n}\n\nexport type PublishAction = CommonAction<SearchBjhTopicListParams, TopicData[]>;\n\nexport const searchBjhTopicList: PublishAction = async (_task, params) => {\n\tconst cookies = params.cookies ?? [];\n\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\ttoken: params.token,\n\t\t},\n\t});\n\n\tconst res = await http.api<{ errno: number; data: { hot: TopicData[] } }>({\n\t\tmethod: \"get\",\n\t\turl: \"https://baijiahao.baidu.com/pcui/pcpublisher/searchtopic\",\n\t\tparams: {\n\t\t\tcontent: params.topicContent,\n resource_type: 1\n\t\t},\n\t});\n\n\treturn success(res?.data?.hot ?? [], \"百家号\" + (res.errno == 0 ? \"话题获取成功!\":\"话题获取失败\"));\n};\n","\n// 文章公共属性\ninterface BaseArticle {\n title: string; // 文章标题\n imageUrl: string; // 图片地址\n createTime: number; // 发布时间\n redirectUrl: string; // 文章网页端地址\n originalData?: any; // 原始数据,可选\n}\n\n// 平台特定文章属性\nexport interface ToutiaoArticle extends BaseArticle {\n showNum: number; // 展现量\n readNum: number; // 阅读量\n likeNum: number; // 点赞量\n commentNum: number; // 评论量\n}\n\nexport interface WeixinArticle extends BaseArticle {\n readNum: number; // 阅读人数\n likeNum: number; // 点赞人数\n shareNum: number; // 分享人数\n recommendNum: number; // 推荐人数\n}\n\nexport interface BaijiahaoArticle extends BaseArticle {\n recommendNum: number; // 推荐量\n collectNum: number; // 收藏量\n readNum: number; // 阅读量\n likeNum: number; // 点赞量\n commentNum: number; // 评论量\n shareNum: number; // 转发量\n}\n\nexport interface XiaohongshuArticle extends BaseArticle {\n readNum: number; // 阅读量\n likeNum: number; // 点赞量\n commentNum: number; // 评论量\n collectNum: number; // 收藏量\n shareNum: number; // 转发量\n}\n\n// 响应数据类型\nexport interface FetchArticlesData {\n articleCell?: (ToutiaoArticle | WeixinArticle | BaijiahaoArticle | XiaohongshuArticle)[];\n pagination?: {\n total?: number; // 总条数\n nextPage?: boolean; // 是否有下一页\n lastPage?: number; // 用于维系游标所在页,提高查询速度\n cursor?: number; // 返回最终游标\n pageNum: number; // 当前页\n pageSize: number; // 每页大小\n };\n}\n\nexport interface FetchArticlesResponse {\n code: number;\n message: string;\n data: FetchArticlesData | null\n}\n\nexport const errorResponse = (\n message: string,\n code: number = 500\n): FetchArticlesResponse => ({\n code,\n message,\n data: null,\n});\n","// @ts-ignore\nimport { success } from \"@iflyrpa/share\";\nimport { FetchArticlesResponse, errorResponse, ToutiaoArticle } from \"./types\";\nimport { type FetchArticlesParams } from \".\"\nimport { Http } from \"../../utils/http\";\n\ninterface ArticleResponse {\n itemCell: {\n actionCtrl: Record<string, unknown>;\n cellCtrl: {\n articleImageType: number;\n dspStyle: null | string;\n };\n extra: {\n answer_count: string;\n origin_content: string;\n };\n logPB: string;\n articleBase: {\n createTime: number;\n itemStatus: number;\n articleURL: string;\n displayFlags: string;\n gidStr: string;\n subTitle: string | null;\n title: string;\n abstractText: string;\n content: string;\n displayURL: string;\n groupID: number;\n publishTime: number;\n schema: string;\n visibilityLevel: number;\n };\n articleClassification: {\n bizTag: number;\n groupSource: number;\n isOriginal: boolean;\n isStick: boolean;\n isSubject: boolean;\n articleSubType: number;\n articleType: number;\n bizID: number;\n };\n containsElements: {\n hasImage: boolean;\n hasVideo: boolean;\n };\n imageList: {\n staggerFeedCover: ImageInfo[];\n thumbImageList: ImageInfo[];\n };\n itemCounter: {\n readCount: number;\n repinCount: number;\n showCount: number;\n videoWatchCount: number;\n commentCount: number;\n diggCount: number;\n };\n richContentInfo: {\n richContent: string;\n titleRichSpan: string;\n };\n shareInfo: {\n shareURL: string;\n };\n userInfo: {\n avatarURL: string;\n name: string;\n userID: number;\n };\n };\n}\n\ninterface ImageInfo {\n width: number;\n height: number;\n uri: string;\n url: string;\n}\nexport async function handleToutiaoData(params: FetchArticlesParams): Promise<FetchArticlesResponse> {\n try {\n const {\n cookies,\n pageNum = 1,\n pageSize = 10,\n showOriginalData = false,\n onlySuccess = false,\n } = params;\n\n const http = new Http({\n headers: {\n cookie: cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n },\n });\n\n const visitedUid = await http.api<{ user_id_str: string }>({\n url: \"https://mp.toutiao.com/mp/agw/creator_center/user_info?\",\n method: \"get\",\n params: { app_id: 1231 },\n })\n\n const articleInfo = await http.api<{ data: { assembleCell: ArticleResponse }[], total_number: number; api_base_info: { app_extra_params: string } }>({\n method: \"get\",\n url: \"https://mp.toutiao.com/api/feed/mp_provider/v1/\",\n params: {\n provider_type: \"mp_provider\",\n aid: \"13\",\n app_name: \"news_article\",\n category: \"mp_all\",\n channel: \"\",\n stream_api_version: \"88\",\n genre_type_switch: '{\"repost\":1,\"small_video\":1,\"toutiao_graphic\":1,\"weitoutiao\":1,\"xigua_video\":1}',\n device_platform: \"pc\",\n platform_id: \"0\",\n visited_uid: visitedUid.user_id_str,\n offset: (pageNum - 1) * pageSize,\n count: pageSize,\n keyword: \"\",\n client_extra_params: `{\"category\":\"mp_all\",\"real_app_id\":\"1231\",\"need_forward\":\"true\",\"offset_mode\":\"1\",\"page_index\":\"1\",\"status\":${onlySuccess ? \"2\" : \"8\"},\"source\":\"0\"}`,\n app_id: \"1231\"\n },\n });\n\n const articleCell: ToutiaoArticle[] = articleInfo.data.map((item) => ({\n title: item.assembleCell.itemCell.articleBase.title,\n imageUrl: item.assembleCell.itemCell.imageList.staggerFeedCover[0].url,\n createTime: item.assembleCell.itemCell.articleBase.publishTime,\n redirectUrl: item.assembleCell.itemCell.articleBase.articleURL,\n showNum: item.assembleCell.itemCell.itemCounter.showCount,\n readNum: item.assembleCell.itemCell.itemCounter.readCount,\n likeNum: item.assembleCell.itemCell.itemCounter.diggCount,\n commentNum: item.assembleCell.itemCell.itemCounter.commentCount,\n ...(showOriginalData ? {\n originalData: item,\n // articleStates: item.assembleCell.itemCell.articleBase.itemStatus == 20 ? 1: item.assembleCell.itemCell.articleBase.itemStatus == 10? 5 : ; // 文章状态:1发布成功,4发布失败,5审核中,7已过期\n } : {}),\n }));\n const api_base_info_json: { total_count: number } = JSON.parse(articleInfo.api_base_info.app_extra_params)\n return success(\n {\n articleCell,\n ...(onlySuccess ? {\n pagination: {\n total: api_base_info_json.total_count,\n pageNum,\n pageSize,\n }\n } : null),\n },\n \"头条号文章文章获取成功\"\n );\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"头条号文章数据获取失败\");\n }\n}","// @ts-ignore\nimport {success} from \"@iflyrpa/share\";\nimport {Http} from \"../../utils/http\";\nimport {FetchArticlesResponse, errorResponse, WeixinArticle} from \"./types\";\nimport {type FetchArticlesParams} from \".\"\nimport {it} from \"vitest\";\n\ninterface PublishInfo {\n type: number;\n msgid: number;\n sent_result: {\n reject_index_list: any[];\n };\n appmsg_info: Array<{\n share_type: number;\n appmsgid: number;\n content_url: string;\n title: string;\n is_deleted: boolean;\n copyright_status: number;\n copyright_type: number;\n read_num: number;\n like_num: number;\n comment_id: string;\n is_comment_enable: boolean;\n comment_num: number;\n vote_id: any[];\n super_vote_id: any[];\n cover: string;\n smart_product: number;\n modify_status: number;\n appmsg_like_type: number;\n can_delete_status: number;\n old_like_num: number;\n itemidx: number;\n is_pay_subscribe: number;\n is_from_transfer: number;\n public_tag_info: {\n public_tag_list: any[];\n modify_times: number;\n init_tag_list_size: number;\n };\n appmsg_album_info: {\n appmsg_album_infos: any[];\n };\n digest: string;\n is_cooling_article: number;\n pic_cdn_url_235_1: string;\n pic_cdn_url_16_9: string;\n pic_cdn_url_3_4: string;\n pic_cdn_url_1_1: string;\n disable_recommend: number;\n line_info: {\n use_line: number;\n line_count: number;\n send_time: number;\n is_appmsg_flag: number;\n is_use_flag: number;\n };\n claim_source_type: number;\n share_num: number;\n is_rumor_refutation: number;\n segment_comment_id: string;\n is_segment_comment_enable: boolean;\n multi_picture_cover: number;\n share_imageinfo: any[];\n moment_like_num: number;\n item_show_type: number;\n }>;\n appmsgex: any[];\n copy_appmsg_id: number;\n new_publish: number;\n}\n\ninterface BasePublishItem<T = string> {\n publish_type: number;\n publish_info: T;\n}\n\ninterface BaseParsedPublishPage<T = string> {\n total_count: number;\n publish_count: number;\n masssend_count: number;\n publish_list: BasePublishItem<T>[];\n featured_count: number;\n}\n\n\ntype ParsedPublishPage = BaseParsedPublishPage<PublishInfo>;\n\n\nexport async function handleWeixinData(params: FetchArticlesParams): Promise<FetchArticlesResponse> {\n try {\n const {\n cookies,\n token,\n pageNum = 1,\n pageSize = 10,\n showOriginalData = false,\n onlySuccess = false,\n cursor,\n lastPage,\n } = params;\n if (!token) return {code: 200, message: \"缺少token\", data: null};\n const http = new Http({\n headers: {\n cookie: cookies.map((it) => `${it.name}=${it.value}`).join(\";\")\n },\n });\n\n const ParsePublishPage = (body: string): ParsedPublishPage => {\n\n const match = body.match(/publish_page\\s*=\\s*({[\\s\\S]*?});/);\n if (!match) {\n throw new Error('无法提取 publish_page 字段');\n }\n\n let parsedData = JSON.parse(match[1]);\n\n // HTML 实体解码函数\n const decodeEntities = function (str: string, decode: boolean = false) {\n const encodeMap = [\"&\", \"&\", \"<\", \"<\", \">\", \">\", \" \", \" \", '\"', \""\", \"'\", \"'\"];\n const decodeMap = [\"'\", \"'\", \""\", '\"', \" \", \" \", \">\", \">\", \"<\", \"<\", \"&\", \"&\", \"<\", \"<\", \">\", \">\"];\n const map = decode ? decodeMap : encodeMap;\n\n let result = str;\n for (let i = 0; i < map.length; i += 2) {\n result = result.replace(new RegExp(map[i], \"g\"), map[i + 1]);\n }\n return result;\n };\n\n const finalData = {\n ...parsedData,\n publish_list: parsedData.publish_list.map((item: { publish_info: string; publish_type: number; }) => {\n const decoded = decodeEntities(item.publish_info, true);\n const parsedInfo = JSON.parse(decoded);\n return {\n publish_type: item.publish_type,\n publish_info: parsedInfo,\n };\n }),\n };\n\n return finalData;\n };\n\n async function fetchArticles(\n begin: number,\n pageSize: number,\n token: string | number,\n ): Promise<string> {\n return http.api<string>({\n method: \"get\",\n url: 'https://mp.weixin.qq.com/cgi-bin/appmsgpublish',\n params: {\n sub: \"list\",\n begin: begin,\n count: pageSize,\n token: token,\n lang: \"zh_CN\"\n }\n });\n }\n\n let size = onlySuccess ? 10 : pageSize > 20 ? 20 : pageSize;\n let begin = (lastPage ?? pageNum) - 1; // 转换为 0-based index\n let rawArticlesInfo = await fetchArticles(begin * size, size, token);\n let articlesInfo = ParsePublishPage(rawArticlesInfo);\n let articleCell: WeixinArticle[] = [];\n\n if (!onlySuccess && pageSize > 20) {\n let totalFetched = articlesInfo.publish_list.length;\n let nextPage = pageNum + 1;\n\n while (totalFetched < pageSize) {\n const remaining = pageSize - totalFetched;\n const currentPageSize = remaining > 20 ? 20 : remaining;\n\n let _rawArticlesInfo = await fetchArticles((nextPage - 1) * 20, currentPageSize, token);\n let parsed = ParsePublishPage(_rawArticlesInfo);\n\n articlesInfo.publish_list = articlesInfo.publish_list.concat(parsed.publish_list);\n totalFetched = articlesInfo.publish_list.length;\n\n if (parsed.publish_list.length < currentPageSize) break;\n nextPage++;\n }\n }\n\n let nextPage = false;\n if (onlySuccess) {\n let filteredList = articlesInfo.publish_list\n .filter((item) => item.publish_info.appmsg_info[0].content_url.indexOf(\"tempkey\") == -1)\n .map((item) => item.publish_info);\n\n if (cursor) {\n const cursorIndex = filteredList.findIndex((item) => item.msgid === cursor);\n if (cursorIndex !== -1) filteredList = filteredList.slice(cursorIndex + 1);\n }\n\n let totalFetched = filteredList.length;\n\n while (totalFetched < pageSize && begin * size < articlesInfo.total_count) {\n begin += 1; // 页数递增\n let nextRawArticlesInfo = await fetchArticles(begin * size, size, token);\n let nextArticlesInfo = ParsePublishPage(nextRawArticlesInfo);\n const newFiltered = nextArticlesInfo.publish_list\n .filter((item) => item.publish_info.appmsg_info[0].content_url.indexOf(\"tempkey\") == -1)\n .map((item) => item.publish_info);\n filteredList = filteredList.concat(newFiltered);\n totalFetched = filteredList.length;\n }\n\n filteredList = filteredList.slice(0, pageSize);\n totalFetched = filteredList.length;\n\n if (totalFetched >= pageSize && begin * size < articlesInfo.total_count) {\n let nextRawArticlesInfo = await fetchArticles((begin + 1) * size, size, token);\n let nextArticlesInfo = ParsePublishPage(nextRawArticlesInfo);\n nextPage = nextArticlesInfo.publish_list.length > 0 && nextArticlesInfo.publish_list.some((item) => item.publish_info.appmsg_info[0].content_url.indexOf(\"tempkey\") == -1);\n }\n\n const lastMsgId = filteredList.length > 0 ? filteredList[filteredList.length - 1].msgid : undefined;\n articleCell = filteredList.map((item) => ({\n title: item.appmsg_info[0].title,\n imageUrl: item.appmsg_info[0].cover,\n createTime: item.appmsg_info[0].line_info.send_time,\n redirectUrl: item.appmsg_info[0].content_url,\n readNum: item.appmsg_info[0].read_num,\n likeNum: item.appmsg_info[0].old_like_num,\n shareNum: item.appmsg_info[0].share_num,\n recommendNum: item.appmsg_info[0].like_num,\n ...(showOriginalData ? {originalData: item} : {}),\n }));\n\n return success(\n {\n articleCell,\n pagination: {\n nextPage,\n pageNum,\n pageSize,\n lastPage: begin + 1, // 返回当前页数\n cursor: lastMsgId, // 返回最后一条的 msgid\n }\n },\n \"微信文章文章获取成功\"\n );\n }\n\n articleCell = articlesInfo.publish_list.map((item) => ({\n title: item.publish_info.appmsg_info[0].title,\n imageUrl: item.publish_info.appmsg_info[0].cover,\n createTime: item.publish_info.appmsg_info[0].line_info.send_time,\n redirectUrl: item.publish_info.appmsg_info[0].content_url,\n readNum: item.publish_info.appmsg_info[0].read_num,\n likeNum: item.publish_info.appmsg_info[0].old_like_num,\n shareNum: item.publish_info.appmsg_info[0].share_num,\n recommendNum: item.publish_info.appmsg_info[0].like_num,\n ...(showOriginalData ? {originalData: item} : {}),\n }));\n return success(\n {\n articleCell,\n },\n \"微信文章文章获取成功\"\n );\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"微信文章数据获取失败\");\n }\n}\n","// @ts-ignore\nimport { success } from \"@iflyrpa/share\";\nimport { FetchArticlesResponse, errorResponse, BaijiahaoArticle } from \"./types\";\nimport { type FetchArticlesParams } from \".\"\nimport { Http } from \"../../utils/http\";\n\ninterface ArticleInfo {\n abstract: string;\n antispam_code: number;\n app_id: string;\n article_id: string;\n article_set_nids: string;\n audit_msg: string;\n authentication_type: string;\n auto_generate_id: string;\n bad_status: string;\n bjh_ext_info: string;\n bjh_video_finger_printing: string;\n call_slot: number;\n commit_at: string;\n content?: string;\n cover_images: string;\n cover_layout: string;\n created_at: string;\n creative_method: string;\n deleted_at: string;\n displaytype_exinfo: string;\n domain: string;\n dst_status: string;\n ext_info: string;\n feed_cat: string;\n feed_id: string;\n feed_id_from: number;\n feed_push_amount: number;\n feed_rs: string;\n feed_source_id: string;\n feed_sub_cat: string;\n file_name: string;\n first_exclusive_publish: number;\n first_storage_time: number;\n has_edited_times: number;\n is_authenticated: number;\n is_feed_import: number;\n is_good: number;\n is_pay: number;\n is_published: number;\n is_reported: number;\n is_transfer?: number;\n is_tagged: number;\n is_wx_spread: number;\n issue_status: number;\n midway_issue_status: number;\n mount_goods: number;\n mthvideo: number;\n news_mount: any[];\n nid: string;\n open_comment: number;\n open_front_page: number;\n origin_app_id: string;\n origin_id: string;\n origin_url: string;\n original_status: number;\n pay_money: number;\n platform_source: number;\n provider: string;\n publish_at: string;\n publish_time: string;\n publish_type: string;\n quality: number;\n quality_audit_type: string;\n quality_not_pass_reason: string;\n quality_status: string;\n res_slot: string;\n secure_not_pass_reason: string;\n secure_status: string;\n shoubai_c_articleid: string;\n smp_url: string;\n source_name: string;\n source_reprinted_allow: number;\n source_reprinted_astrict: string;\n source_type: string;\n status: string;\n sub_status_id: number;\n subtitle: string;\n tag: string;\n tag_detail: string;\n title: string;\n top_end: number;\n top_st: number;\n tp_id: string;\n transform_id: string;\n trigger_odyssey: number;\n type: string;\n updated_at: string;\n url: string;\n vertical_cover: string;\n video_sub_type: number;\n video_tag: string;\n weixin_import_type: number;\n id: string;\n goods_list: any[];\n certify_url: string;\n timer_time: number;\n similar_article_id: string;\n article_push_audit_res: number;\n withdraw_status: {\n withdraw_msg: string;\n has_withdraw_times: {\n news: number;\n };\n can_withdraw: number;\n };\n modify_status: {\n edit_msg: string;\n can_edit: number;\n };\n delete_status: {\n delete_msg: string;\n can_delete: number;\n };\n recover_status: {\n recover_msg: string;\n can_recover: number;\n };\n activity_list: any[];\n can_edit_goods: number;\n recomm_status: {\n can_recomm: number;\n };\n dxxFinalAuditResult: string;\n read_amount: number;\n read_num: number;\n forward_num: number;\n praise_num: number;\n comment_num: number;\n rec_amount: number;\n comment_amount: number;\n share_amount: number;\n like_amount: number;\n collection_amount: number;\n profit: number;\n is_rec: number;\n activity_ids: any[];\n solicit_info: {\n tag: string | null;\n point: string | null;\n inspire: string | null;\n };\n group_can_share: number;\n group_already_shared: number;\n show_selected_comment_option: number;\n show_ai_intro: number;\n flow_invest_status: number;\n flow_invest_msg: string;\n package_invest_status: number;\n can_only_modify_goods: number;\n audit_msg_color: string;\n audit_msg_icon: string;\n playlet_pay2free_switch: number;\n audit_type_v0: string;\n is_ridewind: string;\n is_show_adding: string;\n is_show_add_view: string;\n add_view_count: string;\n coupons_add_view_count: string;\n platform_add_view_count: string;\n rec_count: number;\n share_url: string;\n v_type: number;\n v_intro: string;\n duration: number | null;\n video_num: number;\n};\n\ntype ArticleApiResponse = {\n data: {\n list: ArticleInfo[];\n page: {\n currentPage: number;\n pageSize: number;\n totalCount: number;\n totalPage: number;\n };\n };\n\n};\n\nexport async function handleBaijiahaoData(params: FetchArticlesParams): Promise<FetchArticlesResponse> {\n try {\n const {\n cookies,\n token,\n pageNum = 1,\n pageSize = 10,\n showOriginalData = false,\n onlySuccess = false,\n } = params;\n\n if (!token) return { code: 200, message: \"缺少token\", data: null };\n const http = new Http({\n headers: {\n cookie: cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n token: token\n },\n });\n\n async function fetchArticles(\n pageNum: number,\n pageSize: number,\n onlySuccess: boolean = false\n ): Promise<ArticleApiResponse> {\n return await http.api<ArticleApiResponse>({\n method: \"get\",\n url: \"https://baijiahao.baidu.com/pcui/article/lists\",\n params: {\n currentPage: pageNum,\n pageSize: pageSize,\n search: \"\",\n type: \"\",\n collection: onlySuccess ? \"publish\" : \"\",\n clearBeforeFetch: false,\n dynamic: 1,\n },\n });\n };\n\n\n const articleInfo = await fetchArticles(pageNum, pageSize, onlySuccess);\n let filtered = articleInfo.data.list.filter(item => item.status !== \"draft\");\n const totalPage = articleInfo.data.page?.totalPage || 1;\n\n let currentPage = pageNum + 1;\n const usedPages = new Set<number>();\n while (filtered.length < pageSize && currentPage <= totalPage) {\n if (usedPages.has(currentPage)) {\n currentPage++;\n continue;\n }\n\n const res = await fetchArticles(currentPage, pageSize, onlySuccess);\n usedPages.add(currentPage);\n\n const validItems = res.data.list.filter(item => item.status !== \"draft\");\n filtered.push(...validItems);\n\n currentPage++;\n }\n\n // 截取前 pageSize 条返回\n const final = filtered.slice(0, pageSize);\n\n // 转换结构\n const articleCell: BaijiahaoArticle[] = final.map((item) => ({\n title: item?.is_transfer ?? false ? item.content|| \"\" : item.title ,\n imageUrl: JSON.parse(item.cover_images)[0]?.src || \"\",\n createTime: Math.floor(new Date(item.publish_at.replace(/-/g, \"/\")).getTime() / 1000),\n redirectUrl: item.url || item.share_url,\n recommendNum: item.rec_amount | item.forward_num,\n collectNum: item.collection_amount,\n readNum: item.read_amount | item.read_num,\n likeNum: item.like_amount | item.praise_num,\n commentNum: item.comment_amount | item.comment_num,\n shareNum: item.share_amount,\n ...(showOriginalData ? { originalData: item } : {}),\n }));\n\n return success(\n {\n articleCell,\n ...(onlySuccess ? {\n pagination: {\n total: articleInfo.data.page?.totalCount,\n pageNum,\n pageSize,\n }\n } : null),\n },\n \"百家号文章数据获取成功\"\n );\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"百家号文章数据获取失败\");\n }\n}\n","// @ts-ignore\nimport { success } from \"@iflyrpa/share\";\nimport { FetchArticlesResponse, errorResponse, XiaohongshuArticle } from \"./types\";\nimport { type FetchArticlesParams } from \".\"\nimport { Http } from \"../../utils/http\";\nimport { Xhshow } from \"../../utils/xhs_ob\";\n\ninterface Note {\n id: string;\n sticky: boolean;\n schedule_post_time: number;\n comments_count: number;\n tab_status: number;\n display_title: string;\n time: string;\n view_count: number;\n shared_count: number;\n images_list: {\n url: string;\n }[];\n permission_code: number;\n permission_msg: string;\n level: number;\n xsec_token: string;\n xsec_source: string;\n type: string;\n likes: number;\n collected_count: number;\n goods_info: {\n goods_name: string[];\n };\n}\ntype ArticleApiResponse = {\n data: {\n notes: Note[];\n page: number;\n tags: {\n notes_count: number;\n }[]\n }\n\n}\nexport async function handleXiaohongshuData(params: FetchArticlesParams): Promise<FetchArticlesResponse> {\n try{\n const {\n cookies,\n pageNum = 1,\n pageSize = 10,\n showOriginalData = false,\n onlySuccess = false,\n } = params;\n\n const xsEncrypt = new Xhshow();\n const a1Cookie = cookies.find((it) => it.name === \"a1\")?.value;\n if (!a1Cookie) return { code: 200, message: \"账号数据异常\", data: null };\n if (onlySuccess && pageSize != 10) return { code: 200, message: \"小红书pageSize不可修改\", data: null };\n const http = new Http({\n headers: {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n referer: \"https://creator.xiaohongshu.com\",\n origin: \"https://creator.xiaohongshu.com\",\n },\n });\n\n async function fetchArticles(\n pageNum: number,\n a1Cookie: string,\n onlySuccess: boolean = false\n ): Promise<ArticleApiResponse> {\n const xt = Date.now().toString();\n const serveUrl = `/web_api/sns/v5/creator/note/user/posted`;\n const serveParams = {\n tab: onlySuccess ? 1 : 0,\n page: pageNum - 1\n }\n const xs = xsEncrypt.signXsGet(serveUrl, a1Cookie, \"xhs-pc-web\" ,serveParams);\n return await http.api<ArticleApiResponse>({\n method: \"get\",\n baseURL: \"https://edith.xiaohongshu.com\",\n url: serveUrl,\n headers: { \"x-s\": xs, \"x-t\": xt },\n params: serveParams\n });\n };\n const articleInfo = await fetchArticles(pageNum, a1Cookie, onlySuccess)\n\n let hasNextpage = articleInfo.data.page != -1;\n let filtered = articleInfo.data.notes;\n let currentPage = pageNum + 1;\n const usedPages = new Set<number>();\n while (filtered.length < pageSize && hasNextpage) {\n if (usedPages.has(currentPage)) {\n currentPage++;\n continue;\n }\n\n const res = await fetchArticles(currentPage, a1Cookie, onlySuccess);\n usedPages.add(currentPage);\n\n const validItems = res.data.notes\n filtered.push(...validItems);\n\n currentPage++;\n hasNextpage = res.data.page != -1;\n }\n\n const final = filtered.slice(0, pageSize);\n const articleCell: XiaohongshuArticle[] = final.map((item) => ({\n title: item.display_title,\n imageUrl: item.images_list[0].url,\n createTime: Math.floor(new Date(item.time.replace(/-/g, \"/\")).getTime() / 1000),\n redirectUrl: `https://www.xiaohongshu.com/explore/${item.id}?xsec_token=${item.xsec_token}&xsec_source=pc_creatormng`,\n readNum: item.view_count,\n likeNum: item.likes,\n commentNum: item.comments_count,\n collectNum: item.collected_count,\n shareNum: item.shared_count,\n // articleStates: item.status,\n ...(showOriginalData ? { originalData: item } : {}),\n }));\n\n return success(\n {\n articleCell,\n ...(onlySuccess ? {\n pagination: {\n nextPage: hasNextpage,\n pageNum,\n pageSize,\n }\n } : null),\n },\n \"小红书文章数据获取成功\"\n );\n } catch (error) {\n return errorResponse(error instanceof Error ? error.message : \"小红书文章数据获取失败\");\n }\n\n}\n","// @ts-ignore\nimport { success, type CommonAction } from \"@iflyrpa/share\";\nimport { FetchArticlesData } from \"./types\";\nimport { handleToutiaoData } from \"./handleTTData\";\nimport { handleWeixinData } from \"./handleWXData\";\nimport { handleBaijiahaoData } from \"./handleBjhData\";\nimport { handleXiaohongshuData } from \"./handleXhsData\";\nimport type { ActiomCommonParams } from \"../../types\";\n\n// 请求参数接口\nexport interface FetchArticlesParams extends ActiomCommonParams {\n platform: string; // 社交平台:weixin, toutiao, baijiahao, xiaohongshu\n token?: string | number; // 微信和百家号需要\n pageNum?: number; // 当前页,默认1\n pageSize?: number; // 每页大小,默认10\n size?: number; // 获取前多少篇文章(不含草稿),默认获取全部\n onlySuccess?: boolean; // 是否仅获取发布成功的文章,默认false\n showOriginalData?: boolean; // 是否展示原始数据,默认false\n cursor?: number; // 仅用于微信分页游标,默认为空\n lastPage?: number;\n }\n\nexport const FetchArticles: CommonAction<FetchArticlesParams, FetchArticlesData | null> = async (_task, params) => {\n const { platform } = params;\n switch (platform) {\n case \"toutiao\":\n return handleToutiaoData(params);\n case \"weixin\":\n return handleWeixinData(params);\n case \"baijiahao\":\n return handleBaijiahaoData(params);\n case \"xiaohongshu\":\n return handleXiaohongshuData(params);\n default:\n return success(null, \"暂不支持该平台\");\n }\n};","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface GetWeixinConfigParams extends ActiomCommonParams {\n\ttoken: string | number;\n}\n\ninterface QuotaDetail {\n\toriginal_quota: number;\n\tquota: number;\n\tstr_date: string;\n}\n\ninterface QuotaDetailResponse {\n\tbase_resp: { err_msg: string ,ret: number },\n\tquota_detail_list: { quota_item_list: QuotaDetail, quota_type: string }[];\n}\n\n\nexport interface ConfigData {\n\tpublishQuota: QuotaDetail[];\n}\n\nexport type PublishAction = CommonAction<GetWeixinConfigParams, ConfigData>;\n\nexport const getWeixinConfig: PublishAction = async (_task, params) => {\n\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\")\n\t\t},\n\t});\n const fingerprint = \"4695500bc93ab4ce8fb2692da6564e04\";\n\n\tconst res = await http.api<QuotaDetailResponse>({\n\t\tmethod: \"get\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssendpage\",\n\t\tparams: {\n\t\t\tf: 'json',\n\t\t\ttoken: params.token,\n\t\t\tlang: 'zh_CN',\n\t\t\tajax: 1,\n\t\t\tfingerprint: fingerprint,\n\t\t\trandom: Math.random().toString(),\n\t\t},\n\t});\n\tconst filtered = {\n\t\tpublishQuota : res.base_resp.ret === 0? res.quota_detail_list\n\t\t.filter(item => item.quota_type === \"kQuotaTypeMassSendNormal\")\n\t\t.map(item => item.quota_item_list): [],\n\t}\n\treturn success(filtered, res.base_resp.ret === 0 ? \"微信配置信息获取成功!\" : \"微信配置信息获取失败!\");\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface GetWeixinCollectionParams extends ActiomCommonParams {\n\ttoken: string | number;\n}\n\nexport interface CollectDetailResponse {\n\tbase_resp: { err_msg: string ,ret: number },\n\tlist_resp: { items: CollectDetail[]; total: number; };\n}\n\nexport interface CollectDetail { \n continous_read_on: number;\n cover_url: string;\n create_time: number;\n id: string;\n is_ban: number;\n is_updating: number;\n need_pay: number;\n title: string;\n total: number;\n type: number;\n update_time: number;\n url: string;\n uv: number;\n}\n\nexport type PublishAction = CommonAction<GetWeixinCollectionParams, CollectDetail[]>;\n\nexport const getWeixinCollection: PublishAction = async (_task, params) => {\n\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\")\n\t\t},\n\t});\n const fingerprint = \"4695500bc93ab4ce8fb2692da6564e04\";\n\n\tconst res = await http.api<CollectDetailResponse>({\n\t\tmethod: \"get\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/appmsgalbummgr\",\n\t\tparams: {\n action: 'list',\n begin: 0,\n count: 100,\n sub_title:'',\n type: 0,\n latest: 1,\n need_pay: 0,\n fingerprint,\n token: params.token,\n lang: 'zh_CN',\n f: 'json',\n ajax: 1\n\t\t},\n\t});\n\n\treturn success(res.list_resp.items, res.base_resp.ret === 0 ? \"微信合计信息获取成功!\" : \"微信合集信息获取失败!\");\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface CollectionResponse {\n success: boolean;\n result: number;\n data: {\n userDetail:{\n id: string;\n nickname: string;\n url: string;\n }\n collections: CollectionDetail[]\n };\n}\n\nexport interface CollectionDetail {\n id: string;\n name: string;\n desc: string;\n userId: string;\n noteNum: number;\n viewNum: number;\n cursor: string;\n enabled: boolean;\n status: number;\n createTime: number;\n unreadCount: number;\n coverImage: null,\n deeplink: string;\n}\n\nexport type PublishAction = CommonAction<ActiomCommonParams, CollectionDetail[]>;\n\nexport const getXhsCollection: PublishAction = async (_task, params) => {\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://creator.xiaohongshu.com\",\n\t\t\torigin: \"https://creator.xiaohongshu.com\",\n\t\t},\n\t});\n\n\ttry {\n\t\tconst res = await http.api<CollectionResponse>({\n\t\t\tmethod: \"get\",\n\t\t\turl: \"https://creator.xiaohongshu.com/api/galaxy/user/my-info\",\n\t\t});\n\n\t\treturn success(res.result === 0 ? res.data.collections : [],\"合集信息获取\" + (res.result === 0 ? \"成功!\": `失败!`));\n\t} catch (error) {\n\t\treturn success([]);\n\t}\n};\n","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\nimport FormData from \"form-data\";\nimport { Http } from \"../../utils/http\"\n\nimport type { PublishAction } from \".\";\nimport type { Toutiao } from \"../../types\";\n\nexport const mockAction: PublishAction = async (task, params) => {\n\tconst tmpCachePath = task.getTmpPath();\n\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\torigin: \"https://mp.toutiao.com\",\n\t\t\treferer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n\t\t},\n\t});\n\n\t// 0. 校验登录\n\tconst userInfoRes = await http.api<{ code: number }>({\n method: \"get\",\n url: \"https://mp.toutiao.com/mp/agw/creator_center/user_info\",\n });\n\n\tif (userInfoRes.code !== 0) {\n return { code: 0, message: \"登录失效\", data: userInfoRes };\n\t}\n\n\t// 1. 上传图片\n\tconst imageList: string[] = [];\n\tif (params.banners && params.banners.length > 0) {\n\t\tconst images = await Promise.all(\n\t\t\tparams.banners.map((url) => {\n\t\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t\t}),\n\t\t);\n\n\t\tconst res = await Promise.all(\n\t\t\timages.map(async (it) => {\n\t\t\t\tconst formData = new FormData();\n\t\t\t\tformData.append(\"image\", fs.createReadStream(it));\n\n\t\t\t\tconst response = await http.api<{ data: Toutiao.ImageData }>({\n\t\t\t\t\tmethod: \"post\",\n\t\t\t\t\turl: \"https://mp.toutiao.com/spice/image?upload_source=20020003&aid=1231&device_platform=web\",\n\t\t\t\t\tdata: formData,\n\t\t\t\t});\n\n\t\t\t\treturn response.data;\n\t\t\t}),\n\t\t);\n\n\t\timageList.push(...res.map((it) => it.image_uri));\n\t}\n\n\t// 2. 构造发布数据\n\tconst extra = {\n\t\tadd_music_to_article_flag: \"0\", // 开启配乐\n\t\tclaim_exclusive: \"0\", // 原创&首发声明\n\t\ttuwen_wtt_trans_flag: \"0\",\n\t\tinfo_source: JSON.stringify({\n\t\t\tsource_type: 5,\n\t\t\tsource_author_uid: \"\",\n\t\t\ttime_format: \"\",\n\t\t\tposition: {},\n\t\t}),\n\t\tugc_position: JSON.stringify({\n\t\t\taddress: \"\",\n\t\t\tposition: \"合肥市\",\n\t\t\tcity: \"合肥市\",\n\t\t\tlongitude: 117.227289,\n\t\t\tlatitude: 31.82057,\n\t\t\tpoi_type_code: \"190104\",\n\t\t\tpoi_id: \"22535659123306003\",\n\t\t}),\n\t};\n\n\tconst syncData = {\n\t\tcontent: params.content, // 正文,\n\t\timage_list: imageList, // 图片列表\n\t\tis_fans_article: 2,\n\t\tpre_upload: 1,\n\t\twelfare_card: \"\",\n\t\textra: JSON.stringify(extra),\n\t};\n\n const res = await http.api<any>({\n method: \"post\",\n url: \"https://mp.toutiao.com/mp/agw/article/wtt\",\n data: syncData,\n });\n\n return success(res.data)\n};\n","import path from \"node:path\";\nimport type { CookieMap } from \"@iflyrpa/share\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\n\nimport type { PublishAction } from \"./index\";\n\nexport const rpaAction: PublishAction = async (task, params) => {\n\tconst commonCookies: CookieMap[number] = {\n\t\tpath: \"/\",\n\t\tsecure: true,\n\t\tdomain: \"mp.toutiao.com\",\n\t\turl: \"https://mp.toutiao.com\",\n\t\thttpOnly: true,\n\t};\n\n\tconst page = await task.createPage({\n\t\tshow: task.debug,\n\t\turl: params.url || \"https://mp.toutiao.com/profile_v4/weitoutiao/publish\",\n\t\tcookies: params.cookies?.map((it) => ({ ...commonCookies, ...it })) || [],\n\t});\n\n\tconst tmpCachePath = task.getTmpPath();\n\n\t// 0. 判断是否登录\n\ttry {\n\t\tawait page.waitForSelector(\".publish-box\");\n\t} catch (error) {\n\t\treturn { code: 0, message: \"登录失效\", data: page.url() };\n\t}\n\n\t// 1. 添加正文\n\tconst descInstance = page.locator(\".syl-editor .ProseMirror\");\n\tawait descInstance.click();\n\tawait descInstance.fill(params.content);\n\n\t// 2. 添加图片\n\tif (params.banners && params.banners?.length > 0) {\n\t\tconst images = await Promise.all(\n\t\t\tparams.banners.map((url) => {\n\t\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t\t}),\n\t\t);\n\n\t\tconst fileChooserPromise = page.waitForEvent(\"filechooser\");\n\t\tawait page.locator(\".toolbar .syl-toolbar-tool.weitoutiao-image-plugin\").click();\n\t\tawait page.locator(\".byte-drawer.mp-ic-img-drawer button.byte-btn\").filter({ hasText: \"本地上传\" }).click();\n\t\tconst fileChooser = await fileChooserPromise;\n\t\tawait fileChooser.setFiles(images);\n\n\t\tawait page.locator(\".byte-drawer.mp-ic-img-drawer .footer button.byte-btn\").filter({ hasText: \"确定\" }).click();\n\t}\n\n\t// 滚动到底部\n\tawait page.mouse.wheel(0, 500); // 向下滚动 500 像素\n\n\t// 3. 添加位置\n\tif (params.address) {\n\t\tconst addressFormItem = page.locator(\".img-form-wrap .form-item-wrap .form-item\").filter({ hasText: \"添加位置\" });\n\t\tawait addressFormItem.locator(\".byte-select\").click();\n\t\tawait addressFormItem.locator(\".byte-select-view-search input\").fill(params.address);\n\t\tconst poperInstance = page.locator(\".byte-trigger .byte-select-popup .byte-select-option\");\n\t\tawait poperInstance.first().waitFor();\n\t\tawait poperInstance.first().click();\n\t}\n\n\t// 4. 作品声明\n\tif (params.declaration) {\n\t\tconst declarationFormItem = page\n\t\t\t.locator(\".img-form-wrap .form-item-wrap .form-item\")\n\t\t\t.filter({ hasText: \"作品声明\" })\n\t\t\t.locator(\".source-info-wrap\");\n\t\tawait declarationFormItem.locator(`.byte-checkbox:has(input[value=\"${params.declaration}\"])`).click();\n\t}\n\n\t// 5. 发布\n\tawait page.locator(\".footer-wrap button.publish-content\").click();\n\n\treturn success(\"\");\n};\n","import type { CommonAction } from \"@iflyrpa/share\";\n\nimport type { ActiomCommonParams } from \"../../types\";\nimport { executeAction } from \"../../utils\";\nimport { mockAction } from \"./mock\";\nimport { rpaAction } from \"./rpa\";\n\n/**\n * 作品声明\n * 1:引用站内\n * 3:引用AI\n * 4:取材网络\n * 5:个人观点,仅供参考\n * 6:虚构演绎,故事经历\n * 7:投资观点,仅供参考\n * 8:健康医疗分享,仅供参考\n */\ntype DeclarationType = 1 | 3 | 4 | 5 | 6 | 7 | 8;\n\nexport interface WeitoutiaoPublishParams extends ActiomCommonParams {\n\tcontent: string;\n\tbanners?: string[];\n\taddress?: string;\n\tdeclaration?: DeclarationType;\n}\n\nexport type PublishAction = CommonAction<WeitoutiaoPublishParams>;\n\nexport const weitoutiaoPublish: PublishAction = async (task, params) => {\n\tif (params.actionType === \"rpa\") {\n\t\treturn rpaAction(task, params);\n\t}\n\n\tif (params.actionType === \"mockApi\") {\n\t\treturn mockAction(task, params);\n\t}\n\n\treturn executeAction(mockAction, rpaAction)(task, params);\n};\n","export const scanRetryMaxCount = 30;\n\nexport const QuotaType = {\n\tNormal: \"kQuotaTypeMassSendNormal\",\n\tProductActivity: \"kQuotaTypeMassSendProductActivity\",\n};\n\nexport interface QuotaItem {\n\toriginal_quota: number;\n\tquota: number;\n\tstr_date: string;\n}\n\nexport interface QuotaDetail {\n\tquota_item_list: QuotaItem[];\n\tquota_type: string;\n}\n\n\n/**\n * 生成微信话题 HTML 代码\n * @param topics - 话题数组\n * @returns 生成的 HTML 字符串\n */\nexport function genTopicHTML(topics: string[]): string {\n if (!topics || topics.length === 0) return \"\";\n const rn = (): string => {\n const O = Date.now().toString(36);\n const B = Math.random().toString(36).substring(2, 8);\n return `${O}-${B}`;\n };\n const aTags = topics\n .map(topic => {\n return `<a class=\"wx_topic_link\" topic-id=\"${rn()}\" style=\"color: #576B95 !important;\" data-topic=\"1\">#${topic}</a>`;\n })\n .join(\" \");\n\n return `<p style=\"line-height: 1.75;margin: 0px 0px 24px;padding: 0px;\" data-bothblock=\"0px\"><span leaf=\"\">${aTags}</span></p>`;\n}\n","import fs, { write } from \"node:fs\";\n// import https from \"node:https\";\nimport path from \"node:path\";\nimport { type ResponseData, downloadImage, getFilenameFromUrl, randomString, sleep, success } from \"@iflyrpa/share\";\nimport FormData from \"form-data\";\nimport { extractImgTag, getFileState, replaceImgSrc } from \"../../utils\";\nimport { Http } from \"../../utils/http\";\nimport type { PublishAction, WeixinPublishParams , WxWhitelistUserInfo, WxInteraction} from \"./index\";\nimport { type QuotaDetail, QuotaType, scanRetryMaxCount, genTopicHTML } from \"./utils\";\n\ntype CommonResponse<T = unknown> = T & {\n\tbase_resp?: { err_msg: string; ret: number };\n};\n\nconst GET_QRCODE_DEFAULT_ERROR = \"二维码获取异常,请稍后重试。\";\n\nconst errnoMap: Record<number|string, string> = {\n\t200003: \"微信公众号号登录状态失效,请重新绑定账号后重试。\",\n\t420001: \"封面图不支持GIF,请更换后重试。\",\n\t200002: \"上传图片参数错误,请检查后重试。\",\n\t200039: \"上传图片高度(像素)与宽度(像素)的乘积不能超过600万,请更换后重试。\",\n\t153201: \"不支持发布审核中或转码中的视频\",\n\t200007: \"登陆失败,请重新登陆账户后重试。\",\n\t64703: \"摘要超出120字长度限制,请修改摘要后重试。\",\n\t\"-4\": \"不支持发布审核中或转码中的视频\",\n\t\"-2\": \"不支持发布审核中或转码中的视频\",\n \"-1\" :\"系统错误,请注意备份内容后重试\",\n\t770001: \"不支持发布审核中或转码中的视频\",\n\t200074: \"系统繁忙,请稍后重试!\",\n\t64702: \"标题超出64字长度限制,请修改标题后重试。\",\n 64552: \"请检查阅读原文中的链接后重试。\"\n};\n\n// 不需要直接抛出的异常码,如 154019\nconst ignoreErrno = [\n 154019,\n 154011, // 原创校验中\n 154008, // 原创校验不通过\n 154009, // 原创校验通过 \n];\n\n// 用户互动类型表\nconst userTypeMap: Record<string, 1 | 2 | 3> = {\n\t\"所有用户\": 1,\n\t\"已关注的用户\": 2,\n\t\"已关注7天及以上的用户\": 3,\n };\n\nconst generatorFormData = (data: Record<string, unknown>) => {\n\tconst formData = new URLSearchParams();\n\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tformData.append(key, String(value));\n\t}\n\n\treturn formData.toString();\n};\n\nexport const checkCopyrightStat = async <T>(http: Http, params: WeixinPublishParams, data: Record<string, unknown>) => {\n\tlet resData: T;\n\n\ttry {\n\t\tresData = await http.api({\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssend\",\n\t\t\tparams: {\n\t\t\t\taction: \"get_appmsg_copyright_stat\",\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t},\n\t\t\tdata: generatorFormData(data),\n\t\t});\n\t} catch (error) {\n\t\tresData = (error as ResponseData)?.data;\n\t}\n\n\treturn resData;\n};\n\nexport const mockAction: PublishAction = async (task, params) => {\n\tconst fingerprint = \"4695500bc93ab4ce8fb2692da6564e04\";\n\tconst client_time_diff = Number(\"1743488763\") * 1 - Math.floor(new Date().getTime() / 1000);\n\n\tconst tmpCachePath = task.getTmpPath();\n const headers = {\n \"User-Agent\":\n \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0\",\n Cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n origin: \"https://mp.weixin.qq.com\",\n referer: `https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit&action=edit&isNew=1&type=77&createType=0&token=${params.token}&lang=zh_CN×tamp=${Date.now()}`,\n }\n\tconst http = new Http({ headers\n\t\t// 接口代理,特意保留,作为测试使用\n\t\t// httpsAgent: new https.Agent({\n\t\t// \trejectUnauthorized: false,\n\t\t// \thost: \"127.0.0.1\",\n\t\t// \tport: 9000,\n\t\t// }),\n\t});\n\n\t// 添加响应拦截器\n\thttp.addResponseInterceptor<CommonResponse>((response) => {\n\t\tconst responseData = response.data;\n\t\tconst msgType = params.saveType === \"draft\" ? \"同步\" : \"发布\";\n\n\t\t// 检查响应中的 errno 字段\n\t\tif (\n\t\t\tresponseData?.base_resp &&\n\t\t\tresponseData.base_resp.ret !== 0 &&\n\t\t\t!ignoreErrno.includes(responseData.base_resp.ret)\n\t\t) {\n\t\t\tconst errmsg =\n\t\t\t\terrnoMap[responseData.base_resp.ret] ||\n\t\t\t\tresponse.config.defaultErrorMsg ||\n\t\t\t\tresponseData.base_resp.err_msg ||\n\t\t\t\t`文章${msgType}异常,请稍后重试。`;\n\n\t\t\treturn {\n\t\t\t\tcode: errnoMap[responseData.base_resp.ret] ? 200 : 500,\n\t\t\t\tmessage: errmsg,\n\t\t\t\tdata: responseData,\n\t\t\t};\n\t\t}\n\t});\n\n\t// 0. 校验登录\n\tawait http.api({\n\t\tmethod: \"get\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/appmsgpublish\",\n\t\tparams: {\n\t\t\tfingerprint,\n\t\t\tsub: \"list\",\n\t\t\tbegin: 0,\n\t\t\tcount: 10,\n\t\t\tquery: \"\",\n\t\t\ttype: 101_1_102_103,\n\t\t\tshow_type: \"\",\n\t\t\tfree_publish_type: 1_102_103,\n\t\t\tsub_action: \"list_ex\",\n\t\t\tsearch_card: 0,\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\tf: \"json\",\n\t\t\tajax: 1,\n\t\t},\n\t});\n\n\t// 1. 提取并上传正文中的图片\n\tconst uploadImages = async (images: string[]) => {\n\t\tconst cloudImages: Array<{ cdn_url: string; content: string }> = [];\n\n\t\t// 下载图片到本地\n\t\tconst localImages = await Promise.all(\n\t\t\timages.map((url) => {\n\t\t\t\tlet fileName = getFilenameFromUrl(url);\n let ext = path.extname(fileName);\n fileName = ext ? fileName : `${fileName}.png`\n\t\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t\t}),\n\t\t);\n\n\t\tfor (let index = 0; index < images.length; index++) {\n\t\t\tconst image = localImages[index];\n\t\t\tconst fileState = getFileState(image);\n\n\t\t\tconst formData = new FormData();\n\t\t\tformData.append(\"id\", `WU_FILE_${index + 1}`);\n\t\t\tformData.append(\"name\", fileState.name);\n\t\t\tformData.append(\"type\", fileState.type);\n\t\t\tformData.append(\"lastModifiedDate\", fileState.lastModifiedDate);\n\t\t\tformData.append(\"size\", fileState.size);\n\t\t\tformData.append(\"file\", fs.createReadStream(image));\n\n\t\t\tconst response = await http.api<(typeof cloudImages)[0]>({\n\t\t\t\tmethod: \"post\",\n\t\t\t\turl: `https://mp.weixin.qq.com/cgi-bin/filetransfer?action=upload_material&f=json&writetype=doublewrite&token=${params.token}&lang=zh_CN`,\n\t\t\t\tdata: formData,\n\t\t\t\tdefaultErrorMsg: \"图片上传异常,请稍后重试发布。\",\n\t\t\t});\n\n\t\t\tcloudImages.push(response);\n\t\t}\n\n\t\treturn cloudImages;\n\t};\n\n\tconst originContentImages = extractImgTag(params.content);\n\tconst targetContentImages = await uploadImages(originContentImages);\n\t// 2. 替换正文中的图片\n const content = replaceImgSrc(params.settingInfo.wxTopic && params.settingInfo.wxTopic.length > 0 ? params.content + genTopicHTML(params.settingInfo.wxTopic) : params.content, (dom) => {\n if (dom.attribs.src) {\n const idx = originContentImages.findIndex((it) => it === dom.attribs.src);\n dom.attribs.src = targetContentImages[idx].cdn_url;\n dom.attribs.class = \"rich_pass wxw-img js_insertlocalimg\";\n dom.attribs.style = \"\";\n }\n return dom;\n\t});\n\n\t// 3. 上传封面图片\n\tconst coverRes = await uploadImages([params.settingInfo.wxCover]);\n\n\t// 4. 原创声明白名单有效性判断与生成转载白名单\n\tlet oriWhitelist = null;\n\n\tif (params.settingInfo?.wxCopyright && params.settingInfo?.wxWhitelist) {\n\t\tconst _oriWhitelist = params.settingInfo.wxWhitelist;\n\n\t\tif (_oriWhitelist && _oriWhitelist.length > 0) {\n\t\t\tconst white_list = [];\n\n\t\t\tconst white_list_user = {\n\t\t\t\tnickname: \"\",\n\t\t\t\ttitle: \"可修改文章\",\n\t\t\t\topenid: \"\",\n\t\t\t\twx_name: \"\",\n\t\t\t\tusername: \"\",\n\t\t\t\tavatar: \"\",\n\t\t\t\tcan_modify: \"1\",\n\t\t\t\tcan_hide_source: \"0\",\n\t\t\t\tcan_reward: \"0\",\n\t\t\t};\n\n\t\t\tfor (const _user of _oriWhitelist) {\n\t\t\t\tconst userInfo_res = await http.api<{ search_list: WxWhitelistUserInfo[] }>({\n\t\t\t\t\tmethod: \"post\",\n\t\t\t\t\turl: \"https://mp.weixin.qq.com/cgi-bin/appmsgcopyright?action=searchacct\",\n\t\t\t\t\tparams: {\n\t\t\t\t\t\taction: \"searchacct\",\n\t\t\t\t\t},\n\t\t\t\t\tdata: generatorFormData({\n\t\t\t\t\t\tlang: \"zh_CN\",\n\t\t\t\t\t\tf: \"json\",\n\t\t\t\t\t\tajax: 1,\n\t\t\t\t\t\ttoken: params.token,\n\t\t\t\t\t\trandom: Math.random().toString(),\n\t\t\t\t\t\tusername: _user,\n\t\t\t\t\t}),\n\t\t\t\t\tdefaultErrorMsg: \"搜索用户信息失败\",\n\t\t\t\t});\n\n\t\t\t\tif(userInfo_res.search_list.length>0){\n\t\t\t\t\tlet userInfo_resJson = userInfo_res.search_list[0];\n\t\t\t\t\twhite_list_user.nickname = userInfo_resJson.nickname;\n\t\t\t\t\twhite_list_user.openid = userInfo_resJson.openid;\n\t\t\t\t\twhite_list_user.avatar = userInfo_resJson.pic_url;\n\t\t\t\t\twhite_list_user.username = userInfo_resJson.username;\n\t\t\t\t\twhite_list_user.wx_name = userInfo_resJson.wx_name;\n\t\t\t\t\twhite_list.push({ ...white_list_user });\n\t\t\t\t}else{\n\t\t\t\t\treturn { code: 200, message: `白名单用户:${_user} 未搜索到,请确定输入是否正确!`, data: '' }\n\t\t\t\t}\n\t\t\t}\n\t\t\toriWhitelist = white_list.length > 0 ? JSON.stringify({ \"white_list\" : white_list }) : \"\";\n\t\t}\n\t}\n\n\t// 5. 赞赏设置\n\tlet writerid = null;\n\tlet reply_id = null\n\tif (params.settingInfo.wxCopyright && params.settingInfo.wxRewardTarget){\n\t\tasync function getWriterList() {\n\t\t\tconst res = await http.api({\n\t\t\t method: \"get\",\n\t\t\t url: 'https://mp.weixin.qq.com/acct/writermgr',\n\t\t\t params: {\n\t\t\t\taction: 'get_writer_list',\n\t\t\t\tfingerprint,\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\tf: \"json\",\n\t\t\t\tajax: 1,\n\t\t\t }\n\t\t\t});\n\n\t\t\treturn res.pageinfo.writerlist || [];\n\t\t }\n\n\t\t async function getRewardText(): Promise<{ text: string , reply_id: string}[]> {\n\t\t\tconst res = await http.api({\n\t\t\t\tmethod: \"get\",\n\t\t\t\turl: 'https://mp.weixin.qq.com/merchant/reward',\n\t\t\t\tparams: {\n\t\t\t\taction: 'getautoreply',\n\t\t\t\tfingerprint,\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\tf: \"json\",\n\t\t\t\tajax: 1,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn res.reply_infos;\n\t\t}\n\n\t\t//遍历绑定信息\n\t\tfor (var _type in params.settingInfo.wxRewardTarget){\n\t\t\tif (_type === \"author\"){\n\n\t\t\t\tif( (await getWriterList()).length == 0){\n\t\t\t\t\t// 获取二维码等待用户绑定\n\t\t\t\t\tconst rewardbind = await http.api({\n\t\t\t\t\t\tmethod: \"get\",\n\t\t\t\t\t\turl: \"https://mp.weixin.qq.com/acct/writermgr\",\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\taction: \"get_rewardbind_qrcode\",\n\t\t\t\t\t\t\trandom: Math.random().toString(),\n\t\t\t\t\t\t\tfingerprint,\n\t\t\t\t\t\t\ttoken: params.token,\n\t\t\t\t\t\t\tlang: \"zh_CN\",\n\t\t\t\t\t\t\tf: \"json\",\n\t\t\t\t\t\t\tajax: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefaultErrorMsg: GET_QRCODE_DEFAULT_ERROR,\n\t\t\t\t\t});\n\n\t\t\t\t\tconst rewardBuffer = Buffer.from(rewardbind.qrcode_base64, 'base64');\n\t\t\t\t\tconst rewardFilePath = path.join(tmpCachePath, \"weixin_reward.jpg\");\n\t\t\t\t\tfs.writeFileSync(rewardFilePath, new Uint8Array(rewardBuffer));\n\n\t\t\t\t\tparams.safeQrcodeCallback?.(rewardFilePath);\n\n\t\t\t\t\tconst task_id = rewardbind.task_id\n\n\t\t\t\t\tlet code = null\n\n\t\t\t\t\tfor (let i = 0; i < scanRetryMaxCount; i++) {\n\t\t\t\t\t\tawait sleep(2000);\n\n\t\t\t\t\t\tconst checkScanResult = await http.api<{ qrcode_status: number; }>({\n\t\t\t\t\t\t\tmethod: \"get\",\n\t\t\t\t\t\t\turl: \"https://mp.weixin.qq.com/acct/writermgr\",\n\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\taction: \"query_rewardbind_qrcode_status\",\n\t\t\t\t\t\t\t\ttask_id: task_id,\n\t\t\t\t\t\t\t\tfingerprint,\n\t\t\t\t\t\t\t\tlang: \"zh_CN\",\n\t\t\t\t\t\t\t\tf: \"json\",\n\t\t\t\t\t\t\t\tajax: 1,\n\t\t\t\t\t\t\t\ttoken: params.token,\n\t\t\t\t\t\t\t\ttimespam: Date.now(),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tcode = checkScanResult.qrcode_status\n\n\t\t\t\t\t\tif ( code == 2 && (await getWriterList()).length > 0 ) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (i === scanRetryMaxCount - 1) {\n\t\t\t\t\t\t\treturn { code: 200, message: \"二维码已过期,请重试绑定。\", data: \"\" };\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\t// 判断为赞赏作者\n\t\t\t\tlet _writer = await getWriterList()\n\t\t\t\tfor (var _writer_item of _writer){\n\t\t\t\t\tif (_writer_item.nickname === params.settingInfo.wxRewardTarget[_type]){\n\t\t\t\t\t\twriterid = _writer_item.writerid\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!writerid){\n\t\t\t\t\t// 没找到作者id\n\t\t\t\t\treturn { code: 200, message: \"未匹配到赞赏绑定用户,请确认用户名与绑定是否正常!\", data: \"\" };\n\t\t\t\t}\n\n\t\t\t\tif (params.settingInfo?.wxRewardText){\n\t\t\t\t\t// 判断文案是否已添加\n\t\t\t\t\tlet rewardList = await getRewardText()\n\n\t\t\t\t\tlet matchdID = rewardList.find(\n\t\t\t\t\t\treward => reward.text === params.settingInfo.wxRewardText\n\t\t\t\t\t)?.reply_id ?? null;\n\n\t\t\t\t\tif (rewardList.length == 0 || !matchdID ){\n\t\t\t\t\t\tawait http.api({\n\t\t\t\t\t\t\tmethod: \"post\",\n\t\t\t\t\t\t\turl: 'https://mp.weixin.qq.com/merchant/reward',\n\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t \taction: 'addautoreply',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdata: generatorFormData({\n\t\t\t\t\t\t\t\ttype: 1,\n\t\t\t\t\t\t\t\tfingerprint,\n\t\t\t\t\t\t\t\ttoken: params.token,\n\t\t\t\t\t\t\t\tlang: \"zh_CN\",\n\t\t\t\t\t\t\t\tf: \"json\",\n\t\t\t\t\t\t\t\tajax: 1,\n\t\t\t\t\t\t\t\ttext: params.settingInfo.wxRewardText\n\t\t\t\t\t\t })\n\t\t\t\t\t\t});\n\t\t\t\t\t}else{\n\t\t\t\t\t\treply_id = matchdID\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!matchdID) {\n\t\t\t\t\t\tfor (var _reply_item of (await getRewardText())){\n\t\t\t\t\t\t\treply_id = (await getRewardText()).find(\n\t\t\t\t\t\t\t\treward => reward.text === params.settingInfo.wxRewardText\n\t\t\t\t\t\t\t)?.reply_id ;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!reply_id) {\n\t\t\t\t\t\t\treturn {code:200, message:\"赞赏文案添加失败,请重新检查\", data:\"\"}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}else if(_type === \"project\"){\n\t\t\t\t// 判断为公益捐赠\n\t\t\t}\n\t\t}\n\n\t}\n\t// 留言设置\n\tconst wxInteractionInfo = (() => {\n\t\tconst _wxInteraction = {\n\t\t\tneed_open_comment0: 0,\n\t\t\tonly_fans_can_comment0: 0,\n\t\t\tonly_fans_days_can_comment0: 0,\n\t\t\treply_flag0: 2,\n\t\t\tauto_elect_comment0: 0,\n\t\t\tauto_elect_reply0: 1,\n\t\t\topen_fansmsg0: 0\n\t\t};\n\n\t\tconst type = params?.settingInfo?.wxInteraction?.Type ?? \"\";\n\t\tif (type === \"public\") {\n\t\t\tconst _opt = params?.settingInfo?.wxInteraction?.Option;\n\t\t\tif (!_opt || !_opt.Comment || !_opt.reply || _opt.elect_comment == null || _opt.elect_reply == null) return null;\n\n\t\t\tconst commentType = userTypeMap[_opt.Comment];\n\t\t\tconst replyType = userTypeMap[_opt.reply] + 1;\n\n\t\t\t// 设置评论权限\n\t\t\t_wxInteraction.need_open_comment0 = 1;\n\t\t\tswitch (commentType) {\n\t\t\t\tcase 1:\n\t\t\t\t\t_wxInteraction.only_fans_can_comment0 = 0;\n\t\t\t\t\t_wxInteraction.only_fans_days_can_comment0 = 0;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\t_wxInteraction.only_fans_can_comment0 = 1;\n\t\t\t\t\t_wxInteraction.only_fans_days_can_comment0 = 0;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\t_wxInteraction.only_fans_can_comment0 = 0;\n\t\t\t\t\t_wxInteraction.only_fans_days_can_comment0 = 1;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// 设置回复权限等级\n\t\t\t_wxInteraction.reply_flag0 = replyType;\n\n\t\t\t// 精选功能\n\t\t\t_wxInteraction.auto_elect_comment0 = _opt.elect_comment ? userTypeMap[_opt.Comment] : 0;\n\t\t\t_wxInteraction.auto_elect_reply0 = _opt.elect_reply ? userTypeMap[_opt.reply] : 1;\n\n\t\t\treturn _wxInteraction;\n\t\t}\n\n\t\tif (type === \"private\") {\n\t\t\t_wxInteraction.open_fansmsg0 = 1;\n\t\t\treturn _wxInteraction;\n\t\t}\n\n\t\t// 其他未启用评论功能的情形\n\t\treturn _wxInteraction;\n\t})();\n\n\tif (!wxInteractionInfo) return { code: 200, message: \"互动参数设置错误,请检查参数设置!\", data: \"\" }\n\n\n\t// 4. 保存为草稿\n\tconst draftData = {\n\t\tlang: \"zh_CN\",\n\t\tf: \"json\",\n\t\tajax: 1,\n\t\tcount: 1,\n\t\toperate_from: \"Chrome\",\n\t\tisnew: 0,\n\t\tarticlenum: 1,\n\t\tpre_timesend_set: 0,\n\t\tis_finder_video0: 0,\n\t\tfinder_draft_id0: 0,\n\t\tapplyori0: 0,\n\t\tcan_reward0: writerid ? 1 : 0,\n\t\tpay_gifts_count0: 0,\n\t\tis_video_recommend0: -1,\n\t\twriterid0: writerid ? writerid : 0,\n\t\tauto_gen_digest0: 0,\n\t\tlast_choose_cover_from0: 0,\n\t\tneed_open_comment0: wxInteractionInfo.need_open_comment0 ,\n\t\tonly_fans_can_comment0: wxInteractionInfo.only_fans_can_comment0,\n\t\tonly_fans_days_can_comment0: wxInteractionInfo.only_fans_days_can_comment0,\n\t\treply_flag0: wxInteractionInfo.reply_flag0,\n\t\tauto_elect_comment0: wxInteractionInfo.auto_elect_comment0,\n\t\tauto_elect_reply0: wxInteractionInfo.auto_elect_reply0,\n\t\treward_reply_id0:params.settingInfo?.wxRewardText? reply_id ? reply_id : 0 : 0,\n\t\tnot_pay_can_comment0: 0,\n\t\tdata_seq: 0,\n\t\tmsg_index_id0: \"\",\n\n\t\ttoken: params.token,\n\t\tAppMsgId: params.appMsgId || \"\",\n\t\ttitle0: params.title,\n\t\tauthor0: params?.settingInfo?.wxAuthor || \"\" ,\n\t\tdigest0: params?.settingInfo?.wxAbstract || \"\",\n\t\tcontent0: content || \"\",\n\t\tsourceurl0: params?.settingInfo?.wxOriginalText || \"\",\n\t\tcdn_url0: coverRes[0].cdn_url || \"\",\n\t\tcopyright_type0: params?.settingInfo?.wxCopyright? 1 : 0,\n\t\tallow_reprint0: params?.settingInfo?.wxCopyright? 0 : '',\n\t\tallow_reprint_modify0: params?.settingInfo?.wxCopyright? 0 : '',\n\t\tori_white_list0: params?.settingInfo?.wxCopyright? oriWhitelist: '',\n\t\topen_fansmsg0: wxInteractionInfo.open_fansmsg0,\n\t\tallow_fast_reprint0: params?.settingInfo?.wxQuickReprint ? 1 : 0,\n\t\tdisable_recommend0: params?.settingInfo?.wxNotAllowRecommend ? 1 : 0,\n\t\tclaim_source_type0: params?.settingInfo?.wxCreationSource?.[0] || \"\",\n appmsg_album_info0: JSON.stringify({\"appmsg_album_infos\": params.settingInfo?.wxCollectionInfo ? [params.settingInfo.wxCollectionInfo] : []}),\n\n\t\tmasssend_check: 1,\n\t\tis_masssend: 1,\n\t};\n \n task._timerRecord['PrePublish']= Date.now();\n\n\tconst { appMsgId } = await http.api<{ appMsgId: string }>({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/operate_appmsg\",\n\t\tparams: {\n\t\t\ttoken: params.token,\n\t\t\tt: \"ajax-response\",\n\t\t\tsub: \"create\",\n\t\t\ttype: 77,\n\t\t\tlang: \"zh_CN\",\n\t\t},\n\t\tdata: generatorFormData(draftData),\n\t\tdefaultErrorMsg: \"创建草稿失败,请稍后重试发布。\",\n\t});\n\n\t// 如果只需要保存为草稿,直接返回 appMsgId\n\tif (params.saveType === \"draft\") {\n\t\treturn { code: 0, data: appMsgId, message: \"微信公众号保存草稿成功。\" };\n\t}\n \n let checkTimes = 0;\n let copyrightStatRes: { base_resp: { ret: number }, list?: string } = {base_resp: {ret: -1}, list: ''};\n do {\n checkTimes++;\n const copyrightStat = http.api<{ base_resp: { ret: number }, list?: string }>({\n method: 'post',\n url: 'https://mp.weixin.qq.com/cgi-bin/masssend',\n params: {\n action: 'get_appmsg_copyright_stat',\n token: params.token,\n lang: 'zh_CN'\n },\n data: generatorFormData({\n token: params.token,\n lang: 'zh_CN',\n f: 'json',\n ajax: 1,\n fingerprint,\n random: Math.random().toString(),\n first_check: checkTimes === 1 ? 1 : 0,\n type: 10,\n appMsgId\n })\n });\n\n copyrightStatRes = await copyrightStat;\n if (copyrightStatRes.base_resp.ret === 154008 && copyrightStatRes?.list) return {\n code: 200,\n message: `文章内容未通过原创校验,请修改后重试!`,\n data: JSON.parse(copyrightStatRes.list).list\n }\n\n } while (copyrightStatRes.base_resp.ret === 154011 && checkTimes < 10);\n\n\tconst masssendpage = () => {\n\t\treturn http.api<CommonResponse<{ operation_seq: string; quota_detail_list: QuotaDetail[] }>>({\n\t\t\tmethod: \"get\",\n\t\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssendpage\",\n\t\t\tparams: {\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\tf: \"json\",\n\t\t\t\tajax: 1,\n\t\t\t\tpreview_appmsgid: appMsgId,\n\t\t\t\tfingerprint,\n\t\t\t\trandom: Math.random().toString(),\n\t\t\t},\n\t\t\tdefaultErrorMsg: \"创建草稿失败,请稍后重试发布。\",\n\t\t});\n\t};\n\n\t// 4. 预览\n\tlet massSendRes = await masssendpage();\n\t// 判断是否需要同意群发声明\n\tif (massSendRes.base_resp?.ret === 154019) {\n\t\ttask.logger.info(\"需要同意群发声明\");\n\t\tawait http.api({\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://mp.weixin.qq.com/cgi-bin/setprotocolsign\",\n\t\t\tparams: {\n\t\t\t\tcgi: \"setprotocolsign\",\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\ttoken: params.token,\n\t\t\t},\n\t\t\tdata: generatorFormData({\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\tf: \"json\",\n\t\t\t\tajax: 1,\n\t\t\t\tfingerprint,\n\t\t\t\trandom: Math.random().toString(),\n\t\t\t\tissigned: 1,\n\t\t\t}),\n\t\t});\n\t\tmassSendRes = await masssendpage();\n\t}\n\n\t// 判断是否还有群发次数\n\tconst { operation_seq, quota_detail_list = [] } = massSendRes;\n\n\t// 群发时需要判断是否还有群发次数\n\tif (params.masssend) {\n\t\tconst quotaDetail = quota_detail_list.find((it) => it.quota_type === QuotaType.Normal);\n\t\tif (!quotaDetail?.quota_item_list[0]?.quota) {\n\t\t\treturn { code: 200, message: \"今日群发次数用尽,请明天再试。\", data: \"\" };\n\t\t}\n\t}\n\n\t// 非群发时会多一个接口\n\tif (!params.masssend) {\n\t\tawait http.api({\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssend\",\n\t\t\tparams: {\n\t\t\t\tt: \"ajax-response\",\n\t\t\t\tfor_check: 1,\n\t\t\t\tis_release_publish_page: 1,\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t},\n\t\t\tdata: generatorFormData({\n\t\t\t\tappmsgid: appMsgId,\n\t\t\t\tfingerprint,\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\tf: \"json\",\n\t\t\t\tajax: 1,\n\t\t\t}),\n\t\t});\n\t}\n\n\t// check\n\tawait http.api({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssend?action=check_same_material\",\n\t\tdata: generatorFormData({\n\t\t\tmsgid: appMsgId,\n\t\t\tfingerprint,\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\tf: \"json\",\n\t\t\tajax: 1,\n\t\t\trandom: Math.random().toString(),\n\t\t}),\n\t});\n\n\tconst copyrightStatData = {\n\t\ttoken: params.token,\n\t\tlang: \"zh_CN\",\n\t\tf: \"json\",\n\t\tajax: 1,\n\t\trandom: Math.random().toString(),\n\t\tfingerprint,\n\t\tfirst_check: 1,\n\t\ttype: 10,\n\t\tappmsgid: appMsgId,\n\t};\n\tfor (let i = 0; i < 10; i++) {\n\t\tawait sleep(1000);\n\t\tconst lastData = { ...copyrightStatData, first_check: i === 0 ? 1 : 0 };\n\t\tconst checkCopyrightStatRes = await checkCopyrightStat<{ open_ad_reprint_status?: string }>(http, params, lastData);\n\t\tif (checkCopyrightStatRes.open_ad_reprint_status) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tawait sleep(300);\n\n\tawait http.api({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssend\",\n\t\tparams: {\n\t\t\taction: \"check_ad\",\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t},\n\t\tdata: generatorFormData({\n\t\t\tappmsg_id: appMsgId,\n\t\t\tfingerprint,\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\tf: \"json\",\n\t\t\tajax: 1,\n\t\t\tis_release_publish_page: params.masssend ? 0 : 1, // 群发时为 0,否则为 1\n\t\t\tsend_time: params.settingInfo.timer ? params.settingInfo.timer : 0 ,\n\t\t\trandom: Math.random().toString(),\n\t\t}),\n\t});\n\n\tawait sleep(300);\n\n\tawait http.api({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssend\",\n\t\tparams: {\n\t\t\taction: \"check_music\",\n\t\t},\n\t\tdata: generatorFormData({\n\t\t\tappmsgid: appMsgId,\n\t\t\tmasssend_check: 1,\n\t\t\tfingerprint,\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\tf: \"json\",\n\t\t\tajax: 1,\n\t\t\trandom: Math.random().toString(),\n\t\t}),\n\t});\n\n\tawait sleep(300);\n\n\t// 5. 获取群发文章ticket接口\n\tconst getTicketResult = await http.api<{ ticket: string; operation_seq: string }>({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/misc/safeassistant\",\n\t\tparams: {\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\t1: 1,\n\t\t},\n\t\tdata: generatorFormData({\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\tf: \"json\",\n\t\t\tajax: 1,\n\t\t\taction: \"get_ticket\",\n\t\t\tfingerprint,\n\t\t\trandom: Math.random().toString(),\n\t\t}),\n\t\tdefaultErrorMsg: GET_QRCODE_DEFAULT_ERROR,\n\t});\n\n\tawait sleep(300);\n\n\t// 6. 获取群发文章 uuid\n\tconst getUuidResult = await http.api<{ uuid: string; genuuid_res: number }>({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/safe/safeqrconnect\",\n\t\tparams: {\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\t1: 1,\n\t\t},\n\t\tdata: generatorFormData({\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\tf: \"json\",\n\t\t\tajax: 1,\n\t\t\tstate: 0,\n\t\t\tlogin_type: \"safe_center\",\n\t\t\ttype: \"json\",\n\t\t\tticket: getTicketResult.ticket,\n\t\t\tfingerprint,\n\t\t\trandom: Math.random().toString(),\n\t\t}),\n\t\tdefaultErrorMsg: GET_QRCODE_DEFAULT_ERROR,\n\t});\n\tawait sleep(1000);\n\n\tif (getUuidResult.genuuid_res !== 0) {\n\t\treturn { code: 200, message: GET_QRCODE_DEFAULT_ERROR, data: \"\" };\n\t}\n\tconst uuid = getUuidResult.uuid;\n\tawait sleep(1000);\n \n\t// 7. 获取验证二维码\n\tconst qrcodeResult = await http.api({\n\t\tmethod: \"get\",\n\t\turl: \"https://mp.weixin.qq.com/safe/safeqrcode\",\n\t\tparams: {\n\t\t\taction: \"check\",\n\t\t\ttype: \"msgs\",\n\t\t\tservice_type: 1,\n\t\t\tticket: getTicketResult.ticket,\n\t\t\tuuid,\n\t\t\tmsgid: operation_seq,\n\t\t\topen_email: params.settingInfo.timer ? true : false,\n\t\t\t...(params.masssend ? {} : { publish_type: 1 }),\n\t\t},\n\t\tdefaultErrorMsg: GET_QRCODE_DEFAULT_ERROR,\n\t\tresponseType: \"arraybuffer\",\n\t});\n\n\tconst qrcodeBuffer = Buffer.from(qrcodeResult);\n\tconst qrcodeFilePath = path.join(tmpCachePath, `weixin_qrcode_${Date.now()}.jpg`);\n\tfs.writeFileSync(qrcodeFilePath, new Uint8Array(qrcodeBuffer));\n\n\tparams.safeQrcodeCallback?.(qrcodeFilePath);\n\n\t// 8. 验证二维码结果\n\tlet code = \"\";\n\tfor (let i = 0; i < scanRetryMaxCount; i++) {\n\t\tawait sleep(2000);\n\n\t\tconst checkScanResult = await http.api<{ code: string; errcode: number }>({\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://mp.weixin.qq.com/safe/safeuuid\",\n\t\t\tparams: {\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\ttimespam: Date.now(),\n\t\t\t},\n\t\t\tdata: generatorFormData({\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\tf: \"json\",\n\t\t\t\tajax: 1,\n\t\t\t\tuuid,\n\t\t\t\taction: \"json\",\n\t\t\t\ttype: \"json\",\n\t\t\t\tfingerprint,\n\t\t\t\trandom: Math.random().toString(),\n\t\t\t}),\n\t\t});\n\n\t\tif (checkScanResult.errcode === 405 && checkScanResult.code) {\n\t\t\tcode = checkScanResult.code;\n\t\t\tbreak;\n\t\t}\n\n\t\tif (i === scanRetryMaxCount - 1) {\n\t\t\treturn { code: 200, message: \"二维码已过期,请重试发布。\", data: \"\" };\n\t\t}\n\t}\n\n\t// 非群发时会多一个接口\n\tif (!params.masssend) {\n\t\tawait http.api({\n\t\t\tmethod: \"post\",\n\t\t\turl: \"https://mp.weixin.qq.com/misc/safeassistant\",\n\t\t\tparams: {\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\t1: 1,\n\t\t\t},\n\t\t\tdata: generatorFormData({\n\t\t\t\ttoken: params.token,\n\t\t\t\tlang: \"zh_CN\",\n\t\t\t\tf: \"json\",\n\t\t\t\tajax: 1,\n\t\t\t\tfingerprint,\n\t\t\t\trandom: Math.random().toString(),\n\t\t\t\taction: \"get_uuid\",\n\t\t\t\tuuid,\n\t\t\t}),\n\t\t});\n\t}\n \n const proxyHttp = task?.isBeta ?? false ? new Http({headers}, params.proxyLoc, params.huiwenToken ) : http;\n\t// 9. 发送群发通知\n\tawait proxyHttp.api<{ code: string; errcode: number; proxyInfo: Record<string, any>}>({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/masssend\",\n\t\tparams: {\n\t\t\tt: \"ajax-response\",\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\t...(params.masssend ? {\n\t\t\t\t...(params.settingInfo.timer ? {\n\t\t\t\t\taction: \"time_send\"\n\t\t\t\t}: {})\n\t\t\t} : { is_release_publish_page: 1 }),\n\t\t},\n\t\tdata: generatorFormData({\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t\tf: \"json\",\n\t\t\tajax: \"1\",\n\t\t\tfingerprint,\n\t\t\trandom: Math.random().toString(),\n\t\t\tack: \"\",\n\t\t\tcode,\n\t\t\treprint_info: \"\",\n\t\t\treprint_confirm: \"0\",\n\t\t\tlist: \"\",\n\t\t\tgroupid: \"\",\n\t\t\tsex: \"0\",\n\t\t\tcountry: \"\",\n\t\t\tprovince: \"\",\n\t\t\tcity: \"\",\n\t\t\tsend_time: params.settingInfo.timer ? params.settingInfo.timer : \"0\",\n\t\t\ttype: \"10\",\n\t\t\tshare_page: \"1\",\n\t\t\tsynctxweibo: \"0\",\n\t\t\toperation_seq,\n\t\t\treq_id: randomString(32),\n\t\t\treq_time: new Date().getTime() + client_time_diff * 1e3,\n\t\t\tsync_version: \"1\",\n\t\t\tisFreePublish: params.masssend ? \"false\" : \"true\",\n\t\t\tappmsgid: appMsgId,\n\t\t\tisMulti: \"0\",\n\t\t\tdirect_send: \"1\",\n\t\t\tisNeedCode: \"true\",\n\t\t\tuserType: \"1\",\n\t\t}),\n\t\tdefaultErrorMsg: params.masssend ? \"文章群发异常,请尝试关闭群发或稍后重试。\" : \"文章发布异常,请稍后重试。\",\n }, {retries: 2, retryDelay: 500});\n\n\treturn success(appMsgId, `微信公众号发布完成!`+ (proxyHttp.proxyInfo || \"\"));\n};\n","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport type { CookieMap, Response } from \"@iflyrpa/share\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\nimport axios from \"axios\";\n\nimport { copyHtmlToClipboard, parseUrlQueryString, PopupListener, TimeFormatter } from \"../../utils\";\nimport type { PublishAction } from \"./index\";\nimport { scanRetryMaxCount } from \"./utils\";\n\n// 等待二维码验证结果最长时间\nconst waitQrcodeResultMaxTime = scanRetryMaxCount * 2 * 1000;\n\nexport const rpaAction: PublishAction = async (task, params) => {\n\tconst tmpCachePath = task.getTmpPath();\n\n\tconst commonCookies: CookieMap[number] = {\n\t\tpath: \"/\",\n\t\tsecure: true,\n\t\tdomain: \"mp.weixin.qq.com\",\n\t\turl: \"https://mp.weixin.qq.com\",\n\t\thttpOnly: true,\n\t};\n\n\tconst urlParams = {\n\t\taction: \"edit\",\n\t\ttype: 77,\n\t\ttoken: params.token,\n\t\tlang: \"zh_CN\",\n\t\ttimestamp: Date.now(),\n\t\tappmsgid: params.appMsgId,\n\t};\n\n\tif (params.settingInfo?.wxRewardTarget){\n\t\tconst urlRewardParams = {\n\t\t\taction: \"inviteauthor\",\n\t\t\ttoken: params.token,\n\t\t\tlang: \"zh_CN\",\n\t\t};\n\t\tconst wxRewardPage = await task.createPage({\n\t\t\tshow: task.debug,\n\t\t\turl:\n\t\t\t\tparams.url ||\n\t\t\t\t`https://mp.weixin.qq.com/cgi-bin/safecenterstatus?${Object.entries(urlRewardParams)\n\t\t\t\t\t.map((it) => it.join(\"=\"))\n\t\t\t\t\t.join(\"&\")}`,\n\t\t\tcookies: params.cookies?.map((it) => ({ ...commonCookies, ...it })) || [],\n\t\t});\n\n\t\tconst reward_page = wxRewardPage.locator(\"#app\")\n\t\tconst isAddRewarder = reward_page.locator('.author_card_bd.weui-desktop-vm_primary').filter({hasText: params.settingInfo.wxRewardTarget.author}).count()\n\t\tif(await isAddRewarder == 0){\n\t\t\tawait reward_page.locator('.weui-desktop-panel__hd-right').click()\n\t\t\ttry {\n\t\t\t\ttry {\n\t\t\t\t\tawait wxRewardPage.waitForSelector('.invite-qrcode', { state: 'visible', timeout: 20000 });\n\t\t\t\t\tconst qrcodeSrc = await reward_page.locator(\".invite-qrcode\").getAttribute('src')\n\n\t\t\t\t\tif (qrcodeSrc) {\n\t\t\t\t\t\tconst rewardBuffer = Buffer.from(qrcodeSrc.replace(/^data:image\\/\\w+;base64,/, ''), 'base64');\n\t\t\t\t\t\tconst rewardFilePath = path.join(tmpCachePath, \"weixin_reward.jpg\");\n\t\t\t\t\t\tfs.writeFileSync(rewardFilePath, new Uint8Array(rewardBuffer));\n\n\t\t\t\t\t\tparams.safeQrcodeCallback?.(rewardFilePath);\n\t\t\t\t\t}\n\n\t\t\t\t\t// await wxRewardPage.waitForSelector('[data-transfer=\"true\"]:not([weui=\"true\"])', { state: 'detached', timeout: 30000 });\n\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthrow new Error(\"二维码已过期,请重试绑定。\");\n\t\t\t\t}\n\n\t\t\t\tfor (let i = 0; i < scanRetryMaxCount; i++) {\n\t\t\t\t\tawait Promise.all([\n\t\t\t\t\t\twxRewardPage.reload(),\n\t\t\t\t\t\twxRewardPage.waitForLoadState('domcontentloaded')\n\t\t\t\t\t]);\n\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait wxRewardPage.waitForSelector(`.author_card_bd.weui-desktop-vm_primary:has-text(\"${params.settingInfo.wxRewardTarget?.author}\")`, { timeout: 1000 });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} catch (error) {}\n\n\t\t\t\t\tif (i === scanRetryMaxCount - 1) throw new Error(\"未确认绑定账户,请在手机端确认绑定并重试\");\n\t\t\t\t}\n\n\t\t\t} catch (error) {\n\t\t\t\tlet errorMessage = \"发生未知错误\";\n\t\t\t\tif (error instanceof Error) {\n\t\t\t\t\terrorMessage = error.message;\n\t\t\t\t} else if (typeof error === \"string\") {\n\t\t\t\t\terrorMessage = error;\n\t\t\t\t}\n\t\t\t\tawait wxRewardPage.close();\n\t\t\t\treturn { code: 200, message: errorMessage , data: \"\" };\n\t\t\t}\n\t\t}\n\n\t\tif(params.settingInfo.wxRewardText){\n\t\t\tawait wxRewardPage.locator('[href=\"/merchant/reward?action=getautoreply\"]').click()\n\t\t\tawait wxRewardPage.waitForLoadState('networkidle');\n\n\t\t\tconst isAddWord = reward_page.locator(\".auto-reply__list.edit .auto-reply__hd .auto-reply__text\").filter({hasText: new RegExp(`^${params.settingInfo.wxRewardText}$`) }).count()\n\n\t\t\tif(await isAddWord == 0){\n\t\t\t\tawait reward_page.locator(\".emotion_editor .edit_area\").fill(params.settingInfo.wxRewardText)\n\t\t\t\tawait reward_page.locator(\".emotion_editor .edit_area\").click()\n\t\t\t\tawait reward_page.locator(\".editor_toolbar .weui-desktop-btn.weui-desktop-btn_primary\").click()\n\t\t\t}\n\t\t}\n\t\tawait wxRewardPage.close();\n\n\t}\n\n\tconst page = await task.createPage({\n\t\tshow: task.debug,\n\t\turl:\n\t\t\tparams.url ||\n\t\t\t`https://mp.weixin.qq.com/cgi-bin/appmsg?${Object.entries(urlParams)\n\t\t\t\t.map((it) => it.join(\"=\"))\n\t\t\t\t.join(\"&\")}`,\n\t\tcookies: params.cookies?.map((it) => ({ ...commonCookies, ...it })) || [],\n\t});\n\n\t// 0. 校验登录\n\ttry {\n\t\tawait page.waitForSelector(\".weui-desktop-head\", { state: \"visible\" });\n\t} catch (error) {\n\t\treturn { code: 400, message: \"登录失效\", data: page.url() };\n\t}\n\n\t// 1. 等待编辑器加载出来\n\tawait page.waitForSelector(\"#editor_pannel\", { state: \"visible\" });\n\n\t//新功能更新监听\n\tPopupListener(page,'[v-transfer-dom=\"#vue_app\"] .weui-desktop-dialog',\"更新\", '[v-transfer-dom=\"#vue_app\"] .weui-desktop-icon-btn.weui-desktop-dialog__close-btn',\n\t{\n\t\tcheckInterval: 1000,\n\t\tstopAfterClick: false\n\t})\n\t//小店功能开通监听\n\tPopupListener(page,'[extclass=\"weui-desktop-dialog_simple\"] .weui-desktop-dialog',\"小店\", '[extclass=\"weui-desktop-dialog_simple\"] .weui-desktop-icon-btn.weui-desktop-dialog__close-btn',\n\t{\n\t\tcheckInterval: 1000,\n\t\tstopAfterClick: true\n\t})\n\n\t// 2. 填写标题\n\tconst titleInstance = page.locator(\"#js_title_main textarea#title\");\n\tawait titleInstance.click();\n\tawait titleInstance.fill(params.title);\n\n\t// 3. 填写作者\n\tif (params.settingInfo.wxAuthor) {\n\t\tconst titleInstance = page.locator(\"#js_author_area input#author\");\n\t\tawait titleInstance.click();\n\t\tawait titleInstance.fill(params.settingInfo.wxAuthor);\n\t}\n\n\t// 4. 填写正文\n\tawait copyHtmlToClipboard(page, params.content);\n\t// 定位目标元素并聚焦\n\tawait page.click(\".js_editor_area .ProseMirror\");\n\t// 模拟Ctrl+V粘贴\n\tawait page.keyboard.press(\"Control+V\");\n\n\t// 将设置区域滚动到可见区域\n\tawait page.locator(\"#article_setting_area\").evaluate((node) => node.scrollIntoView());\n\n\t// 5. 填写摘要\n\tif (params.settingInfo.wxAbstract) {\n\t\tconst titleInstance = page.locator(\"#article_setting_area #js_description_area textarea\");\n\t\tawait titleInstance.click();\n\t\tawait titleInstance.fill(params.settingInfo.wxAbstract);\n\t}\n\n\t// 6. 设置封面\n\tif (params.settingInfo.wxCover) {\n\t\tlet fileName = getFilenameFromUrl(params.settingInfo.wxCover);\n let ext = path.extname(fileName);\n fileName = ext ? fileName : `${fileName}.png`\n\t\tconst cover = await downloadImage(params.settingInfo.wxCover, path.join(tmpCachePath, fileName));\n\n\t\t// 从图片库选择\n\t\tawait page.locator(\"#article_setting_area #js_cover_area .select-cover__btn\").hover();\n\t\tawait page\n\t\t\t.locator(\"#article_setting_area #js_cover_area .pop-opr__group-select-cover .pop-opr__list .pop-opr__item\")\n\t\t\t.filter({ hasText: \"从图片库选择\" })\n\t\t\t.click();\n\n\t\t// 在弹窗内选择「我的图片」- 「上传文件」\n\t\t// 等待弹窗出现\n\t\tawait page.waitForSelector(\"#vue_app .weui-desktop-dialog\", { state: \"visible\" });\n\t\tconst dialog = page.locator(\"#vue_app .weui-desktop-dialog\");\n\t\t// 点击「我的图片」\n\t\tawait dialog.locator(\".weui-desktop-menu .weui-desktop-menu__item\").filter({ hasText: \"我的图片\" }).click();\n\t\tawait page.waitForTimeout(300);\n\t\t// 点击「上传文件」\n\t\tconst fileChooserPromise = page.waitForEvent(\"filechooser\");\n\t\tawait dialog.locator(\".weui-desktop-img-picker__list__area .js_upload_btn_container\").click();\n\t\tconst fileChooser = await fileChooserPromise;\n\t\tawait fileChooser.setFiles([cover]);\n\n\t\t// 等待图片上传完成\n\t\tawait page.waitForSelector(\".weui-desktop-img-picker__list .weui-desktop-img-picker__item.selected\", {\n\t\t\tstate: \"visible\",\n\t\t});\n\t\tawait page.waitForSelector('.weui-desktop-upload__file__progress', { state: 'detached' });\n\n\t\tconst pic_msg = page.locator('.weui-desktop-img-picker__list .weui-desktop-img-picker__item.selected .weui-desktop-upload__file__msg')\n\t\tif(await pic_msg.count() > 0) return {code: 200, message: \"图片上传错误:\"+(await pic_msg.textContent()||\"未知错误,请重试!\"), data: \"\"}\n\n\t\t// 选择下一步\n\t\tawait dialog\n\t\t\t.locator(\".weui-desktop-dialog__ft .weui-desktop-btn:not(.weui-desktop-btn_disabled)\")\n\t\t\t.filter({ hasText: \"下一步\" })\n\t\t\t.click();\n\t\t// 等待第二步的确认按钮出来\n\t\tawait dialog\n\t\t\t.locator(\".weui-desktop-dialog__ft .weui-desktop-btn\")\n\t\t\t.filter({ hasText: \"确认\" })\n\t\t\t.waitFor({ state: \"visible\" });\n\t\tawait dialog.locator(\".weui-desktop-dialog__ft .weui-desktop-btn\").filter({ hasText: \"确认\" }).click();\n\t}\n\n\t// 7. 原创与赞赏设置\n\tif(params.settingInfo.wxCopyright){\n\t\tawait page.locator('#js_original').click()\n\n\t\tconst ori_dialog = page.locator('.claim__original-dialog.original_dialog')\n\t\tconst ori_dialog_bd = ori_dialog.locator('.weui-desktop-dialog__bd')\n\t\tconst ori_dialog_ft = ori_dialog.locator('.weui-desktop-dialog__ft')\n\n\t\tawait ori_dialog_bd.locator('.weui-desktop-form__check-content').filter({hasText: \"文字原创\"}).click()\n\n\t\tif(params.settingInfo?.wxWhitelist){\n\n\t\t\tfor (var _target of params.settingInfo.wxWhitelist){\n\n\t\t\t\tawait ori_dialog_bd.locator('#js_article_whitelist_search').fill(_target)\n\t\t\t\tawait ori_dialog_bd.locator('.js_search').click()\n\t\t\t\tconst search_res = ori_dialog_bd.locator('#js_article_whitelist_search_result > div')\n\n\t\t\t\tawait page.waitForTimeout(1000);\n\n\t\t\t\tif( await search_res.getAttribute('class') !== 'search-result-title search-result-empty'){\n\n\t\t\t\t\tconst search_res_name = await search_res.locator('.search-result-name-left').textContent() || undefined\n\t\t\t\t\tawait search_res.click()\n\t\t\t\t\tconst whrite_list = ori_dialog_bd.locator('#js_article_whitelist_added tbody')\n\t\t\t\t\tconst white_td_isadd = await whrite_list.locator('.table-td-name').filter({hasText: search_res_name}).count()\n\n\t\t\t\t\tif (!white_td_isadd) {\n\t\t\t\t\t\treturn {code: 200 , message:'白名单添加失败,请重试!', data: ''}\n\t\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\treturn { code: 200, message: `白名单用户:${_target} 未搜索到,请确定输入是否正确!`, data: '' }\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\n\t\tif(params.settingInfo?.wxQuickReprint){\n\t\t\tconst btn_isChecked = await ori_dialog_bd.locator('//span[@class=\"frm_tips\"]').filter({ hasText: '已开启' }).count() == 1 ? true : false;\n\t\t\tif(!btn_isChecked) await ori_dialog_bd.locator('.weui-desktop-switch_loading .weui-desktop-switch__box').click()\n\t\t}\n\n\t\tconst checkbox = ori_dialog_ft.locator('.weui-desktop-icon-checkbox')\n\t\tif( !await checkbox.isChecked()) await checkbox.check()\n\t\tawait ori_dialog_ft.locator('.weui-desktop-btn.weui-desktop-btn_primary').click()\n\n\t\tif (params.settingInfo?.wxRewardTarget){\n\n\t\t\tawait page.locator('#js_reward_setting_area').click()\n\n\t\t\tconst reward_setting = page.locator('.reward-setting-dialog')\n\t\t\tconst reward_setting_bd = reward_setting.locator('.weui-desktop-dialog__bd')\n\t\t\tconst reward_setting_ft = reward_setting.locator('.weui-desktop-dialog__ft')\n\n\t\t\t//遍历绑定信息\n\t\t\tfor (var _type in params.settingInfo.wxRewardTarget){\n\t\t\t\tif (_type === \"author\"){\n\t\t\t\t\tlet userName = params.settingInfo.wxRewardTarget[_type]\n\n\t\t\t\t\tawait reward_setting_bd.locator('.weui-desktop-form__check-label', { hasText: '赞赏作者' }).click()\n\t\t\t\t\tawait reward_setting_bd.locator('.weui-desktop-form__input').fill(userName)\n\n\n\t\t\t\t\tif(params.settingInfo.wxRewardText) {\n\t\t\t\t\t\tconst reward_setting_replay = page.locator('.reward-reply-setting')\n\t\t\t\t\t\tconst switchAuto = reward_setting_replay.locator('.weui-desktop-switch__box')\n\n\t\t\t\t\t\tconst maxAttempts = 5;\n\t\t\t\t\t\tconst delayMs = 500;\n\t\t\t\t\t\tlet nowCheckTime = 0\n\n\t\t\t\t\t\tfor (let attempt = 0; attempt < maxAttempts; attempt++) {\n\t\t\t\t\t\t\tconst isDisabled = await switchAuto.isDisabled();\n\t\t\t\t\t\t\tif (!isDisabled){\n\t\t\t\t\t\t\t\tawait switchAuto.isChecked() ? nowCheckTime++ : null\n\t\t\t\t\t\t\t\tif (nowCheckTime == 2) break\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tif (attempt === maxAttempts - 1) throw new Error('Checkbox did not become enabled within the timeout.');\n\t\t\t\t\t\t\tawait new Promise(resolve => setTimeout(resolve, delayMs));\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\tconst isOneReplay = await reward_setting_replay.locator('.reward-reply-select__wrp >.reward-reply-select__tips').textContent() == \"添加新的回复\"\n\t\t\t\t\t\tconst isCurrentReplay = await reward_setting_replay.locator('.reward-reply-select__wrp >.reward-reply-select__display .wording').filter({hasText: new RegExp(`^${[params.settingInfo.wxRewardText]}$`)}).count() == 1\n\n\t\t\t\t\t\tif (!isOneReplay && !isCurrentReplay) {\n\t\t\t\t\t\t\tawait reward_setting_replay.locator('.reward-reply-select__wrp >.reward-reply-select__tips').click()\n\t\t\t\t\t\t\tawait reward_setting_replay.locator('.reward-reply-select__display.can-select .wording').filter({hasText: new RegExp(`^${[params.settingInfo.wxRewardText]}$`)}).click()\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\tawait reward_setting_bd.locator('.reward-reply-setting .weui-desktop-switch__input').isChecked() ? reward_setting_bd.locator('.reward-reply-setting .weui-desktop-switch__box').uncheck(): 0\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t\telse if (_type === \"project\"){}\n\t\t\t}\n\n\t\t\tconst checkbox = reward_setting_ft.locator('.weui-desktop-icon-checkbox')\n\t\t\tif( !await checkbox.isChecked()) await checkbox.check()\n\t\t\tawait reward_setting_ft.locator('.weui-desktop-btn.weui-desktop-btn_primary').click()\n\n\t\t}\n\n\t}\n\n\t// 8. 互动设置\n\tif(params.settingInfo?.wxInteraction){\n\t\tawait page.locator('.appmsg-editor__setting-group.js_interaction_cell').click()\n\t\tconst wxInteraction_setting = page.locator('.interaction-dialog')\n\t\tconst wxInteraction_bd = wxInteraction_setting.locator('.weui-desktop-dialog__bd')\n\t\tconst wxInteraction_ft = wxInteraction_setting.locator('.weui-desktop-dialog__ft')\n\n\t\tif(params.settingInfo.wxInteraction.Type == \"public\"){\n\t\t\tawait wxInteraction_bd.locator('.weui-desktop-form__check-label span', { hasText: /^(开启|留言)$/ }).click();\n\n\t\t\tconst comment_area = wxInteraction_bd.locator('.comment-options-block.pt0')\n\t\t\tconst reply_area = wxInteraction_bd.locator('.comment-options-block.bb0.pb0')\n\t\t\tconst commont_rply_opt = page.locator('.weui-desktop-popper.options-popover[x-placement=\"bottom\"]')\n\n\t\t\tawait comment_area.locator('.comment-options__selector-btn').click();\n\t\t\tawait commont_rply_opt.locator('.weui-desktop-form__check-label', { hasText: params.settingInfo.wxInteraction.Option?.Comment }).click();\n\n\t\t\tif(params.settingInfo.wxInteraction.Option?.elect_comment) {\n\t\t\t\tawait comment_area.locator('.weui-desktop-switch__box').check()\n\t\t\t}else{\n\t\t\t\tawait comment_area.locator('.weui-desktop-switch__input').isChecked() ? comment_area.locator('.weui-desktop-switch__box').uncheck(): 0\n\t\t\t}\n\n\t\t\tawait page.waitForTimeout(1000);\n\n\t\t\tawait reply_area.locator('.comment-options__selector-btn').click();\n\t\t\tawait commont_rply_opt.locator('.weui-desktop-form__check-label', { hasText: params.settingInfo.wxInteraction.Option?.reply }).click();\n\n\t\t\tif(params.settingInfo.wxInteraction.Option?.elect_reply) {\n\t\t\t\tawait reply_area.locator('.weui-desktop-switch__box').check()\n\t\t\t}else{\n\t\t\t\tawait reply_area.locator('.weui-desktop-switch__input').isChecked() ? reply_area.locator('.weui-desktop-switch__box').uncheck(): 0\n\t\t\t}\n\t\t}else if(params.settingInfo.wxInteraction.Type == \"private\"){\n\t\t\tawait wxInteraction_bd.locator('.weui-desktop-form__check-label span', { hasText: /^(快捷私信|不开启)$/ }).click();\n\t\t}\n\n\t\tawait wxInteraction_ft.locator('.weui-desktop-btn.weui-desktop-btn_primary').click()\n\t}\n\n\t// 9. 原文链接\n\tif (params.settingInfo.wxOriginalText) {\n\t\tawait page.locator(\"#js_article_url_area .allow_click_opr\").click();\n\t\tawait page.waitForTimeout(200);\n\t\tconst poperInstance = page.locator('.popover:not([style*=\"display: none\"])');\n\t\tconst poperInput = poperInstance.locator(\"input.weui-desktop-form__input.js_url\");\n\t\tawait poperInput.fill(params.settingInfo.wxOriginalText);\n\t\tawait poperInstance.locator(\".popover_bar .btn_primary\").click();\n\t}\n\n\t// 10. 创作来源\n\tif (params.settingInfo.wxCreationSource && params.settingInfo.wxCreationSource.length > 0) {\n\t\tconst source = params.settingInfo.wxCreationSource[0];\n\t\tawait page.locator(\"#js_claim_source_area .allow_click_opr\").click();\n\t\tawait page.waitForTimeout(200);\n\t\tconst poperInstance = page.locator('.popover:not([style*=\"display: none\"])');\n\t\tawait poperInstance.locator(`.frm_radio_item label[for=\"${source}\"]`).click();\n\t}\n\n\t// 11. 关闭平台推荐\n\tif (params.settingInfo.wxNotAllowRecommend === true) {\n\t\tawait page.locator(\"#js_not_recommend_area .allow_click_opr\").click();\n\t\tawait page.waitForTimeout(200);\n\t\tconst poperInstance = page.locator('.popover:not([style*=\"display: none\"])');\n\t\tawait poperInstance.locator('.frm_radio_item label[for=\"not_recomment_0\"]').click();\n\t}\n\n\tawait page.waitForTimeout(1000);\n task._timerRecord['PrePublish']= Date.now();\n\n\t// 12. 发布\n\tconst articleId = await new Promise<string>(async (resolve) => {\n\t\t// 定义响应处理函数\n\t\tconst handleResponse = async (response: Response) => {\n\t\t\tconst url = response.url();\n\t\t\tconst query = parseUrlQueryString(url);\n\t\t\tif (url.includes(\"/cgi-bin/operate_appmsg\") && query?.t === \"ajax-response\") {\n\t\t\t\tconst jsonResponse = await response.json();\n\t\t\t\tpage.off(\"response\", handleResponse);\n\t\t\t\tresolve(jsonResponse?.appMsgId);\n\t\t\t}\n\t\t};\n\n\t\t// 开始监听响应事件\n\t\tpage.on(\"response\", handleResponse);\n\n\t\t// 点击发表\n\t\tpage.locator(\"#editor_pannel #bottom_main #js_button_area #js_send button\").click();\n\t\tawait page.waitForTimeout(200);\n\n\t\tif (params.settingInfo.timer) {\n\t\t\tawait page.locator(\".mass-send .mass-send__td-setting\", {hasText: \"定时发表\"}).locator(\".weui-desktop-switch__box\").check();\n\t\t\tlet dateD = Number(TimeFormatter.format(params.settingInfo.timer, \"d\"));\n\t\t\tlet nowD = Number(TimeFormatter.format(Date.now(), \"d\"));\n\n\t\t\tawait page.locator(\".mass-send__timer .weui-desktop-form__dropdown__dt\").click();\n\t\t\tconst dropMenu = page.locator(\".mass-send__timer .weui-desktop-dropdown-menu\").locator(\".weui-desktop-dropdown__list-ele\")\n\t\t\tawait dropMenu.filter({hasText: dateD == nowD ? \"今天\" : dateD == nowD + 1 ? \"明天\" : TimeFormatter.format(params.settingInfo.timer, \"M月d日\")}).click();\n\n\t\t\tconst timeDropMenu = page.locator(\".mass-send__timer .weui-desktop-picker__time:visible\")\n\t\t\tawait timeDropMenu.locator(\".weui-desktop-form__input\").fill(TimeFormatter.format(params.settingInfo.timer, \"hh:mm\"));\n\t\t\tawait timeDropMenu.locator(\"i.weui-desktop-icon__time\").click();\n\n\t\t}\n\t});\n\tawait page.waitForTimeout(200);\n\n\tif(params.masssend){\n\t\tconst times = Number(await page.locator(\".mass-send .multi-sent__notice_time\").locator('div[style=\"display: none;\"] div:not([style*=\"display: none\"]) span').textContent())\n\t\tif( times==0 ) return { code: 200, message: \"今日群发次数用尽,请明天再试。\", data: \"\" };\n\t\tawait page.locator(\".mass-send .mass_send__notify\").locator(\".weui-desktop-switch__box\").check();\n\t}else{\n\t\tawait page.locator(\".mass-send .mass_send__notify\").locator(\".weui-desktop-switch__box\").uncheck();\n\t}\n\n\tawait page.waitForTimeout(200);\n\n\t// 再次点击发表\n\tawait page.waitForSelector('.new_mass_send_dialog .weui-desktop-dialog__wrp:not([style*=\"display: none\"])', {state: \"visible\"});\n\tawait page.locator(\".new_mass_send_dialog .weui-desktop-dialog .weui-desktop-dialog__ft button.weui-desktop-btn_primary\").click();\n\n\t// 点击继续发表\n\tawait page.waitForSelector('.double_check_dialog .weui-desktop-dialog__wrp:not([style*=\"display: none\"])', {state: \"visible\",});\n\tawait page.locator(\".double_check_dialog .weui-desktop-dialog .weui-desktop-dialog__ft button.weui-desktop-btn_primary\").click();\n\n\tawait page.waitForTimeout(2000);\n\n\t// 原创校验弹窗\n\tconst originalCheckDialog = page.locator('div[data-transfer=\"true\"][width\\\\.number=\"800\"][height\\\\.number=\"800\"] .weui-desktop-dialog__title')\n\tif((await originalCheckDialog.count() > 0) ){\n\t\tif (await originalCheckDialog.textContent() === \"原创校验\"){\n\t\t\tconst popMassend = page.locator('div[data-transfer=\"true\"][width\\\\.number=\"800\"][height\\\\.number=\"800\"]')\n\t\t\tawait popMassend.locator(\".weui-desktop-btn_primary\",{hasText: \"下一步\"}).click();\n\t\t\tawait popMassend.locator(\".weui-desktop-btn_primary\",{hasText: \"继续\"}).click();\n\t\t}\n\t}\n\n\n\ttry {\n\t\tconst startTime = Date.now();\n\n\t\t// biome-ignore lint/suspicious/noAsyncPromiseExecutor: <explanation>\n\t\tawait new Promise<void>(async (resolve, reject) => {\n\t\t\t// 定义响应处理函数\n\t\t\tconst handleResponse = async (response: Response) => {\n\t\t\t\tif (response.url().includes(\"/safe/safeuuid\")) {\n\t\t\t\t\tconst jsonResponse = await response.json();\n\t\t\t\t\tif (jsonResponse.errcode === 405) {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t\tpage.off(\"response\", handleResponse);\n\t\t\t\t\t} else if (Date.now() - startTime > waitQrcodeResultMaxTime) {\n\t\t\t\t\t\treject();\n\t\t\t\t\t\tpage.off(\"response\", handleResponse);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// 开始监听响应事件\n\t\t\tpage.on(\"response\", handleResponse);\n\n\t\t\t// 获取微信验证二维码\n\t\t\tawait page.waitForSelector(\".dialog .js_wxchecks.safe_check img.qrcode.js_qrcode\", {\n\t\t\t\tstate: \"visible\",\n\t\t\t});\n\t\t\tconst qrcodeSrc = await page\n\t\t\t\t.locator(\".dialog .js_wxchecks.safe_check img.qrcode.js_qrcode\")\n\t\t\t\t.first()\n\t\t\t\t.getAttribute(\"src\");\n\t\t\tif (qrcodeSrc) {\n\t\t\t\tconst imgUrl = new URL(qrcodeSrc, page.url()).href; // 处理相对路径\n\t\t\t\tconst response = await axios({\n\t\t\t\t\tmethod: \"get\",\n\t\t\t\t\turl: imgUrl,\n\t\t\t\t\tresponseType: \"arraybuffer\", // 确保接收二进制数据\n\t\t\t\t});\n\t\t\t\t// 保存文件\n\t\t\t\tconst qrcodeFilePath = path.join(tmpCachePath, \"weixin_qrcode.jpg\");\n\t\t\t\tfs.writeFileSync(qrcodeFilePath, response.data);\n\t\t\t\tparams.safeQrcodeCallback?.(qrcodeFilePath);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"qrcodeSrc is empty\");\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\tawait page.close();\n\t\treturn { code: 500, message: \"群发二维码已过期,请重试发布。\", data: \"\" };\n\t}\n\n\tawait page.waitForTimeout(3000);\n\tawait page.close();\n\n\treturn success(articleId);\n};\n","import type { CommonAction } from \"@iflyrpa/share\";\n\nimport type { ActiomCommonParams } from \"../../types\";\nimport { defaultParams, executeAction } from \"../../utils\";\nimport { mockAction } from \"./mock\";\nimport { rpaAction } from \"./rpa\";\nimport { CollectDetail } from '../getWeixinCollection'\n\nexport interface WxInteraction {\n\tType: \"public\" | \"private\" | \"off\"; // public:评论留言, priviate: 快捷私信, off: 不开启\n\tOption?: { // public下相关设置\n\t Comment: \"已关注7天及以上的用户\" | \"已关注的用户\" | \"所有用户\"; // 评论设置\n\t reply: \"已关注7天及以上的用户\" | \"已关注的用户\" | \"所有用户\"; // 回复设置\n\t elect_comment: boolean; // 是否开启精选评论\n\t elect_reply: boolean; // 是否开启精选回复\n\t};\n }\n\nexport interface WeixinPublishParams extends ActiomCommonParams {\n\tsaveType: \"draft\" | \"publish\"; // 保存成草稿 / 发布\n\tmasssend?: boolean; // 是否群发(默认开启群发)\n\ttoken: string | number;\n\ttitle: string; // 标题\n\tcontent: string; // 正文内容\n\tuuid?: string;\n\tappMsgId?: string;\n\toperation_seq?: string;\n proxyLoc?: string; // 代理位置\n huiwenToken?: string; // 绘文token\n\tsettingInfo: {\n\t\twxCover: string; // 封面\n\t\twxAuthor?: string; // 作者\n\t\twxAbstract?: string; // 摘要\n\t\twxOriginalText?: string; // 原文链接\n\t\twxCopyright?: boolean, // 版权声明\n\t\twxWhitelist?: string[]; // 转载白马名单\n\t\twxRewardTarget?: Record<string, string>; // 赞赏目标与ID\n\t\twxRewardText?: string; // 赞赏文案\n\t\twxQuickReprint?: boolean; // 快捷转载\n\t\twxNotAllowRecommend?: boolean; // 不允许被平台推荐\n\t\twxCreationSource?: string[]; // 创作来源\n\t\twxInteraction?: WxInteraction // 互动设置\n\t\ttimer?: number; // 定时发文时间\n wxTopic?: string[]; //话题数组\n wxCollectionInfo?: CollectDetail; // 文章合集信息\n\t};\n\tsafeQrcodeCallback?: (qrcodePath: string) => void; // 二维码验证回调\n}\n\nexport interface WxWhitelistUserInfo {\n\tnickname: string;\n\topenid: string; // 微信常用字段命名可能是 open_id\n\tusername: string;\n\twx_name: string;\n\tpic_url: string;\n}\n\nexport type PublishAction = CommonAction<WeixinPublishParams, string>;\n\nexport const weixinPublish: PublishAction = async (task, _params) => {\n\tconst params = defaultParams(_params, { masssend: true });\n\n\tif (params.actionType === \"rpa\") {\n\t\treturn rpaAction(task, params);\n\t}\n\n\tif (params.actionType === \"mockApi\") {\n\t\treturn mockAction(task, params);\n\t}\n\n\treturn executeAction(mockAction, rpaAction)(task, params);\n};\n","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\nimport FormData from \"form-data\";\n\nimport type { PublishAction, WeixinmpPublishParams } from \".\";\nimport type { Weixin } from \"../../types\";\nimport type { AspectRatio } from \"../../utils\";\nimport { calculateCropCoordinates, getFileState } from \"../../utils\";\nimport { Http } from \"../../utils/http\"\n\ntype ColorResponse = {\n\twidth: number;\n\theight: number;\n\ttheme_color: { r: number; g: number; b: number };\n};\ntype ShareInamgeInfo = {\n\tcdn_url: string;\n\tdisable_live: 0;\n\tdisable_theme: 1;\n\tfile_id: number;\n\twidth: number;\n\theight: number;\n\ttheme_color: string;\n\turl: string;\n};\n\nconst saveDraft = (\n\thttp: Http,\n\tparams: WeixinmpPublishParams,\n\tdata: Record<string, unknown>,\n) => {\n\tconst formData = new FormData();\n\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tformData.append(key, value);\n\t}\n\n\treturn http.api({\n\t\tmethod: \"post\",\n\t\turl: \"https://mp.weixin.qq.com/cgi-bin/operate_appmsg\",\n\t\tparams: {\n\t\t\ttoken: params.token,\n\t\t\tt: \"ajax-response\",\n\t\t\tsub: \"update\",\n\t\t\ttype: 77,\n\t\t\tlang: \"zh_CN\",\n\t\t},\n\t\tdata: formData,\n\t});\n};\n\nexport const mockAction: PublishAction = async (task, params) => {\n\tconst tmpCachePath = task.getTmpPath();\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\torigin: \"https://mp.weixin.qq.com\",\n\t\t\treferer: `https://mp.weixin.qq.com/cgi-bin/appmsg?token=${params.token}&lang=zh_CN`,\n\t\t},\n\t});\n\n\t// 1. 上传图片\n\tconst shareImageInfos: ShareInamgeInfo[] = [];\n\tconst cropResult: Record<string, string> = {};\n\n\tif (params.banners && params.banners.length > 0) {\n\t\t// 下载图片到本地\n\t\tconst images = await Promise.all(\n\t\t\tparams.banners.map((url) => {\n\t\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t\t}),\n\t\t);\n\n\t\tfor (let index = 0; index < images.length; index++) {\n\t\t\tconst image = images[index];\n\t\t\tconst fileState = getFileState(image);\n\n\t\t\tconst formData = new FormData();\n\t\t\tformData.append(\"id\", `WU_FILE_${index + 1}`);\n\t\t\tformData.append(\"name\", fileState.name);\n\t\t\tformData.append(\"type\", fileState.type);\n\t\t\tformData.append(\"lastModifiedDate\", fileState.lastModifiedDate);\n\t\t\tformData.append(\"size\", fileState.size);\n\t\t\tformData.append(\"file\", fs.createReadStream(image));\n\n\t\t\tconst response = await http.api<{ cdn_url: string; content: string }>({\n\t\t\t\tmethod: \"post\",\n\t\t\t\turl: `https://mp.weixin.qq.com/cgi-bin/filetransfer?action=upload_material&f=json&writetype=doublewrite&token=${params.token}&lang=zh_CN`,\n\t\t\t\tdata: formData,\n\t\t\t});\n\n\t\t\t// 获取图片的主题色\n\t\t\tconst colorResponseData = await http.api<ColorResponse>({\n\t\t\t\tmethod: \"get\",\n\t\t\t\turl: \"https://mp.weixin.qq.com/cgi-bin/filepage\",\n\t\t\t\tparams: {\n\t\t\t\t\taction: \"getimgext\",\n\t\t\t\t\tfileid: response.content,\n\t\t\t\t\ttoken: params.token,\n\t\t\t\t\tlang: \"zh_CN\",\n\t\t\t\t\tf: \"json\",\n\t\t\t\t\tajax: 1,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tconst themeColor = colorResponseData.theme_color;\n\n\t\t\tshareImageInfos.push({\n\t\t\t\tcdn_url: response.cdn_url,\n\t\t\t\tdisable_live: 0,\n\t\t\t\tdisable_theme: 1,\n\t\t\t\tfile_id: Number(response.content),\n\t\t\t\twidth: colorResponseData.width,\n\t\t\t\theight: colorResponseData.height,\n\t\t\t\ttheme_color: `rgb(${themeColor.r},${themeColor.g},${themeColor.b})`,\n\t\t\t\turl: response.cdn_url,\n\t\t\t});\n\n\t\t\t// 第一张图片还需要添加头图裁切\n\t\t\tif (index === 0) {\n\t\t\t\tconst cropFormData = new FormData();\n\t\t\t\tcropFormData.append(\"imgurl\", response.cdn_url);\n\n\t\t\t\t// 需要裁切 16:9,3:4,1:1 三种尺寸的图片\n\t\t\t\tconst cropRatios: AspectRatio[] = [\n\t\t\t\t\t[16, 9],\n\t\t\t\t\t[1, 1],\n\t\t\t\t\t[3, 4],\n\t\t\t\t];\n\t\t\t\tcropFormData.append(\"size_count\", cropRatios.length);\n\t\t\t\tconst cropCoordinates = cropRatios.map((r, idx) => {\n\t\t\t\t\tconst cropCoordinate = calculateCropCoordinates(\n\t\t\t\t\t\tcolorResponseData.width,\n\t\t\t\t\t\tcolorResponseData.height,\n\t\t\t\t\t\tr,\n\t\t\t\t\t);\n\t\t\t\t\tcropFormData.append(`size${idx}_x1`, cropCoordinate.x1);\n\t\t\t\t\tcropFormData.append(`size${idx}_y1`, cropCoordinate.y1);\n\t\t\t\t\tcropFormData.append(`size${idx}_x2`, cropCoordinate.x2);\n\t\t\t\t\tcropFormData.append(`size${idx}_y2`, cropCoordinate.y2);\n\n\t\t\t\t\treturn { ratio: `${r[0]}_${r[1]}`, ...cropCoordinate };\n\t\t\t\t});\n\n\t\t\t\tcropFormData.append(\"token\", params.token);\n\t\t\t\tcropFormData.append(\"lang\", \"zh_CN\");\n\t\t\t\tcropFormData.append(\"f\", \"json\");\n\t\t\t\tcropFormData.append(\"ajax\", 1);\n\n\t\t\t\tconst cropResponse = await http.api<{ result: Weixin.WeiXinCropResult[] }>({\n method: \"post\",\n url: \"https://mp.weixin.qq.com/cgi-bin/cropimage?action=crop_multi\",\n data: cropFormData\n });\n\n\t\t\t\tcropResult.cdn_url_back0 = response.cdn_url; // 原图\n\t\t\t\tcropResult.cdn_url0 = cropResponse.result[0].cdnurl; // 16:9\n\t\t\t\tcropResult.cdn_235_1_url0 = cropResponse.result[0].cdnurl; // 16:9\n\t\t\t\tcropResult.cdn_16_9_url0 = cropResponse.result[0].cdnurl; // 16:9\n\t\t\t\tcropResult.cdn_1_1_url0 = cropResponse.result[1].cdnurl; // 1:1\n\t\t\t\tcropResult.cdn_3_4_url0 = cropResponse.result[2].cdnurl; // 3:4\n\t\t\t\tcropResult.crop_list0 = JSON.stringify({\n\t\t\t\t\tcrop_list: cropCoordinates.map((it, idx) => ({\n\t\t\t\t\t\tfile_id: cropResponse.result[idx].file_id,\n\t\t\t\t\t\tratio: it.ratio,\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\ty2: 0,\n\t\t\t\t\t})),\n\t\t\t\t\tcrop_list_percent: cropCoordinates.map((it, idx) => ({\n\t\t\t\t\t\t...it,\n\t\t\t\t\t\tfile_id: cropResponse.result[idx].file_id,\n\t\t\t\t\t})),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t// 保存\n\tconst res = await saveDraft(http, params, {\n\t\t...cropResult,\n\t\ttoken: params.token,\n\t\tlang: \"zh_CN\",\n\t\tf: \"json\",\n\t\tajax: 1,\n\t\toperate_from: \"Chrome\",\n\t\ttitle0: params.title,\n\t\tcontent0: params.content,\n\t\tshare_imageinfo0: JSON.stringify(shareImageInfos),\n\t});\n\n return success(res)\n};\n","import path from \"node:path\";\nimport type { CookieMap } from \"@iflyrpa/share\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\n\nimport type { PublishAction, Source } from \"./index\";\n\nconst sourceText: Record<Source, string> = {\n\tai: \"内容由AI生成\",\n\tofficial: \"素材来源官方媒体/网络新闻\",\n\tfictional: \"内容剧情演绎,仅供娱乐\",\n\tpersonal: \"个人观点,仅供参考\",\n};\n\nexport const rpaAction: PublishAction = async (task, params) => {\n\tconst commonCookies: CookieMap[number] = {\n\t\tpath: \"/\",\n\t\tsecure: true,\n\t\tdomain: \"mp.weixin.qq.com\",\n\t\turl: \"https://mp.weixin.qq.com\",\n\t\thttpOnly: true,\n\t};\n\n\tconst page = await task.createPage({\n\t\tshow: task.debug,\n\t\turl:\n\t\t\tparams.url ||\n\t\t\t`https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit_v2&action=edit&isNew=1&type=77&createType=8&token=${params.token}&lang=zh_CN`,\n\t\tcookies: params.cookies?.map((it) => ({ ...commonCookies, ...it })) || [],\n\t});\n\n\tconst tmpCachePath = task.getTmpPath();\n\n\t// 0. 判断是否登录\n\ttry {\n\t\tawait page.waitForSelector(\"#editor_pannel\");\n\t} catch (error) {\n\t\treturn { code: 500, message: \"登录失效\", data: page.url() };\n\t}\n\n\tconst container = page.locator(\"#editor_pannel\");\n\n\t// 1. 添加图片\n\tif (params.banners && params.banners.length > 0) {\n\t\tconst images = await Promise.all(\n\t\t\tparams.banners.map((url) => {\n\t\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t\t}),\n\t\t);\n\n\t\t// 选择文件\n\t\tconst fileChooserPromise = page.waitForEvent(\"filechooser\");\n\t\tawait container.locator(\".image-selector__add\").hover();\n\t\tawait container\n\t\t\t.locator(\".image-selector__add .pop-opr__list .pop-opr__item\")\n\t\t\t.filter({ hasText: \"本地上传\" })\n\t\t\t.click();\n\t\tconst fileChooser = await fileChooserPromise;\n\t\tawait fileChooser.setFiles(images);\n\t}\n\n\t// 2. 标题\n\tconst titleInstance = page.locator(\"#js_title_main textarea#title\");\n\tawait titleInstance.click();\n\tawait titleInstance.fill(params.title);\n\n\t// 3. 正文\n\tconst descInstance = page.locator(\"#guide_words_main .ProseMirror\");\n\tawait descInstance.click();\n\tawait descInstance.fill(params.content);\n\n\t// 4. 来源\n\tif (params.source) {\n\t\tawait container.locator(\"#js_claim_source_area .js_claim_source_desc\").click();\n\t\tawait page\n\t\t\t.locator(\".popover_article_claim_source .frm_radio_item label\")\n\t\t\t.filter({ hasText: sourceText[params.source] })\n\t\t\t.click();\n\t}\n\n\t// 5. 等待所有图片上传完成\n\tif (params.banners && params.banners.length > 0) {\n\t\tawait page.waitForSelector(\"#editor_pannel .image-selector .image-selector__preview\");\n\t}\n\n\t// 6. 保存\n\tif (params.draft) {\n\t\tawait container.locator(\"#bottom_main #js_submit button\").click();\n\t} else {\n\t\tawait container.locator(\"#bottom_main #js_send button\").click();\n\t}\n\n\treturn success(\"\");\n};\n","import type { CommonAction } from \"@iflyrpa/share\";\n\nimport type { ActiomCommonParams } from \"../../types\";\nimport { executeAction } from \"../../utils\";\nimport { mockAction } from \"./mock\";\nimport { rpaAction } from \"./rpa\";\n\nexport type Source = \"ai\" | \"official\" | \"fictional\" | \"personal\";\n\nexport interface WeixinmpPublishParams extends ActiomCommonParams {\n\ttoken: string | number;\n\tbanners?: string[];\n\ttitle: string; // 标题\n\tcontent: string; // 正文\n\t/**\n\t * 内容由AI生成 - ai\n\t * 素材来源官方媒体/网络新闻 - official\n\t * 内容剧情演绎,仅供娱乐 - fictional\n\t * 个人观点,仅供参考 - personal\n\t */\n\tsource?: Source; // 来源\n\tdraft?: boolean; // 是否为草稿\n}\n\nexport type PublishAction = CommonAction<WeixinmpPublishParams>;\n\nexport const weixinmpPublish: PublishAction = async (task, params) => {\n\tif (params.actionType === \"rpa\") {\n\t\treturn rpaAction(task, params);\n\t}\n\n\tif (params.actionType === \"mockApi\") {\n\t\treturn mockAction(task, params);\n\t}\n\n\treturn executeAction(mockAction, rpaAction)(task, params);\n};\n","import fs from \"node:fs\";\n\nimport path from \"node:path\";\nimport {downloadImage, getFilenameFromUrl, success} from \"@iflyrpa/share\";\nimport {type PublishAction} from \".\";\nimport {Http} from \"../../utils/http\";\nimport {Xhshow} from \"../../utils/xhs_ob\";\nimport {CollectionResponse} from \"../getXhsCollection\";\nconst GenXSCommon = require(\"../../utils/XhsXsCommonEnc.js\") as (a1cookie: string, x_t: string|number, x_s:string) => string;\n\ninterface CommonResponse<T = unknown> {\n data: T;\n proxyInfo?: Record<string, any>\n code: number;\n success: boolean;\n}\n\ninterface UploadTempPermit<T = string[]> {\n bucket: string;\n uploadAddr: string;\n fileIds: T;\n token: string;\n}\n\nconst errnoMap: Record<number, string> = {\n 915: \"所属C端账号手机号被修改,请重新登录\",\n 914: \"所属C端账号密码被修改,请重新登录\",\n 903: \"账户已登出,需重新登陆重试!\",\n 902: \"登录已过期,请重新登录!\",\n 906: \"账号存在风险,请重新登录\"\n};\n\n// 小红书参数加密器\nconst xsEncrypt = new Xhshow();\n\nexport const mockAction: PublishAction = async (task, params) => {\n const tmpCachePath = task.getTmpPath();\n if ( params?.selfDeclaration?.type == \"source-statement\" && params.selfDeclaration.childType == \"transshipment\" && params.originalBind ) return {code: 200, message: \"原创声明与转载声明互斥,请重新选择后发布!\", data: \"\"};\n const a1Cookie = params.cookies.find((it) => it.name === \"a1\")?.value;\n if (!a1Cookie) {\n return {code: 200, message: \"账号数据异常,请重新绑定账号后重试。\", data: \"\"};\n }\n const headers = {\n cookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n origin: \"https://creator.xiaohongshu.com\",\n referer: \"https://creator.xiaohongshu.com/\",\n \"user-agent\":\n \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36\",\n }\n const http = new Http({headers});\n\n // 添加响应拦截器\n http.addResponseInterceptor<CommonResponse>((response) => {\n const responseData = response.data;\n\n // 检查响应中的 errno 字段\n if (responseData?.code && responseData.code !== 0) {\n const errmsg = errnoMap[responseData.code] || response.config.defaultErrorMsg || \"文章发布异常,请稍后重试。\";\n\n return {\n code: errnoMap[responseData.code] ? 200 : 500,\n message: errmsg,\n data: responseData\n };\n }\n });\n \n // 0. 获取上传 token\n const fetchCoverUrl = `/api/media/v1/upload/creator/permit`;\n const fetchCoverParams = {\n biz_name: \"spectrum\", \n scene: \"image\", \n file_count: params.banners.length,\n version: 1, \n source: \"web\"\n }\n const xt = Date.now().toString();\n const xs = xsEncrypt.signXsGet(fetchCoverUrl, a1Cookie, \"xhs-pc-web\", fetchCoverParams);\n const coverIdInfo = await http.api<CommonResponse<{ uploadTempPermits: UploadTempPermit[] }>>({\n method: \"get\",\n baseURL: \"https://creator.xiaohongshu.com\",\n url: fetchCoverUrl,\n defaultErrorMsg: \"获取小红书用户信息失败,请稍后重试发布。\",\n headers: {\"x-s\": xs, \"x-t\": xt},\n params: fetchCoverParams\n });\n\n let uploadInfos: UploadTempPermit<string>[] = [];\n coverIdInfo.data.uploadTempPermits.forEach((item: UploadTempPermit<string[]>) => {\n item.fileIds.forEach(fileId => {\n uploadInfos.push({\n bucket: item.bucket || \"\",\n uploadAddr: item.uploadAddr || \"\",\n fileIds: fileId,\n token: item.token || \"\"\n });\n });\n });\n\n\n if (uploadInfos.length < params.banners.length) return {code: 200, message: \"可用 OSS bucket 数量不足,无法上传所有图片!\", data: \"\"};\n\n if (uploadInfos.length === 0) return {code: 200, message: \"图片上传失败,请稍后重试!\", data: \"\"};\n\n const availableBuckets = Array.from({length: uploadInfos.length}, (_, i) => i);\n\n const uploadFile = async (url: string, index: number): Promise<{\n ossFileId: string;\n ossToken: string;\n }> => {\n const fileName = getFilenameFromUrl(url);\n const localUrl = await downloadImage(url, path.join(tmpCachePath, fileName));\n const fileBuffer = fs.readFileSync(localUrl);\n\n const MAX_RETRIES = uploadInfos.length;\n let attempt = 0;\n\n while (attempt < MAX_RETRIES) {\n // 分配 bucket\n const ossBucketIndex = availableBuckets.shift(); // 移除并获取第一个可用 bucket\n\n if (ossBucketIndex === undefined) {\n return {ossFileId: \"\", ossToken: \"\"}; // 没有可用 bucket\n }\n\n const currentInfo = uploadInfos[ossBucketIndex];\n const ossFileId = currentInfo.fileIds;\n const ossToken = currentInfo.token;\n const ossDomain = currentInfo.uploadAddr;\n\n try {\n await http.api({\n method: \"put\",\n url: `https://${ossDomain}/${ossFileId}`,\n data: fileBuffer,\n headers: {\n \"x-cos-security-token\": ossToken,\n },\n defaultErrorMsg: \"图片上传异常,请稍后重试发布。\",\n });\n return {ossFileId, ossToken};\n } catch (error) {\n attempt++;\n }\n }\n return {ossFileId: \"\", ossToken: \"\"}; // 所有尝试失败\n };\n\n const coverInfos = await Promise.all(params.banners.map((it, idx) => uploadFile(it, idx)));\n const invalidUpload = coverInfos.find((it) => it.ossToken === \"\" || it.ossFileId == \"\")\n if (invalidUpload) return {code: 200, message: \"图片上传异常,请稍后重试发布。\", data: \"\"}\n\n if (params.topic && params.topic.length > 0) {\n await Promise.all(params.topic.map(async (topic) => {\n if (!topic[\"id\"]) {\n const topicData = {topic_names: topic[\"name\"]}\n const publishXt = Date.now().toString();\n const publishXs = xsEncrypt.signXsPost(`/web_api/sns/capa/postgw/topic/batch_customized`, a1Cookie,\"xhs-pc-web\", topicData);\n let createTopic = await http.api({\n method: \"POST\",\n url: \"https://edith.xiaohongshu.com/web_api/sns/capa/postgw/topic/batch_customized\",\n headers: {\n \"x-s\": publishXs,\n \"x-t\": publishXt,\n },\n data: topicData,\n defaultErrorMsg: \"话题创建异常,请稍后重试。\",\n })\n Object.assign(topic, createTopic.data.topic_infos[0])\n }\n }))\n };\n \n const visibleRangeMap = {\n \"public\": 0,\n \"private\": 1,\n \"friends\": 4\n }\n\n const publishData = {\n common: {\n ats: [],\n biz_relations: [],\n desc: params?.content,\n goods_info: {},\n hash_tag: params.topic || [],\n note_id: \"\",\n source: JSON.stringify({\n type: \"web\",\n ids: \"\",\n extraInfo: '{\"systemId\":\"web\"}',\n }),\n title: params?.title,\n type: \"normal\",\n privacy_info: {\n op_type: 1,\n type: visibleRangeMap[params.visibleRange] || 1 ,\n },\n post_loc: params.address\n ? {\n name: params.address?.name,\n poi_id: params.address?.poi_id,\n poi_type: params.address?.poi_type,\n subname: params.address?.full_address,\n }\n : null,\n business_binds: \"\",\n },\n image_info: {\n images: coverInfos.map((it) => ({\n extra_info_json: '{\"mimeType\":\"image/png\"}',\n file_id: it.ossFileId,\n metadata: {source: -1},\n stickers: {floating: [], version: 2},\n })),\n },\n video_info: null,\n };\n\n // 自主声明\n const userDeclarationBind = {\n origin: 2,\n photoInfo: {},\n repostInfo: {},\n };\n\n if (params.selfDeclaration?.type === \"fictional-rendition\") {\n // 虚拟演绎,仅供娱乐\n userDeclarationBind.origin = 1;\n } else if (params.selfDeclaration?.type === \"ai-generated\") {\n // 笔记含AI合成内容\n userDeclarationBind.origin = 2;\n } else if (params.selfDeclaration?.type === \"source-statement\") {\n // 内容来源声明\n if (params.selfDeclaration.childType === \"self-labeling\") {\n // 已自主标注\n userDeclarationBind.origin = 3;\n } else if (params.selfDeclaration.childType === \"self-shooting\") {\n // 自主拍摄\n userDeclarationBind.origin = 4;\n const photoInfo: { photoPlace?: unknown; photoTime?: string } = {};\n\n if (params.selfDeclaration.shootingLocation) {\n // 拍摄地点\n photoInfo.photoPlace = {\n name: params.selfDeclaration.shootingLocation.name,\n poiId: params.selfDeclaration.shootingLocation.poi_id,\n poiType: params.selfDeclaration.shootingLocation.poi_type,\n subname: params.selfDeclaration.shootingLocation.full_address,\n };\n }\n\n if (params.selfDeclaration.shootingDate) {\n // 拍摄日期\n photoInfo.photoTime = params.selfDeclaration.shootingDate;\n }\n\n userDeclarationBind.photoInfo = photoInfo;\n } else if (params.selfDeclaration.childType === \"transshipment\") {\n // 来源转载\n userDeclarationBind.origin = 5;\n\n if (params.selfDeclaration.sourceMedia) {\n // 来源媒体\n userDeclarationBind.repostInfo = {\n source: params.selfDeclaration.sourceMedia,\n };\n }\n }\n }\n const bizId =\n params?.originalBind &&\n (\n params.cookies.find((it) => it.name === \"x-user-id-creator.xiaohongshu.com\")?.value ||\n await http.api<CollectionResponse>({\n method: \"get\",\n url: \"https://creator.xiaohongshu.com/api/galaxy/user/my-info\",\n }).then((userData) => userData.data?.userDetail?.id)\n );\n \n const business_binds = {\n version: 1,\n bizType: \"\",\n noteId: \"\",\n noteOrderBind: {},\n // 发布时间 - 立即发布/定时发布\n notePostTiming: params.isImmediatelyPublish ? {} : {postTime: params.scheduledPublish},\n coProduceBind: {enable: !!params?.coProduceBind}, // 是否允许合拍\n noteCopyBind: {copyable: !!params?.noteCopyBind}, // 关闭允许复制\n optionRelationList: params.originalBind ? [{ // 原创声明\n type: \"ORIGINAL_STATEMENT\",\n relationList: [{\n bizId,\n bizType: \"ORIGINAL_STATEMENT\",\n extraInfo: \"{}\"\n }]\n }] : [],\n ...(params?.groupBind ? { groupBind: { groupId: params?.groupBind?.group_id, groupName: params.groupBind?.group_name, desc: params.groupBind?.desc, avatar: params.groupBind?.avatar}} : {groupBind:{}}),\n ...(params.selfDeclaration ? {userDeclarationBind} : {}),\n ...(params?.collectionId ? { noteCollectionBind:{ id: params.collectionId }}: {}),\n \n };\n\n publishData.common.business_binds = JSON.stringify(business_binds);\n \n const publishXt = Date.now().toString();\n const publishXs = xsEncrypt.signXsPost(`/web_api/sns/v2/note`, a1Cookie,\"xhs-pc-web\", publishData);\n const xscommon = GenXSCommon(a1Cookie, publishXt, publishXs)\n \n const proxyHttp = task?.isBeta ?? false ? new Http({headers}, params.proxyLoc, params.huiwenToken ) : http;\n \n task._timerRecord['PrePublish']= Date.now();\n // 发布\n const publishResult = await proxyHttp.api<CommonResponse<{ id: string }>>({\n method: \"post\",\n url: \"https://edith.xiaohongshu.com/web_api/sns/v2/note\",\n data: publishData,\n headers: {\n \"x-s\": publishXs,\n \"x-t\": publishXt,\n \"x-s-common\": xscommon\n },\n defaultErrorMsg: \"文章发布异常,请稍后重试。\",\n }, {retries: 2, retryDelay: 500});\n\n return success(publishResult.data?.id, `文章发布成功!`+ (proxyHttp.proxyInfo || \"\"));\n};\n","import { Buffer } from \"node:buffer\";\nimport crypto from \"node:crypto\";\n\n/**\n * 小红书加密参数逆向,代码来自:https://github.com/Cloxl/xhshow \n */\n\n/**\n * 加密处理相关配置常量\n */\nclass CryptoConfig {\n // 位操作相关常量\n static readonly MAX_32BIT = 0xFFFFFFFF; // 32位无符号整数最大值掩码\n static readonly MAX_SIGNED_32BIT = 0x7FFFFFFF; // 32位有符号整数最大值\n\n // Base58编码相关常量\n static readonly BASE58_ALPHABET = \"NOPQRStuvwxWXYZabcyz012DEFTKLMdefghijkl4563GHIJBC7mnop89+/AUVqrsOPQefghijkABCDEFGuvwz0123456789xy\";\n static readonly STANDARD_BASE64_ALPHABET = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n static readonly CUSTOM_BASE64_ALPHABET = \"ZmserbBoHQtNP+wOcza/LpngG8yJq42KWYj0DSfdikx3VT16IlUAFM97hECvuRX5\";\n static readonly BASE58_BASE = 58; // Base58进制基数\n static readonly BYTE_SIZE = 256; // 字节大小(2^8)\n\n // XOR 密钥\n static readonly HEX_KEY = \"af572b95ca65b2d9ec76bb5d2e97cb653299cc663399cc663399cce673399cce6733190c06030100000000008040209048241289c4e271381c0e0703018040a05028148ac56231180c0683c16030984c2693c964b259ac56abd5eaf5fafd7e3f9f4f279349a4d2e9743a9d4e279349a4d2e9f47a3d1e8f47239148a4d269341a8d4623110884422190c86432994ca6d3e974baddee773b1d8e47a35128148ac5623198cce6f3f97c3e1f8f47a3d168b45aad562b158ac5e2f1f87c3e9f4f279349a4d269b45aad56\";\n\n // 时间戳相关常量\n static readonly TIMESTAMP_BYTES_COUNT = 16; // 时间戳字节数组长度\n static readonly TIMESTAMP_XOR_KEY = 41; // 时间戳编码XOR密钥\n static readonly STARTUP_TIME_OFFSET_MIN = 1000; // 启动时间偏移最小值\n static readonly STARTUP_TIME_OFFSET_MAX = 4000; // 启动时间偏移最大值\n\n // 十六进制处理相关常量\n static readonly EXPECTED_HEX_LENGTH = 32; // 十六进制参数预期长度\n static readonly OUTPUT_BYTE_COUNT = 8; // 处理后输出字节数\n static readonly HEX_CHUNK_SIZE = 2; // 十六进制字符块大小\n\n // 载荷构建相关常量\n static readonly VERSION_BYTES = [119, 104, 96, 41]; // 版本标识字节\n static readonly FIXED_SEPARATOR_BYTES = [16, 0, 0, 0, 15, 5, 0, 0, 47, 1, 0, 0]; // 固定分隔符字节\n static readonly RANDOM_BYTE_COUNT = 4; // 随机字节数量\n static readonly FIXED_INT_VALUE_1 = 15; // 固定整数值1\n static readonly FIXED_INT_VALUE_2 = 1291; // 固定整数值2\n\n static readonly ENV_STATIC_BYTES = [ // 环境变量静态字节\n 1, 249, 83, 102, 103, 201, 181, 131, 99, 94, 7, 68, 250, 132, 21,\n ];\n\n // 签名数据模板\n static readonly SIGNATURE_DATA_TEMPLATE = {\n x0: \"4.2.2\",\n x1: \"xhs-pc-web\",\n x2: \"Windows\",\n x3: \"\",\n x4: \"object\",\n };\n\n // 前缀常量\n static readonly X3_PREFIX = \"mns0101_\";\n static readonly XYS_PREFIX = \"XYS_\";\n}\n\n/**\n * 随机数生成工具类\n */\nclass RandomGenerator {\n /**\n * 生成指定长度的随机字节数组\n */\n generateRandomBytes(byteCount: number): number[] {\n return Array.from({ length: byteCount }, () => Math.floor(Math.random() * CryptoConfig.BYTE_SIZE));\n }\n\n /**\n * 生成指定范围内的随机字节\n */\n generateRandomByteInRange(minVal: number, maxVal: number): number {\n return Math.floor(Math.random() * (maxVal - minVal + 1)) + minVal;\n }\n\n /**\n * 生成4字节随机整数\n */\n generateRandomInt(): number {\n return Math.floor(Math.random() * (CryptoConfig.MAX_32BIT + 1));\n }\n}\n\n/**\n * 十六进制数据处理工具类\n */\nclass HexProcessor {\n /**\n * 将十六进制字符串转换为字节数组\n */\n hexStringToBytes(hexString: string): number[] {\n const byteValues: number[] = [];\n for (let i = 0; i < hexString.length; i += CryptoConfig.HEX_CHUNK_SIZE) {\n const hexChunk = hexString.substr(i, CryptoConfig.HEX_CHUNK_SIZE);\n byteValues.push(parseInt(hexChunk, 16));\n }\n return byteValues;\n }\n\n /**\n * 处理十六进制参数\n */\n processHexParameter(hexString: string, xorKey: number): number[] {\n if (hexString.length !== CryptoConfig.EXPECTED_HEX_LENGTH) {\n throw new Error(`hex parameter must be ${CryptoConfig.EXPECTED_HEX_LENGTH} characters`);\n }\n\n const byteValues = this.hexStringToBytes(hexString);\n return byteValues\n .map(byteVal => byteVal ^ xorKey)\n .slice(0, CryptoConfig.OUTPUT_BYTE_COUNT);\n }\n}\n\n/**\n * 位操作和种子变换工具类\n */\nclass BitOperations {\n /**\n * 将值标准化为32位\n */\n normalizeTo32bit(value: number): number {\n return value & CryptoConfig.MAX_32BIT;\n }\n\n /**\n * 将无符号32位值转换为有符号32位值\n */\n toSigned32bit(unsignedValue: number): number {\n if (unsignedValue > CryptoConfig.MAX_SIGNED_32BIT) {\n return unsignedValue - 0x100000000;\n }\n return unsignedValue;\n }\n\n /**\n * 计算种子值变换\n */\n computeSeedValue(seed32bit: number): number {\n const normalizedSeed = this.normalizeTo32bit(seed32bit);\n\n const shift15Bits = normalizedSeed >> 15;\n const shift13Bits = normalizedSeed >> 13;\n const shift12Bits = normalizedSeed >> 12;\n const shift10Bits = normalizedSeed >> 10;\n\n const xorMaskedResult = (shift15Bits & ~shift13Bits) | (shift13Bits & ~shift15Bits);\n const shiftedResult = ((xorMaskedResult ^ shift12Bits ^ shift10Bits) << 31) & CryptoConfig.MAX_32BIT;\n\n return this.toSigned32bit(shiftedResult);\n }\n\n /**\n * 对整数数组进行XOR变换\n */\n xorTransformArray(sourceIntegers: number[]): Uint8Array {\n const resultBytes = new Uint8Array(sourceIntegers.length);\n const hexKeyBytes = Buffer.from(CryptoConfig.HEX_KEY, 'hex');\n\n for (let index = 0; index < sourceIntegers.length; index++) {\n resultBytes[index] = (sourceIntegers[index] ^ hexKeyBytes[index]) & 0xFF;\n }\n\n return resultBytes;\n }\n}\n\n/**\n * Base58编码器\n */\nclass Base58Encoder {\n /**\n * 将字节数据编码为Base58字符串\n */\n encodeToB58(inputBytes: Uint8Array | number[]): string {\n const bytesArray = Array.isArray(inputBytes) ? inputBytes : Array.from(inputBytes);\n const numberAccumulator = this.bytesToNumber(bytesArray);\n const leadingZerosCount = this.countLeadingZeros(bytesArray);\n const encodedCharacters = this.numberToBase58Chars(numberAccumulator);\n\n encodedCharacters.push(...Array(leadingZerosCount).fill(CryptoConfig.BASE58_ALPHABET[0]));\n return encodedCharacters.reverse().join('');\n }\n\n /**\n * 将字节数组转换为数字\n */\n private bytesToNumber(inputBytes: Uint8Array | number[]): bigint {\n const bytesArray = Array.isArray(inputBytes) ? inputBytes : Array.from(inputBytes);\n let result: bigint = 0n;\n const BYTE_SIZE: bigint = 256n;\n \n for (const byteValue of bytesArray) {\n result = result * BYTE_SIZE + BigInt(byteValue);\n }\n \n return result;\n }\n \n /**\n * 计算前导零的数量\n */\n private countLeadingZeros(inputBytes: number[]): number {\n let count = 0;\n for (const byteValue of inputBytes) {\n if (byteValue === 0) {\n count++;\n } else {\n break;\n }\n }\n return count;\n }\n\n /**\n * 将数字转换为Base58字符数组\n */\n private numberToBase58Chars(number: bigint): string[] {\n const characters: string[] = [];\n const base = BigInt(CryptoConfig.BASE58_BASE);\n \n while (number > 0n) {\n const remainder = number % base;\n characters.push(CryptoConfig.BASE58_ALPHABET[Number(remainder)]);\n number = number / base; // bigint 除法自动向下取整\n }\n \n return characters;\n } \n}\n\n/**\n * Base64编码器\n */\nclass Base64Encoder {\n /**\n * 使用自定义的Base64码表来编码一个字符串\n */\n encodeToB64(dataToEncode: string): string {\n const dataBytes = Buffer.from(dataToEncode, 'utf-8');\n const standardEncodedString = dataBytes.toString('base64');\n\n let result = '';\n for (const char of standardEncodedString) {\n const index = CryptoConfig.STANDARD_BASE64_ALPHABET.indexOf(char);\n if (index !== -1) {\n result += CryptoConfig.CUSTOM_BASE64_ALPHABET[index];\n } else {\n result += char; // 保持填充字符等\n }\n }\n\n return result;\n }\n}\n\n/**\n * 请求签名参数验证器\n */\nclass RequestSignatureValidator {\n /**\n * 验证HTTP方法参数\n */\n static validateMethod(method: any): 'GET' | 'POST' {\n if (typeof method !== 'string') {\n throw new TypeError(`method must be string, got ${typeof method}`);\n }\n\n const upperMethod = method.trim().toUpperCase();\n if (upperMethod !== 'GET' && upperMethod !== 'POST') {\n throw new Error(`method must be 'GET' or 'POST', got '${upperMethod}'`);\n }\n\n return upperMethod as 'GET' | 'POST';\n }\n\n /**\n * 验证URI参数\n */\n static validateUri(uri: any): string {\n if (typeof uri !== 'string') {\n throw new TypeError(`uri must be string, got ${typeof uri}`);\n }\n\n if (!uri.trim()) {\n throw new Error('uri cannot be empty');\n }\n\n return uri.trim();\n }\n\n /**\n * 验证a1值参数\n */\n static validateA1Value(a1Value: any): string {\n if (typeof a1Value !== 'string') {\n throw new TypeError(`a1_value must be string, got ${typeof a1Value}`);\n }\n\n if (!a1Value.trim()) {\n throw new Error('a1_value cannot be empty');\n }\n\n return a1Value.trim();\n }\n\n /**\n * 验证xsec_appid参数\n */\n static validateXsecAppid(xsecAppid: any): string {\n if (typeof xsecAppid !== 'string') {\n throw new TypeError(`xsec_appid must be string, got ${typeof xsecAppid}`);\n }\n\n if (!xsecAppid.trim()) {\n throw new Error('xsec_appid cannot be empty');\n }\n\n return xsecAppid.trim();\n }\n\n /**\n * 验证payload参数\n */\n static validatePayload(payload: any): Record<string, any> | null {\n if (payload !== null && typeof payload !== 'object') {\n throw new TypeError(`payload must be object or null, got ${typeof payload}`);\n }\n\n // 验证payload键类型\n if (payload !== null && payload !== undefined) {\n for (const key in payload) {\n if (typeof key !== 'string') {\n throw new TypeError(`payload keys must be string, got ${typeof key} for key '${key}'`);\n }\n }\n }\n\n return payload;\n }\n}\n\n/**\n * 加密处理器\n */\nclass CryptoProcessor {\n public bitOps: BitOperations;\n public b58encoder: Base58Encoder;\n public b64encoder: Base64Encoder;\n public hexProcessor: HexProcessor;\n public randomGen: RandomGenerator;\n\n constructor() {\n this.bitOps = new BitOperations();\n this.b58encoder = new Base58Encoder();\n this.b64encoder = new Base64Encoder();\n this.hexProcessor = new HexProcessor();\n this.randomGen = new RandomGenerator();\n }\n\n /**\n * 8字节时间戳编码,小端序,与41异或,首字节可随机\n */\n private encodeTimestamp(ts: number, randomizeFirst: boolean = true): number[] {\n const key = Array(8).fill(CryptoConfig.TIMESTAMP_XOR_KEY);\n const arr = this.intToLeBytes(ts, 8);\n const encoded = arr.map((a, i) => a ^ key[i]);\n if (randomizeFirst) {\n encoded[0] = this.randomGen.generateRandomByteInRange(0, 255);\n }\n return encoded;\n }\n\n /**\n * 整数转小端序字节数组\n */\n private intToLeBytes(val: number, length: number = 4): number[] {\n const arr: number[] = [];\n for (let i = 0; i < length; i++) {\n arr.push(val & 0xFF);\n val >>>= 8;\n }\n return arr;\n }\n\n /**\n * UTF-8字符串转字节数组,前面加1字节长度\n */\n private strToLenPrefixedBytes(s: string): number[] {\n const buf = Buffer.from(s, 'utf-8');\n return [buf.length, ...Array.from(buf)];\n }\n\n /**\n * 构建环境字节数组\n */\n private buildEnvironmentBytes(): number[] {\n return [\n CryptoConfig.ENV_STATIC_BYTES[0],\n this.randomGen.generateRandomByteInRange(10, 254),\n ...CryptoConfig.ENV_STATIC_BYTES.slice(1)\n ];\n }\n\n /**\n * 构建载荷数组\n */\n buildPayloadArray(\n hexParameter: string,\n a1Value: string,\n appIdentifier: string = \"xhs-pc-web\",\n stringParam: string = \"\"\n ): number[] {\n // 生成随机数和时间戳\n const randNum = this.randomGen.generateRandomInt();\n const ts = Date.now(); // 毫秒时间戳\n const startupTs = ts - (\n CryptoConfig.STARTUP_TIME_OFFSET_MIN +\n this.randomGen.generateRandomByteInRange(\n 0,\n CryptoConfig.STARTUP_TIME_OFFSET_MAX - CryptoConfig.STARTUP_TIME_OFFSET_MIN\n )\n );\n\n const arr: number[] = [];\n arr.push(...CryptoConfig.VERSION_BYTES); // 固定头\n\n const randBytes = this.intToLeBytes(randNum, 4);\n arr.push(...randBytes);\n\n const xorKey = randBytes[0];\n\n // 时间戳编码\n arr.push(...this.encodeTimestamp(ts, true));\n arr.push(...this.intToLeBytes(startupTs, 8));\n arr.push(...this.intToLeBytes(CryptoConfig.FIXED_INT_VALUE_1));\n arr.push(...this.intToLeBytes(CryptoConfig.FIXED_INT_VALUE_2));\n\n // 字符串参数长度\n const stringParamLength = Buffer.from(stringParam, 'utf-8').length;\n arr.push(...this.intToLeBytes(stringParamLength));\n\n // MD5字节与xor_key异或\n const md5Bytes = Buffer.from(hexParameter, 'hex');\n const xorMd5Bytes = Array.from(md5Bytes).map(b => b ^ xorKey);\n arr.push(...xorMd5Bytes.slice(0, 8));\n\n // a1值和平台ID\n arr.push(...this.strToLenPrefixedBytes(a1Value));\n arr.push(...this.strToLenPrefixedBytes(appIdentifier));\n\n // 尾部数据\n arr.push(\n CryptoConfig.ENV_STATIC_BYTES[0],\n this.randomGen.generateRandomByteInRange(0, 255),\n ...CryptoConfig.ENV_STATIC_BYTES.slice(1)\n );\n\n return arr;\n }\n}\n\n/**\n * 小红书请求客户端封装\n */\nexport class Xhshow {\n private cryptoProcessor: CryptoProcessor;\n\n constructor() {\n this.cryptoProcessor = new CryptoProcessor();\n }\n\n /**\n * 构建内容字符串(用于MD5计算和签名生成)\n */\n private buildContentString(\n method: string,\n uri: string,\n payload?: Record<string, any> | null\n ): string {\n payload = payload || {};\n\n if (method.toUpperCase() === \"POST\") {\n return uri + JSON.stringify(payload);\n } else {\n if (!payload || Object.keys(payload).length === 0) {\n return uri;\n } else {\n const params = Object.entries(payload).map(([key, value]) => {\n let valueStr = '';\n if (Array.isArray(value)) {\n valueStr = value.map(v => String(v)).join(',');\n } else if (value !== null && value !== undefined) {\n valueStr = String(value);\n }\n return `${key}=${valueStr}`;\n });\n return `${uri}?${params.join('&')}`;\n }\n }\n }\n\n /**\n * 从内容字符串生成d值(MD5哈希)\n */\n private generateDValue(content: string): string {\n return crypto.createHash('md5').update(content, 'utf-8').digest('hex');\n }\n\n /**\n * 构建签名\n */\n private buildSignature(\n dValue: string,\n a1Value: string,\n xsecAppid: string = \"xhs-pc-web\",\n stringParam: string = \"\"\n ): string {\n // 构建载荷数组\n const payloadArray = this.cryptoProcessor.buildPayloadArray(\n dValue,\n a1Value,\n xsecAppid,\n stringParam\n );\n\n // XOR变换\n const xorResult = this.cryptoProcessor.bitOps.xorTransformArray(payloadArray);\n\n // Base58编码\n return this.cryptoProcessor.b58encoder.encodeToB58(xorResult);\n }\n\n /**\n * 生成请求签名(支持GET和POST)\n */\n signXs(\n method: 'GET' | 'POST',\n uri: string,\n a1Value: string,\n xsecAppid: string = \"xhs-pc-web\",\n payload?: Record<string, any> | null\n ): string {\n // 参数验证\n const validatedMethod = RequestSignatureValidator.validateMethod(method);\n const validatedUri = RequestSignatureValidator.validateUri(uri);\n const validatedA1Value = RequestSignatureValidator.validateA1Value(a1Value);\n const validatedXsecAppid = RequestSignatureValidator.validateXsecAppid(xsecAppid);\n const validatedPayload = RequestSignatureValidator.validatePayload(payload);\n\n const signatureData = { ...CryptoConfig.SIGNATURE_DATA_TEMPLATE };\n\n // 构建内容字符串\n const contentString = this.buildContentString(validatedMethod, validatedUri, validatedPayload);\n\n // 生成d值和x3签名\n const dValue = this.generateDValue(contentString);\n signatureData.x3 = (\n CryptoConfig.X3_PREFIX +\n this.buildSignature(dValue, validatedA1Value, validatedXsecAppid, contentString)\n );\n\n return (\n CryptoConfig.XYS_PREFIX +\n this.cryptoProcessor.b64encoder.encodeToB64(JSON.stringify(signatureData))\n );\n }\n\n /**\n * 生成GET请求签名(便捷方法)\n */\n signXsGet(\n uri: string,\n a1Value: string,\n xsecAppid: string = \"xhs-pc-web\",\n params?: Record<string, any> | null\n ): string {\n // 参数验证\n const validatedUri = RequestSignatureValidator.validateUri(uri);\n const validatedA1Value = RequestSignatureValidator.validateA1Value(a1Value);\n const validatedXsecAppid = RequestSignatureValidator.validateXsecAppid(xsecAppid);\n const validatedParams = RequestSignatureValidator.validatePayload(params);\n\n return this.signXs(\"GET\", validatedUri, validatedA1Value, validatedXsecAppid, validatedParams);\n }\n\n /**\n * 生成POST请求签名(便捷方法)\n */\n signXsPost(\n uri: string,\n a1Value: string,\n xsecAppid: string = \"xhs-pc-web\",\n payload?: Record<string, any> | null\n ): string {\n // 参数验证\n const validatedUri = RequestSignatureValidator.validateUri(uri);\n const validatedA1Value = RequestSignatureValidator.validateA1Value(a1Value);\n const validatedXsecAppid = RequestSignatureValidator.validateXsecAppid(xsecAppid);\n const validatedPayload = RequestSignatureValidator.validatePayload(payload);\n\n return this.signXs(\"POST\", validatedUri, validatedA1Value, validatedXsecAppid, validatedPayload);\n }\n}\n\n// 默认导出\nexport default Xhshow;","import path from \"node:path\";\nimport type { CookieMap, Locator, Response } from \"@iflyrpa/share\";\nimport { downloadImage, getFilenameFromUrl, success } from \"@iflyrpa/share\";\nimport { Xhshow } from \"../../utils/xhsXsEncrypt\";\nimport type { PublishAction } from \"./index\";\nconst GenXSCommon = require(\"../../utils/XhsXsCommonEnc.js\") as (a1cookie: string, x_t: string|number, x_s:string) => string;\n\n// 小红书参数加密器\nconst xsEncrypt = new Xhshow();\n\nexport const rpaAction: PublishAction = async (task, params) => {\n\tconst commonCookies: CookieMap[number] = {\n\t\tpath: \"/\",\n\t\tsameSite: \"lax\",\n\t\tsecure: false,\n\t\tdomain: \"xiaohongshu.com\",\n\t\turl: \"https://creator.xiaohongshu.com\",\n\t\thttpOnly: true,\n\t};\n\n\tconst page = await task.createPage({\n\t\tshow: task.debug,\n\t\turl: params.url || \"https://creator.xiaohongshu.com/publish/publish\",\n\t\tcookies: params.cookies?.map((it) => ({ ...commonCookies, ...it })) || [],\n\t});\n\n\tconst tmpCachePath = task.getTmpPath();\n\n\tconst interceptUrls = [\n\t\t'/api/media/v1/upload/creator/permit',\n\t\t'/api/galaxy/v2/creator/activity_center/list',\n\t\t'/web_api/sns/v5/creator/topic/template/list',\n\t\t'/web_api/sns/v5/creator/file/encryption',\n\t\t'/web_api/sns/capa/postgw/topic/batch_customized',\n\t\t'/web_api/sns/v2/note'\n\t];\n\n\tawait page.route('**', async (route, request) => {\n\t\tconst url = request.url();\n\t\tif (interceptUrls.some(pattern => url.includes(pattern))) {\n\t\t\tconst urlObj = new URL(url);\n\t\t\tconst fetchCoverUrl = urlObj.pathname + urlObj.search;\n const fetchCoverParams = Object.fromEntries(new URLSearchParams(urlObj.search));\n\t\t\tconst xt = Date.now().toString();\n\n\t\t\tconst a1Cookie = params.cookies.find((it) => it.name === \"a1\")?.value;\n\t\t\tif (!a1Cookie) {\n\t\t\t\tawait route.fulfill({\n\t\t\t\t\tstatus: 200,\n\t\t\t\t\tcontentType: 'application/json',\n\t\t\t\t\tbody: JSON.stringify({ code: 200, message: \"账号数据异常,请重新绑定账号后重试。\", data: \"\" })\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isNoteRequest = urlObj.pathname.includes(interceptUrls[5]);\n\n\t\t\tconst xs = await (isNoteRequest\n\t\t\t\t? (async () => {\n\t\t\t\t\tconst publishData = JSON.parse(request.postData() || \"\")\n\t\t\t\t\treturn xsEncrypt.signXsPost(interceptUrls[5], a1Cookie,\"xhs-pc-web\" ,publishData);\n\t\t\t\t })(): xsEncrypt.signXsGet(urlObj.pathname, a1Cookie, \"xhs-pc-web\" , fetchCoverParams))\n\n const xscommon = GenXSCommon(a1Cookie, xt, xs)\n\n\t\t\tconst newHeaders = {\n\t\t\t\t...request.headers(),\n\t\t\t\t'x-s': xs,\n 'x-s-common':xscommon\n\t\t\t};\n\n\t\t\tawait route.continue({ headers: newHeaders });\n\t\t}else {\n\t\t\tawait route.continue();\n\t\t}\n\t});\n\n\n\t// 通用的选择地点\n\tconst selectAddress = async (selector: Locator, address: string) => {\n\t\tconst instance = typeof selector === \"string\" ? page.locator(selector) : selector;\n\t\tawait instance.click();\n\t\tawait instance.locator(\"input\").fill(address);\n\t\tconst poperInstance = page.locator('.d-popover:not([style*=\"display: none\"]) .d-options .d-grid-item');\n\t\tawait poperInstance.first().waitFor();\n\t\tawait poperInstance.first().click();\n\t};\n\n\t// 通用的选择日期\n\tconst selectDate = async (selector: string | Locator, date: string) => {\n\t\tconst instance = typeof selector === \"string\" ? page.locator(selector) : selector;\n\t\tawait instance.click();\n\t\tawait instance.fill(date);\n\t\tawait instance.blur();\n\t};\n\n\t// 查找显示的 popover 弹窗\n\tconst getPoperInstance = async (): Promise<Locator> => {\n\t\tawait page.waitForTimeout(500);\n\t\tconst elements = page.locator(\".d-popover\");\n\t\tconst count = await elements.count();\n\t\tconst visibleElements: (typeof elements)[] = [];\n\n\t\tfor (let i = 0; i < count; i++) {\n\t\t\tconst element = elements.nth(i);\n\t\t\tconst style = await element.getAttribute(\"style\");\n\t\t\tif (style && !style.includes(\"display: none\")) {\n\t\t\t\tvisibleElements.push(element);\n\t\t\t}\n\t\t}\n\n\t\tif (visibleElements.length > 0) {\n\t\t\treturn visibleElements[visibleElements.length - 1];\n\t\t}\n\n\t\tthrow new Error(\"未找到 popover 弹窗\");\n\t};\n\n\t// 查找显示的 dialog 弹窗\n\tconst getDialogInstance = async (): Promise<Locator> => {\n\t\tawait page.waitForTimeout(1000);\n\t\tconst elements = page.locator(\".el-dialog\");\n\t\treturn elements.last();\n\t};\n\n\t// 自动化脚本\n\t// ----------------------------------------------------------------------------------\n\n\t// 等待登录成功\n\ttry {\n\t\tawait page.waitForSelector(\"#CreatorPlatform\", { state: \"visible\" });\n\t} catch (error) {\n\t\treturn { code: 400, message: \"登录失效\", data: page.url() };\n\t}\n\n\t// 跳转到发布页面\n\tawait page.locator(\"#content-area .menu-container .publish-video .btn\").click();\n\n\t// 点击上传图文\n\tawait page\n\t\t.locator('.creator-container .header .creator-tab:not([style*=\"-9999px\"]) .title')\n\t\t.filter({ hasText: /^上传图文$/ })\n\t\t.click();\n\n\t// 获取待上传图片的本地路径\n\tconst images = await Promise.all(\n\t\tparams.banners.map((url) => {\n\t\t\tconst fileName = getFilenameFromUrl(url);\n\t\t\treturn downloadImage(url, path.join(tmpCachePath, fileName));\n\t\t}),\n\t);\n\n\t// 选择文件\n\tconst fileChooserPromise = page.waitForEvent(\"filechooser\");\n\tawait page.getByRole(\"textbox\").click();\n\tconst fileChooser = await fileChooserPromise;\n\tawait fileChooser.setFiles(images);\n\n\t// 填写标题\n\tconst titleInstance = page.locator(\".input.titleInput input\");\n\tawait titleInstance.click();\n\tawait titleInstance.fill(params.title);\n\n\t// 填写正文\n\tconst descInstance = page.locator(\".editor-container #quillEditor .ql-editor\");\n\tawait descInstance.click();\n\tawait descInstance.pressSequentially(params.content.replace(/#.*?\\[.*?]\\#/g,\"\"));\n\n\t// 填写话题\n\tif(params.topic && params.topic.length > 0){\n\t\tfor (const it of params.topic) {\n\t\t\tawait descInstance.pressSequentially(`#${it[\"name\"]}`);\n\t\t\tawait page.locator('.ql-mention-loading').waitFor({ state: 'detached' });\n\t\t\tawait page.waitForTimeout(1000);\n\t\t\tawait page.locator('#quill-mention-item-0 .item-view-num').click();\n\t\t};\n\t}\n\n\t// 滚动到底部\n\tconst container = page.locator(\".creator-container .content .scroll-content\");\n\tawait container.focus();\n\tawait page.mouse.wheel(0, 500); // 向下滚动 500 像素\n\n\tif (params.address) {\n\t\t// 填写地点\n\t\tawait selectAddress(\n\t\t\tpage.locator(\".media-extension .address-input\").filter({ hasText: \"添加地点\" }),\n\t\t\tparams.address.name,\n\t\t);\n\t}\n\n\tif (params.selfDeclaration) {\n\t\t// 自主声明\n\t\tawait page.locator(\".media-settings .flexbox\").filter({ hasText: \"内容类型声明\" }).locator(\".d-select-placeholder\").click();\n\t\tconst poperInstance = await getPoperInstance();\n\t\tconst selfDeclarationInstance = poperInstance.locator(\".d-options .d-option\");\n\t\tif (params.selfDeclaration.type === \"fictional-rendition\") {\n\t\t\tawait selfDeclarationInstance.filter({ hasText: \"虚构演绎,仅供娱乐\" }).click();\n\t\t} else if (params.selfDeclaration.type === \"ai-generated\") {\n\t\t\tawait selfDeclarationInstance.filter({ hasText: \"笔记含AI合成内容\" }).click();\n\t\t} else if (params.selfDeclaration.type === \"source-statement\") {\n\t\t\tawait selfDeclarationInstance.filter({ hasText: /内容来源声明/ }).click();\n\t\t\t// 内容来源声明二级菜单\n\t\t\tconst selfDeclarationSecondaryMenuInstance = (await getPoperInstance()).locator(\".d-options .d-option\");\n\t\t\t// 等待元素出现\n\t\t\tawait selfDeclarationSecondaryMenuInstance.first().waitFor();\n\t\t\tif (params.selfDeclaration.childType === \"self-labeling\") {\n\t\t\t\tawait selfDeclarationSecondaryMenuInstance.filter({ hasText: \"已在正文中自主标注\" }).click();\n\t\t\t} else if (params.selfDeclaration.childType === \"self-shooting\") {\n\t\t\t\tconst { shootingDate, shootingLocation } = params.selfDeclaration;\n\t\t\t\tawait selfDeclarationSecondaryMenuInstance.filter({ hasText: \"自主拍摄\" }).click();\n\t\t\t\t// 自主拍摄弹窗\n\t\t\t\tconst selfShootingPopup = await getDialogInstance();\n\t\t\t\tconst hasCustomContent = shootingDate || shootingLocation;\n\n\t\t\t\t// 选择拍摄地点\n\t\t\t\tif (shootingLocation) {\n\t\t\t\t\tawait selectAddress(selfShootingPopup.locator(\".address-input\"), shootingLocation.name);\n\t\t\t\t}\n\t\t\t\t// 选择拍摄日期\n\t\t\t\tif (shootingDate) {\n\t\t\t\t\tawait selectDate(selfShootingPopup.locator(\".date-picker input\"), shootingDate);\n\t\t\t\t}\n\n\t\t\t\tawait selfShootingPopup\n\t\t\t\t\t.locator(\"footer button\")\n\t\t\t\t\t.filter({ hasText: hasCustomContent ? \"确认\" : \"取消\" })\n\t\t\t\t\t.click();\n\t\t\t} else if (params.selfDeclaration.childType === \"transshipment\") {\n\t\t\t\tawait selfDeclarationSecondaryMenuInstance.filter({ hasText: \"来源转载\" }).click();\n\t\t\t\t// 来源媒体弹窗\n\t\t\t\tconst selfShootingPopup = await getDialogInstance();\n\n\t\t\t\tconst sourceMedia = params.selfDeclaration.sourceMedia;\n\t\t\t\tif (sourceMedia) {\n\t\t\t\t\tawait selfShootingPopup.locator(\".el-input input\").fill(sourceMedia);\n\t\t\t\t}\n\n\t\t\t\tawait selfShootingPopup\n\t\t\t\t\t.locator(\"footer button\")\n\t\t\t\t\t.filter({ hasText: sourceMedia ? \"确认\" : \"取消\" })\n\t\t\t\t\t.click();\n\t\t\t}\n\t\t}\n\t}\n\n\t// 可见范围 - 仅自己可见\n\tif (params.visibleRange === \"private\") {\n\t\tawait page.locator(\".media-settings .flexbox\").filter({ hasText: \"可见范围\" }).locator(\".d-select-wrapper\").click();\n\t\tconst poperInstance = await getPoperInstance();\n\t\tawait poperInstance.locator(\".d-options .custom-option\").filter({ hasText: \"仅自己可见\" }).click();\n\t}\n\n task._timerRecord['PrePublish']= Date.now();\n \n\tconst releaseTimeInstance = page\n\t\t.locator(\"label\")\n\t\t.filter({ hasText: params.isImmediatelyPublish ? \"立即发布\" : \"定时发布\" });\n\tawait releaseTimeInstance.click();\n\n\tif (params.scheduledPublish) {\n\t\t// 自定义发布时间\n\t\tawait selectDate(\".date-picker input\", params.scheduledPublish);\n\t}\n\n\tconst response = await new Promise<string>((resolve) => {\n\t\t// 定义响应处理函数\n\t\tconst handleResponse = async (response: Response) => {\n\t\t\tif (response.url().includes(\"/web_api/sns/v2/note\")) {\n\t\t\t\tconst jsonResponse = await response.json();\n\t\t\t\tpage.off(\"response\", handleResponse);\n\t\t\t\tresolve(jsonResponse?.data?.id);\n\t\t\t}\n\t\t};\n\n\t\t// 开始监听响应事件\n\t\tpage.on(\"response\", handleResponse);\n\n\t\tpage.locator(\".submit .publishBtn\").click();\n\t});\n\n\t// 关闭页面\n\tawait page.close();\n\n\treturn success(response);\n};\n","import type { CommonAction } from \"@iflyrpa/share\";\n\nimport type { ActiomCommonParams, Xiaohongshu } from \"../../types\";\nimport { executeAction } from \"../../utils\";\nimport { mockAction } from \"./mock\";\nimport { rpaAction } from \"./rpa\";\nimport {GroupDetail} from \"../getXhsGroup\";\n\ninterface FictionalRendition {\n\ttype: \"fictional-rendition\"; // 虚拟演绎,仅供娱乐\n}\n\ninterface AIGenerated {\n\ttype: \"ai-generated\"; // 笔记含AI合成内容\n}\n\ninterface SourceStatement {\n\ttype: \"source-statement\"; // 内容来源声明\n\tchildType: \"self-labeling\" | \"self-shooting\" | \"transshipment\"; // 已自主标注 / 自助拍摄 / 转载\n\tshootingLocation?: Xiaohongshu.Location; // 拍摄地点\n\tshootingDate?: string; // 拍摄日期\n\tsourceMedia?: string; // 来源媒体\n}\n\ntype SelfDeclaration = FictionalRendition | AIGenerated | SourceStatement;\n\nexport interface XiaohongshuPublishParams extends ActiomCommonParams {\n\tbanners: string[]; // 图片\n\ttitle: string; // 标题\n\tcontent: string; // 正文\n\taddress?: Xiaohongshu.Location; // 地点\n\tselfDeclaration?: SelfDeclaration; // 自主声明\n\ttopic?: Xiaohongshu.Topic[]; //话题\n proxyLoc?: string; // 代理位置\n huiwenToken?: string; // 绘文token\n\tvisibleRange: \"public\" | \"private\" | \"friends\"; // 可见范围\n\tisImmediatelyPublish?: boolean; // 是否立即发布\n\tscheduledPublish?: string; // 定时发布时间\n collectionId?: string; // 合集ID\n groupBind?: GroupDetail;// 群聊绑定\n noteCopyBind?: boolean; // 是否允许复制\n coProduceBind?: boolean; // 是否允许合拍\n originalBind?: boolean; // 是否开启原创声明, 声明检测app端展示,web端发布后,最终是否原创成功以小红书APP结果为准\n}\n\nexport type PublishAction = CommonAction<XiaohongshuPublishParams, string>;\n\nexport const xiaohongshuPublish: PublishAction = async (task, params) => {\n\tif (params.actionType === \"rpa\") {\n\t\treturn rpaAction(task, params);\n\t}\n\n\tif (params.actionType === \"mockApi\") {\n\t\treturn mockAction(task, params);\n\t}\n\n\treturn executeAction(mockAction, rpaAction)(task, params);\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { Http } from \"../../utils/http\";\nimport {Xhshow} from \"../../utils/xhsXsEncrypt\";\n// 小红书参数加密器\nconst xsEncrypt = new Xhshow();\n\nexport interface GroupListResponse {\n success: boolean;\n msg: string;\n data: {\n group_list: GroupDetail[]\n };\n code: number;\n}\n\nexport interface GroupDetail {\n avatar: string;\n desc: string\n group_id: string\n group_name: string\n linkable: boolean\n}\n\nexport type PublishAction = CommonAction<ActiomCommonParams, GroupDetail[]>;\n\nexport const getXhsGroup: PublishAction = async (_task, params) => {\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://creator.xiaohongshu.com\",\n\t\t\torigin: \"https://creator.xiaohongshu.com\",\n\t\t},\n\t});\n \n const a1Cookie = params.cookies.find((it) => it.name === \"a1\")?.value;\n if (!a1Cookie) return {code: 200, message: \"账号数据异常,请重新绑定账号后重试。\", data: []};\n\n\ttry {\n const xt = Date.now().toString();\n const groupListParams = { note_id: \"\" }\n const fatchGroup = `/api/im/web/nns/group_list`;\n const xs = xsEncrypt.signXsGet(fatchGroup, a1Cookie,\"xhs-pc-web\" , groupListParams);\n\t\tconst res = await http.api<GroupListResponse>({\n\t\t\tmethod: \"get\",\n\t\t\turl: \"https://edith.xiaohongshu.com/api/im/web/nns/group_list\",\n params: groupListParams,\n headers: {\"x-s\": xs, \"x-t\": xt},\n\t\t});\n\n\t\treturn success(res.code === 0 ? res.data.group_list : [] , \"群聊信息获取\" + (res.code === 0 ? \"成功!\": `失败!原因${res.msg}`));\n\t} catch (error) {\n\t\treturn success([]);\n\t}\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { Http } from \"../../utils/http\";\nimport {Xhshow} from \"../../utils/xhsXsEncrypt\";\n// 小红书参数加密器\nconst xsEncrypt = new Xhshow();\n\nexport interface HotTopicResponse {\n code: number;\n success: boolean;\n msg: string;\n data: {\n activity_list: HotTopicDetail[]\n };\n}\n\nexport interface HotTopicDetail {\n page_id: string;\n activity_name: string;\n start_time: number;\n activity_status: number;\n capa_deep_link: string;\n instance_id: number;\n activity_id: number;\n end_time: number;\n picture_link:string;\n focus_status: number;\n activity_reward: string;\n activity_link: string;\n sort_score: string;\n pc_post_link: string;\n topic_infos: [\n {\n id: string;\n name: string;\n link: string;\n }\n ]\n}\n\nexport type PublishAction = CommonAction<ActiomCommonParams, HotTopicDetail[]>;\n\nexport const getXhsHotTopic: PublishAction = async (_task, params) => {\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: params.cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://creator.xiaohongshu.com\",\n\t\t\torigin: \"https://creator.xiaohongshu.com\",\n\t\t},\n\t});\n \n const a1Cookie = params.cookies.find((it) => it.name === \"a1\")?.value;\n if (!a1Cookie) return {code: 200, message: \"账号数据异常,请重新绑定账号后重试。\", data: []};\n\n\ttry {\n const xt = Date.now().toString();\n const hotTopicParams = {\n sort: 1,\n type: 1,\n source: 3,\n topic_activity: 1\n }\n const fatchGroup = `/api/galaxy/v2/creator/activity_center/list`;\n const xs = xsEncrypt.signXsGet(fatchGroup, a1Cookie,\"xhs-pc-web\" , hotTopicParams);\n\t\tconst res = await http.api<HotTopicResponse>({\n\t\t\tmethod: \"get\",\n\t\t\turl: \"https://creator.xiaohongshu.com/api/galaxy/v2/creator/activity_center/list\",\n params: hotTopicParams,\n headers: {\"x-s\": xs, \"x-t\": xt},\n\t\t});\n\n\t\treturn success(res.code === 0 ? res.data.activity_list : [] , \"热门信息获取\" + (res.code === 0 ? \"成功!\": `失败!原因${res.msg}`));\n\t} catch (error) {\n\t\treturn success([]);\n\t}\n};\n","import { type CommonAction, success } from \"@iflyrpa/share\";\nimport type { ActiomCommonParams } from \"../../types\";\nimport { Http } from \"../../utils/http\";\n\nexport interface GetToutiaoCollectionParams extends ActiomCommonParams {}\n\nexport interface GetToutiaoCollectionResult {\n id: string;\n collection_attr: {\n title: string;\n cover_image: {\n url: string;\n uri: string;\n width: number;\n height: number;\n mime_type: string;\n };\n item_status: number;\n visibility_level: number;\n create_time: string;\n suppress_reason: string;\n user_id: string;\n };\n collection_stat: {\n impression_count: string;\n go_detail_count: string;\n repin_count: string;\n forward_count: string;\n };\n menu_list: {\n show_delete: boolean;\n show_modify: boolean;\n show_hide: boolean;\n forbid_delete_reason: string;\n forbid_modify_reason: string;\n forbid_hide_reason: string;\n };\n sub_item_count: number;\n item_status_desc: string;\n}\n\nexport type PublishAction = CommonAction<GetToutiaoCollectionParams, GetToutiaoCollectionResult[]>;\n\nexport const getToutiaoCollection: PublishAction = async (_task, params) => {\n\tconst cookies = params.cookies ?? [];\n\n\tconst http = new Http({\n\t\theaders: {\n\t\t\tcookie: cookies.map((it) => `${it.name}=${it.value}`).join(\";\"),\n\t\t\treferer: \"https://mp.toutiao.com/profile_v4/graphic/publish\",\n\t\t},\n\t});\n\n const res = await http.api<{ code: number; data: GetToutiaoCollectionResult[]; total_count: number; }>({\n method: \"get\",\n url: \"https://mp.toutiao.com/mp/fe_api/collection/list\",\n params:{\n page_num: 0,\n page_size: 100,\n need_sub_item_count: true\n }\n });\n\n\treturn success(res.code === 0 ? res.data : [], res.code === 0 ? \"获取头条号合集成功!\" : \"获取头条号合集失败!\");\n};\n","import type { AutomateTask, CommonAction, ResponseData } from \"@iflyrpa/share\";\nimport { type BaijiahaoPublishParams, baijiahaoPublish } from \"./actions/baijiahaoPublish\";\nimport { type GetBaijiahaoActivityParams, getBaijiahaoActivity } from \"./actions/getBaijiahaoActivity\";\nimport { type GetToutiaoConfigParams, getToutiaoConfig } from \"./actions/getToutiaoConfig\";\nimport { type GetBaijiahaoConfigParams, getBaijiahaoConfig } from \"./actions/getBaijiaohaoConfig\";\nimport { type SearchToutiaoTopicListParams, searchToutiaoTopicList } from \"./actions/searchToutiaoTopicList\";\nimport { type SearchToutiaoLocationParams, searchToutiaoLocation } from \"./actions/searchToutiaoLocation\";\nimport { type SearchToutiaoUserIDParams, searchToutiaoUserInfo } from \"./actions/searchToutiaoUserID\";\nimport { type searchXiaohongshuLocationParams, searchXiaohongshuLocation } from \"./actions/searchXiaohongshuLocation\";\nimport { type SearchXiaohongshuTopicListParams, searchXiaohongshuTopicList } from \"./actions/searchXiaohongshuTopicList\";\nimport { type ToutiaoPublishParams, toutiaoPublish } from \"./actions/toutiaoPublish\";\nimport { TTFansExport } from \"./actions/common/FansTool\";\nimport { BjhFansExport } from \"./actions/common/FansTool\";\nimport { XhsFansExport } from \"./actions/common/FansTool\";\nimport { type GetWxFansSearchParams, WxFansExport } from \"./actions/common/FansTool\";\n\nimport { TTSessionCheck } from \"./actions/common/sessionCheck\";\nimport { BjhSessionCheck } from \"./actions/common/sessionCheck\";\nimport { XhsSessionCheck } from \"./actions/common/sessionCheck\";\nimport { type wxSessionParams, WxSessionCheck } from \"./actions/common/sessionCheck\";\n\nimport { type SearchAccountInfoParams, SearchAccountInfo} from \"./actions/searchAccountInfo\";\nimport { type SearchBjhTopicListParams, searchBjhTopicList } from \"./actions/searchBjhTopicList\";\nimport { type FetchArticlesParams, FetchArticles } from \"./actions/searchPublishInfo\"\nimport { type GetWeixinConfigParams, getWeixinConfig } from \"./actions/getWeixinConfig\";\nimport { type GetWeixinCollectionParams, getWeixinCollection } from \"./actions/getWeixinCollection\";\nimport { getXhsCollection } from \"./actions/getXhsCollection\";\nimport { type WeitoutiaoPublishParams, weitoutiaoPublish } from \"./actions/weitoutiaoPublish\";\nimport { type WeixinPublishParams, weixinPublish } from \"./actions/weixinPublish\";\nimport { type WeixinmpPublishParams, weixinmpPublish } from \"./actions/weixinmpPublish\";\nimport { type XiaohongshuPublishParams, xiaohongshuPublish } from \"./actions/xiaohongshuPublish\";\n\nimport type { ActiomCommonParams } from \"./types\";\nimport { stringifyError } from \"./utils\";\nimport { Http } from \"./utils/http\";\nimport {getXhsGroup} from \"./actions/getXhsGroup\";\nimport {getXhsHotTopic} from \"./actions/getXhsHotTopic\";\nimport {getToutiaoCollection, GetToutiaoCollectionParams} from \"./actions/getToutiaoCollection\";\n\nexport const BetaFlag = \"HuiwenCanary\"; // 用于标记是否为测试版本\n\nexport class Action {\n\tconstructor(private task: AutomateTask) {}\n\n\t// 绑定 task, 并处理异常\n\tprivate async bindTask<T extends ActiomCommonParams, R>(func: CommonAction<T, R>, params: T) {\n\t\tlet responseData: ResponseData<R>;\n \n // 检查是否为测试版本\n this.task.isBeta = this.task?.isFeatOn ? this.task?.isFeatOn( BetaFlag ) : false;\n \n // 记录时间消耗\n this.task._timerRecord = { ActionStart: Date.now() };\n\n \n\t\tif (this.task?.setArticleId) {\n\t\t\t// 给所有的日志添加 articleId 标签\n\t\t\tthis.task.setArticleId(params.articleId ?? \"\");\n\t\t}\n \n if (this.task?.setSaveType ?? false) {\n // 给所有的日志添加 saveType 标签\n this.task.setSaveType(params.saveType ?? \"\");\n }\n \n if (this.task?.isInitializedGB !== undefined) {\n this.task.setGbInitType(this.task.isInitializedGB)\n }\n \n\t\tif (typeof params === \"object\") {\n\t\t\t// 默认设置 cookies\n\t\t\tparams.cookies = params?.cookies ?? [];\n\t\t}\n\n\t\ttry {\n\t\t\tresponseData = await func(this.task, params);\n\t\t} catch (error) {\n\t\t\tresponseData = Http.handleApiError(error);\n\t\t} finally {\n this.task._timerRecord['ActionEnd']= Date.now();\n }\n \n if(this.task.isBeta && this.task.setTimeConsuming){\n // 收集各时间节点\n this.task.setTimeConsuming(this.task._timerRecord);\n }\n\n\t\tif (responseData.code === 200) {\n\t\t\t// 表示是由于脚本输入信息错误导致的失败,不是脚本问题\n\t\t\tthis.task.logger.info(`${func.name} action params error`, responseData);\n\t\t} else if (responseData.code !== 0) {\n\t\t\tthis.task.logger.error(\n\t\t\t\tresponseData.message || `${func.name} 执行失败`,\n\t\t\t\tstringifyError(responseData.data),\n\t\t\t\tresponseData.extra,\n\t\t\t);\n\t\t\tthis.task.logger.info(`${func.name} action failed`);\n\t\t} else {\n\t\t\tthis.task.logger.info(`${func.name} action success`);\n\t\t}\n \n if(this.task.debug && this.task._timerRecord['PrePublish']){\n console.log(\"预处理图片耗时:\", (this.task._timerRecord['PrePublish'] - this.task._timerRecord['ActionStart'])/1000, \"s\");\n console.log(\"发文接口耗时:\", (this.task._timerRecord['ActionEnd'] - this.task._timerRecord['PrePublish'])/1000, \"s\");\n }\n this.task.debug && console.log(\"Action整体耗时:\", (this.task._timerRecord['ActionEnd'] - this.task._timerRecord['ActionStart'])/1000, \"s\");\n\n\t\treturn responseData;\n\t}\n\t// 获取指定平台的文章数据\n\tFetchArticles(params: FetchArticlesParams){\n\t\treturn this.bindTask(FetchArticles, params)\n\t}\n\t\n\t// 获取指定平台的分析数据\n\tSearchAccountInfo(params: SearchAccountInfoParams){\n\t\treturn this.bindTask(SearchAccountInfo, params)\n\t}\n\n\t// 头条Session有效性检测\n\tTTSessionCheck(params: ActiomCommonParams){\n\t\treturn this.bindTask(TTSessionCheck, params);\n\t}\n\n\t// 微信Session有效性检测\n\tWxSessionCheck(params: wxSessionParams){\n\t\treturn this.bindTask(WxSessionCheck, params);\n\t}\n\n\t// 小红书Session有效性检测\n\tXhsSessionCheck(params: ActiomCommonParams){\n\t\treturn this.bindTask(XhsSessionCheck, params);\n\t}\n\n\t// 百家号Session有效性检测\n\tBjhSessionCheck(params: ActiomCommonParams){\n\t\treturn this.bindTask(BjhSessionCheck, params);\n\t}\n\t\n\t// 搜索头条话题列表\n\tsearchToutiaoTopicList(params: SearchToutiaoTopicListParams) {\n\t\treturn this.bindTask(searchToutiaoTopicList, params);\n\t}\n\n\t// 搜索头条粉丝\n\tTTFansExport(params: ActiomCommonParams) {\n\t\treturn this.bindTask(TTFansExport, params);\n\t}\n\n\t// 搜索小红书粉丝\n\tXhsFansExport(params: ActiomCommonParams) {\n\t\treturn this.bindTask(XhsFansExport, params);\n\t}\n\n\t// 搜索微信粉丝\n\tWxFansExport(params: GetWxFansSearchParams) {\n\t\treturn this.bindTask(WxFansExport, params);\n\t}\n\t\n\t// 搜索百家号粉丝\n\tBjhFansExport(params: ActiomCommonParams) {\n\t\treturn this.bindTask(BjhFansExport, params);\n\t}\n \n SearchBjhTopicList(params: SearchBjhTopicListParams) {\n\t\treturn this.bindTask(searchBjhTopicList, params);\n\t}\n\n\t// 搜索头条用户ID\n\tsearchToutiaoUserID(params: SearchToutiaoUserIDParams) {\n\t\treturn this.bindTask(searchToutiaoUserInfo, params);\n\t}\n\n\t// 搜索头条Location\n\tsearchToutiaoLocation(params: SearchToutiaoLocationParams) {\n\t\treturn this.bindTask(searchToutiaoLocation, params);\n\t}\n\n\t// 获取头条配置\n\tgetToutiaoConfig(params: GetToutiaoConfigParams) {\n\t\treturn this.bindTask(getToutiaoConfig, params);\n\t}\n \n // 获取头条合集\n\tgetToutiaoCollection(params: GetToutiaoCollectionParams) {\n\t\treturn this.bindTask(getToutiaoCollection, params);\n\t}\n\n\t// 获取微信配额\n\tgetWeixinConfig(params: GetWeixinConfigParams) {\n\t\treturn this.bindTask(getWeixinConfig, params);\n\t}\n \n // 获取微信合集\n getWeixinCollection(params: GetWeixinCollectionParams) {\n return this.bindTask(getWeixinCollection, params);\n }\n \n getXhsCollection(params: ActiomCommonParams) {\n return this.bindTask(getXhsCollection, params);\n }\n \n getXhsGroup(params: ActiomCommonParams) {\n return this.bindTask(getXhsGroup, params);\n }\n \n getXhsHotTopic(params: ActiomCommonParams){\n return this.bindTask(getXhsHotTopic, params)\n }\n \n\t// 获取百家号配置\n\tgetBaijiahaoConfig(params: GetBaijiahaoConfigParams) {\n\t\treturn this.bindTask(getBaijiahaoConfig, params);\n\t}\n\n\t// 百家号发布\n\tbaijiahaoPublish(params: BaijiahaoPublishParams) {\n\t\treturn this.bindTask(baijiahaoPublish, params);\n\t}\n\n\t// 查询百家号活动投稿\n\tgetBaijiahaoActivity(params: GetBaijiahaoActivityParams) {\n\t\treturn this.bindTask(getBaijiahaoActivity, params);\n\t}\n\n\t// 小红书发布\n\txiaohongshuPublish(params: XiaohongshuPublishParams) {\n\t\treturn this.bindTask(xiaohongshuPublish, params);\n\t}\n\n\t// 搜索小红书话题\n\tsearchXiaohongshuTopicList(params: SearchXiaohongshuTopicListParams) {\n\t\treturn this.bindTask(searchXiaohongshuTopicList, params);\n\t}\n\t// 搜索小红书地址\n\tsearchXiaohongshuLocation(params: searchXiaohongshuLocationParams) {\n\t\treturn this.bindTask(searchXiaohongshuLocation, params);\n\t}\n\n\t// 小绿书发布\n\tweixinmpPublish(params: WeixinmpPublishParams) {\n\t\treturn this.bindTask(weixinmpPublish, params);\n\t}\n\n\t// 微头条发布\n\tweitoutiaoPublish(params: WeitoutiaoPublishParams) {\n\t\treturn this.bindTask(weitoutiaoPublish, params);\n\t}\n\n\t// 头条发布\n\ttoutiaoPublish(params: ToutiaoPublishParams) {\n\t\treturn this.bindTask(toutiaoPublish, params);\n\t}\n\n\t// 微信发布\n\tweixinPublish(params: WeixinPublishParams) {\n\t\treturn this.bindTask(weixinPublish, params);\n\t}\n}\n\ntype ActionInstance = InstanceType<typeof Action>;\n\n// 提取方法的参数类型\ntype MethodParams<T> = {\n\t// biome-ignore lint/suspicious/noExplicitAny: 有使用 any\n\t[K in keyof T]: T[K] extends (...args: any[]) => unknown ? Parameters<T[K]>[0] : never;\n};\n\n// 应用于 Action 类的实例\nexport type ActionMethodParams = MethodParams<ActionInstance>;\n\nexport { version } from \"../package.json\";\n"],"names":["__createBinding","Object","o","m","k","k2","undefined","desc","__setModuleDefault","v","__importStar","mod","result","exports","http","https","toBuffer","stream","length","chunks","chunk","Buffer","json","buf","str","JSON","_err","err","req","url","opts","href","promise","Promise","resolve","reject","__exportStar","p","net","https_1","INTERNAL","Symbol","Agent","options","stack","Error","l","name","Infinity","fakeSocket","socket","sockets","index","secureEndpoint","cb","connectOpts","formatArgs","save","load","useColors","localstorage","warned","console","window","navigator","document","parseInt","args","module","c","lastC","match","namespaces","error","r","process","localStorage","formatters","setup","env","createDebug","coerce","disable","enable","enabled","destroy","key","selectColor","namespace","hash","i","Math","prevTime","enableOverride","namespacesCache","enabledCache","debug","self","curr","Number","Date","ms","format","formatter","val","logFn","extend","delimiter","newDebug","split","Boolean","ns","matchesTemplate","search","template","searchIndex","templateIndex","starIndex","matchIndex","skip","tty","util","init","log","supportsColor","obj","prop","_","colorCode","prefix","getDate","keys","flag","argv","position","terminatorPosition","__importDefault","tls","assert_1","debug_1","agent_base_1","url_1","parse_proxy_response_1","setServernameFromNonIpHost","HttpsProxyAgent","proxy","host","port","omit","TypeError","headers","payload","auth","decodeURIComponent","proxyResponsePromise","connect","buffered","resume","s","ret","parseProxyResponse","buffersLength","buffers","read","b","ondata","cleanup","onend","onerror","endOfHeaders","headerParts","firstLine","firstLineParts","statusCode","statusText","header","firstColon","value","current","Array","h","d","w","y","type","parse","isFinite","fmtLong","fmtShort","String","n","parseFloat","msAbs","plural","isPlural","os","hasFlag","flagForceColor","envForceColor","translateLevel","level","haveStream","streamIsTTY","sniffFlags","noFlagForceColor","forceColor","min","osRelease","sign","version","getSupportLevel","encrypt_lookup","esm_typeof","t","encrypt_b64Encode","e","a","u","f","g","E","x","T","S","A","L","I","R","O","C","N","P","B","M","j","F","D","q","U","G","H","V","W","a0_0x10f4ac","X","z","Y","K","J","$","Q","Z","tt","encrypt_encodeChunk","encrypt_encodeUtf8","encodeURIComponent","sign_common","encrypt_tripletToBase64","a0_0x3693","encrypt_mcr","GenXSCommon","a1cookie","x_t","x_s","b1","a0_0x45db08","a0_0x4b0d","_0x2bd218","_0x316d6","_0x165410","a0_0x1654","_0x4b0d73","_0x5794db","_0x1859e3","_0x1b2596","_0x16c0e0","_0x1227f1","_0x46fb59","_0x383dd4","_0x4fc071","Random","Ts","Sm3DoneTs","xhrParaDoneTs","xhrReqDoneTs","_0x46e031","SM3Hasher","_0x468533","_0x11e792","_0x22d1ef","_0x182388","_0x2ded18","_0x5e491d","_0x12d911","_0x5795ab","_0x22d98b","_0x5659da","_0x357908","_0x5c0d1c","_0x2e8583","_0x28f42f","_0x4b2a85","_0xffe4ea","_0x34ff8d","_0xecf9f6","_0x3ddb20","_0x28ac8a","_0x117621","_0x335539","_0x450e58","_0x5b1ad8","_0x46ad66","_0xa844a0","_0x15bc36","_0x4a32f3","_0x36cc0b","_0xd7dcfe","_0x1e530c","_0x3c50af","_0x3da582","_0x14b06e","_0x4ec82e","_0x489962","_0x5dd43e","_0x744660","_0x197f71","_0x5e22dd","_0xfc800b","_0x1300f1","_0xed8891","_0x3414cb","_0x2f42fb","_0x326645","_0x2c63af","_0x558c0d","_0x4a902b","_0x493bba","_0x23a9bd","_0x7114f5","_0x49cf1f","_0x698c70","_0xe5328","_0x2b58f2","_0x17c086","_0x3621a2","_0x5959b9","_0x3b42ff","_0x50d411","_0x910e21","_0x459622","EnvData2CharCode","_0x58cd97","_0x23e1e0","_0x3ca6b2","_0x56cb93","_0x2d49d4","_0x3f2013","_0x4b8ded","_0x5bb315","_0x42b4c4","_0x1cdc95","_0x58aa5d","_0x26ee7a","_0xe2d586","_0x571095","_0x4dabdb","_0x4139e6","_0x339170","_0x56e1cd","_0x24b6d5","_0x196cf7","_0x2eb1f3","_0x2171ba","_0x925e58","_0x540dbd","_0x2fbb10","_0x41ebdd","_0x42a240","_0x49ec53","_0x3d9ba0","_0xeaa831","_0x477e24","_0x3bd924","_0xa7bf19","_0x23c273","_0x4d13ab","Base2Data","_0x348aa6","_0x2bc7c7","_0x874207","_0x224d00","_0x31697c","_0x235e4f","_0x29dde1","_0x4a74f1","_0xef36c2","_0x4120e4","_0x39cb62","_0x5cbaf6","_0x29a672","_0x96c5ae","_0x46c34b","_0x5d4cb4","_0x506f4f","Data2A_B","_0x19ca6d","_0x5d8d72","_0x225e7d","_0x4f0a28","_0x251d62","_0x2b8eea","_0x3fca04","_0xb85a46","_0x4e702d","_0x4382e1","_0x225aa0","_0x5607b9","_0x3fb7b7","_0x425784","GenAB","_0x315138","_0x1c32b3","_0x206982","_0x56536b","_0x5e26","_0x4a41","_0x1218b5","_0x5e2612","_0x4a419f","_0xe72767","_0xe7f5e","_0x3fd162","_0x257514","_0x5c8197","glb","globalThis","_0x24c604","_0x6a35ed","_0x22f624","_0x7083c4","_0x12b83a","_0x1ff265","_0x19dd10","_0x2bfbca","_0x5cafee","_0x2f08d7","_0x37fbe9","_0x33582f","_0x641642","_0x2fdb95","_0x1258bd","_0x5bf9ad","_0xf255ce","_0xee3311","_0x318ddf","_0x4385f3","_0x584e4a","_0x5c149f","_0x17b7fe","_0x174344","_0x18d99e","_0x5cbc7d","_0x56bf71","_0x3dc1b2","_0x16e5da","_0xa53bfb","_0x485b39","_0x387bd5","_0x3dcf70","_0x48eb89","_0x5d0e43","_0xe05ad5","_0x2463d8","_0x1a5a8f","_0x49936e","_0x45d1a1","_0x2a01a0","_0x3ff15b","_0x4f901b","_0x1dfe70","_0x51b176","_0x3d45e0","_0xf84a5d","_0x39dfca","_0x3e5179","_0x3f8716","_0x3aa298","_0x4d3f6b","_0x4446eb","_0x4c8666","_0x1397bd","_0x3b53d5","_0x25f6f4","_0x29b4e2","_0x3f4419","_0x5170ae","_0x1359a6","_0x50e590","_0x338aeb","_0x3a9605","_0x290bc9","_0x1ff6c7","_0xcd43a3","_0x3b25e9","_0x5e42f8","_0x1ba8e5","_0x26aef5","_0x65c1f7","_0x373aa4","_0x50d703","_0x928a91","_0xb408a6","_0x20a02d","_0x29f74b","_0x545253","_0x358a47","_0x3f46e4","_0x18ec78","_0x4a7966","_0x31653d","_0x3e50ef","_0x4d3a96","_0x1a13b2","_0x3bacd8","_0x5887b3","_0x436eef","_0x5222c2","_0x2c8c91","_0x7980dd","_0xd59293","_0x2b8404","_0x24f33b","_0xd06423","_0x472411","_0x583510","_0x560524","_0x189796","_0x28584e","_0x4faf64","_0x4b2e99","_0x3623da","_0xce7c94","_0x9032ec","_0x14736a","_0x6288b8","_0x4f7385","_0x49c856","_0x176f10","_0x5253ed","_0x261198","_0x176d4f","_0x5cb9a5","_0x319795","_0x380a2e","_0x42b18d","_0x38ffc5","_0x5cfc49","_0x2f4e06","_0x1f4ce1","_0x579306","_0x125668","_0x1a570e","_0x15b5be","_0x55b590","_0x5a2f99","_0x2b20aa","_0x25efe9","_0x5a70e7","_0x301cd3","_0x1701b4","_0x42f110","_0x5aa648","_0x105428","_0x47dd10","_0x410a4e","_0x97fa53","_0x8beaee","_0x584b00","_0x4e8343","_0x434d83","_0x3e4974","_0x1f5b2f","_0xfeec47","_0x9fb647","_0x8c3df2","_0x17fbce","_0x246e23","_0x2163fd","_0x4557a3","_0x5ce007","_0x189e3c","_0x39d9b2","_0x4d5e62","_0x3c4e2e","_0x1275b5","_0x111acb","_0x45d234","_0x5c740a","_0x330c1e","_0x496b23","_0x3b8ef1","_0x231263","_0x25eebc","_0x1b69fa","_0x1da372","_0x2272aa","_0x11af26","_0x4404cf","_0x35dada","_0x334cfd","_0x43e4f0","_0x3cf229","_0x1b53c3","_0x5d9a2a","_0x2e2a54","_0x1d5c8b","_0x275a32","_0x4b36cf","_0x974374","_0x11b253","_0x3510ae","_0x2c1c19","_0x237c62","_0x2ed7be","_0x27caf3","_0x59cf43","_0x161ca7","_0x351dad","_0x59f40f","_0x56db54","_0x2731c5","_0x215661","_0x20571c","_0x2f81a1","_0x325743","_0x315b84","_0x29299d","_0x26e36b","_0x3ccd9d","_0x1bb79d","_0xc8fbc5","_0x1a7921","_0x10f7a4","_0x1e948f","_0x5ec926","_0x2a9505","_0x3a3eed","_0x55fbaf","_0x266fac","_0x3c78a3","_0x35474d","_0xa44cbd","_0xb82f14","_0x22aa37","_0x17d4ea","_0x2636de","_0x45fc23","_0x56bd98","_0x17a8e3","_0x1bb49c","_0x406702","_0x5cfd36","_0x38316d","_0x172a9d","_0x5382c2","_0x2ad38b","_0x367bd3","_0x39fe15","_0xf72fd1","Reflect","Proxy","_0x1acf38","_0x5419d5","_0xc4e151","_0x1cdc6a","_0x385b68","_0x3cb9ef","_0xaf1f2b","_0x2035d4","_0xa530a2","_0x5349ad","_0x31f90b","_0x355d4c","_0x28afe6","_0x17e79c","_0x12fb2d","_0x2fcaa9","Function","_0x2e7a26","arguments","_0x50aa3b","_0x5b028a","_0x120a3e","_0x5179ac","_0x5685b9","_0x1373ba","_0xa8799b","_0x11608f","_0x4605ce","_0x458cba","_0x40af62","_0x47239e","_0xd94b9a","_0x22f5c2","_0xc15748","_0x498cf3","_0x2ab336","_0x49c968","_0x2435ac","_0x4de9cc","_0x43ddd5","_0xb96fbb","_0x3ad1bc","_0x2a37cd","_0x486235","_0x105c68","_0x4f381c","_0xfa87b5","_0x5c9ccf","_0x2fc50f","_0x5ac37a","_0x5d468d","_0xd412d2","_0x2b32ac","_0x26614f","_0x1b0b08","_0x89bc72","_0x10e5cb","_0x2a1ef9","_0x4112a4","_0x14cec8","_0x586fa1","_0x4746fc","_0x50db27","_0x3a05d0","_0x4987a0","_0x29944e","_0x8bea75","_0x4da4b2","_0x2ce82e","_0x24f400","_0x51cce9","_0x1414c9","_0x48f581","_0x53ce65","_0x428514","_0x5c4110","_0x5e0b6d","_0x168ac1","_0xdeab25","_0x323a2b","_0x28c6bf","_0x8096f5","_0x2d0b41","_0x1d2320","_0x3121f2","_0x23b9e8","_0x42ee3d","_0x440e84","_0x36c245","_0x377410","_0x36ee46","_0x50dc14","_0x2d295a","_0x4fed5f","_0x1fdc1b","_0x3714b9","_0x484194","_0x7e7569","_0x1b87f3","_0x4e3c2b","_0x33e19f","_0xa3097b","_0xa9d1be","_0x4ab42b","_0x564652","_0xe4f438","_0x58c899","_0x3c7e4c","_0x36c27e","_0x102483","_0xa0b332","_0x4b430a","_0x524bf4","_0x2f0111","_0x4a995d","_0x31793d","_0x568eef","_0x1d4fa7","_0x1c5004","_0x30595f","_0x4e19c9","_0xf3aac1","_0xcd74f4","_0x4857c3","_0x6ea9fa","_0x1338c6","_0x1cc642","_0xf70f4c","_0x391e0e","_0x25d459","_0x42fb78","_0x28fdfd","_0x20fe2e","_0x1bafbb","_0x24e420","_0xbd2f50","_0x3c286b","_0x407daf","_0x2b4fe1","_0x1bf090","_0x502aec","_0x2086de","_0x13679c","_0x357cd1","_0x3b8cb1","_0x44fdd7","_0x3a98c2","_0x43c136","_0x121dbc","_0x210cf9","_0x5479","_0x55e4","_0x5a83dc","_0x547951","_0x55e409","_0x4d6a1b","_0xf55a6c","_0x4256ee","_0x17d3cf","_0xa70d40","_0x50a5e0","_d1b4df64eb152aa1d24e82f9bd0bfe7b","_0x1acabb","_0x456f43","_0x106df0","_0x1e2b8c","_0x3e16ea","Uint8Array","_7140998d8f99c8324e0fcd817edff9b2","_0x139611","_0x131c86","_0x434b65","_0x2fdad2","_0x11de5b","_0x54f135","_0x47d7a2","_0x1cdab2","_0x3621ec","_0x1b667f","_0x7a6865","_6e8d40c844a972a6429074a59f678907","_0x496cdc","_0x5dd132","_0x4a0480","_0x2eac01","_0x56ce93","_575364e3fbdd1929a75a10a5118cc687","_0x362fcb","_0x3d21ce","_0x1e626c","_0x58bacc","_972e441617b5152eab406b3c2c8e25ff","_0x17d27e","_0x3f568d","_0x17f238","_0x5ce91f","_0x32e788","_0x38e84a","_0x914ea2","_0x259971","_2b3beb7962f7014c81b260f8aa1890be","_0x2d2326","_0x43e7ad","_0x5c56da","_0x2055b1","eval","_2d6b4518857b5d2355e5bd9809691b44","_0x543826","_0x3993fb","_0x3f7c9e","_0x1bf349","_0x298685","_0x585396","_0x30fb04","_0x21db63","_0x382aae","_0x546bf","_0x434164","_0x204d91","_0x19f010","_0x160df0","_0x528411","_0x4d6e02","_0x7e49ef","_0x543b8f","_0x16b1fb","_0x3d4192","_0xfd6cc0","_0x3fbacd","_0x45d0a5","_0x5c2c91","_0x922e84","_0x4a3e21","_0x4f3d04","_f523010cd8cf5fb75250d1fc2f671c73","_0xe64b03","_0x1e8b75","_0x1447ab","_0x2c06b2","_0x202073","_0x429066","_0x56585f","_0xffa0f2","_0x29f84f","_e0c26a2a191851217a8ed324fc1d568d","__$c","setTimeout","clearTimeout","performance","requestAnimationFrame","requestIdleCallback","TextEncoder","RegExp","unescape","InstallTrigger","Set","XMLHttpRequest","chrome","Event","top","$toString","symbol","myToString","safeFunction1","func","funcname","Window","global","safeFunction","Document","Element","HTMLElement","HTMLHtmlElement","HTMLCollection","tagName","HTMLAllCollection","HTMLBodyElement","HTMLDocument","Navigator","PermissionStatus","Permissions","Storage","sessionStorage","Location","location","History","history","Screen","screen","encodeUtf8","r2","tripletToBase64","encodeChunk","c2","b64Encode","encode_mnsv2","mnsv2","platform","req_type","ProxyData","ProxyAgent","adr","huiwenToken","Http","ProxyInfo","config","axios","findError","response","errorResponse","serverError","retries","retryDelay","sessionRt","Rtimes","agent","handledError","isRetry","getRandomInRange","max","getFileState","filePath","filename","path","fileType","mime","stats","fs","fileSize","lastModifiedDate","calculateCropCoordinates","width","height","aspectRatio","targetRatio","cropWidth","cropHeight","x1","y1","x2","y2","extractImgTag","html","srcList","parser","Parser","attributes","TimeFormatter","timestamp","formatStr","date","map","replaceImgSrc","callback","lastedHtml","isImageTag","node","traverseDom","DomUtils","child","handler","DomHandler","dom","domSerializer","stringifyError","executeAction","actions","task","params","action","copyHtmlToClipboard","page","htmlContent","blob","Blob","ClipboardItem","div","range","selection","PopupListener","popupSelector","popKey","buttonSelector","checkInterval","stopAfterClick","popup","button","intervalId","setInterval","clearInterval","parseUrlQueryString","queryStringObject","queryString","queryWithoutHash","queryStringArray","item","equalIndex","defaultParams","defaults","generateTopicHtml","topic","id","sv_small_images","generateUid","topicBase","crypto","topicAttr","attrStr","errnoMap","mockAction","baijiahaoSingleCover","baijiahaoMultCover","baijiahaoCoverType","tmpCachePath","it","msgType","errmsg","appIdInfo","appId","uploadImages","_images","images","fileName","getFilenameFromUrl","image","downloadImage","formData","FormData","res","originContentImages","targetContentImages","topicCheck","content","idx","horizontalCoverUrl","horizontalCoverRes","cover_images","_cover_images_map","isAi","activityList","cover_layout","activity_list","publishData","isDraft","saveUrl","proxyHttp","success","rpaAction","commonCookies","titleInstance","coverFormItem","isSingleCover","coverSelector","coverCount","fileChooserPromise","fileChooser","abstractFormItem","settingFormItem","_settingFormItem","enent2NewsBtn","activity","activityFormItem","findActivity","articleId","message","handleResponse","jsonResponse","operatorContainer","scrollHourInfo","hourInner","hourElementHeight","hourMapsElem","hourMap","fistHourElem","fistHourElemH","lastHourElem","lastHourElemH","targetTimeH","scrollMinuteInfo","fistMinuteElem","fistMinuteElemH","lastMinuteElem","lastMinuteElemH","targetTimeM","baijiahaoPublish","getBaijiahaoActivity","_task","cookies","getToutiaoConfig","getSuggestWords","getCityDistrict","getUserRights","suggestWords","cityDistrict","userRights","getBaijiahaoConfig","data","_item","searchToutiaoTopicList","searchToutiaoLocation","searchToutiaoUserInfo","searchXiaohongshuLocation","mnsv2_enc","arg1","arg2","a1value","require","Xhshow","uri","a1Value","xsecAppid","para1","_queryPara","valueStr","md5Para1","mnsvc2_data","mnsvc2","xsEncrypt","searchXiaohongshuTopicList","a1Cookie","xt","topicData","fatchTopic","xs","generatorFormData","encodedKey","encodedValue","get3101DetailError","errorList","saveType","toutiaoSingleCover","toutiaoMultCover","toutiaoCoverType","toutiaoOriginal","toutiaoExclusive","toutiaoClaim","coverUrl","coverRes","topics","topicContent","sourceData","extraData","COVER_TYPE","getAddTypeValue","msToken","publishOption","postHeaders","postData","a_bogus","publishResult","interceptUrls","route","request","URL","pattern","coverTypeValue","coverContainer","coverUrls","coverUploadEle","coverUploadCount","ele","drawerContainer","confirmBtn","locationContainer","poperInstance","adContainer","isAdOptionVisible","exclusiveContainer","claim","toutiaoAd","toutiaoPublish","TTFansExport","XhsFansExport","WxFansExport","htmlStr","BjhFansExport","TTSessionCheck","WxSessionCheck","fingerprint","XhsSessionCheck","BjhSessionCheck","code","getBaijiahaoData","token","yesterday","fansData","readData","incomeData","yesterdayData","bjhData","getToutiaoData","totalData","contentDataYesterday","isReday","ttData","getWeixinData","userInfo","userInfoHtml","originalMatch","totalUsersMatch","increaseMatch","readMatch","shareMatch","subscribeMatch","wxData","getXiaohongshuData","sevenDataUrl","overAllData","sevenData","xhsData","SearchAccountInfo","searchBjhTopicList","handleToutiaoData","pageNum","pageSize","showOriginalData","onlySuccess","visitedUid","articleInfo","articleCell","api_base_info_json","handleWeixinData","cursor","lastPage","ParsePublishPage","body","parsedData","decodeEntities","decode","encodeMap","decodeMap","finalData","decoded","parsedInfo","fetchArticles","begin","size","rawArticlesInfo","articlesInfo","totalFetched","nextPage","remaining","currentPageSize","_rawArticlesInfo","parsed","filteredList","cursorIndex","nextRawArticlesInfo","nextArticlesInfo","newFiltered","lastMsgId","handleBaijiahaoData","filtered","totalPage","currentPage","usedPages","validItems","final","handleXiaohongshuData","serveUrl","serveParams","hasNextpage","FetchArticles","getWeixinConfig","getWeixinCollection","getXhsCollection","userInfoRes","imageList","extra","syncData","descInstance","addressFormItem","declarationFormItem","weitoutiaoPublish","scanRetryMaxCount","QuotaType","genTopicHTML","rn","aTags","GET_QRCODE_DEFAULT_ERROR","ignoreErrno","userTypeMap","URLSearchParams","checkCopyrightStat","resData","client_time_diff","responseData","cloudImages","localImages","ext","fileState","oriWhitelist","_oriWhitelist","white_list","white_list_user","_user","userInfo_res","userInfo_resJson","writerid","reply_id","getWriterList","getRewardText","_type","rewardbind","rewardBuffer","rewardFilePath","task_id","sleep","checkScanResult","_writer","_writer_item","rewardList","matchdID","reward","_reply_item","wxInteractionInfo","_wxInteraction","_opt","commentType","replyType","draftData","appMsgId","checkTimes","copyrightStatRes","copyrightStat","masssendpage","massSendRes","operation_seq","quota_detail_list","quotaDetail","copyrightStatData","lastData","checkCopyrightStatRes","getTicketResult","getUuidResult","uuid","qrcodeResult","qrcodeBuffer","qrcodeFilePath","randomString","waitQrcodeResultMaxTime","urlParams","urlRewardParams","wxRewardPage","reward_page","isAddRewarder","qrcodeSrc","errorMessage","isAddWord","cover","dialog","pic_msg","ori_dialog","ori_dialog_bd","ori_dialog_ft","_target","search_res","search_res_name","whrite_list","white_td_isadd","btn_isChecked","checkbox","reward_setting","reward_setting_bd","reward_setting_ft","userName","reward_setting_replay","switchAuto","maxAttempts","delayMs","nowCheckTime","attempt","isDisabled","isOneReplay","isCurrentReplay","wxInteraction_setting","wxInteraction_bd","wxInteraction_ft","comment_area","reply_area","commont_rply_opt","poperInput","source","query","dateD","nowD","dropMenu","timeDropMenu","times","originalCheckDialog","popMassend","startTime","imgUrl","weixinPublish","_params","saveDraft","shareImageInfos","cropResult","colorResponseData","themeColor","cropFormData","cropRatios","cropCoordinates","cropCoordinate","cropResponse","sourceText","container","weixinmpPublish","fetchCoverUrl","fetchCoverParams","coverIdInfo","uploadInfos","fileId","availableBuckets","uploadFile","localUrl","fileBuffer","MAX_RETRIES","ossBucketIndex","currentInfo","ossFileId","ossToken","ossDomain","coverInfos","invalidUpload","publishXt","publishXs","createTopic","visibleRangeMap","userDeclarationBind","photoInfo","bizId","userData","business_binds","xscommon","CryptoConfig","RandomGenerator","byteCount","minVal","maxVal","HexProcessor","hexString","byteValues","hexChunk","xorKey","byteVal","BitOperations","unsignedValue","seed32bit","normalizedSeed","shift15Bits","shift13Bits","shift12Bits","shift10Bits","xorMaskedResult","shiftedResult","sourceIntegers","resultBytes","hexKeyBytes","Base58Encoder","inputBytes","bytesArray","numberAccumulator","leadingZerosCount","encodedCharacters","BYTE_SIZE","byteValue","BigInt","count","number","characters","base","remainder","Base64Encoder","dataToEncode","dataBytes","standardEncodedString","char","RequestSignatureValidator","method","upperMethod","CryptoProcessor","ts","randomizeFirst","arr","encoded","hexParameter","appIdentifier","stringParam","randNum","startupTs","randBytes","stringParamLength","md5Bytes","xorMd5Bytes","dValue","payloadArray","xorResult","validatedMethod","validatedUri","validatedA1Value","validatedXsecAppid","validatedPayload","signatureData","contentString","validatedParams","urlObj","isNoteRequest","newHeaders","selectAddress","selector","address","instance","selectDate","getPoperInstance","elements","visibleElements","element","style","getDialogInstance","selfDeclarationInstance","selfDeclarationSecondaryMenuInstance","shootingDate","shootingLocation","selfShootingPopup","hasCustomContent","sourceMedia","releaseTimeInstance","xiaohongshuPublish","getXhsGroup","groupListParams","fatchGroup","getXhsHotTopic","hotTopicParams","getToutiaoCollection","BetaFlag","Action"],"mappings":"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BACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;aACD;YACD,OAAOA,CAAC,CAAC2I,KAAK,IAAI;QACpB;QACA,SAAS8B,YAAY9B,CAAC,EAAEE,CAAC;YACvB,OAAO2C,UAAU3C,IAAI,MAAMF;QAC7B;QAEA,IAAI8C,cAAc,SAAU9C,CAAC;YAC3B,IAAIE,IAAI,IACJ7I,IAAI,IACJoH,IAAI,KACJ5L,IAAI,KACJwF,IAAI,KACJ8H,IAAI,IACJC,IAAI,KACJ3D,IAAI,IACJzF,IAAI,IACJvB,IAAI,IACJ4K,I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AII,YAAU;gBAAC;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBA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I;gBAAI;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAM;gBAAK;gBAAK;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAM;gBAAK;gBAAI;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAS;gBAAK;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAQ;gBAAK;gBAAK;gBAAI;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAI;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAI;gBAAK;gBAAK;gBAAI;gBAAI;gBAAK;gBAAM;gBAA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"}
|