vome-core 0.0.14 → 0.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- const _0x491718=_0x285b;(function(_0x482d7a,_0x3376f3){const _0x355e28=_0x285b,_0x331097=_0x482d7a();while(!![]){try{const _0x2cbe0a=-parseInt(_0x355e28(0x2c2))/0x1*(-parseInt(_0x355e28(0x301))/0x2)+parseInt(_0x355e28(0x11d))/0x3*(parseInt(_0x355e28(0x272))/0x4)+parseInt(_0x355e28(0x14a))/0x5*(parseInt(_0x355e28(0x1ae))/0x6)+parseInt(_0x355e28(0x1c5))/0x7+-parseInt(_0x355e28(0x16f))/0x8*(-parseInt(_0x355e28(0x22c))/0x9)+parseInt(_0x355e28(0x22f))/0xa+-parseInt(_0x355e28(0x16c))/0xb*(parseInt(_0x355e28(0x2fd))/0xc);if(_0x2cbe0a===_0x3376f3)break;else _0x331097['push'](_0x331097['shift']());}catch(_0x15d8b6){_0x331097['push'](_0x331097['shift']());}}}(_0x463b,0x2b726));import{join}from'path';import{pathToFileURL}from'url';function getEnv(){const _0x34e2f0=_0x285b;return Bun[_0x34e2f0(0x252)][_0x34e2f0(0x2b9)]===_0x34e2f0(0x216)?_0x34e2f0(0x216):_0x34e2f0(0x283);}function merge(_0x2576ef,_0x4bdac6){const _0x454756=_0x285b,_0xbbf6b={..._0x2576ef};for(const _0x720916 of Object[_0x454756(0x26c)](_0x4bdac6)){const _0x23c742=_0xbbf6b[_0x720916],_0x134732=_0x4bdac6[_0x720916];if(_0x23c742&&_0x134732&&typeof _0x23c742===_0x454756(0x264)&&typeof _0x134732===_0x454756(0x264)&&!Array['isArray'](_0x23c742)&&!Array['isArray'](_0x134732)){_0xbbf6b[_0x720916]=merge(_0x23c742,_0x134732);continue;}_0xbbf6b[_0x720916]=_0x134732;}return _0xbbf6b;}async function loadConfig(_0x53ea57=join(process[_0x491718(0x188)](),_0x491718(0x13d))){const _0xcbc5c=_0x491718,_0x49f521=getEnv()===_0xcbc5c(0x216)?_0xcbc5c(0x1e1):_0xcbc5c(0x288),_0x35db23=await import(pathToFileURL(join(_0x53ea57,_0xcbc5c(0x1fc)))['href']),_0x43c6e8=await import(pathToFileURL(join(_0x53ea57,_0x49f521))['href']);return merge(_0x35db23[_0xcbc5c(0x237)],_0x43c6e8['default']);}var VomeConfig=await loadConfig();import{Elysia as _0x6dfad3}from'elysia';import{Elysia}from'elysia';import{AsyncLocalStorage}from'async_hooks';var storage=new AsyncLocalStorage(),warnedOutsideRequest=![];function resolveClientIp(_0x288680){const _0x48051c=_0x491718,_0x1e4ebd=_0x288680[_0x48051c(0x1f0)][_0x48051c(0x179)]('x-forwarded-for');if(_0x1e4ebd){const _0x47a407=_0x1e4ebd[_0x48051c(0x1a7)](',')[0x0]?.['trim']();if(_0x47a407)return _0x47a407;}return _0x288680['headers'][_0x48051c(0x179)](_0x48051c(0x138))?.[_0x48051c(0x218)]()||_0x288680[_0x48051c(0x1f0)][_0x48051c(0x179)](_0x48051c(0x22d))?.[_0x48051c(0x218)]()||'';}function initContextFromRequest(_0xe86910){const _0x5c383b=_0x491718,_0x36f76c=new URL(_0xe86910[_0x5c383b(0x235)]),_0x1fd418=_0xe86910[_0x5c383b(0x1f0)][_0x5c383b(0x179)](_0x5c383b(0x2f6))?.[_0x5c383b(0x1a7)](',')[0x0]?.[_0x5c383b(0x218)](),_0x5db2f8=_0xe86910[_0x5c383b(0x1f0)][_0x5c383b(0x179)]('host')?.[_0x5c383b(0x218)]();return{'requestId':crypto[_0x5c383b(0x185)](),'method':_0xe86910['method'],'path':_0x36f76c[_0x5c383b(0x1fe)],'ip':resolveClientIp(_0xe86910),'host':_0x1fd418||_0x5db2f8||_0x36f76c['host'],'startTime':Date[_0x5c383b(0x153)]()};}function enterContextWith(_0x5038d2){const _0x38b2a4=_0x491718;storage[_0x38b2a4(0x129)](_0x5038d2);}function getContext(){return storage['getStore']();}function assignContext(_0x5d87b8){const _0x250051=_0x491718,_0x38b028=storage[_0x250051(0x248)]();if(!_0x38b028){getEnv()===_0x250051(0x216)&&!warnedOutsideRequest&&(warnedOutsideRequest=!![],console[_0x250051(0x175)](_0x250051(0x2c9)));return;}Object['assign'](_0x38b028,_0x5d87b8);}function runContext(_0x288a3e,_0x348902){const _0x583fae=_0x491718;return storage[_0x583fae(0x2ef)](_0x288a3e,_0x348902);}var Context=Object[_0x491718(0x293)](assignContext,{'get':getContext,'run':runContext});import'reflect-metadata';var INJECT_METADATA_KEY=_0x491718(0x173),providers=new Map();function registerProvider(_0x5f4d5a){const _0x4e310b=_0x491718;providers['set'](_0x5f4d5a[_0x4e310b(0x212)],_0x5f4d5a);}function getProvider(_0x453c05){const _0x54a6f9=_0x491718;return providers[_0x54a6f9(0x179)](_0x453c05);}function listProviders(){const _0x409758=_0x491718,_0x4fb593=new Set(),_0x53027f=[];for(const _0x2837f9 of providers[_0x409758(0x157)]()){if(_0x4fb593[_0x409758(0x191)](_0x2837f9[_0x409758(0x240)]))continue;_0x4fb593[_0x409758(0x217)](_0x2837f9[_0x409758(0x240)]),_0x53027f['push'](_0x2837f9);}return _0x53027f;}function tokenLabel(_0x3ea93b){const _0x5e3e77=_0x491718;if(typeof _0x3ea93b==='string'||typeof _0x3ea93b===_0x5e3e77(0x116))return String(_0x3ea93b);return _0x3ea93b['name']||_0x5e3e77(0x17d);}function appendInjectMeta(_0x4a26e8,_0x5ed8cf){const _0x482754=_0x491718,_0x4d7ec1=Reflect['getMetadata'](INJECT_METADATA_KEY,_0x4a26e8)??[];_0x4d7ec1['push'](_0x5ed8cf),Reflect[_0x482754(0x148)](INJECT_METADATA_KEY,_0x4d7ec1,_0x4a26e8);}function getInjectMetas(_0x42b0c2){const _0x479211=_0x491718;return Reflect[_0x479211(0x2d1)](INJECT_METADATA_KEY,_0x42b0c2)??[];}function resetProviders(){const _0x30bf16=_0x491718;providers[_0x30bf16(0x2e9)]();}var ScopeEnum;(_0x2e0824=>{const _0x1b66c8=_0x491718;_0x2e0824[_0x1b66c8(0x1c4)]=_0x1b66c8(0x1e2),_0x2e0824[_0x1b66c8(0x2cb)]=_0x1b66c8(0x177),_0x2e0824[_0x1b66c8(0x174)]='prototype';})(ScopeEnum||={});var singletons=new Map(),creating=new Set(),requestCaches=new WeakMap();function injectProperties(_0x36a324,_0x53718f){const _0xb84a54=_0x491718;for(const _0x31ea1f of getInjectMetas(_0x53718f)){const {propertyKey:_0x2e6e3d,token:_0x44f866,resolve:_0x430b82}=_0x31ea1f;if(!_0x430b82&&_0x44f866==null)throw new Error(_0xb84a54(0x220)+String(_0x2e6e3d)+'\x20缺少\x20token\x20或\x20resolve');const _0x1364cc=_0x430b82?_0x430b82():Ioc[_0xb84a54(0x179)](_0x44f866);_0x36a324[_0x2e6e3d]=_0x1364cc;const _0x4b16fb=_0x36a324[_0xb84a54(0x294)];_0x430b82&&typeof _0x4b16fb===_0xb84a54(0x160)&&_0x4b16fb[_0xb84a54(0x2de)](_0x36a324,_0x1364cc);}}function createInstance(_0x559c51){const _0x4fa9d5=_0x491718;if(creating[_0x4fa9d5(0x191)](_0x559c51))throw new Error(_0x4fa9d5(0x16a)+_0x559c51[_0x4fa9d5(0x2b6)]);creating[_0x4fa9d5(0x217)](_0x559c51);try{const _0xb9bac3=new _0x559c51();return injectProperties(_0xb9bac3,_0x559c51),_0xb9bac3;}finally{creating[_0x4fa9d5(0x18a)](_0x559c51);}}function getSingleton(_0x45509b){const _0x2fecf6=_0x491718,_0x103a3c=singletons[_0x2fecf6(0x179)](_0x45509b);if(_0x103a3c)return _0x103a3c;const _0x80211c=createInstance(_0x45509b);return singletons[_0x2fecf6(0x200)](_0x45509b,_0x80211c),_0x80211c;}function getRequestCache(){const _0x159c3e=_0x491718,_0x1e7d70=Context[_0x159c3e(0x179)]();if(!_0x1e7d70)throw new Error(_0x159c3e(0x284));let _0x4354f5=requestCaches[_0x159c3e(0x179)](_0x1e7d70);return!_0x4354f5&&(_0x4354f5=new Map(),requestCaches[_0x159c3e(0x200)](_0x1e7d70,_0x4354f5)),_0x4354f5;}function getRequestScoped(_0x375b2d){const _0xdd215d=_0x491718,_0x5b3787=getRequestCache(),_0x47116b=_0x5b3787[_0xdd215d(0x179)](_0x375b2d);if(_0x47116b)return _0x47116b;const _0x23897d=createInstance(_0x375b2d);return _0x5b3787['set'](_0x375b2d,_0x23897d),_0x23897d;}function resolveByScope(_0x3729d9,_0x3681d9){const _0x954234=_0x491718;switch(_0x3681d9){case _0x954234(0x1e2):return getSingleton(_0x3729d9);case _0x954234(0x1ea):return createInstance(_0x3729d9);case _0x954234(0x177):return getRequestScoped(_0x3729d9);default:throw new Error('[Ioc]\x20未知作用域:\x20'+_0x3681d9);}}function resolveMeta(_0x18e80a){const _0x39cc87=getProvider(_0x18e80a);if(!_0x39cc87)throw new Error('[Ioc]\x20未注册的\x20Provider:\x20'+tokenLabel(_0x18e80a));return _0x39cc87;}function bootstrapIoc(){const _0x53cc58=_0x491718;for(const {useClass:_0x4f133a,scope:_0x334efc}of listProviders()){_0x334efc==='singleton'&&getSingleton(_0x4f133a);}console[_0x53cc58(0x2b8)](_0x53cc58(0x1a9)+singletons[_0x53cc58(0x255)]+'\x20singleton(s)');}function get(_0x45108f){const _0x32ed3c=_0x491718,_0x47c275=resolveMeta(_0x45108f);return resolveByScope(_0x47c275[_0x32ed3c(0x240)],_0x47c275['scope']);}function set(_0x1a8a9d,_0xdcd3a7){const _0x26bf41=_0x491718;if(typeof _0x1a8a9d===_0x26bf41(0x160)){registerProvider({'token':_0x1a8a9d,'useClass':_0x1a8a9d,'scope':_0x26bf41(0x1e2)}),singletons[_0x26bf41(0x200)](_0x1a8a9d,_0xdcd3a7);return;}const _0x1b930c=_0xdcd3a7?.[_0x26bf41(0x214)];if(!_0x1b930c||_0x1b930c===Object)throw new Error(_0x26bf41(0x223)+tokenLabel(_0x1a8a9d)+_0x26bf41(0x1ee));registerProvider({'token':_0x1a8a9d,'useClass':_0x1b930c,'scope':_0x26bf41(0x1e2)}),registerProvider({'token':_0x1b930c,'useClass':_0x1b930c,'scope':_0x26bf41(0x1e2)}),singletons[_0x26bf41(0x200)](_0x1b930c,_0xdcd3a7);}function resetIoc(){const _0x15f98a=_0x491718;singletons[_0x15f98a(0x2e9)](),creating[_0x15f98a(0x2e9)](),resetProviders();}var Ioc={'get':get,'set':set};import'reflect-metadata';var controllers=new Map();function registerController(_0x55797a){const _0x13a381=_0x491718;controllers[_0x13a381(0x200)](_0x55797a[_0x13a381(0x212)],_0x55797a);}function listControllers(_0x39efdb){const _0x1a58b6=_0x491718,_0x283ed2=[...controllers['values']()];return _0x39efdb?_0x283ed2[_0x1a58b6(0x251)](_0x3ce536=>_0x3ce536[_0x1a58b6(0x184)]===_0x39efdb):_0x283ed2;}var ROUTE_PARAMS_KEY=_0x491718(0x15c),ROUTE_PUBLIC_KEY='vome:controller:route-public',ROUTE_MW_KEY=_0x491718(0x1a2),ROUTE_PERMS_KEY=_0x491718(0x2b1),ROUTE_IGNORE_PERMS_KEY=_0x491718(0x1eb);function appendRouteParam(_0x5bbcdf,_0x97f13c,_0x155a6c){const _0x28b52c=_0x491718,_0x5965a2=Reflect[_0x28b52c(0x2d1)](ROUTE_PARAMS_KEY,_0x5bbcdf)??{},_0x162d1c=_0x5965a2[_0x97f13c]??[];_0x162d1c[_0x28b52c(0x14f)](_0x155a6c),_0x5965a2[_0x97f13c]=_0x162d1c,Reflect['defineMetadata'](ROUTE_PARAMS_KEY,_0x5965a2,_0x5bbcdf);}function getRouteParams(_0x47b89a,_0x3c1f73){const _0x5e933e=_0x491718,_0x50f796=Reflect[_0x5e933e(0x2d1)](ROUTE_PARAMS_KEY,_0x47b89a);return _0x50f796?.[_0x3c1f73]??[];}function clearRouteParams(_0xc95c3c){Reflect['deleteMetadata'](ROUTE_PARAMS_KEY,_0xc95c3c);}function markRoutePublic(_0x362a5c,_0x4c2851){const _0x5c5d71=_0x491718,_0x36eeb9=Reflect[_0x5c5d71(0x2d1)](ROUTE_PUBLIC_KEY,_0x362a5c)??{};_0x36eeb9[_0x4c2851]=!![],Reflect['defineMetadata'](ROUTE_PUBLIC_KEY,_0x36eeb9,_0x362a5c);}function isRoutePublic(_0x1c81e4,_0x1d5113){const _0x220c84=_0x491718,_0x2e1e54=Reflect[_0x220c84(0x2d1)](ROUTE_PUBLIC_KEY,_0x1c81e4);return!!_0x2e1e54?.[_0x1d5113];}function clearRoutePublic(_0x1b40ac){const _0x9636f4=_0x491718;Reflect[_0x9636f4(0x121)](ROUTE_PUBLIC_KEY,_0x1b40ac);}function appendRouteMiddleware(_0x2fb632,_0x59e3a6,_0x152baa){const _0x1e51e3=_0x491718,_0x1eb061=Reflect[_0x1e51e3(0x2d1)](ROUTE_MW_KEY,_0x2fb632)??{};_0x1eb061[_0x59e3a6]=[..._0x1eb061[_0x59e3a6]??[],..._0x152baa],Reflect[_0x1e51e3(0x148)](ROUTE_MW_KEY,_0x1eb061,_0x2fb632);}function getRouteMiddleware(_0x285cd7,_0xf2a4ca){const _0x576035=_0x491718,_0x394a30=Reflect[_0x576035(0x2d1)](ROUTE_MW_KEY,_0x285cd7);return _0x394a30?.[_0xf2a4ca]??[];}function clearRouteMiddleware(_0x568249){Reflect['deleteMetadata'](ROUTE_MW_KEY,_0x568249);}function setRoutePerms(_0x320ab9,_0x52a8e1,_0x517050){const _0x396141=Reflect['getMetadata'](ROUTE_PERMS_KEY,_0x320ab9)??{};_0x396141[_0x52a8e1]=_0x517050,Reflect['defineMetadata'](ROUTE_PERMS_KEY,_0x396141,_0x320ab9);}function getRoutePerms(_0x182561,_0x5db203){const _0x194364=_0x491718,_0x381a6a=Reflect[_0x194364(0x2d1)](ROUTE_PERMS_KEY,_0x182561);return _0x381a6a?.[_0x5db203];}function _0x285b(_0x1aa6b6,_0x228c23){_0x1aa6b6=_0x1aa6b6-0x116;const _0x463bfc=_0x463b();let _0x285b1e=_0x463bfc[_0x1aa6b6];if(_0x285b['ganCZg']===undefined){var _0x2592c8=function(_0x5f065f){const _0x2982e2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6dfad3='',_0x8e05f1='';for(let _0x133a2a=0x0,_0x12971e,_0x20f09e,_0x551c8d=0x0;_0x20f09e=_0x5f065f['charAt'](_0x551c8d++);~_0x20f09e&&(_0x12971e=_0x133a2a%0x4?_0x12971e*0x40+_0x20f09e:_0x20f09e,_0x133a2a++%0x4)?_0x6dfad3+=String['fromCharCode'](0xff&_0x12971e>>(-0x2*_0x133a2a&0x6)):0x0){_0x20f09e=_0x2982e2['indexOf'](_0x20f09e);}for(let _0x15b1a4=0x0,_0x564549=_0x6dfad3['length'];_0x15b1a4<_0x564549;_0x15b1a4++){_0x8e05f1+='%'+('00'+_0x6dfad3['charCodeAt'](_0x15b1a4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8e05f1);};_0x285b['xpIzMs']=_0x2592c8,_0x285b['hrPjSI']={},_0x285b['ganCZg']=!![];}const _0x48bd6e=_0x463bfc[0x0],_0x381e05=_0x1aa6b6+_0x48bd6e,_0x33fc2a=_0x285b['hrPjSI'][_0x381e05];return!_0x33fc2a?(_0x285b1e=_0x285b['xpIzMs'](_0x285b1e),_0x285b['hrPjSI'][_0x381e05]=_0x285b1e):_0x285b1e=_0x33fc2a,_0x285b1e;}function clearRoutePerms(_0xdb75cb){Reflect['deleteMetadata'](ROUTE_PERMS_KEY,_0xdb75cb);}function markRouteIgnorePerms(_0x128582,_0x54b366){const _0x4b9b85=_0x491718,_0x1f5ad4=Reflect[_0x4b9b85(0x2d1)](ROUTE_IGNORE_PERMS_KEY,_0x128582)??{};_0x1f5ad4[_0x54b366]=!![],Reflect[_0x4b9b85(0x148)](ROUTE_IGNORE_PERMS_KEY,_0x1f5ad4,_0x128582);}function isRouteIgnorePerms(_0x89e989,_0xa41f8c){const _0x2a8d86=_0x491718,_0x1789d1=Reflect[_0x2a8d86(0x2d1)](ROUTE_IGNORE_PERMS_KEY,_0x89e989);return!!_0x1789d1?.[_0xa41f8c];}function clearRouteIgnorePerms(_0x21c3d8){const _0xab5da5=_0x491718;Reflect[_0xab5da5(0x121)](ROUTE_IGNORE_PERMS_KEY,_0x21c3d8);}function schemaFromParams(_0x515d29){const _0x10f407=_0x491718,_0x57b611={};for(const _0x22e80e of _0x515d29){if(_0x22e80e['source']===_0x10f407(0x2b2)&&_0x22e80e[_0x10f407(0x25d)]!==undefined)_0x57b611['body']=_0x22e80e[_0x10f407(0x25d)];if(_0x22e80e[_0x10f407(0x1c7)]===_0x10f407(0x169)&&_0x22e80e[_0x10f407(0x25d)]!==undefined)_0x57b611[_0x10f407(0x169)]=_0x22e80e[_0x10f407(0x25d)];if(_0x22e80e[_0x10f407(0x1c7)]===_0x10f407(0x199)&&_0x22e80e[_0x10f407(0x25d)]!==undefined)_0x57b611[_0x10f407(0x199)]=_0x22e80e['schema'];}return Object['keys'](_0x57b611)[_0x10f407(0x27f)]>0x0?_0x57b611:undefined;}function openApiTag(_0x14cd26,_0x4bb7dd){return _0x14cd26+'.'+_0x4bb7dd;}function sideOrder(_0x4a1369){const _0x3ca5d7=_0x491718;if(_0x4a1369===_0x3ca5d7(0x2d5))return 0x0;if(_0x4a1369===_0x3ca5d7(0x1a6))return 0x1;return 0x2;}function parseTag(_0x356888){const _0x4087a3=_0x491718,_0x30c942=_0x356888[_0x4087a3(0x1cf)]('.');if(_0x30c942<0x0)return{'module':_0x356888,'side':''};return{'module':_0x356888['slice'](0x0,_0x30c942),'side':_0x356888[_0x4087a3(0x1f2)](_0x30c942+0x1)};}function buildOpenApiTagDocs(){const _0x3df461=_0x491718,_0x3dfa42=listControllers(),_0x2194d7=new Map(),_0x3e97e7=new Map();for(const _0x4a6e04 of _0x3dfa42){const _0x51d99e=openApiTag(_0x4a6e04[_0x3df461(0x27c)],_0x4a6e04[_0x3df461(0x184)]);!_0x2194d7[_0x3df461(0x191)](_0x51d99e)&&_0x2194d7['set'](_0x51d99e,{'name':_0x51d99e,'description':_0x4a6e04[_0x3df461(0x27c)]+'\x20'+_0x4a6e04['side'],'x-displayName':_0x4a6e04[_0x3df461(0x184)]});let _0x2a4f3b=_0x3e97e7[_0x3df461(0x179)](_0x4a6e04[_0x3df461(0x27c)]);!_0x2a4f3b&&(_0x2a4f3b=new Set(),_0x3e97e7[_0x3df461(0x200)](_0x4a6e04[_0x3df461(0x27c)],_0x2a4f3b)),_0x2a4f3b[_0x3df461(0x217)](_0x51d99e);}const _0x4e7e84=[..._0x2194d7[_0x3df461(0x157)]()]['sort']((_0x803b64,_0x34567c)=>{const _0xd1fe75=_0x3df461,_0x12dc6f=parseTag(_0x803b64[_0xd1fe75(0x2b6)]),_0x352594=parseTag(_0x34567c[_0xd1fe75(0x2b6)]);return _0x12dc6f[_0xd1fe75(0x27c)][_0xd1fe75(0x2e1)](_0x352594[_0xd1fe75(0x27c)])||sideOrder(_0x12dc6f['side'])-sideOrder(_0x352594[_0xd1fe75(0x184)]);}),_0x771426=[..._0x3e97e7[_0x3df461(0x19d)]()][_0x3df461(0x29a)](([_0x5a247f],[_0x445281])=>_0x5a247f[_0x3df461(0x2e1)](_0x445281))['map'](([_0x3b72ae,_0x3013f8])=>({'name':_0x3b72ae,'tags':[..._0x3013f8][_0x3df461(0x29a)]((_0x598810,_0x55fb53)=>{const _0x19d775=_0x3df461,_0x1d8cde=parseTag(_0x598810)['side'],_0x291ada=parseTag(_0x55fb53)[_0x19d775(0x184)];return sideOrder(_0x1d8cde)-sideOrder(_0x291ada);})}));return{'tags':_0x4e7e84,'tagGroups':_0x771426};}function normalizePrefix(_0x54f05d){const _0x21b9d6=_0x491718;if(!_0x54f05d)return'';return _0x54f05d[_0x21b9d6(0x1ff)]('/')?_0x54f05d:'/'+_0x54f05d;}function joinPrefix(..._0x54be68){const _0x287fd2=_0x491718,_0x26f80b=_0x54be68[_0x287fd2(0x23d)](_0x22923c=>normalizePrefix(_0x22923c)['replace'](/^\/+|\/+$/g,''))[_0x287fd2(0x251)](Boolean);return _0x26f80b['length']?'/'+_0x26f80b[_0x287fd2(0x2f8)]('/'):'/';}function getRouteSubPath(_0x119055,_0x5c51dd){const _0x123b60=_0x491718,_0x507ee6=normalizePrefix(_0x5c51dd)[_0x123b60(0x1ba)](/\/$/,''),_0xf872c3=normalizePrefix(_0x119055);if(!_0x507ee6)return _0xf872c3||'/';if(_0xf872c3===_0x507ee6)return'/';if(_0xf872c3[_0x123b60(0x1ff)](_0x507ee6+'/'))return _0xf872c3[_0x123b60(0x1f2)](_0x507ee6['length'])||'/';const _0x5f1f4e=_0x119055['startsWith']('/')?_0x119055:'/'+_0x119055;return _0x5f1f4e||'/';}function resolveRoutePerm(_0x35db36,_0x3d4bd7,_0x440184){const _0x9ec003=_0x491718;let _0x43abaa=_0x3d4bd7['replace'](/^\//,'')[_0x9ec003(0x1ba)](/\/+/g,':');if(_0x43abaa===_0x35db36)_0x43abaa=_0x35db36;else _0x43abaa[_0x9ec003(0x1ff)](_0x35db36+':')&&(_0x43abaa=_0x43abaa[_0x9ec003(0x1f2)](_0x35db36[_0x9ec003(0x27f)]+0x1));const _0x182041=_0x35db36+'-';_0x43abaa[_0x9ec003(0x1ff)](_0x182041)&&(_0x43abaa=_0x43abaa[_0x9ec003(0x1f2)](_0x182041[_0x9ec003(0x27f)]));_0x43abaa=_0x43abaa[_0x9ec003(0x1ba)](/-/g,':');if(!_0x43abaa)_0x43abaa=_0x35db36;return _0x35db36+':'+_0x43abaa+':'+_0x440184;}function actionFromSubPath(_0x7310e3){const _0x4639a3=_0x491718,_0x1ba16d=_0x7310e3[_0x4639a3(0x1ba)](/^\/+|\/+$/g,'');if(!_0x1ba16d)return'index';const _0x18920a=_0x1ba16d[_0x4639a3(0x1a7)]('/');return _0x18920a[_0x18920a['length']-0x1]||_0x4639a3(0x17c);}function effectivePerms(_0x3a324f,_0x1bc805,_0x25cfba){const _0x3bbb37=_0x491718;if(_0x1bc805[_0x3bbb37(0x184)]!==_0x3bbb37(0x2d5)||_0x3a324f[_0x3bbb37(0x2d6)]||_0x3a324f['ignorePerms'])return;if(_0x3a324f['perms']?.[_0x3bbb37(0x27f)])return _0x3a324f['perms'];const _0x2e5f89=_0x25cfba??actionFromSubPath(getRouteSubPath(_0x3a324f['path']??'/',_0x1bc805['prefix']));return[resolveRoutePerm(_0x1bc805[_0x3bbb37(0x27c)],_0x1bc805[_0x3bbb37(0x1c9)],_0x2e5f89)];}var crudRegistrar;function setCrudRegistrar(_0x28c2a6){crudRegistrar=_0x28c2a6;}var SIDE_PREFIX={'admin':_0x491718(0x254),'app':_0x491718(0x303)},ADMIN_GUARD=_0x491718(0x189),APP_GUARD=_0x491718(0x1dc),ELYSIA_METHODS={'GET':_0x491718(0x179),'POST':_0x491718(0x11b),'PUT':_0x491718(0x1b1),'DELETE':_0x491718(0x18a),'PATCH':_0x491718(0x24b)};function getSidePrefix(_0x5311ec){return normalizePrefix(SIDE_PREFIX[_0x5311ec]);}function buildRouteSchema(_0x42f0eb){const _0x30d70a=_0x491718;if(_0x42f0eb[_0x30d70a(0x199)]?.[_0x30d70a(0x27f)])return schemaFromParams(_0x42f0eb['params']);const _0x485964={};if(_0x42f0eb[_0x30d70a(0x2b2)]!==undefined)_0x485964['body']=_0x42f0eb['body'];if(_0x42f0eb[_0x30d70a(0x169)]!==undefined)_0x485964[_0x30d70a(0x169)]=_0x42f0eb[_0x30d70a(0x169)];if(_0x42f0eb[_0x30d70a(0x1e4)]!==undefined)_0x485964[_0x30d70a(0x199)]=_0x42f0eb[_0x30d70a(0x1e4)];return Object['keys'](_0x485964)[_0x30d70a(0x27f)]>0x0?_0x485964:undefined;}function assertRouteParams(_0x12f2f7,_0x3f9481,_0x1015ac){const _0x3f53e4=_0x491718,_0x582c22=new Set();for(const _0x2fe844 of _0x12f2f7){if(_0x582c22['has'](_0x2fe844[_0x3f53e4(0x1c7)])){const _0x2b0fe3=_0x2fe844['source']===_0x3f53e4(0x2b2)?_0x3f53e4(0x296):_0x2fe844[_0x3f53e4(0x1c7)]===_0x3f53e4(0x169)?_0x3f53e4(0x281):_0x3f53e4(0x207);throw new Error('[Router]\x20'+_0x1015ac+'.'+_0x3f9481+_0x3f53e4(0x1a3)+_0x2b0fe3);}_0x582c22['add'](_0x2fe844[_0x3f53e4(0x1c7)]);}}function createParamHandler(_0x25ad92,_0x544c14,_0x6a9e14){const _0x32965f=_0x491718,_0x20eb18=_0x25ad92[_0x544c14],_0x4f3f8b=_0x20eb18[_0x32965f(0x131)](_0x25ad92);if(!_0x6a9e14?.[_0x32965f(0x27f)])return _0x4f3f8b;const _0x2ebb85=[..._0x6a9e14][_0x32965f(0x29a)]((_0x5eb786,_0x8f80a9)=>_0x5eb786['index']-_0x8f80a9[_0x32965f(0x17c)]);return _0x50dd27=>{const _0x25aabd=_0x2ebb85['map'](_0x41bc3b=>{const _0x15f38b=_0x285b;if(_0x41bc3b[_0x15f38b(0x1c7)]==='body')return _0x50dd27[_0x15f38b(0x2b2)];if(_0x41bc3b[_0x15f38b(0x1c7)]==='query')return _0x50dd27[_0x15f38b(0x169)];if(_0x41bc3b[_0x15f38b(0x1c7)]===_0x15f38b(0x199))return _0x50dd27['params'];throw new Error(_0x15f38b(0x165)+_0x41bc3b['source']);});return _0x4f3f8b(..._0x25aabd,_0x50dd27);};}function createPermsGuard(_0x1bc34f){return _0x120f78=>{const _0x20ccad=_0x285b,_0x444ae9=_0x120f78[_0x20ccad(0x168)],_0x30b2b7=Context[_0x20ccad(0x179)]();if(_0x30b2b7?.['isSuper'])return;const _0x1df67c=_0x30b2b7?.[_0x20ccad(0x278)]??[];if(_0x1bc34f[_0x20ccad(0x2aa)](_0x5acfe2=>_0x1df67c['includes'](_0x5acfe2)))return;return _0x444ae9(0x193);};}function openApiSummary(_0x1656f8,_0x46ce37){const _0x1b68af=_0x491718,_0x13779b=_0x1656f8['replace'](/^\/+|\/+$/g,'')[_0x1b68af(0x1a7)]('/')['pop']()||_0x1656f8;return _0x46ce37?_0x13779b+'\x20'+_0x46ce37:_0x13779b;}function buildRouteOptions(_0x4003a0,_0x1c8e5e){const _0x3a8876=_0x491718,_0x587505=buildRouteSchema(_0x4003a0)??{},_0x4cce3b={..._0x587505,'detail':{'tags':[openApiTag(_0x1c8e5e['module'],_0x1c8e5e['side'])],'summary':openApiSummary(_0x4003a0['handler'],_0x4003a0[_0x3a8876(0x193)])}};_0x1c8e5e[_0x3a8876(0x184)]===_0x3a8876(0x2d5)&&!_0x4003a0[_0x3a8876(0x2d6)]&&(_0x4cce3b[ADMIN_GUARD]=!![]);_0x1c8e5e[_0x3a8876(0x184)]===_0x3a8876(0x1a6)&&!_0x4003a0[_0x3a8876(0x2d6)]&&(_0x4cce3b[APP_GUARD]=!![]);const _0x30fbae=[],_0xf61cc1=effectivePerms(_0x4003a0,_0x1c8e5e);if(_0xf61cc1?.[_0x3a8876(0x27f)])_0x30fbae[_0x3a8876(0x14f)](createPermsGuard(_0xf61cc1));if(_0x4003a0['middleware']?.[_0x3a8876(0x27f)])_0x30fbae[_0x3a8876(0x14f)](..._0x4003a0[_0x3a8876(0x147)]);if(_0x30fbae[_0x3a8876(0x27f)])_0x4cce3b[_0x3a8876(0x158)]=_0x30fbae;return _0x4cce3b;}function normalizeCrudRouteOpts(_0x9ff8bc){const _0x21730a=_0x491718;if(_0x9ff8bc==null)return{};if(typeof _0x9ff8bc===_0x21730a(0x16d))return{'public':_0x9ff8bc};return _0x9ff8bc;}function registerControllerPlugin(_0x1758f4,_0x301024){const _0x459fbb=_0x491718,_0x37c507=getSidePrefix(_0x1758f4[_0x459fbb(0x184)]),_0x4efbc6=joinPrefix(_0x37c507,_0x1758f4['prefix']),_0x4816ba=Ioc[_0x459fbb(0x179)](_0x1758f4[_0x459fbb(0x212)]);let _0x5dc3c5=new Elysia({'prefix':_0x4efbc6,'name':_0x1758f4['token']['name'],'tags':[openApiTag(_0x1758f4[_0x459fbb(0x27c)],_0x1758f4[_0x459fbb(0x184)])]});for(const _0x4ea9a0 of _0x1758f4['middleware']??[]){_0x5dc3c5=_0x5dc3c5[_0x459fbb(0x24c)](_0x4ea9a0);}const _0x46ce38=[];for(const _0x45a28f of _0x1758f4[_0x459fbb(0x2c1)]){const _0x4dd0f9=_0x4816ba[_0x45a28f[_0x459fbb(0x2bd)]];if(typeof _0x4dd0f9!==_0x459fbb(0x160))throw new Error('[Router]\x20'+_0x1758f4[_0x459fbb(0x212)][_0x459fbb(0x2b6)]+'.'+_0x45a28f[_0x459fbb(0x2bd)]+_0x459fbb(0x1aa));assertRouteParams(_0x45a28f[_0x459fbb(0x199)]??[],_0x45a28f[_0x459fbb(0x2bd)],_0x1758f4['token']['name']);const _0x51829f=createParamHandler(_0x4816ba,_0x45a28f[_0x459fbb(0x2bd)],_0x45a28f['params']),_0x3cdb5f=getRouteSubPath(_0x45a28f[_0x459fbb(0x20b)],_0x1758f4[_0x459fbb(0x1c9)]),_0x176fcf=buildRouteOptions(_0x45a28f,_0x1758f4),_0xf93a=ELYSIA_METHODS[_0x45a28f['method']];_0x5dc3c5=_0x5dc3c5[_0xf93a](_0x3cdb5f,_0x51829f,_0x176fcf);}if(_0x1758f4[_0x459fbb(0x126)]?.[_0x459fbb(0x19b)]?.[_0x459fbb(0x27f)]||_0x1758f4[_0x459fbb(0x126)]?.['serviceApis']?.['length']){if(!crudRegistrar)throw new Error(_0x459fbb(0x25e)+_0x1758f4[_0x459fbb(0x212)]['name']+_0x459fbb(0x298));_0x5dc3c5=crudRegistrar(_0x5dc3c5,_0x1758f4,{'controller':_0x4816ba,'routeOptions':_0x1af2ee=>{const _0x8fc6f=_0x459fbb,{public:_0xf8c72,action:_0x50249f,summary:_0x55657d}=normalizeCrudRouteOpts(_0x1af2ee),_0x9fdae1={'detail':{'tags':[openApiTag(_0x1758f4[_0x8fc6f(0x27c)],_0x1758f4[_0x8fc6f(0x184)])],'summary':openApiSummary(_0x50249f??_0x8fc6f(0x1b7),_0x55657d)}};if(_0x1758f4[_0x8fc6f(0x184)]===_0x8fc6f(0x2d5)&&!_0xf8c72){_0x9fdae1[ADMIN_GUARD]=!![];if(_0x50249f){const _0x4fb9ff=resolveRoutePerm(_0x1758f4['module'],_0x1758f4[_0x8fc6f(0x1c9)],_0x50249f);_0x9fdae1['beforeHandle']=[createPermsGuard([_0x4fb9ff])];}}return _0x9fdae1;}});for(const _0xc5031 of _0x1758f4[_0x459fbb(0x126)]?.[_0x459fbb(0x19b)]??[]){const _0x134870=_0xc5031==='info'?'GET':'POST';_0x46ce38[_0x459fbb(0x14f)]({'method':_0x134870,'path':joinPrefix(_0x1758f4['prefix'],_0xc5031),'handler':_0xc5031,'autoCrud':!![]});}for(const _0x2b7dad of _0x1758f4[_0x459fbb(0x126)]?.[_0x459fbb(0x21f)]??[]){_0x46ce38[_0x459fbb(0x14f)]({'method':_0x459fbb(0x2fc),'path':joinPrefix(_0x1758f4[_0x459fbb(0x1c9)],_0x2b7dad),'handler':_0x2b7dad,'autoCrud':!![]});}}return{'plugin':_0x5dc3c5,'pluginPrefix':_0x4efbc6,'autoRoutes':_0x46ce38};}function registerControllers(_0x54e9ee,_0x5ef292){const _0x5a00e6=_0x491718;let _0x23f6e3=_0x54e9ee,_0x51bb56=0x0;const _0x30c596=[];for(const _0x2689c9 of listControllers()){const {plugin:_0x219c34,pluginPrefix:_0x5a3c9e,autoRoutes:_0x44f78f}=registerControllerPlugin(_0x2689c9,_0x5ef292);_0x23f6e3=_0x23f6e3[_0x5a00e6(0x1b8)](_0x219c34);for(const _0x5ac1e1 of[..._0x2689c9[_0x5a00e6(0x2c1)],..._0x44f78f]){_0x51bb56+=0x1;const _0xecee10=getRouteSubPath(_0x5ac1e1[_0x5a00e6(0x20b)],_0x2689c9[_0x5a00e6(0x1c9)]),_0x4f9d13=_0xecee10==='/'?_0x5a3c9e:joinPrefix(_0x5a3c9e,_0xecee10[_0x5a00e6(0x1ba)](/^\//,'')),_0x348be5=_0x5ac1e1['public']?_0x5a00e6(0x180):_0x5ac1e1['autoCrud']?_0x5a00e6(0x1ef):'';_0x30c596['push'](_0x5ac1e1[_0x5a00e6(0x2a4)]+'\x20'+_0x4f9d13+_0x348be5);}}if(_0x51bb56>0x0){console[_0x5a00e6(0x2b8)](_0x5a00e6(0x2c3)+_0x51bb56+_0x5a00e6(0x130));for(const _0x5967ef of _0x30c596)console[_0x5a00e6(0x2b8)]('\x20\x20'+_0x5967ef);}return _0x23f6e3;}var {Glob}=globalThis[_0x491718(0x2b7)],DEFAULT_EXT=/\.tsx?$/;async function scanFiles(_0x34d011,_0x50276a={}){const _0x3651bd=_0x491718,{cwd:cwd=process[_0x3651bd(0x188)](),ext:ext=DEFAULT_EXT}=_0x50276a,_0x3b8c28=Array[_0x3651bd(0x2e6)](_0x34d011)?_0x34d011:[_0x34d011],_0xec638b=[];for(const _0x19c4e8 of _0x3b8c28){const _0x1b2587=new Glob(_0x19c4e8);for await(const _0x2f35a4 of _0x1b2587[_0x3651bd(0x239)]({'cwd':cwd,'onlyFiles':!![]})){if(ext[_0x3651bd(0x2db)](_0x2f35a4))_0xec638b['push'](_0x2f35a4);}}return[...new Set(_0xec638b)][_0x3651bd(0x29a)]();}var context=null;function setControllerScanContext(_0x2b1731){context=_0x2b1731;}function getControllerScanContext(){return context;}function parseModuleFromPath(_0x268697){const _0x20c7c0=_0x491718,_0xbd01bb=_0x268697[_0x20c7c0(0x1bf)](/modules\/([^/]+)\/controller\//);if(!_0xbd01bb)return _0x20c7c0(0x17a);return _0xbd01bb[0x1];}function parseControllerAutoPrefix(_0x330911){const _0xe755f5=_0x491718,_0x3033e8=_0x330911[_0xe755f5(0x1ba)](/\\/g,'/')['match'](/modules\/([^/]+)\/controller\/(?:admin|app)\/(.+)\.tsx?$/);if(!_0x3033e8)return'';const _0x23dd46=_0x3033e8[0x1],_0x15bb8e=_0x3033e8[0x2][_0xe755f5(0x1ba)](/\/+/g,'/')[_0xe755f5(0x1ba)](/^\/|\/$/g,'');if(!_0x15bb8e)return'/'+_0x23dd46;return'/'+_0x23dd46+'/'+_0x15bb8e;}var TIME_KEY_RE=/(?:Time|Date|At)$/,ISO_RE=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?$/;function formatDateTime(_0xd865d9){const _0x666cfc=_0x491718,_0x566ec7=_0xd865d9 instanceof Date?_0xd865d9:new Date(_0xd865d9);if(Number[_0x666cfc(0x2ea)](_0x566ec7[_0x666cfc(0x150)]()))return String(_0xd865d9);return new Intl[(_0x666cfc(0x209))](_0x666cfc(0x1f4),{'timeZone':_0x666cfc(0x128),'year':_0x666cfc(0x26e),'month':_0x666cfc(0x28c),'day':_0x666cfc(0x28c),'hour':_0x666cfc(0x28c),'minute':_0x666cfc(0x28c),'second':_0x666cfc(0x28c),'hour12':![]})['format'](_0x566ec7)[_0x666cfc(0x1ba)]('T','\x20');}function isTimeKey(_0x5750ed){const _0x4b460f=_0x491718;return TIME_KEY_RE[_0x4b460f(0x2db)](_0x5750ed);}function formatApiDates(_0x2fcdaa){return walk(_0x2fcdaa);}function walk(_0xba6008,_0x4f741f){const _0x3c357e=_0x491718;if(_0xba6008==null)return _0xba6008;if(_0xba6008 instanceof Date)return formatDateTime(_0xba6008);if(typeof _0xba6008===_0x3c357e(0x119)&&_0x4f741f&&isTimeKey(_0x4f741f)&&ISO_RE['test'](_0xba6008))return formatDateTime(_0xba6008);if(Array[_0x3c357e(0x2e6)](_0xba6008))return _0xba6008['map'](_0x2d2404=>walk(_0x2d2404));if(typeof _0xba6008==='object'){if(Object[_0x3c357e(0x1ea)][_0x3c357e(0x2cd)][_0x3c357e(0x2de)](_0xba6008)!==_0x3c357e(0x285))return _0xba6008;const _0x5daaba={};for(const [_0x2a3c4d,_0x5a1e48]of Object[_0x3c357e(0x19d)](_0xba6008)){_0x5daaba[_0x2a3c4d]=walk(_0x5a1e48,_0x2a3c4d);}return _0x5daaba;}return _0xba6008;}var RES_CODE={'SUCCESS':0x3e8,'ERROR':0x3e9};class BaseController{['ok'](_0x474a4c){const _0x41f18a=_0x491718,_0x125daf=_0x474a4c===undefined?null:_0x474a4c;return{'code':RES_CODE[_0x41f18a(0x2ac)],'message':_0x41f18a(0x28e),'data':_0x125daf==null?_0x125daf:formatApiDates(_0x125daf)};}[_0x491718(0x20f)](_0x523109='error',_0x3edd71=RES_CODE[_0x491718(0x133)]){return{'code':_0x3edd71,'message':_0x523109};}}import'reflect-metadata';function normalizeProvideArgs(_0x1ee518){const _0x445ba6=_0x491718;if(_0x1ee518==null)return{};if(typeof _0x1ee518===_0x445ba6(0x119)||typeof _0x1ee518===_0x445ba6(0x116))return{'id':_0x1ee518};return _0x1ee518;}function Provide(_0x27c5d4){return _0x2eea87=>{const _0x464ff5=_0x285b,_0x5d80af=normalizeProvideArgs(_0x27c5d4),_0xef856b=_0x5d80af['scope']??_0x464ff5(0x1e2);registerProvider({'token':_0x2eea87,'useClass':_0x2eea87,'scope':_0xef856b}),_0x5d80af['id']!=null&&registerProvider({'token':_0x5d80af['id'],'useClass':_0x2eea87,'scope':_0xef856b});};}function Inject(_0x40bc54){return(_0x1d264d,_0x119a00)=>{const _0x2166f5=_0x285b,_0x23aab2=Reflect['getMetadata'](_0x2166f5(0x280),_0x1d264d,_0x119a00),_0x5b4410=_0x40bc54??_0x23aab2;if(_0x5b4410==null)throw new Error(_0x2166f5(0x118)+String(_0x119a00)+_0x2166f5(0x210));appendInjectMeta(_0x1d264d['constructor'],{'propertyKey':_0x119a00,'token':_0x5b4410});};}import{and,arrayContains,arrayOverlaps,asc,desc,eq,gte,inArray,like,lte,or,sql}from'drizzle-orm';function colName(_0x2a5b8f){const _0x10e58c=_0x491718;if(typeof _0x2a5b8f===_0x10e58c(0x119)){const _0x5ac7fd=_0x2a5b8f[_0x10e58c(0x176)]('.')?_0x2a5b8f[_0x10e58c(0x1a7)]('.')[_0x10e58c(0x14b)]():_0x2a5b8f;return{'column':_0x5ac7fd,'param':_0x5ac7fd,'none':![]};}const _0x573704=_0x2a5b8f[_0x10e58c(0x2d9)][_0x10e58c(0x176)]('.')?_0x2a5b8f[_0x10e58c(0x2d9)][_0x10e58c(0x1a7)]('.')[_0x10e58c(0x14b)]():_0x2a5b8f['column'];return{'column':_0x573704,'param':_0x2a5b8f[_0x10e58c(0x1f6)]??_0x573704,'none':Boolean(_0x2a5b8f[_0x10e58c(0x2f7)])};}function rangeColumn(_0x1e3be3){const _0x54af52=_0x491718;return _0x1e3be3[_0x54af52(0x2d9)][_0x54af52(0x176)]('.')?_0x1e3be3['column']['split']('.')[_0x54af52(0x14b)]():_0x1e3be3[_0x54af52(0x2d9)];}function tableCol(_0x2b3bcc,_0x2840b4){const _0x5132d2=_0x491718,_0x325e08=_0x2b3bcc[_0x2840b4];if(_0x325e08==null)throw new Error(_0x5132d2(0x29b)+_0x2840b4);return _0x325e08;}function isBlank(_0x28ab20){return _0x28ab20===undefined||_0x28ab20===null||_0x28ab20==='';}function compactWhere(_0x5663a0){const _0x2e4fb2=_0x491718;if(_0x5663a0==null||_0x5663a0===![])return[];const _0x460ef8=Array[_0x2e4fb2(0x2e6)](_0x5663a0)?_0x5663a0:[_0x5663a0];return _0x460ef8['filter'](_0x547d27=>_0x547d27!=null&&_0x547d27!==![]);}var q={'between'(_0x541f8a,_0x227740,_0x438822){if(isBlank(_0x227740)||isBlank(_0x438822))return;return sql`${_0x541f8a} between ${_0x227740} and ${_0x438822}`;},'range'(_0x2bf960,_0x2bfc32,_0x1438b7){const _0x384f59=_0x491718,_0x2e6fa1=[];if(!isBlank(_0x2bfc32))_0x2e6fa1[_0x384f59(0x14f)](gte(_0x2bf960,_0x2bfc32));if(!isBlank(_0x1438b7))_0x2e6fa1[_0x384f59(0x14f)](lte(_0x2bf960,_0x1438b7));if(!_0x2e6fa1['length'])return;return _0x2e6fa1['length']===0x1?_0x2e6fa1[0x0]:and(..._0x2e6fa1);},'eqRest'(_0x6926ff,_0x5bd5d3,_0x20c8ca){const _0x5927aa=_0x491718,_0x591fb3=[];for(const [_0x20f3d7,_0x2ad9a7]of Object['entries'](_0x6926ff)){if(isBlank(_0x2ad9a7))continue;const _0x66ff47=_0x20c8ca?.[_0x20f3d7]??_0x5bd5d3[_0x20f3d7];if(_0x66ff47==null)continue;_0x591fb3[_0x5927aa(0x14f)](eq(_0x66ff47,_0x2ad9a7));}return _0x591fb3;},'contains'(_0x4fe43c,_0x2c4c8d){const _0x33e997=_0x491718;if(isBlank(_0x2c4c8d))return;const _0x172cee=Array['isArray'](_0x2c4c8d)?_0x2c4c8d:[_0x2c4c8d];if(!_0x172cee['length'])return;return _0x172cee[_0x33e997(0x27f)]===0x1?arrayContains(_0x4fe43c,_0x172cee):arrayOverlaps(_0x4fe43c,_0x172cee);}};function buildFieldClauses(_0x187707,_0x315492,_0xac713f){const _0x1275ef=_0x491718,_0x37b9c4=[];if(_0xac713f[_0x1275ef(0x297)]?.['length']&&!isBlank(_0x315492[_0x1275ef(0x1d2)])){const _0x401577='%'+String(_0x315492[_0x1275ef(0x1d2)])+'%',_0x3a7003=_0xac713f[_0x1275ef(0x297)]['map'](_0x5e1393=>{const _0x5cd017=_0x1275ef,_0x3a530e=_0x5e1393['includes']('.')?_0x5e1393[_0x5cd017(0x1a7)]('.')[_0x5cd017(0x14b)]():_0x5e1393;return like(tableCol(_0x187707,_0x3a530e),_0x401577);});if(_0x3a7003[_0x1275ef(0x27f)]===0x1)_0x37b9c4['push'](_0x3a7003[0x0]);else{if(_0x3a7003[_0x1275ef(0x27f)]>0x1)_0x37b9c4[_0x1275ef(0x14f)](or(..._0x3a7003));}}for(const _0x77d042 of _0xac713f[_0x1275ef(0x171)]??[]){const {column:_0x1cf30d,param:_0x4010bd}=colName(_0x77d042),_0x20a570=_0x315492[_0x4010bd];if(isBlank(_0x20a570))continue;if(Array[_0x1275ef(0x2e6)](_0x20a570)){if(!_0x20a570[_0x1275ef(0x27f)])continue;_0x37b9c4[_0x1275ef(0x14f)](inArray(tableCol(_0x187707,_0x1cf30d),_0x20a570));}else _0x37b9c4[_0x1275ef(0x14f)](eq(tableCol(_0x187707,_0x1cf30d),_0x20a570));}for(const _0x1fb1c4 of _0xac713f[_0x1275ef(0x1e7)]??[]){const {column:_0x5d16cb,param:_0xf96a48}=colName(_0x1fb1c4),_0x94362d=_0x315492[_0xf96a48];if(isBlank(_0x94362d))continue;_0x37b9c4[_0x1275ef(0x14f)](like(tableCol(_0x187707,_0x5d16cb),'%'+String(_0x94362d)+'%'));}for(const _0x2e2540 of _0xac713f[_0x1275ef(0x15e)]??[]){const {column:_0x258375,param:_0x144b26}=colName(_0x2e2540),_0x347a5a=q['contains'](tableCol(_0x187707,_0x258375),_0x315492[_0x144b26]);if(_0x347a5a)_0x37b9c4[_0x1275ef(0x14f)](_0x347a5a);}for(const _0x6a7648 of _0xac713f['fieldRange']??[]){const _0x4660ec=tableCol(_0x187707,rangeColumn(_0x6a7648)),_0x367d73=q[_0x1275ef(0x2fa)](_0x4660ec,_0x315492[_0x6a7648[_0x1275ef(0x127)]],_0x315492[_0x6a7648['max']]);if(_0x367d73)_0x37b9c4[_0x1275ef(0x14f)](_0x367d73);}return _0x37b9c4;}function buildOrderBy(_0x61213c,_0x41f07d,_0x47859b){const _0xfe0b6c=_0x491718,_0x58d555=[],_0x196a3c=_0x41f07d[_0xfe0b6c(0x203)]!=null?String(_0x41f07d[_0xfe0b6c(0x203)]):undefined,_0x39f155=_0x41f07d[_0xfe0b6c(0x29a)]===_0xfe0b6c(0x11e)||_0x41f07d[_0xfe0b6c(0x29a)]===_0xfe0b6c(0x2f3)?_0x41f07d[_0xfe0b6c(0x29a)]:undefined;if(_0x196a3c){const _0x115d29=tableCol(_0x61213c,_0x196a3c);_0x58d555[_0xfe0b6c(0x14f)](_0x39f155===_0xfe0b6c(0x11e)?asc(_0x115d29):desc(_0x115d29));}else{if(_0x47859b[_0xfe0b6c(0x139)])for(const [_0x1c93f9,_0x5a7761]of Object[_0xfe0b6c(0x19d)](_0x47859b[_0xfe0b6c(0x139)])){const _0x1efbe8=_0x1c93f9[_0xfe0b6c(0x176)]('.')?_0x1c93f9[_0xfe0b6c(0x1a7)]('.')[_0xfe0b6c(0x14b)]():_0x1c93f9,_0x34f4f2=tableCol(_0x61213c,_0x1efbe8);_0x58d555[_0xfe0b6c(0x14f)](_0x5a7761===_0xfe0b6c(0x11e)?asc(_0x34f4f2):desc(_0x34f4f2));}}return _0x58d555;}function needsAdvancedQuery(_0x44adca){const _0x1d526b=_0x491718;return!!(_0x44adca?.['join']?.[_0x1d526b(0x27f)]||_0x44adca?.[_0x1d526b(0x213)]);}async function buildQueryOp(_0x594926,_0x3d8570,_0x4c2738={},_0x473e7a){const _0x5b3e7a=_0x491718,_0x31bdc4=buildFieldClauses(_0x594926,_0x3d8570,_0x4c2738),_0x11b2e8=buildOrderBy(_0x594926,_0x3d8570,_0x4c2738),_0x285877={'body':_0x3d8570,'request':_0x473e7a??new Request(_0x5b3e7a(0x269))};_0x4c2738['where']&&_0x31bdc4[_0x5b3e7a(0x14f)](...compactWhere(await _0x4c2738[_0x5b3e7a(0x1a5)](_0x285877)));if(_0x4c2738[_0x5b3e7a(0x183)]){const _0x5b201c={'andWhere'(_0x19ed2c){const _0x214d47=_0x5b3e7a;if(_0x19ed2c!=null&&_0x19ed2c!==![])_0x31bdc4[_0x214d47(0x14f)](_0x19ed2c);},'orderBy'(..._0x3bee60){for(const _0x4a5735 of _0x3bee60){if(_0x4a5735!=null)_0x11b2e8['push'](_0x4a5735);}}};await _0x4c2738['extend'](_0x5b201c,_0x285877);}const _0x24d1d9=_0x31bdc4[_0x5b3e7a(0x27f)]===0x0?undefined:_0x31bdc4['length']===0x1?_0x31bdc4[0x0]:and(..._0x31bdc4);return{'where':_0x24d1d9,'orderBySql':_0x11b2e8};}import{and as _0x8e05f1,count,countDistinct,getTableColumns,isNotNull,isNull,sql as _0x133a2a}from'drizzle-orm';function readCrudConfig(){const _0x338041=_0x491718;return VomeConfig[_0x338041(0x1f8)]?.[_0x338041(0x126)]??{};}function resolveUpsert(_0x4c7faf){const _0x10bf3e=_0x491718;return _0x4c7faf??readCrudConfig()['upsert']??_0x10bf3e(0x29f);}function resolveSoftDelete(_0x14739b){const _0x379889=_0x491718;if(_0x14739b!=null)return _0x14739b;return readCrudConfig()[_0x379889(0x15d)]===!![];}class DbStore{[_0x491718(0x1de)];[_0x491718(0x226)];['schema'];[_0x491718(0x1df)];constructor(_0x2e7c59,_0x2ed403,_0x6e5cbf,_0x23eb5c){const _0x100b2b=_0x491718;this[_0x100b2b(0x1de)]=_0x2e7c59,this[_0x100b2b(0x226)]=_0x2ed403,this[_0x100b2b(0x25d)]=_0x6e5cbf,this[_0x100b2b(0x1df)]=_0x23eb5c;}}import{and as _0x12971e,inArray as _0x20f09e,sql as _0x551c8d}from'drizzle-orm';import{and as _0x15b1a4,eq as _0x564549,sql as _0x36872d}from'drizzle-orm';var SKIP_KEY='__skipTenant';function isTenantEnabled(){const _0x24e3d5=_0x491718;return VomeConfig[_0x24e3d5(0x1f8)]?.[_0x24e3d5(0x2ab)]===!![];}function tableHasTenantId(_0x6be0ac){return _0x6be0ac['tenantId']!=null;}function resolveTenantScope(){const _0x57d390=_0x491718;if(!isTenantEnabled())return _0x57d390(0x28f);const _0x4c2117=Context[_0x57d390(0x179)]();if(_0x4c2117?.[SKIP_KEY])return _0x57d390(0x28f);if(_0x4c2117?.[_0x57d390(0x155)])return _0x57d390(0x19c);const _0x5ea995=_0x4c2117?.['tenantId'],_0x21ac62=typeof _0x5ea995==='number'?_0x5ea995:Number(_0x5ea995);if(!Number[_0x57d390(0x2dc)](_0x21ac62)||_0x21ac62<=0x0)return'none';return _0x21ac62;}function applyTenantWhere(_0x4e5a49,_0x42efb4){const _0x584d4c=_0x491718;if(!tableHasTenantId(_0x4e5a49))return _0x42efb4;const _0x155ad6=resolveTenantScope();if(_0x155ad6===_0x584d4c(0x28f)||_0x155ad6==='all')return _0x42efb4;const _0x3e7ddc=_0x4e5a49[_0x584d4c(0x190)],_0x411ed9=_0x155ad6==='none'?_0x36872d`false`:_0x564549(_0x3e7ddc,_0x155ad6);if(_0x42efb4&&_0x411ed9)return _0x15b1a4(_0x42efb4,_0x411ed9);return _0x42efb4??_0x411ed9;}function stampTenantId(_0xb859b7,_0x4d5e10){const _0x219685=_0x491718;if(!tableHasTenantId(_0xb859b7))return _0x4d5e10;const _0x5401b2=resolveTenantScope();if(typeof _0x5401b2!==_0x219685(0x1d6))return _0x4d5e10;if(_0x4d5e10[_0x219685(0x190)]!=null)return _0x4d5e10;return{..._0x4d5e10,'tenantId':_0x5401b2};}async function noTenant(_0x173c80){const _0x429834=_0x491718,_0x58c3ae=Context[_0x429834(0x179)]();if(!_0x58c3ae)return _0x173c80();const _0x28e4f7=_0x58c3ae[SKIP_KEY];_0x58c3ae[SKIP_KEY]=!![];try{return await _0x173c80();}finally{if(_0x28e4f7===undefined)delete _0x58c3ae[SKIP_KEY];else _0x58c3ae[SKIP_KEY]=_0x28e4f7;}}function normalizeHost(_0x13ff3a){const _0x4e3dab=_0x491718;if(!_0x13ff3a)return'';return _0x13ff3a[_0x4e3dab(0x218)]()['toLowerCase']()[_0x4e3dab(0x1ba)](/:\d+$/,'');}var SKIP_KEY2=_0x491718(0x186);function tableHasDepartmentId(_0x50b0ba){const _0x5a9b2b=_0x491718;return _0x50b0ba[_0x5a9b2b(0x2d3)]!=null;}function resolveDataScope(){const _0x2270e2=_0x491718,_0x8003ee=Context[_0x2270e2(0x179)]();if(!_0x8003ee)return _0x2270e2(0x28f);if(_0x8003ee[SKIP_KEY2])return _0x2270e2(0x28f);if(_0x8003ee[_0x2270e2(0x155)])return _0x2270e2(0x19c);const _0x435e3a=_0x8003ee[_0x2270e2(0x1bb)];if(_0x435e3a==null||_0x435e3a==='')return _0x2270e2(0x28f);if(_0x435e3a==='all')return _0x2270e2(0x19c);if(_0x435e3a===_0x2270e2(0x2f7))return _0x2270e2(0x2f7);const _0x117bb3=_0x8003ee[_0x2270e2(0x2a1)],_0x39f706=Array['isArray'](_0x117bb3)?_0x117bb3[_0x2270e2(0x23d)](_0x55ac23=>Number(_0x55ac23))[_0x2270e2(0x251)](_0xc08265=>Number[_0x2270e2(0x2dc)](_0xc08265)&&_0xc08265>0x0):[];if(!_0x39f706[_0x2270e2(0x27f)])return _0x2270e2(0x2f7);return[...new Set(_0x39f706)];}function applyDataScopeWhere(_0x5aef38,_0x3b315b){const _0x38fc5c=_0x491718;if(!tableHasDepartmentId(_0x5aef38))return _0x3b315b;const _0x15308b=resolveDataScope();if(_0x15308b===_0x38fc5c(0x28f)||_0x15308b===_0x38fc5c(0x19c))return _0x3b315b;const _0x2c7b7f=_0x5aef38['departmentId'],_0x17c0db=_0x15308b===_0x38fc5c(0x2f7)?_0x551c8d`false`:_0x20f09e(_0x2c7b7f,_0x15308b);if(_0x3b315b)return _0x12971e(_0x3b315b,_0x17c0db);return _0x17c0db;}function applyRowScopes(_0x2ed325,_0xe4bae7){return applyDataScopeWhere(_0x2ed325,applyTenantWhere(_0x2ed325,_0xe4bae7));}async function noDataScope(_0x365daa){const _0x48fe62=_0x491718,_0x4bf515=Context[_0x48fe62(0x179)]();if(!_0x4bf515)return _0x365daa();const _0x5ca309=_0x4bf515[SKIP_KEY2];_0x4bf515[SKIP_KEY2]=!![];try{return await _0x365daa();}finally{if(_0x5ca309===undefined)delete _0x4bf515[SKIP_KEY2];else _0x4bf515[SKIP_KEY2]=_0x5ca309;}}function deletedAtColumn(_0x44ed7e){return _0x44ed7e['deletedAt'];}function trashClause(_0x416dc4,_0x29dc3f){const _0x5b2109=_0x491718;if(!resolveSoftDelete(_0x29dc3f?.[_0x5b2109(0x15d)]))return;const _0x40ed06=deletedAtColumn(_0x416dc4);if(_0x40ed06==null)return;if(_0x29dc3f?.[_0x5b2109(0x249)])return isNotNull(_0x40ed06);if(_0x29dc3f?.[_0x5b2109(0x273)])return;return isNull(_0x40ed06);}function mergeWhere(_0x135810,_0x4d5db2){if(_0x135810&&_0x4d5db2)return _0x8e05f1(_0x4d5db2,_0x135810);return _0x135810??_0x4d5db2;}function applyJoins(_0x3ae733,_0x44cd97,_0x1dafd9){const _0x6c9615=_0x491718;let _0x542745=_0x3ae733;for(const _0x4c1b6f of _0x1dafd9[_0x6c9615(0x2f8)]??[]){const _0x28a383=_0x4c1b6f[_0x6c9615(0x1b4)],_0x41fa79=_0x4c1b6f['on'](_0x44cd97),_0x1a020f=_0x4c1b6f[_0x6c9615(0x227)]??_0x6c9615(0x15b);_0x1a020f===_0x6c9615(0x166)||_0x1a020f===_0x6c9615(0x2f8)?_0x542745=_0x542745['innerJoin'](_0x28a383,_0x41fa79):_0x542745=_0x542745[_0x6c9615(0x15b)](_0x28a383,_0x41fa79);}return _0x542745;}function resolveSelect(_0x4f5ad8,_0x19c498){const _0x7c7d8f=_0x491718;if(_0x19c498[_0x7c7d8f(0x213)])return _0x19c498[_0x7c7d8f(0x213)];return getTableColumns(_0x4f5ad8);}function countExpr(_0x3b4997,_0x14eea1){const _0x368dff=_0x3b4997['id'];if(_0x368dff!=null&&_0x14eea1)return countDistinct(_0x368dff);if(_0x368dff!=null)return count(_0x368dff);return count(_0x133a2a`*`);}async function queryWithOp(_0x38d01d,_0x51cd1b,_0x565548,_0x4716c2){const _0x535e6f=_0x491718,_0x36896b=await buildQueryOp(_0x38d01d,_0x51cd1b,_0x565548,_0x4716c2['request']),_0x16b9bb=trashClause(_0x38d01d,_0x4716c2[_0x535e6f(0x163)]),_0x445252=applyRowScopes(_0x38d01d,mergeWhere(_0x36896b[_0x535e6f(0x1a5)],_0x16b9bb)),_0x207976=resolveSelect(_0x38d01d,_0x565548),_0x3385d1=!!_0x565548['join']?.[_0x535e6f(0x27f)],_0x54533a=Ioc['get'](DbStore)[_0x535e6f(0x1de)];let _0x4d79ed=applyJoins(_0x54533a[_0x535e6f(0x213)](_0x207976)['from'](_0x38d01d),_0x38d01d,_0x565548);if(_0x445252)_0x4d79ed=_0x4d79ed[_0x535e6f(0x1a5)](_0x445252);if(_0x36896b[_0x535e6f(0x21e)]['length'])_0x4d79ed=_0x4d79ed[_0x535e6f(0x2c6)](..._0x36896b[_0x535e6f(0x21e)]);if(_0x4716c2[_0x535e6f(0x2bc)]===_0x535e6f(0x1d8))return await _0x4d79ed;const _0x21cbce=Math[_0x535e6f(0x232)](0x1,Number(_0x51cd1b['page']??0x1)),_0x1de793=Math[_0x535e6f(0x127)](0x64,Math[_0x535e6f(0x232)](0x1,Number(_0x51cd1b['size']??0x14))),_0x428815=(_0x21cbce-0x1)*_0x1de793,_0x393aac=await _0x4d79ed[_0x535e6f(0x2fb)](_0x1de793)[_0x535e6f(0x12f)](_0x428815);let _0x3c01a0=applyJoins(_0x54533a[_0x535e6f(0x213)]({'value':countExpr(_0x38d01d,_0x3385d1)})[_0x535e6f(0x1f9)](_0x38d01d),_0x38d01d,_0x565548);if(_0x445252)_0x3c01a0=_0x3c01a0[_0x535e6f(0x1a5)](_0x445252);const _0x51fb8d=await _0x3c01a0,_0x1c9b43=Number(_0x51fb8d[0x0]?.[_0x535e6f(0x300)]??0x0);return{'list':_0x393aac,'pagination':{'page':_0x21cbce,'size':_0x1de793,'total':_0x1c9b43}};}import{and as _0x10acdd,count as _0x5124d2,eq as _0x1b39d6,inArray as _0x56048f,isNotNull as _0x28b992,isNull as _0x5459b}from'drizzle-orm';import{createInsertSchema,createSelectSchema,createUpdateSchema}from'drizzle-zod';function entitySchemas(_0x1b4db2){return{'select':createSelectSchema(_0x1b4db2),'insert':createInsertSchema(_0x1b4db2),'update':createUpdateSchema(_0x1b4db2)};}var WRITE_META_KEYS=[_0x491718(0x2ba),_0x491718(0x124),_0x491718(0x305)];function sanitizeWritePayload(_0x2fe5b7){const _0x251b16=_0x491718,_0x32c791=_0x2fe5b7&&typeof _0x2fe5b7===_0x251b16(0x264)&&!Array[_0x251b16(0x2e6)](_0x2fe5b7)?{..._0x2fe5b7}:{};for(const _0x3fa423 of WRITE_META_KEYS)delete _0x32c791[_0x3fa423];for(const [_0x13468d,_0x23f40f]of Object[_0x251b16(0x19d)](_0x32c791)){if(typeof _0x23f40f!==_0x251b16(0x119))continue;if(!/^\d{4}-\d{2}-\d{2}/[_0x251b16(0x2db)](_0x23f40f))continue;const _0x5c6325=new Date(_0x23f40f);if(!Number[_0x251b16(0x2ea)](_0x5c6325['getTime']()))_0x32c791[_0x13468d]=_0x5c6325;}return _0x32c791;}function isSqlLike(_0x296ed1){const _0x2b883e=_0x491718;return!!_0x296ed1&&typeof _0x296ed1===_0x2b883e(0x264)&&_0x296ed1[_0x2b883e(0x19a)]!=null;}function db(){const _0x5a4b53=_0x491718;return Ioc[_0x5a4b53(0x179)](DbStore)['drizzle'];}function tableId(_0x55ecc9){const _0xfccaa4=_0x55ecc9['id'];if(!_0xfccaa4)throw new Error('[Repository]\x20\u8868\u65E0\x20id\x20\u5217\uFF0C\u8BF7\u6539\u7528\x20find(where)\x20/\x20findOne(where)');return _0xfccaa4;}function deletedAtColumn2(_0x41cabc){const _0x25888d=_0x491718;return _0x41cabc[_0x25888d(0x305)];}function mergeWhere2(_0x52200b,_0x4f5990){if(_0x52200b&&_0x4f5990)return _0x10acdd(_0x4f5990,_0x52200b);return _0x52200b??_0x4f5990;}function trashClause2(_0x2c3037,_0x485d04){const _0x7b1551=_0x491718;if(!resolveSoftDelete(_0x485d04?.[_0x7b1551(0x15d)]))return;const _0x135b8f=deletedAtColumn2(_0x2c3037);if(_0x135b8f==null)return;if(_0x485d04?.[_0x7b1551(0x249)])return _0x28b992(_0x135b8f);if(_0x485d04?.[_0x7b1551(0x273)])return;return _0x5459b(_0x135b8f);}class Repository{[_0x491718(0x1b4)];[_0x491718(0x25d)];constructor(_0x178a74,_0x3b92e6){const _0x381adb=_0x491718;this[_0x381adb(0x1b4)]=_0x178a74,this[_0x381adb(0x25d)]=_0x3b92e6??entitySchemas(_0x178a74);}[_0x491718(0x1c6)](){const _0x15bc37=_0x491718;return deletedAtColumn2(this[_0x15bc37(0x1b4)])!=null;}[_0x491718(0x205)](_0x11f57f,_0x31b1ee){const _0x12ae80=_0x491718;return applyRowScopes(this[_0x12ae80(0x1b4)],mergeWhere2(_0x11f57f,trashClause2(this[_0x12ae80(0x1b4)],_0x31b1ee)));}async[_0x491718(0x1ce)](_0x2f51b9,_0xdd8de1){const _0xc404a8=_0x491718,_0x936437=this['scopedWhere'](_0x2f51b9,_0xdd8de1);let _0x2fc11f=db()[_0xc404a8(0x213)]()['from'](this[_0xc404a8(0x1b4)]);if(_0x936437)_0x2fc11f=_0x2fc11f[_0xc404a8(0x1a5)](_0x936437);if(_0xdd8de1?.[_0xc404a8(0x2c6)]?.[_0xc404a8(0x27f)])_0x2fc11f=_0x2fc11f[_0xc404a8(0x2c6)](..._0xdd8de1['orderBy']);return await _0x2fc11f;}async[_0x491718(0x27d)](_0x2a6637,_0x5778bd){const _0x247f1f=_0x491718,[_0x5a0ea1]=await this[_0x247f1f(0x1ce)](_0x2a6637,_0x5778bd);return _0x5a0ea1;}async[_0x491718(0x2bb)](_0x586957,_0x5ddfb5){const _0x464458=_0x491718;return this[_0x464458(0x27d)](_0x1b39d6(tableId(this['table']),_0x586957),_0x5ddfb5);}async[_0x491718(0x29d)](_0xc7bcec,_0x204ca2){const _0x10e538=_0x491718,_0x44090d=this[_0x10e538(0x205)](_0xc7bcec,_0x204ca2),_0x49728d=db()[_0x10e538(0x213)]({'value':_0x5124d2()})[_0x10e538(0x1f9)](this[_0x10e538(0x1b4)]),_0x4eb8f0=_0x44090d?await _0x49728d[_0x10e538(0x1a5)](_0x44090d):await _0x49728d;return Number(_0x4eb8f0[0x0]?.[_0x10e538(0x300)]??0x0);}async['findPage'](_0x535b09){const _0x6035d9=_0x491718,{page:_0x2bd2d1,size:_0x157c20,where:_0x20c561,orderBy:_0xc2e2b2,withTrashed:_0x413b01,onlyTrashed:_0x336a78,softDelete:_0x147920}=_0x535b09,_0x1da99e={'withTrashed':_0x413b01,'onlyTrashed':_0x336a78,'softDelete':_0x147920},_0x1bf25b=this[_0x6035d9(0x205)](_0x20c561,_0x1da99e),_0x264001=(_0x2bd2d1-0x1)*_0x157c20;let _0x4cc4ee=db()[_0x6035d9(0x213)]()[_0x6035d9(0x1f9)](this[_0x6035d9(0x1b4)]);if(_0x1bf25b)_0x4cc4ee=_0x4cc4ee[_0x6035d9(0x1a5)](_0x1bf25b);if(_0xc2e2b2?.['length'])_0x4cc4ee=_0x4cc4ee[_0x6035d9(0x2c6)](..._0xc2e2b2);const _0x28e746=await _0x4cc4ee[_0x6035d9(0x2fb)](_0x157c20)[_0x6035d9(0x12f)](_0x264001),_0x494a97=await this['count'](_0x20c561,_0x1da99e);return{'list':_0x28e746,'pagination':{'page':_0x2bd2d1,'size':_0x157c20,'total':_0x494a97}};}['parseInsert'](_0x48dea3){const _0x38d27c=_0x491718,_0x2b8c47=stampTenantId(this[_0x38d27c(0x1b4)],sanitizeWritePayload(_0x48dea3));return this['schema'][_0x38d27c(0x29f)][_0x38d27c(0x241)](_0x2b8c47);}async[_0x491718(0x1af)](_0x31fd33){const _0x19d097=_0x491718;if(Array[_0x19d097(0x2e6)](_0x31fd33)){if(!_0x31fd33['length'])return[];const _0x26510a=_0x31fd33['map'](_0x51b09d=>this[_0x19d097(0x1ec)](_0x51b09d));return await db()[_0x19d097(0x29f)](this[_0x19d097(0x1b4)])[_0x19d097(0x157)](_0x26510a)[_0x19d097(0x162)]();}const [_0x473a72]=await db()[_0x19d097(0x29f)](this['table'])[_0x19d097(0x157)](this['parseInsert'](_0x31fd33))['returning']();return _0x473a72;}async[_0x491718(0x12c)](_0x11d95b){const _0xcb5a49=_0x491718;if(Array[_0xcb5a49(0x2e6)](_0x11d95b)){if(!_0x11d95b[_0xcb5a49(0x27f)])return[];const _0x58d85=_0x11d95b,_0x1f374c=tableId(this[_0xcb5a49(0x1b4)]),_0x49ca49=_0x58d85[_0xcb5a49(0x251)](_0x28e614=>_0x28e614?.['id']!=null&&_0x28e614['id']!==''),_0x220c74=_0x58d85[_0xcb5a49(0x251)](_0x598c2b=>_0x598c2b?.['id']==null||_0x598c2b['id']==='');let _0x17c091=new Set();if(_0x49ca49['length']){const _0x5d8da8=await this[_0xcb5a49(0x1ce)](_0x56048f(_0x1f374c,_0x49ca49['map'](_0x405707=>_0x405707['id'])));_0x17c091=new Set(_0x5d8da8[_0xcb5a49(0x23d)](_0x163a87=>_0x163a87['id']));}const _0xc06b29=[],_0x530d0a=[..._0x220c74];for(const _0x2ae1ee of _0x49ca49){if(_0x17c091[_0xcb5a49(0x191)](_0x2ae1ee['id']))_0xc06b29[_0xcb5a49(0x14f)](_0x2ae1ee);else _0x530d0a[_0xcb5a49(0x14f)](_0x2ae1ee);}const _0x3e794f=_0xc06b29['length']?await this[_0xcb5a49(0x143)](_0xc06b29):[],_0x373d83=_0x530d0a[_0xcb5a49(0x27f)]?await this[_0xcb5a49(0x1af)](_0x530d0a):[];return[...Array[_0xcb5a49(0x2e6)](_0x3e794f)?_0x3e794f:_0x3e794f?[_0x3e794f]:[],...Array[_0xcb5a49(0x2e6)](_0x373d83)?_0x373d83:_0x373d83?[_0x373d83]:[]];}const _0x20bace=_0x11d95b,_0xd9348e=_0x20bace?.['id'];if(_0xd9348e!=null&&_0xd9348e!==''){const _0x4d1dda=await this['findById'](_0xd9348e);if(_0x4d1dda){const {id:_0x578a55,..._0x41df8a}=_0x20bace,_0x114b3a=await this[_0xcb5a49(0x143)](_0x1b39d6(tableId(this['table']),_0xd9348e),_0x41df8a);return _0x114b3a??_0x4d1dda;}}return await this[_0xcb5a49(0x1af)](_0x11d95b);}async['update'](_0x2c6e88,_0x3c2e57){const _0x5145fa=_0x491718;if(Array[_0x5145fa(0x2e6)](_0x2c6e88))return this[_0x5145fa(0x2ee)](_0x2c6e88);const _0x46339c=this[_0x5145fa(0x25d)]['update'][_0x5145fa(0x241)](sanitizeWritePayload(_0x3c2e57)),_0x5a06bc=applyRowScopes(this[_0x5145fa(0x1b4)],_0x2c6e88);if(!_0x5a06bc)return;const [_0x236d41]=await db()[_0x5145fa(0x143)](this[_0x5145fa(0x1b4)])[_0x5145fa(0x200)](_0x46339c)[_0x5145fa(0x1a5)](_0x5a06bc)[_0x5145fa(0x162)]();return _0x236d41;}async[_0x491718(0x2ee)](_0x1437a3){const _0x261c91=_0x491718;if(!_0x1437a3[_0x261c91(0x27f)])return[];const _0x1f1115=tableId(this[_0x261c91(0x1b4)]),_0x17cbd5=new Map();for(const _0x2cd3a7 of _0x1437a3){const _0x2d6b71=_0x2cd3a7['id'];if(_0x2d6b71==null||_0x2d6b71==='')throw new Error(_0x261c91(0x18f));const {id:_0x48c7b0,..._0x57b08a}=_0x2cd3a7,_0x10fc0e=this[_0x261c91(0x25d)][_0x261c91(0x143)]['parse'](sanitizeWritePayload(_0x57b08a)),_0x20bb84=JSON[_0x261c91(0x12a)](_0x10fc0e),_0x89a95e=_0x17cbd5['get'](_0x20bb84);if(_0x89a95e)_0x89a95e[_0x261c91(0x292)]['push'](_0x2d6b71);else _0x17cbd5[_0x261c91(0x200)](_0x20bb84,{'ids':[_0x2d6b71],'patch':_0x10fc0e});}const _0x5595e7=[];for(const {ids:_0x3debec,patch:_0x5bd6df}of _0x17cbd5[_0x261c91(0x157)]()){const _0x59d44f=applyRowScopes(this[_0x261c91(0x1b4)],_0x56048f(_0x1f1115,_0x3debec));if(!_0x59d44f)continue;const _0x559095=await db()[_0x261c91(0x143)](this[_0x261c91(0x1b4)])['set'](_0x5bd6df)['where'](_0x59d44f)['returning']();_0x5595e7[_0x261c91(0x14f)](..._0x559095);}return _0x5595e7;}[_0x491718(0x286)](_0x2bf03b){const _0x734672=_0x491718;if(isSqlLike(_0x2bf03b))return applyRowScopes(this[_0x734672(0x1b4)],_0x2bf03b);const _0x2e9007=Array['isArray'](_0x2bf03b)?_0x2bf03b:[_0x2bf03b];if(!_0x2e9007[_0x734672(0x27f)])return;return applyRowScopes(this['table'],_0x56048f(tableId(this[_0x734672(0x1b4)]),_0x2e9007));}async[_0x491718(0x15d)](_0x553699){const _0x4218bc=_0x491718;if(!this[_0x4218bc(0x1c6)]())throw new Error(_0x4218bc(0x13f));const _0x3f5c28=this[_0x4218bc(0x286)](_0x553699);if(!_0x3f5c28)return;await db()[_0x4218bc(0x143)](this[_0x4218bc(0x1b4)])['set']({'deletedAt':new Date()})['where'](_0x3f5c28);}async[_0x491718(0x2eb)](_0x1005b2){const _0x3d4dc0=_0x491718;if(!this[_0x3d4dc0(0x1c6)]())throw new Error(_0x3d4dc0(0x2d2));const _0x338dca=this[_0x3d4dc0(0x286)](_0x1005b2);if(!_0x338dca)return;await db()[_0x3d4dc0(0x143)](this[_0x3d4dc0(0x1b4)])[_0x3d4dc0(0x200)]({'deletedAt':null})[_0x3d4dc0(0x1a5)](_0x338dca);}async['forceDelete'](_0x1f3e5f){const _0x242e90=_0x491718,_0x22738d=this[_0x242e90(0x286)](_0x1f3e5f);if(!_0x22738d)return;await db()[_0x242e90(0x18a)](this[_0x242e90(0x1b4)])['where'](_0x22738d);}}var repoCache=new WeakMap();function getRepository(_0x3e619d){const _0x275d7e=_0x491718,_0x37093c=repoCache[_0x275d7e(0x179)](_0x3e619d);if(_0x37093c)return _0x37093c;const _0x3b6504=new Repository(_0x3e619d);return repoCache[_0x275d7e(0x200)](_0x3e619d,_0x3b6504),_0x3b6504;}function InjectRepository(_0x31c916){return(_0x4f3722,_0x3cbf5b)=>{const _0xa19aab=_0x285b;appendInjectMeta(_0x4f3722[_0xa19aab(0x214)],{'propertyKey':_0x3cbf5b,'resolve':()=>getRepository(_0x31c916)});};}function isSql(_0x1b4e43){const _0x4394a3=_0x491718;return!!_0x1b4e43&&typeof _0x1b4e43==='object'&&_0x1b4e43[_0x4394a3(0x19a)]!=null;}class BaseService{[_0x491718(0x1c0)];[_0x491718(0x294)](_0x4e8437){const _0x478457=_0x491718;if(!this[_0x478457(0x1c0)])this[_0x478457(0x1c0)]=_0x4e8437;}[_0x491718(0x1e9)](_0x2fc7d9){const _0x2e3989=_0x491718;this[_0x2e3989(0x1c0)]=_0x2fc7d9;}[_0x491718(0x125)](){return!!this['entity'];}['getRepo'](){const _0x389726=_0x491718;return this[_0x389726(0x2f0)]();}[_0x491718(0x2f0)](){const _0x4ee661=_0x491718;if(!this[_0x4ee661(0x1c0)])throw new Error(_0x4ee661(0x178));return this['entity'];}async[_0x491718(0x24e)](_0x139331,_0x3961c6){}async['modifyAfter'](_0x5ff657,_0x5a077a){}async['add'](_0x291b04,_0x114355){const _0x5e6be9=_0x491718,_0x1945ce=resolveUpsert(_0x114355?.[_0x5e6be9(0x1b5)]),_0x4c5f9e=Array[_0x5e6be9(0x2e6)](_0x291b04)?_0x291b04[_0x5e6be9(0x23d)](_0x12abcf=>_0x12abcf!=null&&typeof _0x12abcf===_0x5e6be9(0x264)?{..._0x12abcf}:_0x12abcf):_0x291b04!=null&&typeof _0x291b04===_0x5e6be9(0x264)?{..._0x291b04}:_0x291b04;await this['modifyBefore'](_0x4c5f9e,'add');const _0x39ccf2=_0x1945ce==='save'?await this[_0x5e6be9(0x2f0)]()['save'](_0x4c5f9e):await this['requireEntity']()[_0x5e6be9(0x1af)](_0x4c5f9e);return await this[_0x5e6be9(0x1c3)](_0x39ccf2??_0x4c5f9e,_0x5e6be9(0x217)),_0x39ccf2;}async[_0x491718(0x143)](_0x3d847e,_0xc0d73e){const _0x254282=_0x491718;if(Array[_0x254282(0x2e6)](_0x3d847e)){const _0x5a5414=_0x3d847e[_0x254282(0x23d)](_0x349249=>({..._0x349249}));await this[_0x254282(0x24e)](_0x5a5414,_0x254282(0x143));const _0x27023b=await this['requireEntity']()['update'](_0x5a5414);return await this[_0x254282(0x1c3)](_0x27023b??_0x5a5414,_0x254282(0x143)),_0x27023b;}if(isSql(_0x3d847e)){const _0x69f285=_0xc0d73e!=null&&typeof _0xc0d73e==='object'?{..._0xc0d73e}:_0xc0d73e;await this[_0x254282(0x24e)](_0x69f285,_0x254282(0x143));const _0x54890b=await this[_0x254282(0x2f0)]()[_0x254282(0x143)](_0x3d847e,_0x69f285);return await this[_0x254282(0x1c3)](_0x54890b??_0x69f285,_0x254282(0x143)),_0x54890b;}const _0x2c4415={..._0x3d847e};await this[_0x254282(0x24e)](_0x2c4415,'update');const _0x2c55b2=await this['requireEntity']()[_0x254282(0x143)]([_0x2c4415]);return await this['modifyAfter'](_0x2c55b2??_0x2c4415,'update'),Array['isArray'](_0x2c55b2)?_0x2c55b2[0x0]:_0x2c55b2;}async[_0x491718(0x18a)](_0x72138a,_0x1917b2){const _0x4d9234=_0x491718,_0x526e76=this['requireEntity']();await this['modifyBefore'](_0x72138a,'delete');const _0x2bd211=resolveSoftDelete(_0x1917b2?.[_0x4d9234(0x15d)]);_0x1917b2?.[_0x4d9234(0x120)]||!_0x2bd211||!_0x526e76['supportsSoftDelete']()?await _0x526e76[_0x4d9234(0x2ae)](_0x72138a):await _0x526e76[_0x4d9234(0x15d)](_0x72138a),await this[_0x4d9234(0x1c3)](_0x72138a,_0x4d9234(0x18a));}[_0x491718(0x2eb)](_0x329c33){const _0x2238c5=_0x491718;return this[_0x2238c5(0x2f0)]()[_0x2238c5(0x2eb)](_0x329c33);}['list'](_0x4e0b9d,_0x4cdefd){const _0x51099c=_0x491718;return this[_0x51099c(0x2f0)]()['find'](_0x4e0b9d,_0x4cdefd);}['info'](_0xeb3864,_0x1c4c01){const _0x50c2ec=_0x491718,_0x107733=this[_0x50c2ec(0x2f0)]();if(typeof _0xeb3864===_0x50c2ec(0x264))return _0x107733[_0x50c2ec(0x27d)](_0xeb3864,_0x1c4c01);return _0x107733['findById'](_0xeb3864,_0x1c4c01);}[_0x491718(0x1d4)](_0x1ad96e={}){const _0x18358e=_0x491718,_0x1f1bf8=Math[_0x18358e(0x232)](0x1,_0x1ad96e[_0x18358e(0x1d4)]??0x1),_0x1b5467=Math['min'](0x64,Math[_0x18358e(0x232)](0x1,_0x1ad96e[_0x18358e(0x255)]??0x14));return this[_0x18358e(0x2f0)]()[_0x18358e(0x23c)]({'page':_0x1f1bf8,'size':_0x1b5467,'where':_0x1ad96e[_0x18358e(0x1a5)],'orderBy':_0x1ad96e[_0x18358e(0x2c6)],'withTrashed':_0x1ad96e[_0x18358e(0x273)],'onlyTrashed':_0x1ad96e[_0x18358e(0x249)],'softDelete':_0x1ad96e['softDelete']});}}var CRUD_SUMMARY={'add':'\u65B0\u589E','delete':'\u5220\u9664','update':'\u4FEE\u6539','info':_0x491718(0x2a2),'list':_0x491718(0x1d7),'page':_0x491718(0x2c0),'restore':'\u6062\u590D'},CRUD_APIS=[_0x491718(0x217),_0x491718(0x18a),'update','info',_0x491718(0x1d8),_0x491718(0x1d4),_0x491718(0x2eb)],BEFORE_APIS=new Set([_0x491718(0x217),_0x491718(0x143),_0x491718(0x18a),_0x491718(0x2eb)]);function omitProps(_0x118059,_0x4e6cdf){if(!_0x118059||!_0x4e6cdf?.['length'])return _0x118059;const _0x4185ca={..._0x118059};for(const _0x181320 of _0x4e6cdf)delete _0x4185ca[_0x181320];return _0x4185ca;}function resolveIds(_0xe7d8eb){const _0x25522e=_0x491718;if(Array[_0x25522e(0x2e6)](_0xe7d8eb))return _0xe7d8eb[_0x25522e(0x23d)](_0x5931aa=>{const _0x10f0c6=_0x25522e;if(_0x5931aa!=null&&typeof _0x5931aa===_0x10f0c6(0x264)&&'id'in _0x5931aa)return _0x5931aa['id'];return _0x5931aa;});if(_0xe7d8eb&&typeof _0xe7d8eb===_0x25522e(0x264)){const _0x27a3df=_0xe7d8eb;if(Array[_0x25522e(0x2e6)](_0x27a3df[_0x25522e(0x292)]))return _0x27a3df[_0x25522e(0x292)];if(_0x27a3df['id']!=null)return[_0x27a3df['id']];}return[];}function resolveService(_0x3d4f77){const _0x54e01c=_0x491718,_0x324222=_0x3d4f77[_0x54e01c(0x126)],_0x552a52=_0x324222[_0x54e01c(0x1c0)];if(_0x324222['service']){const _0x26c2f1=Ioc['get'](_0x324222[_0x54e01c(0x2c4)]);if(_0x552a52&&!_0x26c2f1['hasEntity']())_0x26c2f1['setEntity'](getRepository(_0x552a52));return _0x26c2f1;}if(!_0x552a52)throw new Error(_0x54e01c(0x24a)+_0x3d4f77[_0x54e01c(0x212)]['name']+'\x20需配置\x20entity\x20或\x20service');const _0x40c187=new class extends BaseService{}();return _0x40c187[_0x54e01c(0x1e9)](getRepository(_0x552a52)),_0x40c187;}function tableOf(_0x2d867a,_0x42de41){const _0x2342a8=_0x491718,_0x5b399d=_0x42de41['crud']?.[_0x2342a8(0x1c0)];if(_0x5b399d)return _0x5b399d;return _0x2d867a['getRepo']()[_0x2342a8(0x1b4)];}var attachCrudRoutes=(_0x20c00c,_0x5ac791,_0x29c872)=>{const _0x438bb3=_0x491718,_0x431930=_0x5ac791[_0x438bb3(0x126)];if(!_0x431930)return _0x20c00c;const _0x43cab4=(_0x431930[_0x438bb3(0x19b)]??[])['filter'](_0x53d88c=>CRUD_APIS['includes'](_0x53d88c)),_0x495f5e=_0x431930[_0x438bb3(0x21f)]??[];if(!_0x43cab4['length']&&!_0x495f5e[_0x438bb3(0x27f)])return _0x20c00c;const _0x210896=_0x29c872[_0x438bb3(0x17b)]instanceof BaseController?_0x29c872['controller']:new BaseController(),_0x55ec13=_0x43cab4[_0x438bb3(0x27f)]>0x0,_0x24cacc=_0x55ec13||_0x431930['service']?resolveService(_0x5ac791):undefined,_0x3b9bb1=_0x55ec13&&_0x24cacc?tableOf(_0x24cacc,_0x5ac791):undefined,_0x1ca956=_0x3b9bb1?_0x3b9bb1['id']:undefined;if(_0x55ec13&&_0x1ca956==null)throw new Error(_0x438bb3(0x24a)+_0x5ac791['token']['name']+_0x438bb3(0x1ed));let _0x4c1b2e=_0x20c00c;const _0x4a8d36=(_0x50dc26,_0x1d773f,_0x205327,_0x39d8d3)=>{const _0x28b133=_0x438bb3;_0x4c1b2e=_0x4c1b2e[_0x50dc26](_0x1d773f,_0x39d8d3,_0x29c872[_0x28b133(0x1fa)]({'action':_0x205327,'summary':CRUD_SUMMARY[_0x205327]}));},_0x3fb67d=async(_0x2349ac,_0x24e703,_0x1c91c5)=>{const _0x4805e8=_0x438bb3;if(!_0x431930[_0x4805e8(0x2f5)]||!BEFORE_APIS[_0x4805e8(0x191)](_0x2349ac))return _0x24e703;return await _0x431930[_0x4805e8(0x2f5)]({'body':_0x24e703,'request':_0x1c91c5,'api':_0x2349ac}),_0x24e703;};_0x43cab4[_0x438bb3(0x176)]('add')&&_0x24cacc&&_0x4a8d36('post',_0x438bb3(0x230),_0x438bb3(0x217),async({body:_0xea50ca,request:_0x231dca})=>{const _0x196c4b=_0x438bb3;try{const _0x106abc=_0xea50ca;if(Array['isArray'](_0x106abc)){let _0x2b2c44=_0x106abc;if(_0x431930[_0x196c4b(0x2f5)]&&BEFORE_APIS[_0x196c4b(0x191)](_0x196c4b(0x217)))for(let _0x228068=0x0;_0x228068<_0x2b2c44[_0x196c4b(0x27f)];_0x228068++){_0x2b2c44[_0x228068]=await _0x3fb67d(_0x196c4b(0x217),{..._0x2b2c44[_0x228068]??{}},_0x231dca);}if(_0x431930['insertParam']){const _0x5e1906=await _0x431930[_0x196c4b(0x225)]({'body':_0x2b2c44[0x0]??{},'request':_0x231dca});_0x2b2c44=_0x2b2c44[_0x196c4b(0x23d)](_0x8974b5=>({..._0x8974b5,..._0x5e1906}));}const _0x5accec=await _0x24cacc[_0x196c4b(0x217)](_0x2b2c44);return _0x210896['ok'](_0x5accec);}let _0x5dda4f={..._0x106abc??{}};_0x5dda4f=await _0x3fb67d(_0x196c4b(0x217),_0x5dda4f,_0x231dca);_0x431930[_0x196c4b(0x225)]&&Object['assign'](_0x5dda4f,await _0x431930[_0x196c4b(0x225)]({'body':_0x5dda4f,'request':_0x231dca}));const _0x1a8751=await _0x24cacc[_0x196c4b(0x217)](_0x5dda4f);return _0x210896['ok'](_0x1a8751);}catch(_0x305dc3){return _0x210896[_0x196c4b(0x20f)](_0x305dc3 instanceof Error?_0x305dc3[_0x196c4b(0x1f3)]:_0x196c4b(0x211));}});_0x43cab4['includes'](_0x438bb3(0x18a))&&_0x24cacc&&_0x1ca956&&_0x4a8d36(_0x438bb3(0x11b),_0x438bb3(0x146),'delete',async({body:_0x133b4e,request:_0x349455})=>{const _0x52f195=_0x438bb3;try{const _0x2e12c7=_0x133b4e,_0x218186=Array[_0x52f195(0x2e6)](_0x2e12c7)?_0x2e12c7:await _0x3fb67d('delete',{..._0x2e12c7??{}},_0x349455),_0x4eb6ce=resolveIds(_0x218186);if(!_0x4eb6ce[_0x52f195(0x27f)])return _0x210896['fail'](_0x52f195(0x271));const _0x3fccd6=!Array['isArray'](_0x218186)&&!!_0x218186[_0x52f195(0x120)];return await _0x24cacc[_0x52f195(0x18a)](_0x4eb6ce,{'force':_0x3fccd6}),_0x210896['ok']();}catch(_0x152f68){return _0x210896[_0x52f195(0x20f)](_0x152f68 instanceof Error?_0x152f68[_0x52f195(0x1f3)]:_0x52f195(0x2ff));}});_0x43cab4[_0x438bb3(0x176)]('update')&&_0x24cacc&&_0x1ca956&&_0x4a8d36('post',_0x438bb3(0x14c),_0x438bb3(0x143),async({body:_0x4e377a,request:_0xf4cd85})=>{const _0x2fa9e5=_0x438bb3;try{const _0x10c8c5=_0x4e377a;if(Array[_0x2fa9e5(0x2e6)](_0x10c8c5)){let _0x1a5972=_0x10c8c5;if(_0x431930[_0x2fa9e5(0x2f5)]&&BEFORE_APIS['has']('update'))for(let _0x1ee883=0x0;_0x1ee883<_0x1a5972['length'];_0x1ee883++){_0x1a5972[_0x1ee883]=await _0x3fb67d('update',{..._0x1a5972[_0x1ee883]??{}},_0xf4cd85);}const _0x156c26=await _0x24cacc[_0x2fa9e5(0x143)](_0x1a5972);return _0x210896['ok'](_0x156c26);}const _0x190dbd=await _0x3fb67d(_0x2fa9e5(0x143),{..._0x10c8c5??{}},_0xf4cd85),_0x433c0a=_0x190dbd['id'];if(_0x433c0a==null)return _0x210896[_0x2fa9e5(0x20f)](_0x2fa9e5(0x26a));const _0x109d43=await _0x24cacc[_0x2fa9e5(0x143)](_0x190dbd);return _0x210896['ok'](_0x109d43);}catch(_0x1f0bd9){return _0x210896[_0x2fa9e5(0x20f)](_0x1f0bd9 instanceof Error?_0x1f0bd9['message']:_0x2fa9e5(0x250));}});_0x43cab4[_0x438bb3(0x176)](_0x438bb3(0x28d))&&_0x24cacc&&_0x4a8d36(_0x438bb3(0x179),'/info','info',async({query:_0x4ba114})=>{const _0x1fc6ec=_0x438bb3;try{const _0x509a7b=_0x4ba114?.['id'];if(_0x509a7b==null||_0x509a7b==='')return _0x210896[_0x1fc6ec(0x20f)](_0x1fc6ec(0x26a));const _0x7fc865=await _0x24cacc[_0x1fc6ec(0x28d)](_0x509a7b);return _0x210896['ok'](omitProps(_0x7fc865,_0x431930[_0x1fc6ec(0x215)]));}catch(_0x42387f){return _0x210896['fail'](_0x42387f instanceof Error?_0x42387f['message']:_0x1fc6ec(0x156));}});_0x43cab4[_0x438bb3(0x176)](_0x438bb3(0x1d8))&&_0x24cacc&&_0x3b9bb1&&_0x4a8d36('post',_0x438bb3(0x2a8),_0x438bb3(0x1d8),async({body:_0x40092a,request:_0x38367a})=>{const _0x390a9a=_0x438bb3;try{const _0x3ca55d=_0x40092a??{},_0x420f43=_0x431930[_0x390a9a(0x24f)]??{},_0x2041f0={'onlyTrashed':_0x3ca55d[_0x390a9a(0x249)]===!![],'withTrashed':_0x3ca55d[_0x390a9a(0x273)]===!![]};if(needsAdvancedQuery(_0x420f43)){const _0x3563bc=await queryWithOp(_0x3b9bb1,_0x3ca55d,_0x420f43,{'request':_0x38367a,'mode':'list','trash':_0x2041f0});return _0x210896['ok'](_0x3563bc);}const {where:_0x565ba6,orderBySql:_0xac984}=await buildQueryOp(_0x3b9bb1,_0x3ca55d,_0x420f43,_0x38367a),_0x40cf7f=await _0x24cacc[_0x390a9a(0x1d8)](_0x565ba6,{'orderBy':_0xac984,..._0x2041f0});return _0x210896['ok'](_0x40cf7f);}catch(_0x18d97a){return _0x210896[_0x390a9a(0x20f)](_0x18d97a instanceof Error?_0x18d97a[_0x390a9a(0x1f3)]:'list\x20failed');}});_0x43cab4[_0x438bb3(0x176)](_0x438bb3(0x1d4))&&_0x24cacc&&_0x3b9bb1&&_0x4a8d36(_0x438bb3(0x11b),_0x438bb3(0x140),_0x438bb3(0x1d4),async({body:_0x3439f7,request:_0x1d80a4})=>{const _0x20cbb4=_0x438bb3;try{const _0x251064=_0x3439f7??{},_0x4a0bb9=_0x431930[_0x20cbb4(0x1be)]??{},_0x22bc50={'onlyTrashed':_0x251064['onlyTrashed']===!![],'withTrashed':_0x251064['withTrashed']===!![]};if(needsAdvancedQuery(_0x4a0bb9)){const _0xed67ee=await queryWithOp(_0x3b9bb1,_0x251064,_0x4a0bb9,{'request':_0x1d80a4,'mode':'page','trash':_0x22bc50});return _0x210896['ok'](_0xed67ee);}const {where:_0x557b0f,orderBySql:_0x13d099}=await buildQueryOp(_0x3b9bb1,_0x251064,_0x4a0bb9,_0x1d80a4),_0x28c98e=await _0x24cacc[_0x20cbb4(0x1d4)]({'page':Number(_0x251064[_0x20cbb4(0x1d4)]??0x1),'size':Number(_0x251064[_0x20cbb4(0x255)]??0x14),'where':_0x557b0f,'orderBy':_0x13d099,..._0x22bc50});return _0x210896['ok'](_0x28c98e);}catch(_0x29fc8e){return _0x210896[_0x20cbb4(0x20f)](_0x29fc8e instanceof Error?_0x29fc8e[_0x20cbb4(0x1f3)]:_0x20cbb4(0x137));}});_0x43cab4['includes'](_0x438bb3(0x2eb))&&_0x24cacc&&_0x1ca956&&_0x4a8d36(_0x438bb3(0x11b),'/restore',_0x438bb3(0x2eb),async({body:_0x473c6b,request:_0x467d26})=>{const _0x10d346=_0x438bb3;try{const _0x3cab9d=_0x473c6b,_0x116e8b=Array['isArray'](_0x3cab9d)?_0x3cab9d:await _0x3fb67d(_0x10d346(0x2eb),{..._0x3cab9d??{}},_0x467d26),_0x4239fd=resolveIds(_0x116e8b);if(!_0x4239fd['length'])return _0x210896[_0x10d346(0x20f)](_0x10d346(0x271));return await _0x24cacc[_0x10d346(0x2eb)](_0x4239fd),_0x210896['ok']();}catch(_0xdcbd7e){return _0x210896['fail'](_0xdcbd7e instanceof Error?_0xdcbd7e[_0x10d346(0x1f3)]:_0x10d346(0x19e));}});if(_0x495f5e[_0x438bb3(0x27f)]){if(!_0x431930[_0x438bb3(0x2c4)])throw new Error('[CRUD]\x20'+_0x5ac791['token']['name']+_0x438bb3(0x25f));const _0x368207=Ioc['get'](_0x431930[_0x438bb3(0x2c4)]);for(const _0x3fe479 of _0x495f5e){const _0x5ace72=_0x368207[_0x3fe479];if(typeof _0x5ace72!=='function')throw new Error(_0x438bb3(0x24a)+_0x431930[_0x438bb3(0x2c4)][_0x438bb3(0x2b6)]+'.'+_0x3fe479+_0x438bb3(0x262));const _0x57406c=_0x5ace72[_0x438bb3(0x131)](_0x368207);_0x4a8d36(_0x438bb3(0x11b),'/'+_0x3fe479,_0x3fe479,async({body:_0xe5e0c3})=>{const _0x3d1ce6=_0x438bb3;try{const _0x1bf1d0=await _0x57406c(_0xe5e0c3);return _0x210896['ok'](_0x1bf1d0);}catch(_0x2a1a57){return _0x210896['fail'](_0x2a1a57 instanceof Error?_0x2a1a57[_0x3d1ce6(0x1f3)]:_0x3fe479+_0x3d1ce6(0x1dd));}});}}return _0x4c1b2e;};import{join as _0x54d4f9}from'path';import{pathToFileURL as _0x1c7c93}from'url';var SERVICE_PATTERN=_0x491718(0x2cf),CONTROLLER_SCANS=[{'pattern':_0x491718(0x309),'side':'admin'},{'pattern':'**/modules/*/controller/app/**/*.ts','side':_0x491718(0x1a6)}];async function importWithContext(_0x3ed531,_0x2e1089,_0x289324){const _0x15bb2a=_0x491718;setControllerScanContext({'module':parseModuleFromPath(_0x2e1089),'side':_0x289324,'file':_0x2e1089});try{const _0x4c0770=_0x1c7c93(_0x54d4f9(_0x3ed531,_0x2e1089))[_0x15bb2a(0x266)];await import(_0x4c0770);}finally{setControllerScanContext(null);}}async function scanHost(){const _0x5a81c0=_0x491718,_0x35af79=process[_0x5a81c0(0x188)](),_0x5673e4=await scanFiles(SERVICE_PATTERN,{'cwd':_0x35af79});for(const _0x5d63d5 of _0x5673e4){const _0xe78f23=_0x1c7c93(_0x54d4f9(_0x35af79,_0x5d63d5))[_0x5a81c0(0x266)];await import(_0xe78f23);}let _0x516c76=0x0;for(const {pattern:_0x3ed3f7,side:_0x43f73e}of CONTROLLER_SCANS){const _0xfa725d=await scanFiles(_0x3ed3f7,{'cwd':_0x35af79});_0x516c76+=_0xfa725d[_0x5a81c0(0x27f)];for(const _0x6020e7 of _0xfa725d){await importWithContext(_0x35af79,_0x6020e7,_0x43f73e);}}setCrudRegistrar(attachCrudRoutes),console['log'](_0x5a81c0(0x2b4)),console[_0x5a81c0(0x2b8)](_0x5a81c0(0x295)+_0x5673e4[_0x5a81c0(0x27f)]+_0x5a81c0(0x21a)+_0x516c76+'\x20controller\x20file(s)');}import{join as _0x2c98c5}from'path';import{createPinoLogger}from'@bogeychan/elysia-logger';import _0x20b0ba from'pino-pretty';import{createWriteStream,mkdirSync,readdirSync,unlinkSync}from'fs';import{join as _0x1bbf32}from'path';import{Writable}from'stream';var FILE_PATTERN=/^(\d{4}-\d{2}-\d{2})\.log$/;function formatLocalDate(_0x12a457=new Date()){const _0x4019b9=_0x491718,_0x282623=_0x12a457[_0x4019b9(0x2a5)](),_0x522a72=String(_0x12a457[_0x4019b9(0x228)]()+0x1)[_0x4019b9(0x13b)](0x2,'0'),_0x259dbb=String(_0x12a457[_0x4019b9(0x1ad)]())[_0x4019b9(0x13b)](0x2,'0');return _0x282623+'-'+_0x522a72+'-'+_0x259dbb;}function purgeOldLogs(_0x16f3dc,_0x4f0528){const _0xf0a8e6=_0x491718,_0x39669e=new Date();_0x39669e[_0xf0a8e6(0x2c8)](_0x39669e[_0xf0a8e6(0x1ad)]()-_0x4f0528);const _0xf12bf7=formatLocalDate(_0x39669e);for(const _0xae95f9 of readdirSync(_0x16f3dc)){const _0x417326=_0xae95f9['match'](FILE_PATTERN);if(!_0x417326||_0x417326[0x1]>=_0xf12bf7)continue;unlinkSync(_0x1bbf32(_0x16f3dc,_0xae95f9));}}function openDailyStream(_0x121abe,_0x500eac){const _0x56ac4a=_0x491718;return createWriteStream(_0x1bbf32(_0x121abe,_0x500eac+_0x56ac4a(0x159)),{'flags':'a'});}function createDailyLogStream(_0x3fa7dc,_0x5dbfdb=0x1e){mkdirSync(_0x3fa7dc,{'recursive':!![]}),purgeOldLogs(_0x3fa7dc,_0x5dbfdb);let _0xf5644c=formatLocalDate(),_0x5d1053=openDailyStream(_0x3fa7dc,_0xf5644c);return new Writable({'write'(_0xe6218f,_0x285ce4,_0x732343){const _0xdcdc18=_0x285b,_0x50572f=formatLocalDate();_0x50572f!==_0xf5644c&&(_0x5d1053[_0xdcdc18(0x2d4)](),_0xf5644c=_0x50572f,_0x5d1053=openDailyStream(_0x3fa7dc,_0xf5644c),purgeOldLogs(_0x3fa7dc,_0x5dbfdb)),_0x5d1053[_0xdcdc18(0x14d)](_0xe6218f,_0x732343);},'final'(_0x43d66e){const _0x3538dd=_0x285b;_0x5d1053[_0x3538dd(0x2d4)](_0x43d66e);}});}var pinoInstance;function buildPino(){const _0x2b911b=_0x491718,_0x2185f1=VomeConfig[_0x2b911b(0x122)]??{},_0x28ee9f=_0x2185f1[_0x2b911b(0x18b)]??_0x2b911b(0x28d);if(_0x2185f1[_0x2b911b(0x1bc)]===_0x2b911b(0x11f)){const _0x4557b1=_0x2c98c5(process[_0x2b911b(0x188)](),_0x2185f1[_0x2b911b(0x20e)]??_0x2b911b(0x122)),_0x280d4f=_0x2185f1[_0x2b911b(0x2f1)]??0x1e;return createPinoLogger({'level':_0x28ee9f,'stream':createDailyLogStream(_0x4557b1,_0x280d4f)});}return createPinoLogger({'level':_0x28ee9f,'stream':_0x20b0ba({'colorize':!![],'translateTime':_0x2b911b(0x1db),'ignore':_0x2b911b(0x28a)})});}function getPinoLogger(){if(!pinoInstance)pinoInstance=buildPino();return pinoInstance;}function resetPinoLogger(){pinoInstance=undefined;}class Logger{[_0x491718(0x28d)](_0x2d3189,..._0x31afba){const _0x5bf44b=_0x491718,_0x95f1c3=getPinoLogger();if(_0x31afba[_0x5bf44b(0x27f)])_0x95f1c3[_0x5bf44b(0x28d)]({'args':_0x31afba},_0x2d3189);else _0x95f1c3[_0x5bf44b(0x28d)](_0x2d3189);}[_0x491718(0x175)](_0x5841b6,..._0x25dc05){const _0x1cc228=_0x491718,_0x46be75=getPinoLogger();if(_0x25dc05[_0x1cc228(0x27f)])_0x46be75[_0x1cc228(0x175)]({'args':_0x25dc05},_0x5841b6);else _0x46be75[_0x1cc228(0x175)](_0x5841b6);}[_0x491718(0x2cc)](_0x5e743d,..._0xd14030){const _0x4bc71b=_0x491718,_0x34bc1c=getPinoLogger();if(_0xd14030['length'])_0x34bc1c[_0x4bc71b(0x2cc)]({'args':_0xd14030},_0x5e743d);else _0x34bc1c[_0x4bc71b(0x2cc)](_0x5e743d);}['error'](_0x5099ae,..._0x1f2489){const _0x358b61=_0x491718,_0x119616=getPinoLogger();if(_0x5099ae instanceof Error){_0x119616[_0x358b61(0x2b5)](_0x5099ae);return;}if(_0x1f2489[0x0]instanceof Error){_0x119616[_0x358b61(0x2b5)](_0x1f2489[0x0],_0x5099ae);return;}if(_0x1f2489[_0x358b61(0x27f)])_0x119616['error']({'args':_0x1f2489},_0x5099ae);else _0x119616[_0x358b61(0x2b5)](_0x5099ae);}}class CommException extends Error{['statusCode'];['code'];constructor(_0x156b75,_0x423847){const _0x2290a5=_0x491718;super(_0x156b75),this[_0x2290a5(0x2b6)]=_0x2290a5(0x20a),this[_0x2290a5(0x219)]=_0x423847?.[_0x2290a5(0x219)]??0xc8,this[_0x2290a5(0x2e7)]=_0x423847?.[_0x2290a5(0x2e7)]??RES_CODE[_0x2290a5(0x133)];}}function isCommException(_0x33ea8a){return _0x33ea8a instanceof CommException;}function bootstrapLogger(){const _0x4fcc02=_0x491718;getPinoLogger(),Ioc[_0x4fcc02(0x200)](Logger,new Logger());}var VOME_BANNER=_0x491718(0x2ed);function resetViewport(){const _0x3cda6a=_0x491718;if(!process[_0x3cda6a(0x2e4)][_0x3cda6a(0x11c)])return;process[_0x3cda6a(0x2e4)]['write'](_0x3cda6a(0x1d9));}function printStartupBanner(){const _0x574b4b=_0x491718;resetViewport();const _0x2f63b0=getEnv(),_0x260f20=VomeConfig[_0x574b4b(0x24d)]?.[_0x574b4b(0x222)]??0xbb9,_0x46404b=VomeConfig[_0x574b4b(0x1da)]?.[_0x574b4b(0x20b)]??_0x574b4b(0x1c1),_0x49b823=_0x574b4b(0x2ec)+_0x260f20;console[_0x574b4b(0x2b8)](VOME_BANNER),console['log'](_0x574b4b(0x246)+_0x2f63b0),_0x2f63b0==='dev'&&(console[_0x574b4b(0x2b8)](_0x574b4b(0x172)+_0x49b823),console['log'](_0x574b4b(0x233)+_0x49b823+(_0x46404b['startsWith']('/')?_0x46404b:'/'+_0x46404b)));}import{access}from'fs/promises';import{join as _0x26e5be}from'path';import{pathToFileURL as _0x384f46}from'url';async function exists(_0x5ce13d){try{return await access(_0x5ce13d),!![];}catch{return![];}}async function importHostModule(_0x138b90){const _0x1e5420=_0x491718,_0x48ec74=_0x26e5be(process[_0x1e5420(0x188)](),_0x138b90);if(!await exists(_0x48ec74)){console['warn'](_0x1e5420(0x23b)+_0x138b90);return;}return await import(_0x384f46(_0x48ec74)[_0x1e5420(0x266)]);}async function bootstrapHostInfra(){const _0x3966c8=_0x491718,_0x512bcc=await importHostModule('src/lib/db/index.ts');if(_0x512bcc?.['Db']?.[_0x3966c8(0x257)])await _0x512bcc['Db'][_0x3966c8(0x257)]();const _0x273a0d=await importHostModule(_0x3966c8(0x25b));if(_0x273a0d?.[_0x3966c8(0x11a)]?.[_0x3966c8(0x257)])await _0x273a0d[_0x3966c8(0x11a)][_0x3966c8(0x257)]();const _0x2079f4=await importHostModule(_0x3966c8(0x1d1));if(_0x2079f4?.['Auth']?.[_0x3966c8(0x257)])await _0x2079f4[_0x3966c8(0x256)]['bootstrap']();}async function bootstrapHostTasks(){const _0x18e603=_0x491718,_0x5882f6=await importHostModule('src/lib/task/index.ts');if(_0x5882f6?.['Task']?.['bootstrap'])await _0x5882f6[_0x18e603(0x1ab)]['bootstrap']();}async function bootstrapHostPlugins(){const _0x4dddb1=_0x491718,_0x5366c1=await importHostModule(_0x4dddb1(0x1d0));if(_0x5366c1?.[_0x4dddb1(0x23a)]?.[_0x4dddb1(0x257)])await _0x5366c1[_0x4dddb1(0x23a)][_0x4dddb1(0x257)]();}async function bootstrapHostModules(){const _0x51fc06=_0x491718,_0x150f07=await importHostModule(_0x51fc06(0x1a1));if(_0x150f07?.[_0x51fc06(0x1a4)]?.[_0x51fc06(0x257)])await _0x150f07['Module'][_0x51fc06(0x257)]();}async function shutdownHostTasks(){const _0x210bbe=_0x491718,_0x7e41a3=await importHostModule(_0x210bbe(0x141));if(_0x7e41a3?.[_0x210bbe(0x1ab)]?.[_0x210bbe(0x202)])await _0x7e41a3[_0x210bbe(0x1ab)][_0x210bbe(0x202)]();}async function shutdownHostInfra(){const _0x470cad=_0x491718,_0x227822=await importHostModule(_0x470cad(0x25b));if(_0x227822?.[_0x470cad(0x11a)]?.['close'])await _0x227822[_0x470cad(0x11a)]['close']();const _0x2ffb86=await importHostModule(_0x470cad(0x142));if(_0x2ffb86?.['Db']?.[_0x470cad(0x202)])await _0x2ffb86['Db'][_0x470cad(0x202)]();}async function applyHostAuthMiddleware(_0x5b10e1){const _0x288327=_0x491718,_0x231821=await importHostModule('src/middleware/index.ts');if(!_0x231821)return _0x5b10e1;let _0x559cdc=_0x5b10e1;if(_0x231821['webAuth'])_0x559cdc=_0x559cdc[_0x288327(0x1b8)](_0x231821[_0x288327(0x206)]);if(_0x231821['adminAuth'])_0x559cdc=_0x559cdc[_0x288327(0x1b8)](_0x231821['adminAuth']);if(_0x231821[_0x288327(0x161)])_0x559cdc=_0x559cdc['use'](_0x231821[_0x288327(0x161)]);if(_0x231821[_0x288327(0x2f2)])_0x559cdc=_0x559cdc['use'](_0x231821[_0x288327(0x2f2)]);if(_0x231821['moduleGateway'])_0x559cdc=_0x559cdc[_0x288327(0x1b8)](_0x231821[_0x288327(0x1f7)]);return _0x559cdc;}function applyAsyncContext(_0x12fedc){const _0x5c24c1=_0x491718,_0x51d1d9=VomeConfig[_0x5c24c1(0x23f)]??{};if(!_0x51d1d9[_0x5c24c1(0x19f)])return _0x12fedc;return _0x12fedc[_0x5c24c1(0x276)](({request:_0xe3c884})=>{enterContextWith(initContextFromRequest(_0xe3c884));});}function applyErrorHandler(_0x5bdf3f){const _0x5b0fa7=_0x491718;return _0x5bdf3f[_0x5b0fa7(0x1cd)](({error:_0x2ab7df,set:_0x3df0c1,code:_0x36d221})=>{const _0x1c55b6=_0x5b0fa7,_0x28d2eb=getPinoLogger();if(isCommException(_0x2ab7df))return _0x28d2eb[_0x1c55b6(0x2b5)]({'code':_0x2ab7df[_0x1c55b6(0x2e7)]},_0x2ab7df[_0x1c55b6(0x1f3)]),_0x3df0c1[_0x1c55b6(0x168)]=_0x2ab7df['statusCode'],{'code':_0x2ab7df['code'],'message':_0x2ab7df[_0x1c55b6(0x1f3)]};if(_0x36d221===_0x1c55b6(0x151)){const _0x38e6e1=_0x2ab7df instanceof Error?_0x2ab7df['message']:_0x1c55b6(0x17e);return _0x28d2eb[_0x1c55b6(0x2b5)]({'code':_0x36d221},_0x38e6e1),_0x3df0c1['status']=0x1a6,{'code':RES_CODE[_0x1c55b6(0x133)],'message':_0x38e6e1};}if(_0x36d221===_0x1c55b6(0x2ca))return _0x3df0c1[_0x1c55b6(0x168)]=0x194,{'code':RES_CODE['ERROR'],'message':'not\x20found'};const _0x17b459=_0x2ab7df instanceof Error?_0x2ab7df:new Error(String(_0x2ab7df));return _0x28d2eb[_0x1c55b6(0x2b5)](_0x17b459),_0x3df0c1[_0x1c55b6(0x168)]=0x1f4,{'code':RES_CODE[_0x1c55b6(0x133)],'message':getEnv()===_0x1c55b6(0x216)?_0x17b459[_0x1c55b6(0x1f3)]:_0x1c55b6(0x1fd)};});}function applyLogging(_0x58fd83){const _0x2ac612=getPinoLogger();return _0x58fd83['use'](_0x2ac612['into']({'autoLogging':{'ignore':_0x2d8c21=>Boolean(_0x2d8c21['isError'])}}));}import{openapi}from'@elysiajs/openapi';function applyOpenapi(_0xe5f22){const _0x1b0463=_0x491718,_0xc599f9=VomeConfig['openapi']??{'enable':![]};if(_0xc599f9[_0x1b0463(0x19f)]===![])return _0xe5f22;const _0x9a67bb=_0xc599f9[_0x1b0463(0x20b)]??_0x1b0463(0x1c1),{tags:_0x30778b,tagGroups:_0x28a475}=buildOpenApiTagDocs(),_0x30ff43=_0xc599f9[_0x1b0463(0x291)]??{},_0x11ee90=_0xc599f9['scalar']??{};return _0xe5f22[_0x1b0463(0x1b8)](openapi({'path':_0x9a67bb,'documentation':{..._0x30ff43,'tags':[..._0x30ff43[_0x1b0463(0x1e0)]??[],..._0x30778b],'x-tagGroups':_0x28a475},'scalar':{..._0x11ee90,'layout':_0x11ee90[_0x1b0463(0x2c5)]??'classic','operationTitleSource':_0x11ee90[_0x1b0463(0x1b2)]??_0x1b0463(0x193)}}));}var app,started=![],signalsRegistered=![],hostScanned=![],bootstrapHooks=[],shutdownHooks=[],usePlugins=[];async function ensureHostScanned(){if(hostScanned)return;hostScanned=!![],await scanHost();}function createApp(){return applyAsyncContext(applyErrorHandler(applyLogging(new _0x6dfad3())));}function bootstrap(_0x247b30){const _0x47e9a4=_0x491718;bootstrapHooks[_0x47e9a4(0x14f)](_0x247b30);}function shutdown(_0x2a4d87){const _0x2dea85=_0x491718;shutdownHooks[_0x2dea85(0x14f)](_0x2a4d87);}function use(_0x29d013){const _0x5d7cc9=_0x491718;usePlugins[_0x5d7cc9(0x14f)](_0x29d013);}async function start(){const _0x5da41e=_0x491718;if(started)throw new Error('[App]\x20\u5DF2\u542F\u52A8\uFF0C\u8BF7\u5148\x20App.stop()\x20\u518D\x20start');let _0x4d97dd=createApp();_0x4d97dd=await applyHostAuthMiddleware(_0x4d97dd);for(const _0x4402e1 of usePlugins){_0x4d97dd=_0x4402e1(_0x4d97dd);}await ensureHostScanned(),_0x4d97dd=applyOpenapi(_0x4d97dd),await bootstrapHostInfra();for(const _0x3683d9 of bootstrapHooks)await _0x3683d9();bootstrapLogger(),bootstrapIoc(),await bootstrapHostPlugins(),await bootstrapHostModules(),await bootstrapHostTasks(),_0x4d97dd=registerControllers(_0x4d97dd,VomeConfig);const _0x43f219=VomeConfig['system']?.['port']??0xbb9;return _0x4d97dd[_0x5da41e(0x1bd)](_0x43f219),app=_0x4d97dd,started=!![],printStartupBanner(),registerShutdownSignals(),app;}async function stop(){const _0x527745=_0x491718;if(!app)return;for(const _0x35f56b of shutdownHooks)await _0x35f56b();await shutdownHostTasks(),await shutdownHostInfra(),await app[_0x527745(0x1c8)](),app=undefined,started=![],hostScanned=![],resetIoc(),resetPinoLogger(),setCrudRegistrar(undefined),signalsRegistered=![];}function registerShutdownSignals(){const _0x3361df=_0x491718;if(signalsRegistered)return;signalsRegistered=!![];for(const _0x133605 of[_0x3361df(0x15a),_0x3361df(0x22a)]){process[_0x3361df(0x25a)](_0x133605,async()=>{const _0x378f47=_0x3361df;await stop(),process[_0x378f47(0x1d5)](0x0);});}}var App={'bootstrap':bootstrap,'shutdown':shutdown,'use':use,'start':start,'stop':stop};async function vome(_0x563421){const _0x293c12=_0x491718;if(_0x563421)await _0x563421({'App':App});return App[_0x293c12(0x1ca)]();}import{getTableColumns as _0x115d98,getTableName as _0x4b1da6}from'drizzle-orm';import{getTableColumns as _0x1bcb78,getTableName}from'drizzle-orm';import{integer,serial,timestamp}from'drizzle-orm/pg-core';var baseColumns={'id':serial('id')[_0x491718(0x1ac)](),'createTime':timestamp(_0x491718(0x2ba),{'withTimezone':!![]})[_0x491718(0x277)]()[_0x491718(0x14e)](),'updateTime':timestamp(_0x491718(0x124),{'withTimezone':!![]})[_0x491718(0x277)]()['defaultNow']()[_0x491718(0x289)](()=>new Date()),'deletedAt':timestamp(_0x491718(0x305),{'withTimezone':!![]}),'tenantId':integer('tenantId')},BASE_COLUMN_COMMENTS={'id':'ID','createTime':'\u521B\u5EFA\u65F6\u95F4','updateTime':_0x491718(0x302),'deletedAt':_0x491718(0x16b),'tenantId':'\u79DF\u6237'},registry=new WeakMap(),tables=new Set();function columnComments(_0x536695,_0x1a7eab={}){const _0x3f593a=_0x491718;return tables['add'](_0x536695),registry[_0x3f593a(0x200)](_0x536695,{...BASE_COLUMN_COMMENTS,...registry[_0x3f593a(0x179)](_0x536695)||{},..._0x1a7eab}),_0x536695;}function getColumnComments(_0x2f49c9){const _0x146410=_0x491718;return registry[_0x146410(0x179)](_0x2f49c9)||{};}function listColumnCommentTables(){return[...tables];}function quoteIdent(_0x51e369){const _0x3b93f4=_0x491718;if(!/^[A-Za-z_][A-Za-z0-9_]*$/[_0x3b93f4(0x2db)](_0x51e369))throw new Error('[columnComments]\x20非法标识符:\x20'+_0x51e369);return'\x22'+_0x51e369+'\x22';}function escapeLiteral(_0x23079a){const _0x2a1b0a=_0x491718;return _0x23079a[_0x2a1b0a(0x1ba)](/'/g,'\x27\x27');}async function syncColumnCommentsToPg(_0x36dfa8){const _0x445db4=_0x491718,_0x2b2208=listColumnCommentTables();if(!_0x2b2208[_0x445db4(0x27f)])return 0x0;const _0x58e713=new Map(),_0x55ae4a=[];for(const _0x336d6c of _0x2b2208){let _0x317450;try{_0x317450=getTableName(_0x336d6c);}catch{continue;}const _0x38e95d=_0x1bcb78(_0x336d6c),_0x4a9d84=getColumnComments(_0x336d6c),_0x44b76c=new Map();for(const [_0x5bb5c2,_0x1383c7]of Object[_0x445db4(0x19d)](_0x4a9d84)){if(!_0x1383c7||!(_0x5bb5c2 in _0x38e95d))continue;_0x44b76c['set'](_0x5bb5c2,_0x1383c7);}if(!_0x44b76c[_0x445db4(0x255)])continue;_0x58e713[_0x445db4(0x200)](_0x317450,_0x44b76c),_0x55ae4a[_0x445db4(0x14f)](_0x317450);}if(!_0x55ae4a[_0x445db4(0x27f)])return 0x0;const _0x4fb710=_0x55ae4a['map'](_0x4ffc30=>'\x27'+escapeLiteral(_0x4ffc30)+'\x27')[_0x445db4(0x2f8)](','),_0x3133b3=await _0x36dfa8[_0x445db4(0x13c)](_0x445db4(0x1b6)+_0x4fb710+_0x445db4(0x2fe)),_0x6ef363=new Map();for(const _0xc460dc of _0x3133b3||[]){if(!_0xc460dc[_0x445db4(0x2be)]||!_0xc460dc[_0x445db4(0x208)])continue;_0x6ef363[_0x445db4(0x200)](_0xc460dc['table_name']+'.'+_0xc460dc[_0x445db4(0x208)],_0xc460dc[_0x445db4(0x2ad)]??null);}let _0x447842=0x0;for(const [_0xf3ce2f,_0x21a1d5]of _0x58e713){for(const [_0x8c30b3,_0xb7a389]of _0x21a1d5){const _0x5829a9=_0xf3ce2f+'.'+_0x8c30b3,_0x3817d3=_0x6ef363[_0x445db4(0x179)](_0x5829a9);if(_0x3817d3===_0xb7a389)continue;await _0x36dfa8[_0x445db4(0x13c)](_0x445db4(0x1d3)+quoteIdent(_0xf3ce2f)+'.'+quoteIdent(_0x8c30b3)+'\x20IS\x20\x27'+escapeLiteral(_0xb7a389)+'\x27'),_0x447842++;}}return _0x447842;}var SIDE_PREFIX2={'admin':_0x491718(0x254),'app':_0x491718(0x303)};function getSidePrefix2(_0x435de1){return normalizePrefix(SIDE_PREFIX2[_0x435de1]);}function lastSegment(_0x2778f3){const _0x25dd04=_0x491718,_0x2f175b=_0x2778f3['replace'](/^\/+|\/+$/g,'')[_0x25dd04(0x1a7)]('/');return _0x2f175b[_0x2f175b[_0x25dd04(0x27f)]-0x1]||_0x2778f3||'index';}function toPascalEntityName(_0x475007){const _0xcb3e02=_0x491718;return _0x475007[_0xcb3e02(0x1a7)]('_')[_0xcb3e02(0x251)](Boolean)[_0xcb3e02(0x23d)](_0x3413e8=>_0x3413e8[_0xcb3e02(0x13a)](0x0)[_0xcb3e02(0x26d)]()+_0x3413e8[_0xcb3e02(0x1f2)](0x1))['join']('')+_0xcb3e02(0x164);}function withAlias(_0x464f12){const _0x268706=_0x491718;if(!_0x464f12?.['length'])return[];return _0x464f12[_0x268706(0x23d)](_0x5ac5b3=>{const _0x10fc50=_0x268706;if(typeof _0x5ac5b3!=='string'){const _0xc48ce5=_0x5ac5b3[_0x10fc50(0x2d9)];return{..._0x5ac5b3,'column':_0xc48ce5[_0x10fc50(0x176)]('.')?_0xc48ce5:'a.'+_0xc48ce5};}return _0x5ac5b3[_0x10fc50(0x176)]('.')?_0x5ac5b3:'a.'+_0x5ac5b3;});}function normalizePageQueryOp(_0xc4a880){const _0x3f73de=_0x491718;return{'keyWordLikeFields':withAlias(_0xc4a880?.['keyWordLikeFields']),'fieldEq':withAlias(_0xc4a880?.[_0x3f73de(0x171)]),'fieldLike':withAlias(_0xc4a880?.[_0x3f73de(0x1e7)]),'fieldArray':withAlias(_0xc4a880?.[_0x3f73de(0x15e)]),'fieldRange':(_0xc4a880?.[_0x3f73de(0x1cc)]??[])[_0x3f73de(0x23d)](_0x1ca28d=>({..._0x1ca28d,'column':_0x1ca28d[_0x3f73de(0x2d9)][_0x3f73de(0x176)]('.')?_0x1ca28d[_0x3f73de(0x2d9)]:'a.'+_0x1ca28d[_0x3f73de(0x2d9)]}))};}function applyFieldDictToColumns(_0x37d647,_0x12332a){const _0x5e5234=_0x491718;for(const _0x506637 of _0x12332a){if(typeof _0x506637===_0x5e5234(0x119)||!_0x506637[_0x5e5234(0x2e8)])continue;const _0x377728=_0x506637[_0x5e5234(0x2d9)][_0x5e5234(0x176)]('.')?_0x506637[_0x5e5234(0x2d9)][_0x5e5234(0x1a7)]('.')['pop']():_0x506637[_0x5e5234(0x2d9)],_0x663437=_0x37d647[_0x5e5234(0x1ce)](_0x119f68=>_0x119f68['propertyName']===_0x377728);if(_0x663437)_0x663437[_0x5e5234(0x2e8)]=_0x506637[_0x5e5234(0x2e8)];}}function columnsFromEntity(_0x92ce0d){const _0x5d04e2=_0x491718;if(!_0x92ce0d||typeof _0x92ce0d!==_0x5d04e2(0x264))return[];try{const _0x5b7181=_0x115d98(_0x92ce0d),_0x495862=getColumnComments(_0x92ce0d),_0x40224e=[];for(const [_0x812d65,_0x5f36c1]of Object[_0x5d04e2(0x19d)](_0x5b7181)){if(_0x812d65==='tenantId')continue;const _0x2cab7c=_0x5f36c1;_0x40224e[_0x5d04e2(0x14f)]({'propertyName':_0x812d65,'type':String(_0x2cab7c['dataType']??_0x2cab7c['columnType']??_0x5d04e2(0x119)),'length':_0x2cab7c[_0x5d04e2(0x27f)]!=null?String(_0x2cab7c[_0x5d04e2(0x27f)]):undefined,'nullable':_0x2cab7c[_0x5d04e2(0x277)]!==!![],'source':'a.'+_0x812d65,'comment':_0x495862[_0x812d65]});}const _0x4664a9=new Set([_0x5d04e2(0x2ba),_0x5d04e2(0x124),'deletedAt']),_0x27f665=_0x40224e[_0x5d04e2(0x251)](_0x27a2f0=>!_0x4664a9[_0x5d04e2(0x191)](_0x27a2f0[_0x5d04e2(0x198)])),_0x71c5f2=_0x40224e[_0x5d04e2(0x251)](_0xa14925=>_0x4664a9[_0x5d04e2(0x191)](_0xa14925[_0x5d04e2(0x198)]));return[..._0x27f665,..._0x71c5f2];}catch{return[];}}function entityNameOf(_0x95659a){const _0x52c9cd=_0x491718;if(!_0x95659a||typeof _0x95659a!==_0x52c9cd(0x264))return;try{return toPascalEntityName(_0x4b1da6(_0x95659a));}catch{return;}}function _0x463b(){const _0x3bec50=['zNjVBq','CM91DgvpChrPB25Z','CgX1z2LUsw5MBW','zgvMyxvSDc50CW','Aw50zxjUywWGC2vYDMvYigvYCM9Y','Cgf0Ag5HBwu','C3rHCNrZv2L0Aa','C2v0','rM9YyMLKzgvU','y2XVC2u','B3jKzxi','lMPZ','C2nVCgvKv2HLCMu','D2vIqxv0Aa','ugfYyw0','y29SDw1Ux25HBwu','rgf0zvrPBwvgB3jTyxq','q29TBuv4y2vWDgLVBG','Cgf0Aa','CgX1z2LU','y2fJAguTy29UDhjVBa','zgLY','zMfPBa','ioEAHoEXU+wEI++8JoIVT+AyVUw8J+s8OowfPsb0B2TLBG','ywrKigzHAwXLza','Dg9Rzw4','C2vSzwn0','y29UC3rYDwn0B3i','Aw5MB0LNBM9YzvbYB3bLCNr5','zgv2','ywrK','DhjPBq','C3rHDhvZq29Kzq','ihnLCNzPy2uSia','Bwq1','yxbWBgLJyxrPB24VANnVBG','Bw9KDwXLlwDHDgv3yxK','B3jKzxjcEvnXBa','C2vYDMLJzufWAxm','w0LVy10G','yxbWBgLJyxrPB24VANnVBJSGy2HHCNnLDd11DgyToa','Cg9YDa','w0LVy10Gsw9JlNnLDcG','w01VzhvSzv0GBg9HzgvKia','Aw5Zzxj0ugfYyw0','y2XPzw50','DhLWzq','z2v0tw9UDgG','r0vu','u0Lhvevstq','lM1QCW','mJCWnZC0yxn5B0T0','y2yTy29UBMvJDgLUzY1PCa','lI9KAxn0l2LUzgv4lMqUDhm','mJyXmtKYmeXoAvr1Da','l2fKza','w01VzhvSzv0GBg9HzcbMywLSzwqG','Bwf4','8j+tMIbbueNMLOFMOAm6ia','tuLu','DxjS','AgfUzgXLCIdNVlRLPle6ia','zgvMyxvSDa','zxbZ','C2nHBG','ugX1z2LU','w0HVC3rDihnRAxaG4OAqig1PC3nPBMCG','zMLUzfbHz2u','BwfW','DM9TztPJB250CM9SBgvYoNjVDxrLCY1Wzw5KAw5N','yxn5BMndB250zxH0twfUywDLCG','DxnLq2XHC3m','CgfYC2u','Bg9Hza','CgX1z2LUu2vYDMLJzq','xJeUnc4Xnq','y29UDgvUDc10ExbL','8j+mJsdOV5dOOyZNJQ/LOOm6ia','AxneAxjLy3rVCNK','z2v0u3rVCMu','B25SEvrYyxnOzwq','w0nsvurDia','Cgf0y2G','B25czwzVCMviyw5KBgu','C3LZDgvT','Bw9KAwz5qMvMB3jL','BgLZDff1zxj5t3a','DxbKyxrLigzHAwXLza','zMLSDgvY','zw52','qMfZzvbSDwDPBG','l2fKBwLU','C2L6zq','qxv0Aa','yM9VDhn0CMfW','l2fKBwLUl2v4Dc86A2v5','Aw1Hz2uVCg5N','B25Jzq','C3jJl2XPyI9JywnOzs9PBMrLEc50CW','BM8Ty2fJAgu','C2nOzw1H','w1jVDxrLCL0G','ioMfJEE9RUs6HIbZzxj2AwnLqxbPC++8JoMCGowqJoAxTUMfJEE9RIbZzxj2AwnL','Agv4','y29UDgvUDa','ios4JEAyR+ACIEAvIoAwUEAZLq','DMvYC2LVBG','B2jQzwn0','pJ0Xmc4WlJa','AhjLzG','y3r4','lI9KAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','Ahr0CdOVl2XVy2fS','AwqGCMvXDwLYzwq','pJ0ZlJuUma','A2v5CW','Dg9vChbLCKnHC2u','BNvTzxjPyW','tM90iezVDw5K','Bgf0zxn0','AwrZihjLCxvPCMvK','ne5MDeniBG','D2L0AfrYyxnOzwq','iowJSoAyJUs6HIbYB3v0zxmG5l2g57Y65BcrihnLCNzLCI9PBMrLEc5QCW','zw5KC1DPDgG','B25szxf1zxn0','BM90tNvSBa','CgvYBxm','pJ00lJaUma','y2fJAgu','zM9UDc93B2zM','Bw9KDwXL','zMLUze9Uzq','Dgv4Dc9JC3m7ignOyxjZzxq9DxrMltG','BgvUz3rO','zgvZAwDUoNr5Cgu','uxvLCNK','khSGqMfZzvbSDwDPBIb9kq','ChjVza','w0LVy10GuMvXDwvZDcdKVzZNLkJLN5/POBVLNkJOR7FMSylKUiRKUiVMLOFKUk3OP6pMNPdVViJOR7FNOA7ORQqGyxn5BMndB250zxH0twfUywDLCI5LBMfIBgxVViK','w29IAMvJDcbpyMPLy3rD','CMvZB2X2zuLKv2HLCMu','revmrvrf','ChjVzc50CW','jg9UvxbKyxrL','CgLKlgHVC3rUyw1L','xJeZlJeUmW','mI1KAwDPDa','Aw5MBW','C3vJy2vZCW','B2zM','sw52ywXPzcbHChaGA2v5','zg9JDw1LBNrHDgLVBG','AwrZ','yxnZAwDU','yMLUzevUDgL0Eq','w0HVC3rDihnJyw4G4OAqia','qM9KEq','A2v5v29YzeXPA2vgAwvSzhm','ioMfJEE9RUs6HIbHCgKVC2vYDMLJzufWAxpVViZKVyBMNkRMIB7LIlaGq1jvrcdLRP7NJRdVViHaDM9Tzs1JB3jLigf0DgfJAenYDwrsB3v0zxmG5PYQ5OYc6l2977Yj','6z2E5Rov5QIH5z2xigTLEtOG','C29YDa','w1f1zxj5t3bDioIHQoAxOowTL+AUTtOG','lM1HCa','y291BNq','lw1Hy3jV','Aw5Zzxj0','CMvHzhK','zgf0yvnJB3bLrgvWDeLKCW','5y2v5lIQ5l+H5OgV','57Y65Bcrig1VzhvSzs5QC29UoIa','Bwv0Ag9K','z2v0rNvSBfLLyxi','qxbWig5VDcbMB3vUza','lI9KAxn0l2fKBwLUl2LUzgv4lMqUDhm','l2XPC3q','l3zVBwuVyxbWCW','C29Tzq','DgvUyw50','u1vdq0vtuW','y29TBwvUDa','zM9Yy2vezwXLDgu','AgfUzgXLCNm','ufvu','DM9TztPJB250CM9SBgvYoNjVDxrLlxbLCM1Z','yM9KEq','zgLZCgf0y2G','w0HVC3rDignYDwqG4OAqieb2B21LlwnVCMuVB3jT','zxjYB3i','BMfTzq','qNvU','Bg9N','tK9erv9ftLy','y3jLyxrLvgLTzq','zMLUzej5swq','Bw9Kzq','AgfUzgXLCG','DgfIBgvFBMfTzq','C2vYDMvY','5yIg6Ag15P+L6k+I','CM91DgvZ','mvr3EMDwBW','w1jVDxrLCL0GCMvNAxn0zxjLzcdIHPaG','C2vYDMLJzq','Bgf5B3v0','B3jKzxjcEq','DM9Tzs1JB3jL','C2v0rgf0zq','w0nVBNrLEhrDiow9K+wjJEAxOoIVT+AXGUs4IUs4I+AwH++8JowgMEwfPEIIQ+w/VEEvPE+8IoIVT+EHRUIUPcbHC3LUy0nVBNrLEhrnyw5Hz2vYiow3SUwqR+EuQo+8Iq','tK9ux0zpvu5e','uMvXDwvZDa','zgvIDwC','Dg9tDhjPBMC','cMLMicH0ExbLB2yGAgfUzgXLCNmGpt09icD1BMrLzMLUzwqNksbYzxr1CM4GBNvSBdSkCMv0DxjUigHHBMrSzxjZoW','kIOVBw9KDwXLCY8Ql3nLCNzPy2uVkIOVkI50CW','Aw5KzxGUANm','z2v0twv0ywrHDge','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xMGAlLPi0','zgvWyxj0BwvUDeLK','zw5K','ywrTAw4','ChvIBgLJ','5QIH5z2xia','xJuUnc43','y29SDw1U','DMfYifbSDwDPBIa9','DgvZDa','AxngAw5PDgu','Bw9KDwXLlMPZB24','y2fSBa','lI9KAxn0l3nLCNzLCI9PBMrLEc5QCW','vM9TzsbMCMfTzxDVCMSG4OcuihnOyxjLzcaRiej1BI9fBhLZAweGC2vYDMvYicSGvNvLigfKBwLU','Bg9JywXLq29TCgfYzq','xJeWlJmUmq','cNzHCIbFx1bSDwDPBIa9icH0ExbLB2yGugX1z2LUice9psaNDw5KzwzPBMvKjYKkica/ifbSDwDPBGOGidOGkg1VzhvSzs5LEhbVCNrZicyMicHTB2r1BguUzxHWB3j0CY5qBhvNAw4GFhWGBw9KDwXLlMv4Cg9YDhmUzgvMyxvSDcb8FcbTB2r1BguUzxHWB3j0CYKPoWPPzIaODhLWzw9Mif9FugX1z2LUid09psaNDw5KzwzPBMvKjYb8FcbFx1bSDwDPBIa9pt0GBNvSBcKGEWOGihrOCM93ig5LDYbfCNjVCIGNBwLZC2LUzYbLEhbVCNqGugX1z2LUjYK7cN0kCMv0DxjUif9FugX1z2LUoW','C3rKB3v0','DMfYigHHBMrSzxjZid0','AxnbCNjHEq','y29Kzq','zgLJDa','y2XLyxi','Axnoyu4','CMvZDg9Yzq','Ahr0CdOVl2XVy2fSAg9ZDdO','cUkwIokwIokvLYaGiokwIokwIokvLYaGiokwIokwIokwIokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcUkwIokwIokvKsaGiokwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4PwxicdILOJILOJILOJILOJILzCG4PAi4PAi4PAi4PAi4PwricdILOJILOJILztILzdILzdILzdILzdILz0k4PAi4PAi4PwricaG4PAi4PAi4PwricdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvLokwIokwIokwIokwIokvLokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PwxcIdILOJILOJILzCG4PAi4PAi4Pwu4PwDicdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvKEkvMUkwIokwIokvLokvNEkwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4PwDcIaG4PwA4PAi4PAi4PAi4Pwu4PwDicaG4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwDicdILOJILOJILzeG4PwA4Pwq4PwDiokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcIaGiokvMUkvKokvKokvNsaGicaG4PwA4Pwq4Pwq4Pwq4Pwq4Pwq4PwDicaG4PwA4Pwq4PwDicaGicdILzRILzdILz0GiokvMUkvKokvKokvKokvKokvKokvKokvNqO','DxbKyxrLqNLsB3DZ','CNvU','CMvXDwLYzuvUDgL0Eq','Bwf4rgf5CW','BwLJCM9bChbZ','zgvZyW','xJaUoc4Z','yMvMB3jL','Ec1MB3j3yxjKzwqTAg9ZDa','BM9Uzq','AM9PBG','lI9KAxn0l2fKBwLUl3n0EwXLCY9IyxnLlMnZCW','CMfUz2u','BgLTAxq','ue9tva','mtjgyLvwseq','kqOGia','zgvSzxrLigzHAwXLza','DMfSDwu','ndm1nJyYExHLqLHU','5PU05PAW5PE26zE0','l2fWCa','DxrMoa','zgvSzxrLzef0','w1bSDwDPBL0G5yQG6l295AsX6lsLoIa','5QIH5z2x5PYQ5yQG6l29','DMfYigHHBMrSzxjZid0GEW','kIOVBw9KDwXLCY8Ql2nVBNrYB2XSzxiVywrTAw4VkIOVkI50CW','lNDVzMy','C3LTyM9S','5QIH5z2x5PYQ5A6j6kof5OIw5PYQ5yQG6l29','w0LVy10GqeLUAMvJDcdML6dMS5xMJQJMLQ0G','C3rYAw5N','q2fJAgu','Cg9ZDa','AxnuvfK','mta1mJe1n0jpyKreEq','yxnJ','zMLSzq','zM9Yy2u','zgvSzxrLtwv0ywrHDge','Bg9Nz2LUzW','zxHWB3j0CW','DxbKyxrLvgLTzq','AgfZrw50Axr5','y3j1za','BwLU','qxnPys9tAgfUz2HHAq','zw50zxjxAxrO','C3rYAw5NAwz5','y2XHC3mGjde','C2f2zq','pJ0ZlJaUma','lMnZCW','B2zMC2v0','ihjVDxrLkhmP','yMLUza','Aw5PDa','rvjst1i','pJ0WlJmWlJa','AwDUB3jLugvYBxm','Aw5KzxGUAhrTBa','CgfNzsbMywLSzwq','Ec1YzwfSlwLW','ywrKt3jKzxjcEq','y2HHCKf0','CgfKu3rHCNq','Dw5ZywzL','C3jJl2nVBMzPzW','C2nVCgvK','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xOVA/LIkdPMAq','l3bHz2u','C3jJl2XPyI90yxnRl2LUzgv4lNrZ','C3jJl2XPyI9KyI9PBMrLEc50CW','DxbKyxrL','lMPZB24','zgvZy3jPChrPB24','l2rLBgv0zq','BwLKzgXLD2fYzq','zgvMAw5Ltwv0ywrHDge','pJ05lJaUma','mtvYB2vrBwy','Cg9W','l3vWzgf0zq','D3jPDgu','zgvMyxvSDe5VDW','ChvZAa','z2v0vgLTzq','vKfmsurbveLptG','uefuq0G','BM93','pJ0XlJaUma','AxntDxbLCG','Aw5MBYbMywLSzwq','DMfSDwvZ','yMvMB3jLsgfUzgXL','lMXVzW','u0Lhsu5u','BgvMDePVAw4','DM9TztPJB250CM9SBgvYoNjVDxrLlxbHCMfTCW','C29MDerLBgv0zq','zMLLBgrbCNjHEq','lNDVzMyY','zNvUy3rPB24','CMvXDwvZDeXVzW','CMv0DxjUAw5N','DhjHC2G','rw50Axr5','w1jVDxrLCL0G5PYQ55+L5y+c5PwW5P2L5RQqoIa','Aw5UzxjkB2LU','yNvUigj1AwXKic4VC3jJl2LUzgv4lNrZic4VC3jJl3nLCNzLCI9PBMrLEc50CYaTlw91DgrPCIaUl2rPC3qGls10yxjNzxqGyNvUic0TzM9YBwf0igvZBsaTlwv4DgvYBMfSigvSExnPysaTlwv4DgvYBMfSihjLzMXLy3qTBwv0ywrHDgeGls1LEhrLCM5HBcbKCML6EMXLlw9YBsaTlwv4DgvYBMfSigrYAxP6BguTEM9Kic0TzxH0zxjUywWGqgvSExnPywPZl29Wzw5HCgKGls1LEhrLCM5HBcbayM9NzxLJAgfUl2vSExnPys1SB2DNzxiGls1LEhrLCM5HBcbWAw5Vic0TzxH0zxjUywWGCgLUBY1WCMv0DhKGjIyGDhnJic1WihrZy29UzMLNlMj1AwXKlMPZB24GjIyGChjPBNrMiciLC1XUiIaIzxHWB3j0icOGzNjVBsaNlI9ZCMmVAw5KzxGNiIa+igrPC3qVAw5KzxGUzc50CYaMjIbTA2rPCIaTCcbKAxn0l3nLCNzLCIaMjIbWCMLUDgyGiIvZxg4IicjLEhbVCNqGkIbMCM9TicCUlI9ZCMmVC2vYDMvYl2LUzgv4jYiGpIbKAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','C3rHDhvZ','CxvLCNK','w0LVy10G5Qoa5Rwl5yIW5B6Q546V5l6D6lwwoIa','5yIG6zMK5PE26zE0','mtq4mtG4odflDNvtELm','yM9VBgvHBG','yNvUihnJCMLWDhmVB2jMDxnJyxrLlNrZ','nZj4wvf1tuO','lI9KAxn0l2LUzgv4lMPZ','zMLLBgrfCq','8j+tOsdMNi3LIQhLNldLNya6ia','DM9TztPPBMPLy3q','uhjVDg90ExbL','D2fYBG','Aw5JBhvKzxm','CMvXDwvZDa','w0jHC2vtzxj2AwnLxsdMNkRNU5hLRPRLRP7KVzpVViZOR7FKVB/NLkGGqeLUAMvJDfjLCg9ZAxrVCNKG5OIwihnLDevUDgL0Eq','z2v0','Dw5RBM93BG','y29UDhjVBgXLCG','Aw5KzxG','kgfUB255Bw91CYK','DMfSAwrHDgLVBIbMywLSzwq','zM9UDc93B2zMmG','icHWDwjSAwmP','ywnJzxnZlwnVBNrYB2WTywXSB3CTB3jPz2LU','A2v5','zxH0zw5K','C2LKzq','CMfUzg9Tvvvjra','x19ZA2LWrgf0yvnJB3bL','Aw1Hz2uVANbLzW','y3DK','ywrTAw5bDxrO','zgvSzxrL','Bgv2zwW','lI9KAxn0l2fKBwLUl2LUzgv4lMPZ','lMH0BwW','6lEV55sX5lIn5A2y5zYO','w1jLCg9ZAxrVCNLDioAjUEMhJ+ABToAwSoAVJ+ADOEMCGow4PIbPza','DgvUyw50swq','AgfZ','pJ0WlJiUma','C3vTBwfYEq','zgf0yq','CMvXDwLYzq','DhLWAw5NCY9Hzg1PBG','w0nVBNrYB2XSzxjDiea','ChjVCgvYDhLoyw1L','CgfYyw1Z','z2v0u1fm','yxbP','ywXS','zw50CMLLCW','CMvZDg9YzsbMywLSzwq','zw5HyMXL','pJ0WlJuUma','C3jJl2XPyI9TB2r1BguVAw5KzxGUDhm','DM9TztPJB250CM9SBgvYoNjVDxrLlw1PzgrSzxDHCMu','ioMhJEwKJsba','tw9KDwXL','D2HLCMu','yxbW','C3bSAxq','C3jJl3nOyxjLza','w0LVy10GyM9VDhn0CMfWiokgKca','ios4JEAyR+ACIEAvIcbOyw5KBgvY','vgfZAW','ChjPBwfYEuTLEq','z2v0rgf0zq','nZaWnZm0rhzXzg9p','y3jLyxrL','yxbWBgLJyxrPB24VAMf2yxnJCMLWDdSGy2HHCNnLDd11DgyToa','Chv0','B3bLCMf0Aw9UvgL0BgvtB3vYy2u','pJ0YlJaUma','DgfIBgu','DxbZzxj0','cIaGicbtruXfq1qkicaGicaGyY5YzwXUyw1LieftihrHyMXLx25HBwuScIaGicaGigeUyxr0BMfTzsbbuYbJB2X1Bw5FBMfTzsWkicaGicaGy29Sx2rLC2nYAxb0Aw9UkgeUyxr0CMvSAwqSigeUyxr0BNvTksbbuYbJB21Tzw50cIaGicbguK9nihbNx2nHDgfSB2CUCgDFy2XHC3mGyWOGicaGsK9jtIbWz19JyxrHBg9NlNbNx25HBwvZCgfJzsbUie9oig4UB2LKid0GyY5YzwXUyw1LC3bHy2ukicaGiePpsu4GCgDFy2f0ywXVzY5Wz19HDhrYAwj1DguGysbptIbHlMf0DhjLBgLKid0GyY5VAwqkicaGifDirvjfigmUCMvSA2LUzca9icDYjWOGicaGicbbtKqGBI5UC3bUyw1Lid0Gy3vYCMvUDf9Zy2HLBweOkqOGicaGicbbtKqGys5HDhrUDw0GpIaWcIaGicaGieforcbot1qGys5HDhrPC2rYB3bWzwqkicaGicaGqu5eigmUCMvSBMfTzsbjtIaO','ywn0Aw9U','DxnL','lNbUzW','CMvWBgfJzq','zgf0yvnJB3bL','DhjHBNnWB3j0','BgLZDgvU','CgfNzvf1zxj5t3a','Bwf0y2G','zw50Axr5','l2rVy3m','BwfJCM8','Bw9KAwz5qwz0zxi','u2LUz2XLDg9U','nte5nZiYy2jntfjR','C3vWCg9YDhntB2z0rgvSzxrL','C291CMnL','C3rVCa','ChjLzML4','C3rHCNq','lI9KAxn0l2fKBwLUlYO','zMLLBgrsyw5Nzq','B25fCNjVCG','zMLUza','BgfZDeLUzgv4t2y','C3jJl2XPyI9WBhvNAw4VAw5KzxGUDhm','C3jJl2XPyI9HDxrOl2LUzgv4lNrZ','A2v5v29Yza','q09ntuvovcbptIbdt0Xvtu4G','CgfNzq','zxHPDa','BNvTyMvY','5yIx6kgO5P+L6k+I','BgLZDa','g1SYsHTBsa','B3bLBMfWAq','u1LtoNn0yw5KyxjK','yxv0Aa','igzHAwXLza','zhjPENPSzq','C3fS','DgfNCW','zgv2lNrZ','C2LUz2XLDg9U','CM0GlxjMigrPC3qGjIyGyNvUihj1BIbIDwLSzdPZzxj2zxiGjIyGyNvUihj1BIbIDwLSzdPHzg1PBG','CM91DgvqyxjHBxm','BwLJCM8TyxbWCY1ZDgf0Awm','yNvUihj1BIbIDwLSzcaMjIbIDw4GCNvUig9IzNvZy2f0zq','zMLLBgrmAwTL','zgLNzxn0','C2v0rw50Axr5','ChjVDg90ExbL','DM9TztPJB250CM9SBgvYoNjVDxrLlwLNBM9Yzs1WzxjTCW','CgfYC2vjBNnLCNq','ioIHQoAxOcbPzcdLIjC','ksdPNidOPOeGy2XHC3mG5A6E5l6l77Ym5lUL5l6/56gU5A6AihvZzunSyxnZ','icHJCNvKkq','AgvHzgvYCW','xJaUmI4Y','C2XPy2u','BwvZC2fNzq','C3yTu0u','Dg9mB3DLCKnHC2u','CMvXDwvZDfbHCMfT','Bw9KDwXLr2f0zxDHEq','DM9Tzq'];_0x463b=function(){return _0x3bec50;};return _0x463b();}function buildApis(_0x62c45d,_0xfcfce3){const _0x448bbc=_0x491718,_0x17ef35=[],_0x26ffb2=new Set(),_0x31ab09=_0x12da53=>{const _0x1cac5b=_0x285b,_0x5eee8f=_0x12da53[_0x1cac5b(0x2a4)]+':'+_0x12da53[_0x1cac5b(0x20b)];if(_0x26ffb2[_0x1cac5b(0x191)](_0x5eee8f))return;_0x26ffb2['add'](_0x5eee8f),_0x17ef35[_0x1cac5b(0x14f)](_0x12da53);};for(const _0x22cf6b of _0x62c45d[_0x448bbc(0x2c1)]){const _0x6d1866=getRouteSubPath(_0x22cf6b[_0x448bbc(0x20b)],_0x62c45d['prefix']),_0x590d51=_0x6d1866[_0x448bbc(0x1ff)]('/')?_0x6d1866:'/'+_0x6d1866,_0x1ff875=actionFromSubPath(_0x590d51);_0x31ab09({'method':_0x22cf6b[_0x448bbc(0x2a4)][_0x448bbc(0x1f5)](),'path':_0x590d51,'summary':_0x22cf6b[_0x448bbc(0x193)]??'','dts':{},'tag':'','prefix':_0xfcfce3,'ignoreToken':Boolean(_0x22cf6b[_0x448bbc(0x2d6)]),'ignorePerms':Boolean(_0x22cf6b[_0x448bbc(0x135)]),'perms':effectivePerms(_0x22cf6b,_0x62c45d,_0x1ff875)??[]});}for(const _0x118440 of _0x62c45d['crud']?.[_0x448bbc(0x19b)]??[]){const _0x33b71b='/'+_0x118440;_0x31ab09({'method':_0x118440==='info'?'get':_0x448bbc(0x11b),'path':_0x33b71b,'summary':CRUD_SUMMARY[_0x118440]??_0x118440,'dts':{},'tag':'','prefix':_0xfcfce3,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x62c45d,_0x118440)??[]});}for(const _0x295ff2 of _0x62c45d[_0x448bbc(0x126)]?.[_0x448bbc(0x21f)]??[]){const _0x44bb73='/'+_0x295ff2;_0x31ab09({'method':_0x448bbc(0x11b),'path':_0x44bb73,'summary':_0x295ff2,'dts':{},'tag':'','prefix':_0xfcfce3,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x62c45d,_0x295ff2)??[]});}return _0x17ef35;}function buildEntity(_0x99e3f7){const _0x1b1366=_0x491718,_0x44f9a2=joinPrefix(getSidePrefix2(_0x99e3f7['side']),_0x99e3f7[_0x1b1366(0x1c9)]),_0x4d6172=lastSegment(_0x99e3f7[_0x1b1366(0x1c9)]),_0x4a08ae=_0x99e3f7['crud']?.[_0x1b1366(0x1c0)],_0x34f29f=columnsFromEntity(_0x4a08ae),_0x206d01=normalizePageQueryOp(_0x99e3f7[_0x1b1366(0x126)]?.[_0x1b1366(0x1be)]);return applyFieldDictToColumns(_0x34f29f,_0x206d01['fieldEq']),{'module':_0x99e3f7[_0x1b1366(0x27c)],'side':_0x99e3f7[_0x1b1366(0x184)],'prefix':_0x44f9a2,'name':entityNameOf(_0x4a08ae),'info':{'type':{'name':_0x4d6172,'description':_0x99e3f7['description']??_0x4d6172}},'api':buildApis(_0x99e3f7,_0x44f9a2),'columns':_0x34f29f,'pageQueryOp':_0x206d01,'pageColumns':_0x34f29f};}function groupByModule(_0x2a4bd4){const _0x23836f=_0x491718,_0x562264={};for(const _0x2f7f77 of _0x2a4bd4){const _0x148a3b=_0x562264[_0x2f7f77[_0x23836f(0x27c)]]??[];_0x148a3b[_0x23836f(0x14f)](_0x2f7f77),_0x562264[_0x2f7f77[_0x23836f(0x27c)]]=_0x148a3b;}return _0x562264;}function isEpsEnabled(){const _0xdec3b5=_0x491718;return Boolean(VomeConfig[_0xdec3b5(0x1f8)]?.[_0xdec3b5(0x238)]);}function buildEps(_0x331386){if(!isEpsEnabled())return{};return groupByModule(listControllers(_0x331386)['map'](buildEntity));}var Eps={'controllers':listControllers,'admin':()=>buildEps(_0x491718(0x2d5)),'app':()=>buildEps(_0x491718(0x1a6)),'enabled':isEpsEnabled};import'reflect-metadata';var ROUTES_PENDING_KEY=_0x491718(0x23e);function joinRoute(_0x22b8c3,_0x41aaa9){return joinPrefix(_0x22b8c3,_0x41aaa9==='/'?'':_0x41aaa9);}function asMiddlewareList(_0x328fe4){if(_0x328fe4==null)return;return Array['isArray'](_0x328fe4)?_0x328fe4:[_0x328fe4];}function appendPendingRoute(_0x3e83f3,_0x3c3df9){const _0x1c63e0=_0x491718,_0xf490b9=Reflect[_0x1c63e0(0x2d1)](ROUTES_PENDING_KEY,_0x3e83f3)??[];_0xf490b9[_0x1c63e0(0x14f)](_0x3c3df9),Reflect[_0x1c63e0(0x148)](ROUTES_PENDING_KEY,_0xf490b9,_0x3e83f3);}function createParamDecorator(_0x3d72d7){const _0x446191=_0x491718,_0x121898=_0x3d72d7===_0x446191(0x199)?_0x446191(0x207):_0x3d72d7===_0x446191(0x2b2)?_0x446191(0x296):_0x446191(0x281);return _0x74fbdf=>(_0x11e11a,_0x231a8d,_0x16cc80)=>{const _0x5ebbbc=_0x446191;if(_0x231a8d===undefined)throw new Error(_0x5ebbbc(0x197)+_0x121898+'\x20只能用于方法参数');const _0x51c5ce=_0x11e11a['constructor'];appendRouteParam(_0x51c5ce,String(_0x231a8d),{'index':_0x16cc80,'source':_0x3d72d7,'schema':_0x74fbdf});};}function pickCrudOptions(_0x4c600f){const {api:_0x2d5a42,entity:_0x3e4c39,service:_0x5d725f,serviceApis:_0x34bbae,before:_0x124aba,pageQueryOp:_0x4b8fbd,listQueryOp:_0x2dd186,insertParam:_0xa4f5fd,infoIgnoreProperty:_0x22ff4d}=_0x4c600f;if(_0x2d5a42==null&&_0x3e4c39==null&&_0x5d725f==null&&_0x34bbae==null&&_0x124aba==null&&_0x4b8fbd==null&&_0x2dd186==null&&_0xa4f5fd==null&&_0x22ff4d==null)return;return{'api':_0x2d5a42,'entity':_0x3e4c39,'service':_0x5d725f,'serviceApis':_0x34bbae,'before':_0x124aba,'pageQueryOp':_0x4b8fbd,'listQueryOp':_0x2dd186,'insertParam':_0xa4f5fd,'infoIgnoreProperty':_0x22ff4d};}function Controller(_0x1aeeb7=''){const _0x32776a=_0x491718,_0x47e7de=typeof _0x1aeeb7===_0x32776a(0x119),_0x1077f9=_0x47e7de?{'prefix':_0x1aeeb7}:_0x1aeeb7;return _0x3f8730=>{const _0x23cda7=_0x32776a;registerProvider({'token':_0x3f8730,'useClass':_0x3f8730,'scope':_0x23cda7(0x1e2)});const _0x18e25c=getControllerScanContext(),_0x193143=_0x47e7de&&_0x1aeeb7===''||!_0x47e7de&&(_0x1077f9[_0x23cda7(0x1c9)]==null||_0x1077f9[_0x23cda7(0x1c9)]===''),_0x409bf1=normalizePrefix(_0x193143&&_0x18e25c?.[_0x23cda7(0x11f)]?parseControllerAutoPrefix(_0x18e25c['file']):_0x1077f9['prefix']??''),_0x526635=Reflect[_0x23cda7(0x2d1)](ROUTES_PENDING_KEY,_0x3f8730)??[],_0x2b51c4=pickCrudOptions(_0x1077f9);registerController({'token':_0x3f8730,'prefix':_0x409bf1,'module':_0x1077f9['module']??_0x18e25c?.[_0x23cda7(0x27c)]??_0x23cda7(0x17a),'side':_0x1077f9[_0x23cda7(0x184)]??_0x18e25c?.[_0x23cda7(0x184)]??'admin','description':_0x1077f9[_0x23cda7(0x145)],'file':_0x18e25c?.[_0x23cda7(0x11f)],'middleware':asMiddlewareList(_0x1077f9[_0x23cda7(0x147)]),'crud':_0x2b51c4,'routes':_0x526635['map'](_0x3f2a5c=>{const _0x558dbf=_0x23cda7,_0x57f757=getRouteParams(_0x3f8730,_0x3f2a5c[_0x558dbf(0x2bd)]),_0x32fe31=schemaFromParams(_0x57f757),_0x571445=[..._0x3f2a5c['middleware']??[],...getRouteMiddleware(_0x3f8730,_0x3f2a5c[_0x558dbf(0x2bd)])];return{..._0x3f2a5c,'path':joinRoute(_0x409bf1,_0x3f2a5c[_0x558dbf(0x20b)]['startsWith']('/')?_0x3f2a5c[_0x558dbf(0x20b)][_0x558dbf(0x1f2)](0x1):_0x3f2a5c[_0x558dbf(0x20b)]),'params':_0x57f757,'body':_0x32fe31?.[_0x558dbf(0x2b2)],'query':_0x32fe31?.[_0x558dbf(0x169)],'routeParams':_0x32fe31?.[_0x558dbf(0x199)],'public':isRoutePublic(_0x3f8730,_0x3f2a5c[_0x558dbf(0x2bd)]),'ignorePerms':isRouteIgnorePerms(_0x3f8730,_0x3f2a5c[_0x558dbf(0x2bd)]),'perms':getRoutePerms(_0x3f8730,_0x3f2a5c['handler']),'middleware':_0x571445[_0x558dbf(0x27f)]?_0x571445:undefined};})}),Reflect[_0x23cda7(0x121)](ROUTES_PENDING_KEY,_0x3f8730),clearRouteParams(_0x3f8730),clearRoutePublic(_0x3f8730),clearRouteMiddleware(_0x3f8730),clearRoutePerms(_0x3f8730),clearRouteIgnorePerms(_0x3f8730);};}function Use(..._0x10650b){return(_0x193311,_0x4f8e6c)=>{const _0x19c73d=_0x285b,_0x1e1db2=_0x193311[_0x19c73d(0x214)];appendRouteMiddleware(_0x1e1db2,String(_0x4f8e6c),_0x10650b);};}function createMethodDecorator(_0x2cb5ff){return(_0x106c78='',_0x294168)=>(_0x5328c8,_0x1cc70f)=>{const _0x1bdd09=_0x285b,_0x152a7a=_0x5328c8[_0x1bdd09(0x214)];appendPendingRoute(_0x152a7a,{'method':_0x2cb5ff,'path':_0x106c78,'handler':String(_0x1cc70f),'summary':_0x294168?.[_0x1bdd09(0x193)]});};}function Public(){return(_0x197162,_0x599605)=>{const _0x41efd7=_0x285b,_0x598217=_0x197162[_0x41efd7(0x214)];markRoutePublic(_0x598217,String(_0x599605));};}function Perms(..._0x1224e9){return(_0x36b4fe,_0x1300a4)=>{const _0x2cfb86=_0x36b4fe['constructor'];setRoutePerms(_0x2cfb86,String(_0x1300a4),_0x1224e9);};}function IgnorePerms(){return(_0x5eef85,_0x4ef33d)=>{const _0x18c976=_0x285b,_0x4d2f2b=_0x5eef85[_0x18c976(0x214)];markRouteIgnorePerms(_0x4d2f2b,String(_0x4ef33d));};}var Body=createParamDecorator(_0x491718(0x2b2)),Query=createParamDecorator(_0x491718(0x169)),Param=createParamDecorator(_0x491718(0x199)),Get=createMethodDecorator(_0x491718(0x229)),Post=createMethodDecorator(_0x491718(0x2fc)),Put=createMethodDecorator(_0x491718(0x2b0)),Delete=createMethodDecorator(_0x491718(0x287)),Patch=createMethodDecorator(_0x491718(0x152));class BasePlugin{[_0x491718(0x1fb)];[_0x491718(0x267)];[_0x491718(0x27a)];[_0x491718(0x243)];async[_0x491718(0x132)](_0x3d448f,_0x273eaf,_0x112f60,_0x1130c9){const _0x54e7f3=_0x491718;this[_0x54e7f3(0x1fb)]=_0x3d448f,this[_0x54e7f3(0x267)]=_0x273eaf,this[_0x54e7f3(0x27a)]=_0x1130c9?.['cache'],this[_0x54e7f3(0x243)]=_0x1130c9?.[_0x54e7f3(0x243)],await this[_0x54e7f3(0x2a0)]();}async[_0x491718(0x2a0)](){}}import{existsSync,readFileSync}from'fs';import{createRequire}from'module';import{join as _0x2deedd}from'path';import{createHash}from'crypto';import{homedir}from'os';import{join as _0x1f2180}from'path';function pDataPath(){const _0x527dc2=_0x491718,_0x4f4001=createHash(_0x527dc2(0x21b))[_0x527dc2(0x143)](String(VomeConfig[_0x527dc2(0x26c)]??_0x527dc2(0x1f8)))[_0x527dc2(0x1e8)](_0x527dc2(0x260));return _0x1f2180(homedir(),'.vome',_0x4f4001);}function pPluginPath(){const _0xe077b1=_0x491718;return _0x1f2180(pDataPath(),_0xe077b1(0x20c));}function pModulesPath(){return _0x1f2180(pDataPath(),'modules');}function pModulePath(_0x32922e){return _0x1f2180(pModulesPath(),_0x32922e);}var hostRequire=createRequire(import.meta.url);function pluginRequire(_0x437e3a){if(_0x437e3a==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire(_0x437e3a);}function loadPluginClass(_0x7ec7fa){const _0x58c42a=_0x491718;try{const _0x45ca31=_0x7ec7fa[_0x58c42a(0x1ba)](/export\s+const\s+Plugin\s*=/g,_0x58c42a(0x2da))['replace'](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')[_0x58c42a(0x1ba)](/export\s+const\s+handlers\s*=/g,_0x58c42a(0x2e5))['replace'](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')[_0x58c42a(0x1ba)](/export\s+class\s+(\w+)/g,'class\x20$1')[_0x58c42a(0x1ba)](/export\s+default\s+/g,'')[_0x58c42a(0x1ba)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x58c42a(0x1ba)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x58c42a(0x1ba)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,_0x58c42a(0x282)),_0x39d3d4=new Function(_0x58c42a(0x253),_0x58c42a(0x195),'module',_0x58c42a(0x123),_0x45ca31+_0x58c42a(0x2e3)),_0x51a6ca={'exports':{}};return _0x39d3d4(BasePlugin,pluginRequire,_0x51a6ca,_0x51a6ca['exports']);}catch(_0x416a7a){throw new Error(_0x58c42a(0x306)+(_0x416a7a instanceof Error?_0x416a7a[_0x58c42a(0x1f3)]:String(_0x416a7a)));}}function readPluginScript(_0x1216cf){const _0x4b85bf=_0x491718,_0x3cf2df=_0x2deedd(pModulePath(_0x1216cf),_0x4b85bf(0x2bf),_0x4b85bf(0x2d0));if(existsSync(_0x3cf2df))return readFileSync(_0x3cf2df,_0x4b85bf(0x304));const _0x3f590c=_0x2deedd(pPluginPath(),_0x1216cf);if(!existsSync(_0x3f590c))return;try{const _0x4b467e=JSON[_0x4b85bf(0x241)](readFileSync(_0x3f590c,_0x4b85bf(0x304)));return _0x4b467e[_0x4b85bf(0x261)]?.[_0x4b85bf(0x194)];}catch{return;}}import{existsSync as _0x400c13,readFileSync as _0x5c4dfe,readdirSync as _0x3fb57f,statSync}from'fs';import{createRequire as _0x4b70bc}from'module';import{join as _0x254b4b}from'path';var registry2=new Map(),hostRequire2=_0x4b70bc(import.meta.url);function pluginRequire2(_0x151b26){if(_0x151b26==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire2(_0x151b26);}function normalizePath(_0xdbfe00){const _0x55ca98=_0x491718,_0x1ad0c5=_0xdbfe00[_0x55ca98(0x1ff)]('/')?_0xdbfe00:'/'+_0xdbfe00;return _0x1ad0c5['replace'](/\/+$/,'')||'/';}function normalizeMethod(_0x479278){const _0x26af23=_0x491718;return _0x479278[_0x26af23(0x26d)]();}function normalizeModuleScript(_0x141ade){const _0x11754c=_0x491718;return _0x141ade['replace'](/export\s+const\s+handlers\s*=/g,'var\x20handlers\x20=')[_0x11754c(0x1ba)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')[_0x11754c(0x1ba)](/export\s+default\s+\{/g,_0x11754c(0x308))[_0x11754c(0x1ba)](/export\s+const\s+Plugin\s*=/g,_0x11754c(0x2da))[_0x11754c(0x1ba)](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')['replace'](/export\s+class\s+(\w+)/g,_0x11754c(0x12b))[_0x11754c(0x1ba)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x11754c(0x1ba)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x11754c(0x1ba)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,'({\x20BasePlugin\x20})');}function loadModuleHandlers(_0x2752df,_0x20c2e0=!![]){const _0x518ffd=_0x491718,_0x48d905=normalizeModuleScript(_0x2752df),_0x384517=new Function('BasePlugin','require',_0x518ffd(0x27c),_0x518ffd(0x123),_0x48d905+_0x518ffd(0x2ce)),_0xde10f1={'exports':{}},_0x241af1=_0x384517(BasePlugin,pluginRequire2,_0xde10f1,_0xde10f1['exports']);if(!_0x241af1||typeof _0x241af1!==_0x518ffd(0x264)){if(_0x20c2e0)throw new Error('missing\x20export\x20handlers');return{};}return _0x241af1;}var ModuleRegistry={'get'(_0x2d12a3){const _0x21597c=_0x491718;return registry2[_0x21597c(0x179)](_0x2d12a3);},'list'(){const _0x50defa=_0x491718;return[...registry2[_0x50defa(0x19d)]()][_0x50defa(0x23d)](([_0x2df723,_0x4f0a89])=>({'key':_0x2df723,'manifest':_0x4f0a89['manifest'],'routes':_0x4f0a89[_0x50defa(0x2c1)]}));},'load'(_0x105ca8){const _0x4ac123=_0x491718;if(!_0x105ca8||!/^[a-zA-Z0-9_-]+$/[_0x4ac123(0x2db)](_0x105ca8))throw new Error(_0x4ac123(0x299)+_0x105ca8);const _0x5ed018=pModulePath(_0x105ca8),_0x50f993=_0x254b4b(_0x5ed018,_0x4ac123(0x2dd));if(!_0x400c13(_0x50f993))throw new Error(_0x4ac123(0x2a3)+_0x105ca8);const _0x4cc5d5=JSON[_0x4ac123(0x241)](_0x5c4dfe(_0x50f993,'utf8')),_0x3ab213=(_0x4cc5d5[_0x4ac123(0x2c1)]??[])['map'](_0x1c4a6f=>({..._0x1c4a6f,'method':normalizeMethod(_0x1c4a6f[_0x4ac123(0x2a4)]),'path':normalizePath(_0x1c4a6f['path'])}));let _0x4cfdb3={};const _0x4df3ad=_0x254b4b(_0x5ed018,_0x4ac123(0x2bf),_0x4ac123(0x2d0));if(_0x400c13(_0x4df3ad)){const _0x4bfb4d=_0x5c4dfe(_0x4df3ad,_0x4ac123(0x304));_0x4cfdb3=loadModuleHandlers(_0x4bfb4d,_0x3ab213[_0x4ac123(0x27f)]>0x0);for(const _0x5ccfdb of _0x3ab213){if(typeof _0x4cfdb3[_0x5ccfdb[_0x4ac123(0x2bd)]]!==_0x4ac123(0x160))throw new Error(_0x4ac123(0x2d7)+_0x105ca8+'\x20缺少\x20handler:\x20'+_0x5ccfdb['handler']);}}else{if(_0x3ab213[_0x4ac123(0x27f)])throw new Error(_0x4ac123(0x2d7)+_0x105ca8+_0x4ac123(0x274));}return registry2['set'](_0x105ca8,{'manifest':_0x4cc5d5,'handlers':_0x4cfdb3,'routes':_0x3ab213}),registry2[_0x4ac123(0x179)](_0x105ca8);},'unload'(_0x1b5608){const _0x2cfcd8=_0x491718;registry2[_0x2cfcd8(0x18a)](_0x1b5608);},async 'dispatch'(_0x171958,_0x490f79,_0xcf6633,_0xe64f21){const _0x2eb903=_0x491718,_0x5a5b2a=registry2[_0x2eb903(0x179)](_0x171958);if(!_0x5a5b2a)return{'ok':![],'status':0x194,'message':_0x2eb903(0x307)};const _0x51aa51=normalizeMethod(_0x490f79),_0x1f30cf=normalizePath(_0xcf6633),_0x4b9a12=_0x5a5b2a[_0x2eb903(0x2c1)][_0x2eb903(0x1ce)](_0x4b5e13=>_0x4b5e13[_0x2eb903(0x2a4)]===_0x51aa51&&_0x4b5e13[_0x2eb903(0x20b)]===_0x1f30cf);if(!_0x4b9a12)return{'ok':![],'status':0x194,'message':_0x2eb903(0x18e)};const _0x11605f=_0x5a5b2a[_0x2eb903(0x2af)][_0x4b9a12[_0x2eb903(0x2bd)]];if(typeof _0x11605f!=='function')return{'ok':![],'status':0x1f4,'message':_0x2eb903(0x236)+_0x4b9a12[_0x2eb903(0x2bd)]};try{const _0x2d011e=await _0x11605f(_0xe64f21);return{'ok':!![],'data':_0x2d011e,'route':_0x4b9a12};}catch(_0x5ac65d){const _0x39d49e=_0x5ac65d instanceof Error?_0x5ac65d[_0x2eb903(0x1f3)]:String(_0x5ac65d);return{'ok':![],'status':0x1f4,'message':_0x39d49e,'route':_0x4b9a12};}},'bootstrap'(){const _0x34959d=_0x491718,_0x54e8a5=pModulesPath();if(!_0x400c13(_0x54e8a5))return;for(const _0x121897 of _0x3fb57f(_0x54e8a5)){const _0x3a3261=_0x254b4b(_0x54e8a5,_0x121897);if(!statSync(_0x3a3261)[_0x34959d(0x247)]())continue;if(!_0x400c13(_0x254b4b(_0x3a3261,_0x34959d(0x2dd))))continue;try{this[_0x34959d(0x242)](_0x121897),console[_0x34959d(0x2b8)](_0x34959d(0x224)+_0x121897);}catch(_0x5b972a){console[_0x34959d(0x175)](_0x34959d(0x231)+_0x121897+':',_0x5b972a instanceof Error?_0x5b972a[_0x34959d(0x1f3)]:_0x5b972a);}}}};import{existsSync as _0x45085e,statSync as _0x4ebf22}from'fs';import{join as _0x5ea4f0,normalize,sep}from'path';import{Elysia as _0x517a20}from'elysia';var PREFIX=_0x491718(0x2a9);function contentType(_0x47939e){const _0x19927c=_0x491718,_0x508960=_0x47939e[_0x19927c(0x1f5)]();if(_0x508960[_0x19927c(0x275)](_0x19927c(0x18d)))return'text/html;\x20charset=utf-8';if(_0x508960[_0x19927c(0x275)](_0x19927c(0x204))||_0x508960['endsWith'](_0x19927c(0x22b)))return _0x19927c(0x1b0);if(_0x508960[_0x19927c(0x275)](_0x19927c(0x12e)))return _0x19927c(0x27e);if(_0x508960['endsWith'](_0x19927c(0x144)))return _0x19927c(0x221);if(_0x508960['endsWith']('.svg'))return'image/svg+xml';if(_0x508960[_0x19927c(0x275)](_0x19927c(0x1b9)))return _0x19927c(0x259);if(_0x508960[_0x19927c(0x275)]('.jpg')||_0x508960[_0x19927c(0x275)]('.jpeg'))return _0x19927c(0x187);if(_0x508960[_0x19927c(0x275)](_0x19927c(0x15f)))return _0x19927c(0x17f);if(_0x508960[_0x19927c(0x275)](_0x19927c(0x30a)))return _0x19927c(0x27b);if(_0x508960['endsWith'](_0x19927c(0x29c)))return _0x19927c(0x21c);return'application/octet-stream';}var microApps=new _0x517a20({'name':_0x491718(0x1e5)})['get'](PREFIX+'/*',({params:_0x31a649,set:_0x12cd97})=>{const _0x56aac3=_0x491718,_0x4baaa2=String(_0x31a649['*']||''),_0x479e9c=_0x4baaa2[_0x56aac3(0x1a7)]('/')[_0x56aac3(0x251)](Boolean);if(!_0x479e9c[_0x56aac3(0x27f)])return _0x12cd97[_0x56aac3(0x168)]=0x194,_0x56aac3(0x26f);const _0x2f40e3=_0x479e9c[0x0];if(!/^[a-zA-Z0-9_-]+$/[_0x56aac3(0x2db)](_0x2f40e3))return _0x12cd97[_0x56aac3(0x168)]=0x190,_0x56aac3(0x290);const _0x318537=_0x5ea4f0(pModulePath(_0x2f40e3),'web');if(!_0x45085e(_0x318537)||!_0x4ebf22(_0x318537)[_0x56aac3(0x247)]())return _0x12cd97[_0x56aac3(0x168)]=0x194,_0x56aac3(0x2a6);let _0x2427bc=_0x479e9c[_0x56aac3(0x1f2)](0x1)['join']('/')||_0x56aac3(0x136);if(_0x2427bc[_0x56aac3(0x275)]('/'))_0x2427bc+=_0x56aac3(0x136);const _0x3e6f23=normalize(_0x5ea4f0(_0x318537,_0x2427bc));if(!_0x3e6f23[_0x56aac3(0x1ff)](_0x318537+sep)&&_0x3e6f23!==_0x318537)return _0x12cd97[_0x56aac3(0x168)]=0x193,_0x56aac3(0x201);let _0x57cab2=_0x3e6f23;_0x45085e(_0x57cab2)&&_0x4ebf22(_0x57cab2)[_0x56aac3(0x247)]()&&(_0x57cab2=_0x5ea4f0(_0x57cab2,'index.html'));if(!_0x45085e(_0x57cab2)||!_0x4ebf22(_0x57cab2)['isFile']())return _0x12cd97[_0x56aac3(0x168)]=0x194,'Not\x20Found';return _0x12cd97[_0x56aac3(0x1f0)][_0x56aac3(0x245)]=contentType(_0x57cab2),_0x12cd97[_0x56aac3(0x1f0)][_0x56aac3(0x20d)]=_0x56aac3(0x25c),_0x12cd97['headers'][_0x56aac3(0x181)]='*',Bun[_0x56aac3(0x11f)](_0x57cab2);});import{Elysia as _0x36f6d9}from'elysia';function ok(_0x27bafb){const _0x2dbe9a=_0x491718;return{'code':RES_CODE[_0x2dbe9a(0x2ac)],'message':_0x2dbe9a(0x28e),'data':_0x27bafb??null};}function fail(_0x1bb990,_0xdb0f9a=RES_CODE[_0x491718(0x133)]){return{'code':_0xdb0f9a,'message':_0x1bb990};}async function handleExt(_0x3afea7){const _0x2b0d89=_0x491718,_0x24ca3f=_0x3afea7[_0x2b0d89(0x199)][_0x2b0d89(0x182)];if(!_0x24ca3f||!/^[a-zA-Z0-9_-]+$/[_0x2b0d89(0x2db)](_0x24ca3f))return _0x3afea7[_0x2b0d89(0x200)][_0x2b0d89(0x168)]=0x190,fail('\u975E\u6CD5\u6A21\u5757\x20key');const _0x32b30b=String(_0x3afea7['params']['*']||''),_0x4d0e80=('/'+_0x32b30b)[_0x2b0d89(0x1ba)](/\/+/g,'/'),_0x13bc07=Context[_0x2b0d89(0x179)](),_0x27cc41=ModuleRegistry[_0x2b0d89(0x179)](_0x24ca3f);if(!_0x27cc41)return _0x3afea7['set'][_0x2b0d89(0x168)]=0x194,fail(_0x2b0d89(0x117));const _0x5c9b55=_0x3afea7[_0x2b0d89(0x177)]['method'][_0x2b0d89(0x26d)](),_0x5a2388=_0x4d0e80[_0x2b0d89(0x1ba)](/\/+$/,'')||'/',_0x442198=_0x27cc41[_0x2b0d89(0x2c1)][_0x2b0d89(0x1ce)](_0x252217=>_0x252217[_0x2b0d89(0x2a4)]===_0x5c9b55&&_0x252217[_0x2b0d89(0x20b)]===_0x5a2388);if(!_0x442198)return _0x3afea7[_0x2b0d89(0x200)][_0x2b0d89(0x168)]=0x194,fail('\u8DEF\u7531\u4E0D\u5B58\u5728');if(_0x442198[_0x2b0d89(0x278)]&&!_0x13bc07?.['isSuper']){const _0x32a499=_0x13bc07?.[_0x2b0d89(0x278)]??[];if(!_0x32a499[_0x2b0d89(0x176)](_0x442198[_0x2b0d89(0x278)]))return _0x3afea7[_0x2b0d89(0x168)](0x193);}const _0xa502c0=await ModuleRegistry[_0x2b0d89(0x2b3)](_0x24ca3f,_0x5c9b55,_0x4d0e80,{'body':_0x3afea7[_0x2b0d89(0x2b2)],'query':_0x3afea7[_0x2b0d89(0x169)]??{},'params':_0x3afea7[_0x2b0d89(0x199)],'headers':_0x3afea7[_0x2b0d89(0x177)][_0x2b0d89(0x1f0)],'adminId':_0x13bc07?.['adminId']});if(!_0xa502c0['ok'])return _0x3afea7['set']['status']=_0xa502c0['status'],fail(_0xa502c0[_0x2b0d89(0x1f3)]);return ok(_0xa502c0[_0x2b0d89(0x194)]);}function createModuleGateway(_0x294bb0){const _0x17bf11=_0x491718;return new _0x36f6d9({'name':_0x17bf11(0x21d)})[_0x17bf11(0x1b8)](_0x294bb0['adminAuth'])[_0x17bf11(0x19c)]('/admin/ext/:key/*',handleExt,{'adminAuth':!![]})[_0x17bf11(0x19c)](_0x17bf11(0x258),handleExt,{'adminAuth':!![]});}import{Elysia as _0x1d0caf}from'elysia';function defineAuthMacro(_0x1268e5,_0x84143a){const _0x2689c6=_0x491718;return new _0x1d0caf({'name':_0x1268e5+_0x2689c6(0x29e)})[_0x2689c6(0x1c2)]({[_0x1268e5]:{'resolve':_0x84143a}})['as'](_0x2689c6(0x13e));}var package_default={'name':_0x491718(0x2c7),'version':'0.0.14','description':_0x491718(0x2e0),'license':_0x491718(0x234),'type':_0x491718(0x27c),'files':['dist',_0x491718(0x1a8),_0x491718(0x196)],'main':'./dist/index.js','types':_0x491718(0x22e),'exports':{'.':{'types':_0x491718(0x22e),'import':_0x491718(0x170),'default':'./dist/index.js'},'./server':{'types':_0x491718(0x268),'import':_0x491718(0x2df),'default':_0x491718(0x2df)},'./admin':{'types':_0x491718(0x2a7),'import':'./dist/admin/index.js','default':_0x491718(0x18c)},'./admin/*':_0x491718(0x1cb),'./admin/styles/base.css':_0x491718(0x2f9),'./typings/*':'./typings/admin/*'},'scripts':{'build:server':_0x491718(0x167),'build:admin':'bun\x20scripts/build-admin.ts','build':_0x491718(0x1e3),'obfuscate':_0x491718(0x16e),'build:obfuscate':_0x491718(0x1e6),'prepublishOnly':'bun\x20run\x20build:obfuscate'},'peerDependencies':{'elysia':_0x491718(0x154),'reflect-metadata':_0x491718(0x192),'drizzle-orm':_0x491718(0x134),'drizzle-zod':_0x491718(0x1a0),'vue':_0x491718(0x26b),'vue-router':_0x491718(0x279),'pinia':_0x491718(0x1b3),'vue-sonner':'>=2.0.0','@vueuse/core':_0x491718(0x265),'clsx':'>=2.0.0','tailwind-merge':_0x491718(0x1b3),'dompurify':_0x491718(0x12d),'marked':_0x491718(0x149)},'peerDependenciesMeta':{'drizzle-orm':{'optional':!![]},'drizzle-zod':{'optional':!![]},'vue':{'optional':!![]},'vue-router':{'optional':!![]},'pinia':{'optional':!![]},'vue-sonner':{'optional':!![]},'@vueuse/core':{'optional':!![]},'clsx':{'optional':!![]},'tailwind-merge':{'optional':!![]},'dompurify':{'optional':!![]},'marked':{'optional':!![]}},'devDependencies':{'bun-types':_0x491718(0x270),'drizzle-orm':_0x491718(0x270),'drizzle-zod':_0x491718(0x2f4),'elysia':'latest','javascript-obfuscator':_0x491718(0x2d8),'reflect-metadata':_0x491718(0x1f1),'typescript':'latest'},'dependencies':{'@bogeychan/elysia-logger':'^0.1.10','@elysiajs/openapi':_0x491718(0x244),'pino':_0x491718(0x2e2),'pino-pretty':_0x491718(0x28b)}},version=package_default[_0x491718(0x263)];export{vome,version,tableHasDepartmentId,syncColumnCommentsToPg,scanFiles,resolveTenantScope,resolveDataScope,readPluginScript,q,pPluginPath,pModulesPath,pModulePath,pDataPath,normalizeHost,noTenant,noDataScope,microApps,loadPluginClass,loadModuleHandlers,listProviders,listControllers,isTenantEnabled,isEpsEnabled,isCommException,getRepository,getEnv,getColumnComments,entitySchemas,defineAuthMacro,createModuleGateway,columnComments,baseColumns,attachCrudRoutes,applyRowScopes,applyDataScopeWhere,appendInjectMeta,VomeConfig,Use,ScopeEnum,Repository,RES_CODE,Query,Put,Public,Provide,Post,Perms,Patch,Param,ModuleRegistry,Logger,Ioc,InjectRepository,Inject,IgnorePerms,Get,Eps,Delete,DbStore,Controller,Context,CommException,Body,BaseService,BasePlugin,BaseController,BASE_COLUMN_COMMENTS,App};
1
+ const _0x160996=_0x44c2;(function(_0xd2cbaf,_0x530130){const _0x365912=_0x44c2,_0x2e5c71=_0xd2cbaf();while(!![]){try{const _0x1239cd=parseInt(_0x365912(0x283))/0x1*(-parseInt(_0x365912(0x18e))/0x2)+-parseInt(_0x365912(0x19d))/0x3+-parseInt(_0x365912(0x1c1))/0x4+parseInt(_0x365912(0x122))/0x5*(parseInt(_0x365912(0x16e))/0x6)+-parseInt(_0x365912(0x23f))/0x7+-parseInt(_0x365912(0x259))/0x8+parseInt(_0x365912(0x25a))/0x9;if(_0x1239cd===_0x530130)break;else _0x2e5c71['push'](_0x2e5c71['shift']());}catch(_0x183f0c){_0x2e5c71['push'](_0x2e5c71['shift']());}}}(_0x32de,0x3e0d0));import{join}from'path';import{pathToFileURL}from'url';function getEnv(){const _0x50d6ee=_0x44c2;return Bun[_0x50d6ee(0x18d)][_0x50d6ee(0x2a7)]===_0x50d6ee(0x29a)?_0x50d6ee(0x29a):_0x50d6ee(0x302);}function merge(_0x4a44c6,_0x1d998b){const _0x2f37b0=_0x44c2,_0x5a3004={..._0x4a44c6};for(const _0x12d361 of Object[_0x2f37b0(0x28f)](_0x1d998b)){const _0x724f80=_0x5a3004[_0x12d361],_0x2e630b=_0x1d998b[_0x12d361];if(_0x724f80&&_0x2e630b&&typeof _0x724f80==='object'&&typeof _0x2e630b===_0x2f37b0(0x156)&&!Array['isArray'](_0x724f80)&&!Array[_0x2f37b0(0x2c1)](_0x2e630b)){_0x5a3004[_0x12d361]=merge(_0x724f80,_0x2e630b);continue;}_0x5a3004[_0x12d361]=_0x2e630b;}return _0x5a3004;}async function loadConfig(_0x2161cd=join(process[_0x160996(0x1d4)](),_0x160996(0x2fc))){const _0x20d4ba=_0x160996,_0x4c2af4=getEnv()===_0x20d4ba(0x29a)?_0x20d4ba(0x217):'prod.ts',_0x4921c2=await import(pathToFileURL(join(_0x2161cd,_0x20d4ba(0x2c0)))[_0x20d4ba(0x21d)]),_0x10ff4b=await import(pathToFileURL(join(_0x2161cd,_0x4c2af4))['href']);return merge(_0x4921c2[_0x20d4ba(0x2b0)],_0x10ff4b['default']);}var VomeConfig=await loadConfig();import{Elysia as _0x5490da}from'elysia';import{Elysia}from'elysia';import{AsyncLocalStorage}from'async_hooks';var storage=new AsyncLocalStorage(),warnedOutsideRequest=![];function resolveClientIp(_0x47222d){const _0x495dc1=_0x160996,_0x218507=_0x47222d[_0x495dc1(0x1ae)]['get'](_0x495dc1(0x206));if(_0x218507){const _0xebdf39=_0x218507['split'](',')[0x0]?.[_0x495dc1(0x193)]();if(_0xebdf39)return _0xebdf39;}return _0x47222d[_0x495dc1(0x1ae)][_0x495dc1(0x2d1)](_0x495dc1(0x1a9))?.[_0x495dc1(0x193)]()||_0x47222d[_0x495dc1(0x1ae)][_0x495dc1(0x2d1)](_0x495dc1(0x2e2))?.[_0x495dc1(0x193)]()||'';}function initContextFromRequest(_0x4a568c){const _0x50653a=_0x160996,_0x17c123=new URL(_0x4a568c[_0x50653a(0x238)]),_0x3c47b2=_0x4a568c['headers'][_0x50653a(0x2d1)](_0x50653a(0x2c7))?.[_0x50653a(0x22a)](',')[0x0]?.[_0x50653a(0x193)](),_0x4aef27=_0x4a568c[_0x50653a(0x1ae)][_0x50653a(0x2d1)]('host')?.['trim']();return{'requestId':crypto['randomUUID'](),'method':_0x4a568c[_0x50653a(0x276)],'path':_0x17c123[_0x50653a(0x132)],'ip':resolveClientIp(_0x4a568c),'host':_0x3c47b2||_0x4aef27||_0x17c123[_0x50653a(0x1c8)],'startTime':Date['now']()};}function enterContextWith(_0x5af75d){const _0x4ba1cd=_0x160996;storage[_0x4ba1cd(0x304)](_0x5af75d);}function getContext(){const _0x485120=_0x160996;return storage[_0x485120(0x223)]();}function assignContext(_0xaf6a7c){const _0x31c429=_0x160996,_0x1e4395=storage['getStore']();if(!_0x1e4395){getEnv()===_0x31c429(0x29a)&&!warnedOutsideRequest&&(warnedOutsideRequest=!![],console[_0x31c429(0x21b)](_0x31c429(0x21c)));return;}Object[_0x31c429(0x1ca)](_0x1e4395,_0xaf6a7c);}function runContext(_0x193a47,_0x524ccb){const _0x41ba13=_0x160996;return storage[_0x41ba13(0x155)](_0x193a47,_0x524ccb);}var Context=Object[_0x160996(0x1ca)](assignContext,{'get':getContext,'run':runContext});import'reflect-metadata';var INJECT_METADATA_KEY=_0x160996(0x2b7),providers=new Map();function registerProvider(_0x185a0f){const _0x4c8e7e=_0x160996;providers[_0x4c8e7e(0x309)](_0x185a0f[_0x4c8e7e(0x2a4)],_0x185a0f);}function getProvider(_0x2a0848){const _0xe4cb3d=_0x160996;return providers[_0xe4cb3d(0x2d1)](_0x2a0848);}function listProviders(){const _0x502f0f=_0x160996,_0x1540f4=new Set(),_0x2fb82f=[];for(const _0x2a82ad of providers[_0x502f0f(0x21e)]()){if(_0x1540f4[_0x502f0f(0x263)](_0x2a82ad[_0x502f0f(0x300)]))continue;_0x1540f4[_0x502f0f(0x2f0)](_0x2a82ad[_0x502f0f(0x300)]),_0x2fb82f[_0x502f0f(0x2e6)](_0x2a82ad);}return _0x2fb82f;}function tokenLabel(_0x57e51d){const _0x657d4=_0x160996;if(typeof _0x57e51d==='string'||typeof _0x57e51d===_0x657d4(0x235))return String(_0x57e51d);return _0x57e51d[_0x657d4(0x179)]||_0x657d4(0x273);}function appendInjectMeta(_0x1714a9,_0x3d91a3){const _0x13f15a=_0x160996,_0x47b14e=Reflect['getMetadata'](INJECT_METADATA_KEY,_0x1714a9)??[];_0x47b14e[_0x13f15a(0x2e6)](_0x3d91a3),Reflect[_0x13f15a(0x1b9)](INJECT_METADATA_KEY,_0x47b14e,_0x1714a9);}function getInjectMetas(_0x16c98f){const _0x48001f=_0x160996;return Reflect[_0x48001f(0x1fc)](INJECT_METADATA_KEY,_0x16c98f)??[];}function resetProviders(){const _0x23f24d=_0x160996;providers[_0x23f24d(0x216)]();}var ScopeEnum;(_0x15a32f=>{const _0x3e1ce4=_0x160996;_0x15a32f[_0x3e1ce4(0x1c0)]=_0x3e1ce4(0x236),_0x15a32f[_0x3e1ce4(0x210)]=_0x3e1ce4(0x120),_0x15a32f[_0x3e1ce4(0x226)]=_0x3e1ce4(0x26c);})(ScopeEnum||={});var singletons=new Map(),creating=new Set(),requestCaches=new WeakMap();function injectProperties(_0x51431f,_0x25cfb7){const _0x3410dc=_0x160996;for(const _0x4c87e4 of getInjectMetas(_0x25cfb7)){const {propertyKey:_0x4ab560,token:_0x2ea92f,resolve:_0x454e14}=_0x4c87e4;if(!_0x454e14&&_0x2ea92f==null)throw new Error('[Ioc]\x20'+String(_0x4ab560)+_0x3410dc(0x1ab));const _0x35eeb3=_0x454e14?_0x454e14():Ioc[_0x3410dc(0x2d1)](_0x2ea92f);_0x51431f[_0x4ab560]=_0x35eeb3;const _0x4bded2=_0x51431f[_0x3410dc(0x1cf)];_0x454e14&&typeof _0x4bded2===_0x3410dc(0x2d3)&&_0x4bded2[_0x3410dc(0x2ed)](_0x51431f,_0x35eeb3);}}function createInstance(_0x2d4e4d){const _0x2060ec=_0x160996;if(creating['has'](_0x2d4e4d))throw new Error(_0x2060ec(0x22f)+_0x2d4e4d['name']);creating[_0x2060ec(0x2f0)](_0x2d4e4d);try{const _0x4d3257=new _0x2d4e4d();return injectProperties(_0x4d3257,_0x2d4e4d),_0x4d3257;}finally{creating[_0x2060ec(0x2c6)](_0x2d4e4d);}}function getSingleton(_0x534927){const _0x428de8=_0x160996,_0x4e92d5=singletons[_0x428de8(0x2d1)](_0x534927);if(_0x4e92d5)return _0x4e92d5;const _0x2e4496=createInstance(_0x534927);return singletons[_0x428de8(0x309)](_0x534927,_0x2e4496),_0x2e4496;}function getRequestCache(){const _0x17be75=_0x160996,_0x380fe8=Context['get']();if(!_0x380fe8)throw new Error(_0x17be75(0x29f));let _0x5e41d7=requestCaches['get'](_0x380fe8);return!_0x5e41d7&&(_0x5e41d7=new Map(),requestCaches[_0x17be75(0x309)](_0x380fe8,_0x5e41d7)),_0x5e41d7;}function getRequestScoped(_0x4006d2){const _0x21e951=_0x160996,_0x547410=getRequestCache(),_0x2abfb8=_0x547410[_0x21e951(0x2d1)](_0x4006d2);if(_0x2abfb8)return _0x2abfb8;const _0x3cbe55=createInstance(_0x4006d2);return _0x547410[_0x21e951(0x309)](_0x4006d2,_0x3cbe55),_0x3cbe55;}function resolveByScope(_0x64beab,_0x721073){const _0xaafa1f=_0x160996;switch(_0x721073){case _0xaafa1f(0x236):return getSingleton(_0x64beab);case _0xaafa1f(0x26c):return createInstance(_0x64beab);case _0xaafa1f(0x120):return getRequestScoped(_0x64beab);default:throw new Error('[Ioc]\x20未知作用域:\x20'+_0x721073);}}function resolveMeta(_0x22e794){const _0xf97ca5=_0x160996,_0x54629=getProvider(_0x22e794);if(!_0x54629)throw new Error(_0xf97ca5(0x264)+tokenLabel(_0x22e794));return _0x54629;}function bootstrapIoc(){const _0x3e3292=_0x160996;for(const {useClass:_0x4d86c2,scope:_0x2b5961}of listProviders()){_0x2b5961===_0x3e3292(0x236)&&getSingleton(_0x4d86c2);}console[_0x3e3292(0x230)]('[Ioc]\x20bootstrap\x20←\x20'+singletons[_0x3e3292(0x14c)]+_0x3e3292(0x1a3));}function get(_0x1243e){const _0x3a9272=_0x160996,_0x4eae16=resolveMeta(_0x1243e);return resolveByScope(_0x4eae16[_0x3a9272(0x300)],_0x4eae16[_0x3a9272(0x18b)]);}function set(_0x55164a,_0x46ede7){const _0x4f67f6=_0x160996;if(typeof _0x55164a===_0x4f67f6(0x2d3)){registerProvider({'token':_0x55164a,'useClass':_0x55164a,'scope':_0x4f67f6(0x236)}),singletons['set'](_0x55164a,_0x46ede7);return;}const _0x4c5503=_0x46ede7?.['constructor'];if(!_0x4c5503||_0x4c5503===Object)throw new Error(_0x4f67f6(0x2c9)+tokenLabel(_0x55164a)+_0x4f67f6(0x2b9));registerProvider({'token':_0x55164a,'useClass':_0x4c5503,'scope':'singleton'}),registerProvider({'token':_0x4c5503,'useClass':_0x4c5503,'scope':'singleton'}),singletons[_0x4f67f6(0x309)](_0x4c5503,_0x46ede7);}function resetIoc(){const _0x5da381=_0x160996;singletons[_0x5da381(0x216)](),creating[_0x5da381(0x216)](),resetProviders();}var Ioc={'get':get,'set':set};import'reflect-metadata';var controllers=new Map();function registerController(_0x330b27){const _0x521ca4=_0x160996;controllers['set'](_0x330b27[_0x521ca4(0x2a4)],_0x330b27);}function listControllers(_0x1a4aba){const _0x4927e0=_0x160996,_0x1f4297=[...controllers[_0x4927e0(0x21e)]()];return _0x1a4aba?_0x1f4297[_0x4927e0(0x1fa)](_0x427056=>_0x427056[_0x4927e0(0x26b)]===_0x1a4aba):_0x1f4297;}var ROUTE_PARAMS_KEY=_0x160996(0x270),ROUTE_PUBLIC_KEY='vome:controller:route-public',ROUTE_MW_KEY='vome:controller:route-middleware',ROUTE_PERMS_KEY=_0x160996(0x17d),ROUTE_IGNORE_PERMS_KEY=_0x160996(0x1fd);function appendRouteParam(_0x7e3b47,_0xa4dace,_0x37504e){const _0x4d8fe4=_0x160996,_0x4943da=Reflect[_0x4d8fe4(0x1fc)](ROUTE_PARAMS_KEY,_0x7e3b47)??{},_0x2b446=_0x4943da[_0xa4dace]??[];_0x2b446[_0x4d8fe4(0x2e6)](_0x37504e),_0x4943da[_0xa4dace]=_0x2b446,Reflect[_0x4d8fe4(0x1b9)](ROUTE_PARAMS_KEY,_0x4943da,_0x7e3b47);}function getRouteParams(_0x56ad1d,_0x532825){const _0x4f727d=_0x160996,_0x4dabab=Reflect[_0x4f727d(0x1fc)](ROUTE_PARAMS_KEY,_0x56ad1d);return _0x4dabab?.[_0x532825]??[];}function clearRouteParams(_0xacc209){const _0x17e59c=_0x160996;Reflect[_0x17e59c(0x2f3)](ROUTE_PARAMS_KEY,_0xacc209);}function markRoutePublic(_0x3658a3,_0x4cc10d){const _0x4b0a3e=_0x160996,_0x413e42=Reflect[_0x4b0a3e(0x1fc)](ROUTE_PUBLIC_KEY,_0x3658a3)??{};_0x413e42[_0x4cc10d]=!![],Reflect[_0x4b0a3e(0x1b9)](ROUTE_PUBLIC_KEY,_0x413e42,_0x3658a3);}function isRoutePublic(_0x23be7d,_0x41d576){const _0x1a06ea=_0x160996,_0x422344=Reflect[_0x1a06ea(0x1fc)](ROUTE_PUBLIC_KEY,_0x23be7d);return!!_0x422344?.[_0x41d576];}function clearRoutePublic(_0x301fcd){const _0x5bfa50=_0x160996;Reflect[_0x5bfa50(0x2f3)](ROUTE_PUBLIC_KEY,_0x301fcd);}function appendRouteMiddleware(_0x1f57a2,_0x4c8f13,_0x93ff94){const _0x3ff3e0=_0x160996,_0x292524=Reflect[_0x3ff3e0(0x1fc)](ROUTE_MW_KEY,_0x1f57a2)??{};_0x292524[_0x4c8f13]=[..._0x292524[_0x4c8f13]??[],..._0x93ff94],Reflect[_0x3ff3e0(0x1b9)](ROUTE_MW_KEY,_0x292524,_0x1f57a2);}function getRouteMiddleware(_0x4b404f,_0xd26d2){const _0x3e3532=_0x160996,_0x269f64=Reflect[_0x3e3532(0x1fc)](ROUTE_MW_KEY,_0x4b404f);return _0x269f64?.[_0xd26d2]??[];}function clearRouteMiddleware(_0x53bab6){const _0x5634d5=_0x160996;Reflect[_0x5634d5(0x2f3)](ROUTE_MW_KEY,_0x53bab6);}function setRoutePerms(_0x392add,_0x495275,_0x5c92ae){const _0x1bfa06=_0x160996,_0x28c6ea=Reflect['getMetadata'](ROUTE_PERMS_KEY,_0x392add)??{};_0x28c6ea[_0x495275]=_0x5c92ae,Reflect[_0x1bfa06(0x1b9)](ROUTE_PERMS_KEY,_0x28c6ea,_0x392add);}function getRoutePerms(_0x4d8e00,_0x5120c7){const _0x5aa114=_0x160996,_0x4b9594=Reflect[_0x5aa114(0x1fc)](ROUTE_PERMS_KEY,_0x4d8e00);return _0x4b9594?.[_0x5120c7];}function clearRoutePerms(_0x191605){const _0x4a95f7=_0x160996;Reflect[_0x4a95f7(0x2f3)](ROUTE_PERMS_KEY,_0x191605);}function markRouteIgnorePerms(_0x2737e1,_0x12be42){const _0x57820a=_0x160996,_0x772672=Reflect[_0x57820a(0x1fc)](ROUTE_IGNORE_PERMS_KEY,_0x2737e1)??{};_0x772672[_0x12be42]=!![],Reflect[_0x57820a(0x1b9)](ROUTE_IGNORE_PERMS_KEY,_0x772672,_0x2737e1);}function isRouteIgnorePerms(_0x5cac82,_0x452d16){const _0x4f7bc8=_0x160996,_0xa44012=Reflect[_0x4f7bc8(0x1fc)](ROUTE_IGNORE_PERMS_KEY,_0x5cac82);return!!_0xa44012?.[_0x452d16];}function clearRouteIgnorePerms(_0x6979c){Reflect['deleteMetadata'](ROUTE_IGNORE_PERMS_KEY,_0x6979c);}function schemaFromParams(_0x5973e1){const _0x29512e=_0x160996,_0x4c0a7d={};for(const _0x5b06aa of _0x5973e1){if(_0x5b06aa[_0x29512e(0x151)]===_0x29512e(0x1f4)&&_0x5b06aa[_0x29512e(0x1e9)]!==undefined)_0x4c0a7d['body']=_0x5b06aa['schema'];if(_0x5b06aa[_0x29512e(0x151)]===_0x29512e(0x2a8)&&_0x5b06aa[_0x29512e(0x1e9)]!==undefined)_0x4c0a7d[_0x29512e(0x2a8)]=_0x5b06aa[_0x29512e(0x1e9)];if(_0x5b06aa['source']===_0x29512e(0x2a1)&&_0x5b06aa[_0x29512e(0x1e9)]!==undefined)_0x4c0a7d['params']=_0x5b06aa[_0x29512e(0x1e9)];}return Object[_0x29512e(0x28f)](_0x4c0a7d)[_0x29512e(0x13e)]>0x0?_0x4c0a7d:undefined;}function openApiTag(_0x52976e,_0x399a3b){return _0x52976e+'.'+_0x399a3b;}function sideOrder(_0x262a11){const _0xc9246e=_0x160996;if(_0x262a11===_0xc9246e(0x1dd))return 0x0;if(_0x262a11===_0xc9246e(0x215))return 0x1;return 0x2;}function parseTag(_0x51d77c){const _0x2f2ea6=_0x160996,_0x4f87e2=_0x51d77c[_0x2f2ea6(0x2c2)]('.');if(_0x4f87e2<0x0)return{'module':_0x51d77c,'side':''};return{'module':_0x51d77c['slice'](0x0,_0x4f87e2),'side':_0x51d77c['slice'](_0x4f87e2+0x1)};}function buildOpenApiTagDocs(){const _0x48495e=_0x160996,_0x1bd2f0=listControllers(),_0xcc3245=new Map(),_0x4cc7db=new Map();for(const _0x262e0a of _0x1bd2f0){const _0x1a12be=openApiTag(_0x262e0a[_0x48495e(0x233)],_0x262e0a[_0x48495e(0x26b)]);!_0xcc3245[_0x48495e(0x263)](_0x1a12be)&&_0xcc3245[_0x48495e(0x309)](_0x1a12be,{'name':_0x1a12be,'description':_0x262e0a[_0x48495e(0x233)]+'\x20'+_0x262e0a['side'],'x-displayName':_0x262e0a[_0x48495e(0x26b)]});let _0x4255e8=_0x4cc7db[_0x48495e(0x2d1)](_0x262e0a[_0x48495e(0x233)]);!_0x4255e8&&(_0x4255e8=new Set(),_0x4cc7db[_0x48495e(0x309)](_0x262e0a[_0x48495e(0x233)],_0x4255e8)),_0x4255e8[_0x48495e(0x2f0)](_0x1a12be);}const _0x46ed0b=[..._0xcc3245['values']()]['sort']((_0x586ab2,_0xcf1cc2)=>{const _0x34d220=_0x48495e,_0x34b49e=parseTag(_0x586ab2[_0x34d220(0x179)]),_0x105f37=parseTag(_0xcf1cc2[_0x34d220(0x179)]);return _0x34b49e['module'][_0x34d220(0x2d8)](_0x105f37['module'])||sideOrder(_0x34b49e[_0x34d220(0x26b)])-sideOrder(_0x105f37[_0x34d220(0x26b)]);}),_0x247996=[..._0x4cc7db[_0x48495e(0x28e)]()][_0x48495e(0x278)](([_0x1c416e],[_0x5d6733])=>_0x1c416e['localeCompare'](_0x5d6733))[_0x48495e(0x2dd)](([_0x146138,_0x3ecad7])=>({'name':_0x146138,'tags':[..._0x3ecad7][_0x48495e(0x278)]((_0x11b75b,_0x33b39e)=>{const _0x541827=_0x48495e,_0x28cf60=parseTag(_0x11b75b)['side'],_0x4771a1=parseTag(_0x33b39e)[_0x541827(0x26b)];return sideOrder(_0x28cf60)-sideOrder(_0x4771a1);})}));return{'tags':_0x46ed0b,'tagGroups':_0x247996};}function normalizePrefix(_0x4e00f6){const _0x6339c2=_0x160996;if(!_0x4e00f6)return'';return _0x4e00f6[_0x6339c2(0x23e)]('/')?_0x4e00f6:'/'+_0x4e00f6;}function joinPrefix(..._0x5eaa46){const _0x5bf2a8=_0x160996,_0x3118a4=_0x5eaa46[_0x5bf2a8(0x2dd)](_0x1c6e17=>normalizePrefix(_0x1c6e17)['replace'](/^\/+|\/+$/g,''))[_0x5bf2a8(0x1fa)](Boolean);return _0x3118a4[_0x5bf2a8(0x13e)]?'/'+_0x3118a4[_0x5bf2a8(0x262)]('/'):'/';}function getRouteSubPath(_0x4de8ba,_0x138045){const _0x3d10d9=_0x160996,_0x31e904=normalizePrefix(_0x138045)['replace'](/\/$/,''),_0x8c1297=normalizePrefix(_0x4de8ba);if(!_0x31e904)return _0x8c1297||'/';if(_0x8c1297===_0x31e904)return'/';if(_0x8c1297[_0x3d10d9(0x23e)](_0x31e904+'/'))return _0x8c1297[_0x3d10d9(0x1e1)](_0x31e904[_0x3d10d9(0x13e)])||'/';const _0x321742=_0x4de8ba[_0x3d10d9(0x23e)]('/')?_0x4de8ba:'/'+_0x4de8ba;return _0x321742||'/';}function resolveRoutePerm(_0x409cc3,_0x50f2fb,_0x5cef41){const _0x3cf1df=_0x160996;let _0x14d48a=_0x50f2fb[_0x3cf1df(0x14e)](/^\//,'')[_0x3cf1df(0x14e)](/\/+/g,':');if(_0x14d48a===_0x409cc3)_0x14d48a=_0x409cc3;else _0x14d48a[_0x3cf1df(0x23e)](_0x409cc3+':')&&(_0x14d48a=_0x14d48a['slice'](_0x409cc3[_0x3cf1df(0x13e)]+0x1));const _0x24d59a=_0x409cc3+'-';_0x14d48a[_0x3cf1df(0x23e)](_0x24d59a)&&(_0x14d48a=_0x14d48a[_0x3cf1df(0x1e1)](_0x24d59a[_0x3cf1df(0x13e)]));_0x14d48a=_0x14d48a['replace'](/-/g,':');if(!_0x14d48a)_0x14d48a=_0x409cc3;return _0x409cc3+':'+_0x14d48a+':'+_0x5cef41;}function actionFromSubPath(_0x5dd70b){const _0x173cc1=_0x160996,_0x43de51=_0x5dd70b['replace'](/^\/+|\/+$/g,'');if(!_0x43de51)return'index';const _0x319e79=_0x43de51[_0x173cc1(0x22a)]('/');return _0x319e79[_0x319e79[_0x173cc1(0x13e)]-0x1]||_0x173cc1(0x24f);}function effectivePerms(_0x2cb5d8,_0x5014d6,_0x1e2dc8){const _0x9a12a6=_0x160996;if(_0x5014d6[_0x9a12a6(0x26b)]!==_0x9a12a6(0x1dd)||_0x2cb5d8[_0x9a12a6(0x203)]||_0x2cb5d8[_0x9a12a6(0x2f6)])return;if(_0x2cb5d8[_0x9a12a6(0x160)]?.[_0x9a12a6(0x13e)])return _0x2cb5d8[_0x9a12a6(0x160)];const _0x7e65f5=_0x1e2dc8??actionFromSubPath(getRouteSubPath(_0x2cb5d8[_0x9a12a6(0x182)]??'/',_0x5014d6[_0x9a12a6(0x25b)]));return[resolveRoutePerm(_0x5014d6['module'],_0x5014d6[_0x9a12a6(0x25b)],_0x7e65f5)];}var crudRegistrar;function setCrudRegistrar(_0x3c3156){crudRegistrar=_0x3c3156;}var SIDE_PREFIX={'admin':_0x160996(0x1e4),'app':_0x160996(0x249)},ADMIN_GUARD=_0x160996(0x195),APP_GUARD=_0x160996(0x16b),ELYSIA_METHODS={'GET':_0x160996(0x2d1),'POST':'post','PUT':_0x160996(0x2f1),'DELETE':_0x160996(0x2c6),'PATCH':_0x160996(0x134)};function getSidePrefix(_0x5845db){return normalizePrefix(SIDE_PREFIX[_0x5845db]);}function buildRouteSchema(_0x45efb9){const _0x215b21=_0x160996;if(_0x45efb9['params']?.[_0x215b21(0x13e)])return schemaFromParams(_0x45efb9['params']);const _0x5f596e={};if(_0x45efb9[_0x215b21(0x1f4)]!==undefined)_0x5f596e['body']=_0x45efb9[_0x215b21(0x1f4)];if(_0x45efb9[_0x215b21(0x2a8)]!==undefined)_0x5f596e[_0x215b21(0x2a8)]=_0x45efb9['query'];if(_0x45efb9[_0x215b21(0x275)]!==undefined)_0x5f596e[_0x215b21(0x2a1)]=_0x45efb9[_0x215b21(0x275)];return Object[_0x215b21(0x28f)](_0x5f596e)[_0x215b21(0x13e)]>0x0?_0x5f596e:undefined;}function assertRouteParams(_0x153489,_0x3a45f7,_0x1198b9){const _0x1a2aec=_0x160996,_0x25c195=new Set();for(const _0x57ba16 of _0x153489){if(_0x25c195[_0x1a2aec(0x263)](_0x57ba16[_0x1a2aec(0x151)])){const _0x566140=_0x57ba16[_0x1a2aec(0x151)]===_0x1a2aec(0x1f4)?_0x1a2aec(0x1a1):_0x57ba16[_0x1a2aec(0x151)]==='query'?_0x1a2aec(0x177):_0x1a2aec(0x1db);throw new Error(_0x1a2aec(0x2e0)+_0x1198b9+'.'+_0x3a45f7+_0x1a2aec(0x2a9)+_0x566140);}_0x25c195[_0x1a2aec(0x2f0)](_0x57ba16['source']);}}function createParamHandler(_0x32e799,_0x39a8c3,_0x30d721){const _0x5d0312=_0x160996,_0x4c7493=_0x32e799[_0x39a8c3],_0x4f43a6=_0x4c7493['bind'](_0x32e799);if(!_0x30d721?.[_0x5d0312(0x13e)])return _0x4f43a6;const _0x2f8525=[..._0x30d721][_0x5d0312(0x278)]((_0x5dbf69,_0x2450dc)=>_0x5dbf69['index']-_0x2450dc[_0x5d0312(0x24f)]);return _0x253192=>{const _0x17f4a7=_0x5d0312,_0xf14485=_0x2f8525[_0x17f4a7(0x2dd)](_0x224ded=>{const _0x2f346f=_0x17f4a7;if(_0x224ded[_0x2f346f(0x151)]===_0x2f346f(0x1f4))return _0x253192[_0x2f346f(0x1f4)];if(_0x224ded[_0x2f346f(0x151)]==='query')return _0x253192[_0x2f346f(0x2a8)];if(_0x224ded[_0x2f346f(0x151)]===_0x2f346f(0x2a1))return _0x253192[_0x2f346f(0x2a1)];throw new Error(_0x2f346f(0x22c)+_0x224ded[_0x2f346f(0x151)]);});return _0x4f43a6(..._0xf14485,_0x253192);};}function createPermsGuard(_0x8c2e01){return _0x5df5ce=>{const _0x437b14=_0x44c2,_0x429088=_0x5df5ce[_0x437b14(0x2da)],_0x282626=Context[_0x437b14(0x2d1)]();if(_0x282626?.[_0x437b14(0x231)])return;const _0x4a3d91=_0x282626?.[_0x437b14(0x160)]??[];if(_0x8c2e01[_0x437b14(0x260)](_0x415b65=>_0x4a3d91[_0x437b14(0x271)](_0x415b65)))return;return _0x429088(0x193);};}function openApiSummary(_0x569950,_0x13cd4e){const _0x27da12=_0x160996,_0x203605=_0x569950[_0x27da12(0x14e)](/^\/+|\/+$/g,'')[_0x27da12(0x22a)]('/')[_0x27da12(0x171)]()||_0x569950;return _0x13cd4e?_0x203605+'\x20'+_0x13cd4e:_0x203605;}function buildRouteOptions(_0x3a1565,_0x1050e7){const _0xdd40b8=_0x160996,_0x1a6fcc=buildRouteSchema(_0x3a1565)??{},_0xd53fe3={..._0x1a6fcc,'detail':{'tags':[openApiTag(_0x1050e7['module'],_0x1050e7[_0xdd40b8(0x26b)])],'summary':openApiSummary(_0x3a1565['handler'],_0x3a1565[_0xdd40b8(0x1d3)])}};_0x1050e7[_0xdd40b8(0x26b)]===_0xdd40b8(0x1dd)&&!_0x3a1565[_0xdd40b8(0x203)]&&(_0xd53fe3[ADMIN_GUARD]=!![]);_0x1050e7[_0xdd40b8(0x26b)]===_0xdd40b8(0x215)&&!_0x3a1565[_0xdd40b8(0x203)]&&(_0xd53fe3[APP_GUARD]=!![]);const _0x46ecd5=[],_0x13b71c=effectivePerms(_0x3a1565,_0x1050e7);if(_0x13b71c?.['length'])_0x46ecd5['push'](createPermsGuard(_0x13b71c));if(_0x3a1565[_0xdd40b8(0x261)]?.[_0xdd40b8(0x13e)])_0x46ecd5[_0xdd40b8(0x2e6)](..._0x3a1565[_0xdd40b8(0x261)]);if(_0x46ecd5[_0xdd40b8(0x13e)])_0xd53fe3[_0xdd40b8(0x268)]=_0x46ecd5;return _0xd53fe3;}function normalizeCrudRouteOpts(_0x1b98b4){const _0x2184f1=_0x160996;if(_0x1b98b4==null)return{};if(typeof _0x1b98b4===_0x2184f1(0x1b7))return{'public':_0x1b98b4};return _0x1b98b4;}function registerControllerPlugin(_0x9e8ef1,_0x42cfea){const _0x306405=_0x160996,_0x57d2cc=getSidePrefix(_0x9e8ef1['side']),_0x5b4481=joinPrefix(_0x57d2cc,_0x9e8ef1[_0x306405(0x25b)]),_0x1bb344=Ioc[_0x306405(0x2d1)](_0x9e8ef1[_0x306405(0x2a4)]);let _0x5276f6=new Elysia({'prefix':_0x5b4481,'name':_0x9e8ef1['token'][_0x306405(0x179)],'tags':[openApiTag(_0x9e8ef1[_0x306405(0x233)],_0x9e8ef1[_0x306405(0x26b)])]});for(const _0x1ab051 of _0x9e8ef1[_0x306405(0x261)]??[]){_0x5276f6=_0x5276f6[_0x306405(0x191)](_0x1ab051);}const _0x1aff6a=[];for(const _0x3a84ef of _0x9e8ef1[_0x306405(0x157)]){const _0x4d050b=_0x1bb344[_0x3a84ef[_0x306405(0x296)]];if(typeof _0x4d050b!==_0x306405(0x2d3))throw new Error(_0x306405(0x2e0)+_0x9e8ef1[_0x306405(0x2a4)][_0x306405(0x179)]+'.'+_0x3a84ef[_0x306405(0x296)]+'\x20不是有效\x20handler');assertRouteParams(_0x3a84ef[_0x306405(0x2a1)]??[],_0x3a84ef[_0x306405(0x296)],_0x9e8ef1[_0x306405(0x2a4)]['name']);const _0x309cc4=createParamHandler(_0x1bb344,_0x3a84ef[_0x306405(0x296)],_0x3a84ef[_0x306405(0x2a1)]),_0x323a96=getRouteSubPath(_0x3a84ef['path'],_0x9e8ef1[_0x306405(0x25b)]),_0x39de00=buildRouteOptions(_0x3a84ef,_0x9e8ef1),_0x23b19f=ELYSIA_METHODS[_0x3a84ef['method']];_0x5276f6=_0x5276f6[_0x23b19f](_0x323a96,_0x309cc4,_0x39de00);}if(_0x9e8ef1[_0x306405(0x166)]?.[_0x306405(0x128)]?.[_0x306405(0x13e)]||_0x9e8ef1['crud']?.[_0x306405(0x211)]?.[_0x306405(0x13e)]){if(!crudRegistrar)throw new Error('[Router]\x20'+_0x9e8ef1[_0x306405(0x2a4)]['name']+_0x306405(0x2c8));_0x5276f6=crudRegistrar(_0x5276f6,_0x9e8ef1,{'controller':_0x1bb344,'routeOptions':_0xe52757=>{const _0x33671d=_0x306405,{public:_0x351315,action:_0x11dd2a,summary:_0x31cfc0}=normalizeCrudRouteOpts(_0xe52757),_0x1f3f01={'detail':{'tags':[openApiTag(_0x9e8ef1[_0x33671d(0x233)],_0x9e8ef1[_0x33671d(0x26b)])],'summary':openApiSummary(_0x11dd2a??_0x33671d(0x20f),_0x31cfc0)}};if(_0x9e8ef1[_0x33671d(0x26b)]==='admin'&&!_0x351315){_0x1f3f01[ADMIN_GUARD]=!![];if(_0x11dd2a){const _0x2dd590=resolveRoutePerm(_0x9e8ef1[_0x33671d(0x233)],_0x9e8ef1[_0x33671d(0x25b)],_0x11dd2a);_0x1f3f01[_0x33671d(0x268)]=[createPermsGuard([_0x2dd590])];}}return _0x1f3f01;}});for(const _0x379480 of _0x9e8ef1[_0x306405(0x166)]?.[_0x306405(0x128)]??[]){const _0x597d0b=_0x379480===_0x306405(0x237)?'GET':_0x306405(0x184);_0x1aff6a['push']({'method':_0x597d0b,'path':joinPrefix(_0x9e8ef1[_0x306405(0x25b)],_0x379480),'handler':_0x379480,'autoCrud':!![]});}for(const _0x2b52b3 of _0x9e8ef1['crud']?.[_0x306405(0x211)]??[]){_0x1aff6a['push']({'method':_0x306405(0x184),'path':joinPrefix(_0x9e8ef1[_0x306405(0x25b)],_0x2b52b3),'handler':_0x2b52b3,'autoCrud':!![]});}}return{'plugin':_0x5276f6,'pluginPrefix':_0x5b4481,'autoRoutes':_0x1aff6a};}function registerControllers(_0x55c8e5,_0x374e69){const _0x60c5b3=_0x160996;let _0xd25bd6=_0x55c8e5,_0x27613a=0x0;const _0x51ac3b=[];for(const _0x875d8 of listControllers()){const {plugin:_0x584e44,pluginPrefix:_0x1743f0,autoRoutes:_0x56b6b2}=registerControllerPlugin(_0x875d8,_0x374e69);_0xd25bd6=_0xd25bd6[_0x60c5b3(0x286)](_0x584e44);for(const _0x557ba0 of[..._0x875d8[_0x60c5b3(0x157)],..._0x56b6b2]){_0x27613a+=0x1;const _0x127c5f=getRouteSubPath(_0x557ba0['path'],_0x875d8[_0x60c5b3(0x25b)]),_0x69efa6=_0x127c5f==='/'?_0x1743f0:joinPrefix(_0x1743f0,_0x127c5f['replace'](/^\//,'')),_0x56633e=_0x557ba0['public']?_0x60c5b3(0x1f9):_0x557ba0[_0x60c5b3(0x207)]?_0x60c5b3(0x2ff):'';_0x51ac3b['push'](_0x557ba0['method']+'\x20'+_0x69efa6+_0x56633e);}}if(_0x27613a>0x0){console[_0x60c5b3(0x230)](_0x60c5b3(0x252)+_0x27613a+'\x20route(s)');for(const _0x218dc7 of _0x51ac3b)console[_0x60c5b3(0x230)]('\x20\x20'+_0x218dc7);}return _0xd25bd6;}var {Glob}=globalThis[_0x160996(0x220)],DEFAULT_EXT=/\.tsx?$/;async function scanFiles(_0xdd7a57,_0x41d020={}){const _0x17d550=_0x160996,{cwd:cwd=process['cwd'](),ext:ext=DEFAULT_EXT}=_0x41d020,_0x94c3ab=Array['isArray'](_0xdd7a57)?_0xdd7a57:[_0xdd7a57],_0x75bf4a=[];for(const _0x3bf3f0 of _0x94c3ab){const _0x3f0e9b=new Glob(_0x3bf3f0);for await(const _0x17c60f of _0x3f0e9b[_0x17d550(0x20c)]({'cwd':cwd,'onlyFiles':!![]})){if(ext[_0x17d550(0x127)](_0x17c60f))_0x75bf4a[_0x17d550(0x2e6)](_0x17c60f);}}return[...new Set(_0x75bf4a)][_0x17d550(0x278)]();}var context=null;function setControllerScanContext(_0x2293a4){context=_0x2293a4;}function getControllerScanContext(){return context;}function parseModuleFromPath(_0x238993){const _0x15954f=_0x160996,_0x5099fb=_0x238993[_0x15954f(0x297)](/modules\/([^/]+)\/controller\//);if(!_0x5099fb)return _0x15954f(0x1eb);return _0x5099fb[0x1];}function parseControllerAutoPrefix(_0x47ae7c){const _0x322179=_0x160996,_0x4ea9e2=_0x47ae7c[_0x322179(0x14e)](/\\/g,'/')['match'](/modules\/([^/]+)\/controller\/(?:admin|app)\/(.+)\.tsx?$/);if(!_0x4ea9e2)return'';const _0x21d881=_0x4ea9e2[0x1],_0x2242e3=_0x4ea9e2[0x2][_0x322179(0x14e)](/\/+/g,'/')['replace'](/^\/|\/$/g,'');if(!_0x2242e3)return'/'+_0x21d881;return'/'+_0x21d881+'/'+_0x2242e3;}var TIME_KEY_RE=/(?:Time|Date|At)$/,ISO_RE=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?$/;function formatDateTime(_0x1fef22){const _0x31e3bf=_0x160996,_0x240bac=_0x1fef22 instanceof Date?_0x1fef22:new Date(_0x1fef22);if(Number['isNaN'](_0x240bac[_0x31e3bf(0x13c)]()))return String(_0x1fef22);return new Intl['DateTimeFormat'](_0x31e3bf(0x15b),{'timeZone':_0x31e3bf(0x26f),'year':'numeric','month':'2-digit','day':'2-digit','hour':_0x31e3bf(0x143),'minute':'2-digit','second':'2-digit','hour12':![]})['format'](_0x240bac)[_0x31e3bf(0x14e)]('T','\x20');}function isTimeKey(_0x163f98){return TIME_KEY_RE['test'](_0x163f98);}function formatApiDates(_0x370fab){return walk(_0x370fab);}function walk(_0x3704dc,_0x109b45){const _0x20b0b9=_0x160996;if(_0x3704dc==null)return _0x3704dc;if(_0x3704dc instanceof Date)return formatDateTime(_0x3704dc);if(typeof _0x3704dc===_0x20b0b9(0x26d)&&_0x109b45&&isTimeKey(_0x109b45)&&ISO_RE['test'](_0x3704dc))return formatDateTime(_0x3704dc);if(Array[_0x20b0b9(0x2c1)](_0x3704dc))return _0x3704dc[_0x20b0b9(0x2dd)](_0x3db188=>walk(_0x3db188));if(typeof _0x3704dc===_0x20b0b9(0x156)){if(Object[_0x20b0b9(0x26c)][_0x20b0b9(0x2fa)]['call'](_0x3704dc)!==_0x20b0b9(0x2ca))return _0x3704dc;const _0x3d8989={};for(const [_0x589405,_0x4247f8]of Object[_0x20b0b9(0x28e)](_0x3704dc)){_0x3d8989[_0x589405]=walk(_0x4247f8,_0x589405);}return _0x3d8989;}return _0x3704dc;}var RES_CODE={'SUCCESS':0x3e8,'ERROR':0x3e9};class BaseController{['ok'](_0x2a1c6b){const _0x366028=_0x160996,_0x32ad3a=_0x2a1c6b===undefined?null:_0x2a1c6b;return{'code':RES_CODE[_0x366028(0x15a)],'message':'success','data':_0x32ad3a==null?_0x32ad3a:formatApiDates(_0x32ad3a)};}[_0x160996(0x1cb)](_0x5e4be7='error',_0x510760=RES_CODE[_0x160996(0x1d7)]){return{'code':_0x510760,'message':_0x5e4be7};}}import'reflect-metadata';function normalizeProvideArgs(_0x582e17){const _0x205dc7=_0x160996;if(_0x582e17==null)return{};if(typeof _0x582e17===_0x205dc7(0x26d)||typeof _0x582e17===_0x205dc7(0x235))return{'id':_0x582e17};return _0x582e17;}function Provide(_0x12487f){return _0x37b652=>{const _0x1a5592=_0x44c2,_0xf3e704=normalizeProvideArgs(_0x12487f),_0x43620e=_0xf3e704[_0x1a5592(0x18b)]??_0x1a5592(0x236);registerProvider({'token':_0x37b652,'useClass':_0x37b652,'scope':_0x43620e}),_0xf3e704['id']!=null&&registerProvider({'token':_0xf3e704['id'],'useClass':_0x37b652,'scope':_0x43620e});};}function Inject(_0x4ef0fa){return(_0x54f8ff,_0x15725f)=>{const _0x8531d7=_0x44c2,_0x427097=Reflect[_0x8531d7(0x1fc)](_0x8531d7(0x2d7),_0x54f8ff,_0x15725f),_0x246c81=_0x4ef0fa??_0x427097;if(_0x246c81==null)throw new Error(_0x8531d7(0x243)+String(_0x15725f)+_0x8531d7(0x196));appendInjectMeta(_0x54f8ff[_0x8531d7(0x279)],{'propertyKey':_0x15725f,'token':_0x246c81});};}import{and,arrayContains,arrayOverlaps,asc,desc,eq,gte,inArray,like,lte,or,sql}from'drizzle-orm';function colName(_0x10a0e3){const _0x1c0b52=_0x160996;if(typeof _0x10a0e3===_0x1c0b52(0x26d)){const _0x517d38=_0x10a0e3[_0x1c0b52(0x271)]('.')?_0x10a0e3['split']('.')[_0x1c0b52(0x171)]():_0x10a0e3;return{'column':_0x517d38,'param':_0x517d38,'none':![]};}const _0x50a931=_0x10a0e3[_0x1c0b52(0x12a)][_0x1c0b52(0x271)]('.')?_0x10a0e3['column'][_0x1c0b52(0x22a)]('.')['pop']():_0x10a0e3['column'];return{'column':_0x50a931,'param':_0x10a0e3['requestParam']??_0x50a931,'none':Boolean(_0x10a0e3[_0x1c0b52(0x140)])};}function rangeColumn(_0xceb3b2){const _0x24a1b6=_0x160996;return _0xceb3b2['column'][_0x24a1b6(0x271)]('.')?_0xceb3b2[_0x24a1b6(0x12a)]['split']('.')['pop']():_0xceb3b2['column'];}function tableCol(_0x15682e,_0x4c07fe){const _0xe7c094=_0x160996,_0xafb271=_0x15682e[_0x4c07fe];if(_0xafb271==null)throw new Error(_0xe7c094(0x1d6)+_0x4c07fe);return _0xafb271;}function isBlank(_0x27c688){return _0x27c688===undefined||_0x27c688===null||_0x27c688==='';}function compactWhere(_0x508fd0){const _0x3a2e12=_0x160996;if(_0x508fd0==null||_0x508fd0===![])return[];const _0x8a6130=Array[_0x3a2e12(0x2c1)](_0x508fd0)?_0x508fd0:[_0x508fd0];return _0x8a6130[_0x3a2e12(0x1fa)](_0x45babb=>_0x45babb!=null&&_0x45babb!==![]);}var q={'between'(_0x273cd0,_0x4c0042,_0x7c1511){if(isBlank(_0x4c0042)||isBlank(_0x7c1511))return;return sql`${_0x273cd0} between ${_0x4c0042} and ${_0x7c1511}`;},'range'(_0x596ba4,_0x26d74a,_0x7b249e){const _0x4da8a0=_0x160996,_0x4c41b9=[];if(!isBlank(_0x26d74a))_0x4c41b9[_0x4da8a0(0x2e6)](gte(_0x596ba4,_0x26d74a));if(!isBlank(_0x7b249e))_0x4c41b9[_0x4da8a0(0x2e6)](lte(_0x596ba4,_0x7b249e));if(!_0x4c41b9[_0x4da8a0(0x13e)])return;return _0x4c41b9[_0x4da8a0(0x13e)]===0x1?_0x4c41b9[0x0]:and(..._0x4c41b9);},'eqRest'(_0x1db11d,_0x13b9e3,_0x178d6c){const _0x5ce9b6=_0x160996,_0x2dd848=[];for(const [_0x3aa442,_0x4324c]of Object[_0x5ce9b6(0x28e)](_0x1db11d)){if(isBlank(_0x4324c))continue;const _0x2b9810=_0x178d6c?.[_0x3aa442]??_0x13b9e3[_0x3aa442];if(_0x2b9810==null)continue;_0x2dd848[_0x5ce9b6(0x2e6)](eq(_0x2b9810,_0x4324c));}return _0x2dd848;},'contains'(_0x23e39a,_0x1a6d39){const _0x4cfee9=_0x160996;if(isBlank(_0x1a6d39))return;const _0x2830d5=Array[_0x4cfee9(0x2c1)](_0x1a6d39)?_0x1a6d39:[_0x1a6d39];if(!_0x2830d5['length'])return;return _0x2830d5[_0x4cfee9(0x13e)]===0x1?arrayContains(_0x23e39a,_0x2830d5):arrayOverlaps(_0x23e39a,_0x2830d5);}};function buildFieldClauses(_0x3a2f77,_0x208603,_0x46e304){const _0x5b5cbc=_0x160996,_0x4cb9ec=[];if(_0x46e304['keyWordLikeFields']?.[_0x5b5cbc(0x13e)]&&!isBlank(_0x208603[_0x5b5cbc(0x232)])){const _0x49a9bb='%'+String(_0x208603[_0x5b5cbc(0x232)])+'%',_0x5c3c92=_0x46e304[_0x5b5cbc(0x1df)][_0x5b5cbc(0x2dd)](_0x379258=>{const _0x53925b=_0x5b5cbc,_0x598331=_0x379258['includes']('.')?_0x379258[_0x53925b(0x22a)]('.')[_0x53925b(0x171)]():_0x379258;return like(tableCol(_0x3a2f77,_0x598331),_0x49a9bb);});if(_0x5c3c92[_0x5b5cbc(0x13e)]===0x1)_0x4cb9ec[_0x5b5cbc(0x2e6)](_0x5c3c92[0x0]);else{if(_0x5c3c92[_0x5b5cbc(0x13e)]>0x1)_0x4cb9ec['push'](or(..._0x5c3c92));}}for(const _0x2765ae of _0x46e304[_0x5b5cbc(0x16a)]??[]){const {column:_0x4cf97b,param:_0x4a954c}=colName(_0x2765ae),_0x8c4d5=_0x208603[_0x4a954c];if(isBlank(_0x8c4d5))continue;if(Array[_0x5b5cbc(0x2c1)](_0x8c4d5)){if(!_0x8c4d5[_0x5b5cbc(0x13e)])continue;_0x4cb9ec['push'](inArray(tableCol(_0x3a2f77,_0x4cf97b),_0x8c4d5));}else _0x4cb9ec['push'](eq(tableCol(_0x3a2f77,_0x4cf97b),_0x8c4d5));}for(const _0x4c3a93 of _0x46e304[_0x5b5cbc(0x23a)]??[]){const {column:_0x3a2661,param:_0x10d2b0}=colName(_0x4c3a93),_0xf75595=_0x208603[_0x10d2b0];if(isBlank(_0xf75595))continue;_0x4cb9ec[_0x5b5cbc(0x2e6)](like(tableCol(_0x3a2f77,_0x3a2661),'%'+String(_0xf75595)+'%'));}for(const _0x2cca01 of _0x46e304[_0x5b5cbc(0x2be)]??[]){const {column:_0x5a2447,param:_0x40d16d}=colName(_0x2cca01),_0x26ec5c=q[_0x5b5cbc(0x12e)](tableCol(_0x3a2f77,_0x5a2447),_0x208603[_0x40d16d]);if(_0x26ec5c)_0x4cb9ec[_0x5b5cbc(0x2e6)](_0x26ec5c);}for(const _0x266bcf of _0x46e304[_0x5b5cbc(0x27a)]??[]){const _0x1e7cef=tableCol(_0x3a2f77,rangeColumn(_0x266bcf)),_0x280567=q['range'](_0x1e7cef,_0x208603[_0x266bcf[_0x5b5cbc(0x1c2)]],_0x208603[_0x266bcf[_0x5b5cbc(0x1d9)]]);if(_0x280567)_0x4cb9ec[_0x5b5cbc(0x2e6)](_0x280567);}return _0x4cb9ec;}function buildOrderBy(_0x1c6081,_0x292f47,_0x59bdb1){const _0x5f4e77=_0x160996,_0x543a9c=[],_0x3e9c=_0x292f47[_0x5f4e77(0x244)]!=null?String(_0x292f47[_0x5f4e77(0x244)]):undefined,_0x406049=_0x292f47[_0x5f4e77(0x278)]===_0x5f4e77(0x2ae)||_0x292f47[_0x5f4e77(0x278)]==='desc'?_0x292f47[_0x5f4e77(0x278)]:undefined;if(_0x3e9c){const _0x5d7018=tableCol(_0x1c6081,_0x3e9c);_0x543a9c[_0x5f4e77(0x2e6)](_0x406049===_0x5f4e77(0x2ae)?asc(_0x5d7018):desc(_0x5d7018));}else{if(_0x59bdb1[_0x5f4e77(0x202)])for(const [_0x177568,_0x2c986d]of Object[_0x5f4e77(0x28e)](_0x59bdb1['addOrderBy'])){const _0x1936bd=_0x177568[_0x5f4e77(0x271)]('.')?_0x177568[_0x5f4e77(0x22a)]('.')['pop']():_0x177568,_0xd95fba=tableCol(_0x1c6081,_0x1936bd);_0x543a9c['push'](_0x2c986d===_0x5f4e77(0x2ae)?asc(_0xd95fba):desc(_0xd95fba));}}return _0x543a9c;}function needsAdvancedQuery(_0x5b13ab){const _0x2a4f44=_0x160996;return!!(_0x5b13ab?.[_0x2a4f44(0x262)]?.[_0x2a4f44(0x13e)]||_0x5b13ab?.['select']);}async function buildQueryOp(_0x2bcbdf,_0x3bcbe6,_0x2d48e8={},_0x727df4){const _0x2df694=_0x160996,_0x1c08f2=buildFieldClauses(_0x2bcbdf,_0x3bcbe6,_0x2d48e8),_0x27eb46=buildOrderBy(_0x2bcbdf,_0x3bcbe6,_0x2d48e8),_0x93cb37={'body':_0x3bcbe6,'request':_0x727df4??new Request('http://local')};_0x2d48e8[_0x2df694(0x29c)]&&_0x1c08f2[_0x2df694(0x2e6)](...compactWhere(await _0x2d48e8['where'](_0x93cb37)));if(_0x2d48e8[_0x2df694(0x303)]){const _0x2daa78={'andWhere'(_0x3dda6a){const _0x51b967=_0x2df694;if(_0x3dda6a!=null&&_0x3dda6a!==![])_0x1c08f2[_0x51b967(0x2e6)](_0x3dda6a);},'orderBy'(..._0x235721){for(const _0x46780d of _0x235721){if(_0x46780d!=null)_0x27eb46['push'](_0x46780d);}}};await _0x2d48e8[_0x2df694(0x303)](_0x2daa78,_0x93cb37);}const _0x4699c9=_0x1c08f2[_0x2df694(0x13e)]===0x0?undefined:_0x1c08f2[_0x2df694(0x13e)]===0x1?_0x1c08f2[0x0]:and(..._0x1c08f2);return{'where':_0x4699c9,'orderBySql':_0x27eb46};}import{and as _0x159792,count,countDistinct,getTableColumns,isNotNull,isNull,sql as _0x481f3e}from'drizzle-orm';function readCrudConfig(){const _0xf4f028=_0x160996;return VomeConfig[_0xf4f028(0x27b)]?.[_0xf4f028(0x166)]??{};}function resolveUpsert(_0x1f348d){const _0xa8a816=_0x160996;return _0x1f348d??readCrudConfig()[_0xa8a816(0x22d)]??'insert';}function resolveSoftDelete(_0x19778a){const _0x262ac2=_0x160996;if(_0x19778a!=null)return _0x19778a;return readCrudConfig()[_0x262ac2(0x285)]===!![];}class DbStore{['drizzle'];[_0x160996(0x2ec)];[_0x160996(0x1e9)];[_0x160996(0x308)];constructor(_0x43b30c,_0x236fb2,_0x5b146c,_0x4647a4){const _0x4dc9d0=_0x160996;this[_0x4dc9d0(0x19b)]=_0x43b30c,this[_0x4dc9d0(0x2ec)]=_0x236fb2,this[_0x4dc9d0(0x1e9)]=_0x5b146c,this[_0x4dc9d0(0x308)]=_0x4647a4;}}import{and as _0x55b2d5,inArray as _0xe838cf,sql as _0x20d26d}from'drizzle-orm';import{and as _0xa4a116,eq as _0x7edf9a,sql as _0x4e9c2f}from'drizzle-orm';var SKIP_KEY=_0x160996(0x1ad);function isTenantEnabled(){return VomeConfig['vome']?.['tenant']===!![];}function _0x44c2(_0x5a459d,_0x1fec8a){_0x5a459d=_0x5a459d-0x11e;const _0x32dea1=_0x32de();let _0x44c252=_0x32dea1[_0x5a459d];if(_0x44c2['WWzhtS']===undefined){var _0x248110=function(_0x1e3bb3){const _0x93f6dd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5490da='',_0x159792='';for(let _0x481f3e=0x0,_0x55b2d5,_0xe838cf,_0x20d26d=0x0;_0xe838cf=_0x1e3bb3['charAt'](_0x20d26d++);~_0xe838cf&&(_0x55b2d5=_0x481f3e%0x4?_0x55b2d5*0x40+_0xe838cf:_0xe838cf,_0x481f3e++%0x4)?_0x5490da+=String['fromCharCode'](0xff&_0x55b2d5>>(-0x2*_0x481f3e&0x6)):0x0){_0xe838cf=_0x93f6dd['indexOf'](_0xe838cf);}for(let _0xa4a116=0x0,_0x7edf9a=_0x5490da['length'];_0xa4a116<_0x7edf9a;_0xa4a116++){_0x159792+='%'+('00'+_0x5490da['charCodeAt'](_0xa4a116)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x159792);};_0x44c2['UKappb']=_0x248110,_0x44c2['gzDqYC']={},_0x44c2['WWzhtS']=!![];}const _0x191a20=_0x32dea1[0x0],_0x26fa7b=_0x5a459d+_0x191a20,_0x43346b=_0x44c2['gzDqYC'][_0x26fa7b];return!_0x43346b?(_0x44c252=_0x44c2['UKappb'](_0x44c252),_0x44c2['gzDqYC'][_0x26fa7b]=_0x44c252):_0x44c252=_0x43346b,_0x44c252;}function tableHasTenantId(_0x39efd4){return _0x39efd4['tenantId']!=null;}function resolveTenantScope(){const _0x1608a5=_0x160996;if(!isTenantEnabled())return _0x1608a5(0x2f2);const _0x1548b7=Context[_0x1608a5(0x2d1)]();if(_0x1548b7?.[SKIP_KEY])return _0x1608a5(0x2f2);if(_0x1548b7?.[_0x1608a5(0x231)])return _0x1608a5(0x23d);const _0x35e84=_0x1548b7?.['tenantId'],_0x3f94c2=typeof _0x35e84===_0x1608a5(0x2b3)?_0x35e84:Number(_0x35e84);if(!Number[_0x1608a5(0x1ec)](_0x3f94c2)||_0x3f94c2<=0x0)return _0x1608a5(0x140);return _0x3f94c2;}function applyTenantWhere(_0x2c6fbe,_0x107ee4){const _0x37de2f=_0x160996;if(!tableHasTenantId(_0x2c6fbe))return _0x107ee4;const _0x2c6974=resolveTenantScope();if(_0x2c6974===_0x37de2f(0x2f2)||_0x2c6974===_0x37de2f(0x23d))return _0x107ee4;const _0xa06baa=_0x2c6fbe[_0x37de2f(0x188)],_0x152a90=_0x2c6974==='none'?_0x4e9c2f`false`:_0x7edf9a(_0xa06baa,_0x2c6974);if(_0x107ee4&&_0x152a90)return _0xa4a116(_0x107ee4,_0x152a90);return _0x107ee4??_0x152a90;}function stampTenantId(_0x59aa1e,_0x3cdb6c){const _0x5c2fa0=_0x160996;if(!tableHasTenantId(_0x59aa1e))return _0x3cdb6c;const _0x5e4ac4=resolveTenantScope();if(typeof _0x5e4ac4!==_0x5c2fa0(0x2b3))return _0x3cdb6c;if(_0x3cdb6c[_0x5c2fa0(0x188)]!=null)return _0x3cdb6c;return{..._0x3cdb6c,'tenantId':_0x5e4ac4};}async function noTenant(_0x573a5a){const _0x5095f4=_0x160996,_0x2f3fe2=Context[_0x5095f4(0x2d1)]();if(!_0x2f3fe2)return _0x573a5a();const _0x397c18=_0x2f3fe2[SKIP_KEY];_0x2f3fe2[SKIP_KEY]=!![];try{return await _0x573a5a();}finally{if(_0x397c18===undefined)delete _0x2f3fe2[SKIP_KEY];else _0x2f3fe2[SKIP_KEY]=_0x397c18;}}function normalizeHost(_0x56832e){const _0x22511f=_0x160996;if(!_0x56832e)return'';return _0x56832e['trim']()[_0x22511f(0x1e0)]()[_0x22511f(0x14e)](/:\d+$/,'');}var SKIP_KEY2=_0x160996(0x133);function tableHasDepartmentId(_0x52062e){return _0x52062e['departmentId']!=null;}function resolveDataScope(){const _0x535dc4=_0x160996,_0x4f4602=Context[_0x535dc4(0x2d1)]();if(!_0x4f4602)return _0x535dc4(0x2f2);if(_0x4f4602[SKIP_KEY2])return _0x535dc4(0x2f2);if(_0x4f4602[_0x535dc4(0x231)])return _0x535dc4(0x23d);const _0x5eb028=_0x4f4602[_0x535dc4(0x242)];if(_0x5eb028==null||_0x5eb028==='')return _0x535dc4(0x2f2);if(_0x5eb028==='all')return'all';if(_0x5eb028==='none')return _0x535dc4(0x140);const _0x4c0571=_0x4f4602[_0x535dc4(0x1ed)],_0x3377c4=Array['isArray'](_0x4c0571)?_0x4c0571[_0x535dc4(0x2dd)](_0x220753=>Number(_0x220753))[_0x535dc4(0x1fa)](_0xe62bb4=>Number['isFinite'](_0xe62bb4)&&_0xe62bb4>0x0):[];if(!_0x3377c4[_0x535dc4(0x13e)])return _0x535dc4(0x140);return[...new Set(_0x3377c4)];}function applyDataScopeWhere(_0x33bbeb,_0x4fe842){const _0x3ebc18=_0x160996;if(!tableHasDepartmentId(_0x33bbeb))return _0x4fe842;const _0x41c9e5=resolveDataScope();if(_0x41c9e5===_0x3ebc18(0x2f2)||_0x41c9e5===_0x3ebc18(0x23d))return _0x4fe842;const _0x376b86=_0x33bbeb[_0x3ebc18(0x23c)],_0x2b1fa7=_0x41c9e5===_0x3ebc18(0x140)?_0x20d26d`false`:_0xe838cf(_0x376b86,_0x41c9e5);if(_0x4fe842)return _0x55b2d5(_0x4fe842,_0x2b1fa7);return _0x2b1fa7;}function applyRowScopes(_0x6bf38e,_0x589e63){return applyDataScopeWhere(_0x6bf38e,applyTenantWhere(_0x6bf38e,_0x589e63));}async function noDataScope(_0x196388){const _0x5e4c98=_0x160996,_0x306d72=Context[_0x5e4c98(0x2d1)]();if(!_0x306d72)return _0x196388();const _0x59d0e5=_0x306d72[SKIP_KEY2];_0x306d72[SKIP_KEY2]=!![];try{return await _0x196388();}finally{if(_0x59d0e5===undefined)delete _0x306d72[SKIP_KEY2];else _0x306d72[SKIP_KEY2]=_0x59d0e5;}}function deletedAtColumn(_0x4745d3){const _0x1e4115=_0x160996;return _0x4745d3[_0x1e4115(0x218)];}function trashClause(_0x505870,_0x5d7f38){const _0x34a1b6=_0x160996;if(!resolveSoftDelete(_0x5d7f38?.[_0x34a1b6(0x285)]))return;const _0x2a6607=deletedAtColumn(_0x505870);if(_0x2a6607==null)return;if(_0x5d7f38?.[_0x34a1b6(0x2ee)])return isNotNull(_0x2a6607);if(_0x5d7f38?.[_0x34a1b6(0x2a5)])return;return isNull(_0x2a6607);}function mergeWhere(_0x29e6f1,_0x20191a){if(_0x29e6f1&&_0x20191a)return _0x159792(_0x20191a,_0x29e6f1);return _0x29e6f1??_0x20191a;}function applyJoins(_0x19f0b6,_0x547a86,_0x10f233){const _0x2473f7=_0x160996;let _0x58970f=_0x19f0b6;for(const _0x201395 of _0x10f233[_0x2473f7(0x262)]??[]){const _0x31c8a9=_0x201395[_0x2473f7(0x20b)],_0x9cc81d=_0x201395['on'](_0x547a86),_0x4e1de3=_0x201395['type']??_0x2473f7(0x137);_0x4e1de3===_0x2473f7(0x1f1)||_0x4e1de3===_0x2473f7(0x262)?_0x58970f=_0x58970f[_0x2473f7(0x1f1)](_0x31c8a9,_0x9cc81d):_0x58970f=_0x58970f[_0x2473f7(0x137)](_0x31c8a9,_0x9cc81d);}return _0x58970f;}function resolveSelect(_0x1f566f,_0x4960bd){const _0x211b61=_0x160996;if(_0x4960bd[_0x211b61(0x20d)])return _0x4960bd['select'];return getTableColumns(_0x1f566f);}function countExpr(_0x4d1b5d,_0x4eb9a7){const _0x30fb6e=_0x4d1b5d['id'];if(_0x30fb6e!=null&&_0x4eb9a7)return countDistinct(_0x30fb6e);if(_0x30fb6e!=null)return count(_0x30fb6e);return count(_0x481f3e`*`);}async function queryWithOp(_0x554bee,_0x10a34a,_0x577125,_0x4b6927){const _0x53f999=_0x160996,_0x5c06e2=await buildQueryOp(_0x554bee,_0x10a34a,_0x577125,_0x4b6927[_0x53f999(0x120)]),_0x137d1c=trashClause(_0x554bee,_0x4b6927[_0x53f999(0x2e1)]),_0x2e214e=applyRowScopes(_0x554bee,mergeWhere(_0x5c06e2['where'],_0x137d1c)),_0x2bc5a3=resolveSelect(_0x554bee,_0x577125),_0x568e1e=!!_0x577125[_0x53f999(0x262)]?.[_0x53f999(0x13e)],_0x22ef54=Ioc[_0x53f999(0x2d1)](DbStore)['drizzle'];let _0xbc13a7=applyJoins(_0x22ef54[_0x53f999(0x20d)](_0x2bc5a3)['from'](_0x554bee),_0x554bee,_0x577125);if(_0x2e214e)_0xbc13a7=_0xbc13a7[_0x53f999(0x29c)](_0x2e214e);if(_0x5c06e2[_0x53f999(0x1e5)][_0x53f999(0x13e)])_0xbc13a7=_0xbc13a7[_0x53f999(0x1a6)](..._0x5c06e2[_0x53f999(0x1e5)]);if(_0x4b6927['mode']===_0x53f999(0x281))return await _0xbc13a7;const _0x272903=Math[_0x53f999(0x1d9)](0x1,Number(_0x10a34a[_0x53f999(0x121)]??0x1)),_0x6ba48d=Math[_0x53f999(0x1c2)](0x64,Math[_0x53f999(0x1d9)](0x1,Number(_0x10a34a['size']??0x14))),_0x2971f4=(_0x272903-0x1)*_0x6ba48d,_0x27b0b6=await _0xbc13a7['limit'](_0x6ba48d)[_0x53f999(0x2fb)](_0x2971f4);let _0x3d3e06=applyJoins(_0x22ef54[_0x53f999(0x20d)]({'value':countExpr(_0x554bee,_0x568e1e)})[_0x53f999(0x2de)](_0x554bee),_0x554bee,_0x577125);if(_0x2e214e)_0x3d3e06=_0x3d3e06[_0x53f999(0x29c)](_0x2e214e);const _0x387d71=await _0x3d3e06,_0x86ade1=Number(_0x387d71[0x0]?.[_0x53f999(0x253)]??0x0);return{'list':_0x27b0b6,'pagination':{'page':_0x272903,'size':_0x6ba48d,'total':_0x86ade1}};}import{and as _0x3cce37,count as _0x50517d,eq as _0x17b434,inArray as _0x5bfa8b,isNotNull as _0x5d6aab,isNull as _0x241d26}from'drizzle-orm';import{createInsertSchema,createSelectSchema,createUpdateSchema}from'drizzle-zod';function entitySchemas(_0x56c022){return{'select':createSelectSchema(_0x56c022),'insert':createInsertSchema(_0x56c022),'update':createUpdateSchema(_0x56c022)};}var WRITE_META_KEYS=[_0x160996(0x1b1),_0x160996(0x2d0),'deletedAt'];function sanitizeWritePayload(_0x13246c){const _0x122aa2=_0x160996,_0x4e5b20=_0x13246c&&typeof _0x13246c===_0x122aa2(0x156)&&!Array[_0x122aa2(0x2c1)](_0x13246c)?{..._0x13246c}:{};for(const _0x1fc228 of WRITE_META_KEYS)delete _0x4e5b20[_0x1fc228];for(const [_0x27a641,_0x128534]of Object['entries'](_0x4e5b20)){if(typeof _0x128534!==_0x122aa2(0x26d))continue;if(!/^\d{4}-\d{2}-\d{2}/[_0x122aa2(0x127)](_0x128534))continue;const _0x14c959=new Date(_0x128534);if(!Number[_0x122aa2(0x25c)](_0x14c959['getTime']()))_0x4e5b20[_0x27a641]=_0x14c959;}return _0x4e5b20;}function isSqlLike(_0x50e342){const _0x5ef3c0=_0x160996;return!!_0x50e342&&typeof _0x50e342===_0x5ef3c0(0x156)&&_0x50e342[_0x5ef3c0(0x265)]!=null;}function db(){const _0xc518e5=_0x160996;return Ioc[_0xc518e5(0x2d1)](DbStore)[_0xc518e5(0x19b)];}function tableId(_0x4f04b8){const _0x5e8f8c=_0x160996,_0x1f468a=_0x4f04b8['id'];if(!_0x1f468a)throw new Error(_0x5e8f8c(0x2b2));return _0x1f468a;}function deletedAtColumn2(_0x1d9b43){return _0x1d9b43['deletedAt'];}function mergeWhere2(_0x1c7a1e,_0x59d873){if(_0x1c7a1e&&_0x59d873)return _0x3cce37(_0x59d873,_0x1c7a1e);return _0x1c7a1e??_0x59d873;}function trashClause2(_0x2ebd6d,_0x24e6fe){const _0x479190=_0x160996;if(!resolveSoftDelete(_0x24e6fe?.[_0x479190(0x285)]))return;const _0x1e0edc=deletedAtColumn2(_0x2ebd6d);if(_0x1e0edc==null)return;if(_0x24e6fe?.[_0x479190(0x2ee)])return _0x5d6aab(_0x1e0edc);if(_0x24e6fe?.[_0x479190(0x2a5)])return;return _0x241d26(_0x1e0edc);}class Repository{[_0x160996(0x20b)];[_0x160996(0x1e9)];constructor(_0x445b76,_0x53db9b){this['table']=_0x445b76,this['schema']=_0x53db9b??entitySchemas(_0x445b76);}['supportsSoftDelete'](){return deletedAtColumn2(this['table'])!=null;}[_0x160996(0x25d)](_0x281426,_0x1a21ef){const _0x290b1b=_0x160996;return applyRowScopes(this[_0x290b1b(0x20b)],mergeWhere2(_0x281426,trashClause2(this['table'],_0x1a21ef)));}async[_0x160996(0x1a7)](_0x5c2092,_0x3bba34){const _0x2f8220=_0x160996,_0x51613f=this[_0x2f8220(0x25d)](_0x5c2092,_0x3bba34);let _0x315669=db()[_0x2f8220(0x20d)]()[_0x2f8220(0x2de)](this[_0x2f8220(0x20b)]);if(_0x51613f)_0x315669=_0x315669[_0x2f8220(0x29c)](_0x51613f);if(_0x3bba34?.[_0x2f8220(0x1a6)]?.[_0x2f8220(0x13e)])_0x315669=_0x315669['orderBy'](..._0x3bba34[_0x2f8220(0x1a6)]);return await _0x315669;}async[_0x160996(0x18a)](_0x14b547,_0x24faee){const _0x5c6e8f=_0x160996,[_0x68b1f9]=await this[_0x5c6e8f(0x1a7)](_0x14b547,_0x24faee);return _0x68b1f9;}async['findById'](_0x12fab6,_0x9b93cb){const _0x1581ec=_0x160996;return this['findOne'](_0x17b434(tableId(this[_0x1581ec(0x20b)]),_0x12fab6),_0x9b93cb);}async[_0x160996(0x150)](_0x162c89,_0x17eb8c){const _0xabbbea=_0x160996,_0x42a15f=this[_0xabbbea(0x25d)](_0x162c89,_0x17eb8c),_0x2b8f9b=db()[_0xabbbea(0x20d)]({'value':_0x50517d()})[_0xabbbea(0x2de)](this['table']),_0x4e8244=_0x42a15f?await _0x2b8f9b['where'](_0x42a15f):await _0x2b8f9b;return Number(_0x4e8244[0x0]?.['value']??0x0);}async[_0x160996(0x1de)](_0x1c9f71){const _0x131d01=_0x160996,{page:_0x3cb0ca,size:_0x4778b5,where:_0x1a06df,orderBy:_0x86f152,withTrashed:_0x17ef31,onlyTrashed:_0x4fb60e,softDelete:_0x566674}=_0x1c9f71,_0x38052c={'withTrashed':_0x17ef31,'onlyTrashed':_0x4fb60e,'softDelete':_0x566674},_0x15ffa8=this[_0x131d01(0x25d)](_0x1a06df,_0x38052c),_0x2e006a=(_0x3cb0ca-0x1)*_0x4778b5;let _0x931d93=db()[_0x131d01(0x20d)]()[_0x131d01(0x2de)](this['table']);if(_0x15ffa8)_0x931d93=_0x931d93[_0x131d01(0x29c)](_0x15ffa8);if(_0x86f152?.[_0x131d01(0x13e)])_0x931d93=_0x931d93[_0x131d01(0x1a6)](..._0x86f152);const _0x5f9a3=await _0x931d93[_0x131d01(0x13f)](_0x4778b5)[_0x131d01(0x2fb)](_0x2e006a),_0x2bc275=await this[_0x131d01(0x150)](_0x1a06df,_0x38052c);return{'list':_0x5f9a3,'pagination':{'page':_0x3cb0ca,'size':_0x4778b5,'total':_0x2bc275}};}[_0x160996(0x17b)](_0x2c6076){const _0x5ca223=_0x160996,_0x48d344=stampTenantId(this[_0x5ca223(0x20b)],sanitizeWritePayload(_0x2c6076));return this[_0x5ca223(0x1e9)][_0x5ca223(0x17e)][_0x5ca223(0x1cd)](_0x48d344);}async[_0x160996(0x2ac)](_0x745f97){const _0x184943=_0x160996;if(Array[_0x184943(0x2c1)](_0x745f97)){if(!_0x745f97[_0x184943(0x13e)])return[];const _0x12fee5=_0x745f97[_0x184943(0x2dd)](_0x29b619=>this['parseInsert'](_0x29b619));return await db()[_0x184943(0x17e)](this[_0x184943(0x20b)])[_0x184943(0x21e)](_0x12fee5)[_0x184943(0x1a0)]();}const [_0x35a6fa]=await db()[_0x184943(0x17e)](this[_0x184943(0x20b)])[_0x184943(0x21e)](this[_0x184943(0x17b)](_0x745f97))[_0x184943(0x1a0)]();return _0x35a6fa;}async[_0x160996(0x258)](_0x3598fa){const _0x446a09=_0x160996;if(Array[_0x446a09(0x2c1)](_0x3598fa)){if(!_0x3598fa['length'])return[];const _0x44d928=_0x3598fa,_0x227c8f=tableId(this[_0x446a09(0x20b)]),_0x14d4e3=_0x44d928['filter'](_0x12ef27=>_0x12ef27?.['id']!=null&&_0x12ef27['id']!==''),_0x13c1d7=_0x44d928[_0x446a09(0x1fa)](_0x1ad361=>_0x1ad361?.['id']==null||_0x1ad361['id']==='');let _0x422ef3=new Set();if(_0x14d4e3[_0x446a09(0x13e)]){const _0x39101d=await this[_0x446a09(0x1a7)](_0x5bfa8b(_0x227c8f,_0x14d4e3['map'](_0x3522a2=>_0x3522a2['id'])));_0x422ef3=new Set(_0x39101d[_0x446a09(0x2dd)](_0x555247=>_0x555247['id']));}const _0x487452=[],_0x595d9a=[..._0x13c1d7];for(const _0x4f5106 of _0x14d4e3){if(_0x422ef3[_0x446a09(0x263)](_0x4f5106['id']))_0x487452[_0x446a09(0x2e6)](_0x4f5106);else _0x595d9a[_0x446a09(0x2e6)](_0x4f5106);}const _0x4348b3=_0x487452['length']?await this[_0x446a09(0x2a6)](_0x487452):[],_0x535b92=_0x595d9a[_0x446a09(0x13e)]?await this[_0x446a09(0x2ac)](_0x595d9a):[];return[...Array[_0x446a09(0x2c1)](_0x4348b3)?_0x4348b3:_0x4348b3?[_0x4348b3]:[],...Array['isArray'](_0x535b92)?_0x535b92:_0x535b92?[_0x535b92]:[]];}const _0x55c315=_0x3598fa,_0xa1ffa7=_0x55c315?.['id'];if(_0xa1ffa7!=null&&_0xa1ffa7!==''){const _0x2f69e7=await this[_0x446a09(0x1b3)](_0xa1ffa7);if(_0x2f69e7){const {id:_0x2ccbcc,..._0x213a9e}=_0x55c315,_0x28d689=await this['update'](_0x17b434(tableId(this[_0x446a09(0x20b)]),_0xa1ffa7),_0x213a9e);return _0x28d689??_0x2f69e7;}}return await this['create'](_0x3598fa);}async[_0x160996(0x2a6)](_0x22145f,_0x2bf7c5){const _0x224aee=_0x160996;if(Array['isArray'](_0x22145f))return this[_0x224aee(0x2d4)](_0x22145f);const _0x2239d6=this[_0x224aee(0x1e9)][_0x224aee(0x2a6)][_0x224aee(0x1cd)](sanitizeWritePayload(_0x2bf7c5)),_0x1a9888=applyRowScopes(this['table'],_0x22145f);if(!_0x1a9888)return;const [_0x46110f]=await db()[_0x224aee(0x2a6)](this['table'])[_0x224aee(0x309)](_0x2239d6)[_0x224aee(0x29c)](_0x1a9888)[_0x224aee(0x1a0)]();return _0x46110f;}async[_0x160996(0x2d4)](_0x13fb3a){const _0x4739ec=_0x160996;if(!_0x13fb3a[_0x4739ec(0x13e)])return[];const _0x39fb32=tableId(this['table']),_0x221e39=new Map();for(const _0x3f0cb3 of _0x13fb3a){const _0x400a5e=_0x3f0cb3['id'];if(_0x400a5e==null||_0x400a5e==='')throw new Error(_0x4739ec(0x25f));const {id:_0x8c67df,..._0x4eafc4}=_0x3f0cb3,_0xf82d38=this[_0x4739ec(0x1e9)][_0x4739ec(0x2a6)]['parse'](sanitizeWritePayload(_0x4eafc4)),_0x63d6a=JSON[_0x4739ec(0x15c)](_0xf82d38),_0x5da7ab=_0x221e39[_0x4739ec(0x2d1)](_0x63d6a);if(_0x5da7ab)_0x5da7ab['ids']['push'](_0x400a5e);else _0x221e39[_0x4739ec(0x309)](_0x63d6a,{'ids':[_0x400a5e],'patch':_0xf82d38});}const _0x43e3d2=[];for(const {ids:_0x1a900e,patch:_0x450ee7}of _0x221e39[_0x4739ec(0x21e)]()){const _0x26aa69=applyRowScopes(this['table'],_0x5bfa8b(_0x39fb32,_0x1a900e));if(!_0x26aa69)continue;const _0x2c5a1b=await db()[_0x4739ec(0x2a6)](this[_0x4739ec(0x20b)])['set'](_0x450ee7)[_0x4739ec(0x29c)](_0x26aa69)[_0x4739ec(0x1a0)]();_0x43e3d2['push'](..._0x2c5a1b);}return _0x43e3d2;}['resolveIdWhere'](_0x47eaae){const _0x2bfac9=_0x160996;if(isSqlLike(_0x47eaae))return applyRowScopes(this[_0x2bfac9(0x20b)],_0x47eaae);const _0x465a0a=Array[_0x2bfac9(0x2c1)](_0x47eaae)?_0x47eaae:[_0x47eaae];if(!_0x465a0a[_0x2bfac9(0x13e)])return;return applyRowScopes(this[_0x2bfac9(0x20b)],_0x5bfa8b(tableId(this[_0x2bfac9(0x20b)]),_0x465a0a));}async[_0x160996(0x285)](_0x2d064e){const _0x14e2a3=_0x160996;if(!this[_0x14e2a3(0x2dc)]())throw new Error(_0x14e2a3(0x1aa));const _0x2c6f1c=this[_0x14e2a3(0x2cc)](_0x2d064e);if(!_0x2c6f1c)return;await db()[_0x14e2a3(0x2a6)](this[_0x14e2a3(0x20b)])[_0x14e2a3(0x309)]({'deletedAt':new Date()})[_0x14e2a3(0x29c)](_0x2c6f1c);}async[_0x160996(0x2bc)](_0x544d29){const _0x14d1f7=_0x160996;if(!this[_0x14d1f7(0x2dc)]())throw new Error('[Repository]\x20\u8868\u65E0\x20deletedAt\uFF0C\u65E0\u6CD5\u6062\u590D');const _0x70b384=this[_0x14d1f7(0x2cc)](_0x544d29);if(!_0x70b384)return;await db()['update'](this[_0x14d1f7(0x20b)])[_0x14d1f7(0x309)]({'deletedAt':null})[_0x14d1f7(0x29c)](_0x70b384);}async['forceDelete'](_0x1e05d7){const _0x520124=_0x160996,_0x56d6e1=this[_0x520124(0x2cc)](_0x1e05d7);if(!_0x56d6e1)return;await db()[_0x520124(0x2c6)](this['table'])[_0x520124(0x29c)](_0x56d6e1);}}var repoCache=new WeakMap();function getRepository(_0x30b6b1){const _0x241540=_0x160996,_0x43f6c3=repoCache[_0x241540(0x2d1)](_0x30b6b1);if(_0x43f6c3)return _0x43f6c3;const _0x16daf0=new Repository(_0x30b6b1);return repoCache['set'](_0x30b6b1,_0x16daf0),_0x16daf0;}function InjectRepository(_0x6794eb){return(_0x317efc,_0xfcbb52)=>{const _0x5c649d=_0x44c2;appendInjectMeta(_0x317efc[_0x5c649d(0x279)],{'propertyKey':_0xfcbb52,'resolve':()=>getRepository(_0x6794eb)});};}function isSql(_0x10fbbd){const _0x21a479=_0x160996;return!!_0x10fbbd&&typeof _0x10fbbd===_0x21a479(0x156)&&_0x10fbbd[_0x21a479(0x265)]!=null;}class BaseService{[_0x160996(0x187)];[_0x160996(0x1cf)](_0x3c22be){const _0x481b6d=_0x160996;if(!this['entity'])this[_0x481b6d(0x187)]=_0x3c22be;}[_0x160996(0x277)](_0x25bbe2){const _0x3dcbf4=_0x160996;this[_0x3dcbf4(0x187)]=_0x25bbe2;}[_0x160996(0x190)](){const _0x871350=_0x160996;return!!this[_0x871350(0x187)];}['getRepo'](){return this['requireEntity']();}[_0x160996(0x123)](){const _0x2fd51c=_0x160996;if(!this['entity'])throw new Error(_0x2fd51c(0x197));return this[_0x2fd51c(0x187)];}async[_0x160996(0x229)](_0x5920b3,_0xa06e18){}async['modifyAfter'](_0x55cd6f,_0x1dd1c2){}async[_0x160996(0x2f0)](_0x3523d8,_0x40ac3b){const _0x12f25b=_0x160996,_0x49ba1e=resolveUpsert(_0x40ac3b?.['upsert']),_0x209030=Array[_0x12f25b(0x2c1)](_0x3523d8)?_0x3523d8[_0x12f25b(0x2dd)](_0x4623e0=>_0x4623e0!=null&&typeof _0x4623e0===_0x12f25b(0x156)?{..._0x4623e0}:_0x4623e0):_0x3523d8!=null&&typeof _0x3523d8===_0x12f25b(0x156)?{..._0x3523d8}:_0x3523d8;await this[_0x12f25b(0x229)](_0x209030,_0x12f25b(0x2f0));const _0x34142a=_0x49ba1e==='save'?await this[_0x12f25b(0x123)]()['save'](_0x209030):await this[_0x12f25b(0x123)]()[_0x12f25b(0x2ac)](_0x209030);return await this['modifyAfter'](_0x34142a??_0x209030,_0x12f25b(0x2f0)),_0x34142a;}async[_0x160996(0x2a6)](_0x341bee,_0x390608){const _0x17f41a=_0x160996;if(Array['isArray'](_0x341bee)){const _0x9359e3=_0x341bee[_0x17f41a(0x2dd)](_0x3658c2=>({..._0x3658c2}));await this['modifyBefore'](_0x9359e3,_0x17f41a(0x2a6));const _0x47b315=await this[_0x17f41a(0x123)]()[_0x17f41a(0x2a6)](_0x9359e3);return await this[_0x17f41a(0x200)](_0x47b315??_0x9359e3,_0x17f41a(0x2a6)),_0x47b315;}if(isSql(_0x341bee)){const _0x7f2614=_0x390608!=null&&typeof _0x390608===_0x17f41a(0x156)?{..._0x390608}:_0x390608;await this[_0x17f41a(0x229)](_0x7f2614,_0x17f41a(0x2a6));const _0x40a60e=await this[_0x17f41a(0x123)]()[_0x17f41a(0x2a6)](_0x341bee,_0x7f2614);return await this[_0x17f41a(0x200)](_0x40a60e??_0x7f2614,_0x17f41a(0x2a6)),_0x40a60e;}const _0x5050d0={..._0x341bee};await this[_0x17f41a(0x229)](_0x5050d0,'update');const _0x1ed6d4=await this[_0x17f41a(0x123)]()[_0x17f41a(0x2a6)]([_0x5050d0]);return await this[_0x17f41a(0x200)](_0x1ed6d4??_0x5050d0,_0x17f41a(0x2a6)),Array[_0x17f41a(0x2c1)](_0x1ed6d4)?_0x1ed6d4[0x0]:_0x1ed6d4;}async[_0x160996(0x2c6)](_0x2bb4d4,_0x45bf9b){const _0x4276d7=_0x160996,_0x3230c4=this[_0x4276d7(0x123)]();await this[_0x4276d7(0x229)](_0x2bb4d4,_0x4276d7(0x2c6));const _0x3197ba=resolveSoftDelete(_0x45bf9b?.[_0x4276d7(0x285)]);_0x45bf9b?.[_0x4276d7(0x213)]||!_0x3197ba||!_0x3230c4[_0x4276d7(0x2dc)]()?await _0x3230c4['forceDelete'](_0x2bb4d4):await _0x3230c4[_0x4276d7(0x285)](_0x2bb4d4),await this[_0x4276d7(0x200)](_0x2bb4d4,_0x4276d7(0x2c6));}[_0x160996(0x2bc)](_0x5434f1){const _0x1c2a16=_0x160996;return this[_0x1c2a16(0x123)]()[_0x1c2a16(0x2bc)](_0x5434f1);}['list'](_0x78b962,_0x2a2788){const _0x4c85a0=_0x160996;return this[_0x4c85a0(0x123)]()[_0x4c85a0(0x1a7)](_0x78b962,_0x2a2788);}['info'](_0xff7173,_0x1817da){const _0x3d8bb5=_0x160996,_0x380c89=this['requireEntity']();if(typeof _0xff7173===_0x3d8bb5(0x156))return _0x380c89[_0x3d8bb5(0x18a)](_0xff7173,_0x1817da);return _0x380c89[_0x3d8bb5(0x1b3)](_0xff7173,_0x1817da);}[_0x160996(0x121)](_0x56414b={}){const _0xa82a69=_0x160996,_0x25daba=Math['max'](0x1,_0x56414b['page']??0x1),_0x206565=Math[_0xa82a69(0x1c2)](0x64,Math[_0xa82a69(0x1d9)](0x1,_0x56414b['size']??0x14));return this[_0xa82a69(0x123)]()[_0xa82a69(0x1de)]({'page':_0x25daba,'size':_0x206565,'where':_0x56414b[_0xa82a69(0x29c)],'orderBy':_0x56414b[_0xa82a69(0x1a6)],'withTrashed':_0x56414b['withTrashed'],'onlyTrashed':_0x56414b['onlyTrashed'],'softDelete':_0x56414b[_0xa82a69(0x285)]});}}var CRUD_SUMMARY={'add':'\u65B0\u589E','delete':'\u5220\u9664','update':'\u4FEE\u6539','info':_0x160996(0x267),'list':_0x160996(0x255),'page':_0x160996(0x29e),'restore':'\u6062\u590D'},CRUD_APIS=[_0x160996(0x2f0),_0x160996(0x2c6),_0x160996(0x2a6),'info','list',_0x160996(0x121),_0x160996(0x2bc)],BEFORE_APIS=new Set(['add',_0x160996(0x2a6),_0x160996(0x2c6),'restore']);function omitProps(_0x2de5e3,_0x4d670f){if(!_0x2de5e3||!_0x4d670f?.['length'])return _0x2de5e3;const _0x2aeef4={..._0x2de5e3};for(const _0x5871c0 of _0x4d670f)delete _0x2aeef4[_0x5871c0];return _0x2aeef4;}function resolveIds(_0xd1e465){const _0x117152=_0x160996;if(Array[_0x117152(0x2c1)](_0xd1e465))return _0xd1e465[_0x117152(0x2dd)](_0x429632=>{if(_0x429632!=null&&typeof _0x429632==='object'&&'id'in _0x429632)return _0x429632['id'];return _0x429632;});if(_0xd1e465&&typeof _0xd1e465===_0x117152(0x156)){const _0x4e5acd=_0xd1e465;if(Array[_0x117152(0x2c1)](_0x4e5acd[_0x117152(0x138)]))return _0x4e5acd[_0x117152(0x138)];if(_0x4e5acd['id']!=null)return[_0x4e5acd['id']];}return[];}function resolveService(_0x3585e9){const _0x338254=_0x160996,_0x2d57f2=_0x3585e9['crud'],_0x590054=_0x2d57f2['entity'];if(_0x2d57f2['service']){const _0x47b79c=Ioc['get'](_0x2d57f2[_0x338254(0x2d2)]);if(_0x590054&&!_0x47b79c['hasEntity']())_0x47b79c['setEntity'](getRepository(_0x590054));return _0x47b79c;}if(!_0x590054)throw new Error(_0x338254(0x294)+_0x3585e9[_0x338254(0x2a4)][_0x338254(0x179)]+_0x338254(0x269));const _0x502417=new class extends BaseService{}();return _0x502417[_0x338254(0x277)](getRepository(_0x590054)),_0x502417;}function tableOf(_0x506909,_0x4765d3){const _0x3555af=_0x160996,_0x37d90d=_0x4765d3[_0x3555af(0x166)]?.[_0x3555af(0x187)];if(_0x37d90d)return _0x37d90d;return _0x506909[_0x3555af(0x1d8)]()[_0x3555af(0x20b)];}var attachCrudRoutes=(_0x452b55,_0x118e1a,_0x540782)=>{const _0x48b0eb=_0x160996,_0xcdddbd=_0x118e1a[_0x48b0eb(0x166)];if(!_0xcdddbd)return _0x452b55;const _0x1e023d=(_0xcdddbd['api']??[])['filter'](_0x1fdf18=>CRUD_APIS[_0x48b0eb(0x271)](_0x1fdf18)),_0x46adfd=_0xcdddbd[_0x48b0eb(0x211)]??[];if(!_0x1e023d['length']&&!_0x46adfd['length'])return _0x452b55;const _0x544490=_0x540782[_0x48b0eb(0x2a2)]instanceof BaseController?_0x540782[_0x48b0eb(0x2a2)]:new BaseController(),_0x274c74=_0x1e023d[_0x48b0eb(0x13e)]>0x0,_0x10a029=_0x274c74||_0xcdddbd['service']?resolveService(_0x118e1a):undefined,_0x2d769e=_0x274c74&&_0x10a029?tableOf(_0x10a029,_0x118e1a):undefined,_0x4e4e79=_0x2d769e?_0x2d769e['id']:undefined;if(_0x274c74&&_0x4e4e79==null)throw new Error(_0x48b0eb(0x294)+_0x118e1a[_0x48b0eb(0x2a4)][_0x48b0eb(0x179)]+'\x20表无\x20id\x20列');let _0x41b101=_0x452b55;const _0x2f2874=(_0x8b1548,_0x1d4835,_0xbe3517,_0xc45354)=>{const _0x149c28=_0x48b0eb;_0x41b101=_0x41b101[_0x8b1548](_0x1d4835,_0xc45354,_0x540782[_0x149c28(0x21a)]({'action':_0xbe3517,'summary':CRUD_SUMMARY[_0xbe3517]}));},_0x1244ee=async(_0x1bcd79,_0x7bf0f6,_0x5d64e8)=>{const _0x47e53a=_0x48b0eb;if(!_0xcdddbd[_0x47e53a(0x1a2)]||!BEFORE_APIS['has'](_0x1bcd79))return _0x7bf0f6;return await _0xcdddbd[_0x47e53a(0x1a2)]({'body':_0x7bf0f6,'request':_0x5d64e8,'api':_0x1bcd79}),_0x7bf0f6;};_0x1e023d[_0x48b0eb(0x271)](_0x48b0eb(0x2f0))&&_0x10a029&&_0x2f2874(_0x48b0eb(0x2b8),'/add',_0x48b0eb(0x2f0),async({body:_0x3bfe63,request:_0x3532c3})=>{const _0xbfe67b=_0x48b0eb;try{const _0x23621b=_0x3bfe63;if(Array[_0xbfe67b(0x2c1)](_0x23621b)){let _0x17b9d5=_0x23621b;if(_0xcdddbd[_0xbfe67b(0x1a2)]&&BEFORE_APIS['has'](_0xbfe67b(0x2f0)))for(let _0x263a97=0x0;_0x263a97<_0x17b9d5[_0xbfe67b(0x13e)];_0x263a97++){_0x17b9d5[_0x263a97]=await _0x1244ee(_0xbfe67b(0x2f0),{..._0x17b9d5[_0x263a97]??{}},_0x3532c3);}if(_0xcdddbd['insertParam']){const _0x2c0eef=await _0xcdddbd['insertParam']({'body':_0x17b9d5[0x0]??{},'request':_0x3532c3});_0x17b9d5=_0x17b9d5['map'](_0x3e3ec9=>({..._0x3e3ec9,..._0x2c0eef}));}const _0x169748=await _0x10a029[_0xbfe67b(0x2f0)](_0x17b9d5);return _0x544490['ok'](_0x169748);}let _0x5136e1={..._0x23621b??{}};_0x5136e1=await _0x1244ee(_0xbfe67b(0x2f0),_0x5136e1,_0x3532c3);_0xcdddbd['insertParam']&&Object[_0xbfe67b(0x1ca)](_0x5136e1,await _0xcdddbd[_0xbfe67b(0x291)]({'body':_0x5136e1,'request':_0x3532c3}));const _0x16f49d=await _0x10a029[_0xbfe67b(0x2f0)](_0x5136e1);return _0x544490['ok'](_0x16f49d);}catch(_0x2574aa){return _0x544490[_0xbfe67b(0x1cb)](_0x2574aa instanceof Error?_0x2574aa[_0xbfe67b(0x173)]:_0xbfe67b(0x178));}});_0x1e023d[_0x48b0eb(0x271)](_0x48b0eb(0x2c6))&&_0x10a029&&_0x4e4e79&&_0x2f2874(_0x48b0eb(0x2b8),_0x48b0eb(0x1a4),'delete',async({body:_0x352c32,request:_0x5f4ce3})=>{const _0x523a10=_0x48b0eb;try{const _0x26c317=_0x352c32,_0x5b44a3=Array[_0x523a10(0x2c1)](_0x26c317)?_0x26c317:await _0x1244ee(_0x523a10(0x2c6),{..._0x26c317??{}},_0x5f4ce3),_0x58dd0d=resolveIds(_0x5b44a3);if(!_0x58dd0d['length'])return _0x544490['fail']('ids\x20required');const _0x1302bb=!Array[_0x523a10(0x2c1)](_0x5b44a3)&&!!_0x5b44a3[_0x523a10(0x213)];return await _0x10a029[_0x523a10(0x2c6)](_0x58dd0d,{'force':_0x1302bb}),_0x544490['ok']();}catch(_0x1f262c){return _0x544490['fail'](_0x1f262c instanceof Error?_0x1f262c['message']:_0x523a10(0x2b5));}});_0x1e023d[_0x48b0eb(0x271)](_0x48b0eb(0x2a6))&&_0x10a029&&_0x4e4e79&&_0x2f2874(_0x48b0eb(0x2b8),_0x48b0eb(0x2fd),'update',async({body:_0xf01eed,request:_0x4edc51})=>{const _0x711caa=_0x48b0eb;try{const _0x344760=_0xf01eed;if(Array[_0x711caa(0x2c1)](_0x344760)){let _0x4d2578=_0x344760;if(_0xcdddbd['before']&&BEFORE_APIS[_0x711caa(0x263)](_0x711caa(0x2a6)))for(let _0x37f9c0=0x0;_0x37f9c0<_0x4d2578[_0x711caa(0x13e)];_0x37f9c0++){_0x4d2578[_0x37f9c0]=await _0x1244ee('update',{..._0x4d2578[_0x37f9c0]??{}},_0x4edc51);}const _0x4653d6=await _0x10a029['update'](_0x4d2578);return _0x544490['ok'](_0x4653d6);}const _0x4a4d3d=await _0x1244ee(_0x711caa(0x2a6),{..._0x344760??{}},_0x4edc51),_0x31d717=_0x4a4d3d['id'];if(_0x31d717==null)return _0x544490[_0x711caa(0x1cb)](_0x711caa(0x152));const _0x4c6cc4=await _0x10a029[_0x711caa(0x2a6)](_0x4a4d3d);return _0x544490['ok'](_0x4c6cc4);}catch(_0x449412){return _0x544490[_0x711caa(0x1cb)](_0x449412 instanceof Error?_0x449412[_0x711caa(0x173)]:'update\x20failed');}});_0x1e023d[_0x48b0eb(0x271)](_0x48b0eb(0x237))&&_0x10a029&&_0x2f2874(_0x48b0eb(0x2d1),'/info','info',async({query:_0x282985})=>{const _0x45dc2f=_0x48b0eb;try{const _0x1bc99f=_0x282985?.['id'];if(_0x1bc99f==null||_0x1bc99f==='')return _0x544490[_0x45dc2f(0x1cb)](_0x45dc2f(0x152));const _0x37779d=await _0x10a029['info'](_0x1bc99f);return _0x544490['ok'](omitProps(_0x37779d,_0xcdddbd['infoIgnoreProperty']));}catch(_0x9f2eef){return _0x544490['fail'](_0x9f2eef instanceof Error?_0x9f2eef[_0x45dc2f(0x173)]:'info\x20failed');}});_0x1e023d['includes']('list')&&_0x10a029&&_0x2d769e&&_0x2f2874('post',_0x48b0eb(0x1ce),_0x48b0eb(0x281),async({body:_0x1c6f4c,request:_0x5ae6f8})=>{const _0x1e3ac0=_0x48b0eb;try{const _0x1cd89f=_0x1c6f4c??{},_0x5981bf=_0xcdddbd[_0x1e3ac0(0x12c)]??{},_0x3c4725={'onlyTrashed':_0x1cd89f[_0x1e3ac0(0x2ee)]===!![],'withTrashed':_0x1cd89f[_0x1e3ac0(0x2a5)]===!![]};if(needsAdvancedQuery(_0x5981bf)){const _0x10b3a1=await queryWithOp(_0x2d769e,_0x1cd89f,_0x5981bf,{'request':_0x5ae6f8,'mode':'list','trash':_0x3c4725});return _0x544490['ok'](_0x10b3a1);}const {where:_0x2db18e,orderBySql:_0x208553}=await buildQueryOp(_0x2d769e,_0x1cd89f,_0x5981bf,_0x5ae6f8),_0x46f346=await _0x10a029[_0x1e3ac0(0x281)](_0x2db18e,{'orderBy':_0x208553,..._0x3c4725});return _0x544490['ok'](_0x46f346);}catch(_0x5a4778){return _0x544490[_0x1e3ac0(0x1cb)](_0x5a4778 instanceof Error?_0x5a4778['message']:_0x1e3ac0(0x1bd));}});_0x1e023d[_0x48b0eb(0x271)]('page')&&_0x10a029&&_0x2d769e&&_0x2f2874(_0x48b0eb(0x2b8),_0x48b0eb(0x1a8),_0x48b0eb(0x121),async({body:_0x5a54bd,request:_0x29a272})=>{const _0x4cf9ba=_0x48b0eb;try{const _0x593c88=_0x5a54bd??{},_0x25197c=_0xcdddbd[_0x4cf9ba(0x163)]??{},_0x18c443={'onlyTrashed':_0x593c88[_0x4cf9ba(0x2ee)]===!![],'withTrashed':_0x593c88[_0x4cf9ba(0x2a5)]===!![]};if(needsAdvancedQuery(_0x25197c)){const _0x3b45ac=await queryWithOp(_0x2d769e,_0x593c88,_0x25197c,{'request':_0x29a272,'mode':'page','trash':_0x18c443});return _0x544490['ok'](_0x3b45ac);}const {where:_0x429b4c,orderBySql:_0x1f4b60}=await buildQueryOp(_0x2d769e,_0x593c88,_0x25197c,_0x29a272),_0x210ad3=await _0x10a029[_0x4cf9ba(0x121)]({'page':Number(_0x593c88[_0x4cf9ba(0x121)]??0x1),'size':Number(_0x593c88[_0x4cf9ba(0x14c)]??0x14),'where':_0x429b4c,'orderBy':_0x1f4b60,..._0x18c443});return _0x544490['ok'](_0x210ad3);}catch(_0x2b4034){return _0x544490['fail'](_0x2b4034 instanceof Error?_0x2b4034[_0x4cf9ba(0x173)]:_0x4cf9ba(0x208));}});_0x1e023d[_0x48b0eb(0x271)](_0x48b0eb(0x2bc))&&_0x10a029&&_0x4e4e79&&_0x2f2874(_0x48b0eb(0x2b8),_0x48b0eb(0x1dc),'restore',async({body:_0xa213f3,request:_0x3159a7})=>{const _0x52bae7=_0x48b0eb;try{const _0x154021=_0xa213f3,_0x217278=Array[_0x52bae7(0x2c1)](_0x154021)?_0x154021:await _0x1244ee(_0x52bae7(0x2bc),{..._0x154021??{}},_0x3159a7),_0x4fb7ca=resolveIds(_0x217278);if(!_0x4fb7ca[_0x52bae7(0x13e)])return _0x544490[_0x52bae7(0x1cb)](_0x52bae7(0x141));return await _0x10a029[_0x52bae7(0x2bc)](_0x4fb7ca),_0x544490['ok']();}catch(_0x39c30c){return _0x544490[_0x52bae7(0x1cb)](_0x39c30c instanceof Error?_0x39c30c['message']:_0x52bae7(0x15f));}});if(_0x46adfd[_0x48b0eb(0x13e)]){if(!_0xcdddbd[_0x48b0eb(0x2d2)])throw new Error(_0x48b0eb(0x294)+_0x118e1a['token'][_0x48b0eb(0x179)]+_0x48b0eb(0x1b0));const _0x2afe91=Ioc[_0x48b0eb(0x2d1)](_0xcdddbd[_0x48b0eb(0x2d2)]);for(const _0x3315ef of _0x46adfd){const _0x1da564=_0x2afe91[_0x3315ef];if(typeof _0x1da564!==_0x48b0eb(0x2d3))throw new Error(_0x48b0eb(0x294)+_0xcdddbd[_0x48b0eb(0x2d2)]['name']+'.'+_0x3315ef+_0x48b0eb(0x149));const _0x4f4bf7=_0x1da564['bind'](_0x2afe91);_0x2f2874(_0x48b0eb(0x2b8),'/'+_0x3315ef,_0x3315ef,async({body:_0x4fb551})=>{const _0x354a2d=_0x48b0eb;try{const _0x2ba2a1=await _0x4f4bf7(_0x4fb551);return _0x544490['ok'](_0x2ba2a1);}catch(_0x17233a){return _0x544490['fail'](_0x17233a instanceof Error?_0x17233a['message']:_0x3315ef+_0x354a2d(0x257));}});}}return _0x41b101;};import{join as _0x44e4c9}from'path';import{pathToFileURL as _0x21c144}from'url';var SERVICE_PATTERN=_0x160996(0x198),CONTROLLER_SCANS=[{'pattern':_0x160996(0x19e),'side':'admin'},{'pattern':_0x160996(0x162),'side':_0x160996(0x215)}];async function importWithContext(_0x2a1155,_0x3dfb00,_0x5ec1b9){setControllerScanContext({'module':parseModuleFromPath(_0x3dfb00),'side':_0x5ec1b9,'file':_0x3dfb00});try{const _0xcadcb9=_0x21c144(_0x44e4c9(_0x2a1155,_0x3dfb00))['href'];await import(_0xcadcb9);}finally{setControllerScanContext(null);}}async function scanHost(){const _0x87f766=_0x160996,_0x37a478=process[_0x87f766(0x1d4)](),_0x20bfe=await scanFiles(SERVICE_PATTERN,{'cwd':_0x37a478});for(const _0x414793 of _0x20bfe){const _0x3cb91b=_0x21c144(_0x44e4c9(_0x37a478,_0x414793))[_0x87f766(0x21d)];await import(_0x3cb91b);}let _0x319e85=0x0;for(const {pattern:_0x45de9e,side:_0x2c1049}of CONTROLLER_SCANS){const _0x56fdec=await scanFiles(_0x45de9e,{'cwd':_0x37a478});_0x319e85+=_0x56fdec[_0x87f766(0x13e)];for(const _0x1bbbd3 of _0x56fdec){await importWithContext(_0x37a478,_0x1bbbd3,_0x2c1049);}}setCrudRegistrar(attachCrudRoutes),console['log'](_0x87f766(0x172)),console[_0x87f766(0x230)](_0x87f766(0x28a)+_0x20bfe[_0x87f766(0x13e)]+_0x87f766(0x2e3)+_0x319e85+'\x20controller\x20file(s)');}import{join as _0x1ee6b5}from'path';import{createPinoLogger}from'@bogeychan/elysia-logger';import _0x9f6a04 from'pino-pretty';import{createWriteStream,mkdirSync,readdirSync,unlinkSync}from'fs';import{join as _0x166977}from'path';import{Writable}from'stream';var FILE_PATTERN=/^(\d{4}-\d{2}-\d{2})\.log$/;function formatLocalDate(_0x54f991=new Date()){const _0x55ae82=_0x160996,_0x256f83=_0x54f991[_0x55ae82(0x2eb)](),_0x121d8a=String(_0x54f991[_0x55ae82(0x24e)]()+0x1)[_0x55ae82(0x2ea)](0x2,'0'),_0x1ca18=String(_0x54f991[_0x55ae82(0x2b4)]())[_0x55ae82(0x2ea)](0x2,'0');return _0x256f83+'-'+_0x121d8a+'-'+_0x1ca18;}function purgeOldLogs(_0x376d9a,_0x3abbf9){const _0x24f19f=_0x160996,_0x1a8360=new Date();_0x1a8360[_0x24f19f(0x245)](_0x1a8360['getDate']()-_0x3abbf9);const _0x5b0f96=formatLocalDate(_0x1a8360);for(const _0x51b3d7 of readdirSync(_0x376d9a)){const _0x96476e=_0x51b3d7[_0x24f19f(0x297)](FILE_PATTERN);if(!_0x96476e||_0x96476e[0x1]>=_0x5b0f96)continue;unlinkSync(_0x166977(_0x376d9a,_0x51b3d7));}}function openDailyStream(_0x43cbfc,_0xfbcb88){const _0xacc8ee=_0x160996;return createWriteStream(_0x166977(_0x43cbfc,_0xfbcb88+_0xacc8ee(0x227)),{'flags':'a'});}function createDailyLogStream(_0x5c1ad2,_0x4f53d8=0x1e){mkdirSync(_0x5c1ad2,{'recursive':!![]}),purgeOldLogs(_0x5c1ad2,_0x4f53d8);let _0x563d3f=formatLocalDate(),_0x56abf0=openDailyStream(_0x5c1ad2,_0x563d3f);return new Writable({'write'(_0x4ea821,_0x3c773e,_0x9a0ef8){const _0x399fd2=_0x44c2,_0x1504fb=formatLocalDate();_0x1504fb!==_0x563d3f&&(_0x56abf0[_0x399fd2(0x194)](),_0x563d3f=_0x1504fb,_0x56abf0=openDailyStream(_0x5c1ad2,_0x563d3f),purgeOldLogs(_0x5c1ad2,_0x4f53d8)),_0x56abf0[_0x399fd2(0x256)](_0x4ea821,_0x9a0ef8);},'final'(_0x1ed126){const _0x2c4031=_0x44c2;_0x56abf0[_0x2c4031(0x194)](_0x1ed126);}});}var pinoInstance;function buildPino(){const _0x2be23f=_0x160996,_0x40d2bb=VomeConfig[_0x2be23f(0x24a)]??{},_0x598068=_0x40d2bb[_0x2be23f(0x2bd)]??_0x2be23f(0x237);if(_0x40d2bb['transport']==='file'){const _0x20cf9a=_0x1ee6b5(process[_0x2be23f(0x1d4)](),_0x40d2bb[_0x2be23f(0x1c7)]??'logging'),_0x305592=_0x40d2bb[_0x2be23f(0x1b8)]??0x1e;return createPinoLogger({'level':_0x598068,'stream':createDailyLogStream(_0x20cf9a,_0x305592)});}return createPinoLogger({'level':_0x598068,'stream':_0x9f6a04({'colorize':!![],'translateTime':'SYS:standard','ignore':_0x2be23f(0x27e)})});}function getPinoLogger(){if(!pinoInstance)pinoInstance=buildPino();return pinoInstance;}function resetPinoLogger(){pinoInstance=undefined;}class Logger{['info'](_0x38166e,..._0xace2c7){const _0x2c8c04=_0x160996,_0x12b636=getPinoLogger();if(_0xace2c7[_0x2c8c04(0x13e)])_0x12b636[_0x2c8c04(0x237)]({'args':_0xace2c7},_0x38166e);else _0x12b636[_0x2c8c04(0x237)](_0x38166e);}[_0x160996(0x21b)](_0xeee9c5,..._0x5f1f66){const _0x333a7f=_0x160996,_0x5bce51=getPinoLogger();if(_0x5f1f66['length'])_0x5bce51[_0x333a7f(0x21b)]({'args':_0x5f1f66},_0xeee9c5);else _0x5bce51[_0x333a7f(0x21b)](_0xeee9c5);}[_0x160996(0x254)](_0x2aca0e,..._0x25a53e){const _0x1e93ad=_0x160996,_0x3e5627=getPinoLogger();if(_0x25a53e[_0x1e93ad(0x13e)])_0x3e5627[_0x1e93ad(0x254)]({'args':_0x25a53e},_0x2aca0e);else _0x3e5627['debug'](_0x2aca0e);}['error'](_0x1804fa,..._0x4d8d58){const _0x39f366=_0x160996,_0x56c40b=getPinoLogger();if(_0x1804fa instanceof Error){_0x56c40b[_0x39f366(0x2d6)](_0x1804fa);return;}if(_0x4d8d58[0x0]instanceof Error){_0x56c40b[_0x39f366(0x2d6)](_0x4d8d58[0x0],_0x1804fa);return;}if(_0x4d8d58[_0x39f366(0x13e)])_0x56c40b[_0x39f366(0x2d6)]({'args':_0x4d8d58},_0x1804fa);else _0x56c40b[_0x39f366(0x2d6)](_0x1804fa);}}class CommException extends Error{[_0x160996(0x199)];[_0x160996(0x288)];constructor(_0xb61b9b,_0x58b0cd){const _0x3457c1=_0x160996;super(_0xb61b9b),this[_0x3457c1(0x179)]='CommException',this[_0x3457c1(0x199)]=_0x58b0cd?.['statusCode']??0xc8,this[_0x3457c1(0x288)]=_0x58b0cd?.[_0x3457c1(0x288)]??RES_CODE[_0x3457c1(0x1d7)];}}function isCommException(_0x136b7e){return _0x136b7e instanceof CommException;}function bootstrapLogger(){const _0x384938=_0x160996;getPinoLogger(),Ioc[_0x384938(0x309)](Logger,new Logger());}var VOME_BANNER='\x0a██╗\x20\x20\x20██╗\x20\x20\x20██████╗\x20\x20\x20███╗\x20\x20\x20███╗\x20\x20███████╗\x0a██║\x20\x20\x20██║\x20\x20██╔═══██╗\x20\x20████╗\x20████║\x20\x20██╔════╝\x0a██║\x20\x20\x20██║\x20\x20██║\x20\x20\x20██║\x20\x20██╔████╔██║\x20\x20█████╗\x0a\x20██╗\x20██╔╝\x20\x20██║\x20\x20\x20██║\x20\x20██║╚██╔╝██║\x20\x20██╔══╝\x0a\x20\x20╚███╔╝\x20\x20\x20╚██████╔╝\x20\x20██║\x20╚═╝\x20██║\x20\x20███████╗\x0a\x20\x20\x20╚══╝\x20\x20\x20\x20\x20╚═════╝\x20\x20\x20╚═╝\x20\x20\x20\x20\x20╚═╝\x20\x20╚══════╝\x0a';function resetViewport(){const _0x484905=_0x160996;if(!process[_0x484905(0x2e9)]['isTTY'])return;process[_0x484905(0x2e9)]['write'](_0x484905(0x2ba));}function printStartupBanner(){const _0xa20ec1=_0x160996;resetViewport();const _0x16d171=getEnv(),_0x26ee8a=VomeConfig['system']?.[_0xa20ec1(0x2df)]??0xbb9,_0x324017=VomeConfig[_0xa20ec1(0x2d5)]?.[_0xa20ec1(0x182)]??_0xa20ec1(0x22b),_0x419f9e=_0xa20ec1(0x164)+_0x26ee8a;console['log'](VOME_BANNER),console[_0xa20ec1(0x230)]('🌍\x20运行环境:\x20'+_0x16d171),_0x16d171==='dev'&&(console[_0xa20ec1(0x230)](_0xa20ec1(0x2af)+_0x419f9e),console['log'](_0xa20ec1(0x1e6)+_0x419f9e+(_0x324017['startsWith']('/')?_0x324017:'/'+_0x324017)));}import{access}from'fs/promises';import{join as _0x1ff524}from'path';import{pathToFileURL as _0x5b147e}from'url';async function exists(_0x1d5fbf){try{return await access(_0x1d5fbf),!![];}catch{return![];}}async function importHostModule(_0x51bd4c){const _0x325645=_0x160996,_0x5c226d=_0x1ff524(process[_0x325645(0x1d4)](),_0x51bd4c);if(!await exists(_0x5c226d)){console['warn']('[Host]\x20skip\x20←\x20missing\x20'+_0x51bd4c);return;}return await import(_0x5b147e(_0x5c226d)[_0x325645(0x21d)]);}async function bootstrapHostInfra(){const _0x5293ec=_0x160996,_0x287a99=await importHostModule(_0x5293ec(0x1e7));if(_0x287a99?.['Db']?.[_0x5293ec(0x185)])await _0x287a99['Db'][_0x5293ec(0x185)]();const _0x334bc0=await importHostModule(_0x5293ec(0x2ab));if(_0x334bc0?.[_0x5293ec(0x15d)]?.[_0x5293ec(0x185)])await _0x334bc0[_0x5293ec(0x15d)][_0x5293ec(0x185)]();const _0x357719=await importHostModule(_0x5293ec(0x1b5));if(_0x357719?.[_0x5293ec(0x2e8)]?.[_0x5293ec(0x185)])await _0x357719[_0x5293ec(0x2e8)][_0x5293ec(0x185)]();}async function bootstrapHostTasks(){const _0x330fae=_0x160996,_0x53eb83=await importHostModule(_0x330fae(0x19c));if(_0x53eb83?.[_0x330fae(0x1f6)]?.[_0x330fae(0x185)])await _0x53eb83[_0x330fae(0x1f6)][_0x330fae(0x185)]();}async function bootstrapHostPlugins(){const _0x5201cb=_0x160996,_0x37ac41=await importHostModule(_0x5201cb(0x1c6));if(_0x37ac41?.['Plugin']?.['bootstrap'])await _0x37ac41[_0x5201cb(0x28b)][_0x5201cb(0x185)]();}async function bootstrapHostModules(){const _0x29eb38=_0x160996,_0xcf2b66=await importHostModule('src/lib/module/index.ts');if(_0xcf2b66?.[_0x29eb38(0x1ef)]?.[_0x29eb38(0x185)])await _0xcf2b66[_0x29eb38(0x1ef)][_0x29eb38(0x185)]();}async function shutdownHostTasks(){const _0x30d525=_0x160996,_0x1893ae=await importHostModule(_0x30d525(0x19c));if(_0x1893ae?.['Task']?.[_0x30d525(0x18c)])await _0x1893ae[_0x30d525(0x1f6)][_0x30d525(0x18c)]();}async function shutdownHostInfra(){const _0x1ccc1c=_0x160996,_0x2370be=await importHostModule('src/lib/cache/index.ts');if(_0x2370be?.['Cache']?.[_0x1ccc1c(0x18c)])await _0x2370be[_0x1ccc1c(0x15d)][_0x1ccc1c(0x18c)]();const _0x38fb3c=await importHostModule(_0x1ccc1c(0x1e7));if(_0x38fb3c?.['Db']?.[_0x1ccc1c(0x18c)])await _0x38fb3c['Db'][_0x1ccc1c(0x18c)]();}async function applyHostAuthMiddleware(_0x4190de){const _0xdbf4c9=_0x160996,_0x478d60=await importHostModule(_0xdbf4c9(0x1b4));if(!_0x478d60)return _0x4190de;let _0x2d5734=_0x4190de;if(_0x478d60[_0xdbf4c9(0x2db)])_0x2d5734=_0x2d5734['use'](_0x478d60[_0xdbf4c9(0x2db)]);if(_0x478d60[_0xdbf4c9(0x195)])_0x2d5734=_0x2d5734[_0xdbf4c9(0x286)](_0x478d60[_0xdbf4c9(0x195)]);if(_0x478d60[_0xdbf4c9(0x136)])_0x2d5734=_0x2d5734[_0xdbf4c9(0x286)](_0x478d60['requestLog']);if(_0x478d60[_0xdbf4c9(0x2e5)])_0x2d5734=_0x2d5734['use'](_0x478d60['microApps']);if(_0x478d60[_0xdbf4c9(0x2cd)])_0x2d5734=_0x2d5734[_0xdbf4c9(0x286)](_0x478d60[_0xdbf4c9(0x2cd)]);return _0x2d5734;}function applyAsyncContext(_0x4e2e83){const _0x5a3f68=_0x160996,_0x2abee6=VomeConfig[_0x5a3f68(0x13d)]??{};if(!_0x2abee6[_0x5a3f68(0x170)])return _0x4e2e83;return _0x4e2e83[_0x5a3f68(0x1b2)](({request:_0x52f9c0})=>{enterContextWith(initContextFromRequest(_0x52f9c0));});}function applyErrorHandler(_0x3b8895){const _0xa71fbb=_0x160996;return _0x3b8895[_0xa71fbb(0x25e)](({error:_0x11133f,set:_0x1bb801,code:_0x1d6356})=>{const _0x3f1fd0=_0xa71fbb,_0xe6dd45=getPinoLogger();if(isCommException(_0x11133f))return _0xe6dd45[_0x3f1fd0(0x2d6)]({'code':_0x11133f['code']},_0x11133f['message']),_0x1bb801[_0x3f1fd0(0x2da)]=_0x11133f['statusCode'],{'code':_0x11133f[_0x3f1fd0(0x288)],'message':_0x11133f[_0x3f1fd0(0x173)]};if(_0x1d6356===_0x3f1fd0(0x16c)){const _0x3e0398=_0x11133f instanceof Error?_0x11133f['message']:_0x3f1fd0(0x14a);return _0xe6dd45[_0x3f1fd0(0x2d6)]({'code':_0x1d6356},_0x3e0398),_0x1bb801[_0x3f1fd0(0x2da)]=0x1a6,{'code':RES_CODE[_0x3f1fd0(0x1d7)],'message':_0x3e0398};}if(_0x1d6356===_0x3f1fd0(0x1d1))return _0x1bb801[_0x3f1fd0(0x2da)]=0x194,{'code':RES_CODE[_0x3f1fd0(0x1d7)],'message':_0x3f1fd0(0x175)};const _0x4873d6=_0x11133f instanceof Error?_0x11133f:new Error(String(_0x11133f));return _0xe6dd45[_0x3f1fd0(0x2d6)](_0x4873d6),_0x1bb801[_0x3f1fd0(0x2da)]=0x1f4,{'code':RES_CODE[_0x3f1fd0(0x1d7)],'message':getEnv()==='dev'?_0x4873d6[_0x3f1fd0(0x173)]:_0x3f1fd0(0x15e)};});}function applyLogging(_0x5ebbd7){const _0x307078=_0x160996,_0x1b0866=getPinoLogger();return _0x5ebbd7[_0x307078(0x286)](_0x1b0866[_0x307078(0x292)]({'autoLogging':{'ignore':_0x493203=>Boolean(_0x493203[_0x307078(0x274)])}}));}import{openapi}from'@elysiajs/openapi';function applyOpenapi(_0x291667){const _0x507446=_0x160996,_0x352aea=VomeConfig[_0x507446(0x2d5)]??{'enable':![]};if(_0x352aea[_0x507446(0x170)]===![])return _0x291667;const _0x3a8780=_0x352aea[_0x507446(0x182)]??_0x507446(0x22b),{tags:_0x1152fd,tagGroups:_0x53923a}=buildOpenApiTagDocs(),_0xe0b186=_0x352aea['documentation']??{},_0x576a3c=_0x352aea[_0x507446(0x24b)]??{};return _0x291667[_0x507446(0x286)](openapi({'path':_0x3a8780,'documentation':{..._0xe0b186,'tags':[..._0xe0b186[_0x507446(0x19a)]??[],..._0x1152fd],'x-tagGroups':_0x53923a},'scalar':{..._0x576a3c,'layout':_0x576a3c[_0x507446(0x246)]??_0x507446(0x145),'operationTitleSource':_0x576a3c[_0x507446(0x251)]??_0x507446(0x1d3)}}));}var app,started=![],signalsRegistered=![],hostScanned=![],bootstrapHooks=[],shutdownHooks=[],usePlugins=[];async function ensureHostScanned(){if(hostScanned)return;hostScanned=!![],await scanHost();}function createApp(){return applyAsyncContext(applyErrorHandler(applyLogging(new _0x5490da())));}function bootstrap(_0x1c5ead){bootstrapHooks['push'](_0x1c5ead);}function shutdown(_0x31c2e0){const _0x5a7ff0=_0x160996;shutdownHooks[_0x5a7ff0(0x2e6)](_0x31c2e0);}function use(_0x2a0aad){const _0x456437=_0x160996;usePlugins[_0x456437(0x2e6)](_0x2a0aad);}async function start(){const _0x509450=_0x160996;if(started)throw new Error(_0x509450(0x1b6));let _0x42b873=createApp();_0x42b873=await applyHostAuthMiddleware(_0x42b873);for(const _0x26fd5b of usePlugins){_0x42b873=_0x26fd5b(_0x42b873);}await ensureHostScanned(),_0x42b873=applyOpenapi(_0x42b873),await bootstrapHostInfra();for(const _0xe1a644 of bootstrapHooks)await _0xe1a644();bootstrapLogger(),bootstrapIoc(),await bootstrapHostPlugins(),await bootstrapHostModules(),await bootstrapHostTasks(),_0x42b873=registerControllers(_0x42b873,VomeConfig);const _0x7376ad=VomeConfig[_0x509450(0x295)]?.[_0x509450(0x2df)]??0xbb9;return _0x42b873['listen'](_0x7376ad),app=_0x42b873,started=!![],printStartupBanner(),registerShutdownSignals(),app;}async function stop(){const _0x2c94bf=_0x160996;if(!app)return;for(const _0x5e164c of shutdownHooks)await _0x5e164c();await shutdownHostTasks(),await shutdownHostInfra(),await app[_0x2c94bf(0x2bf)](),app=undefined,started=![],hostScanned=![],resetIoc(),resetPinoLogger(),setCrudRegistrar(undefined),signalsRegistered=![];}function registerShutdownSignals(){const _0xe5ed84=_0x160996;if(signalsRegistered)return;signalsRegistered=!![];for(const _0x5c7ab0 of[_0xe5ed84(0x307),_0xe5ed84(0x13b)]){process[_0xe5ed84(0x1ff)](_0x5c7ab0,async()=>{const _0x2e3f72=_0xe5ed84;await stop(),process[_0x2e3f72(0x131)](0x0);});}}var App={'bootstrap':bootstrap,'shutdown':shutdown,'use':use,'start':start,'stop':stop};async function vome(_0x540eed){const _0x34c18d=_0x160996;if(_0x540eed)await _0x540eed({'App':App});return App[_0x34c18d(0x1ea)]();}import{getTableColumns as _0x445210,getTableName as _0x460a8b}from'drizzle-orm';import{getTableColumns as _0x7215b7,getTableName}from'drizzle-orm';import{integer,serial,timestamp}from'drizzle-orm/pg-core';var baseColumns={'id':serial('id')['primaryKey'](),'createTime':timestamp('createTime',{'withTimezone':!![]})[_0x160996(0x176)]()['defaultNow'](),'updateTime':timestamp(_0x160996(0x2d0),{'withTimezone':!![]})[_0x160996(0x176)]()['defaultNow']()[_0x160996(0x266)](()=>new Date()),'deletedAt':timestamp(_0x160996(0x218),{'withTimezone':!![]}),'tenantId':integer(_0x160996(0x188))},BASE_COLUMN_COMMENTS={'id':'ID','createTime':_0x160996(0x1e2),'updateTime':'\u66F4\u65B0\u65F6\u95F4','deletedAt':_0x160996(0x204),'tenantId':'\u79DF\u6237'},registry=new WeakMap(),tables=new Set();function columnComments(_0x491871,_0x31b5cb={}){const _0x99a97f=_0x160996;return tables['add'](_0x491871),registry['set'](_0x491871,{...BASE_COLUMN_COMMENTS,...registry[_0x99a97f(0x2d1)](_0x491871)||{},..._0x31b5cb}),_0x491871;}function getColumnComments(_0x270331){const _0x321d7d=_0x160996;return registry[_0x321d7d(0x2d1)](_0x270331)||{};}function listColumnCommentTables(){return[...tables];}function quoteIdent(_0x3cb032){const _0x4091ff=_0x160996;if(!/^[A-Za-z_][A-Za-z0-9_]*$/[_0x4091ff(0x127)](_0x3cb032))throw new Error(_0x4091ff(0x293)+_0x3cb032);return'\x22'+_0x3cb032+'\x22';}function escapeLiteral(_0x21f859){const _0x1562e9=_0x160996;return _0x21f859[_0x1562e9(0x14e)](/'/g,'\x27\x27');}async function syncColumnCommentsToPg(_0x1a520e){const _0x43be40=_0x160996,_0x391b45=listColumnCommentTables();if(!_0x391b45[_0x43be40(0x13e)])return 0x0;const _0x3b7eb8=new Map(),_0x38a7a1=[];for(const _0x4c7ecf of _0x391b45){let _0x125a1b;try{_0x125a1b=getTableName(_0x4c7ecf);}catch{continue;}const _0x31900e=_0x7215b7(_0x4c7ecf),_0x52fea2=getColumnComments(_0x4c7ecf),_0x543be1=new Map();for(const [_0x2fc213,_0x5912b0]of Object[_0x43be40(0x28e)](_0x52fea2)){if(!_0x5912b0||!(_0x2fc213 in _0x31900e))continue;_0x543be1[_0x43be40(0x309)](_0x2fc213,_0x5912b0);}if(!_0x543be1[_0x43be40(0x14c)])continue;_0x3b7eb8[_0x43be40(0x309)](_0x125a1b,_0x543be1),_0x38a7a1[_0x43be40(0x2e6)](_0x125a1b);}if(!_0x38a7a1[_0x43be40(0x13e)])return 0x0;const _0x3f2417=_0x38a7a1[_0x43be40(0x2dd)](_0x58c6b2=>'\x27'+escapeLiteral(_0x58c6b2)+'\x27')['join'](','),_0x3c46ff=await _0x1a520e[_0x43be40(0x284)](_0x43be40(0x221)+_0x3f2417+_0x43be40(0x205)),_0x4bd244=new Map();for(const _0x2c3e27 of _0x3c46ff||[]){if(!_0x2c3e27[_0x43be40(0x130)]||!_0x2c3e27[_0x43be40(0x2cf)])continue;_0x4bd244[_0x43be40(0x309)](_0x2c3e27[_0x43be40(0x130)]+'.'+_0x2c3e27[_0x43be40(0x2cf)],_0x2c3e27[_0x43be40(0x287)]??null);}let _0x3f182f=0x0;for(const [_0x57bdbf,_0x8ca27]of _0x3b7eb8){for(const [_0x1d7ac1,_0x25280a]of _0x8ca27){const _0x21356e=_0x57bdbf+'.'+_0x1d7ac1,_0x4bf61f=_0x4bd244[_0x43be40(0x2d1)](_0x21356e);if(_0x4bf61f===_0x25280a)continue;await _0x1a520e['unsafe'](_0x43be40(0x214)+quoteIdent(_0x57bdbf)+'.'+quoteIdent(_0x1d7ac1)+_0x43be40(0x189)+escapeLiteral(_0x25280a)+'\x27'),_0x3f182f++;}}return _0x3f182f;}var SIDE_PREFIX2={'admin':'/admin','app':'/app'};function getSidePrefix2(_0x12dbf4){return normalizePrefix(SIDE_PREFIX2[_0x12dbf4]);}function lastSegment(_0x55e44e){const _0x333270=_0x160996,_0x430d5a=_0x55e44e[_0x333270(0x14e)](/^\/+|\/+$/g,'')['split']('/');return _0x430d5a[_0x430d5a[_0x333270(0x13e)]-0x1]||_0x55e44e||'index';}function _0x32de(){const _0x562806=['q09ntuvovcbptIbdt0Xvtu4G','yxbW','y2XLyxi','zgv2lNrZ','zgvSzxrLzef0','CgX1z2LUsw5MBW','CM91DgvpChrPB25Z','D2fYBG','w0nVBNrLEhrDiow9K+wjJEAxOoIVT+AXGUs4IUs4I+AwH++8JowgMEwfPEIIQ+w/VEEvPE+8IoIVT+EHRUIUPcbHC3LUy0nVBNrLEhrnyw5Hz2vYiow3SUwqR+EuQo+8Iq','AhjLzG','DMfSDwvZ','yxbWBgLJyxrPB24VAMf2yxnJCMLWDdSGy2HHCNnLDd11DgyToa','qNvU','cIaGicbtruXfq1qkicaGicaGyY5YzwXUyw1LieftihrHyMXLx25HBwuScIaGicaGigeUyxr0BMfTzsbbuYbJB2X1Bw5FBMfTzsWkicaGicaGy29Sx2rLC2nYAxb0Aw9UkgeUyxr0CMvSAwqSigeUyxr0BNvTksbbuYbJB21Tzw50cIaGicbguK9nihbNx2nHDgfSB2CUCgDFy2XHC3mGyWOGicaGsK9jtIbWz19JyxrHBg9NlNbNx25HBwvZCgfJzsbUie9oig4UB2LKid0GyY5YzwXUyw1LC3bHy2ukicaGiePpsu4GCgDFy2f0ywXVzY5Wz19HDhrYAwj1DguGysbptIbHlMf0DhjLBgLKid0GyY5VAwqkicaGifDirvjfigmUCMvSA2LUzca9icDYjWOGicaGicbbtKqGBI5UC3bUyw1Lid0Gy3vYCMvUDf9Zy2HLBweOkqOGicaGicbbtKqGys5HDhrUDw0GpIaWcIaGicaGieforcbot1qGys5HDhrPC2rYB3bWzwqkicaGicaGqu5eigmUCMvSBMfTzsbjtIaO','lNbUzW','z2v0u3rVCMu','w01VzhvSzv0GBg9HzcbMywLSzwqG','w01VzhvSzv0GBg9HzgvKia','uhjVDg90ExbL','lMXVzW','Aw1Hz2uVANbLzW','Bw9KAwz5qMvMB3jL','C3bSAxq','l2rVy3m','w1jVDxrLCL0G5PYQ55+L5y+c5PwW5P2L5RQqoIa','DxbZzxj0','zgLZDa','w0LVy10G5Qoa5Rwl5yIW5B6Q546V5l6D6lwwoIa','Bg9N','AxntDxbLCG','A2v5v29Yza','Bw9KDwXL','pJ00lJaUma','C3LTyM9S','C2LUz2XLDg9U','Aw5MBW','DxjS','Aw5PDa','zMLLBgrmAwTL','lI9KAxn0l2fKBwLUlYOUzc50CW','zgvWyxj0BwvUDeLK','ywXS','C3rHCNrZv2L0Aa','mtG4mdm2ofHpChHsva','C2nVCgvK','y2XHC3mGjde','zgf0yvnJB3bL','w0LVy10GqeLUAMvJDcdML6dMS5xMJQJMLQ0G','B3jKzxi','C2v0rgf0zq','Bgf5B3v0','DMfYifbSDwDPBIa9','y29UDgvUDc10ExbL','l2fWCa','Bg9Nz2LUzW','C2nHBgfY','6lEV55sX5lIn5A2y5zYO','zxHWB3j0CW','z2v0tw9UDgG','Aw5KzxG','zgf0yvr5Cgu','B3bLCMf0Aw9UvgL0BgvtB3vYy2u','w1jVDxrLCL0GCMvNAxn0zxjLzcdIHPaG','DMfSDwu','zgvIDwC','5yIx6kgO5P+L6k+I','D3jPDgu','igzHAwXLza','C2f2zq','mteWndKXmKndv1LSDG','odKWnJu2mLzRtgDjta','ChjLzML4','Axnoyu4','C2nVCgvKv2HLCMu','B25fCNjVCG','w1jLCg9ZAxrVCNLDioAjUEMhJ+ABToAwSoAVJ+ADOEMCGow4PIbPza','C29Tzq','BwLKzgXLD2fYzq','AM9PBG','AgfZ','w0LVy10G5PYQ5RoO5yAm55QeifbYB3zPzgvYoIa','z2v0u1fm','jg9UvxbKyxrL','5y2v5lIQ5l+H5OgV','yMvMB3jLsgfUzgXL','ioMCGoMfJEE9RIbLBNrPDhKG5OIwihnLCNzPy2u','CMvXDwLYzq','C2LKzq','ChjVDg90ExbL','C3rYAw5N','xJeZlJeUmW','qxnPys9tAgfUz2HHAq','DM9TztPJB250CM9SBgvYoNjVDxrLlxbHCMfTCW','Aw5JBhvKzxm','lw1Hy3jV','kgfUB255Bw91CYK','AxnfCNjVCG','CM91DgvqyxjHBxm','Bwv0Ag9K','C2v0rw50Axr5','C29YDa','y29UC3rYDwn0B3i','zMLLBgrsyw5Nzq','DM9Tzq','zgLNzxn0','lI9KAxn0l2fKBwLUl2LUzgv4lMPZ','CgLKlgHVC3rUyw1L','Bwq1','revmrvrf','BgLZDa','Aw1Hz2uVCg5N','mZy4mvvRwMTOuW','Dw5ZywzL','C29MDerLBgv0zq','DxnL','y29TBwvUDa','y29Kzq','DMvYC2LVBG','w0HVC3rDihnJyw4G4OAqia','ugX1z2LU','Aw5KzxGUAhrTBa','lI9KAxn0l2fKBwLUl2nYDwqVAw5KzxGUANm','zw50CMLLCW','A2v5CW','AgfUzgXLCIdNVlRLPle6ia','Aw5Zzxj0ugfYyw0','Aw50BW','w2nVBhvTBKnVBw1LBNrZxsdPNz7MS5xMOiFOR4BNRky6ia','w0nsvurDia','C3LZDgvT','AgfUzgXLCG','Bwf0y2G','cNzHCIbFx1bSDwDPBIa9icH0ExbLB2yGugX1z2LUice9psaNDw5KzwzPBMvKjYKkica/ifbSDwDPBGOGidOGkg1VzhvSzs5LEhbVCNrZicyMicHTB2r1BguUzxHWB3j0CY5qBhvNAw4GFhWGBw9KDwXLlMv4Cg9YDhmUzgvMyxvSDcb8FcbTB2r1BguUzxHWB3j0CYKPoWPPzIaODhLWzw9Mif9FugX1z2LUid09psaNDw5KzwzPBMvKjYb8FcbFx1bSDwDPBIa9pt0GBNvSBcKGEWOGihrOCM93ig5LDYbfCNjVCIGNBwLZC2LUzYbLEhbVCNqGugX1z2LUjYK7cN0kCMv0DxjUif9FugX1z2LUoW','tM90iezVDw5K','zgv2','qxbWig5VDcbMB3vUza','D2HLCMu','y3r4','5yIg6Ag15P+L6k+I','w0LVy10GuMvXDwvZDcdKVzZNLkJLN5/POBVLNkJOR7FMSylKUiRKUiVMLOFKUk3OP6pMNPdVViJOR7FNOA7ORQqGyxn5BMndB250zxH0twfUywDLCI5LBMfIBgxVViK','lI9KAxn0l2fKBwLUl3jVDxrLCI9PBMrLEc5KlNrZ','CgfYyw1Z','y29UDhjVBgXLCG','DhLWAw5NCY9Hzg1PBG','Dg9Rzw4','D2L0AfrYyxnOzwq','DxbKyxrL','tK9erv9ftLy','CxvLCNK','ioMhJEwKJsba','qMfZzvbSDwDPBG','C3jJl2XPyI9JywnOzs9PBMrLEc50CW','y3jLyxrL','lMPZ','yxnJ','8j+tOsdMNi3LIQhLNldLNya6ia','zgvMyxvSDa','DMfYigHHBMrSzxjZid0','w1jLCg9ZAxrVCNLDioIHQoAxOcbPzcdLIjFVViZOR7FMLlNNLkGGzMLUzcH3AgvYzsKGlYbMAw5Kt25LkhDOzxjLkq','BNvTyMvY','z2v0rgf0zq','zgvSzxrLigzHAwXLza','lM1HCa','DM9TztPPBMPLy3q','Cg9ZDa','ksdPNidOPOeGy2XHC3mG5A6E5l6l77Ym5lUL5l6/56gU5A6AihvZzunSyxnZ','g1SYsHTBsa','zM9UDc93B2zMmG','CMvZDg9Yzq','Bgv2zwW','zMLLBgrbCNjHEq','C3rVCa','zgvMyxvSDc50CW','AxnbCNjHEq','BgfZDeLUzgv4t2y','lI9KAxn0l2fKBwLUl2LUzgv4lMqUDhm','C3jJl3nOyxjLza','lI9KAxn0l2fKBwLUl3nLCNzPy2uVAw5KzxGUANm','zgvSzxrL','Ec1MB3j3yxjKzwqTAg9ZDa','ioMfJEE9RUs6HIbHCgKVC2vYDMLJzufWAxpVViZKVyBMNkRMIB7LIlaGq1jvrcdLRP7NJRdVViHaDM9Tzs1JB3jLigf0DgfJAenYDwrsB3v0zxmG5PYQ5OYc6l2977Yj','w0LVy10Gsw9JlNnLDcG','w29IAMvJDcbpyMPLy3rD','y2HHCKf0','CMvZB2X2zuLKv2HLCMu','Bw9KDwXLr2f0zxDHEq','DxrMoa','y29SDw1Ux25HBwu','DxbKyxrLvgLTzq','z2v0','C2vYDMLJzq','zNvUy3rPB24','DxbKyxrLqNLsB3DZ','B3bLBMfWAq','zxjYB3i','zgvZAwDUoNr5Cgu','Bg9JywXLq29TCgfYzq','yNvUihnJCMLWDhmVB2jMDxnJyxrLlNrZ','C3rHDhvZ','D2vIqxv0Aa','C3vWCg9YDhntB2z0rgvSzxrL','BwfW','zNjVBq','Cg9YDa','w1jVDxrLCL0G','DhjHC2G','y2yTy29UBMvJDgLUzY1PCa','ihnLCNzPy2uSia','lNzVBwu','BwLJCM9bChbZ','ChvZAa','ufvu','qxv0Aa','C3rKB3v0','CgfKu3rHCNq','z2v0rNvSBfLLyxi','y2XPzw50','y2fSBa','B25SEvrYyxnOzwq','Bw9KDwXLlMPZB24','ywrK','Chv0','B2zM','zgvSzxrLtwv0ywrHDge','lI9KAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','l3zVBwuVyxbWCW','AwDUB3jLugvYBxm','ioE8UUwWKsbOyw5KBgvYoIa','Bgf0zxn0','xJaUmI4Y','Dg9tDhjPBMC','B2zMC2v0','C3jJl2nVBMzPzW','l3vWzgf0zq','ywnJzxnZlwnVBNrYB2WTywXSB3CTB3jPz2LU','icHJCNvKkq','DxnLq2XHC3m','zMLSzq','ChjVza','zxH0zw5K','zw50zxjxAxrO','zgLJDa','zw5KC1DPDgG','u0Lhsu5u','C3fS','C2v0','C3vJy2vZCW','5QIH5z2xia','CMvXDwvZDa','CgfNzq','mtmZnxHLrgngDa','CMvXDwLYzuvUDgL0Eq','CM0GlxjMigrPC3qGjIyGyNvUihj1BIbIDwLSzdPZzxj2zxiGjIyGyNvUihj1BIbIDwLSzdPHzg1PBG','lI9KAxn0l2fKBwLUl3jVDxrLCI9PBMrLEc5QCW','lI9KAxn0l2fKBwLUl3nLCNzPy2uVAw5KzxGUzc50CW','DgvZDa','yxbP','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','y29SDw1U','xJeWlJmUmq','BgLZDff1zxj5t3a','CMvHzhK','y29UDgfPBNm','Bg9Hza','DgfIBgvFBMfTzq','zxHPDa','Cgf0Ag5HBwu','x19ZA2LWrgf0yvnJB3bL','Cgf0y2G','Aw5KzxGUANm','CMvXDwvZDeXVzW','BgvMDePVAw4','AwrZ','5QIH5z2x5PYQ5A6j6kof5OIw5PYQ5yQG6l29','C2vYDMvY','u0Lhvevstq','z2v0vgLTzq','yxn5BMndB250zxH0twfUywDLCG','BgvUz3rO','BgLTAxq','BM9Uzq','AwrZihjLCxvPCMvK','pJ0WlJiUma','mI1KAwDPDa','zgvZy3jPChrPB24','y2XHC3nPyW','pJ0XlJaUma','6z2E5Rov5QIH5z2xigTLEtOG','ywrTAw5jza','ios4JEAyR+ACIEAvIoAwUEAZLq','DMfSAwrHDgLVBIbMywLSzwq','CgX1z2LU','C2L6zq','CgX1z2LUu2vYDMLJzq','CMvWBgfJzq','lI9KAxn0l2fKBwLUlYOUANm','y291BNq','C291CMnL','AwqGCMvXDwLYzwq','vM9TzsbMCMfTzxDVCMSG4OcuihnOyxjLzcaRiej1BI9fBhLZAweGC2vYDMvYicSGvNvLigfKBwLU','lMPWzwC','CNvU','B2jQzwn0','CM91DgvZ','l2fKBwLUl2v4Dc86A2v5lYO','iowpQUIdVEEuQos6JUAwUEAZLEwpGUAvSa','u1vdq0vtuW','C3yTu0u','C3rYAw5NAwz5','q2fJAgu','Aw50zxjUywWGC2vYDMvYigvYCM9Y','CMvZDg9YzsbMywLSzwq','CgvYBxm','Bw9KDwXLCW','kIOVBw9KDwXLCY8Ql2nVBNrYB2XSzxiVyxbWlYOQlYOUDhm','CgfNzvf1zxj5t3a','Ahr0CdOVl2XVy2fSAg9ZDdO','khSGqMfZzvbSDwDPBIb9kq','y3j1za','mc4WlJe3','lI9KAxn0l3nLCNzLCI9PBMrLEc5QCW','AxngAwXL','zMLLBgrfCq','yxv0Aa','vKfmsurbveLptG','yxbWBgLJyxrPB24VANnVBJSGy2HHCNnLDd11DgyToa','mJC5mg9Izgzzrq','lMPZB24','zw5HyMXL','Cg9W','w0HVC3rDignYDwqG4OAqieb2B21LlwnVCMuVB3jT','BwvZC2fNzq','Dgv4Dc9JC3m7ignOyxjZzxq9DxrMltG','BM90igzVDw5K','BM90tNvSBa','uxvLCNK','ywrKigzHAwXLza','BMfTzq','BM8Ty2fJAgu','CgfYC2vjBNnLCNq','lNDVzMyY','DM9TztPJB250CM9SBgvYoNjVDxrLlxbLCM1Z','Aw5Zzxj0','y2fJAgu','rw50Axr5','lI9KAxn0l2LUzgv4lMqUDhm','Cgf0Aa','pJ0Xmc4WlJa','ue9tva','yM9VDhn0CMfW','lI9KAxn0l2fKBwLUlYOVAw5KzxGUzc50CW','zw50Axr5','DgvUyw50swq','ieLticC','zMLUze9Uzq','C2nVCgu','y2XVC2u','zw52','nJjUtujTAKG','zM9UDc93B2zM','AgfZrw50Axr5','B25czwzVCMviyw5KBgu','BwfUAwzLC3q','DhjPBq','zw5K','ywrTAw5bDxrO','ioEAHoEXU+wEI++8JoIVT+AyVUw8J+s8OowfPsb0B2TLBG','w0jHC2vtzxj2AwnLxsdMNkRNU5hLRPRLRP7KVzpVViZOR7FKVB/NLkGGqeLUAMvJDfjLCg9ZAxrVCNKG5OIwihnLDevUDgL0Eq','kIOVBw9KDwXLCY8Ql3nLCNzPy2uVkIOVkI50CW','C3rHDhvZq29Kzq','DgfNCW','zhjPENPSzq','C3jJl2XPyI90yxnRl2LUzgv4lNrZ','ndm4ode2qxDbELDU','kIOVBw9KDwXLCY8Ql2nVBNrYB2XSzxiVywrTAw4VkIOVkI50CW','lI9KAxn0l2fKBwLUl2nYDwqVAw5KzxGUzc50CW','CMv0DxjUAw5N','qM9KEq','yMvMB3jL','ihnPBMDSzxrVBIHZkq','l2rLBgv0zq','pJ0YlJaUma','B3jKzxjcEq','zMLUza','l3bHz2u','Ec1YzwfSlwLW','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xOVA/LIkdPMAq','ioE8UUwWKsb0B2TLBIdMIjyGCMvZB2X2zq','r0vu','x19ZA2LWvgvUyw50','AgvHzgvYCW','lMPWzW','ioMfJEE9RUs6HIbZzxj2AwnLqxbPC++8JoMCGowqJoAxTUMfJEE9RIbZzxj2AwnL','y3jLyxrLvgLTzq','B25szxf1zxn0','zMLUzej5swq','C3jJl21PzgrSzxDHCMuVAw5KzxGUDhm','C3jJl2XPyI9HDxrOl2LUzgv4lNrZ','w0fWCf0G5BEY5zcV5yQO77Ym6k+35ywiiefWCc5ZDg9WkcKG5yAnihn0yxj0','yM9VBgvHBG','Bwf4rgf5CW','zgvMAw5Ltwv0ywrHDge','Dgv4Dc9ODg1SoYbJAgfYC2v0pxv0zI04','y2fJAguTy29UDhjVBa','lI90ExbPBMDZl2fKBwLUlYO','BgLZDcbMywLSzwq','AgfUzgXLCNm','BwLZC2LUzYbLEhbVCNqGAgfUzgXLCNm','u2LUz2XLDg9U','nZy5oty4sufXBLrh','BwLU','lMnZCW','pJ0WlJmWlJa','y29UDgvUDa','C3jJl2XPyI9WBhvNAw4VAw5KzxGUDhm','zgLY','Ag9ZDa','xJaUoc4Z','yxnZAwDU','zMfPBa','pJ05lJaUma','CgfYC2u','l2XPC3q','yMLUzevUDgL0Eq','Dg9vChbLCKnHC2u','tK9ux0zpvu5e','tuLu','C3vTBwfYEq','y3DK','lNDVzMy','w1f1zxj5t3bDioIHQoAxOowTL+AUTtOG','rvjst1i','z2v0uMvWBW','Bwf4','6z2E5Rov5QIH5z2xigTLEq','ugfYyw0','l3jLC3rVCMu','ywrTAw4','zMLUzfbHz2u','A2v5v29YzeXPA2vgAwvSzhm','Dg9mB3DLCKnHC2u','C2XPy2u','5yIB5BU65PE26zE0','rM9YyMLKzgvU','l2fKBwLU','B3jKzxjcEvnXBa','8j+tMIbbueNMLOFMOAm6ia','C3jJl2XPyI9KyI9PBMrLEc50CW','lM1QCW','C2nOzw1H','C3rHCNq','Dw5RBM93BG','AxngAw5PDgu','zgf0yvnJB3bLrgvWDeLKCW','xJaUms4Xma','tw9KDwXL','Bw9KDwXLlwDHDgv3yxK','Aw5UzxjkB2LU','yxbWBgLJyxrPB24VANnVBG','lI9KAxn0l2LUzgv4lMPZ','yM9KEq','DM9TztPJB250CM9SBgvYoNjVDxrLCY1Wzw5KAw5N','vgfZAW','AxneAxjLy3rVCNK','BwfJCM8','icHWDwjSAwmP','zMLSDgvY','w0nVBNrYB2XSzxjDiea','z2v0twv0ywrHDge','DM9TztPJB250CM9SBgvYoNjVDxrLlwLNBM9Yzs1WzxjTCW','ChjVCgvYDhLoyw1L','B25Jzq','Bw9KAwz5qwz0zxi','yNvUihj1BIbIDwLSzcaMjIbIDw4GCNvUig9IzNvZy2f0zq','ywrKt3jKzxjcEq','ChvIBgLJ','5yIG6zMK5PE26zE0','kqOGia','Ec1MB3j3yxjKzwqTzM9Y','yxv0B0nYDwq','CgfNzsbMywLSzwq','yNvUigj1AwXKic4VC3jJl2LUzgv4lNrZic4VC3jJl3nLCNzLCI9PBMrLEc50CYaTlw91DgrPCIaUl2rPC3qGls10yxjNzxqGyNvUic0TzM9YBwf0igvZBsaTlwv4DgvYBMfSigvSExnPysaTlwv4DgvYBMfSihjLzMXLy3qTBwv0ywrHDgeGls1LEhrLCM5HBcbKCML6EMXLlw9YBsaTlwv4DgvYBMfSigrYAxP6BguTEM9Kic0TzxH0zxjUywWGqgvSExnPywPZl29Wzw5HCgKGls1LEhrLCM5HBcbayM9NzxLJAgfUl2vSExnPys1SB2DNzxiGls1LEhrLCM5HBcbWAw5Vic0TzxH0zxjUywWGCgLUBY1WCMv0DhKGjIyGDhnJic1WihrZy29UzMLNlMj1AwXKlMPZB24GjIyGChjPBNrMiciLC1XUiIaIzxHWB3j0icOGzNjVBsaNlI9ZCMmVAw5KzxGNiIa+igrPC3qVAw5KzxGUzc50CYaMjIbTA2rPCIaTCcbKAxn0l3nLCNzLCIaMjIbWCMLUDgyGiIvZxg4IicjLEhbVCNqGkIbMCM9TicCUlI9ZCMmVC2vYDMvYl2LUzgv4jYiGpIbKAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','xJeUnc4Xnq','DgfIBgu','C2nHBG','C2vSzwn0','DMfYigHHBMrSzxjZid0GEW','ywn0Aw9U','uMvXDwvZDa','C2vYDMLJzufWAxm','zxbZ','zM9Yy2u'];_0x32de=function(){return _0x562806;};return _0x32de();}function toPascalEntityName(_0x576c3e){const _0x43a4be=_0x160996;return _0x576c3e[_0x43a4be(0x22a)]('_')[_0x43a4be(0x1fa)](Boolean)['map'](_0x5a4725=>_0x5a4725[_0x43a4be(0x2cb)](0x0)['toUpperCase']()+_0x5a4725[_0x43a4be(0x1e1)](0x1))[_0x43a4be(0x262)]('')+_0x43a4be(0x180);}function withAlias(_0x10361f){const _0x30b61c=_0x160996;if(!_0x10361f?.[_0x30b61c(0x13e)])return[];return _0x10361f[_0x30b61c(0x2dd)](_0x1fd113=>{const _0x43bda5=_0x30b61c;if(typeof _0x1fd113!=='string'){const _0x2ceb48=_0x1fd113[_0x43bda5(0x12a)];return{..._0x1fd113,'column':_0x2ceb48[_0x43bda5(0x271)]('.')?_0x2ceb48:'a.'+_0x2ceb48};}return _0x1fd113[_0x43bda5(0x271)]('.')?_0x1fd113:'a.'+_0x1fd113;});}function normalizePageQueryOp(_0x2f9ac8){const _0x3c4259=_0x160996;return{'keyWordLikeFields':withAlias(_0x2f9ac8?.[_0x3c4259(0x1df)]),'fieldEq':withAlias(_0x2f9ac8?.[_0x3c4259(0x16a)]),'fieldLike':withAlias(_0x2f9ac8?.[_0x3c4259(0x23a)]),'fieldArray':withAlias(_0x2f9ac8?.['fieldArray']),'fieldRange':(_0x2f9ac8?.[_0x3c4259(0x27a)]??[])[_0x3c4259(0x2dd)](_0x2f05b8=>({..._0x2f05b8,'column':_0x2f05b8[_0x3c4259(0x12a)][_0x3c4259(0x271)]('.')?_0x2f05b8[_0x3c4259(0x12a)]:'a.'+_0x2f05b8[_0x3c4259(0x12a)]}))};}function applyFieldDictToColumns(_0x4ab9f1,_0x3af205){const _0x13f816=_0x160996;for(const _0x1d6625 of _0x3af205){if(typeof _0x1d6625===_0x13f816(0x26d)||!_0x1d6625[_0x13f816(0x305)])continue;const _0x205ddc=_0x1d6625[_0x13f816(0x12a)][_0x13f816(0x271)]('.')?_0x1d6625[_0x13f816(0x12a)][_0x13f816(0x22a)]('.')[_0x13f816(0x171)]():_0x1d6625[_0x13f816(0x12a)],_0x4a46a2=_0x4ab9f1[_0x13f816(0x1a7)](_0x2992ab=>_0x2992ab[_0x13f816(0x1fe)]===_0x205ddc);if(_0x4a46a2)_0x4a46a2[_0x13f816(0x305)]=_0x1d6625['dict'];}}function columnsFromEntity(_0x392c14){const _0x4de154=_0x160996;if(!_0x392c14||typeof _0x392c14!==_0x4de154(0x156))return[];try{const _0x6af4ef=_0x445210(_0x392c14),_0x1177df=getColumnComments(_0x392c14),_0x224cd3=[];for(const [_0x4b5986,_0x43c6a3]of Object['entries'](_0x6af4ef)){if(_0x4b5986===_0x4de154(0x188))continue;const _0x2f3413=_0x43c6a3;_0x224cd3[_0x4de154(0x2e6)]({'propertyName':_0x4b5986,'type':String(_0x2f3413[_0x4de154(0x250)]??_0x2f3413['columnType']??_0x4de154(0x26d)),'length':_0x2f3413[_0x4de154(0x13e)]!=null?String(_0x2f3413['length']):undefined,'nullable':_0x2f3413[_0x4de154(0x176)]!==!![],'source':'a.'+_0x4b5986,'comment':_0x1177df[_0x4b5986]});}const _0x531f2d=new Set([_0x4de154(0x1b1),_0x4de154(0x2d0),_0x4de154(0x218)]),_0x5dab7d=_0x224cd3[_0x4de154(0x1fa)](_0x16f59e=>!_0x531f2d[_0x4de154(0x263)](_0x16f59e[_0x4de154(0x1fe)])),_0x4775e3=_0x224cd3[_0x4de154(0x1fa)](_0x3d9b8f=>_0x531f2d[_0x4de154(0x263)](_0x3d9b8f[_0x4de154(0x1fe)]));return[..._0x5dab7d,..._0x4775e3];}catch{return[];}}function entityNameOf(_0x239411){const _0x481de1=_0x160996;if(!_0x239411||typeof _0x239411!==_0x481de1(0x156))return;try{return toPascalEntityName(_0x460a8b(_0x239411));}catch{return;}}function buildApis(_0x420f65,_0x4e20bd){const _0x28f27f=_0x160996,_0x419267=[],_0x53182c=new Set(),_0x1a86fc=_0x171c65=>{const _0x50788a=_0x44c2,_0x2fc992=_0x171c65[_0x50788a(0x276)]+':'+_0x171c65[_0x50788a(0x182)];if(_0x53182c[_0x50788a(0x263)](_0x2fc992))return;_0x53182c[_0x50788a(0x2f0)](_0x2fc992),_0x419267[_0x50788a(0x2e6)](_0x171c65);};for(const _0x7e8da9 of _0x420f65[_0x28f27f(0x157)]){const _0x3c917f=getRouteSubPath(_0x7e8da9['path'],_0x420f65[_0x28f27f(0x25b)]),_0xf4e962=_0x3c917f[_0x28f27f(0x23e)]('/')?_0x3c917f:'/'+_0x3c917f,_0x264035=actionFromSubPath(_0xf4e962);_0x1a86fc({'method':_0x7e8da9['method'][_0x28f27f(0x1e0)](),'path':_0xf4e962,'summary':_0x7e8da9[_0x28f27f(0x1d3)]??'','dts':{},'tag':'','prefix':_0x4e20bd,'ignoreToken':Boolean(_0x7e8da9[_0x28f27f(0x203)]),'ignorePerms':Boolean(_0x7e8da9['ignorePerms']),'perms':effectivePerms(_0x7e8da9,_0x420f65,_0x264035)??[]});}for(const _0x14b013 of _0x420f65[_0x28f27f(0x166)]?.[_0x28f27f(0x128)]??[]){const _0x57669f='/'+_0x14b013;_0x1a86fc({'method':_0x14b013===_0x28f27f(0x237)?_0x28f27f(0x2d1):'post','path':_0x57669f,'summary':CRUD_SUMMARY[_0x14b013]??_0x14b013,'dts':{},'tag':'','prefix':_0x4e20bd,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x420f65,_0x14b013)??[]});}for(const _0x18bd95 of _0x420f65[_0x28f27f(0x166)]?.['serviceApis']??[]){const _0x20197e='/'+_0x18bd95;_0x1a86fc({'method':_0x28f27f(0x2b8),'path':_0x20197e,'summary':_0x18bd95,'dts':{},'tag':'','prefix':_0x4e20bd,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x420f65,_0x18bd95)??[]});}return _0x419267;}function buildEntity(_0x3b6324){const _0x41bedf=_0x160996,_0x1091cd=joinPrefix(getSidePrefix2(_0x3b6324[_0x41bedf(0x26b)]),_0x3b6324[_0x41bedf(0x25b)]),_0x172754=lastSegment(_0x3b6324[_0x41bedf(0x25b)]),_0x12501e=_0x3b6324[_0x41bedf(0x166)]?.[_0x41bedf(0x187)],_0x4735a7=columnsFromEntity(_0x12501e),_0x28f5ab=normalizePageQueryOp(_0x3b6324['crud']?.[_0x41bedf(0x163)]);return applyFieldDictToColumns(_0x4735a7,_0x28f5ab[_0x41bedf(0x16a)]),{'module':_0x3b6324[_0x41bedf(0x233)],'side':_0x3b6324[_0x41bedf(0x26b)],'prefix':_0x1091cd,'name':entityNameOf(_0x12501e),'info':{'type':{'name':_0x172754,'description':_0x3b6324[_0x41bedf(0x144)]??_0x172754}},'api':buildApis(_0x3b6324,_0x1091cd),'columns':_0x4735a7,'pageQueryOp':_0x28f5ab,'pageColumns':_0x4735a7};}function groupByModule(_0x18d91c){const _0x16b0c6=_0x160996,_0x47065a={};for(const _0x147288 of _0x18d91c){const _0x2b8553=_0x47065a[_0x147288[_0x16b0c6(0x233)]]??[];_0x2b8553[_0x16b0c6(0x2e6)](_0x147288),_0x47065a[_0x147288[_0x16b0c6(0x233)]]=_0x2b8553;}return _0x47065a;}function isEpsEnabled(){const _0x3a3de4=_0x160996;return Boolean(VomeConfig[_0x3a3de4(0x27b)]?.[_0x3a3de4(0x212)]);}function buildEps(_0x2a344b){const _0x53d242=_0x160996;if(!isEpsEnabled())return{};return groupByModule(listControllers(_0x2a344b)[_0x53d242(0x2dd)](buildEntity));}var Eps={'controllers':listControllers,'admin':()=>buildEps(_0x160996(0x1dd)),'app':()=>buildEps(_0x160996(0x215)),'enabled':isEpsEnabled};import'reflect-metadata';var ROUTES_PENDING_KEY=_0x160996(0x1f5);function joinRoute(_0x5a73cb,_0x118719){return joinPrefix(_0x5a73cb,_0x118719==='/'?'':_0x118719);}function asMiddlewareList(_0x2af1f6){const _0x22ca37=_0x160996;if(_0x2af1f6==null)return;return Array[_0x22ca37(0x2c1)](_0x2af1f6)?_0x2af1f6:[_0x2af1f6];}function appendPendingRoute(_0x588b4c,_0xed2238){const _0x1b8365=_0x160996,_0x13b822=Reflect[_0x1b8365(0x1fc)](ROUTES_PENDING_KEY,_0x588b4c)??[];_0x13b822['push'](_0xed2238),Reflect[_0x1b8365(0x1b9)](ROUTES_PENDING_KEY,_0x13b822,_0x588b4c);}function createParamDecorator(_0x67c93){const _0x111946=_0x160996,_0x2453d4=_0x67c93===_0x111946(0x2a1)?'Param':_0x67c93===_0x111946(0x1f4)?_0x111946(0x1a1):_0x111946(0x177);return _0x200815=>(_0x17088f,_0xbdb85d,_0x522652)=>{const _0x1a3d10=_0x111946;if(_0xbdb85d===undefined)throw new Error(_0x1a3d10(0x1fb)+_0x2453d4+_0x1a3d10(0x159));const _0x4bba16=_0x17088f[_0x1a3d10(0x279)];appendRouteParam(_0x4bba16,String(_0xbdb85d),{'index':_0x522652,'source':_0x67c93,'schema':_0x200815});};}function pickCrudOptions(_0x588e51){const {api:_0x3042c8,entity:_0x3e21d8,service:_0x277988,serviceApis:_0x233bd7,before:_0x1edfcf,pageQueryOp:_0x4f0718,listQueryOp:_0x4cbd0a,insertParam:_0x788bf7,infoIgnoreProperty:_0x23424d}=_0x588e51;if(_0x3042c8==null&&_0x3e21d8==null&&_0x277988==null&&_0x233bd7==null&&_0x1edfcf==null&&_0x4f0718==null&&_0x4cbd0a==null&&_0x788bf7==null&&_0x23424d==null)return;return{'api':_0x3042c8,'entity':_0x3e21d8,'service':_0x277988,'serviceApis':_0x233bd7,'before':_0x1edfcf,'pageQueryOp':_0x4f0718,'listQueryOp':_0x4cbd0a,'insertParam':_0x788bf7,'infoIgnoreProperty':_0x23424d};}function Controller(_0x1f6cfd=''){const _0x49d9ff=_0x160996,_0x34b9c2=typeof _0x1f6cfd===_0x49d9ff(0x26d),_0x3f7439=_0x34b9c2?{'prefix':_0x1f6cfd}:_0x1f6cfd;return _0x53ce0c=>{const _0x3b959c=_0x49d9ff;registerProvider({'token':_0x53ce0c,'useClass':_0x53ce0c,'scope':'singleton'});const _0x1d05b8=getControllerScanContext(),_0x20b303=_0x34b9c2&&_0x1f6cfd===''||!_0x34b9c2&&(_0x3f7439['prefix']==null||_0x3f7439['prefix']===''),_0x477a4f=normalizePrefix(_0x20b303&&_0x1d05b8?.[_0x3b959c(0x301)]?parseControllerAutoPrefix(_0x1d05b8[_0x3b959c(0x301)]):_0x3f7439[_0x3b959c(0x25b)]??''),_0x5f5c67=Reflect['getMetadata'](ROUTES_PENDING_KEY,_0x53ce0c)??[],_0x353c73=pickCrudOptions(_0x3f7439);registerController({'token':_0x53ce0c,'prefix':_0x477a4f,'module':_0x3f7439[_0x3b959c(0x233)]??_0x1d05b8?.[_0x3b959c(0x233)]??_0x3b959c(0x1eb),'side':_0x3f7439[_0x3b959c(0x26b)]??_0x1d05b8?.[_0x3b959c(0x26b)]??_0x3b959c(0x1dd),'description':_0x3f7439[_0x3b959c(0x144)],'file':_0x1d05b8?.[_0x3b959c(0x301)],'middleware':asMiddlewareList(_0x3f7439[_0x3b959c(0x261)]),'crud':_0x353c73,'routes':_0x5f5c67[_0x3b959c(0x2dd)](_0x4549f9=>{const _0x284780=_0x3b959c,_0x2567c2=getRouteParams(_0x53ce0c,_0x4549f9[_0x284780(0x296)]),_0x36c5d5=schemaFromParams(_0x2567c2),_0x2d7411=[..._0x4549f9['middleware']??[],...getRouteMiddleware(_0x53ce0c,_0x4549f9[_0x284780(0x296)])];return{..._0x4549f9,'path':joinRoute(_0x477a4f,_0x4549f9['path']['startsWith']('/')?_0x4549f9[_0x284780(0x182)]['slice'](0x1):_0x4549f9[_0x284780(0x182)]),'params':_0x2567c2,'body':_0x36c5d5?.[_0x284780(0x1f4)],'query':_0x36c5d5?.[_0x284780(0x2a8)],'routeParams':_0x36c5d5?.[_0x284780(0x2a1)],'public':isRoutePublic(_0x53ce0c,_0x4549f9[_0x284780(0x296)]),'ignorePerms':isRouteIgnorePerms(_0x53ce0c,_0x4549f9['handler']),'perms':getRoutePerms(_0x53ce0c,_0x4549f9['handler']),'middleware':_0x2d7411[_0x284780(0x13e)]?_0x2d7411:undefined};})}),Reflect[_0x3b959c(0x2f3)](ROUTES_PENDING_KEY,_0x53ce0c),clearRouteParams(_0x53ce0c),clearRoutePublic(_0x53ce0c),clearRouteMiddleware(_0x53ce0c),clearRoutePerms(_0x53ce0c),clearRouteIgnorePerms(_0x53ce0c);};}function Use(..._0x329c4e){return(_0x47692a,_0x439721)=>{const _0xfa7a53=_0x44c2,_0x4f4733=_0x47692a[_0xfa7a53(0x279)];appendRouteMiddleware(_0x4f4733,String(_0x439721),_0x329c4e);};}function createMethodDecorator(_0x3e45a1){return(_0x2c4e09='',_0x3fea22)=>(_0x17b63d,_0x5eb6da)=>{const _0x5a7e9c=_0x44c2,_0x2688c2=_0x17b63d[_0x5a7e9c(0x279)];appendPendingRoute(_0x2688c2,{'method':_0x3e45a1,'path':_0x2c4e09,'handler':String(_0x5eb6da),'summary':_0x3fea22?.[_0x5a7e9c(0x1d3)]});};}function Public(){return(_0x214415,_0x5497ad)=>{const _0x3151a2=_0x44c2,_0x29e056=_0x214415[_0x3151a2(0x279)];markRoutePublic(_0x29e056,String(_0x5497ad));};}function Perms(..._0x29285d){return(_0x2f4c05,_0x22033c)=>{const _0x4704bb=_0x44c2,_0x2d6811=_0x2f4c05[_0x4704bb(0x279)];setRoutePerms(_0x2d6811,String(_0x22033c),_0x29285d);};}function IgnorePerms(){return(_0x323907,_0x1d7667)=>{const _0x3107bd=_0x323907['constructor'];markRouteIgnorePerms(_0x3107bd,String(_0x1d7667));};}var Body=createParamDecorator(_0x160996(0x1f4)),Query=createParamDecorator(_0x160996(0x2a8)),Param=createParamDecorator(_0x160996(0x2a1)),Get=createMethodDecorator(_0x160996(0x1ac)),Post=createMethodDecorator('POST'),Put=createMethodDecorator(_0x160996(0x2e7)),Delete=createMethodDecorator(_0x160996(0x280)),Patch=createMethodDecorator('PATCH');class BasePlugin{[_0x160996(0x219)];['ctx'];['cache'];[_0x160996(0x14d)];async[_0x160996(0x239)](_0x24d9da,_0x24436d,_0x5587ae,_0x202a86){const _0x41e4fd=_0x160996;this[_0x41e4fd(0x219)]=_0x24d9da,this[_0x41e4fd(0x29d)]=_0x24436d,this[_0x41e4fd(0x17f)]=_0x202a86?.['cache'],this[_0x41e4fd(0x14d)]=_0x202a86?.[_0x41e4fd(0x14d)],await this['ready']();}async[_0x160996(0x12d)](){}}import{existsSync,readFileSync}from'fs';import{createRequire}from'module';import{join as _0x49213d}from'path';import{createHash}from'crypto';import{homedir}from'os';import{join as _0x2a4bbf}from'path';function pDataPath(){const _0x37ca13=_0x160996,_0x5291f2=createHash(_0x37ca13(0x27f))[_0x37ca13(0x2a6)](String(VomeConfig[_0x37ca13(0x28f)]??_0x37ca13(0x27b)))[_0x37ca13(0x27c)]('hex');return _0x2a4bbf(homedir(),_0x37ca13(0x2e4),_0x5291f2);}function pPluginPath(){const _0x436604=_0x160996;return _0x2a4bbf(pDataPath(),_0x436604(0x14b));}function pModulesPath(){const _0x37bb95=_0x160996;return _0x2a4bbf(pDataPath(),_0x37bb95(0x161));}function pModulePath(_0x3495d5){return _0x2a4bbf(pModulesPath(),_0x3495d5);}var hostRequire=createRequire(import.meta.url);function pluginRequire(_0x2208b3){if(_0x2208b3==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire(_0x2208b3);}function loadPluginClass(_0x53d436){const _0x42f437=_0x160996;try{const _0x1600ec=_0x53d436[_0x42f437(0x14e)](/export\s+const\s+Plugin\s*=/g,_0x42f437(0x247))[_0x42f437(0x14e)](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')[_0x42f437(0x14e)](/export\s+const\s+handlers\s*=/g,'var\x20handlers\x20=')[_0x42f437(0x14e)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')[_0x42f437(0x14e)](/export\s+class\s+(\w+)/g,_0x42f437(0x241))[_0x42f437(0x14e)](/export\s+default\s+/g,'')[_0x42f437(0x14e)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x42f437(0x14e)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x42f437(0x14e)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,'({\x20BasePlugin\x20})'),_0x49ce71=new Function(_0x42f437(0x2aa),_0x42f437(0x26a),_0x42f437(0x233),_0x42f437(0x24d),_0x1600ec+_0x42f437(0x298)),_0x4812a0={'exports':{}};return _0x49ce71(BasePlugin,pluginRequire,_0x4812a0,_0x4812a0[_0x42f437(0x24d)]);}catch(_0x5d2057){throw new Error('[Plugin]\x20加载失败:\x20'+(_0x5d2057 instanceof Error?_0x5d2057[_0x42f437(0x173)]:String(_0x5d2057)));}}function readPluginScript(_0x1a121b){const _0x25001c=_0x160996,_0x315397=_0x49213d(pModulePath(_0x1a121b),'server',_0x25001c(0x135));if(existsSync(_0x315397))return readFileSync(_0x315397,_0x25001c(0x2ce));const _0x5eba99=_0x49213d(pPluginPath(),_0x1a121b);if(!existsSync(_0x5eba99))return;try{const _0x191882=JSON[_0x25001c(0x1cd)](readFileSync(_0x5eba99,_0x25001c(0x2ce)));return _0x191882[_0x25001c(0x1c5)]?.['data'];}catch{return;}}import{existsSync as _0x35686d,readFileSync as _0x419a71,readdirSync as _0x5b3bcb,statSync}from'fs';import{createRequire as _0x25d418}from'module';import{join as _0x3a6409}from'path';var registry2=new Map(),hostRequire2=_0x25d418(import.meta.url);function pluginRequire2(_0x3fef29){if(_0x3fef29==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire2(_0x3fef29);}function normalizePath(_0x2fa655){const _0x2d5972=_0x160996,_0xe4f541=_0x2fa655['startsWith']('/')?_0x2fa655:'/'+_0x2fa655;return _0xe4f541[_0x2d5972(0x14e)](/\/+$/,'')||'/';}function normalizeMethod(_0x220e6b){const _0x34653c=_0x160996;return _0x220e6b[_0x34653c(0x1d0)]();}function normalizeModuleScript(_0x182482){const _0x1c0c52=_0x160996;return _0x182482[_0x1c0c52(0x14e)](/export\s+const\s+handlers\s*=/g,_0x1c0c52(0x2b1))['replace'](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')['replace'](/export\s+default\s+\{/g,_0x1c0c52(0x20e))[_0x1c0c52(0x14e)](/export\s+const\s+Plugin\s*=/g,'var\x20Plugin\x20=')[_0x1c0c52(0x14e)](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')[_0x1c0c52(0x14e)](/export\s+class\s+(\w+)/g,'class\x20$1')[_0x1c0c52(0x14e)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x1c0c52(0x14e)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x1c0c52(0x14e)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,_0x1c0c52(0x165));}function loadModuleHandlers(_0x2409d4,_0x436806=!![]){const _0x4d9ad0=_0x160996,_0x2b461f=normalizeModuleScript(_0x2409d4),_0x291254=new Function(_0x4d9ad0(0x2aa),'require','module',_0x4d9ad0(0x24d),_0x2b461f+'\x0aif\x20(typeof\x20handlers\x20===\x20\x27undefined\x27)\x20return\x20null;\x0areturn\x20handlers;'),_0x4a6ec3={'exports':{}},_0x526820=_0x291254(BasePlugin,pluginRequire2,_0x4a6ec3,_0x4a6ec3[_0x4d9ad0(0x24d)]);if(!_0x526820||typeof _0x526820!=='object'){if(_0x436806)throw new Error(_0x4d9ad0(0x1bf));return{};}return _0x526820;}var ModuleRegistry={'get'(_0x1cff5e){const _0x174b9d=_0x160996;return registry2[_0x174b9d(0x2d1)](_0x1cff5e);},'list'(){const _0x2eca10=_0x160996;return[...registry2['entries']()][_0x2eca10(0x2dd)](([_0x1f2341,_0x50d42f])=>({'key':_0x1f2341,'manifest':_0x50d42f[_0x2eca10(0x192)],'routes':_0x50d42f['routes']}));},'load'(_0x20af47){const _0x4456a7=_0x160996;if(!_0x20af47||!/^[a-zA-Z0-9_-]+$/[_0x4456a7(0x127)](_0x20af47))throw new Error(_0x4456a7(0x147)+_0x20af47);const _0x1c4c6d=pModulePath(_0x20af47),_0x4f3c97=_0x3a6409(_0x1c4c6d,'module.json');if(!_0x35686d(_0x4f3c97))throw new Error('缺少\x20module.json:\x20'+_0x20af47);const _0x129d68=JSON['parse'](_0x419a71(_0x4f3c97,'utf8')),_0x1a1105=(_0x129d68[_0x4456a7(0x157)]??[])[_0x4456a7(0x2dd)](_0x8ae195=>({..._0x8ae195,'method':normalizeMethod(_0x8ae195[_0x4456a7(0x276)]),'path':normalizePath(_0x8ae195[_0x4456a7(0x182)])}));let _0x4304f1={};const _0x5da5fa=_0x3a6409(_0x1c4c6d,_0x4456a7(0x13a),'index.js');if(_0x35686d(_0x5da5fa)){const _0x7f8df5=_0x419a71(_0x5da5fa,'utf8');_0x4304f1=loadModuleHandlers(_0x7f8df5,_0x1a1105[_0x4456a7(0x13e)]>0x0);for(const _0x10773f of _0x1a1105){if(typeof _0x4304f1[_0x10773f['handler']]!==_0x4456a7(0x2d3))throw new Error(_0x4456a7(0x11f)+_0x20af47+_0x4456a7(0x2f7)+_0x10773f['handler']);}}else{if(_0x1a1105[_0x4456a7(0x13e)])throw new Error('模块\x20'+_0x20af47+'\x20声明了\x20routes\x20但缺少\x20server/index.js');}return registry2[_0x4456a7(0x309)](_0x20af47,{'manifest':_0x129d68,'handlers':_0x4304f1,'routes':_0x1a1105}),registry2[_0x4456a7(0x2d1)](_0x20af47);},'unload'(_0x3df52a){registry2['delete'](_0x3df52a);},async 'dispatch'(_0x119b49,_0x44ab57,_0x2fe0ce,_0x10fbf2){const _0x2de679=_0x160996,_0x4cb420=registry2[_0x2de679(0x2d1)](_0x119b49);if(!_0x4cb420)return{'ok':![],'status':0x194,'message':'\u6A21\u5757\u672A\u52A0\u8F7D'};const _0x4e0095=normalizeMethod(_0x44ab57),_0x352827=normalizePath(_0x2fe0ce),_0x47d363=_0x4cb420['routes'][_0x2de679(0x1a7)](_0x2c3661=>_0x2c3661['method']===_0x4e0095&&_0x2c3661['path']===_0x352827);if(!_0x47d363)return{'ok':![],'status':0x194,'message':_0x2de679(0x24c)};const _0x451e39=_0x4cb420[_0x2de679(0x1be)][_0x47d363[_0x2de679(0x296)]];if(typeof _0x451e39!==_0x2de679(0x2d3))return{'ok':![],'status':0x1f4,'message':_0x2de679(0x290)+_0x47d363[_0x2de679(0x296)]};try{const _0x502297=await _0x451e39(_0x10fbf2);return{'ok':!![],'data':_0x502297,'route':_0x47d363};}catch(_0x4f79e2){const _0x48cd67=_0x4f79e2 instanceof Error?_0x4f79e2['message']:String(_0x4f79e2);return{'ok':![],'status':0x1f4,'message':_0x48cd67,'route':_0x47d363};}},'bootstrap'(){const _0x2547f4=_0x160996,_0x1e8ac1=pModulesPath();if(!_0x35686d(_0x1e8ac1))return;for(const _0x12e492 of _0x5b3bcb(_0x1e8ac1)){const _0x2a6914=_0x3a6409(_0x1e8ac1,_0x12e492);if(!statSync(_0x2a6914)['isDirectory']())continue;if(!_0x35686d(_0x3a6409(_0x2a6914,_0x2547f4(0x2ef))))continue;try{this[_0x2547f4(0x12f)](_0x12e492),console[_0x2547f4(0x230)](_0x2547f4(0x225)+_0x12e492);}catch(_0x549246){console['warn'](_0x2547f4(0x224)+_0x12e492+':',_0x549246 instanceof Error?_0x549246[_0x2547f4(0x173)]:_0x549246);}}}};import{existsSync as _0x182804,statSync as _0x497632}from'fs';import{join as _0x334717,normalize,sep}from'path';import{Elysia as _0x5cdcfc}from'elysia';var PREFIX=_0x160996(0x2f5);function contentType(_0x488ae2){const _0x4aae4a=_0x160996,_0x4261ab=_0x488ae2['toLowerCase']();if(_0x4261ab['endsWith']('.html'))return _0x4aae4a(0x1ba);if(_0x4261ab[_0x4aae4a(0x306)](_0x4aae4a(0x2ad))||_0x4261ab[_0x4aae4a(0x306)](_0x4aae4a(0x1e8)))return _0x4aae4a(0x21f);if(_0x4261ab[_0x4aae4a(0x306)](_0x4aae4a(0x1c3)))return _0x4aae4a(0x174);if(_0x4261ab[_0x4aae4a(0x306)](_0x4aae4a(0x16f)))return _0x4aae4a(0x16d);if(_0x4261ab['endsWith']('.svg'))return'image/svg+xml';if(_0x4261ab['endsWith'](_0x4aae4a(0x222)))return _0x4aae4a(0x282);if(_0x4261ab[_0x4aae4a(0x306)](_0x4aae4a(0x1af))||_0x4261ab['endsWith'](_0x4aae4a(0x154)))return _0x4aae4a(0x228);if(_0x4261ab[_0x4aae4a(0x306)](_0x4aae4a(0x17c)))return _0x4aae4a(0x2bb);if(_0x4261ab[_0x4aae4a(0x306)](_0x4aae4a(0x1d5)))return _0x4aae4a(0x18f);if(_0x4261ab[_0x4aae4a(0x306)](_0x4aae4a(0x2b6)))return _0x4aae4a(0x1f2);return _0x4aae4a(0x129);}var microApps=new _0x5cdcfc({'name':'micro-apps-static'})['get'](PREFIX+'/*',({params:_0x405b23,set:_0x297bc8})=>{const _0x187e84=_0x160996,_0x39cd09=String(_0x405b23['*']||''),_0x14600d=_0x39cd09[_0x187e84(0x22a)]('/')['filter'](Boolean);if(!_0x14600d[_0x187e84(0x13e)])return _0x297bc8['status']=0x194,'Not\x20Found';const _0x4409f7=_0x14600d[0x0];if(!/^[a-zA-Z0-9_-]+$/[_0x187e84(0x127)](_0x4409f7))return _0x297bc8[_0x187e84(0x2da)]=0x190,'Invalid\x20app\x20key';const _0x51ae9b=_0x334717(pModulePath(_0x4409f7),'web');if(!_0x182804(_0x51ae9b)||!_0x497632(_0x51ae9b)['isDirectory']())return _0x297bc8[_0x187e84(0x2da)]=0x194,_0x187e84(0x29b);let _0x47f417=_0x14600d['slice'](0x1)[_0x187e84(0x262)]('/')||'index.html';if(_0x47f417['endsWith']('/'))_0x47f417+=_0x187e84(0x28c);const _0x314621=normalize(_0x334717(_0x51ae9b,_0x47f417));if(!_0x314621['startsWith'](_0x51ae9b+sep)&&_0x314621!==_0x51ae9b)return _0x297bc8[_0x187e84(0x2da)]=0x193,_0x187e84(0x1e3);let _0x39cf30=_0x314621;_0x182804(_0x39cf30)&&_0x497632(_0x39cf30)[_0x187e84(0x1f7)]()&&(_0x39cf30=_0x334717(_0x39cf30,'index.html'));if(!_0x182804(_0x39cf30)||!_0x497632(_0x39cf30)[_0x187e84(0x169)]())return _0x297bc8[_0x187e84(0x2da)]=0x194,_0x187e84(0x299);return _0x297bc8[_0x187e84(0x1ae)][_0x187e84(0x248)]=contentType(_0x39cf30),_0x297bc8[_0x187e84(0x1ae)][_0x187e84(0x1bb)]=_0x187e84(0x17a),_0x297bc8[_0x187e84(0x1ae)][_0x187e84(0x2fe)]='*',Bun[_0x187e84(0x301)](_0x39cf30);});import{Elysia as _0xa99b33}from'elysia';function ok(_0x33779c){const _0x1491de=_0x160996;return{'code':RES_CODE[_0x1491de(0x15a)],'message':_0x1491de(0x11e),'data':_0x33779c??null};}function fail(_0x289f70,_0xe07126=RES_CODE[_0x160996(0x1d7)]){return{'code':_0xe07126,'message':_0x289f70};}async function handleExt(_0x39168d){const _0x4959d8=_0x160996,_0x1c7ad1=_0x39168d['params']['key'];if(!_0x1c7ad1||!/^[a-zA-Z0-9_-]+$/[_0x4959d8(0x127)](_0x1c7ad1))return _0x39168d['set'][_0x4959d8(0x2da)]=0x190,fail(_0x4959d8(0x1da));const _0x151e91=String(_0x39168d[_0x4959d8(0x2a1)]['*']||''),_0xe2b841=('/'+_0x151e91)[_0x4959d8(0x14e)](/\/+/g,'/'),_0x146d6b=Context[_0x4959d8(0x2d1)](),_0xffbf1e=ModuleRegistry[_0x4959d8(0x2d1)](_0x1c7ad1);if(!_0xffbf1e)return _0x39168d[_0x4959d8(0x309)][_0x4959d8(0x2da)]=0x194,fail(_0x4959d8(0x139));const _0x33ec3c=_0x39168d[_0x4959d8(0x120)][_0x4959d8(0x276)][_0x4959d8(0x1d0)](),_0x9a4ae9=_0xe2b841[_0x4959d8(0x14e)](/\/+$/,'')||'/',_0x4c169f=_0xffbf1e[_0x4959d8(0x157)][_0x4959d8(0x1a7)](_0xe67c0f=>_0xe67c0f[_0x4959d8(0x276)]===_0x33ec3c&&_0xe67c0f[_0x4959d8(0x182)]===_0x9a4ae9);if(!_0x4c169f)return _0x39168d[_0x4959d8(0x309)]['status']=0x194,fail('\u8DEF\u7531\u4E0D\u5B58\u5728');if(_0x4c169f[_0x4959d8(0x160)]&&!_0x146d6b?.[_0x4959d8(0x231)]){const _0x393bdc=_0x146d6b?.[_0x4959d8(0x160)]??[];if(!_0x393bdc[_0x4959d8(0x271)](_0x4c169f[_0x4959d8(0x160)]))return _0x39168d['status'](0x193);}const _0x2f8570=await ModuleRegistry['dispatch'](_0x1c7ad1,_0x33ec3c,_0xe2b841,{'body':_0x39168d['body'],'query':_0x39168d[_0x4959d8(0x2a8)]??{},'params':_0x39168d['params'],'headers':_0x39168d['request']['headers'],'adminId':_0x146d6b?.[_0x4959d8(0x148)]});if(!_0x2f8570['ok'])return _0x39168d['set'][_0x4959d8(0x2da)]=_0x2f8570[_0x4959d8(0x2da)],fail(_0x2f8570['message']);return ok(_0x2f8570['data']);}function createModuleGateway(_0xe77c81){const _0x1e39fa=_0x160996;return new _0xa99b33({'name':_0x1e39fa(0x1f0)})[_0x1e39fa(0x286)](_0xe77c81[_0x1e39fa(0x195)])[_0x1e39fa(0x23d)](_0x1e39fa(0x158),handleExt,{'adminAuth':!![]})[_0x1e39fa(0x23d)]('/admin/ext/:key',handleExt,{'adminAuth':!![]});}import{Elysia as _0x4626ac}from'elysia';function defineAuthMacro(_0x1800ef,_0x453f9a){const _0x2a3dd0=_0x160996;return new _0x4626ac({'name':_0x1800ef+_0x2a3dd0(0x272)})[_0x2a3dd0(0x1f8)]({[_0x1800ef]:{'resolve':_0x453f9a}})['as'](_0x2a3dd0(0x240));}var package_default={'name':'vome-core','version':_0x160996(0x167),'description':_0x160996(0x153),'license':_0x160996(0x1d2),'type':_0x160996(0x233),'files':[_0x160996(0x22e),_0x160996(0x2c4),_0x160996(0x2a3)],'main':'./dist/index.js','types':_0x160996(0x181),'exports':{'.':{'types':_0x160996(0x181),'import':_0x160996(0x1f3),'default':'./dist/index.js'},'./server':{'types':_0x160996(0x2f4),'import':_0x160996(0x168),'default':_0x160996(0x168)},'./admin':{'types':_0x160996(0x2c3),'import':'./dist/admin/index.js','default':_0x160996(0x27d)},'./admin/service':{'types':_0x160996(0x126),'import':_0x160996(0x2c5),'default':'./dist/admin/service/index.js'},'./admin/crud':{'types':'./dist/admin/crud/index.d.ts','import':_0x160996(0x28d),'default':_0x160996(0x28d)},'./admin/router':{'types':_0x160996(0x2a0),'import':_0x160996(0x125),'default':_0x160996(0x125)},'./admin/*':{'types':_0x160996(0x23b),'import':_0x160996(0x14f),'default':_0x160996(0x14f)},'./admin/styles/base.css':'./dist/admin/styles/base.css','./typings/*':_0x160996(0x1bc)},'typesVersions':{'*':{'admin':[_0x160996(0x2c3)],'admin/service':[_0x160996(0x126)],'admin/crud':[_0x160996(0x19f)],'admin/router':[_0x160996(0x2a0)],'admin/*':[_0x160996(0x23b),_0x160996(0x186)]}},'scripts':{'build:server':_0x160996(0x209),'build:admin':'bun\x20scripts/build-admin.ts','build':_0x160996(0x124),'obfuscate':_0x160996(0x2d9),'build:obfuscate':_0x160996(0x201),'prepublishOnly':'bun\x20run\x20build:obfuscate'},'peerDependencies':{'elysia':_0x160996(0x146),'reflect-metadata':_0x160996(0x142),'drizzle-orm':_0x160996(0x1c4),'drizzle-zod':'>=0.5.0','vue':'>=3.5.0','vue-router':_0x160996(0x234),'pinia':'>=2.0.0','vue-sonner':_0x160996(0x1a5),'@vueuse/core':_0x160996(0x183),'clsx':_0x160996(0x1a5),'tailwind-merge':'>=2.0.0','dompurify':'>=3.0.0','marked':_0x160996(0x1cc)},'peerDependenciesMeta':{'drizzle-orm':{'optional':!![]},'drizzle-zod':{'optional':!![]},'vue':{'optional':!![]},'vue-router':{'optional':!![]},'pinia':{'optional':!![]},'vue-sonner':{'optional':!![]},'@vueuse/core':{'optional':!![]},'clsx':{'optional':!![]},'tailwind-merge':{'optional':!![]},'dompurify':{'optional':!![]},'marked':{'optional':!![]}},'devDependencies':{'bun-types':'latest','drizzle-orm':'latest','drizzle-zod':_0x160996(0x1c9),'elysia':_0x160996(0x2f8),'javascript-obfuscator':'^5.4.7','reflect-metadata':_0x160996(0x2f9),'typescript':_0x160996(0x2f8)},'dependencies':{'@bogeychan/elysia-logger':_0x160996(0x1ee),'@elysiajs/openapi':_0x160996(0x20a),'pino':_0x160996(0x12b),'pino-pretty':_0x160996(0x26e)}},version=package_default[_0x160996(0x289)];export{vome,version,tableHasDepartmentId,syncColumnCommentsToPg,scanFiles,resolveTenantScope,resolveDataScope,readPluginScript,q,pPluginPath,pModulesPath,pModulePath,pDataPath,normalizeHost,noTenant,noDataScope,microApps,loadPluginClass,loadModuleHandlers,listProviders,listControllers,isTenantEnabled,isEpsEnabled,isCommException,getRepository,getEnv,getColumnComments,entitySchemas,defineAuthMacro,createModuleGateway,columnComments,baseColumns,attachCrudRoutes,applyRowScopes,applyDataScopeWhere,appendInjectMeta,VomeConfig,Use,ScopeEnum,Repository,RES_CODE,Query,Put,Public,Provide,Post,Perms,Patch,Param,ModuleRegistry,Logger,Ioc,InjectRepository,Inject,IgnorePerms,Get,Eps,Delete,DbStore,Controller,Context,CommException,Body,BaseService,BasePlugin,BaseController,BASE_COLUMN_COMMENTS,App};