vome-core 0.0.11 → 0.0.13

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.
Files changed (39) hide show
  1. package/dist/admin/api/client.js +1 -1
  2. package/dist/admin/config/plugin-dev.js +1 -1
  3. package/dist/admin/crud/config.js +1 -1
  4. package/dist/admin/crud/confirm.js +1 -1
  5. package/dist/admin/crud/dict.js +1 -1
  6. package/dist/admin/crud/index.js +1 -1
  7. package/dist/admin/crud/key.js +1 -1
  8. package/dist/admin/crud/mitt.js +1 -1
  9. package/dist/admin/crud/plugins.js +1 -1
  10. package/dist/admin/crud/span.js +1 -1
  11. package/dist/admin/crud/style.js +1 -1
  12. package/dist/admin/crud/useCrud.js +1 -1
  13. package/dist/admin/crud/validate.js +1 -1
  14. package/dist/admin/directives/perm.js +1 -1
  15. package/dist/admin/hooks/useBrowser.js +1 -1
  16. package/dist/admin/hooks/useUpload.js +1 -1
  17. package/dist/admin/hooks/useVome.js +1 -1
  18. package/dist/admin/index.js +1 -1
  19. package/dist/admin/lib/browser.js +1 -1
  20. package/dist/admin/lib/cn.js +1 -1
  21. package/dist/admin/lib/dialog-float.js +1 -1
  22. package/dist/admin/lib/eps.js +1 -1
  23. package/dist/admin/lib/menu.js +1 -1
  24. package/dist/admin/lib/module.js +1 -1
  25. package/dist/admin/lib/tree.js +1 -1
  26. package/dist/admin/lib/upload.js +1 -1
  27. package/dist/admin/router/index.js +1 -1
  28. package/dist/admin/router/menu-routes.js +1 -1
  29. package/dist/admin/service/base.js +1 -1
  30. package/dist/admin/service/index.d.ts +5 -2
  31. package/dist/admin/service/index.js +1 -1
  32. package/dist/admin/stores/app.js +1 -1
  33. package/dist/admin/stores/tags.js +1 -1
  34. package/dist/admin/stores/user.js +1 -1
  35. package/dist/index.js +1 -1
  36. package/dist/server/index.js +1 -1
  37. package/dist/shared/index.js +1 -1
  38. package/dist/shared/tree.js +1 -1
  39. package/package.json +1 -2
@@ -1 +1 @@
1
- const _0x4727c2=_0x1a3d;(function(_0x1fa943,_0x5277dc){const _0x80a20e=_0x1a3d,_0x572732=_0x1fa943();while(!![]){try{const _0x54e8d2=parseInt(_0x80a20e(0x383))/0x1*(parseInt(_0x80a20e(0x326))/0x2)+-parseInt(_0x80a20e(0x259))/0x3*(-parseInt(_0x80a20e(0x2d0))/0x4)+-parseInt(_0x80a20e(0x26d))/0x5*(-parseInt(_0x80a20e(0x358))/0x6)+-parseInt(_0x80a20e(0x1e2))/0x7+-parseInt(_0x80a20e(0x390))/0x8*(parseInt(_0x80a20e(0x1ef))/0x9)+-parseInt(_0x80a20e(0x3a6))/0xa*(-parseInt(_0x80a20e(0x291))/0xb)+parseInt(_0x80a20e(0x347))/0xc*(-parseInt(_0x80a20e(0x348))/0xd);if(_0x54e8d2===_0x5277dc)break;else _0x572732['push'](_0x572732['shift']());}catch(_0x46b268){_0x572732['push'](_0x572732['shift']());}}}(_0x35d7,0xddcba));import{join}from'path';import{pathToFileURL}from'url';function getEnv(){const _0x4e8822=_0x1a3d;return Bun[_0x4e8822(0x2d1)][_0x4e8822(0x33f)]===_0x4e8822(0x3ac)?_0x4e8822(0x3ac):_0x4e8822(0x223);}function merge(_0x586c13,_0x17888b){const _0x4e66f0=_0x1a3d,_0x37e931={..._0x586c13};for(const _0x122223 of Object[_0x4e66f0(0x246)](_0x17888b)){const _0x3014d2=_0x37e931[_0x122223],_0x247dc3=_0x17888b[_0x122223];if(_0x3014d2&&_0x247dc3&&typeof _0x3014d2===_0x4e66f0(0x310)&&typeof _0x247dc3==='object'&&!Array[_0x4e66f0(0x327)](_0x3014d2)&&!Array[_0x4e66f0(0x327)](_0x247dc3)){_0x37e931[_0x122223]=merge(_0x3014d2,_0x247dc3);continue;}_0x37e931[_0x122223]=_0x247dc3;}return _0x37e931;}async function loadConfig(_0x4217c7=join(process[_0x4727c2(0x378)](),_0x4727c2(0x3b0))){const _0x2e18d5=_0x4727c2,_0x10cee3=getEnv()==='dev'?_0x2e18d5(0x288):_0x2e18d5(0x24c),_0xd878ce=await import(pathToFileURL(join(_0x4217c7,_0x2e18d5(0x278)))['href']),_0x13a541=await import(pathToFileURL(join(_0x4217c7,_0x10cee3))[_0x2e18d5(0x28c)]);return merge(_0xd878ce[_0x2e18d5(0x365)],_0x13a541[_0x2e18d5(0x365)]);}var VomeConfig=await loadConfig();import{Elysia as _0x59c491}from'elysia';import{Elysia}from'elysia';import{AsyncLocalStorage}from'async_hooks';var storage=new AsyncLocalStorage(),warnedOutsideRequest=![];function resolveClientIp(_0x547a56){const _0x5ee35f=_0x4727c2,_0x5374f5=_0x547a56[_0x5ee35f(0x23f)][_0x5ee35f(0x389)](_0x5ee35f(0x1fd));if(_0x5374f5){const _0x13bd9e=_0x5374f5[_0x5ee35f(0x22f)](',')[0x0]?.[_0x5ee35f(0x2fa)]();if(_0x13bd9e)return _0x13bd9e;}return _0x547a56['headers'][_0x5ee35f(0x389)](_0x5ee35f(0x31f))?.[_0x5ee35f(0x2fa)]()||_0x547a56[_0x5ee35f(0x23f)][_0x5ee35f(0x389)](_0x5ee35f(0x34b))?.[_0x5ee35f(0x2fa)]()||'';}function initContextFromRequest(_0x471a51){const _0x79e048=_0x4727c2,_0x572f45=new URL(_0x471a51[_0x79e048(0x2a6)]),_0x1160c1=_0x471a51[_0x79e048(0x23f)][_0x79e048(0x389)](_0x79e048(0x37d))?.[_0x79e048(0x22f)](',')[0x0]?.[_0x79e048(0x2fa)](),_0xb8205=_0x471a51['headers'][_0x79e048(0x389)]('host')?.['trim']();return{'requestId':crypto[_0x79e048(0x38d)](),'method':_0x471a51['method'],'path':_0x572f45[_0x79e048(0x2a1)],'ip':resolveClientIp(_0x471a51),'host':_0x1160c1||_0xb8205||_0x572f45[_0x79e048(0x360)],'startTime':Date[_0x79e048(0x322)]()};}function enterContextWith(_0x340432){const _0x5e72aa=_0x4727c2;storage[_0x5e72aa(0x20d)](_0x340432);}function getContext(){const _0x54d7c4=_0x4727c2;return storage[_0x54d7c4(0x286)]();}function assignContext(_0x3d6e5e){const _0x1ed9e0=_0x4727c2,_0x2f5e48=storage[_0x1ed9e0(0x286)]();if(!_0x2f5e48){getEnv()===_0x1ed9e0(0x3ac)&&!warnedOutsideRequest&&(warnedOutsideRequest=!![],console[_0x1ed9e0(0x1f8)](_0x1ed9e0(0x353)));return;}Object[_0x1ed9e0(0x39e)](_0x2f5e48,_0x3d6e5e);}function runContext(_0xb3e942,_0x2ecfcd){return storage['run'](_0xb3e942,_0x2ecfcd);}var Context=Object[_0x4727c2(0x39e)](assignContext,{'get':getContext,'run':runContext});import'reflect-metadata';var INJECT_METADATA_KEY=_0x4727c2(0x35a),providers=new Map();function registerProvider(_0xd5b541){const _0x38d9b7=_0x4727c2;providers[_0x38d9b7(0x2fc)](_0xd5b541[_0x38d9b7(0x341)],_0xd5b541);}function getProvider(_0x10bc10){const _0x4829bd=_0x4727c2;return providers[_0x4829bd(0x389)](_0x10bc10);}function listProviders(){const _0x5af665=_0x4727c2,_0x2f2932=new Set(),_0x585fb1=[];for(const _0x18c5d7 of providers[_0x5af665(0x319)]()){if(_0x2f2932['has'](_0x18c5d7[_0x5af665(0x2a7)]))continue;_0x2f2932[_0x5af665(0x213)](_0x18c5d7[_0x5af665(0x2a7)]),_0x585fb1['push'](_0x18c5d7);}return _0x585fb1;}function tokenLabel(_0x1d3471){const _0x2763ea=_0x4727c2;if(typeof _0x1d3471===_0x2763ea(0x256)||typeof _0x1d3471==='symbol')return String(_0x1d3471);return _0x1d3471[_0x2763ea(0x27e)]||_0x2763ea(0x23b);}function appendInjectMeta(_0x2b5288,_0x5a6566){const _0x4e09bf=_0x4727c2,_0x361447=Reflect[_0x4e09bf(0x2b7)](INJECT_METADATA_KEY,_0x2b5288)??[];_0x361447[_0x4e09bf(0x2dc)](_0x5a6566),Reflect[_0x4e09bf(0x328)](INJECT_METADATA_KEY,_0x361447,_0x2b5288);}function getInjectMetas(_0x2a3830){return Reflect['getMetadata'](INJECT_METADATA_KEY,_0x2a3830)??[];}function resetProviders(){providers['clear']();}var ScopeEnum;(_0x3e3217=>{const _0x1475f6=_0x4727c2;_0x3e3217[_0x1475f6(0x313)]=_0x1475f6(0x218),_0x3e3217[_0x1475f6(0x23a)]=_0x1475f6(0x34d),_0x3e3217[_0x1475f6(0x2a3)]=_0x1475f6(0x29b);})(ScopeEnum||={});var singletons=new Map(),creating=new Set(),requestCaches=new WeakMap();function injectProperties(_0x358f68,_0x5e6022){const _0x5deec1=_0x4727c2;for(const _0x1bb282 of getInjectMetas(_0x5e6022)){const {propertyKey:_0x4c8509,token:_0x292f3b,resolve:_0x165276}=_0x1bb282;if(!_0x165276&&_0x292f3b==null)throw new Error(_0x5deec1(0x30d)+String(_0x4c8509)+_0x5deec1(0x33d));const _0x43a01c=_0x165276?_0x165276():Ioc[_0x5deec1(0x389)](_0x292f3b);_0x358f68[_0x4c8509]=_0x43a01c;const _0x3dbde5=_0x358f68['bindEntity'];_0x165276&&typeof _0x3dbde5===_0x5deec1(0x305)&&_0x3dbde5[_0x5deec1(0x26b)](_0x358f68,_0x43a01c);}}function createInstance(_0x1c9229){const _0x3b014a=_0x4727c2;if(creating['has'](_0x1c9229))throw new Error('[Ioc]\x20检测到循环依赖:\x20'+_0x1c9229['name']);creating['add'](_0x1c9229);try{const _0x53cb78=new _0x1c9229();return injectProperties(_0x53cb78,_0x1c9229),_0x53cb78;}finally{creating[_0x3b014a(0x232)](_0x1c9229);}}function getSingleton(_0x5a7e61){const _0xcda6f2=singletons['get'](_0x5a7e61);if(_0xcda6f2)return _0xcda6f2;const _0xedc3d3=createInstance(_0x5a7e61);return singletons['set'](_0x5a7e61,_0xedc3d3),_0xedc3d3;}function getRequestCache(){const _0x6fd39c=_0x4727c2,_0x42a93a=Context[_0x6fd39c(0x389)]();if(!_0x42a93a)throw new Error(_0x6fd39c(0x361));let _0x227c8c=requestCaches[_0x6fd39c(0x389)](_0x42a93a);return!_0x227c8c&&(_0x227c8c=new Map(),requestCaches[_0x6fd39c(0x2fc)](_0x42a93a,_0x227c8c)),_0x227c8c;}function getRequestScoped(_0x4ab980){const _0x3cf10c=_0x4727c2,_0x48532b=getRequestCache(),_0x190b8f=_0x48532b[_0x3cf10c(0x389)](_0x4ab980);if(_0x190b8f)return _0x190b8f;const _0x539744=createInstance(_0x4ab980);return _0x48532b[_0x3cf10c(0x2fc)](_0x4ab980,_0x539744),_0x539744;}function resolveByScope(_0x158fe2,_0x4b4260){const _0x370166=_0x4727c2;switch(_0x4b4260){case _0x370166(0x218):return getSingleton(_0x158fe2);case'prototype':return createInstance(_0x158fe2);case _0x370166(0x34d):return getRequestScoped(_0x158fe2);default:throw new Error(_0x370166(0x2fe)+_0x4b4260);}}function resolveMeta(_0x553cd2){const _0x5a5b52=_0x4727c2,_0x204cc5=getProvider(_0x553cd2);if(!_0x204cc5)throw new Error(_0x5a5b52(0x2de)+tokenLabel(_0x553cd2));return _0x204cc5;}function bootstrapIoc(){const _0xf26266=_0x4727c2;for(const {useClass:_0x322df9,scope:_0x58f7c4}of listProviders()){_0x58f7c4===_0xf26266(0x218)&&getSingleton(_0x322df9);}console['log'](_0xf26266(0x1e3)+singletons[_0xf26266(0x2aa)]+'\x20singleton(s)');}function get(_0x510aa9){const _0x59982c=_0x4727c2,_0x5b0b85=resolveMeta(_0x510aa9);return resolveByScope(_0x5b0b85[_0x59982c(0x2a7)],_0x5b0b85['scope']);}function set(_0x3ad5b6,_0x580186){const _0x486f7f=_0x4727c2;if(typeof _0x3ad5b6===_0x486f7f(0x305)){registerProvider({'token':_0x3ad5b6,'useClass':_0x3ad5b6,'scope':_0x486f7f(0x218)}),singletons[_0x486f7f(0x2fc)](_0x3ad5b6,_0x580186);return;}const _0x268864=_0x580186?.[_0x486f7f(0x1e4)];if(!_0x268864||_0x268864===Object)throw new Error('[Ioc]\x20Ioc.set('+tokenLabel(_0x3ad5b6)+')\x20需要\x20class\x20实例,以便确定\x20useClass');registerProvider({'token':_0x3ad5b6,'useClass':_0x268864,'scope':_0x486f7f(0x218)}),registerProvider({'token':_0x268864,'useClass':_0x268864,'scope':_0x486f7f(0x218)}),singletons[_0x486f7f(0x2fc)](_0x268864,_0x580186);}function resetIoc(){const _0x42ce0d=_0x4727c2;singletons[_0x42ce0d(0x30f)](),creating[_0x42ce0d(0x30f)](),resetProviders();}var Ioc={'get':get,'set':set};import'reflect-metadata';var controllers=new Map();function registerController(_0x3c8905){const _0x4deef8=_0x4727c2;controllers[_0x4deef8(0x2fc)](_0x3c8905[_0x4deef8(0x341)],_0x3c8905);}function listControllers(_0x43c980){const _0x4d81b1=_0x4727c2,_0x286456=[...controllers['values']()];return _0x43c980?_0x286456[_0x4d81b1(0x2e3)](_0x17f969=>_0x17f969[_0x4d81b1(0x3b1)]===_0x43c980):_0x286456;}var ROUTE_PARAMS_KEY='vome:controller:route-params',ROUTE_PUBLIC_KEY=_0x4727c2(0x27b),ROUTE_MW_KEY='vome:controller:route-middleware',ROUTE_PERMS_KEY='vome:controller:route-perms',ROUTE_IGNORE_PERMS_KEY=_0x4727c2(0x1f2);function appendRouteParam(_0x4b5ef6,_0x342213,_0x133d05){const _0x5973c0=_0x4727c2,_0x2517f2=Reflect[_0x5973c0(0x2b7)](ROUTE_PARAMS_KEY,_0x4b5ef6)??{},_0x46aecd=_0x2517f2[_0x342213]??[];_0x46aecd[_0x5973c0(0x2dc)](_0x133d05),_0x2517f2[_0x342213]=_0x46aecd,Reflect[_0x5973c0(0x328)](ROUTE_PARAMS_KEY,_0x2517f2,_0x4b5ef6);}function getRouteParams(_0xea84a1,_0x361c63){const _0x55c128=_0x4727c2,_0xafca0e=Reflect[_0x55c128(0x2b7)](ROUTE_PARAMS_KEY,_0xea84a1);return _0xafca0e?.[_0x361c63]??[];}function clearRouteParams(_0x3996a0){const _0x8444e2=_0x4727c2;Reflect[_0x8444e2(0x352)](ROUTE_PARAMS_KEY,_0x3996a0);}function markRoutePublic(_0x5d8844,_0x23aeaa){const _0x3c7cc6=_0x4727c2,_0x15497a=Reflect['getMetadata'](ROUTE_PUBLIC_KEY,_0x5d8844)??{};_0x15497a[_0x23aeaa]=!![],Reflect[_0x3c7cc6(0x328)](ROUTE_PUBLIC_KEY,_0x15497a,_0x5d8844);}function isRoutePublic(_0x3b1450,_0xaf0d80){const _0x1f2d7a=_0x4727c2,_0x49d8b7=Reflect[_0x1f2d7a(0x2b7)](ROUTE_PUBLIC_KEY,_0x3b1450);return!!_0x49d8b7?.[_0xaf0d80];}function clearRoutePublic(_0x82fa73){Reflect['deleteMetadata'](ROUTE_PUBLIC_KEY,_0x82fa73);}function appendRouteMiddleware(_0x3a6322,_0x247f2b,_0x5245c8){const _0x2e39a5=_0x4727c2,_0x2e0050=Reflect[_0x2e39a5(0x2b7)](ROUTE_MW_KEY,_0x3a6322)??{};_0x2e0050[_0x247f2b]=[..._0x2e0050[_0x247f2b]??[],..._0x5245c8],Reflect[_0x2e39a5(0x328)](ROUTE_MW_KEY,_0x2e0050,_0x3a6322);}function getRouteMiddleware(_0x43b8b0,_0x1e881e){const _0x30982f=Reflect['getMetadata'](ROUTE_MW_KEY,_0x43b8b0);return _0x30982f?.[_0x1e881e]??[];}function clearRouteMiddleware(_0x1e429b){const _0x21629a=_0x4727c2;Reflect[_0x21629a(0x352)](ROUTE_MW_KEY,_0x1e429b);}function setRoutePerms(_0x1094cc,_0x576593,_0x136056){const _0x25e578=_0x4727c2,_0x2f9bba=Reflect[_0x25e578(0x2b7)](ROUTE_PERMS_KEY,_0x1094cc)??{};_0x2f9bba[_0x576593]=_0x136056,Reflect[_0x25e578(0x328)](ROUTE_PERMS_KEY,_0x2f9bba,_0x1094cc);}function getRoutePerms(_0xe0b5d,_0x3c6264){const _0xac768=Reflect['getMetadata'](ROUTE_PERMS_KEY,_0xe0b5d);return _0xac768?.[_0x3c6264];}function clearRoutePerms(_0x5a561b){const _0xf5c0ae=_0x4727c2;Reflect[_0xf5c0ae(0x352)](ROUTE_PERMS_KEY,_0x5a561b);}function markRouteIgnorePerms(_0x3dd2e7,_0xe01e85){const _0x4f2ea4=_0x4727c2,_0xe55d4d=Reflect[_0x4f2ea4(0x2b7)](ROUTE_IGNORE_PERMS_KEY,_0x3dd2e7)??{};_0xe55d4d[_0xe01e85]=!![],Reflect[_0x4f2ea4(0x328)](ROUTE_IGNORE_PERMS_KEY,_0xe55d4d,_0x3dd2e7);}function isRouteIgnorePerms(_0x2b7a99,_0x542aa0){const _0x14b25e=_0x4727c2,_0x494793=Reflect[_0x14b25e(0x2b7)](ROUTE_IGNORE_PERMS_KEY,_0x2b7a99);return!!_0x494793?.[_0x542aa0];}function clearRouteIgnorePerms(_0x2f8105){Reflect['deleteMetadata'](ROUTE_IGNORE_PERMS_KEY,_0x2f8105);}function schemaFromParams(_0xa4a0af){const _0x1a455f=_0x4727c2,_0x49ece9={};for(const _0x8f0565 of _0xa4a0af){if(_0x8f0565[_0x1a455f(0x20f)]===_0x1a455f(0x3ba)&&_0x8f0565[_0x1a455f(0x250)]!==undefined)_0x49ece9[_0x1a455f(0x3ba)]=_0x8f0565[_0x1a455f(0x250)];if(_0x8f0565[_0x1a455f(0x20f)]==='query'&&_0x8f0565['schema']!==undefined)_0x49ece9['query']=_0x8f0565[_0x1a455f(0x250)];if(_0x8f0565[_0x1a455f(0x20f)]===_0x1a455f(0x3aa)&&_0x8f0565[_0x1a455f(0x250)]!==undefined)_0x49ece9[_0x1a455f(0x3aa)]=_0x8f0565['schema'];}return Object[_0x1a455f(0x246)](_0x49ece9)[_0x1a455f(0x202)]>0x0?_0x49ece9:undefined;}function openApiTag(_0x1edca5,_0x1d3b42){return _0x1edca5+'.'+_0x1d3b42;}function sideOrder(_0x18a03e){const _0x4b5206=_0x4727c2;if(_0x18a03e===_0x4b5206(0x32b))return 0x0;if(_0x18a03e===_0x4b5206(0x343))return 0x1;return 0x2;}function parseTag(_0x260a83){const _0x1f3721=_0x4727c2,_0x42d9d1=_0x260a83[_0x1f3721(0x297)]('.');if(_0x42d9d1<0x0)return{'module':_0x260a83,'side':''};return{'module':_0x260a83[_0x1f3721(0x1fb)](0x0,_0x42d9d1),'side':_0x260a83['slice'](_0x42d9d1+0x1)};}function buildOpenApiTagDocs(){const _0x9e8f6f=_0x4727c2,_0x5946db=listControllers(),_0x14190a=new Map(),_0x4e88da=new Map();for(const _0x431452 of _0x5946db){const _0x2e34e2=openApiTag(_0x431452[_0x9e8f6f(0x265)],_0x431452['side']);!_0x14190a['has'](_0x2e34e2)&&_0x14190a[_0x9e8f6f(0x2fc)](_0x2e34e2,{'name':_0x2e34e2,'description':_0x431452[_0x9e8f6f(0x265)]+'\x20'+_0x431452[_0x9e8f6f(0x3b1)],'x-displayName':_0x431452[_0x9e8f6f(0x3b1)]});let _0x5644d8=_0x4e88da[_0x9e8f6f(0x389)](_0x431452[_0x9e8f6f(0x265)]);!_0x5644d8&&(_0x5644d8=new Set(),_0x4e88da['set'](_0x431452[_0x9e8f6f(0x265)],_0x5644d8)),_0x5644d8[_0x9e8f6f(0x213)](_0x2e34e2);}const _0x703e23=[..._0x14190a[_0x9e8f6f(0x319)]()][_0x9e8f6f(0x25e)]((_0x4ce466,_0x957ccc)=>{const _0x59643a=_0x9e8f6f,_0x27808d=parseTag(_0x4ce466[_0x59643a(0x27e)]),_0xb3435f=parseTag(_0x957ccc[_0x59643a(0x27e)]);return _0x27808d[_0x59643a(0x265)]['localeCompare'](_0xb3435f['module'])||sideOrder(_0x27808d[_0x59643a(0x3b1)])-sideOrder(_0xb3435f[_0x59643a(0x3b1)]);}),_0x1ff89b=[..._0x4e88da[_0x9e8f6f(0x3b8)]()]['sort'](([_0x1904b0],[_0x12e1fe])=>_0x1904b0[_0x9e8f6f(0x220)](_0x12e1fe))[_0x9e8f6f(0x38c)](([_0x2f2c34,_0x5d57a8])=>({'name':_0x2f2c34,'tags':[..._0x5d57a8][_0x9e8f6f(0x25e)]((_0x23290d,_0x4c9ccc)=>{const _0xe19fde=_0x9e8f6f,_0x21c50c=parseTag(_0x23290d)[_0xe19fde(0x3b1)],_0x46c9eb=parseTag(_0x4c9ccc)[_0xe19fde(0x3b1)];return sideOrder(_0x21c50c)-sideOrder(_0x46c9eb);})}));return{'tags':_0x703e23,'tagGroups':_0x1ff89b};}function normalizePrefix(_0x4b7cb2){const _0x3bd833=_0x4727c2;if(!_0x4b7cb2)return'';return _0x4b7cb2[_0x3bd833(0x2ed)]('/')?_0x4b7cb2:'/'+_0x4b7cb2;}function joinPrefix(..._0x2336e6){const _0x596bde=_0x4727c2,_0x23c7d5=_0x2336e6[_0x596bde(0x38c)](_0x26882e=>normalizePrefix(_0x26882e)[_0x596bde(0x244)](/^\/+|\/+$/g,''))[_0x596bde(0x2e3)](Boolean);return _0x23c7d5[_0x596bde(0x202)]?'/'+_0x23c7d5['join']('/'):'/';}function getRouteSubPath(_0x25ef30,_0x4eaca9){const _0x2ace9f=_0x4727c2,_0x3df412=normalizePrefix(_0x4eaca9)[_0x2ace9f(0x244)](/\/$/,''),_0x3f75e4=normalizePrefix(_0x25ef30);if(!_0x3df412)return _0x3f75e4||'/';if(_0x3f75e4===_0x3df412)return'/';if(_0x3f75e4[_0x2ace9f(0x2ed)](_0x3df412+'/'))return _0x3f75e4[_0x2ace9f(0x1fb)](_0x3df412[_0x2ace9f(0x202)])||'/';const _0x43b6b2=_0x25ef30['startsWith']('/')?_0x25ef30:'/'+_0x25ef30;return _0x43b6b2||'/';}function resolveRoutePerm(_0x2eb657,_0x8ad59d,_0x284e6f){const _0x453e42=_0x4727c2;let _0x396cbc=_0x8ad59d[_0x453e42(0x244)](/^\//,'')[_0x453e42(0x244)](/\/+/g,':');if(_0x396cbc===_0x2eb657)_0x396cbc=_0x2eb657;else _0x396cbc['startsWith'](_0x2eb657+':')&&(_0x396cbc=_0x396cbc['slice'](_0x2eb657['length']+0x1));const _0x1e4f0e=_0x2eb657+'-';_0x396cbc[_0x453e42(0x2ed)](_0x1e4f0e)&&(_0x396cbc=_0x396cbc['slice'](_0x1e4f0e[_0x453e42(0x202)]));_0x396cbc=_0x396cbc[_0x453e42(0x244)](/-/g,':');if(!_0x396cbc)_0x396cbc=_0x2eb657;return _0x2eb657+':'+_0x396cbc+':'+_0x284e6f;}function actionFromSubPath(_0x5a487f){const _0x1abcc1=_0x4727c2,_0x21e8d7=_0x5a487f[_0x1abcc1(0x244)](/^\/+|\/+$/g,'');if(!_0x21e8d7)return _0x1abcc1(0x380);const _0x21a9d1=_0x21e8d7[_0x1abcc1(0x22f)]('/');return _0x21a9d1[_0x21a9d1['length']-0x1]||_0x1abcc1(0x380);}function effectivePerms(_0x1f8617,_0x2d5b8b,_0x120dac){const _0x198e9e=_0x4727c2;if(_0x2d5b8b[_0x198e9e(0x3b1)]!=='admin'||_0x1f8617[_0x198e9e(0x200)]||_0x1f8617[_0x198e9e(0x3b2)])return;if(_0x1f8617[_0x198e9e(0x2b6)]?.['length'])return _0x1f8617[_0x198e9e(0x2b6)];const _0xbf1a83=_0x120dac??actionFromSubPath(getRouteSubPath(_0x1f8617[_0x198e9e(0x2b5)]??'/',_0x2d5b8b['prefix']));return[resolveRoutePerm(_0x2d5b8b[_0x198e9e(0x265)],_0x2d5b8b['prefix'],_0xbf1a83)];}var crudRegistrar;function setCrudRegistrar(_0x2e51ac){crudRegistrar=_0x2e51ac;}var SIDE_PREFIX={'admin':_0x4727c2(0x307),'app':'/app'},ADMIN_GUARD='adminAuth',APP_GUARD=_0x4727c2(0x2da),ELYSIA_METHODS={'GET':_0x4727c2(0x389),'POST':_0x4727c2(0x21a),'PUT':_0x4727c2(0x20e),'DELETE':'delete','PATCH':_0x4727c2(0x29a)};function getSidePrefix(_0x32b71a){return normalizePrefix(SIDE_PREFIX[_0x32b71a]);}function buildRouteSchema(_0x40223e){const _0x3626b6=_0x4727c2;if(_0x40223e[_0x3626b6(0x3aa)]?.[_0x3626b6(0x202)])return schemaFromParams(_0x40223e[_0x3626b6(0x3aa)]);const _0x5d3c8a={};if(_0x40223e[_0x3626b6(0x3ba)]!==undefined)_0x5d3c8a[_0x3626b6(0x3ba)]=_0x40223e[_0x3626b6(0x3ba)];if(_0x40223e[_0x3626b6(0x1ed)]!==undefined)_0x5d3c8a[_0x3626b6(0x1ed)]=_0x40223e[_0x3626b6(0x1ed)];if(_0x40223e['routeParams']!==undefined)_0x5d3c8a[_0x3626b6(0x3aa)]=_0x40223e[_0x3626b6(0x359)];return Object[_0x3626b6(0x246)](_0x5d3c8a)[_0x3626b6(0x202)]>0x0?_0x5d3c8a:undefined;}function assertRouteParams(_0x23071e,_0x212de4,_0x2de32a){const _0xfa3d61=_0x4727c2,_0x1a4355=new Set();for(const _0x358bba of _0x23071e){if(_0x1a4355[_0xfa3d61(0x211)](_0x358bba['source'])){const _0x533362=_0x358bba[_0xfa3d61(0x20f)]===_0xfa3d61(0x3ba)?_0xfa3d61(0x303):_0x358bba[_0xfa3d61(0x20f)]===_0xfa3d61(0x1ed)?'Query':_0xfa3d61(0x38e);throw new Error('[Router]\x20'+_0x2de32a+'.'+_0x212de4+'\x20重复\x20@'+_0x533362);}_0x1a4355['add'](_0x358bba[_0xfa3d61(0x20f)]);}}function createParamHandler(_0x5581cf,_0x3e0982,_0x3f1782){const _0x34b6b1=_0x4727c2,_0x3495c5=_0x5581cf[_0x3e0982],_0x5eb1aa=_0x3495c5[_0x34b6b1(0x37c)](_0x5581cf);if(!_0x3f1782?.[_0x34b6b1(0x202)])return _0x5eb1aa;const _0x392d62=[..._0x3f1782][_0x34b6b1(0x25e)]((_0x40ce52,_0x4ad60d)=>_0x40ce52['index']-_0x4ad60d[_0x34b6b1(0x380)]);return _0x44485f=>{const _0xb7b526=_0x34b6b1,_0x17d653=_0x392d62[_0xb7b526(0x38c)](_0x328c57=>{const _0x1f39f1=_0xb7b526;if(_0x328c57[_0x1f39f1(0x20f)]==='body')return _0x44485f[_0x1f39f1(0x3ba)];if(_0x328c57['source']===_0x1f39f1(0x1ed))return _0x44485f['query'];if(_0x328c57[_0x1f39f1(0x20f)]===_0x1f39f1(0x3aa))return _0x44485f[_0x1f39f1(0x3aa)];throw new Error(_0x1f39f1(0x316)+_0x328c57[_0x1f39f1(0x20f)]);});return _0x5eb1aa(..._0x17d653,_0x44485f);};}function createPermsGuard(_0x242dba){return _0xfe15e1=>{const _0x4c730a=_0x1a3d,_0x1bde9c=_0xfe15e1[_0x4c730a(0x2d7)],_0x4e39a9=Context[_0x4c730a(0x389)]();if(_0x4e39a9?.['isSuper'])return;const _0x601aff=_0x4e39a9?.[_0x4c730a(0x2b6)]??[];if(_0x242dba['some'](_0x131f31=>_0x601aff[_0x4c730a(0x395)](_0x131f31)))return;return _0x1bde9c(0x193);};}function openApiSummary(_0x40abd7,_0x14928b){const _0x1effbf=_0x4727c2,_0x24347d=_0x40abd7[_0x1effbf(0x244)](/^\/+|\/+$/g,'')[_0x1effbf(0x22f)]('/')[_0x1effbf(0x27d)]()||_0x40abd7;return _0x14928b?_0x24347d+'\x20'+_0x14928b:_0x24347d;}function buildRouteOptions(_0x48e224,_0x4e8335){const _0x3a255e=_0x4727c2,_0x241969=buildRouteSchema(_0x48e224)??{},_0x110e3e={..._0x241969,'detail':{'tags':[openApiTag(_0x4e8335['module'],_0x4e8335[_0x3a255e(0x3b1)])],'summary':openApiSummary(_0x48e224[_0x3a255e(0x1e6)],_0x48e224[_0x3a255e(0x1f4)])}};_0x4e8335['side']===_0x3a255e(0x32b)&&!_0x48e224['public']&&(_0x110e3e[ADMIN_GUARD]=!![]);_0x4e8335['side']==='app'&&!_0x48e224['public']&&(_0x110e3e[APP_GUARD]=!![]);const _0x3dba89=[],_0x1343a4=effectivePerms(_0x48e224,_0x4e8335);if(_0x1343a4?.[_0x3a255e(0x202)])_0x3dba89[_0x3a255e(0x2dc)](createPermsGuard(_0x1343a4));if(_0x48e224[_0x3a255e(0x274)]?.[_0x3a255e(0x202)])_0x3dba89['push'](..._0x48e224[_0x3a255e(0x274)]);if(_0x3dba89['length'])_0x110e3e[_0x3a255e(0x21d)]=_0x3dba89;return _0x110e3e;}function normalizeCrudRouteOpts(_0xc61ecf){const _0x1b501e=_0x4727c2;if(_0xc61ecf==null)return{};if(typeof _0xc61ecf===_0x1b501e(0x237))return{'public':_0xc61ecf};return _0xc61ecf;}function registerControllerPlugin(_0x1a9d49,_0x57492b){const _0x425c32=_0x4727c2,_0x307538=getSidePrefix(_0x1a9d49['side']),_0x1bd247=joinPrefix(_0x307538,_0x1a9d49['prefix']),_0x10a125=Ioc[_0x425c32(0x389)](_0x1a9d49[_0x425c32(0x341)]);let _0x9c6540=new Elysia({'prefix':_0x1bd247,'name':_0x1a9d49['token'][_0x425c32(0x27e)],'tags':[openApiTag(_0x1a9d49[_0x425c32(0x265)],_0x1a9d49['side'])]});for(const _0x16e11a of _0x1a9d49['middleware']??[]){_0x9c6540=_0x9c6540[_0x425c32(0x285)](_0x16e11a);}const _0x5a8b74=[];for(const _0x4618f8 of _0x1a9d49[_0x425c32(0x1e0)]){const _0x907477=_0x10a125[_0x4618f8[_0x425c32(0x1e6)]];if(typeof _0x907477!==_0x425c32(0x305))throw new Error(_0x425c32(0x37f)+_0x1a9d49['token']['name']+'.'+_0x4618f8['handler']+_0x425c32(0x21b));assertRouteParams(_0x4618f8[_0x425c32(0x3aa)]??[],_0x4618f8[_0x425c32(0x1e6)],_0x1a9d49[_0x425c32(0x341)][_0x425c32(0x27e)]);const _0x45348a=createParamHandler(_0x10a125,_0x4618f8[_0x425c32(0x1e6)],_0x4618f8[_0x425c32(0x3aa)]),_0x16e2ec=getRouteSubPath(_0x4618f8['path'],_0x1a9d49[_0x425c32(0x388)]),_0x4c020a=buildRouteOptions(_0x4618f8,_0x1a9d49),_0x523c85=ELYSIA_METHODS[_0x4618f8[_0x425c32(0x269)]];_0x9c6540=_0x9c6540[_0x523c85](_0x16e2ec,_0x45348a,_0x4c020a);}if(_0x1a9d49[_0x425c32(0x391)]?.['api']?.[_0x425c32(0x202)]||_0x1a9d49[_0x425c32(0x391)]?.[_0x425c32(0x30b)]?.[_0x425c32(0x202)]){if(!crudRegistrar)throw new Error(_0x425c32(0x37f)+_0x1a9d49['token'][_0x425c32(0x27e)]+_0x425c32(0x1df));_0x9c6540=crudRegistrar(_0x9c6540,_0x1a9d49,{'controller':_0x10a125,'routeOptions':_0x59de55=>{const _0x16783e=_0x425c32,{public:_0x11a218,action:_0x270801,summary:_0x357a6c}=normalizeCrudRouteOpts(_0x59de55),_0x19f775={'detail':{'tags':[openApiTag(_0x1a9d49[_0x16783e(0x265)],_0x1a9d49['side'])],'summary':openApiSummary(_0x270801??_0x16783e(0x294),_0x357a6c)}};if(_0x1a9d49['side']===_0x16783e(0x32b)&&!_0x11a218){_0x19f775[ADMIN_GUARD]=!![];if(_0x270801){const _0x24855a=resolveRoutePerm(_0x1a9d49[_0x16783e(0x265)],_0x1a9d49[_0x16783e(0x388)],_0x270801);_0x19f775[_0x16783e(0x21d)]=[createPermsGuard([_0x24855a])];}}return _0x19f775;}});for(const _0x2376e9 of _0x1a9d49[_0x425c32(0x391)]?.[_0x425c32(0x22b)]??[]){const _0x33ef63=_0x2376e9==='info'?_0x425c32(0x2c0):_0x425c32(0x3bc);_0x5a8b74[_0x425c32(0x2dc)]({'method':_0x33ef63,'path':joinPrefix(_0x1a9d49[_0x425c32(0x388)],_0x2376e9),'handler':_0x2376e9,'autoCrud':!![]});}for(const _0x3e3b53 of _0x1a9d49[_0x425c32(0x391)]?.[_0x425c32(0x30b)]??[]){_0x5a8b74[_0x425c32(0x2dc)]({'method':_0x425c32(0x3bc),'path':joinPrefix(_0x1a9d49[_0x425c32(0x388)],_0x3e3b53),'handler':_0x3e3b53,'autoCrud':!![]});}}return{'plugin':_0x9c6540,'pluginPrefix':_0x1bd247,'autoRoutes':_0x5a8b74};}function registerControllers(_0x533a1c,_0x3a4741){const _0x5d4a5d=_0x4727c2;let _0x1f2dc8=_0x533a1c,_0x5905b8=0x0;const _0x1ad42a=[];for(const _0x43e8cc of listControllers()){const {plugin:_0x555f65,pluginPrefix:_0x560e02,autoRoutes:_0x27b92d}=registerControllerPlugin(_0x43e8cc,_0x3a4741);_0x1f2dc8=_0x1f2dc8[_0x5d4a5d(0x262)](_0x555f65);for(const _0x7d0c94 of[..._0x43e8cc[_0x5d4a5d(0x1e0)],..._0x27b92d]){_0x5905b8+=0x1;const _0x1a95cd=getRouteSubPath(_0x7d0c94['path'],_0x43e8cc['prefix']),_0x55fac8=_0x1a95cd==='/'?_0x560e02:joinPrefix(_0x560e02,_0x1a95cd[_0x5d4a5d(0x244)](/^\//,'')),_0x29a54a=_0x7d0c94[_0x5d4a5d(0x200)]?_0x5d4a5d(0x356):_0x7d0c94['autoCrud']?_0x5d4a5d(0x2d4):'';_0x1ad42a[_0x5d4a5d(0x2dc)](_0x7d0c94['method']+'\x20'+_0x55fac8+_0x29a54a);}}if(_0x5905b8>0x0){console[_0x5d4a5d(0x2e2)](_0x5d4a5d(0x33a)+_0x5905b8+_0x5d4a5d(0x2a0));for(const _0x286386 of _0x1ad42a)console['log']('\x20\x20'+_0x286386);}return _0x1f2dc8;}var {Glob}=globalThis[_0x4727c2(0x2ac)],DEFAULT_EXT=/\.tsx?$/;async function scanFiles(_0x5ccac8,_0x44fdd8={}){const _0x18fc5f=_0x4727c2,{cwd:cwd=process[_0x18fc5f(0x378)](),ext:ext=DEFAULT_EXT}=_0x44fdd8,_0x3579c6=Array[_0x18fc5f(0x327)](_0x5ccac8)?_0x5ccac8:[_0x5ccac8],_0x125d50=[];for(const _0x2ba066 of _0x3579c6){const _0x42bbb4=new Glob(_0x2ba066);for await(const _0xc76403 of _0x42bbb4[_0x18fc5f(0x1ec)]({'cwd':cwd,'onlyFiles':!![]})){if(ext['test'](_0xc76403))_0x125d50['push'](_0xc76403);}}return[...new Set(_0x125d50)][_0x18fc5f(0x25e)]();}var context=null;function setControllerScanContext(_0x3ede49){context=_0x3ede49;}function getControllerScanContext(){return context;}function parseModuleFromPath(_0x5b4b0c){const _0xb54ecc=_0x4727c2,_0x1f471f=_0x5b4b0c[_0xb54ecc(0x393)](/modules\/([^/]+)\/controller\//);if(!_0x1f471f)return _0xb54ecc(0x330);return _0x1f471f[0x1];}function parseControllerAutoPrefix(_0x30e949){const _0xc56201=_0x4727c2,_0x4d5a77=_0x30e949[_0xc56201(0x244)](/\\/g,'/')['match'](/modules\/([^/]+)\/controller\/(?:admin|app)\/(.+)\.tsx?$/);if(!_0x4d5a77)return'';const _0x17bf60=_0x4d5a77[0x1],_0x35a979=_0x4d5a77[0x2][_0xc56201(0x244)](/\/+/g,'/')['replace'](/^\/|\/$/g,'');if(!_0x35a979)return'/'+_0x17bf60;return'/'+_0x17bf60+'/'+_0x35a979;}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(_0x1b4b67){const _0x4454ed=_0x4727c2,_0x1acedb=_0x1b4b67 instanceof Date?_0x1b4b67:new Date(_0x1b4b67);if(Number[_0x4454ed(0x342)](_0x1acedb['getTime']()))return String(_0x1b4b67);return new Intl[(_0x4454ed(0x302))](_0x4454ed(0x290),{'timeZone':_0x4454ed(0x399),'year':_0x4454ed(0x321),'month':'2-digit','day':_0x4454ed(0x35e),'hour':_0x4454ed(0x35e),'minute':'2-digit','second':_0x4454ed(0x35e),'hour12':![]})['format'](_0x1acedb)[_0x4454ed(0x244)]('T','\x20');}function isTimeKey(_0x38e371){const _0x332a5b=_0x4727c2;return TIME_KEY_RE[_0x332a5b(0x298)](_0x38e371);}function formatApiDates(_0x4b5775){return walk(_0x4b5775);}function walk(_0x382f09,_0x2219bc){const _0x42b851=_0x4727c2;if(_0x382f09==null)return _0x382f09;if(_0x382f09 instanceof Date)return formatDateTime(_0x382f09);if(typeof _0x382f09===_0x42b851(0x256)&&_0x2219bc&&isTimeKey(_0x2219bc)&&ISO_RE[_0x42b851(0x298)](_0x382f09))return formatDateTime(_0x382f09);if(Array['isArray'](_0x382f09))return _0x382f09[_0x42b851(0x38c)](_0x14d443=>walk(_0x14d443));if(typeof _0x382f09===_0x42b851(0x310)){if(Object[_0x42b851(0x29b)][_0x42b851(0x252)][_0x42b851(0x26b)](_0x382f09)!==_0x42b851(0x1f5))return _0x382f09;const _0x27d834={};for(const [_0x2cbd45,_0x4ec971]of Object['entries'](_0x382f09)){_0x27d834[_0x2cbd45]=walk(_0x4ec971,_0x2cbd45);}return _0x27d834;}return _0x382f09;}var RES_CODE={'SUCCESS':0x3e8,'ERROR':0x3e9};class BaseController{['ok'](_0x3d1b72){const _0x118ac9=_0x4727c2,_0x5536a1=_0x3d1b72===undefined?null:_0x3d1b72;return{'code':RES_CODE[_0x118ac9(0x2f8)],'message':_0x118ac9(0x26f),'data':_0x5536a1==null?_0x5536a1:formatApiDates(_0x5536a1)};}['fail'](_0x35c6cd='error',_0x4619ae=RES_CODE[_0x4727c2(0x34c)]){return{'code':_0x4619ae,'message':_0x35c6cd};}}import'reflect-metadata';function normalizeProvideArgs(_0x388eae){const _0x3ec046=_0x4727c2;if(_0x388eae==null)return{};if(typeof _0x388eae===_0x3ec046(0x256)||typeof _0x388eae==='symbol')return{'id':_0x388eae};return _0x388eae;}function Provide(_0x32f9eb){return _0x522fc7=>{const _0x1cbcf8=_0x1a3d,_0x2e1740=normalizeProvideArgs(_0x32f9eb),_0x153f05=_0x2e1740[_0x1cbcf8(0x279)]??_0x1cbcf8(0x218);registerProvider({'token':_0x522fc7,'useClass':_0x522fc7,'scope':_0x153f05}),_0x2e1740['id']!=null&&registerProvider({'token':_0x2e1740['id'],'useClass':_0x522fc7,'scope':_0x153f05});};}function Inject(_0xfa267d){return(_0x298201,_0x3a6e81)=>{const _0x12bf68=_0x1a3d,_0x28a23d=Reflect[_0x12bf68(0x2b7)](_0x12bf68(0x39f),_0x298201,_0x3a6e81),_0x1df7cd=_0xfa267d??_0x28a23d;if(_0x1df7cd==null)throw new Error(_0x12bf68(0x2ce)+String(_0x3a6e81)+'\x20的类型,请显式传入\x20token');appendInjectMeta(_0x298201['constructor'],{'propertyKey':_0x3a6e81,'token':_0x1df7cd});};}import{and,arrayContains,arrayOverlaps,asc,desc,eq,gte,inArray,like,lte,or,sql}from'drizzle-orm';function colName(_0x4cf464){const _0x1b9618=_0x4727c2;if(typeof _0x4cf464==='string'){const _0x322ed0=_0x4cf464[_0x1b9618(0x395)]('.')?_0x4cf464[_0x1b9618(0x22f)]('.')[_0x1b9618(0x27d)]():_0x4cf464;return{'column':_0x322ed0,'param':_0x322ed0,'none':![]};}const _0x2b7185=_0x4cf464[_0x1b9618(0x3b5)][_0x1b9618(0x395)]('.')?_0x4cf464[_0x1b9618(0x3b5)][_0x1b9618(0x22f)]('.')[_0x1b9618(0x27d)]():_0x4cf464[_0x1b9618(0x3b5)];return{'column':_0x2b7185,'param':_0x4cf464[_0x1b9618(0x2af)]??_0x2b7185,'none':Boolean(_0x4cf464['none'])};}function rangeColumn(_0x563d99){const _0x3dbae1=_0x4727c2;return _0x563d99[_0x3dbae1(0x3b5)]['includes']('.')?_0x563d99[_0x3dbae1(0x3b5)]['split']('.')[_0x3dbae1(0x27d)]():_0x563d99[_0x3dbae1(0x3b5)];}function tableCol(_0x315fde,_0x3f0082){const _0x24d39e=_0x4727c2,_0x4fcbe6=_0x315fde[_0x3f0082];if(_0x4fcbe6==null)throw new Error(_0x24d39e(0x201)+_0x3f0082);return _0x4fcbe6;}function isBlank(_0x1db959){return _0x1db959===undefined||_0x1db959===null||_0x1db959==='';}function compactWhere(_0x38d4bf){const _0x4c1837=_0x4727c2;if(_0x38d4bf==null||_0x38d4bf===![])return[];const _0x3bc55c=Array[_0x4c1837(0x327)](_0x38d4bf)?_0x38d4bf:[_0x38d4bf];return _0x3bc55c[_0x4c1837(0x2e3)](_0xe44271=>_0xe44271!=null&&_0xe44271!==![]);}var q={'between'(_0x514b38,_0x284d68,_0x42648e){if(isBlank(_0x284d68)||isBlank(_0x42648e))return;return sql`${_0x514b38} between ${_0x284d68} and ${_0x42648e}`;},'range'(_0x11a32c,_0x44a5bb,_0x1ef1d1){const _0x4c238e=_0x4727c2,_0x5cc8bc=[];if(!isBlank(_0x44a5bb))_0x5cc8bc[_0x4c238e(0x2dc)](gte(_0x11a32c,_0x44a5bb));if(!isBlank(_0x1ef1d1))_0x5cc8bc[_0x4c238e(0x2dc)](lte(_0x11a32c,_0x1ef1d1));if(!_0x5cc8bc[_0x4c238e(0x202)])return;return _0x5cc8bc[_0x4c238e(0x202)]===0x1?_0x5cc8bc[0x0]:and(..._0x5cc8bc);},'eqRest'(_0x26e927,_0x572bc9,_0x574e0c){const _0x301825=_0x4727c2,_0x28e0f3=[];for(const [_0x6d2a32,_0x5492f5]of Object[_0x301825(0x3b8)](_0x26e927)){if(isBlank(_0x5492f5))continue;const _0x23246d=_0x574e0c?.[_0x6d2a32]??_0x572bc9[_0x6d2a32];if(_0x23246d==null)continue;_0x28e0f3['push'](eq(_0x23246d,_0x5492f5));}return _0x28e0f3;},'contains'(_0x17a7db,_0x23e9e9){const _0x2f8242=_0x4727c2;if(isBlank(_0x23e9e9))return;const _0x16b7cd=Array['isArray'](_0x23e9e9)?_0x23e9e9:[_0x23e9e9];if(!_0x16b7cd[_0x2f8242(0x202)])return;return _0x16b7cd[_0x2f8242(0x202)]===0x1?arrayContains(_0x17a7db,_0x16b7cd):arrayOverlaps(_0x17a7db,_0x16b7cd);}};function _0x35d7(){const _0x3aed69=['DMfYigHHBMrSzxjZid0GEW','AgfZrw50Axr5','C2nVCgvKv2HLCMu','w1jVDxrLCL0GCMvNAxn0zxjLzcdIHPaG','pJ00lJaUma','CM91DgvpChrPB25Z','ioE8UUwWKsb0B2TLBIdMIjyGCMvZB2X2zq','w1bSDwDPBL0G5yQG6l295AsX6lsLoIa','tK9erv9ftLy','CMvZDg9YzsbMywLSzwq','Dg9Rzw4','Axnoyu4','yxbW','BwLU','Aw1Hz2uVC3zNk3HTBa','DgfNCW','ntaWnfHlqMPgEa','odG1ndnyChzZuwi','yMvMB3jL','AwrZihjLCxvPCMvK','y2yTy29UBMvJDgLUzY1PCa','rvjst1i','CMvXDwvZDa','BNvTyMvY','5y2v5lIQ5l+H5OgV','C3rHDhvZq29Kzq','Aw5Zzxj0','zgvSzxrLtwv0ywrHDge','w0nVBNrLEhrDiow9K+wjJEAxOoIVT+AXGUs4IUs4I+AwH++8JowgMEwfPEIIQ+w/VEEvPE+8IoIVT+EHRUIUPcbHC3LUy0nVBNrLEhrnyw5Hz2vYiow3SUwqR+EuQo+8Iq','zxHPDa','ywrKt3jKzxjcEq','icHWDwjSAwmP','CMvHzhK','mtq4nte5ogLgAfHwDa','CM91DgvqyxjHBxm','DM9TztPPBMPLy3q','B25szxf1zxn0','Bw9KDwXLlMPZB24','uxvLCNK','mI1KAwDPDa','AwrZ','Ag9ZDa','w0LVy10GuMvXDwvZDcdKVzZNLkJLN5/POBVLNkJOR7FMSylKUiRKUiVMLOFKUk3OP6pMNPdVViJOR7FNOA7ORQqGyxn5BMndB250zxH0twfUywDLCI5LBMfIBgxVViK','yxbWBgLJyxrPB24VANnVBJSGy2HHCNnLDd11DgyToa','C2f2zq','z2v0u1fm','zgvMyxvSDa','Aw1Hz2uVCg5N','yNvUigj1AwXKic4VC3jJl2LUzgv4lNrZic4VC3jJl3nLCNzLCI9PBMrLEc50CYaTlw91DgrPCIaUl2rPC3qGls10yxjNzxqGyNvUic0TzM9YBwf0igvZBsaTlwv4DgvYBMfSigvSExnPysaTlwv4DgvYBMfSihjLzMXLy3qTBwv0ywrHDgeGls1LEhrLCM5HBcbKCML6EMXLlw9YBsaTlwv4DgvYBMfSigrYAxP6BguTEM9Kic0TzxH0zxjUywWGqgvSExnPywPZl29Wzw5HCgKGls1LEhrLCM5HBcbayM9NzxLJAgfUl2vSExnPys1SB2DNzxiGls1LEhrLCM5HBcbWAw5Vic0TzxH0zxjUywWGCgLUBY1WCMv0DhKGjIyGDhnJic1WihrZy29UzMLNlMj1AwXKlMPZB24GjIyGChjPBNrMiciLC1XUiIaIzxHWB3j0icOGzNjVBsaNlI9ZCMmVAw5KzxGNiIa+igrPC3qVAw5KzxGUzc50CYaMjIbTA2rPCIaTCcbKAxn0l3nLCNzLCIaMjIbWCMLUDgyGiIvZxg4IicjLEhbVCNqGkIbMCM9TicCUlI9ZCMmVC2vYDMvYl2LUzgv4jYiGpIbKAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','Dw5ZywzL','zgf0yvnJB3bLrgvWDeLKCW','5yIG6zMK5PE26zE0','Aw5KzxGUANm','yxnJ','CMfUz2u','6z2E5Rov5QIH5z2xigTLEq','zgf0yvr5Cgu','57Y65Bcrig1VzhvSzs5QC29UoIa','lI9KAxn0l2LUzgv4lMqUDhm','zgLNzxn0','D2vI','B25fCNjVCG','BwfUAwzLC3q','CMvXDwvZDeXVzW','Bgf0zxn0','y3DK','y29TBwvUDa','zM9UDc93B2zMmG','BgLZDff1zxj5t3a','yMLUza','Ec1MB3j3yxjKzwqTAg9ZDa','zgvZy3jPChrPB24','w1jVDxrLCL0G','Aw5KzxG','DhLWzq','yM9VDhn0CMfW','nJaWotjIqwXgDee','Aw50zxjUywWGC2vYDMvYigvYCM9Y','BM90igzVDw5K','yxbWBgLJyxrPB24VAMf2yxnJCMLWDdSGy2HHCNnLDd11DgyToa','zM9Yy2u','ChjLzML4','z2v0','BgvMDePVAw4','lI9KAxn0l3nLCNzLCI9PBMrLEc5QCW','BwfW','CMfUzg9Tvvvjra','ugfYyw0','l2LUzM8','ohf5DLLRsa','y3j1za','B3jKzxjcEvnXBa','Bwf0y2G','l2XPC3q','Aw5JBhvKzxm','6lEV55sX5lIn5A2y5zYO','cMLMicH0ExbLB2yGAgfUzgXLCNmGpt09icD1BMrLzMLUzwqNksbYzxr1CM4GBNvSBdSkCMv0DxjUigHHBMrSzxjZoW','CM0GlxjMigrPC3qGjIyGyNvUihj1BIbIDwLSzdPZzxj2zxiGjIyGyNvUihj1BIbIDwLSzdPHzg1PBG','qxnPys9tAgfUz2HHAq','C2nVCgvK','pJ0Xmc4WlJa','Aw5KzxGUAhrTBa','B2zMC2v0','yxnZAwDU','zgvZAwDUoNr5Cgu','C3vWCg9YDhntB2z0rgvSzxrL','D2L0AfrYyxnOzwq','vM9TzsbMCMfTzxDVCMSG4OcuihnOyxjLzcaRiej1BI9fBhLZAweGC2vYDMvYicSGvNvLigfKBwLU','y3jLyxrLvgLTzq','zgvZyW','CgfNzvf1zxj5t3a','nJmWndbzChrXtKK','Bw9KAwz5qwz0zxi','zgf0yvnJB3bL','zw5KC1DPDgG','CgfYyw1Z','l3jLC3rVCMu','zgv2','DMfYifbSDwDPBIa9','l3bHz2u','CgfNzq','C3jJl2nVBMzPzW','C2LKzq','AwDUB3jLugvYBxm','Bw9KAwz5qMvMB3jL','Aw5PDa','y29SDw1U','BgLZDgvU','zgvSzxrLigzHAwXLza','zw50CMLLCW','lNDVzMyY','yM9KEq','y3r4','ue9tva','y2XHC3nPyW','z2v0tw9UDgG','kIOVBw9KDwXLCY8Ql3nLCNzPy2uVkIOVkI50CW','BM8Ty2fJAgu','y291BNq','y3jLyxrL','qxbWig5VDcbMB3vUza','Aw5MBYbMywLSzwq','pJ0ZlJaUma','5yIB5BU65PE26zE0','ioMfJEE9RUs6HIbHCgKVC2vYDMLJzufWAxpVViZKVyBMNkRMIB7LIlaGq1jvrcdLRP7NJRdVViHaDM9Tzs1JB3jLigf0DgfJAenYDwrsB3v0zxmG5PYQ5OYc6l2977Yj','CM91DgvZ','BwLJCM9bChbZ','otaXotm0nMHlwhnTrG','w0LVy10GyM9VDhn0CMfWiokgKca','y29UC3rYDwn0B3i','zMLLBgrsyw5Nzq','AgfUzgXLCG','xJeZlJeUmW','AxneAxjLy3rVCNK','ChjVCgvYDhLoyw1L','C2v0rw50Axr5','pJ0YlJaUma','C2nHBG','CxvLCNK','l2fKza','otG2odq5mwH5zM9NqG','lM1QCW','y29UDhjVBgXLCG','DM9TztPJB250CM9SBgvYoNjVDxrLlwLNBM9Yzs1WzxjTCW','D3jPDgu','C3vTBwfYEq','w29IAMvJDcbpyMPLy3rD','zw5K','lNbUzW','D2fYBG','B3jKzxjcEq','kIOVBw9KDwXLCY8Ql2nVBNrYB2XSzxiVywrTAw4VkIOVkI50CW','C2XPy2u','CgX1z2LU','Ec1MB3j3yxjKzwqTzM9Y','zMLUzej5swq','DxbKyxrLvgLTzq','ChvIBgLJ','w1f1zxj5t3bDioIHQoAxOowTL+AUTtOG','BgvUz3rO','AxngAw5PDgu','w01VzhvSzv0GBg9HzcbMywLSzwqG','mc4WlJeX','CMv0DxjUAw5N','y29UDgvUDa','xJeUnc4Xnq','y29SDw1UvhLWzq','DM9Tzq','zw5HyMXL','l3zVBwuVyxbWCW','zw50zxjxAxrO','Chv0','C291CMnL','C3rHCNq','AgfZ','AgfUzgXLCNm','ywrK','lI9KAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','ywrKigzHAwXLza','pJ05lJaUma','zMLUza','C2LUz2XLDg9U','C2vYDMLJzq','Cg9ZDa','ios4JEAyR+ACIEAvIcbOyw5KBgvY','AxntDxbLCG','yMvMB3jLsgfUzgXL','Dgv4Dc9JC3m7ignOyxjZzxq9DxrMltG','BgLTAxq','Bg9JywXLq29TCgfYzq','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xOVA/LIkdPMAq','ufvu','ChjVza','Bwf4rgf5CW','yNvUihnJCMLWDhmVyNvPBgqTywrTAw4UDhm','yNvUihj1BIbIDwLSzdPVyMz1C2nHDgu','ioIHQoAxOcbPzcdLIjC','xJeWlJmUmq','zMLUze9Uzq','ChjPBwfYEuTLEq','yxbP','zgLZDa','CgfKu3rHCNq','lw1Hy3jV','C3bSAxq','w2nVBhvTBKnVBw1LBNrZxsdPNz7MS5xMOiFOR4BNRky6ia','DMvYC2LVBG','zgvSzxrL','zxjYB3i','DM9Tzs1JB3jL','lMPZB24','zgvIDwC','yM9VBgvHBG','zMLUzfbHz2u','ios4JEAyR+ACIEAvIoAwUEAZLq','uMvXDwvZDa','kgfUB255Bw91CYK','w0HVC3rDihnJyw4G4OAqia','B25Jzq','zMLLBgrbCNjHEq','AgvHzgvYCW','y2XVC2u','w01VzhvSzv0GBg9HzgvKia','DMfSAwrHDgLVBIbMywLSzwq','w0HVC3rDignYDwqG4OAqieb2B21LlwnVCMuVB3jT','CMvWBgfJzq','z2v0rgf0zq','A2v5CW','ywrTAw5bDxrO','yMLUzevUDgL0Eq','AM9PBG','B3jKzxi','ignVBNrYB2XSzxiGzMLSzsHZkq','ChjVzc50CW','C3jJl21PzgrSzxDHCMuVAw5KzxGUDhm','CgLKlgHVC3rUyw1L','8j+tMIbbueNMLOFMOAm6ia','C2nOzw1H','uefuq0G','Dg9tDhjPBMC','y29SDw1Ux25HBwu','zw50Axr5','yxbWBgLJyxrPB24VANnVBG','C3rYAw5N','DxbKyxrLigzHAwXLza','y29Kzq','mJaXDNHyA0np','Bg9Nz2LUzW','y29UDgvUDc10ExbL','rw50Axr5','lNDVzMy','C29YDa','lI9KAxn0l2fKBwLUl2LUzgv4lMPZ','khSGqMfZzvbSDwDPBIb9kq','DMfSDwu','DxnL','DM9TztPJB250CM9SBgvYoNjVDxrLCY1Wzw5KAw5N','pJ0WlJiUma','Bw9KDwXL','Bwq1','y2fJAgu','CgX1z2LUu2vYDMLJzq','Bwv0Ag9K','lI90ExbPBMDZl2fKBwLUlYO','y2fSBa','CMvZDg9Yzq','mZvHr1bev1y','C3jJl2XPyI9JywnOzs9PBMrLEc50CW','C3vJy2vZCW','zMLLBgrfCq','BwLJCM8TyxbWCY1ZDgf0Awm','Bwf4','5QIH5z2x5PYQ5yQG6l29','BwLKzgXLD2fYzq','B3bLCMf0Aw9UvgL0BgvtB3vYy2u','Bgf5B3v0','Ahr0CdOVl2XVy2fS','zgvMyxvSDc50CW','C2nVCgu','zNjVBq','DM9TztPJB250CM9SBgvYoNjVDxrLlxb1yMXPyW','w0jHC2vtzxj2AwnLxsdMNkRNU5hLRPRLRP7KVzpVViZOR7FKVB/NLkGGqeLUAMvJDfjLCg9ZAxrVCNKG5OIwihnLDevUDgL0Eq','Cg9W','BMfTzq','B2zM','BM90tNvSBa','DxbKyxrLqNLsB3DZ','DxbKyxrL','Cg9YDa','DxbZzxj0','B25czwzVCMviyw5KBgu','z2v0u3rVCMu','6z2E5Rov5QIH5z2xigTLEtOG','zgv2lNrZ','Dg9mB3DLCKnHC2u','lMPZ','x19ZA2LWrgf0yvnJB3bL','AhjLzG','DhjHC2G','vKfmsurbveLptG','C3rKB3v0','C3yTu0u','mJC2mu50vvbqAG','zMLSzq','Bw9KDwXLr2f0zxDHEq','ywn0Aw9U','q09ntuvovcbptIbdt0Xvtu4G','zgvMyxvSDe5VDW','BgfZDeLUzgv4t2y','DgvZDa','lI9KAxn0l2fKBwLUl3n0EwXLCY9IyxnLlMnZCW','Cgf0y2G','ChjVDg90ExbL','C3jJl2XPyI90yxnRl2LUzgv4lNrZ','5yIx6kgO5P+L6k+I','lMH0BwW','C3fS','ihjVDxrLkhmP','Cgf0Ag5HBwu','AwqGCMvXDwLYzwq','uhjVDg90ExbL','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','C3jJl3nOyxjLza','DxjS','DxnLq2XHC3m','Ahr0CdOVl2XVy2fSAg9ZDdO','zgvWyxj0BwvUDeLK','C2L6zq','w0HVC3rDihnRAxaG4OAqig1PC3nPBMCG','qNvU','ywnJzxnZlwnVBNrYB2WTywXSB3CTB3jPz2LU','A2v5v29YzeXPA2vgAwvSzhm','CMvXDwvZDfbHCMfT','u0Lhvevstq','zM9Yy2vezwXLDgu','lI9KAxn0l2fKBwLUlYO','tM90iezVDw5K','Aw5UzxjkB2LU','Cgf0Aa','CgvYBxm','z2v0twv0ywrHDge','BM9Uzq','revmrvrf','zgf0yq','C3jJl2XPyI9HDxrOl2LUzgv4lNrZ','zM9UDc93B2zM','Dg9vChbLCKnHC2u','w0nsvurDia','vgfZAW','r0vu','C3rVCa','jg9UvxbKyxrL','y2XHC3mGjde','DMfYigHHBMrSzxjZid0','5QIH5z2x5PYQ5A6j6kof5OIw5PYQ5yQG6l29','C29MDerLBgv0zq','ioMCGoMfJEE9RIbLBNrPDhKG5OIwihnLCNzPy2u','zxHWB3j0CW','w1jLCg9ZAxrVCNLDioAjUEMhJ+ABToAwSoAVJ+ADOEMCGow4PIbPza','AxnfCNjVCG','C3jJl2XPyI9WBhvNAw4VAw5KzxGUDhm','zgLJDa','zg9JDw1LBNrHDgLVBG','w0LVy10GqeLUAMvJDcdML6dMS5xMJQJMLQ0G','yNvUihnJCMLWDhmVB2jMDxnJyxrLlNrZ','odKZndH1s2vTtMO','zw52','x19ZA2LWvgvUyw50','A2v5','icHJCNvKkq','DxrMoa','D2HLCMu','C3rHDhvZ','zxH0zw5K','DgfIBgu','yxv0Aa','l2rLBgv0zq','ChvZAa','g1SYsHTBsa','w0LVy10G5PYQ5RoO5yAm55QeifbYB3zPzgvYoIa','Aw1Hz2uVANbLzW','pJ0ZlJuUma','kqOGia','Bg9N','zMLSDgvY','iowJSoAyJUs6HIbYB3v0zxmG5l2g57Y65BcrihnLCNzLCI9PBMrLEc5QCW','cUkwIokwIokvLYaGiokwIokwIokvLYaGiokwIokwIokwIokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcUkwIokwIokvKsaGiokwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4PwxicdILOJILOJILOJILOJILzCG4PAi4PAi4PAi4PAi4PwricdILOJILOJILztILzdILzdILzdILzdILz0k4PAi4PAi4PwricaG4PAi4PAi4PwricdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvLokwIokwIokwIokwIokvLokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PwxcIdILOJILOJILzCG4PAi4PAi4Pwu4PwDicdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvKEkvMUkwIokwIokvLokvNEkwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4PwDcIaG4PwA4PAi4PAi4PAi4Pwu4PwDicaG4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwDicdILOJILOJILzeG4PwA4Pwq4PwDiokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcIaGiokvMUkvKokvKokvNsaGicaG4PwA4Pwq4Pwq4Pwq4Pwq4Pwq4PwDicaG4PwA4Pwq4PwDicaGicdILzRILzdILz0GiokvMUkvKokvKokvKokvKokvKokvKokvNqO','DgfIBgvFBMfTzq','AgfUzgXLCIdNVlRLPle6ia','C2v0rgf0zq','CgfYC2u','AxngAwXL','C2vYDMvY','rM9YyMLKzgvU','C3rHCNrZv2L0Aa','z2v0uMvWBW','ugX1z2LU','lMnZCW','A2v5v29Yza','cIaGicbtruXfq1qkicaGicaGyY5YzwXUyw1LieftihrHyMXLx25HBwuScIaGicaGigeUyxr0BMfTzsbbuYbJB2X1Bw5FBMfTzsWkicaGicaGy29Sx2rLC2nYAxb0Aw9UkgeUyxr0CMvSAwqSigeUyxr0BNvTksbbuYbJB21Tzw50cIaGicbguK9nihbNx2nHDgfSB2CUCgDFy2XHC3mGyWOGicaGsK9jtIbWz19JyxrHBg9NlNbNx25HBwvZCgfJzsbUie9oig4UB2LKid0GyY5YzwXUyw1LC3bHy2ukicaGiePpsu4GCgDFy2f0ywXVzY5Wz19HDhrYAwj1DguGysbptIbHlMf0DhjLBgLKid0GyY5VAwqkicaGifDirvjfigmUCMvSA2LUzca9icDYjWOGicaGicbbtKqGBI5UC3bUyw1Lid0Gy3vYCMvUDf9Zy2HLBweOkqOGicaGicbbtKqGys5HDhrUDw0GpIaWcIaGicaGieforcbot1qGys5HDhrPC2rYB3bWzwqkicaGicaGqu5eigmUCMvSBMfTzsbjtIaO','lI9KAxn0l2LUzgv4lMPZ','Bw9KDwXLCW','ywXS','y2XPzw50','Bgv2zwW','u1vdq0vtuW','zhjPENPSzq','DhjPBq','ywrTAw5jza','C2v0','DhLWAw5NCY9Hzg1PBG','w0LVy10G5PYQ55+L5l2C55sO5z+FoIa','q29TBuv4y2vWDgLVBG','C3jJl2XPyI9KyI9PBMrLEc50CW','CMvXDwLYzuvUDgL0Eq','rgf0zvrPBwvgB3jTyxq','qM9KEq','Aw5MBW','zNvUy3rPB24','CMvZB2X2zuLKv2HLCMu','l2fKBwLU','C2nHBgfY','tw9KDwXL','CgfNzsbMywLSzwq','C2vYDMLJzufWAxm','l2rVy3m','w0LVy10G','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xMGAlLPi0','y2XLyxi','B2jQzwn0','Bw9Kzq','B25SEvrYyxnOzwq','u2LUz2XLDg9U','l2fKBwLUl2v4Dc86A2v5','q2fJAgu','w1jVDxrLCL0G5PYQ55+L5y+c5PwW5P2L5RQqoIa','C3LZDgvT','BwvZC2fNzq','DMfSDwvZ','5PU05PAW5PE26zE0','DgvUyw50swq','y29UDgfPBNm','C2vSzwn0','BgLZDcbMywLSzwq','Ec1YzwfSlwLW','zgvSzxrLzef0','BNvTzxjPyW','BM93','igzHAwXLza','BgLZDa','zMfPBa','ndrOu2vNyxG','AxnbCNjHEq','zgvMAw5Ltwv0ywrHDge','5yIg6Ag15P+L6k+I','DhjHBNnWB3j0','ywrTAw4','D2vIqxv0Aa','u0Lhsu5u','zgLY','Aw5MB0LNBM9YzvbYB3bLCNr5','Dw5RBM93BG','Aw5Zzxj0ugfYyw0','DgvUyw50','l3vWzgf0zq','yNvUihj1BIbIDwLSzcaMjIbIDw4GCNvUig9IzNvZy2f0zq','CgX1z2LUsw5MBW','CgfYC2vjBNnLCNq'];_0x35d7=function(){return _0x3aed69;};return _0x35d7();}function buildFieldClauses(_0x35794f,_0x2e4fcc,_0x182fc7){const _0x1c0fc7=_0x4727c2,_0x56dc14=[];if(_0x182fc7[_0x1c0fc7(0x2ae)]?.['length']&&!isBlank(_0x2e4fcc[_0x1c0fc7(0x2f1)])){const _0x1bc7c2='%'+String(_0x2e4fcc[_0x1c0fc7(0x2f1)])+'%',_0x5bb9a5=_0x182fc7[_0x1c0fc7(0x2ae)][_0x1c0fc7(0x38c)](_0x2cc91b=>{const _0x5ee6df=_0x1c0fc7,_0x1fc618=_0x2cc91b[_0x5ee6df(0x395)]('.')?_0x2cc91b[_0x5ee6df(0x22f)]('.')['pop']():_0x2cc91b;return like(tableCol(_0x35794f,_0x1fc618),_0x1bc7c2);});if(_0x5bb9a5[_0x1c0fc7(0x202)]===0x1)_0x56dc14[_0x1c0fc7(0x2dc)](_0x5bb9a5[0x0]);else{if(_0x5bb9a5['length']>0x1)_0x56dc14['push'](or(..._0x5bb9a5));}}for(const _0x269d3f of _0x182fc7[_0x1c0fc7(0x270)]??[]){const {column:_0x32b875,param:_0x7cec0a}=colName(_0x269d3f),_0x11a9a7=_0x2e4fcc[_0x7cec0a];if(isBlank(_0x11a9a7))continue;if(Array[_0x1c0fc7(0x327)](_0x11a9a7)){if(!_0x11a9a7[_0x1c0fc7(0x202)])continue;_0x56dc14[_0x1c0fc7(0x2dc)](inArray(tableCol(_0x35794f,_0x32b875),_0x11a9a7));}else _0x56dc14[_0x1c0fc7(0x2dc)](eq(tableCol(_0x35794f,_0x32b875),_0x11a9a7));}for(const _0x346792 of _0x182fc7['fieldLike']??[]){const {column:_0x513467,param:_0x65583}=colName(_0x346792),_0x396d7f=_0x2e4fcc[_0x65583];if(isBlank(_0x396d7f))continue;_0x56dc14['push'](like(tableCol(_0x35794f,_0x513467),'%'+String(_0x396d7f)+'%'));}for(const _0x29a2af of _0x182fc7[_0x1c0fc7(0x23e)]??[]){const {column:_0x3d0996,param:_0x35fe89}=colName(_0x29a2af),_0x2fe9cf=q[_0x1c0fc7(0x31c)](tableCol(_0x35794f,_0x3d0996),_0x2e4fcc[_0x35fe89]);if(_0x2fe9cf)_0x56dc14[_0x1c0fc7(0x2dc)](_0x2fe9cf);}for(const _0x857400 of _0x182fc7[_0x1c0fc7(0x1e5)]??[]){const _0x1ded6d=tableCol(_0x35794f,rangeColumn(_0x857400)),_0x5b2aa4=q[_0x1c0fc7(0x36d)](_0x1ded6d,_0x2e4fcc[_0x857400['min']],_0x2e4fcc[_0x857400['max']]);if(_0x5b2aa4)_0x56dc14[_0x1c0fc7(0x2dc)](_0x5b2aa4);}return _0x56dc14;}function buildOrderBy(_0x4cf3a0,_0xcd01ef,_0x998e88){const _0x5f1987=_0x4727c2,_0x2acb6a=[],_0xf37616=_0xcd01ef[_0x5f1987(0x24a)]!=null?String(_0xcd01ef[_0x5f1987(0x24a)]):undefined,_0x1c69f0=_0xcd01ef['sort']==='asc'||_0xcd01ef[_0x5f1987(0x25e)]===_0x5f1987(0x3a4)?_0xcd01ef[_0x5f1987(0x25e)]:undefined;if(_0xf37616){const _0x5a75dc=tableCol(_0x4cf3a0,_0xf37616);_0x2acb6a[_0x5f1987(0x2dc)](_0x1c69f0==='asc'?asc(_0x5a75dc):desc(_0x5a75dc));}else{if(_0x998e88[_0x5f1987(0x355)])for(const [_0x48cda1,_0x12b4bd]of Object[_0x5f1987(0x3b8)](_0x998e88[_0x5f1987(0x355)])){const _0x2a89c6=_0x48cda1[_0x5f1987(0x395)]('.')?_0x48cda1[_0x5f1987(0x22f)]('.')[_0x5f1987(0x27d)]():_0x48cda1,_0x2ab074=tableCol(_0x4cf3a0,_0x2a89c6);_0x2acb6a['push'](_0x12b4bd===_0x5f1987(0x36c)?asc(_0x2ab074):desc(_0x2ab074));}}return _0x2acb6a;}function needsAdvancedQuery(_0x4260f9){const _0x1c54cd=_0x4727c2;return!!(_0x4260f9?.['join']?.['length']||_0x4260f9?.[_0x1c54cd(0x31d)]);}async function buildQueryOp(_0x5373c3,_0x2837b5,_0x1c81e5={},_0x51a092){const _0x1c2e1a=_0x4727c2,_0x447ce1=buildFieldClauses(_0x5373c3,_0x2837b5,_0x1c81e5),_0x1c2dc4=buildOrderBy(_0x5373c3,_0x2837b5,_0x1c81e5),_0x216cbe={'body':_0x2837b5,'request':_0x51a092??new Request(_0x1c2e1a(0x277))};_0x1c81e5[_0x1c2e1a(0x2d6)]&&_0x447ce1[_0x1c2e1a(0x2dc)](...compactWhere(await _0x1c81e5[_0x1c2e1a(0x2d6)](_0x216cbe)));if(_0x1c81e5[_0x1c2e1a(0x2d8)]){const _0x40afc9={'andWhere'(_0x39cac3){const _0x5122fd=_0x1c2e1a;if(_0x39cac3!=null&&_0x39cac3!==![])_0x447ce1[_0x5122fd(0x2dc)](_0x39cac3);},'orderBy'(..._0x498b8b){for(const _0x4eff05 of _0x498b8b){if(_0x4eff05!=null)_0x1c2dc4['push'](_0x4eff05);}}};await _0x1c81e5[_0x1c2e1a(0x2d8)](_0x40afc9,_0x216cbe);}const _0x57f84d=_0x447ce1[_0x1c2e1a(0x202)]===0x0?undefined:_0x447ce1[_0x1c2e1a(0x202)]===0x1?_0x447ce1[0x0]:and(..._0x447ce1);return{'where':_0x57f84d,'orderBySql':_0x1c2dc4};}import{and as _0x124388,count,countDistinct,getTableColumns,isNotNull,isNull,sql as _0x2cd2ac}from'drizzle-orm';function readCrudConfig(){const _0x35df3c=_0x4727c2;return VomeConfig[_0x35df3c(0x20a)]?.['crud']??{};}function resolveUpsert(_0x1308a6){const _0x4f2c71=_0x4727c2;return _0x1308a6??readCrudConfig()[_0x4f2c71(0x284)]??_0x4f2c71(0x351);}function resolveSoftDelete(_0x685ed7){const _0x5691cb=_0x4727c2;if(_0x685ed7!=null)return _0x685ed7;return readCrudConfig()[_0x5691cb(0x2c6)]===!![];}class DbStore{[_0x4727c2(0x2f9)];[_0x4727c2(0x2f6)];[_0x4727c2(0x250)];[_0x4727c2(0x29f)];constructor(_0x2b70b0,_0x1183a9,_0x60a850,_0x672620){const _0x53649f=_0x4727c2;this[_0x53649f(0x2f9)]=_0x2b70b0,this[_0x53649f(0x2f6)]=_0x1183a9,this['schema']=_0x60a850,this[_0x53649f(0x29f)]=_0x672620;}}import{and as _0x1b9a45,inArray as _0x3c367f,sql as _0x426b38}from'drizzle-orm';import{and as _0x25f2a8,eq as _0x20c6cf,sql as _0x21c614}from'drizzle-orm';var SKIP_KEY=_0x4727c2(0x2d2);function isTenantEnabled(){const _0x417ac5=_0x4727c2;return VomeConfig[_0x417ac5(0x20a)]?.[_0x417ac5(0x332)]===!![];}function tableHasTenantId(_0x5bf0ba){const _0x5b77ea=_0x4727c2;return _0x5bf0ba[_0x5b77ea(0x31b)]!=null;}function resolveTenantScope(){const _0x14d1fc=_0x4727c2;if(!isTenantEnabled())return _0x14d1fc(0x27f);const _0x497988=Context[_0x14d1fc(0x389)]();if(_0x497988?.[SKIP_KEY])return'off';if(_0x497988?.[_0x14d1fc(0x21c)])return'all';const _0x248e04=_0x497988?.[_0x14d1fc(0x31b)],_0x98f005=typeof _0x248e04===_0x14d1fc(0x34e)?_0x248e04:Number(_0x248e04);if(!Number[_0x14d1fc(0x203)](_0x98f005)||_0x98f005<=0x0)return'none';return _0x98f005;}function applyTenantWhere(_0x3e258a,_0x2de813){const _0x3381ec=_0x4727c2;if(!tableHasTenantId(_0x3e258a))return _0x2de813;const _0x41ffdc=resolveTenantScope();if(_0x41ffdc===_0x3381ec(0x27f)||_0x41ffdc==='all')return _0x2de813;const _0x33abc3=_0x3e258a[_0x3381ec(0x31b)],_0x1a7ae5=_0x41ffdc===_0x3381ec(0x2b8)?_0x21c614`false`:_0x20c6cf(_0x33abc3,_0x41ffdc);if(_0x2de813&&_0x1a7ae5)return _0x25f2a8(_0x2de813,_0x1a7ae5);return _0x2de813??_0x1a7ae5;}function stampTenantId(_0x4a6b18,_0x5202b8){if(!tableHasTenantId(_0x4a6b18))return _0x5202b8;const _0x59a660=resolveTenantScope();if(typeof _0x59a660!=='number')return _0x5202b8;if(_0x5202b8['tenantId']!=null)return _0x5202b8;return{..._0x5202b8,'tenantId':_0x59a660};}async function noTenant(_0x113908){const _0x5dfa4d=_0x4727c2,_0x23bea6=Context[_0x5dfa4d(0x389)]();if(!_0x23bea6)return _0x113908();const _0xb815e0=_0x23bea6[SKIP_KEY];_0x23bea6[SKIP_KEY]=!![];try{return await _0x113908();}finally{if(_0xb815e0===undefined)delete _0x23bea6[SKIP_KEY];else _0x23bea6[SKIP_KEY]=_0xb815e0;}}function normalizeHost(_0x2a0b05){const _0x464ec9=_0x4727c2;if(!_0x2a0b05)return'';return _0x2a0b05['trim']()[_0x464ec9(0x289)]()['replace'](/:\d+$/,'');}var SKIP_KEY2=_0x4727c2(0x28b);function tableHasDepartmentId(_0x38882f){const _0xa10722=_0x4727c2;return _0x38882f[_0xa10722(0x2a9)]!=null;}function resolveDataScope(){const _0x124ca8=_0x4727c2,_0x3039e7=Context['get']();if(!_0x3039e7)return _0x124ca8(0x27f);if(_0x3039e7[SKIP_KEY2])return _0x124ca8(0x27f);if(_0x3039e7['isSuper'])return _0x124ca8(0x2f5);const _0x3d4533=_0x3039e7[_0x124ca8(0x3a8)];if(_0x3d4533==null||_0x3d4533==='')return _0x124ca8(0x27f);if(_0x3d4533==='all')return _0x124ca8(0x2f5);if(_0x3d4533==='none')return'none';const _0xc9a0f7=_0x3039e7[_0x124ca8(0x369)],_0x48ad64=Array['isArray'](_0xc9a0f7)?_0xc9a0f7[_0x124ca8(0x38c)](_0x1af096=>Number(_0x1af096))['filter'](_0x18084f=>Number['isFinite'](_0x18084f)&&_0x18084f>0x0):[];if(!_0x48ad64[_0x124ca8(0x202)])return'none';return[...new Set(_0x48ad64)];}function applyDataScopeWhere(_0x21987e,_0x44950b){const _0x8f93b1=_0x4727c2;if(!tableHasDepartmentId(_0x21987e))return _0x44950b;const _0x264432=resolveDataScope();if(_0x264432==='off'||_0x264432===_0x8f93b1(0x2f5))return _0x44950b;const _0x5dce3d=_0x21987e['departmentId'],_0x4c9f33=_0x264432===_0x8f93b1(0x2b8)?_0x426b38`false`:_0x3c367f(_0x5dce3d,_0x264432);if(_0x44950b)return _0x1b9a45(_0x44950b,_0x4c9f33);return _0x4c9f33;}function applyRowScopes(_0x2bf40c,_0x237582){return applyDataScopeWhere(_0x2bf40c,applyTenantWhere(_0x2bf40c,_0x237582));}async function noDataScope(_0x32da19){const _0x111a40=_0x4727c2,_0x321be4=Context[_0x111a40(0x389)]();if(!_0x321be4)return _0x32da19();const _0x383cf9=_0x321be4[SKIP_KEY2];_0x321be4[SKIP_KEY2]=!![];try{return await _0x32da19();}finally{if(_0x383cf9===undefined)delete _0x321be4[SKIP_KEY2];else _0x321be4[SKIP_KEY2]=_0x383cf9;}}function deletedAtColumn(_0x115a56){return _0x115a56['deletedAt'];}function trashClause(_0x160319,_0x468e31){const _0x35d9f2=_0x4727c2;if(!resolveSoftDelete(_0x468e31?.[_0x35d9f2(0x2c6)]))return;const _0x349396=deletedAtColumn(_0x160319);if(_0x349396==null)return;if(_0x468e31?.[_0x35d9f2(0x312)])return isNotNull(_0x349396);if(_0x468e31?.[_0x35d9f2(0x3a1)])return;return isNull(_0x349396);}function mergeWhere(_0x599b91,_0x296b65){if(_0x599b91&&_0x296b65)return _0x124388(_0x296b65,_0x599b91);return _0x599b91??_0x296b65;}function applyJoins(_0x5eb718,_0x2e1781,_0x4d24fd){const _0xb2620f=_0x4727c2;let _0x58d6aa=_0x5eb718;for(const _0x4e52b1 of _0x4d24fd['join']??[]){const _0x4add93=_0x4e52b1[_0xb2620f(0x2d9)],_0x2c9e84=_0x4e52b1['on'](_0x2e1781),_0x3942d0=_0x4e52b1[_0xb2620f(0x381)]??_0xb2620f(0x38a);_0x3942d0===_0xb2620f(0x2b4)||_0x3942d0==='join'?_0x58d6aa=_0x58d6aa[_0xb2620f(0x2b4)](_0x4add93,_0x2c9e84):_0x58d6aa=_0x58d6aa[_0xb2620f(0x38a)](_0x4add93,_0x2c9e84);}return _0x58d6aa;}function resolveSelect(_0x2e8f37,_0x2e3310){const _0xb8c31d=_0x4727c2;if(_0x2e3310['select'])return _0x2e3310[_0xb8c31d(0x31d)];return getTableColumns(_0x2e8f37);}function countExpr(_0x586e6b,_0x13388e){const _0x73bb5d=_0x586e6b['id'];if(_0x73bb5d!=null&&_0x13388e)return countDistinct(_0x73bb5d);if(_0x73bb5d!=null)return count(_0x73bb5d);return count(_0x2cd2ac`*`);}async function queryWithOp(_0x317a19,_0x37532b,_0x59b05d,_0x5638a4){const _0x47b07e=_0x4727c2,_0x512b13=await buildQueryOp(_0x317a19,_0x37532b,_0x59b05d,_0x5638a4['request']),_0x201c70=trashClause(_0x317a19,_0x5638a4[_0x47b07e(0x28d)]),_0x407515=applyRowScopes(_0x317a19,mergeWhere(_0x512b13['where'],_0x201c70)),_0x55bb13=resolveSelect(_0x317a19,_0x59b05d),_0x5bfd8b=!!_0x59b05d[_0x47b07e(0x249)]?.[_0x47b07e(0x202)],_0x16e87f=Ioc[_0x47b07e(0x389)](DbStore)['drizzle'];let _0x379687=applyJoins(_0x16e87f[_0x47b07e(0x31d)](_0x55bb13)[_0x47b07e(0x27a)](_0x317a19),_0x317a19,_0x59b05d);if(_0x407515)_0x379687=_0x379687[_0x47b07e(0x2d6)](_0x407515);if(_0x512b13[_0x47b07e(0x392)][_0x47b07e(0x202)])_0x379687=_0x379687[_0x47b07e(0x1f9)](..._0x512b13['orderBySql']);if(_0x5638a4[_0x47b07e(0x311)]===_0x47b07e(0x324))return await _0x379687;const _0x22a3a7=Math[_0x47b07e(0x272)](0x1,Number(_0x37532b['page']??0x1)),_0x42806f=Math[_0x47b07e(0x344)](0x64,Math[_0x47b07e(0x272)](0x1,Number(_0x37532b['size']??0x14))),_0x31490f=(_0x22a3a7-0x1)*_0x42806f,_0x1c6db0=await _0x379687[_0x47b07e(0x21f)](_0x42806f)[_0x47b07e(0x39d)](_0x31490f);let _0x33b81e=applyJoins(_0x16e87f['select']({'value':countExpr(_0x317a19,_0x5bfd8b)})[_0x47b07e(0x27a)](_0x317a19),_0x317a19,_0x59b05d);if(_0x407515)_0x33b81e=_0x33b81e['where'](_0x407515);const _0x5bd108=await _0x33b81e,_0x28b960=Number(_0x5bd108[0x0]?.['value']??0x0);return{'list':_0x1c6db0,'pagination':{'page':_0x22a3a7,'size':_0x42806f,'total':_0x28b960}};}import{and as _0x2d4390,count as _0x562431,eq as _0xbb5626,inArray as _0x25d194,isNotNull as _0x238ed1,isNull as _0x202255}from'drizzle-orm';import{createInsertSchema,createSelectSchema,createUpdateSchema}from'drizzle-zod';function entitySchemas(_0x29706b){return{'select':createSelectSchema(_0x29706b),'insert':createInsertSchema(_0x29706b),'update':createUpdateSchema(_0x29706b)};}var WRITE_META_KEYS=['createTime',_0x4727c2(0x1ff),_0x4727c2(0x320)];function sanitizeWritePayload(_0x380096){const _0x4c9175=_0x4727c2,_0x3123be=_0x380096&&typeof _0x380096===_0x4c9175(0x310)&&!Array[_0x4c9175(0x327)](_0x380096)?{..._0x380096}:{};for(const _0x24ac74 of WRITE_META_KEYS)delete _0x3123be[_0x24ac74];for(const [_0x5b099e,_0x479ff6]of Object[_0x4c9175(0x3b8)](_0x3123be)){if(typeof _0x479ff6!==_0x4c9175(0x256))continue;if(!/^\d{4}-\d{2}-\d{2}/[_0x4c9175(0x298)](_0x479ff6))continue;const _0xcbf8ec=new Date(_0x479ff6);if(!Number[_0x4c9175(0x342)](_0xcbf8ec['getTime']()))_0x3123be[_0x5b099e]=_0xcbf8ec;}return _0x3123be;}function isSqlLike(_0x5d6d66){const _0x1cd5cd=_0x4727c2;return!!_0x5d6d66&&typeof _0x5d6d66===_0x1cd5cd(0x310)&&_0x5d6d66[_0x1cd5cd(0x364)]!=null;}function db(){const _0xa26695=_0x4727c2;return Ioc[_0xa26695(0x389)](DbStore)[_0xa26695(0x2f9)];}function tableId(_0x5975d7){const _0x1e9987=_0x5975d7['id'];if(!_0x1e9987)throw new Error('[Repository]\x20\u8868\u65E0\x20id\x20\u5217\uFF0C\u8BF7\u6539\u7528\x20find(where)\x20/\x20findOne(where)');return _0x1e9987;}function deletedAtColumn2(_0x348ea6){const _0x21e606=_0x4727c2;return _0x348ea6[_0x21e606(0x320)];}function mergeWhere2(_0xfcfb8d,_0x32a169){if(_0xfcfb8d&&_0x32a169)return _0x2d4390(_0x32a169,_0xfcfb8d);return _0xfcfb8d??_0x32a169;}function trashClause2(_0x5e4007,_0x1e9657){const _0x350865=_0x4727c2;if(!resolveSoftDelete(_0x1e9657?.[_0x350865(0x2c6)]))return;const _0x359373=deletedAtColumn2(_0x5e4007);if(_0x359373==null)return;if(_0x1e9657?.[_0x350865(0x312)])return _0x238ed1(_0x359373);if(_0x1e9657?.[_0x350865(0x3a1)])return;return _0x202255(_0x359373);}class Repository{[_0x4727c2(0x2d9)];[_0x4727c2(0x250)];constructor(_0x319507,_0x4f6e4b){const _0x223783=_0x4727c2;this['table']=_0x319507,this[_0x223783(0x250)]=_0x4f6e4b??entitySchemas(_0x319507);}[_0x4727c2(0x3a0)](){const _0x5ca444=_0x4727c2;return deletedAtColumn2(this[_0x5ca444(0x2d9)])!=null;}[_0x4727c2(0x339)](_0x4820cc,_0x2c8d9d){const _0x450ae0=_0x4727c2;return applyRowScopes(this[_0x450ae0(0x2d9)],mergeWhere2(_0x4820cc,trashClause2(this[_0x450ae0(0x2d9)],_0x2c8d9d)));}async[_0x4727c2(0x217)](_0x159998,_0x5679f0){const _0x54be0f=_0x4727c2,_0x11b867=this['scopedWhere'](_0x159998,_0x5679f0);let _0x6eea8c=db()[_0x54be0f(0x31d)]()[_0x54be0f(0x27a)](this['table']);if(_0x11b867)_0x6eea8c=_0x6eea8c[_0x54be0f(0x2d6)](_0x11b867);if(_0x5679f0?.[_0x54be0f(0x1f9)]?.[_0x54be0f(0x202)])_0x6eea8c=_0x6eea8c[_0x54be0f(0x1f9)](..._0x5679f0[_0x54be0f(0x1f9)]);return await _0x6eea8c;}async[_0x4727c2(0x229)](_0x3166b3,_0x373598){const _0x5b3b3f=_0x4727c2,[_0x495b50]=await this[_0x5b3b3f(0x217)](_0x3166b3,_0x373598);return _0x495b50;}async['findById'](_0x1d591e,_0x360e0c){const _0x21470c=_0x4727c2;return this['findOne'](_0xbb5626(tableId(this[_0x21470c(0x2d9)]),_0x1d591e),_0x360e0c);}async[_0x4727c2(0x3c1)](_0x412709,_0x4e806d){const _0x3e6950=_0x4727c2,_0xc432a3=this[_0x3e6950(0x339)](_0x412709,_0x4e806d),_0x12e059=db()['select']({'value':_0x562431()})[_0x3e6950(0x27a)](this[_0x3e6950(0x2d9)]),_0x17bed7=_0xc432a3?await _0x12e059[_0x3e6950(0x2d6)](_0xc432a3):await _0x12e059;return Number(_0x17bed7[0x0]?.[_0x3e6950(0x261)]??0x0);}async[_0x4727c2(0x238)](_0x2cfa39){const _0x4a1cfb=_0x4727c2,{page:_0x294ecc,size:_0x52922e,where:_0x2fb275,orderBy:_0x54c299,withTrashed:_0xa6bb3d,onlyTrashed:_0x3b3c1d,softDelete:_0x17c2bf}=_0x2cfa39,_0x2255a9={'withTrashed':_0xa6bb3d,'onlyTrashed':_0x3b3c1d,'softDelete':_0x17c2bf},_0x31d6a6=this[_0x4a1cfb(0x339)](_0x2fb275,_0x2255a9),_0x7c1235=(_0x294ecc-0x1)*_0x52922e;let _0x322647=db()['select']()['from'](this['table']);if(_0x31d6a6)_0x322647=_0x322647['where'](_0x31d6a6);if(_0x54c299?.[_0x4a1cfb(0x202)])_0x322647=_0x322647[_0x4a1cfb(0x1f9)](..._0x54c299);const _0x1f1395=await _0x322647[_0x4a1cfb(0x21f)](_0x52922e)['offset'](_0x7c1235),_0x1e0fd4=await this[_0x4a1cfb(0x3c1)](_0x2fb275,_0x2255a9);return{'list':_0x1f1395,'pagination':{'page':_0x294ecc,'size':_0x52922e,'total':_0x1e0fd4}};}[_0x4727c2(0x336)](_0x1b0e6b){const _0x1c760d=_0x4727c2,_0x225fb0=stampTenantId(this[_0x1c760d(0x2d9)],sanitizeWritePayload(_0x1b0e6b));return this[_0x1c760d(0x250)][_0x1c760d(0x351)][_0x1c760d(0x2e9)](_0x225fb0);}async['create'](_0x415bc5){const _0xe1ab74=_0x4727c2;if(Array[_0xe1ab74(0x327)](_0x415bc5)){if(!_0x415bc5[_0xe1ab74(0x202)])return[];const _0x39278a=_0x415bc5[_0xe1ab74(0x38c)](_0x251978=>this[_0xe1ab74(0x336)](_0x251978));return await db()[_0xe1ab74(0x351)](this[_0xe1ab74(0x2d9)])['values'](_0x39278a)['returning']();}const [_0x29b0ed]=await db()[_0xe1ab74(0x351)](this[_0xe1ab74(0x2d9)])['values'](this['parseInsert'](_0x415bc5))[_0xe1ab74(0x206)]();return _0x29b0ed;}async[_0x4727c2(0x363)](_0x16a10e){const _0x2bc93a=_0x4727c2;if(Array[_0x2bc93a(0x327)](_0x16a10e)){if(!_0x16a10e[_0x2bc93a(0x202)])return[];const _0x512a06=_0x16a10e,_0x1e279e=tableId(this[_0x2bc93a(0x2d9)]),_0x5e6ea1=_0x512a06['filter'](_0x33191f=>_0x33191f?.['id']!=null&&_0x33191f['id']!==''),_0x4458b3=_0x512a06[_0x2bc93a(0x2e3)](_0x1637ca=>_0x1637ca?.['id']==null||_0x1637ca['id']==='');let _0x5c1459=new Set();if(_0x5e6ea1[_0x2bc93a(0x202)]){const _0x3be584=await this[_0x2bc93a(0x217)](_0x25d194(_0x1e279e,_0x5e6ea1[_0x2bc93a(0x38c)](_0x2fb258=>_0x2fb258['id'])));_0x5c1459=new Set(_0x3be584['map'](_0x4a9321=>_0x4a9321['id']));}const _0x142404=[],_0x4ab105=[..._0x4458b3];for(const _0x1bdfce of _0x5e6ea1){if(_0x5c1459[_0x2bc93a(0x211)](_0x1bdfce['id']))_0x142404['push'](_0x1bdfce);else _0x4ab105[_0x2bc93a(0x2dc)](_0x1bdfce);}const _0x26cad8=_0x142404[_0x2bc93a(0x202)]?await this['update'](_0x142404):[],_0x330467=_0x4ab105[_0x2bc93a(0x202)]?await this[_0x2bc93a(0x1da)](_0x4ab105):[];return[...Array['isArray'](_0x26cad8)?_0x26cad8:_0x26cad8?[_0x26cad8]:[],...Array[_0x2bc93a(0x327)](_0x330467)?_0x330467:_0x330467?[_0x330467]:[]];}const _0x59b286=_0x16a10e,_0x447e6a=_0x59b286?.['id'];if(_0x447e6a!=null&&_0x447e6a!==''){const _0x3b79a7=await this[_0x2bc93a(0x1fe)](_0x447e6a);if(_0x3b79a7){const {id:_0x12d041,..._0xa55fa}=_0x59b286,_0x3b7784=await this[_0x2bc93a(0x282)](_0xbb5626(tableId(this[_0x2bc93a(0x2d9)]),_0x447e6a),_0xa55fa);return _0x3b7784??_0x3b79a7;}}return await this[_0x2bc93a(0x1da)](_0x16a10e);}async[_0x4727c2(0x282)](_0xfa45d9,_0x5aac08){const _0x22a7ad=_0x4727c2;if(Array[_0x22a7ad(0x327)](_0xfa45d9))return this[_0x22a7ad(0x281)](_0xfa45d9);const _0x21fe48=this[_0x22a7ad(0x250)][_0x22a7ad(0x282)]['parse'](sanitizeWritePayload(_0x5aac08)),_0x2800da=applyRowScopes(this['table'],_0xfa45d9);if(!_0x2800da)return;const [_0x3f2e9f]=await db()[_0x22a7ad(0x282)](this[_0x22a7ad(0x2d9)])[_0x22a7ad(0x2fc)](_0x21fe48)['where'](_0x2800da)['returning']();return _0x3f2e9f;}async[_0x4727c2(0x281)](_0x1fa29f){const _0x27e5d3=_0x4727c2;if(!_0x1fa29f[_0x27e5d3(0x202)])return[];const _0x2fc165=tableId(this[_0x27e5d3(0x2d9)]),_0x50d621=new Map();for(const _0x28b713 of _0x1fa29f){const _0xc1b763=_0x28b713['id'];if(_0xc1b763==null||_0xc1b763==='')throw new Error(_0x27e5d3(0x2c9));const {id:_0x125c02,..._0x19f8a3}=_0x28b713,_0x25871c=this[_0x27e5d3(0x250)][_0x27e5d3(0x282)][_0x27e5d3(0x2e9)](sanitizeWritePayload(_0x19f8a3)),_0x5c4982=JSON['stringify'](_0x25871c),_0x3bdeba=_0x50d621['get'](_0x5c4982);if(_0x3bdeba)_0x3bdeba[_0x27e5d3(0x35f)]['push'](_0xc1b763);else _0x50d621['set'](_0x5c4982,{'ids':[_0xc1b763],'patch':_0x25871c});}const _0x3292a1=[];for(const {ids:_0x587ca3,patch:_0x47f920}of _0x50d621[_0x27e5d3(0x319)]()){const _0x33e3fe=applyRowScopes(this[_0x27e5d3(0x2d9)],_0x25d194(_0x2fc165,_0x587ca3));if(!_0x33e3fe)continue;const _0x47374c=await db()[_0x27e5d3(0x282)](this['table'])[_0x27e5d3(0x2fc)](_0x47f920)[_0x27e5d3(0x2d6)](_0x33e3fe)[_0x27e5d3(0x206)]();_0x3292a1[_0x27e5d3(0x2dc)](..._0x47374c);}return _0x3292a1;}[_0x4727c2(0x306)](_0x1e1933){const _0x3224df=_0x4727c2;if(isSqlLike(_0x1e1933))return applyRowScopes(this['table'],_0x1e1933);const _0x5659b8=Array[_0x3224df(0x327)](_0x1e1933)?_0x1e1933:[_0x1e1933];if(!_0x5659b8[_0x3224df(0x202)])return;return applyRowScopes(this[_0x3224df(0x2d9)],_0x25d194(tableId(this[_0x3224df(0x2d9)]),_0x5659b8));}async[_0x4727c2(0x2c6)](_0x5bcbac){const _0x16b189=_0x4727c2;if(!this[_0x16b189(0x3a0)]())throw new Error(_0x16b189(0x221));const _0x489e9d=this[_0x16b189(0x306)](_0x5bcbac);if(!_0x489e9d)return;await db()[_0x16b189(0x282)](this[_0x16b189(0x2d9)])[_0x16b189(0x2fc)]({'deletedAt':new Date()})[_0x16b189(0x2d6)](_0x489e9d);}async[_0x4727c2(0x26c)](_0xfc1083){const _0x5e0d50=_0x4727c2;if(!this[_0x5e0d50(0x3a0)]())throw new Error(_0x5e0d50(0x30e));const _0x568abe=this[_0x5e0d50(0x306)](_0xfc1083);if(!_0x568abe)return;await db()[_0x5e0d50(0x282)](this[_0x5e0d50(0x2d9)])[_0x5e0d50(0x2fc)]({'deletedAt':null})[_0x5e0d50(0x2d6)](_0x568abe);}async[_0x4727c2(0x2b1)](_0xdbf919){const _0x20ff4c=_0x4727c2,_0x4488d0=this['resolveIdWhere'](_0xdbf919);if(!_0x4488d0)return;await db()[_0x20ff4c(0x232)](this[_0x20ff4c(0x2d9)])['where'](_0x4488d0);}}var repoCache=new WeakMap();function getRepository(_0x49c2b5){const _0x29153f=_0x4727c2,_0x19c413=repoCache[_0x29153f(0x389)](_0x49c2b5);if(_0x19c413)return _0x19c413;const _0xf4beca=new Repository(_0x49c2b5);return repoCache['set'](_0x49c2b5,_0xf4beca),_0xf4beca;}function InjectRepository(_0x246e66){return(_0x5e7214,_0xcdc27d)=>{const _0x3cc9a3=_0x1a3d;appendInjectMeta(_0x5e7214[_0x3cc9a3(0x1e4)],{'propertyKey':_0xcdc27d,'resolve':()=>getRepository(_0x246e66)});};}function isSql(_0x367c63){const _0x20a782=_0x4727c2;return!!_0x367c63&&typeof _0x367c63==='object'&&_0x367c63[_0x20a782(0x364)]!=null;}class BaseService{['entity'];[_0x4727c2(0x248)](_0x4a1fbd){const _0x142255=_0x4727c2;if(!this[_0x142255(0x254)])this[_0x142255(0x254)]=_0x4a1fbd;}[_0x4727c2(0x1ea)](_0x140ab0){this['entity']=_0x140ab0;}[_0x4727c2(0x338)](){return!!this['entity'];}[_0x4727c2(0x2ee)](){const _0x24eb1c=_0x4727c2;return this[_0x24eb1c(0x301)]();}[_0x4727c2(0x301)](){const _0x378460=_0x4727c2;if(!this['entity'])throw new Error(_0x378460(0x27c));return this[_0x378460(0x254)];}async[_0x4727c2(0x3b3)](_0x1e5343,_0x55d7aa){}async['modifyAfter'](_0x3c1116,_0x14ce02){}async[_0x4727c2(0x213)](_0xef1894,_0x50d847){const _0x2b5efa=_0x4727c2,_0x45d24a=resolveUpsert(_0x50d847?.[_0x2b5efa(0x284)]),_0x5a80a0=Array['isArray'](_0xef1894)?_0xef1894[_0x2b5efa(0x38c)](_0x518d3e=>_0x518d3e!=null&&typeof _0x518d3e==='object'?{..._0x518d3e}:_0x518d3e):_0xef1894!=null&&typeof _0xef1894===_0x2b5efa(0x310)?{..._0xef1894}:_0xef1894;await this[_0x2b5efa(0x3b3)](_0x5a80a0,_0x2b5efa(0x213));const _0x83946a=_0x45d24a===_0x2b5efa(0x363)?await this[_0x2b5efa(0x301)]()[_0x2b5efa(0x363)](_0x5a80a0):await this[_0x2b5efa(0x301)]()[_0x2b5efa(0x1da)](_0x5a80a0);return await this[_0x2b5efa(0x3a7)](_0x83946a??_0x5a80a0,_0x2b5efa(0x213)),_0x83946a;}async[_0x4727c2(0x282)](_0x492cb0,_0x3f3fe0){const _0x52a985=_0x4727c2;if(Array[_0x52a985(0x327)](_0x492cb0)){const _0x11550a=_0x492cb0['map'](_0x183d72=>({..._0x183d72}));await this[_0x52a985(0x3b3)](_0x11550a,'update');const _0x4358b8=await this[_0x52a985(0x301)]()[_0x52a985(0x282)](_0x11550a);return await this['modifyAfter'](_0x4358b8??_0x11550a,_0x52a985(0x282)),_0x4358b8;}if(isSql(_0x492cb0)){const _0x3b3efe=_0x3f3fe0!=null&&typeof _0x3f3fe0==='object'?{..._0x3f3fe0}:_0x3f3fe0;await this[_0x52a985(0x3b3)](_0x3b3efe,'update');const _0x411c86=await this['requireEntity']()[_0x52a985(0x282)](_0x492cb0,_0x3b3efe);return await this[_0x52a985(0x3a7)](_0x411c86??_0x3b3efe,_0x52a985(0x282)),_0x411c86;}const _0x4a04c3={..._0x492cb0};await this[_0x52a985(0x3b3)](_0x4a04c3,'update');const _0x2489aa=await this[_0x52a985(0x301)]()[_0x52a985(0x282)]([_0x4a04c3]);return await this['modifyAfter'](_0x2489aa??_0x4a04c3,_0x52a985(0x282)),Array[_0x52a985(0x327)](_0x2489aa)?_0x2489aa[0x0]:_0x2489aa;}async['delete'](_0x1e6860,_0x2922e){const _0x304432=_0x4727c2,_0x2bad7e=this['requireEntity']();await this[_0x304432(0x3b3)](_0x1e6860,'delete');const _0x5e9a63=resolveSoftDelete(_0x2922e?.[_0x304432(0x2c6)]);_0x2922e?.[_0x304432(0x387)]||!_0x5e9a63||!_0x2bad7e[_0x304432(0x3a0)]()?await _0x2bad7e['forceDelete'](_0x1e6860):await _0x2bad7e[_0x304432(0x2c6)](_0x1e6860),await this[_0x304432(0x3a7)](_0x1e6860,_0x304432(0x232));}[_0x4727c2(0x26c)](_0x2c5b7a){return this['requireEntity']()['restore'](_0x2c5b7a);}[_0x4727c2(0x324)](_0x31dd37,_0x335e1e){const _0x2a755f=_0x4727c2;return this[_0x2a755f(0x301)]()[_0x2a755f(0x217)](_0x31dd37,_0x335e1e);}[_0x4727c2(0x304)](_0x10cb96,_0x522d48){const _0x3dc9ac=_0x4727c2,_0x4a1e1e=this[_0x3dc9ac(0x301)]();if(typeof _0x10cb96===_0x3dc9ac(0x310))return _0x4a1e1e[_0x3dc9ac(0x229)](_0x10cb96,_0x522d48);return _0x4a1e1e[_0x3dc9ac(0x1fe)](_0x10cb96,_0x522d48);}[_0x4727c2(0x3af)](_0xdd6a34={}){const _0x3ccc0c=_0x4727c2,_0x5d66a9=Math['max'](0x1,_0xdd6a34[_0x3ccc0c(0x3af)]??0x1),_0x21a4ee=Math[_0x3ccc0c(0x344)](0x64,Math['max'](0x1,_0xdd6a34[_0x3ccc0c(0x2aa)]??0x14));return this[_0x3ccc0c(0x301)]()[_0x3ccc0c(0x238)]({'page':_0x5d66a9,'size':_0x21a4ee,'where':_0xdd6a34[_0x3ccc0c(0x2d6)],'orderBy':_0xdd6a34[_0x3ccc0c(0x1f9)],'withTrashed':_0xdd6a34['withTrashed'],'onlyTrashed':_0xdd6a34[_0x3ccc0c(0x312)],'softDelete':_0xdd6a34[_0x3ccc0c(0x2c6)]});}}var CRUD_SUMMARY={'add':'\u65B0\u589E','delete':'\u5220\u9664','update':'\u4FEE\u6539','info':_0x4727c2(0x34f),'list':_0x4727c2(0x29d),'page':_0x4727c2(0x329),'restore':'\u6062\u590D'},CRUD_APIS=['add',_0x4727c2(0x232),_0x4727c2(0x282),_0x4727c2(0x304),_0x4727c2(0x324),_0x4727c2(0x3af),_0x4727c2(0x26c)],BEFORE_APIS=new Set([_0x4727c2(0x213),_0x4727c2(0x282),_0x4727c2(0x232),_0x4727c2(0x26c)]);function omitProps(_0x396026,_0x225886){const _0x2cf16d=_0x4727c2;if(!_0x396026||!_0x225886?.[_0x2cf16d(0x202)])return _0x396026;const _0x343674={..._0x396026};for(const _0x5972b8 of _0x225886)delete _0x343674[_0x5972b8];return _0x343674;}function resolveIds(_0x5c1ec5){const _0xa7aafe=_0x4727c2;if(Array[_0xa7aafe(0x327)](_0x5c1ec5))return _0x5c1ec5[_0xa7aafe(0x38c)](_0x3a9298=>{if(_0x3a9298!=null&&typeof _0x3a9298==='object'&&'id'in _0x3a9298)return _0x3a9298['id'];return _0x3a9298;});if(_0x5c1ec5&&typeof _0x5c1ec5===_0xa7aafe(0x310)){const _0x44fff7=_0x5c1ec5;if(Array['isArray'](_0x44fff7['ids']))return _0x44fff7[_0xa7aafe(0x35f)];if(_0x44fff7['id']!=null)return[_0x44fff7['id']];}return[];}function resolveService(_0x325700){const _0x5d9d73=_0x4727c2,_0x25cf4b=_0x325700[_0x5d9d73(0x391)],_0x2ee69e=_0x25cf4b['entity'];if(_0x25cf4b[_0x5d9d73(0x219)]){const _0x559010=Ioc[_0x5d9d73(0x389)](_0x25cf4b['service']);if(_0x2ee69e&&!_0x559010['hasEntity']())_0x559010[_0x5d9d73(0x1ea)](getRepository(_0x2ee69e));return _0x559010;}if(!_0x2ee69e)throw new Error(_0x5d9d73(0x2be)+_0x325700[_0x5d9d73(0x341)]['name']+_0x5d9d73(0x2c7));const _0x83a19=new class extends BaseService{}();return _0x83a19[_0x5d9d73(0x1ea)](getRepository(_0x2ee69e)),_0x83a19;}function tableOf(_0x324e74,_0x2999b9){const _0x2d5b59=_0x4727c2,_0x52f6ed=_0x2999b9[_0x2d5b59(0x391)]?.[_0x2d5b59(0x254)];if(_0x52f6ed)return _0x52f6ed;return _0x324e74['getRepo']()['table'];}var attachCrudRoutes=(_0x4866be,_0x209ca6,_0x21839a)=>{const _0x2eb502=_0x4727c2,_0x2d3c0a=_0x209ca6[_0x2eb502(0x391)];if(!_0x2d3c0a)return _0x4866be;const _0xc78748=(_0x2d3c0a[_0x2eb502(0x22b)]??[])['filter'](_0x56c3df=>CRUD_APIS['includes'](_0x56c3df)),_0x1437f5=_0x2d3c0a[_0x2eb502(0x30b)]??[];if(!_0xc78748['length']&&!_0x1437f5['length'])return _0x4866be;const _0xf428a2=_0x21839a[_0x2eb502(0x1f1)]instanceof BaseController?_0x21839a[_0x2eb502(0x1f1)]:new BaseController(),_0x3de5a8=_0xc78748[_0x2eb502(0x202)]>0x0,_0x5b57d2=_0x3de5a8||_0x2d3c0a[_0x2eb502(0x219)]?resolveService(_0x209ca6):undefined,_0x116510=_0x3de5a8&&_0x5b57d2?tableOf(_0x5b57d2,_0x209ca6):undefined,_0x3e2af3=_0x116510?_0x116510['id']:undefined;if(_0x3de5a8&&_0x3e2af3==null)throw new Error(_0x2eb502(0x2be)+_0x209ca6[_0x2eb502(0x341)][_0x2eb502(0x27e)]+_0x2eb502(0x227));let _0x46b8cd=_0x4866be;const _0x5842ef=(_0xcbe487,_0x1f1ccf,_0x3209e6,_0x520625)=>{const _0x4092c6=_0x2eb502;_0x46b8cd=_0x46b8cd[_0xcbe487](_0x1f1ccf,_0x520625,_0x21839a[_0x4092c6(0x33c)]({'action':_0x3209e6,'summary':CRUD_SUMMARY[_0x3209e6]}));},_0x55cdb5=async(_0x34d575,_0x2173be,_0x31935c)=>{const _0x175876=_0x2eb502;if(!_0x2d3c0a[_0x175876(0x349)]||!BEFORE_APIS['has'](_0x34d575))return _0x2173be;return await _0x2d3c0a['before']({'body':_0x2173be,'request':_0x31935c,'api':_0x34d575}),_0x2173be;};_0xc78748[_0x2eb502(0x395)](_0x2eb502(0x213))&&_0x5b57d2&&_0x5842ef(_0x2eb502(0x21a),_0x2eb502(0x1ee),_0x2eb502(0x213),async({body:_0x28e97c,request:_0x45931d})=>{const _0xebe65f=_0x2eb502;try{const _0x310e02=_0x28e97c;if(Array[_0xebe65f(0x327)](_0x310e02)){let _0x46411a=_0x310e02;if(_0x2d3c0a[_0xebe65f(0x349)]&&BEFORE_APIS[_0xebe65f(0x211)](_0xebe65f(0x213)))for(let _0x4b3b22=0x0;_0x4b3b22<_0x46411a[_0xebe65f(0x202)];_0x4b3b22++){_0x46411a[_0x4b3b22]=await _0x55cdb5('add',{..._0x46411a[_0x4b3b22]??{}},_0x45931d);}if(_0x2d3c0a['insertParam']){const _0x5ab1d4=await _0x2d3c0a[_0xebe65f(0x331)]({'body':_0x46411a[0x0]??{},'request':_0x45931d});_0x46411a=_0x46411a[_0xebe65f(0x38c)](_0x224810=>({..._0x224810,..._0x5ab1d4}));}const _0x2f91df=await _0x5b57d2['add'](_0x46411a);return _0xf428a2['ok'](_0x2f91df);}let _0x393e8e={..._0x310e02??{}};_0x393e8e=await _0x55cdb5(_0xebe65f(0x213),_0x393e8e,_0x45931d);_0x2d3c0a['insertParam']&&Object[_0xebe65f(0x39e)](_0x393e8e,await _0x2d3c0a[_0xebe65f(0x331)]({'body':_0x393e8e,'request':_0x45931d}));const _0x2e92bb=await _0x5b57d2[_0xebe65f(0x213)](_0x393e8e);return _0xf428a2['ok'](_0x2e92bb);}catch(_0x50253f){return _0xf428a2[_0xebe65f(0x325)](_0x50253f instanceof Error?_0x50253f[_0xebe65f(0x318)]:_0xebe65f(0x215));}});_0xc78748[_0x2eb502(0x395)]('delete')&&_0x5b57d2&&_0x3e2af3&&_0x5842ef(_0x2eb502(0x21a),_0x2eb502(0x2db),_0x2eb502(0x232),async({body:_0x159934,request:_0x2ae207})=>{const _0x182340=_0x2eb502;try{const _0x2109f1=_0x159934,_0x2923dc=Array[_0x182340(0x327)](_0x2109f1)?_0x2109f1:await _0x55cdb5(_0x182340(0x232),{..._0x2109f1??{}},_0x2ae207),_0x2f409d=resolveIds(_0x2923dc);if(!_0x2f409d[_0x182340(0x202)])return _0xf428a2[_0x182340(0x325)](_0x182340(0x34a));const _0x1bee41=!Array['isArray'](_0x2923dc)&&!!_0x2923dc[_0x182340(0x387)];return await _0x5b57d2['delete'](_0x2f409d,{'force':_0x1bee41}),_0xf428a2['ok']();}catch(_0x10e028){return _0xf428a2['fail'](_0x10e028 instanceof Error?_0x10e028[_0x182340(0x318)]:_0x182340(0x3b7));}});_0xc78748[_0x2eb502(0x395)](_0x2eb502(0x282))&&_0x5b57d2&&_0x3e2af3&&_0x5842ef(_0x2eb502(0x21a),_0x2eb502(0x333),_0x2eb502(0x282),async({body:_0x2ef9a9,request:_0x4df1be})=>{const _0x5a00aa=_0x2eb502;try{const _0x3074bd=_0x2ef9a9;if(Array[_0x5a00aa(0x327)](_0x3074bd)){let _0x568a04=_0x3074bd;if(_0x2d3c0a[_0x5a00aa(0x349)]&&BEFORE_APIS['has'](_0x5a00aa(0x282)))for(let _0x5b13d0=0x0;_0x5b13d0<_0x568a04['length'];_0x5b13d0++){_0x568a04[_0x5b13d0]=await _0x55cdb5(_0x5a00aa(0x282),{..._0x568a04[_0x5b13d0]??{}},_0x4df1be);}const _0x113728=await _0x5b57d2[_0x5a00aa(0x282)](_0x568a04);return _0xf428a2['ok'](_0x113728);}const _0x773808=await _0x55cdb5('update',{..._0x3074bd??{}},_0x4df1be),_0x145411=_0x773808['id'];if(_0x145411==null)return _0xf428a2[_0x5a00aa(0x325)](_0x5a00aa(0x2a2));const _0x144acd=await _0x5b57d2[_0x5a00aa(0x282)](_0x773808);return _0xf428a2['ok'](_0x144acd);}catch(_0x330268){return _0xf428a2[_0x5a00aa(0x325)](_0x330268 instanceof Error?_0x330268[_0x5a00aa(0x318)]:_0x5a00aa(0x257));}});_0xc78748[_0x2eb502(0x395)](_0x2eb502(0x304))&&_0x5b57d2&&_0x5842ef(_0x2eb502(0x389),_0x2eb502(0x38f),'info',async({query:_0x26a736})=>{const _0x188102=_0x2eb502;try{const _0x303803=_0x26a736?.['id'];if(_0x303803==null||_0x303803==='')return _0xf428a2[_0x188102(0x325)](_0x188102(0x2a2));const _0x208640=await _0x5b57d2[_0x188102(0x304)](_0x303803);return _0xf428a2['ok'](omitProps(_0x208640,_0x2d3c0a[_0x188102(0x32f)]));}catch(_0x59433e){return _0xf428a2[_0x188102(0x325)](_0x59433e instanceof Error?_0x59433e[_0x188102(0x318)]:_0x188102(0x1dc));}});_0xc78748[_0x2eb502(0x395)](_0x2eb502(0x324))&&_0x5b57d2&&_0x116510&&_0x5842ef(_0x2eb502(0x21a),_0x2eb502(0x394),_0x2eb502(0x324),async({body:_0x463754,request:_0x45c469})=>{const _0x1569ff=_0x2eb502;try{const _0x27a15e=_0x463754??{},_0x5aeccf=_0x2d3c0a[_0x1569ff(0x37b)]??{},_0x4eae20={'onlyTrashed':_0x27a15e[_0x1569ff(0x312)]===!![],'withTrashed':_0x27a15e[_0x1569ff(0x3a1)]===!![]};if(needsAdvancedQuery(_0x5aeccf)){const _0x579541=await queryWithOp(_0x116510,_0x27a15e,_0x5aeccf,{'request':_0x45c469,'mode':'list','trash':_0x4eae20});return _0xf428a2['ok'](_0x579541);}const {where:_0x314cb3,orderBySql:_0x22494b}=await buildQueryOp(_0x116510,_0x27a15e,_0x5aeccf,_0x45c469),_0x1e7fa9=await _0x5b57d2['list'](_0x314cb3,{'orderBy':_0x22494b,..._0x4eae20});return _0xf428a2['ok'](_0x1e7fa9);}catch(_0x26e62c){return _0xf428a2[_0x1569ff(0x325)](_0x26e62c instanceof Error?_0x26e62c[_0x1569ff(0x318)]:_0x1569ff(0x31e));}});_0xc78748[_0x2eb502(0x395)](_0x2eb502(0x3af))&&_0x5b57d2&&_0x116510&&_0x5842ef(_0x2eb502(0x21a),_0x2eb502(0x3ae),_0x2eb502(0x3af),async({body:_0x483eae,request:_0x3a7f96})=>{const _0x44b58d=_0x2eb502;try{const _0x58107a=_0x483eae??{},_0x297bc4=_0x2d3c0a[_0x44b58d(0x3a5)]??{},_0x509947={'onlyTrashed':_0x58107a[_0x44b58d(0x312)]===!![],'withTrashed':_0x58107a[_0x44b58d(0x3a1)]===!![]};if(needsAdvancedQuery(_0x297bc4)){const _0x4ce82e=await queryWithOp(_0x116510,_0x58107a,_0x297bc4,{'request':_0x3a7f96,'mode':_0x44b58d(0x3af),'trash':_0x509947});return _0xf428a2['ok'](_0x4ce82e);}const {where:_0x3447dc,orderBySql:_0xdb0670}=await buildQueryOp(_0x116510,_0x58107a,_0x297bc4,_0x3a7f96),_0x5b40c3=await _0x5b57d2[_0x44b58d(0x3af)]({'page':Number(_0x58107a[_0x44b58d(0x3af)]??0x1),'size':Number(_0x58107a[_0x44b58d(0x2aa)]??0x14),'where':_0x3447dc,'orderBy':_0xdb0670,..._0x509947});return _0xf428a2['ok'](_0x5b40c3);}catch(_0x2525a5){return _0xf428a2[_0x44b58d(0x325)](_0x2525a5 instanceof Error?_0x2525a5[_0x44b58d(0x318)]:_0x44b58d(0x30a));}});_0xc78748[_0x2eb502(0x395)](_0x2eb502(0x26c))&&_0x5b57d2&&_0x3e2af3&&_0x5842ef(_0x2eb502(0x21a),_0x2eb502(0x3ab),_0x2eb502(0x26c),async({body:_0x1b747b,request:_0x335451})=>{const _0x3bb9a2=_0x2eb502;try{const _0x23a99b=_0x1b747b,_0x2e5629=Array[_0x3bb9a2(0x327)](_0x23a99b)?_0x23a99b:await _0x55cdb5(_0x3bb9a2(0x26c),{..._0x23a99b??{}},_0x335451),_0xe3460c=resolveIds(_0x2e5629);if(!_0xe3460c[_0x3bb9a2(0x202)])return _0xf428a2[_0x3bb9a2(0x325)](_0x3bb9a2(0x34a));return await _0x5b57d2[_0x3bb9a2(0x26c)](_0xe3460c),_0xf428a2['ok']();}catch(_0x528710){return _0xf428a2[_0x3bb9a2(0x325)](_0x528710 instanceof Error?_0x528710[_0x3bb9a2(0x318)]:_0x3bb9a2(0x340));}});if(_0x1437f5[_0x2eb502(0x202)]){if(!_0x2d3c0a[_0x2eb502(0x219)])throw new Error(_0x2eb502(0x2be)+_0x209ca6[_0x2eb502(0x341)]['name']+'\x20配置了\x20serviceApis,需同时配置\x20service');const _0x4c4e5a=Ioc[_0x2eb502(0x389)](_0x2d3c0a[_0x2eb502(0x219)]);for(const _0x4f0d42 of _0x1437f5){const _0x14d342=_0x4c4e5a[_0x4f0d42];if(typeof _0x14d342!==_0x2eb502(0x305))throw new Error(_0x2eb502(0x2be)+_0x2d3c0a[_0x2eb502(0x219)][_0x2eb502(0x27e)]+'.'+_0x4f0d42+_0x2eb502(0x239));const _0x1cab9d=_0x14d342[_0x2eb502(0x37c)](_0x4c4e5a);_0x5842ef('post','/'+_0x4f0d42,_0x4f0d42,async({body:_0x4e0902})=>{const _0x36ce50=_0x2eb502;try{const _0x183245=await _0x1cab9d(_0x4e0902);return _0xf428a2['ok'](_0x183245);}catch(_0x170c6a){return _0xf428a2[_0x36ce50(0x325)](_0x170c6a instanceof Error?_0x170c6a[_0x36ce50(0x318)]:_0x4f0d42+_0x36ce50(0x323));}});}}return _0x46b8cd;};import{join as _0x3b53a1}from'path';import{pathToFileURL as _0x402a87}from'url';var SERVICE_PATTERN=_0x4727c2(0x3bf),CONTROLLER_SCANS=[{'pattern':_0x4727c2(0x1fa),'side':'admin'},{'pattern':'**/modules/*/controller/app/**/*.ts','side':'app'}];async function importWithContext(_0x367b0d,_0x10d8ca,_0x207577){setControllerScanContext({'module':parseModuleFromPath(_0x10d8ca),'side':_0x207577,'file':_0x10d8ca});try{const _0x3629de=_0x402a87(_0x3b53a1(_0x367b0d,_0x10d8ca))['href'];await import(_0x3629de);}finally{setControllerScanContext(null);}}async function scanHost(){const _0x4b5f69=_0x4727c2,_0x25ea5b=process[_0x4b5f69(0x378)](),_0x32397a=await scanFiles(SERVICE_PATTERN,{'cwd':_0x25ea5b});for(const _0x50fe4c of _0x32397a){const _0x20101a=_0x402a87(_0x3b53a1(_0x25ea5b,_0x50fe4c))[_0x4b5f69(0x28c)];await import(_0x20101a);}let _0x537a15=0x0;for(const {pattern:_0x58a1e9,side:_0x382c5b}of CONTROLLER_SCANS){const _0x26d199=await scanFiles(_0x58a1e9,{'cwd':_0x25ea5b});_0x537a15+=_0x26d199[_0x4b5f69(0x202)];for(const _0x42b224 of _0x26d199){await importWithContext(_0x25ea5b,_0x42b224,_0x382c5b);}}setCrudRegistrar(attachCrudRoutes),console[_0x4b5f69(0x2e2)](_0x4b5f69(0x243)),console[_0x4b5f69(0x2e2)](_0x4b5f69(0x23c)+_0x32397a[_0x4b5f69(0x202)]+'\x20service,\x20'+_0x537a15+_0x4b5f69(0x24b));}import{join as _0x347a49}from'path';import{createPinoLogger}from'@bogeychan/elysia-logger';import _0x2b939e from'pino-pretty';import{createWriteStream,mkdirSync,readdirSync,unlinkSync}from'fs';import{join as _0x13f264}from'path';import{Writable}from'stream';var FILE_PATTERN=/^(\d{4}-\d{2}-\d{2})\.log$/;function formatLocalDate(_0x2eb670=new Date()){const _0x382bbd=_0x4727c2,_0x4d110f=_0x2eb670['getFullYear'](),_0x45fd3b=String(_0x2eb670[_0x382bbd(0x3be)]()+0x1)[_0x382bbd(0x22d)](0x2,'0'),_0x44f8f8=String(_0x2eb670[_0x382bbd(0x245)]())[_0x382bbd(0x22d)](0x2,'0');return _0x4d110f+'-'+_0x45fd3b+'-'+_0x44f8f8;}function purgeOldLogs(_0x33351d,_0x1fc90d){const _0x59ab58=_0x4727c2,_0xb915dc=new Date();_0xb915dc[_0x59ab58(0x2e8)](_0xb915dc[_0x59ab58(0x245)]()-_0x1fc90d);const _0x44972a=formatLocalDate(_0xb915dc);for(const _0x313c46 of readdirSync(_0x33351d)){const _0x58aac2=_0x313c46[_0x59ab58(0x393)](FILE_PATTERN);if(!_0x58aac2||_0x58aac2[0x1]>=_0x44972a)continue;unlinkSync(_0x13f264(_0x33351d,_0x313c46));}}function openDailyStream(_0xf761f8,_0x5a49a1){return createWriteStream(_0x13f264(_0xf761f8,_0x5a49a1+'.log'),{'flags':'a'});}function createDailyLogStream(_0x2d516d,_0x5b4a0b=0x1e){mkdirSync(_0x2d516d,{'recursive':!![]}),purgeOldLogs(_0x2d516d,_0x5b4a0b);let _0x442e47=formatLocalDate(),_0x47201c=openDailyStream(_0x2d516d,_0x442e47);return new Writable({'write'(_0x156c3a,_0x44fa72,_0x537ee4){const _0x21fb8e=_0x1a3d,_0x24fb3a=formatLocalDate();_0x24fb3a!==_0x442e47&&(_0x47201c[_0x21fb8e(0x1f6)](),_0x442e47=_0x24fb3a,_0x47201c=openDailyStream(_0x2d516d,_0x442e47),purgeOldLogs(_0x2d516d,_0x5b4a0b)),_0x47201c[_0x21fb8e(0x1f3)](_0x156c3a,_0x537ee4);},'final'(_0x23b3ef){const _0x34b799=_0x1a3d;_0x47201c[_0x34b799(0x1f6)](_0x23b3ef);}});}var pinoInstance;function buildPino(){const _0x290fb6=_0x4727c2,_0x56fc90=VomeConfig[_0x290fb6(0x25a)]??{},_0x253ebb=_0x56fc90[_0x290fb6(0x2f7)]??'info';if(_0x56fc90[_0x290fb6(0x32a)]===_0x290fb6(0x292)){const _0x491a84=_0x347a49(process[_0x290fb6(0x378)](),_0x56fc90[_0x290fb6(0x32e)]??'logging'),_0x170013=_0x56fc90[_0x290fb6(0x224)]??0x1e;return createPinoLogger({'level':_0x253ebb,'stream':createDailyLogStream(_0x491a84,_0x170013)});}return createPinoLogger({'level':_0x253ebb,'stream':_0x2b939e({'colorize':!![],'translateTime':'SYS:standard','ignore':_0x290fb6(0x24e)})});}function getPinoLogger(){if(!pinoInstance)pinoInstance=buildPino();return pinoInstance;}function resetPinoLogger(){pinoInstance=undefined;}class Logger{['info'](_0x27cd0b,..._0x7f29c1){const _0x31c9f5=_0x4727c2,_0x2416e2=getPinoLogger();if(_0x7f29c1[_0x31c9f5(0x202)])_0x2416e2[_0x31c9f5(0x304)]({'args':_0x7f29c1},_0x27cd0b);else _0x2416e2[_0x31c9f5(0x304)](_0x27cd0b);}[_0x4727c2(0x1f8)](_0x2fc7f0,..._0x4113fc){const _0xc135ea=_0x4727c2,_0x4a7dd7=getPinoLogger();if(_0x4113fc['length'])_0x4a7dd7[_0xc135ea(0x1f8)]({'args':_0x4113fc},_0x2fc7f0);else _0x4a7dd7[_0xc135ea(0x1f8)](_0x2fc7f0);}[_0x4727c2(0x236)](_0xdce0df,..._0x2e968d){const _0x3e9b00=_0x4727c2,_0x582695=getPinoLogger();if(_0x2e968d[_0x3e9b00(0x202)])_0x582695[_0x3e9b00(0x236)]({'args':_0x2e968d},_0xdce0df);else _0x582695[_0x3e9b00(0x236)](_0xdce0df);}[_0x4727c2(0x233)](_0x1be81f,..._0x5113d8){const _0x27c437=_0x4727c2,_0x28176a=getPinoLogger();if(_0x1be81f instanceof Error){_0x28176a[_0x27c437(0x233)](_0x1be81f);return;}if(_0x5113d8[0x0]instanceof Error){_0x28176a[_0x27c437(0x233)](_0x5113d8[0x0],_0x1be81f);return;}if(_0x5113d8[_0x27c437(0x202)])_0x28176a[_0x27c437(0x233)]({'args':_0x5113d8},_0x1be81f);else _0x28176a[_0x27c437(0x233)](_0x1be81f);}}class CommException extends Error{[_0x4727c2(0x350)];['code'];constructor(_0x5e8298,_0x2b4be3){const _0xe5afdf=_0x4727c2;super(_0x5e8298),this[_0xe5afdf(0x27e)]=_0xe5afdf(0x2ff),this['statusCode']=_0x2b4be3?.[_0xe5afdf(0x350)]??0xc8,this[_0xe5afdf(0x258)]=_0x2b4be3?.[_0xe5afdf(0x258)]??RES_CODE[_0xe5afdf(0x34c)];}}function isCommException(_0x1c80ca){return _0x1c80ca instanceof CommException;}function bootstrapLogger(){const _0xc08a92=_0x4727c2;getPinoLogger(),Ioc[_0xc08a92(0x2fc)](Logger,new Logger());}var VOME_BANNER=_0x4727c2(0x2e5);function resetViewport(){const _0x457ff5=_0x4727c2;if(!process[_0x457ff5(0x28f)]['isTTY'])return;process[_0x457ff5(0x28f)][_0x457ff5(0x1f3)](_0x457ff5(0x2dd));}function printStartupBanner(){const _0xe205b9=_0x4727c2;resetViewport();const _0x4e4030=getEnv(),_0xc93e53=VomeConfig[_0xe205b9(0x317)]?.[_0xe205b9(0x283)]??0xbb9,_0x3832ba=VomeConfig['openapi']?.['path']??'/docs',_0x349fa1=_0xe205b9(0x2a8)+_0xc93e53;console[_0xe205b9(0x2e2)](VOME_BANNER),console[_0xe205b9(0x2e2)]('🌍\x20运行环境:\x20'+_0x4e4030),_0x4e4030==='dev'&&(console[_0xe205b9(0x2e2)]('📡\x20服务地址:\x20'+_0x349fa1),console[_0xe205b9(0x2e2)](_0xe205b9(0x24f)+_0x349fa1+(_0x3832ba['startsWith']('/')?_0x3832ba:'/'+_0x3832ba)));}import{access}from'fs/promises';import{join as _0x9a0e10}from'path';import{pathToFileURL as _0x5afdc8}from'url';async function exists(_0x5b3690){try{return await access(_0x5b3690),!![];}catch{return![];}}async function importHostModule(_0x24b227){const _0x4995ba=_0x4727c2,_0x433d9d=_0x9a0e10(process[_0x4995ba(0x378)](),_0x24b227);if(!await exists(_0x433d9d)){console[_0x4995ba(0x1f8)](_0x4995ba(0x2ab)+_0x24b227);return;}return await import(_0x5afdc8(_0x433d9d)['href']);}async function bootstrapHostInfra(){const _0x3bdcc5=_0x4727c2,_0x4d864a=await importHostModule(_0x3bdcc5(0x300));if(_0x4d864a?.['Db']?.['bootstrap'])await _0x4d864a['Db']['bootstrap']();const _0x4790d5=await importHostModule(_0x3bdcc5(0x26e));if(_0x4790d5?.[_0x3bdcc5(0x315)]?.[_0x3bdcc5(0x382)])await _0x4790d5[_0x3bdcc5(0x315)][_0x3bdcc5(0x382)]();const _0x444c68=await importHostModule(_0x3bdcc5(0x2bb));if(_0x444c68?.['Auth']?.['bootstrap'])await _0x444c68['Auth'][_0x3bdcc5(0x382)]();}async function bootstrapHostTasks(){const _0x35a81d=_0x4727c2,_0x12c021=await importHostModule(_0x35a81d(0x29c));if(_0x12c021?.[_0x35a81d(0x2bf)]?.[_0x35a81d(0x382)])await _0x12c021[_0x35a81d(0x2bf)][_0x35a81d(0x382)]();}async function bootstrapHostPlugins(){const _0x4e108a=_0x4727c2,_0x2a9c09=await importHostModule(_0x4e108a(0x2cb));if(_0x2a9c09?.[_0x4e108a(0x2ef)]?.[_0x4e108a(0x382)])await _0x2a9c09[_0x4e108a(0x2ef)][_0x4e108a(0x382)]();}async function bootstrapHostModules(){const _0xf26bda=_0x4727c2,_0x4418ce=await importHostModule('src/lib/module/index.ts');if(_0x4418ce?.[_0xf26bda(0x309)]?.[_0xf26bda(0x382)])await _0x4418ce[_0xf26bda(0x309)][_0xf26bda(0x382)]();}async function shutdownHostTasks(){const _0x24fc8e=_0x4727c2,_0x1c3392=await importHostModule('src/lib/task/index.ts');if(_0x1c3392?.[_0x24fc8e(0x2bf)]?.['close'])await _0x1c3392[_0x24fc8e(0x2bf)][_0x24fc8e(0x240)]();}async function shutdownHostInfra(){const _0x2052c1=_0x4727c2,_0x5c4b3e=await importHostModule(_0x2052c1(0x26e));if(_0x5c4b3e?.[_0x2052c1(0x315)]?.[_0x2052c1(0x240)])await _0x5c4b3e[_0x2052c1(0x315)][_0x2052c1(0x240)]();const _0xc37e89=await importHostModule(_0x2052c1(0x300));if(_0xc37e89?.['Db']?.[_0x2052c1(0x240)])await _0xc37e89['Db'][_0x2052c1(0x240)]();}async function applyHostAuthMiddleware(_0x2bcad4){const _0x562f3f=_0x4727c2,_0x2ed935=await importHostModule(_0x562f3f(0x24d));if(!_0x2ed935)return _0x2bcad4;let _0x32faa2=_0x2bcad4;if(_0x2ed935[_0x562f3f(0x32c)])_0x32faa2=_0x32faa2['use'](_0x2ed935[_0x562f3f(0x32c)]);if(_0x2ed935[_0x562f3f(0x247)])_0x32faa2=_0x32faa2[_0x562f3f(0x262)](_0x2ed935[_0x562f3f(0x247)]);if(_0x2ed935[_0x562f3f(0x376)])_0x32faa2=_0x32faa2[_0x562f3f(0x262)](_0x2ed935[_0x562f3f(0x376)]);if(_0x2ed935['microApps'])_0x32faa2=_0x32faa2[_0x562f3f(0x262)](_0x2ed935[_0x562f3f(0x1e1)]);if(_0x2ed935[_0x562f3f(0x293)])_0x32faa2=_0x32faa2[_0x562f3f(0x262)](_0x2ed935[_0x562f3f(0x293)]);return _0x32faa2;}function applyAsyncContext(_0x5f31e9){const _0x1909ef=_0x4727c2,_0x57c5ca=VomeConfig['asyncContextManager']??{};if(!_0x57c5ca[_0x1909ef(0x20b)])return _0x5f31e9;return _0x5f31e9[_0x1909ef(0x35b)](({request:_0x406c0d})=>{enterContextWith(initContextFromRequest(_0x406c0d));});}function applyErrorHandler(_0x375a11){const _0x6752d4=_0x4727c2;return _0x375a11[_0x6752d4(0x374)](({error:_0x2e68e4,set:_0x6314ad,code:_0x56ac13})=>{const _0x28e881=_0x6752d4,_0x4f3fa1=getPinoLogger();if(isCommException(_0x2e68e4))return _0x4f3fa1['error']({'code':_0x2e68e4[_0x28e881(0x258)]},_0x2e68e4[_0x28e881(0x318)]),_0x6314ad['status']=_0x2e68e4[_0x28e881(0x350)],{'code':_0x2e68e4[_0x28e881(0x258)],'message':_0x2e68e4[_0x28e881(0x318)]};if(_0x56ac13===_0x28e881(0x28e)){const _0x465875=_0x2e68e4 instanceof Error?_0x2e68e4[_0x28e881(0x318)]:_0x28e881(0x242);return _0x4f3fa1[_0x28e881(0x233)]({'code':_0x56ac13},_0x465875),_0x6314ad['status']=0x1a6,{'code':RES_CODE['ERROR'],'message':_0x465875};}if(_0x56ac13==='NOT_FOUND')return _0x6314ad[_0x28e881(0x2d7)]=0x194,{'code':RES_CODE[_0x28e881(0x34c)],'message':_0x28e881(0x385)};const _0x41ba17=_0x2e68e4 instanceof Error?_0x2e68e4:new Error(String(_0x2e68e4));return _0x4f3fa1[_0x28e881(0x233)](_0x41ba17),_0x6314ad[_0x28e881(0x2d7)]=0x1f4,{'code':RES_CODE[_0x28e881(0x34c)],'message':getEnv()===_0x28e881(0x3ac)?_0x41ba17['message']:_0x28e881(0x384)};});}function applyLogging(_0x497069){const _0x397d0a=_0x4727c2,_0x23cc36=getPinoLogger();return _0x497069[_0x397d0a(0x262)](_0x23cc36['into']({'autoLogging':{'ignore':_0x5a851c=>Boolean(_0x5a851c[_0x397d0a(0x2ca)])}}));}import{openapi}from'@elysiajs/openapi';function applyOpenapi(_0x46205a){const _0x52bb9d=_0x4727c2,_0x201fa0=VomeConfig['openapi']??{'enable':![]};if(_0x201fa0[_0x52bb9d(0x20b)]===![])return _0x46205a;const _0x36decd=_0x201fa0['path']??_0x52bb9d(0x30c),{tags:_0x42224b,tagGroups:_0xd10665}=buildOpenApiTagDocs(),_0x3328c9=_0x201fa0[_0x52bb9d(0x2cd)]??{},_0x4717d0=_0x201fa0[_0x52bb9d(0x308)]??{};return _0x46205a[_0x52bb9d(0x262)](openapi({'path':_0x36decd,'documentation':{..._0x3328c9,'tags':[..._0x3328c9[_0x52bb9d(0x346)]??[],..._0x42224b],'x-tagGroups':_0xd10665},'scalar':{..._0x4717d0,'layout':_0x4717d0[_0x52bb9d(0x276)]??_0x52bb9d(0x3bd),'operationTitleSource':_0x4717d0[_0x52bb9d(0x275)]??'summary'}}));}var app,started=![],signalsRegistered=![],hostScanned=![],bootstrapHooks=[],shutdownHooks=[],usePlugins=[];async function ensureHostScanned(){if(hostScanned)return;hostScanned=!![],await scanHost();}function createApp(){return applyAsyncContext(applyErrorHandler(applyLogging(new _0x59c491())));}function bootstrap(_0x7506b4){const _0xbd7b73=_0x4727c2;bootstrapHooks[_0xbd7b73(0x2dc)](_0x7506b4);}function shutdown(_0x517813){shutdownHooks['push'](_0x517813);}function use(_0x5ed7fb){usePlugins['push'](_0x5ed7fb);}async function start(){const _0x37c370=_0x4727c2;if(started)throw new Error('[App]\x20\u5DF2\u542F\u52A8\uFF0C\u8BF7\u5148\x20App.stop()\x20\u518D\x20start');let _0x49d250=createApp();_0x49d250=await applyHostAuthMiddleware(_0x49d250);for(const _0x393d33 of usePlugins){_0x49d250=_0x393d33(_0x49d250);}await ensureHostScanned(),_0x49d250=applyOpenapi(_0x49d250),await bootstrapHostInfra();for(const _0x464bb1 of bootstrapHooks)await _0x464bb1();bootstrapLogger(),bootstrapIoc(),await bootstrapHostPlugins(),await bootstrapHostModules(),await bootstrapHostTasks(),_0x49d250=registerControllers(_0x49d250,VomeConfig);const _0x48a01d=VomeConfig['system']?.['port']??0xbb9;return _0x49d250[_0x37c370(0x3b6)](_0x48a01d),app=_0x49d250,started=!![],printStartupBanner(),registerShutdownSignals(),app;}async function stop(){const _0x69036e=_0x4727c2;if(!app)return;for(const _0x617212 of shutdownHooks)await _0x617212();await shutdownHostTasks(),await shutdownHostInfra(),await app[_0x69036e(0x2c1)](),app=undefined,started=![],hostScanned=![],resetIoc(),resetPinoLogger(),setCrudRegistrar(undefined),signalsRegistered=![];}function registerShutdownSignals(){const _0x391ba0=_0x4727c2;if(signalsRegistered)return;signalsRegistered=!![];for(const _0x4dfc32 of[_0x391ba0(0x32d),_0x391ba0(0x2b0)]){process[_0x391ba0(0x23d)](_0x4dfc32,async()=>{const _0x18ac43=_0x391ba0;await stop(),process[_0x18ac43(0x354)](0x0);});}}var App={'bootstrap':bootstrap,'shutdown':shutdown,'use':use,'start':start,'stop':stop};async function vome(_0x46e95a){const _0x396e7d=_0x4727c2;if(_0x46e95a)await _0x46e95a({'App':App});return App[_0x396e7d(0x210)]();}import{getTableColumns as _0x2f3001,getTableName as _0xd19f45}from'drizzle-orm';import{getTableColumns as _0x149367,getTableName}from'drizzle-orm';import{integer,serial,timestamp}from'drizzle-orm/pg-core';var baseColumns={'id':serial('id')[_0x4727c2(0x22a)](),'createTime':timestamp('createTime',{'withTimezone':!![]})[_0x4727c2(0x280)]()['defaultNow'](),'updateTime':timestamp(_0x4727c2(0x1ff),{'withTimezone':!![]})['notNull']()[_0x4727c2(0x296)]()[_0x4727c2(0x2c2)](()=>new Date()),'deletedAt':timestamp('deletedAt',{'withTimezone':!![]}),'tenantId':integer(_0x4727c2(0x31b))},BASE_COLUMN_COMMENTS={'id':'ID','createTime':_0x4727c2(0x1de),'updateTime':_0x4727c2(0x31a),'deletedAt':_0x4727c2(0x36a),'tenantId':'\u79DF\u6237'},registry=new WeakMap(),tables=new Set();function columnComments(_0x4b4a3c,_0x46442a={}){const _0x333276=_0x4727c2;return tables[_0x333276(0x213)](_0x4b4a3c),registry[_0x333276(0x2fc)](_0x4b4a3c,{...BASE_COLUMN_COMMENTS,...registry[_0x333276(0x389)](_0x4b4a3c)||{},..._0x46442a}),_0x4b4a3c;}function getColumnComments(_0x4a0e1f){return registry['get'](_0x4a0e1f)||{};}function listColumnCommentTables(){return[...tables];}function quoteIdent(_0x1e39cd){const _0x53e4dd=_0x4727c2;if(!/^[A-Za-z_][A-Za-z0-9_]*$/['test'](_0x1e39cd))throw new Error(_0x53e4dd(0x230)+_0x1e39cd);return'\x22'+_0x1e39cd+'\x22';}function escapeLiteral(_0x1decfd){return _0x1decfd['replace'](/'/g,'\x27\x27');}async function syncColumnCommentsToPg(_0xe559a4){const _0x2da588=_0x4727c2,_0x9d9b44=listColumnCommentTables();if(!_0x9d9b44[_0x2da588(0x202)])return 0x0;const _0x19539f=new Map(),_0x1ed783=[];for(const _0x5177c6 of _0x9d9b44){let _0x58c761;try{_0x58c761=getTableName(_0x5177c6);}catch{continue;}const _0x314b3b=_0x149367(_0x5177c6),_0x553321=getColumnComments(_0x5177c6),_0x372550=new Map();for(const [_0x3593aa,_0x4c0216]of Object[_0x2da588(0x3b8)](_0x553321)){if(!_0x4c0216||!(_0x3593aa in _0x314b3b))continue;_0x372550[_0x2da588(0x2fc)](_0x3593aa,_0x4c0216);}if(!_0x372550['size'])continue;_0x19539f[_0x2da588(0x2fc)](_0x58c761,_0x372550),_0x1ed783[_0x2da588(0x2dc)](_0x58c761);}if(!_0x1ed783[_0x2da588(0x202)])return 0x0;const _0x29b09c=_0x1ed783['map'](_0x549377=>'\x27'+escapeLiteral(_0x549377)+'\x27')[_0x2da588(0x249)](','),_0x1a2002=await _0xe559a4['unsafe'](_0x2da588(0x2f2)+_0x29b09c+_0x2da588(0x2e1)),_0x48dcb1=new Map();for(const _0x3f689f of _0x1a2002||[]){if(!_0x3f689f['table_name']||!_0x3f689f[_0x2da588(0x253)])continue;_0x48dcb1[_0x2da588(0x2fc)](_0x3f689f[_0x2da588(0x2e6)]+'.'+_0x3f689f[_0x2da588(0x253)],_0x3f689f[_0x2da588(0x379)]??null);}let _0x50a3a5=0x0;for(const [_0x3daf11,_0x52c7de]of _0x19539f){for(const [_0x32dc1a,_0x413851]of _0x52c7de){const _0x2e9da7=_0x3daf11+'.'+_0x32dc1a,_0x495273=_0x48dcb1[_0x2da588(0x389)](_0x2e9da7);if(_0x495273===_0x413851)continue;await _0xe559a4[_0x2da588(0x368)](_0x2da588(0x295)+quoteIdent(_0x3daf11)+'.'+quoteIdent(_0x32dc1a)+'\x20IS\x20\x27'+escapeLiteral(_0x413851)+'\x27'),_0x50a3a5++;}}return _0x50a3a5;}var SIDE_PREFIX2={'admin':'/admin','app':'/app'};function getSidePrefix2(_0x153ba8){return normalizePrefix(SIDE_PREFIX2[_0x153ba8]);}function lastSegment(_0x49d98d){const _0x47223b=_0x4727c2,_0x43a11c=_0x49d98d[_0x47223b(0x244)](/^\/+|\/+$/g,'')[_0x47223b(0x22f)]('/');return _0x43a11c[_0x43a11c[_0x47223b(0x202)]-0x1]||_0x49d98d||_0x47223b(0x380);}function toPascalEntityName(_0x4e4418){const _0x161f37=_0x4727c2;return _0x4e4418[_0x161f37(0x22f)]('_')[_0x161f37(0x2e3)](Boolean)[_0x161f37(0x38c)](_0x45e2ce=>_0x45e2ce['charAt'](0x0)['toUpperCase']()+_0x45e2ce[_0x161f37(0x1fb)](0x1))['join']('')+_0x161f37(0x25c);}function withAlias(_0x311a13){if(!_0x311a13?.['length'])return[];return _0x311a13['map'](_0x1d2598=>{const _0xbb4f6=_0x1a3d;if(typeof _0x1d2598!==_0xbb4f6(0x256)){const _0x199358=_0x1d2598['column'];return{..._0x1d2598,'column':_0x199358[_0xbb4f6(0x395)]('.')?_0x199358:'a.'+_0x199358};}return _0x1d2598['includes']('.')?_0x1d2598:'a.'+_0x1d2598;});}function normalizePageQueryOp(_0x429340){const _0xe3fcb4=_0x4727c2;return{'keyWordLikeFields':withAlias(_0x429340?.['keyWordLikeFields']),'fieldEq':withAlias(_0x429340?.[_0xe3fcb4(0x270)]),'fieldLike':withAlias(_0x429340?.['fieldLike']),'fieldArray':withAlias(_0x429340?.[_0xe3fcb4(0x23e)]),'fieldRange':(_0x429340?.[_0xe3fcb4(0x1e5)]??[])[_0xe3fcb4(0x38c)](_0xc54f3d=>({..._0xc54f3d,'column':_0xc54f3d['column']['includes']('.')?_0xc54f3d[_0xe3fcb4(0x3b5)]:'a.'+_0xc54f3d[_0xe3fcb4(0x3b5)]}))};}function applyFieldDictToColumns(_0x1dc87b,_0x584360){const _0x228392=_0x4727c2;for(const _0x170b2d of _0x584360){if(typeof _0x170b2d===_0x228392(0x256)||!_0x170b2d[_0x228392(0x2cc)])continue;const _0x1a6891=_0x170b2d['column'][_0x228392(0x395)]('.')?_0x170b2d[_0x228392(0x3b5)][_0x228392(0x22f)]('.')[_0x228392(0x27d)]():_0x170b2d[_0x228392(0x3b5)],_0x4c2cce=_0x1dc87b[_0x228392(0x217)](_0x1383e8=>_0x1383e8['propertyName']===_0x1a6891);if(_0x4c2cce)_0x4c2cce['dict']=_0x170b2d[_0x228392(0x2cc)];}}function columnsFromEntity(_0x1e2636){const _0x924fd2=_0x4727c2;if(!_0x1e2636||typeof _0x1e2636!==_0x924fd2(0x310))return[];try{const _0x2e65ac=_0x2f3001(_0x1e2636),_0x5c802d=getColumnComments(_0x1e2636),_0x2aa939=[];for(const [_0xe3aba7,_0xeae998]of Object[_0x924fd2(0x3b8)](_0x2e65ac)){if(_0xe3aba7===_0x924fd2(0x31b))continue;const _0x41f1a1=_0xeae998;_0x2aa939[_0x924fd2(0x2dc)]({'propertyName':_0xe3aba7,'type':String(_0x41f1a1[_0x924fd2(0x36f)]??_0x41f1a1[_0x924fd2(0x209)]??_0x924fd2(0x256)),'length':_0x41f1a1['length']!=null?String(_0x41f1a1['length']):undefined,'nullable':_0x41f1a1[_0x924fd2(0x280)]!==!![],'source':'a.'+_0xe3aba7,'comment':_0x5c802d[_0xe3aba7]});}const _0x13c2b7=new Set([_0x924fd2(0x3a3),_0x924fd2(0x1ff),'deletedAt']),_0xf207dd=_0x2aa939[_0x924fd2(0x2e3)](_0x46af7c=>!_0x13c2b7[_0x924fd2(0x211)](_0x46af7c[_0x924fd2(0x1e9)])),_0x39ce86=_0x2aa939[_0x924fd2(0x2e3)](_0x1b41d1=>_0x13c2b7[_0x924fd2(0x211)](_0x1b41d1[_0x924fd2(0x1e9)]));return[..._0xf207dd,..._0x39ce86];}catch{return[];}}function entityNameOf(_0x5316f6){if(!_0x5316f6||typeof _0x5316f6!=='object')return;try{return toPascalEntityName(_0xd19f45(_0x5316f6));}catch{return;}}function buildApis(_0x114d3f,_0x4199b5){const _0x5232e5=_0x4727c2,_0x38f355=[],_0x31e57d=new Set(),_0x2ab389=_0xf4b5af=>{const _0x30be73=_0x1a3d,_0x1b0501=_0xf4b5af[_0x30be73(0x269)]+':'+_0xf4b5af[_0x30be73(0x2b5)];if(_0x31e57d[_0x30be73(0x211)](_0x1b0501))return;_0x31e57d[_0x30be73(0x213)](_0x1b0501),_0x38f355[_0x30be73(0x2dc)](_0xf4b5af);};for(const _0x38384a of _0x114d3f[_0x5232e5(0x1e0)]){const _0x3493c0=getRouteSubPath(_0x38384a[_0x5232e5(0x2b5)],_0x114d3f[_0x5232e5(0x388)]),_0x44ed05=_0x3493c0[_0x5232e5(0x2ed)]('/')?_0x3493c0:'/'+_0x3493c0,_0x42ed0a=actionFromSubPath(_0x44ed05);_0x2ab389({'method':_0x38384a['method'][_0x5232e5(0x289)](),'path':_0x44ed05,'summary':_0x38384a[_0x5232e5(0x1f4)]??'','dts':{},'tag':'','prefix':_0x4199b5,'ignoreToken':Boolean(_0x38384a[_0x5232e5(0x200)]),'ignorePerms':Boolean(_0x38384a[_0x5232e5(0x3b2)]),'perms':effectivePerms(_0x38384a,_0x114d3f,_0x42ed0a)??[]});}for(const _0x318209 of _0x114d3f['crud']?.[_0x5232e5(0x22b)]??[]){const _0x32b44e='/'+_0x318209;_0x2ab389({'method':_0x318209===_0x5232e5(0x304)?_0x5232e5(0x389):'post','path':_0x32b44e,'summary':CRUD_SUMMARY[_0x318209]??_0x318209,'dts':{},'tag':'','prefix':_0x4199b5,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x114d3f,_0x318209)??[]});}for(const _0x1b49db of _0x114d3f[_0x5232e5(0x391)]?.[_0x5232e5(0x30b)]??[]){const _0x7cef48='/'+_0x1b49db;_0x2ab389({'method':_0x5232e5(0x21a),'path':_0x7cef48,'summary':_0x1b49db,'dts':{},'tag':'','prefix':_0x4199b5,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x114d3f,_0x1b49db)??[]});}return _0x38f355;}function buildEntity(_0x4aec12){const _0x1cd413=_0x4727c2,_0x2b1fa6=joinPrefix(getSidePrefix2(_0x4aec12['side']),_0x4aec12[_0x1cd413(0x388)]),_0xba813=lastSegment(_0x4aec12[_0x1cd413(0x388)]),_0xa46981=_0x4aec12[_0x1cd413(0x391)]?.['entity'],_0x2afdcd=columnsFromEntity(_0xa46981),_0x61961e=normalizePageQueryOp(_0x4aec12[_0x1cd413(0x391)]?.['pageQueryOp']);return applyFieldDictToColumns(_0x2afdcd,_0x61961e['fieldEq']),{'module':_0x4aec12[_0x1cd413(0x265)],'side':_0x4aec12['side'],'prefix':_0x2b1fa6,'name':entityNameOf(_0xa46981),'info':{'type':{'name':_0xba813,'description':_0x4aec12[_0x1cd413(0x37e)]??_0xba813}},'api':buildApis(_0x4aec12,_0x2b1fa6),'columns':_0x2afdcd,'pageQueryOp':_0x61961e,'pageColumns':_0x2afdcd};}function groupByModule(_0x2bbfa6){const _0x4f0950=_0x4727c2,_0x3669ed={};for(const _0x1d9181 of _0x2bbfa6){const _0x3a41b7=_0x3669ed[_0x1d9181['module']]??[];_0x3a41b7[_0x4f0950(0x2dc)](_0x1d9181),_0x3669ed[_0x1d9181['module']]=_0x3a41b7;}return _0x3669ed;}function isEpsEnabled(){const _0x39c28d=_0x4727c2;return Boolean(VomeConfig[_0x39c28d(0x20a)]?.['eps']);}function buildEps(_0x26d523){const _0xc17b27=_0x4727c2;if(!isEpsEnabled())return{};return groupByModule(listControllers(_0x26d523)[_0xc17b27(0x38c)](buildEntity));}var Eps={'controllers':listControllers,'admin':()=>buildEps('admin'),'app':()=>buildEps('app'),'enabled':isEpsEnabled};import'reflect-metadata';var ROUTES_PENDING_KEY=_0x4727c2(0x263);function joinRoute(_0x3c494f,_0x5f2449){return joinPrefix(_0x3c494f,_0x5f2449==='/'?'':_0x5f2449);}function asMiddlewareList(_0x4e6f46){const _0xeb8818=_0x4727c2;if(_0x4e6f46==null)return;return Array[_0xeb8818(0x327)](_0x4e6f46)?_0x4e6f46:[_0x4e6f46];}function appendPendingRoute(_0x56e8f3,_0x51e4e4){const _0x54c9f1=_0x4727c2,_0x1693cc=Reflect['getMetadata'](ROUTES_PENDING_KEY,_0x56e8f3)??[];_0x1693cc[_0x54c9f1(0x2dc)](_0x51e4e4),Reflect[_0x54c9f1(0x328)](ROUTES_PENDING_KEY,_0x1693cc,_0x56e8f3);}function createParamDecorator(_0x431b0f){const _0x334102=_0x4727c2,_0x294962=_0x431b0f===_0x334102(0x3aa)?'Param':_0x431b0f==='body'?_0x334102(0x303):_0x334102(0x35d);return _0x4514ee=>(_0x45dfb1,_0x1830c7,_0x22b45e)=>{const _0x1b8be6=_0x334102;if(_0x1830c7===undefined)throw new Error('[Controller]\x20@'+_0x294962+'\x20只能用于方法参数');const _0x38bf07=_0x45dfb1[_0x1b8be6(0x1e4)];appendRouteParam(_0x38bf07,String(_0x1830c7),{'index':_0x22b45e,'source':_0x431b0f,'schema':_0x4514ee});};}function pickCrudOptions(_0x2f968c){const {api:_0x4a6662,entity:_0x5042ba,service:_0x3c147e,serviceApis:_0x15d6c7,before:_0x307a5b,pageQueryOp:_0x2dad7d,listQueryOp:_0xefd232,insertParam:_0x216a87,infoIgnoreProperty:_0x5c5de4}=_0x2f968c;if(_0x4a6662==null&&_0x5042ba==null&&_0x3c147e==null&&_0x15d6c7==null&&_0x307a5b==null&&_0x2dad7d==null&&_0xefd232==null&&_0x216a87==null&&_0x5c5de4==null)return;return{'api':_0x4a6662,'entity':_0x5042ba,'service':_0x3c147e,'serviceApis':_0x15d6c7,'before':_0x307a5b,'pageQueryOp':_0x2dad7d,'listQueryOp':_0xefd232,'insertParam':_0x216a87,'infoIgnoreProperty':_0x5c5de4};}function Controller(_0x433f64=''){const _0xb57a1d=_0x4727c2,_0x230040=typeof _0x433f64===_0xb57a1d(0x256),_0x3d0ba5=_0x230040?{'prefix':_0x433f64}:_0x433f64;return _0x5f3d3c=>{const _0x5852b0=_0xb57a1d;registerProvider({'token':_0x5f3d3c,'useClass':_0x5f3d3c,'scope':_0x5852b0(0x218)});const _0x3ed024=getControllerScanContext(),_0x588ef4=_0x230040&&_0x433f64===''||!_0x230040&&(_0x3d0ba5[_0x5852b0(0x388)]==null||_0x3d0ba5[_0x5852b0(0x388)]===''),_0x252581=normalizePrefix(_0x588ef4&&_0x3ed024?.[_0x5852b0(0x292)]?parseControllerAutoPrefix(_0x3ed024[_0x5852b0(0x292)]):_0x3d0ba5[_0x5852b0(0x388)]??''),_0x29d283=Reflect['getMetadata'](ROUTES_PENDING_KEY,_0x5f3d3c)??[],_0x134888=pickCrudOptions(_0x3d0ba5);registerController({'token':_0x5f3d3c,'prefix':_0x252581,'module':_0x3d0ba5[_0x5852b0(0x265)]??_0x3ed024?.[_0x5852b0(0x265)]??'unknown','side':_0x3d0ba5[_0x5852b0(0x3b1)]??_0x3ed024?.[_0x5852b0(0x3b1)]??_0x5852b0(0x32b),'description':_0x3d0ba5[_0x5852b0(0x37e)],'file':_0x3ed024?.[_0x5852b0(0x292)],'middleware':asMiddlewareList(_0x3d0ba5[_0x5852b0(0x274)]),'crud':_0x134888,'routes':_0x29d283[_0x5852b0(0x38c)](_0x9d5f99=>{const _0x32af7e=_0x5852b0,_0x2b58fd=getRouteParams(_0x5f3d3c,_0x9d5f99[_0x32af7e(0x1e6)]),_0x3f1b78=schemaFromParams(_0x2b58fd),_0x5acb2f=[..._0x9d5f99[_0x32af7e(0x274)]??[],...getRouteMiddleware(_0x5f3d3c,_0x9d5f99[_0x32af7e(0x1e6)])];return{..._0x9d5f99,'path':joinRoute(_0x252581,_0x9d5f99[_0x32af7e(0x2b5)][_0x32af7e(0x2ed)]('/')?_0x9d5f99[_0x32af7e(0x2b5)]['slice'](0x1):_0x9d5f99[_0x32af7e(0x2b5)]),'params':_0x2b58fd,'body':_0x3f1b78?.[_0x32af7e(0x3ba)],'query':_0x3f1b78?.[_0x32af7e(0x1ed)],'routeParams':_0x3f1b78?.['params'],'public':isRoutePublic(_0x5f3d3c,_0x9d5f99['handler']),'ignorePerms':isRouteIgnorePerms(_0x5f3d3c,_0x9d5f99[_0x32af7e(0x1e6)]),'perms':getRoutePerms(_0x5f3d3c,_0x9d5f99['handler']),'middleware':_0x5acb2f[_0x32af7e(0x202)]?_0x5acb2f:undefined};})}),Reflect[_0x5852b0(0x352)](ROUTES_PENDING_KEY,_0x5f3d3c),clearRouteParams(_0x5f3d3c),clearRoutePublic(_0x5f3d3c),clearRouteMiddleware(_0x5f3d3c),clearRoutePerms(_0x5f3d3c),clearRouteIgnorePerms(_0x5f3d3c);};}function Use(..._0x2c543e){return(_0x2828ef,_0x48a196)=>{const _0x29db91=_0x2828ef['constructor'];appendRouteMiddleware(_0x29db91,String(_0x48a196),_0x2c543e);};}function createMethodDecorator(_0x1a4ad8){return(_0x493365='',_0x1f70dd)=>(_0x37832d,_0x4286a4)=>{const _0xa87113=_0x1a3d,_0x1dc210=_0x37832d[_0xa87113(0x1e4)];appendPendingRoute(_0x1dc210,{'method':_0x1a4ad8,'path':_0x493365,'handler':String(_0x4286a4),'summary':_0x1f70dd?.[_0xa87113(0x1f4)]});};}function Public(){return(_0x3ae41e,_0x29d7fb)=>{const _0x2a65f1=_0x1a3d,_0x847d00=_0x3ae41e[_0x2a65f1(0x1e4)];markRoutePublic(_0x847d00,String(_0x29d7fb));};}function Perms(..._0x1173a8){return(_0x5aa96b,_0x4eab3a)=>{const _0x1c6c02=_0x5aa96b['constructor'];setRoutePerms(_0x1c6c02,String(_0x4eab3a),_0x1173a8);};}function IgnorePerms(){return(_0x5e8570,_0x4fe0e7)=>{const _0x28de72=_0x1a3d,_0x363a0f=_0x5e8570[_0x28de72(0x1e4)];markRouteIgnorePerms(_0x363a0f,String(_0x4fe0e7));};}var Body=createParamDecorator(_0x4727c2(0x3ba)),Query=createParamDecorator('query'),Param=createParamDecorator(_0x4727c2(0x3aa)),Get=createMethodDecorator(_0x4727c2(0x2c0)),Post=createMethodDecorator(_0x4727c2(0x3bc)),Put=createMethodDecorator(_0x4727c2(0x222)),Delete=createMethodDecorator(_0x4727c2(0x2b9)),Patch=createMethodDecorator(_0x4727c2(0x251));class BasePlugin{['pluginInfo'];[_0x4727c2(0x3bb)];['cache'];[_0x4727c2(0x268)];async[_0x4727c2(0x3b4)](_0x123798,_0x586fa6,_0x1c9ede,_0x36d4f9){const _0xe8c613=_0x4727c2;this[_0xe8c613(0x335)]=_0x123798,this[_0xe8c613(0x3bb)]=_0x586fa6,this[_0xe8c613(0x267)]=_0x36d4f9?.[_0xe8c613(0x267)],this[_0xe8c613(0x268)]=_0x36d4f9?.[_0xe8c613(0x268)],await this[_0xe8c613(0x357)]();}async[_0x4727c2(0x357)](){}}import{existsSync,readFileSync}from'fs';import{createRequire}from'module';import{join as _0x138fed}from'path';import{createHash}from'crypto';import{homedir}from'os';import{join as _0x2a03e9}from'path';function pDataPath(){const _0x27ae60=_0x4727c2,_0x29ad2d=createHash(_0x27ae60(0x266))[_0x27ae60(0x282)](String(VomeConfig[_0x27ae60(0x246)]??_0x27ae60(0x20a)))[_0x27ae60(0x372)]('hex');return _0x2a03e9(homedir(),'.vome',_0x29ad2d);}function pPluginPath(){const _0x3036d2=_0x4727c2;return _0x2a03e9(pDataPath(),_0x3036d2(0x1fc));}function pModulesPath(){const _0x56c509=_0x4727c2;return _0x2a03e9(pDataPath(),_0x56c509(0x2f4));}function pModulePath(_0x4f3506){return _0x2a03e9(pModulesPath(),_0x4f3506);}var hostRequire=createRequire(import.meta.url);function pluginRequire(_0x1c7658){if(_0x1c7658==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire(_0x1c7658);}function loadPluginClass(_0x197397){const _0x1fe20b=_0x4727c2;try{const _0x2dd665=_0x197397[_0x1fe20b(0x244)](/export\s+const\s+Plugin\s*=/g,_0x1fe20b(0x3ad))[_0x1fe20b(0x244)](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')[_0x1fe20b(0x244)](/export\s+const\s+handlers\s*=/g,'var\x20handlers\x20=')[_0x1fe20b(0x244)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')['replace'](/export\s+class\s+(\w+)/g,_0x1fe20b(0x2c3))[_0x1fe20b(0x244)](/export\s+default\s+/g,'')[_0x1fe20b(0x244)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x1fe20b(0x244)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x1fe20b(0x244)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,'({\x20BasePlugin\x20})'),_0x3cd627=new Function('BasePlugin','require',_0x1fe20b(0x265),_0x1fe20b(0x2c8),_0x2dd665+'\x0avar\x20__Plugin\x20=\x20(typeof\x20Plugin\x20!==\x20\x27undefined\x27)\x0a\x20\x20?\x20Plugin\x0a\x20\x20:\x20(module.exports\x20&&\x20(module.exports.Plugin\x20||\x20module.exports.default\x20||\x20module.exports));\x0aif\x20(typeof\x20__Plugin\x20===\x20\x27undefined\x27\x20||\x20__Plugin\x20===\x20null)\x20{\x0a\x20\x20throw\x20new\x20Error(\x27missing\x20export\x20Plugin\x27);\x0a}\x0areturn\x20__Plugin;'),_0x3d1af8={'exports':{}};return _0x3cd627(BasePlugin,pluginRequire,_0x3d1af8,_0x3d1af8[_0x1fe20b(0x2c8)]);}catch(_0x2b8048){throw new Error(_0x1fe20b(0x33e)+(_0x2b8048 instanceof Error?_0x2b8048[_0x1fe20b(0x318)]:String(_0x2b8048)));}}function readPluginScript(_0x27bcaf){const _0x43fcb8=_0x4727c2,_0x2b0c38=_0x138fed(pModulePath(_0x27bcaf),_0x43fcb8(0x2eb),'index.js');if(existsSync(_0x2b0c38))return readFileSync(_0x2b0c38,_0x43fcb8(0x2d5));const _0x37de20=_0x138fed(pPluginPath(),_0x27bcaf);if(!existsSync(_0x37de20))return;try{const _0x489ac6=JSON[_0x43fcb8(0x2e9)](readFileSync(_0x37de20,'utf8'));return _0x489ac6[_0x43fcb8(0x207)]?.[_0x43fcb8(0x2ba)];}catch{return;}}import{existsSync as _0x9a50c2,readFileSync as _0x335bf3,readdirSync as _0x109931,statSync}from'fs';import{createRequire as _0x17e74c}from'module';import{join as _0x4b3091}from'path';var registry2=new Map(),hostRequire2=_0x17e74c(import.meta.url);function pluginRequire2(_0x3a5562){if(_0x3a5562==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire2(_0x3a5562);}function normalizePath(_0x4d97ec){const _0x4cb400=_0x4727c2,_0x4386f7=_0x4d97ec[_0x4cb400(0x2ed)]('/')?_0x4d97ec:'/'+_0x4d97ec;return _0x4386f7[_0x4cb400(0x244)](/\/+$/,'')||'/';}function normalizeMethod(_0xb10f0f){const _0x105caa=_0x4727c2;return _0xb10f0f[_0x105caa(0x2bd)]();}function normalizeModuleScript(_0x50d4d3){const _0x260db4=_0x4727c2;return _0x50d4d3[_0x260db4(0x244)](/export\s+const\s+handlers\s*=/g,_0x260db4(0x2c4))['replace'](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')['replace'](/export\s+default\s+\{/g,_0x260db4(0x337))['replace'](/export\s+const\s+Plugin\s*=/g,_0x260db4(0x3ad))['replace'](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')[_0x260db4(0x244)](/export\s+class\s+(\w+)/g,_0x260db4(0x2c3))[_0x260db4(0x244)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x260db4(0x244)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x260db4(0x244)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,_0x260db4(0x260));}function loadModuleHandlers(_0x519377,_0x8884fd=!![]){const _0x5d3c24=_0x4727c2,_0x3c9fb6=normalizeModuleScript(_0x519377),_0x334006=new Function('BasePlugin','require',_0x5d3c24(0x265),_0x5d3c24(0x2c8),_0x3c9fb6+_0x5d3c24(0x397)),_0x480089={'exports':{}},_0x5f04e9=_0x334006(BasePlugin,pluginRequire2,_0x480089,_0x480089['exports']);if(!_0x5f04e9||typeof _0x5f04e9!=='object'){if(_0x8884fd)throw new Error('missing\x20export\x20handlers');return{};}return _0x5f04e9;}var ModuleRegistry={'get'(_0x2f301e){return registry2['get'](_0x2f301e);},'list'(){const _0x53e0b2=_0x4727c2;return[...registry2[_0x53e0b2(0x3b8)]()][_0x53e0b2(0x38c)](([_0x337708,_0x4c03ae])=>({'key':_0x337708,'manifest':_0x4c03ae[_0x53e0b2(0x375)],'routes':_0x4c03ae[_0x53e0b2(0x1e0)]}));},'load'(_0x262cd2){const _0x1a0c03=_0x4727c2;if(!_0x262cd2||!/^[a-zA-Z0-9_-]+$/[_0x1a0c03(0x298)](_0x262cd2))throw new Error(_0x1a0c03(0x287)+_0x262cd2);const _0x54559b=pModulePath(_0x262cd2),_0x3cb41b=_0x4b3091(_0x54559b,_0x1a0c03(0x35c));if(!_0x9a50c2(_0x3cb41b))throw new Error(_0x1a0c03(0x370)+_0x262cd2);const _0x2bf2fc=JSON['parse'](_0x335bf3(_0x3cb41b,_0x1a0c03(0x2d5))),_0x285d6c=(_0x2bf2fc[_0x1a0c03(0x1e0)]??[])[_0x1a0c03(0x38c)](_0x80ff83=>({..._0x80ff83,'method':normalizeMethod(_0x80ff83['method']),'path':normalizePath(_0x80ff83[_0x1a0c03(0x2b5)])}));let _0x42b782={};const _0x667946=_0x4b3091(_0x54559b,_0x1a0c03(0x2eb),_0x1a0c03(0x36b));if(_0x9a50c2(_0x667946)){const _0xd54574=_0x335bf3(_0x667946,_0x1a0c03(0x2d5));_0x42b782=loadModuleHandlers(_0xd54574,_0x285d6c[_0x1a0c03(0x202)]>0x0);for(const _0x4ad62c of _0x285d6c){if(typeof _0x42b782[_0x4ad62c[_0x1a0c03(0x1e6)]]!==_0x1a0c03(0x305))throw new Error('模块\x20'+_0x262cd2+'\x20缺少\x20handler:\x20'+_0x4ad62c[_0x1a0c03(0x1e6)]);}}else{if(_0x285d6c[_0x1a0c03(0x202)])throw new Error('模块\x20'+_0x262cd2+_0x1a0c03(0x2e4));}return registry2[_0x1a0c03(0x2fc)](_0x262cd2,{'manifest':_0x2bf2fc,'handlers':_0x42b782,'routes':_0x285d6c}),registry2[_0x1a0c03(0x389)](_0x262cd2);},'unload'(_0x392ea7){const _0x41d808=_0x4727c2;registry2[_0x41d808(0x232)](_0x392ea7);},async 'dispatch'(_0x40a28c,_0x2fbd65,_0x597e4e,_0x4e3bfa){const _0x26de50=_0x4727c2,_0x1eea2f=registry2['get'](_0x40a28c);if(!_0x1eea2f)return{'ok':![],'status':0x194,'message':_0x26de50(0x273)};const _0x50648a=normalizeMethod(_0x2fbd65),_0x3c3d22=normalizePath(_0x597e4e),_0x542c08=_0x1eea2f['routes']['find'](_0x2a47a6=>_0x2a47a6[_0x26de50(0x269)]===_0x50648a&&_0x2a47a6[_0x26de50(0x2b5)]===_0x3c3d22);if(!_0x542c08)return{'ok':![],'status':0x194,'message':_0x26de50(0x396)};const _0xa85b73=_0x1eea2f[_0x26de50(0x212)][_0x542c08[_0x26de50(0x1e6)]];if(typeof _0xa85b73!=='function')return{'ok':![],'status':0x1f4,'message':_0x26de50(0x2e7)+_0x542c08[_0x26de50(0x1e6)]};try{const _0x43ca58=await _0xa85b73(_0x4e3bfa);return{'ok':!![],'data':_0x43ca58,'route':_0x542c08};}catch(_0x5b82d9){const _0x589f20=_0x5b82d9 instanceof Error?_0x5b82d9['message']:String(_0x5b82d9);return{'ok':![],'status':0x1f4,'message':_0x589f20,'route':_0x542c08};}},'bootstrap'(){const _0x2ce253=_0x4727c2,_0x22b1b1=pModulesPath();if(!_0x9a50c2(_0x22b1b1))return;for(const _0x1bbfe2 of _0x109931(_0x22b1b1)){const _0x56c043=_0x4b3091(_0x22b1b1,_0x1bbfe2);if(!statSync(_0x56c043)['isDirectory']())continue;if(!_0x9a50c2(_0x4b3091(_0x56c043,_0x2ce253(0x35c))))continue;try{this['load'](_0x1bbfe2),console[_0x2ce253(0x2e2)](_0x2ce253(0x241)+_0x1bbfe2);}catch(_0x467fcd){console[_0x2ce253(0x1f8)](_0x2ce253(0x204)+_0x1bbfe2+':',_0x467fcd instanceof Error?_0x467fcd['message']:_0x467fcd);}}}};import{existsSync as _0x286eff,statSync as _0x2209a8}from'fs';import{join as _0x199eb5,normalize,sep}from'path';import{Elysia as _0x4890ac}from'elysia';var PREFIX=_0x4727c2(0x20c);function contentType(_0x503074){const _0x2d9189=_0x4727c2,_0x14e40d=_0x503074[_0x2d9189(0x289)]();if(_0x14e40d[_0x2d9189(0x3a9)](_0x2d9189(0x29e)))return'text/html;\x20charset=utf-8';if(_0x14e40d[_0x2d9189(0x3a9)](_0x2d9189(0x28a))||_0x14e40d[_0x2d9189(0x3a9)](_0x2d9189(0x1f0)))return _0x2d9189(0x386);if(_0x14e40d['endsWith'](_0x2d9189(0x2f0)))return _0x2d9189(0x21e);if(_0x14e40d[_0x2d9189(0x3a9)](_0x2d9189(0x235)))return _0x2d9189(0x362);if(_0x14e40d[_0x2d9189(0x3a9)]('.svg'))return _0x2d9189(0x345);if(_0x14e40d[_0x2d9189(0x3a9)](_0x2d9189(0x1f7)))return _0x2d9189(0x366);if(_0x14e40d[_0x2d9189(0x3a9)]('.jpg')||_0x14e40d[_0x2d9189(0x3a9)]('.jpeg'))return _0x2d9189(0x2df);if(_0x14e40d['endsWith'](_0x2d9189(0x3b9)))return _0x2d9189(0x37a);if(_0x14e40d[_0x2d9189(0x3a9)](_0x2d9189(0x25d)))return _0x2d9189(0x2bc);if(_0x14e40d['endsWith']('.map'))return _0x2d9189(0x255);return _0x2d9189(0x2a4);}var microApps=new _0x4890ac({'name':_0x4727c2(0x271)})['get'](PREFIX+'/*',({params:_0x4bf5ba,set:_0x4774c3})=>{const _0x2b8466=_0x4727c2,_0x17d466=String(_0x4bf5ba['*']||''),_0x3c8967=_0x17d466[_0x2b8466(0x22f)]('/')['filter'](Boolean);if(!_0x3c8967[_0x2b8466(0x202)])return _0x4774c3[_0x2b8466(0x2d7)]=0x194,_0x2b8466(0x2b3);const _0x155681=_0x3c8967[0x0];if(!/^[a-zA-Z0-9_-]+$/['test'](_0x155681))return _0x4774c3['status']=0x190,'Invalid\x20app\x20key';const _0x2d5a93=_0x199eb5(pModulePath(_0x155681),_0x2b8466(0x373));if(!_0x286eff(_0x2d5a93)||!_0x2209a8(_0x2d5a93)[_0x2b8466(0x1e8)]())return _0x4774c3[_0x2b8466(0x2d7)]=0x194,_0x2b8466(0x1db);let _0x349997=_0x3c8967['slice'](0x1)[_0x2b8466(0x249)]('/')||_0x2b8466(0x39c);if(_0x349997[_0x2b8466(0x3a9)]('/'))_0x349997+=_0x2b8466(0x39c);const _0x28e1cd=normalize(_0x199eb5(_0x2d5a93,_0x349997));if(!_0x28e1cd[_0x2b8466(0x2ed)](_0x2d5a93+sep)&&_0x28e1cd!==_0x2d5a93)return _0x4774c3[_0x2b8466(0x2d7)]=0x193,_0x2b8466(0x2ec);let _0x3ed57c=_0x28e1cd;_0x286eff(_0x3ed57c)&&_0x2209a8(_0x3ed57c)[_0x2b8466(0x1e8)]()&&(_0x3ed57c=_0x199eb5(_0x3ed57c,_0x2b8466(0x39c)));if(!_0x286eff(_0x3ed57c)||!_0x2209a8(_0x3ed57c)[_0x2b8466(0x2ea)]())return _0x4774c3[_0x2b8466(0x2d7)]=0x194,_0x2b8466(0x2b3);return _0x4774c3[_0x2b8466(0x23f)][_0x2b8466(0x25b)]=contentType(_0x3ed57c),_0x4774c3[_0x2b8466(0x23f)]['cache-control']=_0x2b8466(0x3c0),_0x4774c3[_0x2b8466(0x23f)][_0x2b8466(0x2ad)]='*',Bun['file'](_0x3ed57c);});import{Elysia as _0x155ea5}from'elysia';function ok(_0xbc3353){const _0x5385a1=_0x4727c2;return{'code':RES_CODE[_0x5385a1(0x2f8)],'message':'success','data':_0xbc3353??null};}function fail(_0xf0d91d,_0x501207=RES_CODE[_0x4727c2(0x34c)]){return{'code':_0x501207,'message':_0xf0d91d};}async function handleExt(_0x1bad81){const _0x112904=_0x4727c2,_0x7a2010=_0x1bad81[_0x112904(0x3aa)][_0x112904(0x2d3)];if(!_0x7a2010||!/^[a-zA-Z0-9_-]+$/[_0x112904(0x298)](_0x7a2010))return _0x1bad81[_0x112904(0x2fc)][_0x112904(0x2d7)]=0x190,fail(_0x112904(0x36e));const _0x1f0e0e=String(_0x1bad81['params']['*']||''),_0x3da807=('/'+_0x1f0e0e)[_0x112904(0x244)](/\/+/g,'/'),_0x10acf9=Context[_0x112904(0x389)](),_0x30714c=ModuleRegistry['get'](_0x7a2010);if(!_0x30714c)return _0x1bad81['set'][_0x112904(0x2d7)]=0x194,fail(_0x112904(0x2c5));const _0x52d58b=_0x1bad81['request'][_0x112904(0x269)]['toUpperCase'](),_0x4ac05b=_0x3da807[_0x112904(0x244)](/\/+$/,'')||'/',_0x22fd2f=_0x30714c[_0x112904(0x1e0)][_0x112904(0x217)](_0x26161f=>_0x26161f[_0x112904(0x269)]===_0x52d58b&&_0x26161f[_0x112904(0x2b5)]===_0x4ac05b);if(!_0x22fd2f)return _0x1bad81[_0x112904(0x2fc)][_0x112904(0x2d7)]=0x194,fail(_0x112904(0x396));if(_0x22fd2f['perms']&&!_0x10acf9?.['isSuper']){const _0x4aeaa3=_0x10acf9?.[_0x112904(0x2b6)]??[];if(!_0x4aeaa3[_0x112904(0x395)](_0x22fd2f['perms']))return _0x1bad81[_0x112904(0x2d7)](0x193);}const _0x684fb4=await ModuleRegistry['dispatch'](_0x7a2010,_0x52d58b,_0x3da807,{'body':_0x1bad81[_0x112904(0x3ba)],'query':_0x1bad81['query']??{},'params':_0x1bad81[_0x112904(0x3aa)],'headers':_0x1bad81[_0x112904(0x34d)][_0x112904(0x23f)],'adminId':_0x10acf9?.[_0x112904(0x2fb)]});if(!_0x684fb4['ok'])return _0x1bad81[_0x112904(0x2fc)][_0x112904(0x2d7)]=_0x684fb4['status'],fail(_0x684fb4[_0x112904(0x318)]);return ok(_0x684fb4['data']);}function createModuleGateway(_0x3585e2){const _0x243066=_0x4727c2;return new _0x155ea5({'name':'module-gateway'})['use'](_0x3585e2['adminAuth'])[_0x243066(0x2f5)]('/admin/ext/:key/*',handleExt,{'adminAuth':!![]})[_0x243066(0x2f5)](_0x243066(0x314),handleExt,{'adminAuth':!![]});}import{Elysia as _0x1059e1}from'elysia';function defineAuthMacro(_0x562de0,_0x555cc8){const _0x4f9467=_0x4727c2;return new _0x1059e1({'name':_0x562de0+_0x4f9467(0x22e)})['macro']({[_0x562de0]:{'resolve':_0x555cc8}})['as'](_0x4f9467(0x39a));}var package_default={'name':_0x4727c2(0x234),'version':_0x4727c2(0x205),'description':_0x4727c2(0x3a2),'license':'MIT','type':_0x4727c2(0x265),'files':[_0x4727c2(0x22c),_0x4727c2(0x2a5),_0x4727c2(0x2fd)],'main':_0x4727c2(0x2f3),'types':_0x4727c2(0x371),'exports':{'.':{'types':_0x4727c2(0x371),'import':_0x4727c2(0x2f3),'default':_0x4727c2(0x2f3)},'./server':{'types':_0x4727c2(0x214),'import':_0x4727c2(0x38b),'default':_0x4727c2(0x38b)},'./admin':{'types':'./dist/admin/index.d.ts','import':_0x4727c2(0x25f),'default':'./dist/admin/index.js'},'./admin/*':_0x4727c2(0x2b2),'./admin/styles/base.css':_0x4727c2(0x299),'./typings/*':_0x4727c2(0x26a)},'scripts':{'build:server':_0x4727c2(0x367),'build:admin':_0x4727c2(0x225),'build':_0x4727c2(0x398),'obfuscate':_0x4727c2(0x2cf),'build:obfuscate':_0x4727c2(0x334),'prepare':_0x4727c2(0x226),'prepublishOnly':_0x4727c2(0x226)},'peerDependencies':{'elysia':'>=1.0.0','reflect-metadata':_0x4727c2(0x264),'drizzle-orm':'>=0.30.0','drizzle-zod':'>=0.5.0','vue':_0x4727c2(0x2e0),'vue-router':_0x4727c2(0x33b),'pinia':_0x4727c2(0x1eb),'vue-sonner':_0x4727c2(0x1eb),'@vueuse/core':_0x4727c2(0x39b),'clsx':_0x4727c2(0x1eb),'tailwind-merge':_0x4727c2(0x1eb),'dompurify':_0x4727c2(0x1dd),'marked':_0x4727c2(0x216)},'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':_0x4727c2(0x377),'drizzle-orm':_0x4727c2(0x377),'drizzle-zod':'^0.8.3','elysia':_0x4727c2(0x377),'javascript-obfuscator':'^5.4.7','reflect-metadata':'^0.2.2','typescript':_0x4727c2(0x377)},'dependencies':{'@bogeychan/elysia-logger':'^0.1.10','@elysiajs/openapi':_0x4727c2(0x208),'pino':_0x4727c2(0x228),'pino-pretty':_0x4727c2(0x1e7)}},version=package_default[_0x4727c2(0x231)];function _0x1a3d(_0x20edc5,_0x5c4b88){_0x20edc5=_0x20edc5-0x1da;const _0x35d74e=_0x35d7();let _0x1a3df9=_0x35d74e[_0x20edc5];if(_0x1a3d['sdRDvN']===undefined){var _0x59a366=function(_0x5daf74){const _0x2f2017='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59c491='',_0x124388='';for(let _0x2cd2ac=0x0,_0x1b9a45,_0x3c367f,_0x426b38=0x0;_0x3c367f=_0x5daf74['charAt'](_0x426b38++);~_0x3c367f&&(_0x1b9a45=_0x2cd2ac%0x4?_0x1b9a45*0x40+_0x3c367f:_0x3c367f,_0x2cd2ac++%0x4)?_0x59c491+=String['fromCharCode'](0xff&_0x1b9a45>>(-0x2*_0x2cd2ac&0x6)):0x0){_0x3c367f=_0x2f2017['indexOf'](_0x3c367f);}for(let _0x25f2a8=0x0,_0x20c6cf=_0x59c491['length'];_0x25f2a8<_0x20c6cf;_0x25f2a8++){_0x124388+='%'+('00'+_0x59c491['charCodeAt'](_0x25f2a8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x124388);};_0x1a3d['pwteJe']=_0x59a366,_0x1a3d['FoQjbz']={},_0x1a3d['sdRDvN']=!![];}const _0x2903ab=_0x35d74e[0x0],_0x3d5165=_0x20edc5+_0x2903ab,_0x1d11d6=_0x1a3d['FoQjbz'][_0x3d5165];return!_0x1d11d6?(_0x1a3df9=_0x1a3d['pwteJe'](_0x1a3df9),_0x1a3d['FoQjbz'][_0x3d5165]=_0x1a3df9):_0x1a3df9=_0x1d11d6,_0x1a3df9;}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 _0x4caa47=_0x46b5;(function(_0x13e3b0,_0xa556f){const _0x5d3e09=_0x46b5,_0x31effd=_0x13e3b0();while(!![]){try{const _0x10123c=parseInt(_0x5d3e09(0x226))/0x1+parseInt(_0x5d3e09(0x2a3))/0x2+parseInt(_0x5d3e09(0x20e))/0x3*(-parseInt(_0x5d3e09(0x254))/0x4)+parseInt(_0x5d3e09(0x211))/0x5+parseInt(_0x5d3e09(0x1f7))/0x6+-parseInt(_0x5d3e09(0x253))/0x7+parseInt(_0x5d3e09(0x29c))/0x8;if(_0x10123c===_0xa556f)break;else _0x31effd['push'](_0x31effd['shift']());}catch(_0x7ccbf9){_0x31effd['push'](_0x31effd['shift']());}}}(_0x6fbb,0x2127f));import{join}from'path';import{pathToFileURL}from'url';function getEnv(){const _0xbb09a0=_0x46b5;return Bun[_0xbb09a0(0x1f3)][_0xbb09a0(0x21b)]==='dev'?'dev':_0xbb09a0(0x327);}function merge(_0x32d2e9,_0x203325){const _0x24b7d6=_0x46b5,_0x6d02b0={..._0x32d2e9};for(const _0x51f38d of Object[_0x24b7d6(0x2aa)](_0x203325)){const _0x216196=_0x6d02b0[_0x51f38d],_0x1fd1ca=_0x203325[_0x51f38d];if(_0x216196&&_0x1fd1ca&&typeof _0x216196===_0x24b7d6(0x2df)&&typeof _0x1fd1ca==='object'&&!Array[_0x24b7d6(0x322)](_0x216196)&&!Array[_0x24b7d6(0x322)](_0x1fd1ca)){_0x6d02b0[_0x51f38d]=merge(_0x216196,_0x1fd1ca);continue;}_0x6d02b0[_0x51f38d]=_0x1fd1ca;}return _0x6d02b0;}async function loadConfig(_0x181972=join(process[_0x4caa47(0x1b8)](),_0x4caa47(0x1c6))){const _0x52a70e=_0x4caa47,_0x360531=getEnv()===_0x52a70e(0x320)?_0x52a70e(0x32c):_0x52a70e(0x1f6),_0x30ed90=await import(pathToFileURL(join(_0x181972,'default.ts'))['href']),_0x2cb880=await import(pathToFileURL(join(_0x181972,_0x360531))[_0x52a70e(0x2d2)]);return merge(_0x30ed90[_0x52a70e(0x1f9)],_0x2cb880[_0x52a70e(0x1f9)]);}var VomeConfig=await loadConfig();import{Elysia as _0x12bc18}from'elysia';import{Elysia}from'elysia';import{AsyncLocalStorage}from'async_hooks';var storage=new AsyncLocalStorage(),warnedOutsideRequest=![];function resolveClientIp(_0x48ab87){const _0x143561=_0x4caa47,_0x4cdd09=_0x48ab87[_0x143561(0x278)][_0x143561(0x331)](_0x143561(0x228));if(_0x4cdd09){const _0x1f6301=_0x4cdd09[_0x143561(0x330)](',')[0x0]?.[_0x143561(0x32d)]();if(_0x1f6301)return _0x1f6301;}return _0x48ab87['headers']['get'](_0x143561(0x297))?.[_0x143561(0x32d)]()||_0x48ab87[_0x143561(0x278)][_0x143561(0x331)]('cf-connecting-ip')?.['trim']()||'';}function initContextFromRequest(_0x361852){const _0x39799c=_0x4caa47,_0x4ab344=new URL(_0x361852[_0x39799c(0x1ad)]),_0x5bac84=_0x361852[_0x39799c(0x278)][_0x39799c(0x331)](_0x39799c(0x20f))?.[_0x39799c(0x330)](',')[0x0]?.[_0x39799c(0x32d)](),_0x100a02=_0x361852[_0x39799c(0x278)]['get'](_0x39799c(0x2bf))?.[_0x39799c(0x32d)]();return{'requestId':crypto[_0x39799c(0x2b0)](),'method':_0x361852['method'],'path':_0x4ab344['pathname'],'ip':resolveClientIp(_0x361852),'host':_0x5bac84||_0x100a02||_0x4ab344[_0x39799c(0x2bf)],'startTime':Date['now']()};}function enterContextWith(_0x5f3c2c){const _0x1510a3=_0x4caa47;storage[_0x1510a3(0x2af)](_0x5f3c2c);}function getContext(){const _0x50d55a=_0x4caa47;return storage[_0x50d55a(0x1f2)]();}function assignContext(_0x3fb91b){const _0x3b8a79=_0x4caa47,_0x1d6674=storage[_0x3b8a79(0x1f2)]();if(!_0x1d6674){getEnv()===_0x3b8a79(0x320)&&!warnedOutsideRequest&&(warnedOutsideRequest=!![],console[_0x3b8a79(0x168)](_0x3b8a79(0x314)));return;}Object[_0x3b8a79(0x28b)](_0x1d6674,_0x3fb91b);}function runContext(_0x4e8b8e,_0x1d6d05){return storage['run'](_0x4e8b8e,_0x1d6d05);}var Context=Object[_0x4caa47(0x28b)](assignContext,{'get':getContext,'run':runContext});import'reflect-metadata';var INJECT_METADATA_KEY=_0x4caa47(0x2ba),providers=new Map();function registerProvider(_0x4d5939){const _0xc22110=_0x4caa47;providers[_0xc22110(0x302)](_0x4d5939[_0xc22110(0x31f)],_0x4d5939);}function getProvider(_0xc5196){const _0x24d6a4=_0x4caa47;return providers[_0x24d6a4(0x331)](_0xc5196);}function listProviders(){const _0x23b662=_0x4caa47,_0xb96c70=new Set(),_0x2f2204=[];for(const _0x682706 of providers[_0x23b662(0x180)]()){if(_0xb96c70[_0x23b662(0x30c)](_0x682706[_0x23b662(0x29d)]))continue;_0xb96c70[_0x23b662(0x301)](_0x682706[_0x23b662(0x29d)]),_0x2f2204[_0x23b662(0x1f1)](_0x682706);}return _0x2f2204;}function tokenLabel(_0x4cc312){const _0x578754=_0x4caa47;if(typeof _0x4cc312===_0x578754(0x2ed)||typeof _0x4cc312===_0x578754(0x2bc))return String(_0x4cc312);return _0x4cc312['name']||_0x578754(0x22d);}function appendInjectMeta(_0x30cb07,_0xb3cfc2){const _0x1907e5=_0x4caa47,_0x40f60f=Reflect[_0x1907e5(0x307)](INJECT_METADATA_KEY,_0x30cb07)??[];_0x40f60f['push'](_0xb3cfc2),Reflect['defineMetadata'](INJECT_METADATA_KEY,_0x40f60f,_0x30cb07);}function getInjectMetas(_0x114243){const _0x412669=_0x4caa47;return Reflect[_0x412669(0x307)](INJECT_METADATA_KEY,_0x114243)??[];}function resetProviders(){const _0x10026f=_0x4caa47;providers[_0x10026f(0x2db)]();}var ScopeEnum;(_0x14b1d6=>{const _0x5d986b=_0x4caa47;_0x14b1d6['Singleton']=_0x5d986b(0x263),_0x14b1d6[_0x5d986b(0x2cd)]='request',_0x14b1d6[_0x5d986b(0x2f3)]=_0x5d986b(0x19a);})(ScopeEnum||={});var singletons=new Map(),creating=new Set(),requestCaches=new WeakMap();function injectProperties(_0x5e3a2b,_0x2468a3){const _0x2bfa3d=_0x4caa47;for(const _0x3b0ea3 of getInjectMetas(_0x2468a3)){const {propertyKey:_0x11856c,token:_0x5339e3,resolve:_0x8ee8fa}=_0x3b0ea3;if(!_0x8ee8fa&&_0x5339e3==null)throw new Error(_0x2bfa3d(0x218)+String(_0x11856c)+_0x2bfa3d(0x16c));const _0x21d744=_0x8ee8fa?_0x8ee8fa():Ioc[_0x2bfa3d(0x331)](_0x5339e3);_0x5e3a2b[_0x11856c]=_0x21d744;const _0xb33fc5=_0x5e3a2b['bindEntity'];_0x8ee8fa&&typeof _0xb33fc5===_0x2bfa3d(0x2ea)&&_0xb33fc5['call'](_0x5e3a2b,_0x21d744);}}function createInstance(_0x2a17f4){const _0x572dea=_0x4caa47;if(creating['has'](_0x2a17f4))throw new Error('[Ioc]\x20检测到循环依赖:\x20'+_0x2a17f4[_0x572dea(0x30a)]);creating[_0x572dea(0x301)](_0x2a17f4);try{const _0x46bba5=new _0x2a17f4();return injectProperties(_0x46bba5,_0x2a17f4),_0x46bba5;}finally{creating['delete'](_0x2a17f4);}}function getSingleton(_0x1d2974){const _0x17f6f0=_0x4caa47,_0x409277=singletons[_0x17f6f0(0x331)](_0x1d2974);if(_0x409277)return _0x409277;const _0x538287=createInstance(_0x1d2974);return singletons[_0x17f6f0(0x302)](_0x1d2974,_0x538287),_0x538287;}function getRequestCache(){const _0x4a30cc=_0x4caa47,_0x26a8c3=Context[_0x4a30cc(0x331)]();if(!_0x26a8c3)throw new Error(_0x4a30cc(0x239));let _0x500e48=requestCaches[_0x4a30cc(0x331)](_0x26a8c3);return!_0x500e48&&(_0x500e48=new Map(),requestCaches[_0x4a30cc(0x302)](_0x26a8c3,_0x500e48)),_0x500e48;}function getRequestScoped(_0x4fd239){const _0x5cddf8=_0x4caa47,_0x2e08c9=getRequestCache(),_0x1a5cef=_0x2e08c9[_0x5cddf8(0x331)](_0x4fd239);if(_0x1a5cef)return _0x1a5cef;const _0x4eaddc=createInstance(_0x4fd239);return _0x2e08c9[_0x5cddf8(0x302)](_0x4fd239,_0x4eaddc),_0x4eaddc;}function resolveByScope(_0x2e6722,_0x36c571){const _0x2d75d7=_0x4caa47;switch(_0x36c571){case _0x2d75d7(0x263):return getSingleton(_0x2e6722);case _0x2d75d7(0x19a):return createInstance(_0x2e6722);case _0x2d75d7(0x176):return getRequestScoped(_0x2e6722);default:throw new Error('[Ioc]\x20未知作用域:\x20'+_0x36c571);}}function resolveMeta(_0x2934d5){const _0x12f70b=_0x4caa47,_0x9fd14c=getProvider(_0x2934d5);if(!_0x9fd14c)throw new Error(_0x12f70b(0x2e0)+tokenLabel(_0x2934d5));return _0x9fd14c;}function bootstrapIoc(){const _0x111252=_0x4caa47;for(const {useClass:_0x381049,scope:_0x351449}of listProviders()){_0x351449==='singleton'&&getSingleton(_0x381049);}console[_0x111252(0x264)]('[Ioc]\x20bootstrap\x20←\x20'+singletons[_0x111252(0x251)]+_0x111252(0x23b));}function get(_0x4b965f){const _0x13c518=_0x4caa47,_0x151fe4=resolveMeta(_0x4b965f);return resolveByScope(_0x151fe4[_0x13c518(0x29d)],_0x151fe4[_0x13c518(0x2d9)]);}function set(_0x352301,_0x100bfb){const _0x444724=_0x4caa47;if(typeof _0x352301===_0x444724(0x2ea)){registerProvider({'token':_0x352301,'useClass':_0x352301,'scope':_0x444724(0x263)}),singletons[_0x444724(0x302)](_0x352301,_0x100bfb);return;}const _0x51d03b=_0x100bfb?.[_0x444724(0x300)];if(!_0x51d03b||_0x51d03b===Object)throw new Error(_0x444724(0x269)+tokenLabel(_0x352301)+_0x444724(0x27d));registerProvider({'token':_0x352301,'useClass':_0x51d03b,'scope':_0x444724(0x263)}),registerProvider({'token':_0x51d03b,'useClass':_0x51d03b,'scope':_0x444724(0x263)}),singletons[_0x444724(0x302)](_0x51d03b,_0x100bfb);}function resetIoc(){const _0x3d56d2=_0x4caa47;singletons[_0x3d56d2(0x2db)](),creating[_0x3d56d2(0x2db)](),resetProviders();}var Ioc={'get':get,'set':set};import'reflect-metadata';var controllers=new Map();function registerController(_0x510b87){const _0x84e02a=_0x4caa47;controllers[_0x84e02a(0x302)](_0x510b87[_0x84e02a(0x31f)],_0x510b87);}function listControllers(_0x4565da){const _0x2b40f2=_0x4caa47,_0x4e7fcd=[...controllers[_0x2b40f2(0x180)]()];return _0x4565da?_0x4e7fcd[_0x2b40f2(0x29b)](_0x131f10=>_0x131f10[_0x2b40f2(0x1d6)]===_0x4565da):_0x4e7fcd;}var ROUTE_PARAMS_KEY=_0x4caa47(0x207),ROUTE_PUBLIC_KEY=_0x4caa47(0x25e),ROUTE_MW_KEY=_0x4caa47(0x2ab),ROUTE_PERMS_KEY=_0x4caa47(0x326),ROUTE_IGNORE_PERMS_KEY=_0x4caa47(0x2ce);function appendRouteParam(_0x514b69,_0x33266f,_0x5f4460){const _0x317e0b=_0x4caa47,_0x427a33=Reflect['getMetadata'](ROUTE_PARAMS_KEY,_0x514b69)??{},_0x3bc1d6=_0x427a33[_0x33266f]??[];_0x3bc1d6[_0x317e0b(0x1f1)](_0x5f4460),_0x427a33[_0x33266f]=_0x3bc1d6,Reflect[_0x317e0b(0x214)](ROUTE_PARAMS_KEY,_0x427a33,_0x514b69);}function getRouteParams(_0x1c808c,_0x511190){const _0xaed9f9=_0x4caa47,_0x35b3f5=Reflect[_0xaed9f9(0x307)](ROUTE_PARAMS_KEY,_0x1c808c);return _0x35b3f5?.[_0x511190]??[];}function clearRouteParams(_0x36670c){const _0x2b3910=_0x4caa47;Reflect[_0x2b3910(0x1b7)](ROUTE_PARAMS_KEY,_0x36670c);}function markRoutePublic(_0x24a900,_0xca3cb4){const _0x4c1890=_0x4caa47,_0x53f408=Reflect[_0x4c1890(0x307)](ROUTE_PUBLIC_KEY,_0x24a900)??{};_0x53f408[_0xca3cb4]=!![],Reflect[_0x4c1890(0x214)](ROUTE_PUBLIC_KEY,_0x53f408,_0x24a900);}function isRoutePublic(_0x201cb8,_0x102b87){const _0x3bc75c=_0x4caa47,_0xd2d60e=Reflect[_0x3bc75c(0x307)](ROUTE_PUBLIC_KEY,_0x201cb8);return!!_0xd2d60e?.[_0x102b87];}function clearRoutePublic(_0xa6686d){Reflect['deleteMetadata'](ROUTE_PUBLIC_KEY,_0xa6686d);}function appendRouteMiddleware(_0x332d77,_0x217418,_0x5c39ad){const _0x145afc=Reflect['getMetadata'](ROUTE_MW_KEY,_0x332d77)??{};_0x145afc[_0x217418]=[..._0x145afc[_0x217418]??[],..._0x5c39ad],Reflect['defineMetadata'](ROUTE_MW_KEY,_0x145afc,_0x332d77);}function getRouteMiddleware(_0x4a2ef8,_0x5c0638){const _0x326445=_0x4caa47,_0x53c419=Reflect[_0x326445(0x307)](ROUTE_MW_KEY,_0x4a2ef8);return _0x53c419?.[_0x5c0638]??[];}function clearRouteMiddleware(_0x493cca){const _0x2272b6=_0x4caa47;Reflect[_0x2272b6(0x1b7)](ROUTE_MW_KEY,_0x493cca);}function setRoutePerms(_0xe189d,_0x788690,_0x1b6965){const _0x5a27f3=_0x4caa47,_0x3222a3=Reflect[_0x5a27f3(0x307)](ROUTE_PERMS_KEY,_0xe189d)??{};_0x3222a3[_0x788690]=_0x1b6965,Reflect[_0x5a27f3(0x214)](ROUTE_PERMS_KEY,_0x3222a3,_0xe189d);}function getRoutePerms(_0x510697,_0xc77e4f){const _0x16b104=_0x4caa47,_0x409f5c=Reflect[_0x16b104(0x307)](ROUTE_PERMS_KEY,_0x510697);return _0x409f5c?.[_0xc77e4f];}function clearRoutePerms(_0x8f391e){const _0x447fed=_0x4caa47;Reflect[_0x447fed(0x1b7)](ROUTE_PERMS_KEY,_0x8f391e);}function markRouteIgnorePerms(_0x5d1404,_0x5bfdd7){const _0x100bba=_0x4caa47,_0x13ee64=Reflect['getMetadata'](ROUTE_IGNORE_PERMS_KEY,_0x5d1404)??{};_0x13ee64[_0x5bfdd7]=!![],Reflect[_0x100bba(0x214)](ROUTE_IGNORE_PERMS_KEY,_0x13ee64,_0x5d1404);}function isRouteIgnorePerms(_0x3fe15b,_0x13d343){const _0xded8e1=Reflect['getMetadata'](ROUTE_IGNORE_PERMS_KEY,_0x3fe15b);return!!_0xded8e1?.[_0x13d343];}function clearRouteIgnorePerms(_0x3a7f26){const _0x2ad64d=_0x4caa47;Reflect[_0x2ad64d(0x1b7)](ROUTE_IGNORE_PERMS_KEY,_0x3a7f26);}function schemaFromParams(_0x1e8589){const _0x1d195d=_0x4caa47,_0x4fb414={};for(const _0x2f9582 of _0x1e8589){if(_0x2f9582[_0x1d195d(0x255)]===_0x1d195d(0x183)&&_0x2f9582[_0x1d195d(0x1d9)]!==undefined)_0x4fb414[_0x1d195d(0x183)]=_0x2f9582['schema'];if(_0x2f9582[_0x1d195d(0x255)]==='query'&&_0x2f9582[_0x1d195d(0x1d9)]!==undefined)_0x4fb414[_0x1d195d(0x21d)]=_0x2f9582[_0x1d195d(0x1d9)];if(_0x2f9582['source']===_0x1d195d(0x2c2)&&_0x2f9582[_0x1d195d(0x1d9)]!==undefined)_0x4fb414[_0x1d195d(0x2c2)]=_0x2f9582['schema'];}return Object['keys'](_0x4fb414)[_0x1d195d(0x1ee)]>0x0?_0x4fb414:undefined;}function openApiTag(_0x24dda3,_0x50d1f6){return _0x24dda3+'.'+_0x50d1f6;}function sideOrder(_0x125abc){const _0x2a7224=_0x4caa47;if(_0x125abc===_0x2a7224(0x1ce))return 0x0;if(_0x125abc===_0x2a7224(0x232))return 0x1;return 0x2;}function parseTag(_0x3efe2e){const _0x53669b=_0x4caa47,_0x584579=_0x3efe2e[_0x53669b(0x29f)]('.');if(_0x584579<0x0)return{'module':_0x3efe2e,'side':''};return{'module':_0x3efe2e[_0x53669b(0x1fe)](0x0,_0x584579),'side':_0x3efe2e[_0x53669b(0x1fe)](_0x584579+0x1)};}function buildOpenApiTagDocs(){const _0x3af873=_0x4caa47,_0x3072fa=listControllers(),_0x2fb2c7=new Map(),_0x2eae1c=new Map();for(const _0x552a3d of _0x3072fa){const _0x59d835=openApiTag(_0x552a3d[_0x3af873(0x2ef)],_0x552a3d[_0x3af873(0x1d6)]);!_0x2fb2c7['has'](_0x59d835)&&_0x2fb2c7[_0x3af873(0x302)](_0x59d835,{'name':_0x59d835,'description':_0x552a3d['module']+'\x20'+_0x552a3d['side'],'x-displayName':_0x552a3d['side']});let _0x2a2836=_0x2eae1c[_0x3af873(0x331)](_0x552a3d[_0x3af873(0x2ef)]);!_0x2a2836&&(_0x2a2836=new Set(),_0x2eae1c[_0x3af873(0x302)](_0x552a3d['module'],_0x2a2836)),_0x2a2836[_0x3af873(0x301)](_0x59d835);}const _0x1a3a92=[..._0x2fb2c7['values']()][_0x3af873(0x32e)]((_0x402d66,_0x5cf60b)=>{const _0x291343=_0x3af873,_0x5037de=parseTag(_0x402d66[_0x291343(0x30a)]),_0x3f5dbc=parseTag(_0x5cf60b[_0x291343(0x30a)]);return _0x5037de[_0x291343(0x2ef)][_0x291343(0x1cd)](_0x3f5dbc[_0x291343(0x2ef)])||sideOrder(_0x5037de[_0x291343(0x1d6)])-sideOrder(_0x3f5dbc[_0x291343(0x1d6)]);}),_0x1d3f40=[..._0x2eae1c[_0x3af873(0x216)]()][_0x3af873(0x32e)](([_0x43f1e0],[_0x36d98c])=>_0x43f1e0['localeCompare'](_0x36d98c))['map'](([_0x438362,_0x33e1e1])=>({'name':_0x438362,'tags':[..._0x33e1e1][_0x3af873(0x32e)]((_0x4a3d88,_0x1a802a)=>{const _0x10fa99=_0x3af873,_0x9baaee=parseTag(_0x4a3d88)[_0x10fa99(0x1d6)],_0x28ecff=parseTag(_0x1a802a)['side'];return sideOrder(_0x9baaee)-sideOrder(_0x28ecff);})}));return{'tags':_0x1a3a92,'tagGroups':_0x1d3f40};}function normalizePrefix(_0x5a871d){const _0x2ea4c7=_0x4caa47;if(!_0x5a871d)return'';return _0x5a871d[_0x2ea4c7(0x335)]('/')?_0x5a871d:'/'+_0x5a871d;}function joinPrefix(..._0x5ab21a){const _0x2bc3ce=_0x4caa47,_0x36bd92=_0x5ab21a[_0x2bc3ce(0x274)](_0x24d8f1=>normalizePrefix(_0x24d8f1)[_0x2bc3ce(0x313)](/^\/+|\/+$/g,''))['filter'](Boolean);return _0x36bd92['length']?'/'+_0x36bd92[_0x2bc3ce(0x24c)]('/'):'/';}function getRouteSubPath(_0x355b5d,_0x5c9845){const _0x3a54e6=_0x4caa47,_0x18b874=normalizePrefix(_0x5c9845)[_0x3a54e6(0x313)](/\/$/,''),_0x3e2558=normalizePrefix(_0x355b5d);if(!_0x18b874)return _0x3e2558||'/';if(_0x3e2558===_0x18b874)return'/';if(_0x3e2558[_0x3a54e6(0x335)](_0x18b874+'/'))return _0x3e2558['slice'](_0x18b874[_0x3a54e6(0x1ee)])||'/';const _0x1d4fd4=_0x355b5d[_0x3a54e6(0x335)]('/')?_0x355b5d:'/'+_0x355b5d;return _0x1d4fd4||'/';}function resolveRoutePerm(_0x9fcf93,_0x14a08b,_0xd43801){const _0x489e2f=_0x4caa47;let _0x55abd2=_0x14a08b[_0x489e2f(0x313)](/^\//,'')[_0x489e2f(0x313)](/\/+/g,':');if(_0x55abd2===_0x9fcf93)_0x55abd2=_0x9fcf93;else _0x55abd2['startsWith'](_0x9fcf93+':')&&(_0x55abd2=_0x55abd2[_0x489e2f(0x1fe)](_0x9fcf93['length']+0x1));const _0x5a7f06=_0x9fcf93+'-';_0x55abd2['startsWith'](_0x5a7f06)&&(_0x55abd2=_0x55abd2['slice'](_0x5a7f06[_0x489e2f(0x1ee)]));_0x55abd2=_0x55abd2['replace'](/-/g,':');if(!_0x55abd2)_0x55abd2=_0x9fcf93;return _0x9fcf93+':'+_0x55abd2+':'+_0xd43801;}function actionFromSubPath(_0x5410bc){const _0x46468b=_0x4caa47,_0x4e4142=_0x5410bc[_0x46468b(0x313)](/^\/+|\/+$/g,'');if(!_0x4e4142)return _0x46468b(0x2fa);const _0x501795=_0x4e4142[_0x46468b(0x330)]('/');return _0x501795[_0x501795['length']-0x1]||_0x46468b(0x2fa);}function effectivePerms(_0x581d0e,_0x33d3a6,_0x2d98b6){const _0x4bcb33=_0x4caa47;if(_0x33d3a6[_0x4bcb33(0x1d6)]!==_0x4bcb33(0x1ce)||_0x581d0e[_0x4bcb33(0x192)]||_0x581d0e['ignorePerms'])return;if(_0x581d0e[_0x4bcb33(0x1e1)]?.['length'])return _0x581d0e[_0x4bcb33(0x1e1)];const _0x152145=_0x2d98b6??actionFromSubPath(getRouteSubPath(_0x581d0e[_0x4bcb33(0x31a)]??'/',_0x33d3a6['prefix']));return[resolveRoutePerm(_0x33d3a6[_0x4bcb33(0x2ef)],_0x33d3a6[_0x4bcb33(0x1c4)],_0x152145)];}var crudRegistrar;function setCrudRegistrar(_0x1a8b9a){crudRegistrar=_0x1a8b9a;}var SIDE_PREFIX={'admin':'/admin','app':_0x4caa47(0x2c9)},ADMIN_GUARD=_0x4caa47(0x22f),APP_GUARD=_0x4caa47(0x273),ELYSIA_METHODS={'GET':_0x4caa47(0x331),'POST':_0x4caa47(0x2e3),'PUT':_0x4caa47(0x1ca),'DELETE':_0x4caa47(0x1d0),'PATCH':_0x4caa47(0x237)};function getSidePrefix(_0x317f04){return normalizePrefix(SIDE_PREFIX[_0x317f04]);}function buildRouteSchema(_0x4c5229){const _0x574502=_0x4caa47;if(_0x4c5229[_0x574502(0x2c2)]?.['length'])return schemaFromParams(_0x4c5229[_0x574502(0x2c2)]);const _0x49fed2={};if(_0x4c5229[_0x574502(0x183)]!==undefined)_0x49fed2[_0x574502(0x183)]=_0x4c5229[_0x574502(0x183)];if(_0x4c5229[_0x574502(0x21d)]!==undefined)_0x49fed2[_0x574502(0x21d)]=_0x4c5229[_0x574502(0x21d)];if(_0x4c5229[_0x574502(0x19d)]!==undefined)_0x49fed2[_0x574502(0x2c2)]=_0x4c5229['routeParams'];return Object[_0x574502(0x2aa)](_0x49fed2)[_0x574502(0x1ee)]>0x0?_0x49fed2:undefined;}function assertRouteParams(_0x418a5f,_0x23540a,_0xdee5c4){const _0x450e95=_0x4caa47,_0x1b0ae7=new Set();for(const _0x262e41 of _0x418a5f){if(_0x1b0ae7['has'](_0x262e41[_0x450e95(0x255)])){const _0x2a20bf=_0x262e41[_0x450e95(0x255)]===_0x450e95(0x183)?_0x450e95(0x198):_0x262e41[_0x450e95(0x255)]==='query'?_0x450e95(0x321):_0x450e95(0x17f);throw new Error('[Router]\x20'+_0xdee5c4+'.'+_0x23540a+_0x450e95(0x171)+_0x2a20bf);}_0x1b0ae7[_0x450e95(0x301)](_0x262e41[_0x450e95(0x255)]);}}function createParamHandler(_0x4d7f18,_0x333c28,_0x448cf3){const _0x108dd9=_0x4caa47,_0x2893d6=_0x4d7f18[_0x333c28],_0x299887=_0x2893d6['bind'](_0x4d7f18);if(!_0x448cf3?.[_0x108dd9(0x1ee)])return _0x299887;const _0x3e85c9=[..._0x448cf3][_0x108dd9(0x32e)]((_0x56449f,_0x457be5)=>_0x56449f[_0x108dd9(0x2fa)]-_0x457be5['index']);return _0x113ab=>{const _0x4a81dc=_0x108dd9,_0x52e6ec=_0x3e85c9[_0x4a81dc(0x274)](_0x3ddf90=>{const _0x6a5b81=_0x4a81dc;if(_0x3ddf90[_0x6a5b81(0x255)]===_0x6a5b81(0x183))return _0x113ab[_0x6a5b81(0x183)];if(_0x3ddf90[_0x6a5b81(0x255)]===_0x6a5b81(0x21d))return _0x113ab[_0x6a5b81(0x21d)];if(_0x3ddf90[_0x6a5b81(0x255)]===_0x6a5b81(0x2c2))return _0x113ab[_0x6a5b81(0x2c2)];throw new Error(_0x6a5b81(0x174)+_0x3ddf90['source']);});return _0x299887(..._0x52e6ec,_0x113ab);};}function createPermsGuard(_0x59bcbe){return _0x397576=>{const _0x15d09a=_0x46b5,_0x2e6c69=_0x397576['status'],_0x5e703d=Context[_0x15d09a(0x331)]();if(_0x5e703d?.[_0x15d09a(0x2cf)])return;const _0x4f43a6=_0x5e703d?.[_0x15d09a(0x1e1)]??[];if(_0x59bcbe[_0x15d09a(0x1d2)](_0x337dba=>_0x4f43a6[_0x15d09a(0x30e)](_0x337dba)))return;return _0x2e6c69(0x193);};}function openApiSummary(_0x3dce4c,_0x54bc10){const _0x5aadda=_0x4caa47,_0x351dd4=_0x3dce4c[_0x5aadda(0x313)](/^\/+|\/+$/g,'')[_0x5aadda(0x330)]('/')[_0x5aadda(0x2e1)]()||_0x3dce4c;return _0x54bc10?_0x351dd4+'\x20'+_0x54bc10:_0x351dd4;}function buildRouteOptions(_0x13f8c9,_0x3439e4){const _0x38bffc=_0x4caa47,_0x23f124=buildRouteSchema(_0x13f8c9)??{},_0x2826ec={..._0x23f124,'detail':{'tags':[openApiTag(_0x3439e4['module'],_0x3439e4[_0x38bffc(0x1d6)])],'summary':openApiSummary(_0x13f8c9['handler'],_0x13f8c9[_0x38bffc(0x1a9)])}};_0x3439e4[_0x38bffc(0x1d6)]===_0x38bffc(0x1ce)&&!_0x13f8c9[_0x38bffc(0x192)]&&(_0x2826ec[ADMIN_GUARD]=!![]);_0x3439e4['side']===_0x38bffc(0x232)&&!_0x13f8c9[_0x38bffc(0x192)]&&(_0x2826ec[APP_GUARD]=!![]);const _0x443a84=[],_0x3bd857=effectivePerms(_0x13f8c9,_0x3439e4);if(_0x3bd857?.[_0x38bffc(0x1ee)])_0x443a84['push'](createPermsGuard(_0x3bd857));if(_0x13f8c9['middleware']?.['length'])_0x443a84['push'](..._0x13f8c9['middleware']);if(_0x443a84[_0x38bffc(0x1ee)])_0x2826ec[_0x38bffc(0x22a)]=_0x443a84;return _0x2826ec;}function normalizeCrudRouteOpts(_0x255960){if(_0x255960==null)return{};if(typeof _0x255960==='boolean')return{'public':_0x255960};return _0x255960;}function registerControllerPlugin(_0x2495d7,_0x1f140f){const _0x45dfc0=_0x4caa47,_0x3b13b7=getSidePrefix(_0x2495d7[_0x45dfc0(0x1d6)]),_0x83ac1c=joinPrefix(_0x3b13b7,_0x2495d7[_0x45dfc0(0x1c4)]),_0x5f1df8=Ioc[_0x45dfc0(0x331)](_0x2495d7['token']);let _0x23d181=new Elysia({'prefix':_0x83ac1c,'name':_0x2495d7['token'][_0x45dfc0(0x30a)],'tags':[openApiTag(_0x2495d7[_0x45dfc0(0x2ef)],_0x2495d7[_0x45dfc0(0x1d6)])]});for(const _0x1e4d07 of _0x2495d7[_0x45dfc0(0x1b3)]??[]){_0x23d181=_0x23d181['onBeforeHandle'](_0x1e4d07);}const _0x4220df=[];for(const _0x213e19 of _0x2495d7[_0x45dfc0(0x2dc)]){const _0x38dab7=_0x5f1df8[_0x213e19[_0x45dfc0(0x2bb)]];if(typeof _0x38dab7!==_0x45dfc0(0x2ea))throw new Error('[Router]\x20'+_0x2495d7[_0x45dfc0(0x31f)][_0x45dfc0(0x30a)]+'.'+_0x213e19[_0x45dfc0(0x2bb)]+_0x45dfc0(0x240));assertRouteParams(_0x213e19[_0x45dfc0(0x2c2)]??[],_0x213e19[_0x45dfc0(0x2bb)],_0x2495d7['token'][_0x45dfc0(0x30a)]);const _0x303c13=createParamHandler(_0x5f1df8,_0x213e19['handler'],_0x213e19['params']),_0x2acee7=getRouteSubPath(_0x213e19[_0x45dfc0(0x31a)],_0x2495d7[_0x45dfc0(0x1c4)]),_0x3c7491=buildRouteOptions(_0x213e19,_0x2495d7),_0x37526b=ELYSIA_METHODS[_0x213e19['method']];_0x23d181=_0x23d181[_0x37526b](_0x2acee7,_0x303c13,_0x3c7491);}if(_0x2495d7[_0x45dfc0(0x17b)]?.[_0x45dfc0(0x233)]?.[_0x45dfc0(0x1ee)]||_0x2495d7['crud']?.['serviceApis']?.[_0x45dfc0(0x1ee)]){if(!crudRegistrar)throw new Error(_0x45dfc0(0x2fb)+_0x2495d7[_0x45dfc0(0x31f)][_0x45dfc0(0x30a)]+_0x45dfc0(0x1eb));_0x23d181=crudRegistrar(_0x23d181,_0x2495d7,{'controller':_0x5f1df8,'routeOptions':_0x4ae158=>{const _0x2a0fcf=_0x45dfc0,{public:_0x33a8c0,action:_0x3b9168,summary:_0x5da909}=normalizeCrudRouteOpts(_0x4ae158),_0x19aabb={'detail':{'tags':[openApiTag(_0x2495d7[_0x2a0fcf(0x2ef)],_0x2495d7[_0x2a0fcf(0x1d6)])],'summary':openApiSummary(_0x3b9168??_0x2a0fcf(0x21a),_0x5da909)}};if(_0x2495d7[_0x2a0fcf(0x1d6)]===_0x2a0fcf(0x1ce)&&!_0x33a8c0){_0x19aabb[ADMIN_GUARD]=!![];if(_0x3b9168){const _0x22028a=resolveRoutePerm(_0x2495d7[_0x2a0fcf(0x2ef)],_0x2495d7[_0x2a0fcf(0x1c4)],_0x3b9168);_0x19aabb[_0x2a0fcf(0x22a)]=[createPermsGuard([_0x22028a])];}}return _0x19aabb;}});for(const _0x3a2282 of _0x2495d7[_0x45dfc0(0x17b)]?.[_0x45dfc0(0x233)]??[]){const _0x3f1f65=_0x3a2282===_0x45dfc0(0x191)?_0x45dfc0(0x282):_0x45dfc0(0x2cc);_0x4220df[_0x45dfc0(0x1f1)]({'method':_0x3f1f65,'path':joinPrefix(_0x2495d7[_0x45dfc0(0x1c4)],_0x3a2282),'handler':_0x3a2282,'autoCrud':!![]});}for(const _0xdf3e24 of _0x2495d7['crud']?.['serviceApis']??[]){_0x4220df['push']({'method':_0x45dfc0(0x2cc),'path':joinPrefix(_0x2495d7[_0x45dfc0(0x1c4)],_0xdf3e24),'handler':_0xdf3e24,'autoCrud':!![]});}}return{'plugin':_0x23d181,'pluginPrefix':_0x83ac1c,'autoRoutes':_0x4220df};}function registerControllers(_0x5b8d10,_0x4facae){const _0x749862=_0x4caa47;let _0x500c57=_0x5b8d10,_0x18a712=0x0;const _0x3064ed=[];for(const _0x525125 of listControllers()){const {plugin:_0x400a1f,pluginPrefix:_0x157ffd,autoRoutes:_0x4d4661}=registerControllerPlugin(_0x525125,_0x4facae);_0x500c57=_0x500c57[_0x749862(0x1cb)](_0x400a1f);for(const _0x1faa07 of[..._0x525125['routes'],..._0x4d4661]){_0x18a712+=0x1;const _0x3c36fc=getRouteSubPath(_0x1faa07[_0x749862(0x31a)],_0x525125[_0x749862(0x1c4)]),_0x3986e0=_0x3c36fc==='/'?_0x157ffd:joinPrefix(_0x157ffd,_0x3c36fc[_0x749862(0x313)](/^\//,'')),_0x36a588=_0x1faa07[_0x749862(0x192)]?'\x20(public)':_0x1faa07[_0x749862(0x1ea)]?_0x749862(0x31d):'';_0x3064ed[_0x749862(0x1f1)](_0x1faa07[_0x749862(0x315)]+'\x20'+_0x3986e0+_0x36a588);}}if(_0x18a712>0x0){console[_0x749862(0x264)](_0x749862(0x1e5)+_0x18a712+_0x749862(0x27a));for(const _0x530875 of _0x3064ed)console['log']('\x20\x20'+_0x530875);}return _0x500c57;}var {Glob}=globalThis[_0x4caa47(0x2f7)],DEFAULT_EXT=/\.tsx?$/;async function scanFiles(_0xd3a2bd,_0x1212b0={}){const _0x43eecf=_0x4caa47,{cwd:cwd=process[_0x43eecf(0x1b8)](),ext:ext=DEFAULT_EXT}=_0x1212b0,_0x1739a0=Array[_0x43eecf(0x322)](_0xd3a2bd)?_0xd3a2bd:[_0xd3a2bd],_0x577001=[];for(const _0xefa1c0 of _0x1739a0){const _0x4d4b73=new Glob(_0xefa1c0);for await(const _0x55a950 of _0x4d4b73[_0x43eecf(0x20b)]({'cwd':cwd,'onlyFiles':!![]})){if(ext[_0x43eecf(0x1e9)](_0x55a950))_0x577001[_0x43eecf(0x1f1)](_0x55a950);}}return[...new Set(_0x577001)]['sort']();}var context=null;function _0x46b5(_0x4da77a,_0x2416ca){_0x4da77a=_0x4da77a-0x166;const _0x6fbbd3=_0x6fbb();let _0x46b5c0=_0x6fbbd3[_0x4da77a];if(_0x46b5['pQZzEx']===undefined){var _0x4833f1=function(_0x1aa0ef){const _0x17e380='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12bc18='',_0x4b4655='';for(let _0x38a578=0x0,_0x374de0,_0x3abfa2,_0x2bced8=0x0;_0x3abfa2=_0x1aa0ef['charAt'](_0x2bced8++);~_0x3abfa2&&(_0x374de0=_0x38a578%0x4?_0x374de0*0x40+_0x3abfa2:_0x3abfa2,_0x38a578++%0x4)?_0x12bc18+=String['fromCharCode'](0xff&_0x374de0>>(-0x2*_0x38a578&0x6)):0x0){_0x3abfa2=_0x17e380['indexOf'](_0x3abfa2);}for(let _0x5d9553=0x0,_0x3e1c32=_0x12bc18['length'];_0x5d9553<_0x3e1c32;_0x5d9553++){_0x4b4655+='%'+('00'+_0x12bc18['charCodeAt'](_0x5d9553)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b4655);};_0x46b5['YqCcCW']=_0x4833f1,_0x46b5['tDBskq']={},_0x46b5['pQZzEx']=!![];}const _0x1ca0f4=_0x6fbbd3[0x0],_0x35885f=_0x4da77a+_0x1ca0f4,_0x16c5ff=_0x46b5['tDBskq'][_0x35885f];return!_0x16c5ff?(_0x46b5c0=_0x46b5['YqCcCW'](_0x46b5c0),_0x46b5['tDBskq'][_0x35885f]=_0x46b5c0):_0x46b5c0=_0x16c5ff,_0x46b5c0;}function setControllerScanContext(_0x2517a5){context=_0x2517a5;}function getControllerScanContext(){return context;}function parseModuleFromPath(_0x5736f9){const _0x40cd52=_0x4caa47,_0x1b3c57=_0x5736f9['match'](/modules\/([^/]+)\/controller\//);if(!_0x1b3c57)return _0x40cd52(0x213);return _0x1b3c57[0x1];}function parseControllerAutoPrefix(_0x2604b2){const _0x2f3f1d=_0x4caa47,_0x3c669b=_0x2604b2[_0x2f3f1d(0x313)](/\\/g,'/')[_0x2f3f1d(0x25d)](/modules\/([^/]+)\/controller\/(?:admin|app)\/(.+)\.tsx?$/);if(!_0x3c669b)return'';const _0x88f3e1=_0x3c669b[0x1],_0x53bda1=_0x3c669b[0x2]['replace'](/\/+/g,'/')[_0x2f3f1d(0x313)](/^\/|\/$/g,'');if(!_0x53bda1)return'/'+_0x88f3e1;return'/'+_0x88f3e1+'/'+_0x53bda1;}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(_0x33adc6){const _0x5c22f0=_0x4caa47,_0x46885d=_0x33adc6 instanceof Date?_0x33adc6:new Date(_0x33adc6);if(Number[_0x5c22f0(0x291)](_0x46885d[_0x5c22f0(0x1f0)]()))return String(_0x33adc6);return new Intl['DateTimeFormat'](_0x5c22f0(0x1fc),{'timeZone':_0x5c22f0(0x2c4),'year':_0x5c22f0(0x1ab),'month':_0x5c22f0(0x339),'day':_0x5c22f0(0x339),'hour':_0x5c22f0(0x339),'minute':_0x5c22f0(0x339),'second':_0x5c22f0(0x339),'hour12':![]})[_0x5c22f0(0x2b3)](_0x46885d)[_0x5c22f0(0x313)]('T','\x20');}function isTimeKey(_0x408b84){const _0x3dd20c=_0x4caa47;return TIME_KEY_RE[_0x3dd20c(0x1e9)](_0x408b84);}function formatApiDates(_0x1b9b14){return walk(_0x1b9b14);}function walk(_0x217ee4,_0x463128){const _0x8eefa0=_0x4caa47;if(_0x217ee4==null)return _0x217ee4;if(_0x217ee4 instanceof Date)return formatDateTime(_0x217ee4);if(typeof _0x217ee4==='string'&&_0x463128&&isTimeKey(_0x463128)&&ISO_RE[_0x8eefa0(0x1e9)](_0x217ee4))return formatDateTime(_0x217ee4);if(Array[_0x8eefa0(0x322)](_0x217ee4))return _0x217ee4[_0x8eefa0(0x274)](_0x249afc=>walk(_0x249afc));if(typeof _0x217ee4===_0x8eefa0(0x2df)){if(Object[_0x8eefa0(0x19a)][_0x8eefa0(0x1e3)][_0x8eefa0(0x248)](_0x217ee4)!==_0x8eefa0(0x25f))return _0x217ee4;const _0x106dd4={};for(const [_0x4a288d,_0x353559]of Object[_0x8eefa0(0x216)](_0x217ee4)){_0x106dd4[_0x4a288d]=walk(_0x353559,_0x4a288d);}return _0x106dd4;}return _0x217ee4;}var RES_CODE={'SUCCESS':0x3e8,'ERROR':0x3e9};class BaseController{['ok'](_0x41dca8){const _0x4834e7=_0x4caa47,_0x35da8b=_0x41dca8===undefined?null:_0x41dca8;return{'code':RES_CODE[_0x4834e7(0x1e7)],'message':_0x4834e7(0x1c0),'data':_0x35da8b==null?_0x35da8b:formatApiDates(_0x35da8b)};}['fail'](_0x49a66d=_0x4caa47(0x20c),_0x59fb7e=RES_CODE[_0x4caa47(0x1fd)]){return{'code':_0x59fb7e,'message':_0x49a66d};}}import'reflect-metadata';function normalizeProvideArgs(_0x489fcd){const _0x30a6fe=_0x4caa47;if(_0x489fcd==null)return{};if(typeof _0x489fcd===_0x30a6fe(0x2ed)||typeof _0x489fcd===_0x30a6fe(0x2bc))return{'id':_0x489fcd};return _0x489fcd;}function Provide(_0x3f719a){return _0x332db4=>{const _0x5469f9=_0x46b5,_0x40ef24=normalizeProvideArgs(_0x3f719a),_0x2cf6cb=_0x40ef24[_0x5469f9(0x2d9)]??_0x5469f9(0x263);registerProvider({'token':_0x332db4,'useClass':_0x332db4,'scope':_0x2cf6cb}),_0x40ef24['id']!=null&&registerProvider({'token':_0x40ef24['id'],'useClass':_0x332db4,'scope':_0x2cf6cb});};}function Inject(_0x2996e0){return(_0x39db77,_0x4dbbb6)=>{const _0x446523=_0x46b5,_0x28353b=Reflect['getMetadata']('design:type',_0x39db77,_0x4dbbb6),_0x3befe7=_0x2996e0??_0x28353b;if(_0x3befe7==null)throw new Error(_0x446523(0x298)+String(_0x4dbbb6)+_0x446523(0x1d7));appendInjectMeta(_0x39db77[_0x446523(0x300)],{'propertyKey':_0x4dbbb6,'token':_0x3befe7});};}import{and,arrayContains,arrayOverlaps,asc,desc,eq,gte,inArray,like,lte,or,sql}from'drizzle-orm';function colName(_0x185ae8){const _0x2ebb9a=_0x4caa47;if(typeof _0x185ae8===_0x2ebb9a(0x2ed)){const _0xdb8336=_0x185ae8[_0x2ebb9a(0x30e)]('.')?_0x185ae8[_0x2ebb9a(0x330)]('.')[_0x2ebb9a(0x2e1)]():_0x185ae8;return{'column':_0xdb8336,'param':_0xdb8336,'none':![]};}const _0x1edf5b=_0x185ae8[_0x2ebb9a(0x2ad)][_0x2ebb9a(0x30e)]('.')?_0x185ae8[_0x2ebb9a(0x2ad)][_0x2ebb9a(0x330)]('.')[_0x2ebb9a(0x2e1)]():_0x185ae8[_0x2ebb9a(0x2ad)];return{'column':_0x1edf5b,'param':_0x185ae8[_0x2ebb9a(0x2a0)]??_0x1edf5b,'none':Boolean(_0x185ae8[_0x2ebb9a(0x304)])};}function rangeColumn(_0x517826){const _0xab237a=_0x4caa47;return _0x517826[_0xab237a(0x2ad)][_0xab237a(0x30e)]('.')?_0x517826[_0xab237a(0x2ad)]['split']('.')[_0xab237a(0x2e1)]():_0x517826['column'];}function tableCol(_0x109370,_0x27f411){const _0x1fa45d=_0x109370[_0x27f411];if(_0x1fa45d==null)throw new Error('[QueryOp]\x20表无字段:\x20'+_0x27f411);return _0x1fa45d;}function isBlank(_0x3d3ce8){return _0x3d3ce8===undefined||_0x3d3ce8===null||_0x3d3ce8==='';}function compactWhere(_0x1366ee){const _0x139038=_0x4caa47;if(_0x1366ee==null||_0x1366ee===![])return[];const _0x447d60=Array[_0x139038(0x322)](_0x1366ee)?_0x1366ee:[_0x1366ee];return _0x447d60['filter'](_0x59012b=>_0x59012b!=null&&_0x59012b!==![]);}var q={'between'(_0x5255c8,_0x511d9b,_0x49515a){if(isBlank(_0x511d9b)||isBlank(_0x49515a))return;return sql`${_0x5255c8} between ${_0x511d9b} and ${_0x49515a}`;},'range'(_0x462991,_0x357684,_0x3cd3f3){const _0x1f8459=_0x4caa47,_0x35fe82=[];if(!isBlank(_0x357684))_0x35fe82[_0x1f8459(0x1f1)](gte(_0x462991,_0x357684));if(!isBlank(_0x3cd3f3))_0x35fe82[_0x1f8459(0x1f1)](lte(_0x462991,_0x3cd3f3));if(!_0x35fe82[_0x1f8459(0x1ee)])return;return _0x35fe82[_0x1f8459(0x1ee)]===0x1?_0x35fe82[0x0]:and(..._0x35fe82);},'eqRest'(_0x2f689f,_0x5b01e9,_0x13c9cd){const _0x12b711=_0x4caa47,_0x1e2437=[];for(const [_0x161c5d,_0x2059ef]of Object[_0x12b711(0x216)](_0x2f689f)){if(isBlank(_0x2059ef))continue;const _0x26ea5e=_0x13c9cd?.[_0x161c5d]??_0x5b01e9[_0x161c5d];if(_0x26ea5e==null)continue;_0x1e2437['push'](eq(_0x26ea5e,_0x2059ef));}return _0x1e2437;},'contains'(_0x102e5a,_0xc59734){const _0x3b83f0=_0x4caa47;if(isBlank(_0xc59734))return;const _0x13cf9e=Array['isArray'](_0xc59734)?_0xc59734:[_0xc59734];if(!_0x13cf9e[_0x3b83f0(0x1ee)])return;return _0x13cf9e[_0x3b83f0(0x1ee)]===0x1?arrayContains(_0x102e5a,_0x13cf9e):arrayOverlaps(_0x102e5a,_0x13cf9e);}};function buildFieldClauses(_0x2bc0b1,_0x28866e,_0x45a6d4){const _0x23d659=_0x4caa47,_0x3d31da=[];if(_0x45a6d4[_0x23d659(0x329)]?.['length']&&!isBlank(_0x28866e[_0x23d659(0x270)])){const _0x19893c='%'+String(_0x28866e['keyWord'])+'%',_0x4a5856=_0x45a6d4['keyWordLikeFields'][_0x23d659(0x274)](_0x418446=>{const _0x696836=_0x23d659,_0x3a95b7=_0x418446[_0x696836(0x30e)]('.')?_0x418446[_0x696836(0x330)]('.')[_0x696836(0x2e1)]():_0x418446;return like(tableCol(_0x2bc0b1,_0x3a95b7),_0x19893c);});if(_0x4a5856[_0x23d659(0x1ee)]===0x1)_0x3d31da[_0x23d659(0x1f1)](_0x4a5856[0x0]);else{if(_0x4a5856[_0x23d659(0x1ee)]>0x1)_0x3d31da['push'](or(..._0x4a5856));}}for(const _0x566179 of _0x45a6d4[_0x23d659(0x230)]??[]){const {column:_0x572d76,param:_0x3682b9}=colName(_0x566179),_0x297f88=_0x28866e[_0x3682b9];if(isBlank(_0x297f88))continue;if(Array[_0x23d659(0x322)](_0x297f88)){if(!_0x297f88[_0x23d659(0x1ee)])continue;_0x3d31da[_0x23d659(0x1f1)](inArray(tableCol(_0x2bc0b1,_0x572d76),_0x297f88));}else _0x3d31da[_0x23d659(0x1f1)](eq(tableCol(_0x2bc0b1,_0x572d76),_0x297f88));}for(const _0x503b75 of _0x45a6d4[_0x23d659(0x1de)]??[]){const {column:_0x51ce4f,param:_0x14dfde}=colName(_0x503b75),_0x386a1e=_0x28866e[_0x14dfde];if(isBlank(_0x386a1e))continue;_0x3d31da[_0x23d659(0x1f1)](like(tableCol(_0x2bc0b1,_0x51ce4f),'%'+String(_0x386a1e)+'%'));}for(const _0x20d110 of _0x45a6d4['fieldArray']??[]){const {column:_0x25ac4e,param:_0x269585}=colName(_0x20d110),_0x4af2f8=q[_0x23d659(0x28c)](tableCol(_0x2bc0b1,_0x25ac4e),_0x28866e[_0x269585]);if(_0x4af2f8)_0x3d31da[_0x23d659(0x1f1)](_0x4af2f8);}for(const _0x362a10 of _0x45a6d4['fieldRange']??[]){const _0x2c90df=tableCol(_0x2bc0b1,rangeColumn(_0x362a10)),_0x5afcf8=q[_0x23d659(0x28e)](_0x2c90df,_0x28866e[_0x362a10[_0x23d659(0x23e)]],_0x28866e[_0x362a10[_0x23d659(0x258)]]);if(_0x5afcf8)_0x3d31da[_0x23d659(0x1f1)](_0x5afcf8);}return _0x3d31da;}function buildOrderBy(_0x1dcb6c,_0x7275b1,_0x42331d){const _0x41032c=_0x4caa47,_0x3c8502=[],_0x2e9e76=_0x7275b1[_0x41032c(0x328)]!=null?String(_0x7275b1[_0x41032c(0x328)]):undefined,_0x391f22=_0x7275b1['sort']===_0x41032c(0x2f5)||_0x7275b1['sort']===_0x41032c(0x244)?_0x7275b1[_0x41032c(0x32e)]:undefined;if(_0x2e9e76){const _0x4b97a3=tableCol(_0x1dcb6c,_0x2e9e76);_0x3c8502[_0x41032c(0x1f1)](_0x391f22==='asc'?asc(_0x4b97a3):desc(_0x4b97a3));}else{if(_0x42331d[_0x41032c(0x1ba)])for(const [_0x309539,_0x4c213c]of Object[_0x41032c(0x216)](_0x42331d[_0x41032c(0x1ba)])){const _0x160fc1=_0x309539['includes']('.')?_0x309539[_0x41032c(0x330)]('.')[_0x41032c(0x2e1)]():_0x309539,_0x2d92a7=tableCol(_0x1dcb6c,_0x160fc1);_0x3c8502[_0x41032c(0x1f1)](_0x4c213c===_0x41032c(0x2f5)?asc(_0x2d92a7):desc(_0x2d92a7));}}return _0x3c8502;}function needsAdvancedQuery(_0x46d871){const _0x4f9a38=_0x4caa47;return!!(_0x46d871?.['join']?.[_0x4f9a38(0x1ee)]||_0x46d871?.['select']);}async function buildQueryOp(_0x1e6a34,_0x5bd21d,_0x2eee3d={},_0x34f2fe){const _0x515a82=_0x4caa47,_0x43b832=buildFieldClauses(_0x1e6a34,_0x5bd21d,_0x2eee3d),_0x17bf71=buildOrderBy(_0x1e6a34,_0x5bd21d,_0x2eee3d),_0x2a4d37={'body':_0x5bd21d,'request':_0x34f2fe??new Request(_0x515a82(0x16d))};_0x2eee3d['where']&&_0x43b832[_0x515a82(0x1f1)](...compactWhere(await _0x2eee3d[_0x515a82(0x2f8)](_0x2a4d37)));if(_0x2eee3d['extend']){const _0x5e2139={'andWhere'(_0x43f03a){const _0x3a486b=_0x515a82;if(_0x43f03a!=null&&_0x43f03a!==![])_0x43b832[_0x3a486b(0x1f1)](_0x43f03a);},'orderBy'(..._0x2cb7bb){const _0x4c044a=_0x515a82;for(const _0x3fd767 of _0x2cb7bb){if(_0x3fd767!=null)_0x17bf71[_0x4c044a(0x1f1)](_0x3fd767);}}};await _0x2eee3d[_0x515a82(0x290)](_0x5e2139,_0x2a4d37);}const _0x271fac=_0x43b832[_0x515a82(0x1ee)]===0x0?undefined:_0x43b832['length']===0x1?_0x43b832[0x0]:and(..._0x43b832);return{'where':_0x271fac,'orderBySql':_0x17bf71};}import{and as _0x4b4655,count,countDistinct,getTableColumns,isNotNull,isNull,sql as _0x38a578}from'drizzle-orm';function readCrudConfig(){const _0x4d4431=_0x4caa47;return VomeConfig[_0x4d4431(0x23f)]?.[_0x4d4431(0x17b)]??{};}function resolveUpsert(_0x3b01fd){const _0x39c9e9=_0x4caa47;return _0x3b01fd??readCrudConfig()[_0x39c9e9(0x1a7)]??_0x39c9e9(0x177);}function resolveSoftDelete(_0x40aafe){const _0x4a4cd5=_0x4caa47;if(_0x40aafe!=null)return _0x40aafe;return readCrudConfig()[_0x4a4cd5(0x1bc)]===!![];}class DbStore{['drizzle'];[_0x4caa47(0x310)];[_0x4caa47(0x1d9)];[_0x4caa47(0x172)];constructor(_0x547073,_0x2693b9,_0x274bf,_0x4327e3){const _0x4bdc11=_0x4caa47;this['drizzle']=_0x547073,this[_0x4bdc11(0x310)]=_0x2693b9,this['schema']=_0x274bf,this[_0x4bdc11(0x172)]=_0x4327e3;}}import{and as _0x374de0,inArray as _0x3abfa2,sql as _0x2bced8}from'drizzle-orm';import{and as _0x5d9553,eq as _0x3e1c32,sql as _0x3f6d4a}from'drizzle-orm';var SKIP_KEY=_0x4caa47(0x235);function isTenantEnabled(){const _0x21e508=_0x4caa47;return VomeConfig[_0x21e508(0x23f)]?.[_0x21e508(0x2e7)]===!![];}function tableHasTenantId(_0x212dd4){return _0x212dd4['tenantId']!=null;}function resolveTenantScope(){const _0x3323dd=_0x4caa47;if(!isTenantEnabled())return _0x3323dd(0x1d5);const _0x1cf9df=Context[_0x3323dd(0x331)]();if(_0x1cf9df?.[SKIP_KEY])return _0x3323dd(0x1d5);if(_0x1cf9df?.[_0x3323dd(0x2cf)])return _0x3323dd(0x212);const _0x3b4bc8=_0x1cf9df?.[_0x3323dd(0x2c0)],_0x456920=typeof _0x3b4bc8===_0x3323dd(0x224)?_0x3b4bc8:Number(_0x3b4bc8);if(!Number[_0x3323dd(0x1b5)](_0x456920)||_0x456920<=0x0)return _0x3323dd(0x304);return _0x456920;}function applyTenantWhere(_0x17c0b6,_0x281008){const _0x7b0495=_0x4caa47;if(!tableHasTenantId(_0x17c0b6))return _0x281008;const _0xf10c93=resolveTenantScope();if(_0xf10c93===_0x7b0495(0x1d5)||_0xf10c93===_0x7b0495(0x212))return _0x281008;const _0xd1dbd=_0x17c0b6[_0x7b0495(0x2c0)],_0x569743=_0xf10c93==='none'?_0x3f6d4a`false`:_0x3e1c32(_0xd1dbd,_0xf10c93);if(_0x281008&&_0x569743)return _0x5d9553(_0x281008,_0x569743);return _0x281008??_0x569743;}function stampTenantId(_0x20bb36,_0x2bdb26){const _0x5f3a0c=_0x4caa47;if(!tableHasTenantId(_0x20bb36))return _0x2bdb26;const _0x5485b1=resolveTenantScope();if(typeof _0x5485b1!==_0x5f3a0c(0x224))return _0x2bdb26;if(_0x2bdb26[_0x5f3a0c(0x2c0)]!=null)return _0x2bdb26;return{..._0x2bdb26,'tenantId':_0x5485b1};}async function noTenant(_0x3be107){const _0x13db2f=_0x4caa47,_0x4d2aaf=Context[_0x13db2f(0x331)]();if(!_0x4d2aaf)return _0x3be107();const _0x73af0a=_0x4d2aaf[SKIP_KEY];_0x4d2aaf[SKIP_KEY]=!![];try{return await _0x3be107();}finally{if(_0x73af0a===undefined)delete _0x4d2aaf[SKIP_KEY];else _0x4d2aaf[SKIP_KEY]=_0x73af0a;}}function normalizeHost(_0x400407){const _0x5e9232=_0x4caa47;if(!_0x400407)return'';return _0x400407[_0x5e9232(0x32d)]()[_0x5e9232(0x19c)]()[_0x5e9232(0x313)](/:\d+$/,'');}var SKIP_KEY2=_0x4caa47(0x311);function tableHasDepartmentId(_0x5d1944){const _0x5f3aba=_0x4caa47;return _0x5d1944[_0x5f3aba(0x197)]!=null;}function resolveDataScope(){const _0x225bc0=_0x4caa47,_0xec0320=Context['get']();if(!_0xec0320)return _0x225bc0(0x1d5);if(_0xec0320[SKIP_KEY2])return _0x225bc0(0x1d5);if(_0xec0320[_0x225bc0(0x2cf)])return _0x225bc0(0x212);const _0x26efc6=_0xec0320[_0x225bc0(0x28f)];if(_0x26efc6==null||_0x26efc6==='')return'off';if(_0x26efc6===_0x225bc0(0x212))return'all';if(_0x26efc6===_0x225bc0(0x304))return _0x225bc0(0x304);const _0x4f904d=_0xec0320['dataScopeDeptIds'],_0x410335=Array[_0x225bc0(0x322)](_0x4f904d)?_0x4f904d['map'](_0x1cebb5=>Number(_0x1cebb5))[_0x225bc0(0x29b)](_0x287097=>Number[_0x225bc0(0x1b5)](_0x287097)&&_0x287097>0x0):[];if(!_0x410335[_0x225bc0(0x1ee)])return _0x225bc0(0x304);return[...new Set(_0x410335)];}function applyDataScopeWhere(_0x2c0cb5,_0x5c96b6){const _0x2db0ea=_0x4caa47;if(!tableHasDepartmentId(_0x2c0cb5))return _0x5c96b6;const _0x1a5b45=resolveDataScope();if(_0x1a5b45===_0x2db0ea(0x1d5)||_0x1a5b45==='all')return _0x5c96b6;const _0x9adeee=_0x2c0cb5[_0x2db0ea(0x197)],_0x34abc1=_0x1a5b45==='none'?_0x2bced8`false`:_0x3abfa2(_0x9adeee,_0x1a5b45);if(_0x5c96b6)return _0x374de0(_0x5c96b6,_0x34abc1);return _0x34abc1;}function applyRowScopes(_0x5d3e6c,_0x20aeed){return applyDataScopeWhere(_0x5d3e6c,applyTenantWhere(_0x5d3e6c,_0x20aeed));}async function noDataScope(_0x2391ab){const _0x3e721e=_0x4caa47,_0x102525=Context[_0x3e721e(0x331)]();if(!_0x102525)return _0x2391ab();const _0x2c6e7e=_0x102525[SKIP_KEY2];_0x102525[SKIP_KEY2]=!![];try{return await _0x2391ab();}finally{if(_0x2c6e7e===undefined)delete _0x102525[SKIP_KEY2];else _0x102525[SKIP_KEY2]=_0x2c6e7e;}}function deletedAtColumn(_0x563691){const _0x2c4b23=_0x4caa47;return _0x563691[_0x2c4b23(0x222)];}function trashClause(_0x49b186,_0x36172e){const _0x42934e=_0x4caa47;if(!resolveSoftDelete(_0x36172e?.[_0x42934e(0x1bc)]))return;const _0x5a2f00=deletedAtColumn(_0x49b186);if(_0x5a2f00==null)return;if(_0x36172e?.['onlyTrashed'])return isNotNull(_0x5a2f00);if(_0x36172e?.[_0x42934e(0x23d)])return;return isNull(_0x5a2f00);}function mergeWhere(_0x5dd22b,_0x52b9f8){if(_0x5dd22b&&_0x52b9f8)return _0x4b4655(_0x52b9f8,_0x5dd22b);return _0x5dd22b??_0x52b9f8;}function applyJoins(_0x1b3ce2,_0x14e3f5,_0x1f6d9f){const _0x41489f=_0x4caa47;let _0x24a960=_0x1b3ce2;for(const _0x4456cf of _0x1f6d9f[_0x41489f(0x24c)]??[]){const _0x487000=_0x4456cf[_0x41489f(0x2a6)],_0x3f3c5f=_0x4456cf['on'](_0x14e3f5),_0x3654a3=_0x4456cf[_0x41489f(0x261)]??'leftJoin';_0x3654a3===_0x41489f(0x16f)||_0x3654a3==='join'?_0x24a960=_0x24a960[_0x41489f(0x16f)](_0x487000,_0x3f3c5f):_0x24a960=_0x24a960[_0x41489f(0x1df)](_0x487000,_0x3f3c5f);}return _0x24a960;}function resolveSelect(_0x51f9b3,_0x1ddb1e){const _0x299bdb=_0x4caa47;if(_0x1ddb1e[_0x299bdb(0x2eb)])return _0x1ddb1e[_0x299bdb(0x2eb)];return getTableColumns(_0x51f9b3);}function countExpr(_0x222e7d,_0x2034b6){const _0x3b2bea=_0x222e7d['id'];if(_0x3b2bea!=null&&_0x2034b6)return countDistinct(_0x3b2bea);if(_0x3b2bea!=null)return count(_0x3b2bea);return count(_0x38a578`*`);}async function queryWithOp(_0x1b173a,_0x42aa2f,_0x3771c6,_0x1e57a7){const _0x430df3=_0x4caa47,_0x35cce3=await buildQueryOp(_0x1b173a,_0x42aa2f,_0x3771c6,_0x1e57a7[_0x430df3(0x176)]),_0x44be67=trashClause(_0x1b173a,_0x1e57a7[_0x430df3(0x247)]),_0xb796a5=applyRowScopes(_0x1b173a,mergeWhere(_0x35cce3[_0x430df3(0x2f8)],_0x44be67)),_0x3032ca=resolveSelect(_0x1b173a,_0x3771c6),_0x414339=!!_0x3771c6['join']?.[_0x430df3(0x1ee)],_0x2b1dfa=Ioc[_0x430df3(0x331)](DbStore)[_0x430df3(0x1f5)];let _0x4d7a91=applyJoins(_0x2b1dfa['select'](_0x3032ca)['from'](_0x1b173a),_0x1b173a,_0x3771c6);if(_0xb796a5)_0x4d7a91=_0x4d7a91[_0x430df3(0x2f8)](_0xb796a5);if(_0x35cce3[_0x430df3(0x2d3)][_0x430df3(0x1ee)])_0x4d7a91=_0x4d7a91[_0x430df3(0x333)](..._0x35cce3[_0x430df3(0x2d3)]);if(_0x1e57a7[_0x430df3(0x20a)]==='list')return await _0x4d7a91;const _0x24d514=Math[_0x430df3(0x258)](0x1,Number(_0x42aa2f[_0x430df3(0x26c)]??0x1)),_0x5b1572=Math['min'](0x64,Math[_0x430df3(0x258)](0x1,Number(_0x42aa2f[_0x430df3(0x251)]??0x14))),_0x254a61=(_0x24d514-0x1)*_0x5b1572,_0x42a88a=await _0x4d7a91[_0x430df3(0x2e4)](_0x5b1572)[_0x430df3(0x2c8)](_0x254a61);let _0x2ba968=applyJoins(_0x2b1dfa[_0x430df3(0x2eb)]({'value':countExpr(_0x1b173a,_0x414339)})['from'](_0x1b173a),_0x1b173a,_0x3771c6);if(_0xb796a5)_0x2ba968=_0x2ba968['where'](_0xb796a5);const _0xa76464=await _0x2ba968,_0x3ebb73=Number(_0xa76464[0x0]?.[_0x430df3(0x1c9)]??0x0);return{'list':_0x42a88a,'pagination':{'page':_0x24d514,'size':_0x5b1572,'total':_0x3ebb73}};}import{and as _0x2f78fb,count as _0x573995,eq as _0x39328e,inArray as _0x20b21f,isNotNull as _0x3af972,isNull as _0x4e35c0}from'drizzle-orm';import{createInsertSchema,createSelectSchema,createUpdateSchema}from'drizzle-zod';function entitySchemas(_0x8a8cea){return{'select':createSelectSchema(_0x8a8cea),'insert':createInsertSchema(_0x8a8cea),'update':createUpdateSchema(_0x8a8cea)};}var WRITE_META_KEYS=['createTime',_0x4caa47(0x2c6),'deletedAt'];function sanitizeWritePayload(_0x1b6b7f){const _0x3bef7c=_0x4caa47,_0x5d5fc0=_0x1b6b7f&&typeof _0x1b6b7f===_0x3bef7c(0x2df)&&!Array[_0x3bef7c(0x322)](_0x1b6b7f)?{..._0x1b6b7f}:{};for(const _0x19efcf of WRITE_META_KEYS)delete _0x5d5fc0[_0x19efcf];for(const [_0x48e9f0,_0x298dbb]of Object[_0x3bef7c(0x216)](_0x5d5fc0)){if(typeof _0x298dbb!==_0x3bef7c(0x2ed))continue;if(!/^\d{4}-\d{2}-\d{2}/[_0x3bef7c(0x1e9)](_0x298dbb))continue;const _0x1c5d0e=new Date(_0x298dbb);if(!Number[_0x3bef7c(0x291)](_0x1c5d0e['getTime']()))_0x5d5fc0[_0x48e9f0]=_0x1c5d0e;}return _0x5d5fc0;}function isSqlLike(_0x1699f4){const _0x2d2df4=_0x4caa47;return!!_0x1699f4&&typeof _0x1699f4==='object'&&_0x1699f4[_0x2d2df4(0x252)]!=null;}function db(){const _0x8b5101=_0x4caa47;return Ioc[_0x8b5101(0x331)](DbStore)[_0x8b5101(0x1f5)];}function tableId(_0x34e326){const _0x420ddb=_0x4caa47,_0x56fd3f=_0x34e326['id'];if(!_0x56fd3f)throw new Error(_0x420ddb(0x308));return _0x56fd3f;}function deletedAtColumn2(_0x55bedf){const _0x3f6c7d=_0x4caa47;return _0x55bedf[_0x3f6c7d(0x222)];}function mergeWhere2(_0x4d95d5,_0x507178){if(_0x4d95d5&&_0x507178)return _0x2f78fb(_0x507178,_0x4d95d5);return _0x4d95d5??_0x507178;}function trashClause2(_0x491625,_0x438945){const _0x11c26b=_0x4caa47;if(!resolveSoftDelete(_0x438945?.[_0x11c26b(0x1bc)]))return;const _0x53b4f3=deletedAtColumn2(_0x491625);if(_0x53b4f3==null)return;if(_0x438945?.[_0x11c26b(0x334)])return _0x3af972(_0x53b4f3);if(_0x438945?.[_0x11c26b(0x23d)])return;return _0x4e35c0(_0x53b4f3);}class Repository{[_0x4caa47(0x2a6)];[_0x4caa47(0x1d9)];constructor(_0x97897,_0x349175){const _0x57cee5=_0x4caa47;this[_0x57cee5(0x2a6)]=_0x97897,this['schema']=_0x349175??entitySchemas(_0x97897);}[_0x4caa47(0x170)](){const _0x2b06e4=_0x4caa47;return deletedAtColumn2(this[_0x2b06e4(0x2a6)])!=null;}[_0x4caa47(0x259)](_0x1972bf,_0x57b1bd){const _0x254acb=_0x4caa47;return applyRowScopes(this[_0x254acb(0x2a6)],mergeWhere2(_0x1972bf,trashClause2(this[_0x254acb(0x2a6)],_0x57b1bd)));}async[_0x4caa47(0x292)](_0x338b1f,_0xe10326){const _0x2853aa=_0x4caa47,_0x3a9e9a=this[_0x2853aa(0x259)](_0x338b1f,_0xe10326);let _0x2a428d=db()[_0x2853aa(0x2eb)]()[_0x2853aa(0x199)](this[_0x2853aa(0x2a6)]);if(_0x3a9e9a)_0x2a428d=_0x2a428d['where'](_0x3a9e9a);if(_0xe10326?.[_0x2853aa(0x333)]?.[_0x2853aa(0x1ee)])_0x2a428d=_0x2a428d[_0x2853aa(0x333)](..._0xe10326['orderBy']);return await _0x2a428d;}async['findOne'](_0x57e6e6,_0x30068c){const _0x43e190=_0x4caa47,[_0x243e43]=await this[_0x43e190(0x292)](_0x57e6e6,_0x30068c);return _0x243e43;}async[_0x4caa47(0x2ca)](_0x103598,_0x290818){const _0x2c510c=_0x4caa47;return this[_0x2c510c(0x1aa)](_0x39328e(tableId(this[_0x2c510c(0x2a6)]),_0x103598),_0x290818);}async['count'](_0x191609,_0x14cfe6){const _0x321d2e=_0x4caa47,_0xf38be2=this['scopedWhere'](_0x191609,_0x14cfe6),_0x3de8d2=db()['select']({'value':_0x573995()})[_0x321d2e(0x199)](this['table']),_0xc67d3a=_0xf38be2?await _0x3de8d2[_0x321d2e(0x2f8)](_0xf38be2):await _0x3de8d2;return Number(_0xc67d3a[0x0]?.[_0x321d2e(0x1c9)]??0x0);}async[_0x4caa47(0x324)](_0x11ae15){const _0x2e5a62=_0x4caa47,{page:_0x42609,size:_0x441ad0,where:_0x4257ca,orderBy:_0x1fdde1,withTrashed:_0x4ac8e9,onlyTrashed:_0x49053d,softDelete:_0x929b2f}=_0x11ae15,_0x3b144e={'withTrashed':_0x4ac8e9,'onlyTrashed':_0x49053d,'softDelete':_0x929b2f},_0x926b21=this['scopedWhere'](_0x4257ca,_0x3b144e),_0x331619=(_0x42609-0x1)*_0x441ad0;let _0x9ab8f1=db()[_0x2e5a62(0x2eb)]()[_0x2e5a62(0x199)](this[_0x2e5a62(0x2a6)]);if(_0x926b21)_0x9ab8f1=_0x9ab8f1['where'](_0x926b21);if(_0x1fdde1?.[_0x2e5a62(0x1ee)])_0x9ab8f1=_0x9ab8f1[_0x2e5a62(0x333)](..._0x1fdde1);const _0x145864=await _0x9ab8f1['limit'](_0x441ad0)['offset'](_0x331619),_0x5f2eae=await this[_0x2e5a62(0x266)](_0x4257ca,_0x3b144e);return{'list':_0x145864,'pagination':{'page':_0x42609,'size':_0x441ad0,'total':_0x5f2eae}};}[_0x4caa47(0x2cb)](_0x5326bf){const _0x145f45=_0x4caa47,_0x3d6766=stampTenantId(this[_0x145f45(0x2a6)],sanitizeWritePayload(_0x5326bf));return this[_0x145f45(0x1d9)][_0x145f45(0x177)][_0x145f45(0x1cf)](_0x3d6766);}async[_0x4caa47(0x1a3)](_0x251433){const _0x3b2538=_0x4caa47;if(Array[_0x3b2538(0x322)](_0x251433)){if(!_0x251433[_0x3b2538(0x1ee)])return[];const _0x5e4960=_0x251433[_0x3b2538(0x274)](_0xaf5b63=>this['parseInsert'](_0xaf5b63));return await db()[_0x3b2538(0x177)](this[_0x3b2538(0x2a6)])[_0x3b2538(0x180)](_0x5e4960)['returning']();}const [_0x4f9cf5]=await db()['insert'](this[_0x3b2538(0x2a6)])[_0x3b2538(0x180)](this['parseInsert'](_0x251433))[_0x3b2538(0x275)]();return _0x4f9cf5;}async['save'](_0x7975b){const _0x26abec=_0x4caa47;if(Array[_0x26abec(0x322)](_0x7975b)){if(!_0x7975b[_0x26abec(0x1ee)])return[];const _0x3939d9=_0x7975b,_0xbee2e3=tableId(this[_0x26abec(0x2a6)]),_0x2a9d48=_0x3939d9[_0x26abec(0x29b)](_0x5d9f9c=>_0x5d9f9c?.['id']!=null&&_0x5d9f9c['id']!==''),_0x2eb3ec=_0x3939d9[_0x26abec(0x29b)](_0x2eb604=>_0x2eb604?.['id']==null||_0x2eb604['id']==='');let _0x5cc5d8=new Set();if(_0x2a9d48['length']){const _0x30b456=await this[_0x26abec(0x292)](_0x20b21f(_0xbee2e3,_0x2a9d48[_0x26abec(0x274)](_0x48e656=>_0x48e656['id'])));_0x5cc5d8=new Set(_0x30b456['map'](_0xd4c9ac=>_0xd4c9ac['id']));}const _0x5606c7=[],_0x45470d=[..._0x2eb3ec];for(const _0x4de41b of _0x2a9d48){if(_0x5cc5d8[_0x26abec(0x30c)](_0x4de41b['id']))_0x5606c7[_0x26abec(0x1f1)](_0x4de41b);else _0x45470d['push'](_0x4de41b);}const _0x52ebfd=_0x5606c7[_0x26abec(0x1ee)]?await this['update'](_0x5606c7):[],_0x51b090=_0x45470d[_0x26abec(0x1ee)]?await this[_0x26abec(0x1a3)](_0x45470d):[];return[...Array[_0x26abec(0x322)](_0x52ebfd)?_0x52ebfd:_0x52ebfd?[_0x52ebfd]:[],...Array[_0x26abec(0x322)](_0x51b090)?_0x51b090:_0x51b090?[_0x51b090]:[]];}const _0x432fc9=_0x7975b,_0x311fc6=_0x432fc9?.['id'];if(_0x311fc6!=null&&_0x311fc6!==''){const _0x361a3f=await this[_0x26abec(0x2ca)](_0x311fc6);if(_0x361a3f){const {id:_0x188550,..._0x5b6ab0}=_0x432fc9,_0x49d5b5=await this[_0x26abec(0x234)](_0x39328e(tableId(this[_0x26abec(0x2a6)]),_0x311fc6),_0x5b6ab0);return _0x49d5b5??_0x361a3f;}}return await this['create'](_0x7975b);}async['update'](_0xa16e73,_0x85db87){const _0x1f6449=_0x4caa47;if(Array[_0x1f6449(0x322)](_0xa16e73))return this['updateByRows'](_0xa16e73);const _0x680d40=this['schema'][_0x1f6449(0x234)][_0x1f6449(0x1cf)](sanitizeWritePayload(_0x85db87)),_0x20a0ad=applyRowScopes(this[_0x1f6449(0x2a6)],_0xa16e73);if(!_0x20a0ad)return;const [_0x68731c]=await db()[_0x1f6449(0x234)](this[_0x1f6449(0x2a6)])[_0x1f6449(0x302)](_0x680d40)['where'](_0x20a0ad)['returning']();return _0x68731c;}async[_0x4caa47(0x2fd)](_0x5a2bb6){const _0x229ff6=_0x4caa47;if(!_0x5a2bb6['length'])return[];const _0x40fe31=tableId(this[_0x229ff6(0x2a6)]),_0x59c5a8=new Map();for(const _0xaa0691 of _0x5a2bb6){const _0x7fd40c=_0xaa0691['id'];if(_0x7fd40c==null||_0x7fd40c==='')throw new Error('[Repository]\x20\u6279\u91CF\u66F4\u65B0\u6BCF\u6761\u9700\u5E26\x20id');const {id:_0x28a318,..._0x16201f}=_0xaa0691,_0x2134be=this[_0x229ff6(0x1d9)]['update']['parse'](sanitizeWritePayload(_0x16201f)),_0x55c2ab=JSON[_0x229ff6(0x22e)](_0x2134be),_0x8bea7c=_0x59c5a8[_0x229ff6(0x331)](_0x55c2ab);if(_0x8bea7c)_0x8bea7c[_0x229ff6(0x2b7)][_0x229ff6(0x1f1)](_0x7fd40c);else _0x59c5a8[_0x229ff6(0x302)](_0x55c2ab,{'ids':[_0x7fd40c],'patch':_0x2134be});}const _0x414015=[];for(const {ids:_0x1feac4,patch:_0x54fff7}of _0x59c5a8[_0x229ff6(0x180)]()){const _0x55502d=applyRowScopes(this[_0x229ff6(0x2a6)],_0x20b21f(_0x40fe31,_0x1feac4));if(!_0x55502d)continue;const _0x264dd7=await db()[_0x229ff6(0x234)](this[_0x229ff6(0x2a6)])[_0x229ff6(0x302)](_0x54fff7)[_0x229ff6(0x2f8)](_0x55502d)[_0x229ff6(0x275)]();_0x414015['push'](..._0x264dd7);}return _0x414015;}['resolveIdWhere'](_0xba83ac){const _0x25c0c6=_0x4caa47;if(isSqlLike(_0xba83ac))return applyRowScopes(this[_0x25c0c6(0x2a6)],_0xba83ac);const _0x4e4b00=Array[_0x25c0c6(0x322)](_0xba83ac)?_0xba83ac:[_0xba83ac];if(!_0x4e4b00['length'])return;return applyRowScopes(this['table'],_0x20b21f(tableId(this[_0x25c0c6(0x2a6)]),_0x4e4b00));}async[_0x4caa47(0x1bc)](_0x23bd32){const _0x3d8299=_0x4caa47;if(!this[_0x3d8299(0x170)]())throw new Error(_0x3d8299(0x272));const _0x1472e0=this['resolveIdWhere'](_0x23bd32);if(!_0x1472e0)return;await db()[_0x3d8299(0x234)](this[_0x3d8299(0x2a6)])[_0x3d8299(0x302)]({'deletedAt':new Date()})[_0x3d8299(0x2f8)](_0x1472e0);}async[_0x4caa47(0x31b)](_0x4b7898){const _0x45e571=_0x4caa47;if(!this[_0x45e571(0x170)]())throw new Error(_0x45e571(0x32b));const _0x3d8408=this[_0x45e571(0x2e8)](_0x4b7898);if(!_0x3d8408)return;await db()[_0x45e571(0x234)](this[_0x45e571(0x2a6)])[_0x45e571(0x302)]({'deletedAt':null})['where'](_0x3d8408);}async[_0x4caa47(0x18a)](_0x36b42f){const _0x5c74f8=_0x4caa47,_0x1cc7e8=this['resolveIdWhere'](_0x36b42f);if(!_0x1cc7e8)return;await db()[_0x5c74f8(0x1d0)](this['table'])[_0x5c74f8(0x2f8)](_0x1cc7e8);}}var repoCache=new WeakMap();function getRepository(_0x1b8f32){const _0x22a474=_0x4caa47,_0x563672=repoCache['get'](_0x1b8f32);if(_0x563672)return _0x563672;const _0x39e9b6=new Repository(_0x1b8f32);return repoCache[_0x22a474(0x302)](_0x1b8f32,_0x39e9b6),_0x39e9b6;}function InjectRepository(_0xca643){return(_0x36be22,_0x57c4b0)=>{appendInjectMeta(_0x36be22['constructor'],{'propertyKey':_0x57c4b0,'resolve':()=>getRepository(_0xca643)});};}function isSql(_0x2cac51){const _0xbcdd02=_0x4caa47;return!!_0x2cac51&&typeof _0x2cac51===_0xbcdd02(0x2df)&&_0x2cac51[_0xbcdd02(0x252)]!=null;}class BaseService{['entity'];['bindEntity'](_0x3c96fb){if(!this['entity'])this['entity']=_0x3c96fb;}[_0x4caa47(0x1e2)](_0x339635){const _0x194deb=_0x4caa47;this[_0x194deb(0x1a2)]=_0x339635;}[_0x4caa47(0x31e)](){const _0x3243f4=_0x4caa47;return!!this[_0x3243f4(0x1a2)];}[_0x4caa47(0x1ff)](){return this['requireEntity']();}[_0x4caa47(0x217)](){const _0x27b6b7=_0x4caa47;if(!this[_0x27b6b7(0x1a2)])throw new Error(_0x27b6b7(0x193));return this[_0x27b6b7(0x1a2)];}async[_0x4caa47(0x21f)](_0x368b12,_0xfb23f){}async[_0x4caa47(0x30d)](_0x580163,_0x10f069){}async['add'](_0x2c3f5a,_0x37b037){const _0x559661=_0x4caa47,_0x310041=resolveUpsert(_0x37b037?.['upsert']),_0x5cba6f=Array['isArray'](_0x2c3f5a)?_0x2c3f5a[_0x559661(0x274)](_0x39fc91=>_0x39fc91!=null&&typeof _0x39fc91===_0x559661(0x2df)?{..._0x39fc91}:_0x39fc91):_0x2c3f5a!=null&&typeof _0x2c3f5a===_0x559661(0x2df)?{..._0x2c3f5a}:_0x2c3f5a;await this['modifyBefore'](_0x5cba6f,_0x559661(0x301));const _0x1ea912=_0x310041===_0x559661(0x33c)?await this['requireEntity']()[_0x559661(0x33c)](_0x5cba6f):await this['requireEntity']()[_0x559661(0x1a3)](_0x5cba6f);return await this[_0x559661(0x30d)](_0x1ea912??_0x5cba6f,_0x559661(0x301)),_0x1ea912;}async[_0x4caa47(0x234)](_0x5c85fd,_0xfac8c7){const _0xe42aff=_0x4caa47;if(Array[_0xe42aff(0x322)](_0x5c85fd)){const _0x4fe3df=_0x5c85fd[_0xe42aff(0x274)](_0x5007b8=>({..._0x5007b8}));await this[_0xe42aff(0x21f)](_0x4fe3df,_0xe42aff(0x234));const _0x5c8382=await this['requireEntity']()[_0xe42aff(0x234)](_0x4fe3df);return await this[_0xe42aff(0x30d)](_0x5c8382??_0x4fe3df,_0xe42aff(0x234)),_0x5c8382;}if(isSql(_0x5c85fd)){const _0x359c8b=_0xfac8c7!=null&&typeof _0xfac8c7==='object'?{..._0xfac8c7}:_0xfac8c7;await this['modifyBefore'](_0x359c8b,_0xe42aff(0x234));const _0x5a2e3f=await this[_0xe42aff(0x217)]()[_0xe42aff(0x234)](_0x5c85fd,_0x359c8b);return await this[_0xe42aff(0x30d)](_0x5a2e3f??_0x359c8b,_0xe42aff(0x234)),_0x5a2e3f;}const _0x2ecef4={..._0x5c85fd};await this[_0xe42aff(0x21f)](_0x2ecef4,'update');const _0x34dd5e=await this['requireEntity']()[_0xe42aff(0x234)]([_0x2ecef4]);return await this[_0xe42aff(0x30d)](_0x34dd5e??_0x2ecef4,_0xe42aff(0x234)),Array[_0xe42aff(0x322)](_0x34dd5e)?_0x34dd5e[0x0]:_0x34dd5e;}async[_0x4caa47(0x1d0)](_0x28c012,_0x246087){const _0x566ade=_0x4caa47,_0x72767=this['requireEntity']();await this[_0x566ade(0x21f)](_0x28c012,_0x566ade(0x1d0));const _0x39ef74=resolveSoftDelete(_0x246087?.[_0x566ade(0x1bc)]);_0x246087?.[_0x566ade(0x2ac)]||!_0x39ef74||!_0x72767['supportsSoftDelete']()?await _0x72767[_0x566ade(0x18a)](_0x28c012):await _0x72767['softDelete'](_0x28c012),await this[_0x566ade(0x30d)](_0x28c012,_0x566ade(0x1d0));}[_0x4caa47(0x31b)](_0x480830){const _0x15821a=_0x4caa47;return this['requireEntity']()[_0x15821a(0x31b)](_0x480830);}[_0x4caa47(0x289)](_0x28d366,_0x47295f){const _0x56f5d0=_0x4caa47;return this[_0x56f5d0(0x217)]()[_0x56f5d0(0x292)](_0x28d366,_0x47295f);}[_0x4caa47(0x191)](_0x41e23d,_0x527802){const _0x1dc5a5=_0x4caa47,_0x141b4a=this[_0x1dc5a5(0x217)]();if(typeof _0x41e23d===_0x1dc5a5(0x2df))return _0x141b4a['findOne'](_0x41e23d,_0x527802);return _0x141b4a['findById'](_0x41e23d,_0x527802);}[_0x4caa47(0x26c)](_0x3fd018={}){const _0x359e7f=_0x4caa47,_0x39a9a0=Math[_0x359e7f(0x258)](0x1,_0x3fd018[_0x359e7f(0x26c)]??0x1),_0x27085e=Math[_0x359e7f(0x23e)](0x64,Math[_0x359e7f(0x258)](0x1,_0x3fd018[_0x359e7f(0x251)]??0x14));return this[_0x359e7f(0x217)]()['findPage']({'page':_0x39a9a0,'size':_0x27085e,'where':_0x3fd018['where'],'orderBy':_0x3fd018[_0x359e7f(0x333)],'withTrashed':_0x3fd018[_0x359e7f(0x23d)],'onlyTrashed':_0x3fd018[_0x359e7f(0x334)],'softDelete':_0x3fd018[_0x359e7f(0x1bc)]});}}var CRUD_SUMMARY={'add':'\u65B0\u589E','delete':'\u5220\u9664','update':'\u4FEE\u6539','info':_0x4caa47(0x24a),'list':_0x4caa47(0x1b6),'page':_0x4caa47(0x2f1),'restore':'\u6062\u590D'},CRUD_APIS=[_0x4caa47(0x301),_0x4caa47(0x1d0),_0x4caa47(0x234),_0x4caa47(0x191),_0x4caa47(0x289),_0x4caa47(0x26c),_0x4caa47(0x31b)],BEFORE_APIS=new Set(['add',_0x4caa47(0x234),'delete',_0x4caa47(0x31b)]);function omitProps(_0x5b74f2,_0x377a7c){const _0x56ea88=_0x4caa47;if(!_0x5b74f2||!_0x377a7c?.[_0x56ea88(0x1ee)])return _0x5b74f2;const _0x1e63cf={..._0x5b74f2};for(const _0xc5da1a of _0x377a7c)delete _0x1e63cf[_0xc5da1a];return _0x1e63cf;}function resolveIds(_0x2e5e7a){const _0x4d4956=_0x4caa47;if(Array[_0x4d4956(0x322)](_0x2e5e7a))return _0x2e5e7a[_0x4d4956(0x274)](_0x3fbbeb=>{if(_0x3fbbeb!=null&&typeof _0x3fbbeb==='object'&&'id'in _0x3fbbeb)return _0x3fbbeb['id'];return _0x3fbbeb;});if(_0x2e5e7a&&typeof _0x2e5e7a==='object'){const _0x37623c=_0x2e5e7a;if(Array[_0x4d4956(0x322)](_0x37623c['ids']))return _0x37623c['ids'];if(_0x37623c['id']!=null)return[_0x37623c['id']];}return[];}function resolveService(_0x4c17e2){const _0x18c09e=_0x4caa47,_0x4a280b=_0x4c17e2['crud'],_0x17aee2=_0x4a280b[_0x18c09e(0x1a2)];if(_0x4a280b[_0x18c09e(0x1d4)]){const _0x55ef34=Ioc[_0x18c09e(0x331)](_0x4a280b[_0x18c09e(0x1d4)]);if(_0x17aee2&&!_0x55ef34['hasEntity']())_0x55ef34[_0x18c09e(0x1e2)](getRepository(_0x17aee2));return _0x55ef34;}if(!_0x17aee2)throw new Error('[CRUD]\x20'+_0x4c17e2[_0x18c09e(0x31f)][_0x18c09e(0x30a)]+_0x18c09e(0x337));const _0x2f550c=new class extends BaseService{}();return _0x2f550c[_0x18c09e(0x1e2)](getRepository(_0x17aee2)),_0x2f550c;}function tableOf(_0x95613a,_0x535993){const _0x31b5bb=_0x4caa47,_0x5737e7=_0x535993['crud']?.[_0x31b5bb(0x1a2)];if(_0x5737e7)return _0x5737e7;return _0x95613a['getRepo']()['table'];}var attachCrudRoutes=(_0x7f0e03,_0x332f9c,_0x7de2e2)=>{const _0x541c67=_0x4caa47,_0xe58ce6=_0x332f9c[_0x541c67(0x17b)];if(!_0xe58ce6)return _0x7f0e03;const _0x30e4bb=(_0xe58ce6[_0x541c67(0x233)]??[])[_0x541c67(0x29b)](_0x4cc64c=>CRUD_APIS[_0x541c67(0x30e)](_0x4cc64c)),_0x1e5833=_0xe58ce6[_0x541c67(0x1bb)]??[];if(!_0x30e4bb[_0x541c67(0x1ee)]&&!_0x1e5833[_0x541c67(0x1ee)])return _0x7f0e03;const _0x34df17=_0x7de2e2[_0x541c67(0x2b4)]instanceof BaseController?_0x7de2e2['controller']:new BaseController(),_0x56d2d2=_0x30e4bb[_0x541c67(0x1ee)]>0x0,_0x180bff=_0x56d2d2||_0xe58ce6[_0x541c67(0x1d4)]?resolveService(_0x332f9c):undefined,_0x12e80a=_0x56d2d2&&_0x180bff?tableOf(_0x180bff,_0x332f9c):undefined,_0xea1da2=_0x12e80a?_0x12e80a['id']:undefined;if(_0x56d2d2&&_0xea1da2==null)throw new Error('[CRUD]\x20'+_0x332f9c['token'][_0x541c67(0x30a)]+_0x541c67(0x296));let _0x1b2456=_0x7f0e03;const _0x1a4777=(_0x5bc5d8,_0x3fab14,_0x4fb6e9,_0x16dd1c)=>{const _0x4b495f=_0x541c67;_0x1b2456=_0x1b2456[_0x5bc5d8](_0x3fab14,_0x16dd1c,_0x7de2e2[_0x4b495f(0x1da)]({'action':_0x4fb6e9,'summary':CRUD_SUMMARY[_0x4fb6e9]}));},_0x374498=async(_0x4501cb,_0x5a8353,_0x611888)=>{const _0x4a965d=_0x541c67;if(!_0xe58ce6[_0x4a965d(0x173)]||!BEFORE_APIS[_0x4a965d(0x30c)](_0x4501cb))return _0x5a8353;return await _0xe58ce6[_0x4a965d(0x173)]({'body':_0x5a8353,'request':_0x611888,'api':_0x4501cb}),_0x5a8353;};_0x30e4bb[_0x541c67(0x30e)](_0x541c67(0x301))&&_0x180bff&&_0x1a4777(_0x541c67(0x2e3),'/add','add',async({body:_0x2f179e,request:_0x2ab813})=>{const _0x5b4778=_0x541c67;try{const _0x2a9b4f=_0x2f179e;if(Array[_0x5b4778(0x322)](_0x2a9b4f)){let _0xb72d6a=_0x2a9b4f;if(_0xe58ce6[_0x5b4778(0x173)]&&BEFORE_APIS[_0x5b4778(0x30c)](_0x5b4778(0x301)))for(let _0x48bee6=0x0;_0x48bee6<_0xb72d6a['length'];_0x48bee6++){_0xb72d6a[_0x48bee6]=await _0x374498(_0x5b4778(0x301),{..._0xb72d6a[_0x48bee6]??{}},_0x2ab813);}if(_0xe58ce6['insertParam']){const _0x472aa5=await _0xe58ce6[_0x5b4778(0x219)]({'body':_0xb72d6a[0x0]??{},'request':_0x2ab813});_0xb72d6a=_0xb72d6a['map'](_0x4cef52=>({..._0x4cef52,..._0x472aa5}));}const _0x1339b0=await _0x180bff[_0x5b4778(0x301)](_0xb72d6a);return _0x34df17['ok'](_0x1339b0);}let _0x2d290a={..._0x2a9b4f??{}};_0x2d290a=await _0x374498(_0x5b4778(0x301),_0x2d290a,_0x2ab813);_0xe58ce6[_0x5b4778(0x219)]&&Object[_0x5b4778(0x28b)](_0x2d290a,await _0xe58ce6[_0x5b4778(0x219)]({'body':_0x2d290a,'request':_0x2ab813}));const _0x12173d=await _0x180bff['add'](_0x2d290a);return _0x34df17['ok'](_0x12173d);}catch(_0x3d1713){return _0x34df17[_0x5b4778(0x305)](_0x3d1713 instanceof Error?_0x3d1713[_0x5b4778(0x225)]:_0x5b4778(0x2d1));}});_0x30e4bb[_0x541c67(0x30e)](_0x541c67(0x1d0))&&_0x180bff&&_0xea1da2&&_0x1a4777('post',_0x541c67(0x2b2),_0x541c67(0x1d0),async({body:_0x12110a,request:_0x847718})=>{const _0x457e96=_0x541c67;try{const _0x4f5d5c=_0x12110a,_0x278bb0=Array[_0x457e96(0x322)](_0x4f5d5c)?_0x4f5d5c:await _0x374498(_0x457e96(0x1d0),{..._0x4f5d5c??{}},_0x847718),_0x2d0777=resolveIds(_0x278bb0);if(!_0x2d0777['length'])return _0x34df17['fail'](_0x457e96(0x182));const _0x57f92e=!Array[_0x457e96(0x322)](_0x278bb0)&&!!_0x278bb0[_0x457e96(0x2ac)];return await _0x180bff[_0x457e96(0x1d0)](_0x2d0777,{'force':_0x57f92e}),_0x34df17['ok']();}catch(_0x5df59f){return _0x34df17[_0x457e96(0x305)](_0x5df59f instanceof Error?_0x5df59f[_0x457e96(0x225)]:_0x457e96(0x2a8));}});_0x30e4bb['includes'](_0x541c67(0x234))&&_0x180bff&&_0xea1da2&&_0x1a4777('post',_0x541c67(0x288),_0x541c67(0x234),async({body:_0x1bb0e7,request:_0x2b4e9a})=>{const _0x5888e0=_0x541c67;try{const _0x2938cd=_0x1bb0e7;if(Array[_0x5888e0(0x322)](_0x2938cd)){let _0x1f1cf1=_0x2938cd;if(_0xe58ce6[_0x5888e0(0x173)]&&BEFORE_APIS[_0x5888e0(0x30c)](_0x5888e0(0x234)))for(let _0x59c462=0x0;_0x59c462<_0x1f1cf1[_0x5888e0(0x1ee)];_0x59c462++){_0x1f1cf1[_0x59c462]=await _0x374498(_0x5888e0(0x234),{..._0x1f1cf1[_0x59c462]??{}},_0x2b4e9a);}const _0x230678=await _0x180bff[_0x5888e0(0x234)](_0x1f1cf1);return _0x34df17['ok'](_0x230678);}const _0x4ee1d7=await _0x374498(_0x5888e0(0x234),{..._0x2938cd??{}},_0x2b4e9a),_0x5dbbc0=_0x4ee1d7['id'];if(_0x5dbbc0==null)return _0x34df17['fail']('id\x20required');const _0x1f4b6a=await _0x180bff[_0x5888e0(0x234)](_0x4ee1d7);return _0x34df17['ok'](_0x1f4b6a);}catch(_0x4ed279){return _0x34df17['fail'](_0x4ed279 instanceof Error?_0x4ed279[_0x5888e0(0x225)]:_0x5888e0(0x20d));}});_0x30e4bb[_0x541c67(0x30e)]('info')&&_0x180bff&&_0x1a4777(_0x541c67(0x331),_0x541c67(0x277),_0x541c67(0x191),async({query:_0x41a300})=>{const _0x367494=_0x541c67;try{const _0x34c870=_0x41a300?.['id'];if(_0x34c870==null||_0x34c870==='')return _0x34df17[_0x367494(0x305)](_0x367494(0x1ed));const _0x5f5049=await _0x180bff['info'](_0x34c870);return _0x34df17['ok'](omitProps(_0x5f5049,_0xe58ce6[_0x367494(0x241)]));}catch(_0xea9c08){return _0x34df17[_0x367494(0x305)](_0xea9c08 instanceof Error?_0xea9c08[_0x367494(0x225)]:'info\x20failed');}});_0x30e4bb[_0x541c67(0x30e)](_0x541c67(0x289))&&_0x180bff&&_0x12e80a&&_0x1a4777(_0x541c67(0x2e3),_0x541c67(0x220),'list',async({body:_0xe91027,request:_0x52cdc5})=>{const _0x3477b8=_0x541c67;try{const _0x10b11f=_0xe91027??{},_0x18f1ae=_0xe58ce6['listQueryOp']??{},_0x2bffd3={'onlyTrashed':_0x10b11f['onlyTrashed']===!![],'withTrashed':_0x10b11f[_0x3477b8(0x23d)]===!![]};if(needsAdvancedQuery(_0x18f1ae)){const _0x1a737f=await queryWithOp(_0x12e80a,_0x10b11f,_0x18f1ae,{'request':_0x52cdc5,'mode':_0x3477b8(0x289),'trash':_0x2bffd3});return _0x34df17['ok'](_0x1a737f);}const {where:_0x3f77bc,orderBySql:_0x28fa41}=await buildQueryOp(_0x12e80a,_0x10b11f,_0x18f1ae,_0x52cdc5),_0x80d711=await _0x180bff[_0x3477b8(0x289)](_0x3f77bc,{'orderBy':_0x28fa41,..._0x2bffd3});return _0x34df17['ok'](_0x80d711);}catch(_0x50eead){return _0x34df17[_0x3477b8(0x305)](_0x50eead instanceof Error?_0x50eead[_0x3477b8(0x225)]:_0x3477b8(0x27e));}});_0x30e4bb[_0x541c67(0x30e)](_0x541c67(0x26c))&&_0x180bff&&_0x12e80a&&_0x1a4777(_0x541c67(0x2e3),_0x541c67(0x309),_0x541c67(0x26c),async({body:_0x3a9d92,request:_0x34173e})=>{const _0x41c54c=_0x541c67;try{const _0x2ad2d5=_0x3a9d92??{},_0x3b804c=_0xe58ce6[_0x41c54c(0x325)]??{},_0x15bece={'onlyTrashed':_0x2ad2d5[_0x41c54c(0x334)]===!![],'withTrashed':_0x2ad2d5['withTrashed']===!![]};if(needsAdvancedQuery(_0x3b804c)){const _0x3c20eb=await queryWithOp(_0x12e80a,_0x2ad2d5,_0x3b804c,{'request':_0x34173e,'mode':'page','trash':_0x15bece});return _0x34df17['ok'](_0x3c20eb);}const {where:_0x2c9856,orderBySql:_0x3981af}=await buildQueryOp(_0x12e80a,_0x2ad2d5,_0x3b804c,_0x34173e),_0x5d361c=await _0x180bff[_0x41c54c(0x26c)]({'page':Number(_0x2ad2d5[_0x41c54c(0x26c)]??0x1),'size':Number(_0x2ad2d5[_0x41c54c(0x251)]??0x14),'where':_0x2c9856,'orderBy':_0x3981af,..._0x15bece});return _0x34df17['ok'](_0x5d361c);}catch(_0x1d45ff){return _0x34df17[_0x41c54c(0x305)](_0x1d45ff instanceof Error?_0x1d45ff['message']:_0x41c54c(0x1ae));}});_0x30e4bb[_0x541c67(0x30e)](_0x541c67(0x31b))&&_0x180bff&&_0xea1da2&&_0x1a4777(_0x541c67(0x2e3),'/restore',_0x541c67(0x31b),async({body:_0x25569a,request:_0x598e43})=>{const _0x1bde4f=_0x541c67;try{const _0x3be9ff=_0x25569a,_0x1f3396=Array['isArray'](_0x3be9ff)?_0x3be9ff:await _0x374498(_0x1bde4f(0x31b),{..._0x3be9ff??{}},_0x598e43),_0x7d6b74=resolveIds(_0x1f3396);if(!_0x7d6b74[_0x1bde4f(0x1ee)])return _0x34df17[_0x1bde4f(0x305)](_0x1bde4f(0x182));return await _0x180bff[_0x1bde4f(0x31b)](_0x7d6b74),_0x34df17['ok']();}catch(_0x207742){return _0x34df17[_0x1bde4f(0x305)](_0x207742 instanceof Error?_0x207742[_0x1bde4f(0x225)]:_0x1bde4f(0x24b));}});if(_0x1e5833['length']){if(!_0xe58ce6['service'])throw new Error(_0x541c67(0x1a8)+_0x332f9c['token'][_0x541c67(0x30a)]+'\x20配置了\x20serviceApis,需同时配置\x20service');const _0x79bcbc=Ioc[_0x541c67(0x331)](_0xe58ce6[_0x541c67(0x1d4)]);for(const _0x4fdfde of _0x1e5833){const _0x3ca5e4=_0x79bcbc[_0x4fdfde];if(typeof _0x3ca5e4!==_0x541c67(0x2ea))throw new Error(_0x541c67(0x1a8)+_0xe58ce6['service'][_0x541c67(0x30a)]+'.'+_0x4fdfde+'\x20不是有效方法');const _0x55cdb0=_0x3ca5e4[_0x541c67(0x236)](_0x79bcbc);_0x1a4777(_0x541c67(0x2e3),'/'+_0x4fdfde,_0x4fdfde,async({body:_0x419798})=>{const _0x3f6709=_0x541c67;try{const _0x394c7a=await _0x55cdb0(_0x419798);return _0x34df17['ok'](_0x394c7a);}catch(_0x23e95e){return _0x34df17['fail'](_0x23e95e instanceof Error?_0x23e95e[_0x3f6709(0x225)]:_0x4fdfde+_0x3f6709(0x318));}});}}return _0x1b2456;};import{join as _0x1f97ef}from'path';import{pathToFileURL as _0xb7fa53}from'url';var SERVICE_PATTERN=_0x4caa47(0x306),CONTROLLER_SCANS=[{'pattern':'**/modules/*/controller/admin/**/*.ts','side':_0x4caa47(0x1ce)},{'pattern':_0x4caa47(0x1fb),'side':_0x4caa47(0x232)}];async function importWithContext(_0x3a9e13,_0x1d7b4c,_0x3339e0){const _0x59de9b=_0x4caa47;setControllerScanContext({'module':parseModuleFromPath(_0x1d7b4c),'side':_0x3339e0,'file':_0x1d7b4c});try{const _0x24fc8c=_0xb7fa53(_0x1f97ef(_0x3a9e13,_0x1d7b4c))[_0x59de9b(0x2d2)];await import(_0x24fc8c);}finally{setControllerScanContext(null);}}async function scanHost(){const _0x4cef6a=_0x4caa47,_0xb07c79=process[_0x4cef6a(0x1b8)](),_0xa1ee68=await scanFiles(SERVICE_PATTERN,{'cwd':_0xb07c79});for(const _0x23990d of _0xa1ee68){const _0xdc4e7e=_0xb7fa53(_0x1f97ef(_0xb07c79,_0x23990d))['href'];await import(_0xdc4e7e);}let _0x4f6f11=0x0;for(const {pattern:_0x5a817d,side:_0x241708}of CONTROLLER_SCANS){const _0x17a1d0=await scanFiles(_0x5a817d,{'cwd':_0xb07c79});_0x4f6f11+=_0x17a1d0[_0x4cef6a(0x1ee)];for(const _0x37cbb1 of _0x17a1d0){await importWithContext(_0xb07c79,_0x37cbb1,_0x241708);}}setCrudRegistrar(attachCrudRoutes),console[_0x4cef6a(0x264)](_0x4cef6a(0x1e6)),console[_0x4cef6a(0x264)]('[Host]\x20scan\x20←\x20'+_0xa1ee68[_0x4cef6a(0x1ee)]+'\x20service,\x20'+_0x4f6f11+_0x4cef6a(0x169));}import{join as _0x3de7e4}from'path';import{createPinoLogger}from'@bogeychan/elysia-logger';import _0x171d15 from'pino-pretty';import{createWriteStream,mkdirSync,readdirSync,unlinkSync}from'fs';import{join as _0x6de698}from'path';import{Writable}from'stream';var FILE_PATTERN=/^(\d{4}-\d{2}-\d{2})\.log$/;function formatLocalDate(_0x36b17e=new Date()){const _0x4ef477=_0x4caa47,_0x5dd2ad=_0x36b17e[_0x4ef477(0x21c)](),_0x556804=String(_0x36b17e['getMonth']()+0x1)[_0x4ef477(0x195)](0x2,'0'),_0x40cee7=String(_0x36b17e[_0x4ef477(0x1e8)]())[_0x4ef477(0x195)](0x2,'0');return _0x5dd2ad+'-'+_0x556804+'-'+_0x40cee7;}function purgeOldLogs(_0x35cbdc,_0x31fa29){const _0x2034fa=_0x4caa47,_0x22f43d=new Date();_0x22f43d[_0x2034fa(0x2a2)](_0x22f43d[_0x2034fa(0x1e8)]()-_0x31fa29);const _0x5bc1a4=formatLocalDate(_0x22f43d);for(const _0x289207 of readdirSync(_0x35cbdc)){const _0x152187=_0x289207[_0x2034fa(0x25d)](FILE_PATTERN);if(!_0x152187||_0x152187[0x1]>=_0x5bc1a4)continue;unlinkSync(_0x6de698(_0x35cbdc,_0x289207));}}function openDailyStream(_0x391c48,_0x435342){const _0x117b3d=_0x4caa47;return createWriteStream(_0x6de698(_0x391c48,_0x435342+_0x117b3d(0x280)),{'flags':'a'});}function createDailyLogStream(_0x476868,_0x1c2ce2=0x1e){mkdirSync(_0x476868,{'recursive':!![]}),purgeOldLogs(_0x476868,_0x1c2ce2);let _0x559ce5=formatLocalDate(),_0x51328f=openDailyStream(_0x476868,_0x559ce5);return new Writable({'write'(_0x53e62b,_0x3dfc7c,_0x4571af){const _0x8ae53f=_0x46b5,_0x2c3185=formatLocalDate();_0x2c3185!==_0x559ce5&&(_0x51328f['end'](),_0x559ce5=_0x2c3185,_0x51328f=openDailyStream(_0x476868,_0x559ce5),purgeOldLogs(_0x476868,_0x1c2ce2)),_0x51328f[_0x8ae53f(0x303)](_0x53e62b,_0x4571af);},'final'(_0x16136f){const _0x14eed4=_0x46b5;_0x51328f[_0x14eed4(0x32a)](_0x16136f);}});}var pinoInstance;function buildPino(){const _0x407984=_0x4caa47,_0x509dd0=VomeConfig['logging']??{},_0x461f50=_0x509dd0[_0x407984(0x286)]??_0x407984(0x191);if(_0x509dd0[_0x407984(0x26b)]==='file'){const _0x323700=_0x3de7e4(process['cwd'](),_0x509dd0[_0x407984(0x1c5)]??'logging'),_0x59bbd9=_0x509dd0[_0x407984(0x209)]??0x1e;return createPinoLogger({'level':_0x461f50,'stream':createDailyLogStream(_0x323700,_0x59bbd9)});}return createPinoLogger({'level':_0x461f50,'stream':_0x171d15({'colorize':!![],'translateTime':'SYS:standard','ignore':_0x407984(0x19e)})});}function getPinoLogger(){if(!pinoInstance)pinoInstance=buildPino();return pinoInstance;}function resetPinoLogger(){pinoInstance=undefined;}class Logger{[_0x4caa47(0x191)](_0x386fa2,..._0x547b23){const _0x1ddbc8=_0x4caa47,_0x524c20=getPinoLogger();if(_0x547b23['length'])_0x524c20[_0x1ddbc8(0x191)]({'args':_0x547b23},_0x386fa2);else _0x524c20[_0x1ddbc8(0x191)](_0x386fa2);}['warn'](_0x2ceabe,..._0x13b703){const _0x4433bc=_0x4caa47,_0x50e6d4=getPinoLogger();if(_0x13b703[_0x4433bc(0x1ee)])_0x50e6d4['warn']({'args':_0x13b703},_0x2ceabe);else _0x50e6d4[_0x4433bc(0x168)](_0x2ceabe);}[_0x4caa47(0x204)](_0x157330,..._0x178bdb){const _0x19fd23=_0x4caa47,_0x5e3e52=getPinoLogger();if(_0x178bdb['length'])_0x5e3e52['debug']({'args':_0x178bdb},_0x157330);else _0x5e3e52[_0x19fd23(0x204)](_0x157330);}[_0x4caa47(0x20c)](_0x3133f6,..._0x190b75){const _0x52f3b7=_0x4caa47,_0x37a60b=getPinoLogger();if(_0x3133f6 instanceof Error){_0x37a60b['error'](_0x3133f6);return;}if(_0x190b75[0x0]instanceof Error){_0x37a60b[_0x52f3b7(0x20c)](_0x190b75[0x0],_0x3133f6);return;}if(_0x190b75['length'])_0x37a60b[_0x52f3b7(0x20c)]({'args':_0x190b75},_0x3133f6);else _0x37a60b[_0x52f3b7(0x20c)](_0x3133f6);}}class CommException extends Error{['statusCode'];[_0x4caa47(0x166)];constructor(_0x1c104e,_0xebf2fc){const _0x27a638=_0x4caa47;super(_0x1c104e),this[_0x27a638(0x30a)]=_0x27a638(0x1d8),this[_0x27a638(0x2d5)]=_0xebf2fc?.[_0x27a638(0x2d5)]??0xc8,this['code']=_0xebf2fc?.[_0x27a638(0x166)]??RES_CODE[_0x27a638(0x1fd)];}}function isCommException(_0x3dcaf8){return _0x3dcaf8 instanceof CommException;}function bootstrapLogger(){const _0xa399ce=_0x4caa47;getPinoLogger(),Ioc[_0xa399ce(0x302)](Logger,new Logger());}var VOME_BANNER=_0x4caa47(0x2bd);function resetViewport(){const _0xa40a74=_0x4caa47;if(!process[_0xa40a74(0x215)][_0xa40a74(0x189)])return;process[_0xa40a74(0x215)][_0xa40a74(0x303)]('\x1B[2J\x1B[H');}function printStartupBanner(){const _0x2f330b=_0x4caa47;resetViewport();const _0x5eadb4=getEnv(),_0x335153=VomeConfig['system']?.['port']??0xbb9,_0x2c2757=VomeConfig[_0x2f330b(0x17a)]?.[_0x2f330b(0x31a)]??_0x2f330b(0x179),_0x3cfc0f='http://localhost:'+_0x335153;console['log'](VOME_BANNER),console[_0x2f330b(0x264)](_0x2f330b(0x194)+_0x5eadb4),_0x5eadb4===_0x2f330b(0x320)&&(console[_0x2f330b(0x264)](_0x2f330b(0x227)+_0x3cfc0f),console[_0x2f330b(0x264)]('📚\x20API文档:\x20'+_0x3cfc0f+(_0x2c2757[_0x2f330b(0x335)]('/')?_0x2c2757:'/'+_0x2c2757)));}import{access}from'fs/promises';import{join as _0x1d6a5d}from'path';import{pathToFileURL as _0xe37052}from'url';async function exists(_0x5c95d9){try{return await access(_0x5c95d9),!![];}catch{return![];}}async function importHostModule(_0x29382d){const _0x1e0e6e=_0x4caa47,_0x1c4e25=_0x1d6a5d(process[_0x1e0e6e(0x1b8)](),_0x29382d);if(!await exists(_0x1c4e25)){console['warn'](_0x1e0e6e(0x27c)+_0x29382d);return;}return await import(_0xe37052(_0x1c4e25)[_0x1e0e6e(0x2d2)]);}async function bootstrapHostInfra(){const _0x4ba161=_0x4caa47,_0x2f42f4=await importHostModule(_0x4ba161(0x1f4));if(_0x2f42f4?.['Db']?.[_0x4ba161(0x19b)])await _0x2f42f4['Db'][_0x4ba161(0x19b)]();const _0x5b2cb5=await importHostModule(_0x4ba161(0x221));if(_0x5b2cb5?.[_0x4ba161(0x1c8)]?.[_0x4ba161(0x19b)])await _0x5b2cb5['Cache'][_0x4ba161(0x19b)]();const _0x5e1306=await importHostModule(_0x4ba161(0x30f));if(_0x5e1306?.[_0x4ba161(0x2f0)]?.[_0x4ba161(0x19b)])await _0x5e1306['Auth'][_0x4ba161(0x19b)]();}async function bootstrapHostTasks(){const _0x2b4267=_0x4caa47,_0x51b665=await importHostModule('src/lib/task/index.ts');if(_0x51b665?.['Task']?.[_0x2b4267(0x19b)])await _0x51b665['Task'][_0x2b4267(0x19b)]();}async function bootstrapHostPlugins(){const _0x5a209d=_0x4caa47,_0x3764e1=await importHostModule(_0x5a209d(0x23c));if(_0x3764e1?.[_0x5a209d(0x1a4)]?.[_0x5a209d(0x19b)])await _0x3764e1[_0x5a209d(0x1a4)]['bootstrap']();}async function bootstrapHostModules(){const _0x5857d6=_0x4caa47,_0x3f0312=await importHostModule(_0x5857d6(0x281));if(_0x3f0312?.['Module']?.[_0x5857d6(0x19b)])await _0x3f0312['Module'][_0x5857d6(0x19b)]();}async function shutdownHostTasks(){const _0x3d1d88=_0x4caa47,_0x1510ca=await importHostModule(_0x3d1d88(0x2f4));if(_0x1510ca?.[_0x3d1d88(0x287)]?.['close'])await _0x1510ca[_0x3d1d88(0x287)][_0x3d1d88(0x2b6)]();}async function shutdownHostInfra(){const _0x507728=_0x4caa47,_0x4a507a=await importHostModule(_0x507728(0x221));if(_0x4a507a?.['Cache']?.['close'])await _0x4a507a[_0x507728(0x1c8)][_0x507728(0x2b6)]();const _0x3cb502=await importHostModule(_0x507728(0x1f4));if(_0x3cb502?.['Db']?.[_0x507728(0x2b6)])await _0x3cb502['Db'][_0x507728(0x2b6)]();}async function applyHostAuthMiddleware(_0x2cfd1a){const _0xb2a517=_0x4caa47,_0x40d06a=await importHostModule(_0xb2a517(0x25c));if(!_0x40d06a)return _0x2cfd1a;let _0x52e89c=_0x2cfd1a;if(_0x40d06a['webAuth'])_0x52e89c=_0x52e89c[_0xb2a517(0x1cb)](_0x40d06a[_0xb2a517(0x196)]);if(_0x40d06a[_0xb2a517(0x22f)])_0x52e89c=_0x52e89c[_0xb2a517(0x1cb)](_0x40d06a['adminAuth']);if(_0x40d06a['requestLog'])_0x52e89c=_0x52e89c[_0xb2a517(0x1cb)](_0x40d06a[_0xb2a517(0x257)]);if(_0x40d06a[_0xb2a517(0x2dd)])_0x52e89c=_0x52e89c['use'](_0x40d06a[_0xb2a517(0x2dd)]);if(_0x40d06a[_0xb2a517(0x188)])_0x52e89c=_0x52e89c[_0xb2a517(0x1cb)](_0x40d06a['moduleGateway']);return _0x52e89c;}function applyAsyncContext(_0x2f7def){const _0x3ca8ec=_0x4caa47,_0x5a4dd9=VomeConfig['asyncContextManager']??{};if(!_0x5a4dd9[_0x3ca8ec(0x1bf)])return _0x2f7def;return _0x2f7def['onRequest'](({request:_0x1d94c4})=>{enterContextWith(initContextFromRequest(_0x1d94c4));});}function applyErrorHandler(_0x93691a){return _0x93691a['onError'](({error:_0x54cb70,set:_0x2a7d86,code:_0x18dea1})=>{const _0x537893=_0x46b5,_0x57f3cc=getPinoLogger();if(isCommException(_0x54cb70))return _0x57f3cc['error']({'code':_0x54cb70['code']},_0x54cb70[_0x537893(0x225)]),_0x2a7d86[_0x537893(0x2c7)]=_0x54cb70[_0x537893(0x2d5)],{'code':_0x54cb70[_0x537893(0x166)],'message':_0x54cb70[_0x537893(0x225)]};if(_0x18dea1==='VALIDATION'){const _0x55856f=_0x54cb70 instanceof Error?_0x54cb70[_0x537893(0x225)]:'validation\x20failed';return _0x57f3cc[_0x537893(0x20c)]({'code':_0x18dea1},_0x55856f),_0x2a7d86[_0x537893(0x2c7)]=0x1a6,{'code':RES_CODE[_0x537893(0x1fd)],'message':_0x55856f};}if(_0x18dea1===_0x537893(0x2e6))return _0x2a7d86[_0x537893(0x2c7)]=0x194,{'code':RES_CODE['ERROR'],'message':_0x537893(0x2ff)};const _0x489ffa=_0x54cb70 instanceof Error?_0x54cb70:new Error(String(_0x54cb70));return _0x57f3cc[_0x537893(0x20c)](_0x489ffa),_0x2a7d86[_0x537893(0x2c7)]=0x1f4,{'code':RES_CODE[_0x537893(0x1fd)],'message':getEnv()===_0x537893(0x320)?_0x489ffa['message']:_0x537893(0x1e4)};});}function applyLogging(_0x93c547){const _0x4273e4=_0x4caa47,_0x59efa1=getPinoLogger();return _0x93c547[_0x4273e4(0x1cb)](_0x59efa1['into']({'autoLogging':{'ignore':_0x574bab=>Boolean(_0x574bab[_0x4273e4(0x16b)])}}));}import{openapi}from'@elysiajs/openapi';function applyOpenapi(_0x207462){const _0x147c66=_0x4caa47,_0x61cba6=VomeConfig['openapi']??{'enable':![]};if(_0x61cba6[_0x147c66(0x1bf)]===![])return _0x207462;const _0x23ee68=_0x61cba6[_0x147c66(0x31a)]??_0x147c66(0x179),{tags:_0x263deb,tagGroups:_0xc832d}=buildOpenApiTagDocs(),_0x5f338d=_0x61cba6[_0x147c66(0x332)]??{},_0x1cbcc3=_0x61cba6[_0x147c66(0x22b)]??{};return _0x207462['use'](openapi({'path':_0x23ee68,'documentation':{..._0x5f338d,'tags':[..._0x5f338d[_0x147c66(0x267)]??[],..._0x263deb],'x-tagGroups':_0xc832d},'scalar':{..._0x1cbcc3,'layout':_0x1cbcc3[_0x147c66(0x1ac)]??'classic','operationTitleSource':_0x1cbcc3['operationTitleSource']??_0x147c66(0x1a9)}}));}var app,started=![],signalsRegistered=![],hostScanned=![],bootstrapHooks=[],shutdownHooks=[],usePlugins=[];async function ensureHostScanned(){if(hostScanned)return;hostScanned=!![],await scanHost();}function createApp(){return applyAsyncContext(applyErrorHandler(applyLogging(new _0x12bc18())));}function bootstrap(_0x2bf5db){const _0x4dfdd1=_0x4caa47;bootstrapHooks[_0x4dfdd1(0x1f1)](_0x2bf5db);}function shutdown(_0x347ac8){const _0x2cebc3=_0x4caa47;shutdownHooks[_0x2cebc3(0x1f1)](_0x347ac8);}function use(_0xe96b25){usePlugins['push'](_0xe96b25);}async function start(){const _0x4ddb9f=_0x4caa47;if(started)throw new Error(_0x4ddb9f(0x2f9));let _0x4d0c84=createApp();_0x4d0c84=await applyHostAuthMiddleware(_0x4d0c84);for(const _0x337c17 of usePlugins){_0x4d0c84=_0x337c17(_0x4d0c84);}await ensureHostScanned(),_0x4d0c84=applyOpenapi(_0x4d0c84),await bootstrapHostInfra();for(const _0x12ae2e of bootstrapHooks)await _0x12ae2e();bootstrapLogger(),bootstrapIoc(),await bootstrapHostPlugins(),await bootstrapHostModules(),await bootstrapHostTasks(),_0x4d0c84=registerControllers(_0x4d0c84,VomeConfig);const _0x7ccea=VomeConfig[_0x4ddb9f(0x1be)]?.[_0x4ddb9f(0x299)]??0xbb9;return _0x4d0c84[_0x4ddb9f(0x1b2)](_0x7ccea),app=_0x4d0c84,started=!![],printStartupBanner(),registerShutdownSignals(),app;}async function stop(){if(!app)return;for(const _0xc538d1 of shutdownHooks)await _0xc538d1();await shutdownHostTasks(),await shutdownHostInfra(),await app['stop'](),app=undefined,started=![],hostScanned=![],resetIoc(),resetPinoLogger(),setCrudRegistrar(undefined),signalsRegistered=![];}function registerShutdownSignals(){const _0x39f6d1=_0x4caa47;if(signalsRegistered)return;signalsRegistered=!![];for(const _0x1f8ba5 of['SIGINT',_0x39f6d1(0x1fa)]){process['once'](_0x1f8ba5,async()=>{const _0x2966a7=_0x39f6d1;await stop(),process[_0x2966a7(0x316)](0x0);});}}var App={'bootstrap':bootstrap,'shutdown':shutdown,'use':use,'start':start,'stop':stop};async function vome(_0x29443a){const _0x4c191a=_0x4caa47;if(_0x29443a)await _0x29443a({'App':App});return App[_0x4c191a(0x27f)]();}import{getTableColumns as _0x4aaef9,getTableName as _0x5b218e}from'drizzle-orm';import{getTableColumns as _0x550182,getTableName}from'drizzle-orm';import{integer,serial,timestamp}from'drizzle-orm/pg-core';var baseColumns={'id':serial('id')['primaryKey'](),'createTime':timestamp(_0x4caa47(0x238),{'withTimezone':!![]})[_0x4caa47(0x2b9)]()[_0x4caa47(0x185)](),'updateTime':timestamp(_0x4caa47(0x2c6),{'withTimezone':!![]})[_0x4caa47(0x2b9)]()[_0x4caa47(0x185)]()[_0x4caa47(0x2be)](()=>new Date()),'deletedAt':timestamp('deletedAt',{'withTimezone':!![]}),'tenantId':integer(_0x4caa47(0x2c0))},BASE_COLUMN_COMMENTS={'id':'ID','createTime':_0x4caa47(0x17e),'updateTime':_0x4caa47(0x205),'deletedAt':_0x4caa47(0x2d4),'tenantId':'\u79DF\u6237'},registry=new WeakMap(),tables=new Set();function columnComments(_0x597507,_0x5f02f3={}){const _0x1da7d6=_0x4caa47;return tables[_0x1da7d6(0x301)](_0x597507),registry[_0x1da7d6(0x302)](_0x597507,{...BASE_COLUMN_COMMENTS,...registry[_0x1da7d6(0x331)](_0x597507)||{},..._0x5f02f3}),_0x597507;}function getColumnComments(_0x19abe9){const _0xf1d123=_0x4caa47;return registry[_0xf1d123(0x331)](_0x19abe9)||{};}function listColumnCommentTables(){return[...tables];}function quoteIdent(_0x294f5e){const _0x43a2d7=_0x4caa47;if(!/^[A-Za-z_][A-Za-z0-9_]*$/[_0x43a2d7(0x1e9)](_0x294f5e))throw new Error(_0x43a2d7(0x231)+_0x294f5e);return'\x22'+_0x294f5e+'\x22';}function escapeLiteral(_0xe8cae){const _0x4fa09d=_0x4caa47;return _0xe8cae[_0x4fa09d(0x313)](/'/g,'\x27\x27');}async function syncColumnCommentsToPg(_0x2ebc07){const _0x214d54=_0x4caa47,_0x1f2f64=listColumnCommentTables();if(!_0x1f2f64[_0x214d54(0x1ee)])return 0x0;const _0x49cef0=new Map(),_0x46c60a=[];for(const _0x373efa of _0x1f2f64){let _0x55e8ba;try{_0x55e8ba=getTableName(_0x373efa);}catch{continue;}const _0x1f6dd3=_0x550182(_0x373efa),_0x2d035c=getColumnComments(_0x373efa),_0x18e586=new Map();for(const [_0x13beec,_0x545806]of Object[_0x214d54(0x216)](_0x2d035c)){if(!_0x545806||!(_0x13beec in _0x1f6dd3))continue;_0x18e586[_0x214d54(0x302)](_0x13beec,_0x545806);}if(!_0x18e586['size'])continue;_0x49cef0['set'](_0x55e8ba,_0x18e586),_0x46c60a[_0x214d54(0x1f1)](_0x55e8ba);}if(!_0x46c60a[_0x214d54(0x1ee)])return 0x0;const _0x5aadc1=_0x46c60a['map'](_0x424407=>'\x27'+escapeLiteral(_0x424407)+'\x27')[_0x214d54(0x24c)](','),_0x573fc7=await _0x2ebc07[_0x214d54(0x268)](_0x214d54(0x2ee)+_0x5aadc1+_0x214d54(0x1b0)),_0x4ad39b=new Map();for(const _0x1e5ab6 of _0x573fc7||[]){if(!_0x1e5ab6['table_name']||!_0x1e5ab6[_0x214d54(0x25a)])continue;_0x4ad39b['set'](_0x1e5ab6['table_name']+'.'+_0x1e5ab6[_0x214d54(0x25a)],_0x1e5ab6[_0x214d54(0x1d3)]??null);}let _0x2558bd=0x0;for(const [_0x17c12f,_0xfdcf57]of _0x49cef0){for(const [_0x1de3ad,_0x41b12e]of _0xfdcf57){const _0x15eb7b=_0x17c12f+'.'+_0x1de3ad,_0x909133=_0x4ad39b[_0x214d54(0x331)](_0x15eb7b);if(_0x909133===_0x41b12e)continue;await _0x2ebc07['unsafe'](_0x214d54(0x16a)+quoteIdent(_0x17c12f)+'.'+quoteIdent(_0x1de3ad)+_0x214d54(0x2f6)+escapeLiteral(_0x41b12e)+'\x27'),_0x2558bd++;}}return _0x2558bd;}var SIDE_PREFIX2={'admin':'/admin','app':_0x4caa47(0x2c9)};function getSidePrefix2(_0x5e1b80){return normalizePrefix(SIDE_PREFIX2[_0x5e1b80]);}function lastSegment(_0x4259e3){const _0x4653c5=_0x4caa47,_0x497cc2=_0x4259e3[_0x4653c5(0x313)](/^\/+|\/+$/g,'')[_0x4653c5(0x330)]('/');return _0x497cc2[_0x497cc2[_0x4653c5(0x1ee)]-0x1]||_0x4259e3||_0x4653c5(0x2fa);}function toPascalEntityName(_0x1ea0dc){const _0x593257=_0x4caa47;return _0x1ea0dc['split']('_')[_0x593257(0x29b)](Boolean)['map'](_0x391a64=>_0x391a64['charAt'](0x0)[_0x593257(0x28d)]()+_0x391a64['slice'](0x1))[_0x593257(0x24c)]('')+_0x593257(0x2da);}function withAlias(_0x50e832){const _0x199dfa=_0x4caa47;if(!_0x50e832?.[_0x199dfa(0x1ee)])return[];return _0x50e832['map'](_0x198903=>{const _0x1f3975=_0x199dfa;if(typeof _0x198903!==_0x1f3975(0x2ed)){const _0x4b6831=_0x198903[_0x1f3975(0x2ad)];return{..._0x198903,'column':_0x4b6831[_0x1f3975(0x30e)]('.')?_0x4b6831:'a.'+_0x4b6831};}return _0x198903[_0x1f3975(0x30e)]('.')?_0x198903:'a.'+_0x198903;});}function normalizePageQueryOp(_0x46cee2){const _0x34b0a2=_0x4caa47;return{'keyWordLikeFields':withAlias(_0x46cee2?.['keyWordLikeFields']),'fieldEq':withAlias(_0x46cee2?.[_0x34b0a2(0x230)]),'fieldLike':withAlias(_0x46cee2?.['fieldLike']),'fieldArray':withAlias(_0x46cee2?.[_0x34b0a2(0x2de)]),'fieldRange':(_0x46cee2?.[_0x34b0a2(0x21e)]??[])['map'](_0x163a29=>({..._0x163a29,'column':_0x163a29[_0x34b0a2(0x2ad)][_0x34b0a2(0x30e)]('.')?_0x163a29[_0x34b0a2(0x2ad)]:'a.'+_0x163a29[_0x34b0a2(0x2ad)]}))};}function applyFieldDictToColumns(_0x15fa55,_0x2d8303){const _0x2b522e=_0x4caa47;for(const _0x2d1dbe of _0x2d8303){if(typeof _0x2d1dbe==='string'||!_0x2d1dbe[_0x2b522e(0x1f8)])continue;const _0x37fcb5=_0x2d1dbe[_0x2b522e(0x2ad)][_0x2b522e(0x30e)]('.')?_0x2d1dbe[_0x2b522e(0x2ad)][_0x2b522e(0x330)]('.')[_0x2b522e(0x2e1)]():_0x2d1dbe[_0x2b522e(0x2ad)],_0x37fa43=_0x15fa55[_0x2b522e(0x292)](_0x461bfd=>_0x461bfd[_0x2b522e(0x1ef)]===_0x37fcb5);if(_0x37fa43)_0x37fa43[_0x2b522e(0x1f8)]=_0x2d1dbe['dict'];}}function columnsFromEntity(_0x1c2300){const _0x1a0d86=_0x4caa47;if(!_0x1c2300||typeof _0x1c2300!==_0x1a0d86(0x2df))return[];try{const _0x2b8cf5=_0x4aaef9(_0x1c2300),_0x25098e=getColumnComments(_0x1c2300),_0x5aee24=[];for(const [_0xfe92b7,_0x4e1eea]of Object[_0x1a0d86(0x216)](_0x2b8cf5)){if(_0xfe92b7===_0x1a0d86(0x2c0))continue;const _0x5d3c25=_0x4e1eea;_0x5aee24[_0x1a0d86(0x1f1)]({'propertyName':_0xfe92b7,'type':String(_0x5d3c25['dataType']??_0x5d3c25['columnType']??'string'),'length':_0x5d3c25[_0x1a0d86(0x1ee)]!=null?String(_0x5d3c25['length']):undefined,'nullable':_0x5d3c25[_0x1a0d86(0x2b9)]!==!![],'source':'a.'+_0xfe92b7,'comment':_0x25098e[_0xfe92b7]});}const _0x4df316=new Set(['createTime',_0x1a0d86(0x2c6),_0x1a0d86(0x222)]),_0x4e82b9=_0x5aee24[_0x1a0d86(0x29b)](_0x47a533=>!_0x4df316[_0x1a0d86(0x30c)](_0x47a533[_0x1a0d86(0x1ef)])),_0x1f1e43=_0x5aee24[_0x1a0d86(0x29b)](_0x1037bb=>_0x4df316[_0x1a0d86(0x30c)](_0x1037bb['propertyName']));return[..._0x4e82b9,..._0x1f1e43];}catch{return[];}}function entityNameOf(_0x2f5223){if(!_0x2f5223||typeof _0x2f5223!=='object')return;try{return toPascalEntityName(_0x5b218e(_0x2f5223));}catch{return;}}function buildApis(_0x3a921f,_0x338496){const _0x3974c6=_0x4caa47,_0x54fa76=[],_0x2894b7=new Set(),_0x2ca210=_0x39b281=>{const _0x324c04=_0x46b5,_0x534701=_0x39b281['method']+':'+_0x39b281[_0x324c04(0x31a)];if(_0x2894b7[_0x324c04(0x30c)](_0x534701))return;_0x2894b7[_0x324c04(0x301)](_0x534701),_0x54fa76['push'](_0x39b281);};for(const _0x5b1702 of _0x3a921f['routes']){const _0x2d8407=getRouteSubPath(_0x5b1702[_0x3974c6(0x31a)],_0x3a921f[_0x3974c6(0x1c4)]),_0x5f16f2=_0x2d8407[_0x3974c6(0x335)]('/')?_0x2d8407:'/'+_0x2d8407,_0x5caeba=actionFromSubPath(_0x5f16f2);_0x2ca210({'method':_0x5b1702[_0x3974c6(0x315)]['toLowerCase'](),'path':_0x5f16f2,'summary':_0x5b1702[_0x3974c6(0x1a9)]??'','dts':{},'tag':'','prefix':_0x338496,'ignoreToken':Boolean(_0x5b1702[_0x3974c6(0x192)]),'ignorePerms':Boolean(_0x5b1702['ignorePerms']),'perms':effectivePerms(_0x5b1702,_0x3a921f,_0x5caeba)??[]});}for(const _0x2f8dff of _0x3a921f[_0x3974c6(0x17b)]?.[_0x3974c6(0x233)]??[]){const _0x1617f3='/'+_0x2f8dff;_0x2ca210({'method':_0x2f8dff==='info'?_0x3974c6(0x331):'post','path':_0x1617f3,'summary':CRUD_SUMMARY[_0x2f8dff]??_0x2f8dff,'dts':{},'tag':'','prefix':_0x338496,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x3a921f,_0x2f8dff)??[]});}for(const _0x2d07ca of _0x3a921f['crud']?.['serviceApis']??[]){const _0x4ae815='/'+_0x2d07ca;_0x2ca210({'method':'post','path':_0x4ae815,'summary':_0x2d07ca,'dts':{},'tag':'','prefix':_0x338496,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x3a921f,_0x2d07ca)??[]});}return _0x54fa76;}function buildEntity(_0x570d85){const _0x44ff50=_0x4caa47,_0x47d234=joinPrefix(getSidePrefix2(_0x570d85[_0x44ff50(0x1d6)]),_0x570d85[_0x44ff50(0x1c4)]),_0xd52ddb=lastSegment(_0x570d85[_0x44ff50(0x1c4)]),_0x947a5f=_0x570d85[_0x44ff50(0x17b)]?.[_0x44ff50(0x1a2)],_0x36fcae=columnsFromEntity(_0x947a5f),_0x301e96=normalizePageQueryOp(_0x570d85['crud']?.[_0x44ff50(0x325)]);return applyFieldDictToColumns(_0x36fcae,_0x301e96[_0x44ff50(0x230)]),{'module':_0x570d85[_0x44ff50(0x2ef)],'side':_0x570d85[_0x44ff50(0x1d6)],'prefix':_0x47d234,'name':entityNameOf(_0x947a5f),'info':{'type':{'name':_0xd52ddb,'description':_0x570d85['description']??_0xd52ddb}},'api':buildApis(_0x570d85,_0x47d234),'columns':_0x36fcae,'pageQueryOp':_0x301e96,'pageColumns':_0x36fcae};}function groupByModule(_0x4a122c){const _0x1c53f8=_0x4caa47,_0x5d33be={};for(const _0x55f048 of _0x4a122c){const _0x3fe416=_0x5d33be[_0x55f048[_0x1c53f8(0x2ef)]]??[];_0x3fe416['push'](_0x55f048),_0x5d33be[_0x55f048[_0x1c53f8(0x2ef)]]=_0x3fe416;}return _0x5d33be;}function isEpsEnabled(){const _0x8d594c=_0x4caa47;return Boolean(VomeConfig[_0x8d594c(0x23f)]?.['eps']);}function buildEps(_0xebb535){const _0x4925d0=_0x4caa47;if(!isEpsEnabled())return{};return groupByModule(listControllers(_0xebb535)[_0x4925d0(0x274)](buildEntity));}var Eps={'controllers':listControllers,'admin':()=>buildEps(_0x4caa47(0x1ce)),'app':()=>buildEps(_0x4caa47(0x232)),'enabled':isEpsEnabled};import'reflect-metadata';var ROUTES_PENDING_KEY=_0x4caa47(0x293);function joinRoute(_0x5da5f2,_0x48334e){return joinPrefix(_0x5da5f2,_0x48334e==='/'?'':_0x48334e);}function asMiddlewareList(_0x4a6e51){const _0x19d211=_0x4caa47;if(_0x4a6e51==null)return;return Array[_0x19d211(0x322)](_0x4a6e51)?_0x4a6e51:[_0x4a6e51];}function appendPendingRoute(_0x508728,_0x4032dd){const _0x3a0a8d=_0x4caa47,_0x4403bf=Reflect[_0x3a0a8d(0x307)](ROUTES_PENDING_KEY,_0x508728)??[];_0x4403bf[_0x3a0a8d(0x1f1)](_0x4032dd),Reflect[_0x3a0a8d(0x214)](ROUTES_PENDING_KEY,_0x4403bf,_0x508728);}function createParamDecorator(_0x592e3e){const _0x5a8f46=_0x4caa47,_0x43b318=_0x592e3e===_0x5a8f46(0x2c2)?_0x5a8f46(0x17f):_0x592e3e===_0x5a8f46(0x183)?_0x5a8f46(0x198):_0x5a8f46(0x321);return _0x47bd47=>(_0x33446d,_0x7fdadd,_0xc90840)=>{const _0x419384=_0x5a8f46;if(_0x7fdadd===undefined)throw new Error(_0x419384(0x2b1)+_0x43b318+_0x419384(0x16e));const _0x50c0e9=_0x33446d[_0x419384(0x300)];appendRouteParam(_0x50c0e9,String(_0x7fdadd),{'index':_0xc90840,'source':_0x592e3e,'schema':_0x47bd47});};}function pickCrudOptions(_0x1a0353){const {api:_0x550986,entity:_0x22ab82,service:_0x57f2b3,serviceApis:_0x201558,before:_0x3cf9f6,pageQueryOp:_0x1afd9e,listQueryOp:_0x4a0aa9,insertParam:_0x48602c,infoIgnoreProperty:_0x4a58ba}=_0x1a0353;if(_0x550986==null&&_0x22ab82==null&&_0x57f2b3==null&&_0x201558==null&&_0x3cf9f6==null&&_0x1afd9e==null&&_0x4a0aa9==null&&_0x48602c==null&&_0x4a58ba==null)return;return{'api':_0x550986,'entity':_0x22ab82,'service':_0x57f2b3,'serviceApis':_0x201558,'before':_0x3cf9f6,'pageQueryOp':_0x1afd9e,'listQueryOp':_0x4a0aa9,'insertParam':_0x48602c,'infoIgnoreProperty':_0x4a58ba};}function Controller(_0x5ac3d0=''){const _0x5baf4b=typeof _0x5ac3d0==='string',_0x21f9af=_0x5baf4b?{'prefix':_0x5ac3d0}:_0x5ac3d0;return _0x3f2686=>{const _0x3d96ec=_0x46b5;registerProvider({'token':_0x3f2686,'useClass':_0x3f2686,'scope':_0x3d96ec(0x263)});const _0x5c4299=getControllerScanContext(),_0x5a14e0=_0x5baf4b&&_0x5ac3d0===''||!_0x5baf4b&&(_0x21f9af['prefix']==null||_0x21f9af['prefix']===''),_0x4f4ce2=normalizePrefix(_0x5a14e0&&_0x5c4299?.[_0x3d96ec(0x2e9)]?parseControllerAutoPrefix(_0x5c4299[_0x3d96ec(0x2e9)]):_0x21f9af[_0x3d96ec(0x1c4)]??''),_0x57d69c=Reflect[_0x3d96ec(0x307)](ROUTES_PENDING_KEY,_0x3f2686)??[],_0x5e7f4c=pickCrudOptions(_0x21f9af);registerController({'token':_0x3f2686,'prefix':_0x4f4ce2,'module':_0x21f9af[_0x3d96ec(0x2ef)]??_0x5c4299?.['module']??_0x3d96ec(0x213),'side':_0x21f9af['side']??_0x5c4299?.[_0x3d96ec(0x1d6)]??_0x3d96ec(0x1ce),'description':_0x21f9af[_0x3d96ec(0x23a)],'file':_0x5c4299?.[_0x3d96ec(0x2e9)],'middleware':asMiddlewareList(_0x21f9af[_0x3d96ec(0x1b3)]),'crud':_0x5e7f4c,'routes':_0x57d69c[_0x3d96ec(0x274)](_0x4d5bd8=>{const _0x17e3f1=_0x3d96ec,_0x140341=getRouteParams(_0x3f2686,_0x4d5bd8[_0x17e3f1(0x2bb)]),_0x41cfed=schemaFromParams(_0x140341),_0x3e48f3=[..._0x4d5bd8[_0x17e3f1(0x1b3)]??[],...getRouteMiddleware(_0x3f2686,_0x4d5bd8[_0x17e3f1(0x2bb)])];return{..._0x4d5bd8,'path':joinRoute(_0x4f4ce2,_0x4d5bd8[_0x17e3f1(0x31a)]['startsWith']('/')?_0x4d5bd8[_0x17e3f1(0x31a)][_0x17e3f1(0x1fe)](0x1):_0x4d5bd8[_0x17e3f1(0x31a)]),'params':_0x140341,'body':_0x41cfed?.['body'],'query':_0x41cfed?.[_0x17e3f1(0x21d)],'routeParams':_0x41cfed?.['params'],'public':isRoutePublic(_0x3f2686,_0x4d5bd8[_0x17e3f1(0x2bb)]),'ignorePerms':isRouteIgnorePerms(_0x3f2686,_0x4d5bd8[_0x17e3f1(0x2bb)]),'perms':getRoutePerms(_0x3f2686,_0x4d5bd8[_0x17e3f1(0x2bb)]),'middleware':_0x3e48f3['length']?_0x3e48f3:undefined};})}),Reflect['deleteMetadata'](ROUTES_PENDING_KEY,_0x3f2686),clearRouteParams(_0x3f2686),clearRoutePublic(_0x3f2686),clearRouteMiddleware(_0x3f2686),clearRoutePerms(_0x3f2686),clearRouteIgnorePerms(_0x3f2686);};}function Use(..._0x2fd19b){return(_0x1ddc4a,_0x2cf7f4)=>{const _0x94e9c5=_0x1ddc4a['constructor'];appendRouteMiddleware(_0x94e9c5,String(_0x2cf7f4),_0x2fd19b);};}function createMethodDecorator(_0x2b46ae){return(_0x57f1d1='',_0x14a4b4)=>(_0xf91032,_0x276b0a)=>{const _0x23e5b8=_0x46b5,_0x446ed9=_0xf91032[_0x23e5b8(0x300)];appendPendingRoute(_0x446ed9,{'method':_0x2b46ae,'path':_0x57f1d1,'handler':String(_0x276b0a),'summary':_0x14a4b4?.[_0x23e5b8(0x1a9)]});};}function Public(){return(_0x35a9ed,_0x272ff4)=>{const _0x36fc61=_0x46b5,_0x5f48c2=_0x35a9ed[_0x36fc61(0x300)];markRoutePublic(_0x5f48c2,String(_0x272ff4));};}function Perms(..._0x5272b2){return(_0x5a9cfe,_0x825904)=>{const _0x5b5d71=_0x46b5,_0x9711ab=_0x5a9cfe[_0x5b5d71(0x300)];setRoutePerms(_0x9711ab,String(_0x825904),_0x5272b2);};}function IgnorePerms(){return(_0x425f1e,_0x15ee8d)=>{const _0x13ac47=_0x46b5,_0x5679d1=_0x425f1e[_0x13ac47(0x300)];markRouteIgnorePerms(_0x5679d1,String(_0x15ee8d));};}var Body=createParamDecorator(_0x4caa47(0x183)),Query=createParamDecorator(_0x4caa47(0x21d)),Param=createParamDecorator(_0x4caa47(0x2c2)),Get=createMethodDecorator('GET'),Post=createMethodDecorator(_0x4caa47(0x2cc)),Put=createMethodDecorator(_0x4caa47(0x202)),Delete=createMethodDecorator(_0x4caa47(0x1b1)),Patch=createMethodDecorator('PATCH');class BasePlugin{[_0x4caa47(0x319)];[_0x4caa47(0x265)];[_0x4caa47(0x181)];['pluginService'];async[_0x4caa47(0x18d)](_0x746f49,_0x491c3e,_0x5d598f,_0x677c4e){const _0x5d80f0=_0x4caa47;this[_0x5d80f0(0x319)]=_0x746f49,this[_0x5d80f0(0x265)]=_0x491c3e,this[_0x5d80f0(0x181)]=_0x677c4e?.['cache'],this[_0x5d80f0(0x18b)]=_0x677c4e?.['pluginService'],await this[_0x5d80f0(0x2a5)]();}async[_0x4caa47(0x2a5)](){}}import{existsSync,readFileSync}from'fs';import{createRequire}from'module';import{join as _0x446690}from'path';import{createHash}from'crypto';import{homedir}from'os';import{join as _0x3e4147}from'path';function pDataPath(){const _0x3f56c9=_0x4caa47,_0x3e0fba=createHash(_0x3f56c9(0x2ec))['update'](String(VomeConfig['keys']??_0x3f56c9(0x23f)))[_0x3f56c9(0x1c1)](_0x3f56c9(0x276));return _0x3e4147(homedir(),_0x3f56c9(0x19f),_0x3e0fba);}function pPluginPath(){const _0x111a32=_0x4caa47;return _0x3e4147(pDataPath(),_0x111a32(0x2a7));}function pModulesPath(){const _0x3a1c3c=_0x4caa47;return _0x3e4147(pDataPath(),_0x3a1c3c(0x262));}function pModulePath(_0x389d23){return _0x3e4147(pModulesPath(),_0x389d23);}var hostRequire=createRequire(import.meta.url);function pluginRequire(_0x4ed1fa){if(_0x4ed1fa==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire(_0x4ed1fa);}function loadPluginClass(_0x9c0d54){const _0x4c11f5=_0x4caa47;try{const _0x2774c9=_0x9c0d54['replace'](/export\s+const\s+Plugin\s*=/g,_0x4c11f5(0x210))[_0x4c11f5(0x313)](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')['replace'](/export\s+const\s+handlers\s*=/g,'var\x20handlers\x20=')[_0x4c11f5(0x313)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')['replace'](/export\s+class\s+(\w+)/g,_0x4c11f5(0x2f2))[_0x4c11f5(0x313)](/export\s+default\s+/g,'')[_0x4c11f5(0x313)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x4c11f5(0x313)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x4c11f5(0x313)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,_0x4c11f5(0x18e)),_0x1ed775=new Function(_0x4c11f5(0x1bd),_0x4c11f5(0x29e),_0x4c11f5(0x2ef),_0x4c11f5(0x294),_0x2774c9+_0x4c11f5(0x1a5)),_0x1452ed={'exports':{}};return _0x1ed775(BasePlugin,pluginRequire,_0x1452ed,_0x1452ed['exports']);}catch(_0x207165){throw new Error('[Plugin]\x20加载失败:\x20'+(_0x207165 instanceof Error?_0x207165[_0x4c11f5(0x225)]:String(_0x207165)));}}function readPluginScript(_0x5611fa){const _0x38985e=_0x4caa47,_0x19af28=_0x446690(pModulePath(_0x5611fa),_0x38985e(0x2e2),_0x38985e(0x260));if(existsSync(_0x19af28))return readFileSync(_0x19af28,_0x38985e(0x336));const _0x4c3609=_0x446690(pPluginPath(),_0x5611fa);if(!existsSync(_0x4c3609))return;try{const _0x2e82e8=JSON[_0x38985e(0x1cf)](readFileSync(_0x4c3609,_0x38985e(0x336)));return _0x2e82e8[_0x38985e(0x1e0)]?.[_0x38985e(0x30b)];}catch{return;}}import{existsSync as _0x17d619,readFileSync as _0x41ee9a,readdirSync as _0x431117,statSync}from'fs';import{createRequire as _0x5efd49}from'module';import{join as _0x48d507}from'path';function _0x6fbb(){const _0x157e00=['yNvUihnJCMLWDhmVB2jMDxnJyxrLlNrZ','D2fYBG','ignVBNrYB2XSzxiGzMLSzsHZkq','q09ntuvovcbptIbdt0Xvtu4G','AxnfCNjVCG','ioE8UUwWKsb0B2TLBIdMIjyGCMvZB2X2zq','Ahr0CdOVl2XVy2fS','iowpQUIdVEEuQos6JUAwUEAZLEwpGUAvSa','Aw5UzxjkB2LU','C3vWCg9YDhntB2z0rgvSzxrL','ioMhJEwKJsba','C3fS','yMvMB3jL','w1jVDxrLCL0G5PYQ55+L5y+c5PwW5P2L5RQqoIa','lMnZCW','CMvXDwvZDa','Aw5Zzxj0','yNvUihnJCMLWDhmVyNvPBgqTywrTAw4UDhm','l2rVy3m','B3bLBMfWAq','y3j1za','yNvUigj1AwXKic4VC3jJl2LUzgv4lNrZic4VC3jJl3nLCNzLCI9PBMrLEc50CYaTlw91DgrPCIaUl2rPC3qGls10yxjNzxqGyNvUic0TzM9YBwf0igvZBsaTlwv4DgvYBMfSigvSExnPysaTlwv4DgvYBMfSihjLzMXLy3qTBwv0ywrHDgeGls1LEhrLCM5HBcbKCML6EMXLlw9YBsaTlwv4DgvYBMfSigrYAxP6BguTEM9Kic0TzxH0zxjUywWGqgvSExnPywPZl29Wzw5HCgKGls1LEhrLCM5HBcbayM9NzxLJAgfUl2vSExnPys1SB2DNzxiGls1LEhrLCM5HBcbWAw5Vic0TzxH0zxjUywWGCgLUBY1WCMv0DhKGjIyGDhnJic1WihrZy29UzMLNlMj1AwXKlMPZB24GjIyGChjPBNrMiciLC1XUiIaIzxHWB3j0icOGzNjVBsaNlI9ZCMmVAw5KzxGNiIa+igrPC3qVAw5KzxGUzc50CYaMjIbTA2rPCIaTCcbKAxn0l3nLCNzLCIaMjIbWCMLUDgyGiIvZxg4IicjLEhbVCNqGkIbMCM9TicCUlI9ZCMmVC2vYDMvYl2LUzgv4jYiGpIbKAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','DMvYC2LVBG','5yIB5BU65PE26zE0','ugfYyw0','DMfSDwvZ','y2fJAgu','AwrZihjLCxvPCMvK','yM9KEq','sw52ywXPzcbHChaGA2v5','zgvMyxvSDe5VDW','ioE8UUwWKsbOyw5KBgvYoIa','pJ00lJaUma','Bw9KDwXLr2f0zxDHEq','AxnuvfK','zM9Yy2vezwXLDgu','CgX1z2LUu2vYDMLJzq','lI9KAxn0l2fKBwLUl2LUzgv4lMqUDhm','Aw5PDa','khSGqMfZzvbSDwDPBIb9kq','DMfYigHHBMrSzxjZid0','zgLZDa','Aw5MBW','ChvIBgLJ','w0jHC2vtzxj2AwnLxsdMNkRNU5hLRPRLRP7KVzpVViZOR7FKVB/NLkGGqeLUAMvJDfjLCg9ZAxrVCNKG5OIwihnLDevUDgL0Eq','8j+mJsdOV5dOOyZNJQ/LOOm6ia','CgfKu3rHCNq','D2vIqxv0Aa','zgvWyxj0BwvUDeLK','qM9KEq','zNjVBq','ChjVDg90ExbL','yM9VDhn0CMfW','Dg9mB3DLCKnHC2u','CM91DgvqyxjHBxm','CgLKlgHVC3rUyw1L','lNzVBwu','lI9KAxn0l2fKBwLUl2LUzgv4lMPZ','Bgf0zxn0','zw50Axr5','y3jLyxrL','ugX1z2LU','cNzHCIbFx1bSDwDPBIa9icH0ExbLB2yGugX1z2LUice9psaNDw5KzwzPBMvKjYKkica/ifbSDwDPBGOGidOGkg1VzhvSzs5LEhbVCNrZicyMicHTB2r1BguUzxHWB3j0CY5qBhvNAw4GFhWGBw9KDwXLlMv4Cg9YDhmUzgvMyxvSDcb8FcbTB2r1BguUzxHWB3j0CYKPoWPPzIaODhLWzw9Mif9FugX1z2LUid09psaNDw5KzwzPBMvKjYb8FcbFx1bSDwDPBIa9pt0GBNvSBcKGEWOGihrOCM93ig5LDYbfCNjVCIGNBwLZC2LUzYbLEhbVCNqGugX1z2LUjYK7cN0kCMv0DxjUif9FugX1z2LUoW','AgfUzgXLCIdNVlRLPle6ia','DxbZzxj0','w0nsvurDia','C3vTBwfYEq','zMLUze9Uzq','BNvTzxjPyW','Bgf5B3v0','DxjS','CgfNzsbMywLSzwq','lI9KAxn0l2LUzgv4lMqUDhm','kqOGia','revmrvrf','BgLZDgvU','BwLKzgXLD2fYzq','zw5KC1DPDgG','AxngAw5PDgu','5yIx6kgO5P+L6k+I','zgvSzxrLtwv0ywrHDge','y3DK','5QIH5z2xia','ywrKt3jKzxjcEq','C2vYDMLJzufWAxm','C29MDerLBgv0zq','qMfZzvbSDwDPBG','C3LZDgvT','zw5HyMXL','C3vJy2vZCW','zgLNzxn0','D2vI','lMH0BwW','ChjLzML4','zgLY','C3jJl2nVBMzPzW','lI9KAxn0l3nLCNzLCI9PBMrLEc5QCW','q2fJAgu','DMfSDwu','Chv0','DxnL','mc4WlJeZ','Bg9JywXLq29TCgfYzq','ywrTAw4','CgfYC2u','zgvSzxrL','AxngAwXL','C29Tzq','y29TBwvUDa','C2vYDMLJzq','B2zM','C2LKzq','ioEAHoEXU+wEI++8JoIVT+AyVUw8J+s8OowfPsb0B2TLBG','q29TBuv4y2vWDgLVBG','C2nOzw1H','CM91DgvpChrPB25Z','iowJSoAyJUs6HIbYB3v0zxmG5l2g57Y65BcrihnLCNzLCI9PBMrLEc5QCW','lM1HCa','lNbUzW','zMLLBgrmAwTL','BgvMDePVAw4','y29UDgvUDa','CgvYBxm','C2v0rw50Axr5','Dg9tDhjPBMC','Aw50zxjUywWGC2vYDMvYigvYCM9Y','w1jVDxrLCL0GCMvNAxn0zxjLzcdIHPaG','w0HVC3rDignYDwqG4OAqieb2B21LlwnVCMuVB3jT','u1vdq0vtuW','z2v0rgf0zq','DgvZDa','yxv0B0nYDwq','ioMfJEE9RUs6HIbHCgKVC2vYDMLJzufWAxpVViZKVyBMNkRMIB7LIlaGq1jvrcdLRP7NJRdVViHaDM9Tzs1JB3jLigf0DgfJAenYDwrsB3v0zxmG5PYQ5OYc6l2977Yj','lMPWzW','AwqGCMvXDwLYzwq','BgvUz3rO','ChjVCgvYDhLoyw1L','z2v0vgLTzq','ChvZAa','z2v0u3rVCMu','zw52','C3jJl2XPyI9KyI9PBMrLEc50CW','zhjPENPSzq','ChjVzc50CW','mty2odu0BgL5Axbe','zgLJDa','zgvMyxvSDa','u0Lhvevstq','kIOVBw9KDwXLCY8Ql2nVBNrYB2XSzxiVyxbWlYOQlYOUDhm','C3yTu0u','rvjst1i','C2XPy2u','z2v0uMvWBW','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','pJ0YlJaUma','ufvu','ywnJzxnZlwnVBNrYB2WTywXSB3CTB3jPz2LU','zgvIDwC','5PU05PAW5PE26zE0','vM9TzsbMCMfTzxDVCMSG4OcuihnOyxjLzcaRiej1BI9fBhLZAweGC2vYDMvYicSGvNvLigfKBwLU','DM9TztPJB250CM9SBgvYoNjVDxrLlxbHCMfTCW','AxneAxjLy3rVCNK','Bwf4rgf5CW','Bw9Kzq','C2nHBG','zxjYB3i','DxbKyxrLigzHAwXLza','mteWmJy1z3rbuMv5','Ec1MB3j3yxjKzwqTAg9ZDa','DMfYifbSDwDPBIa9','ntGZmJe1DhjNCvDT','ywXS','Dw5RBM93BG','zgvMAw5Ltwv0ywrHDge','C3rKB3v0','zw50CMLLCW','CMvXDwLYzuvUDgL0Eq','w0LVy10G','Aw5Zzxj0ugfYyw0','ywn0Aw9U','tK9erv9ftLy','z2v0rNvSBfLLyxi','CxvLCNK','zMLLBgrsyw5Nzq','Bw9KAwz5qMvMB3jL','l2XPC3q','C3jJl2XPyI9JywnOzs9PBMrLEc50CW','zgvSzxrLzef0','y29UDgvUDc10ExbL','BNvTyMvY','BwvZC2fNzq','mZi1nJfhyLrKENK','8j+tOsdMNi3LIQhLNldLNya6ia','Ec1MB3j3yxjKzwqTzM9Y','lI9KAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','yMvMB3jLsgfUzgXL','C2nHBgfY','lNDVzMyY','kgfUB255Bw91CYK','C3rYAw5NAwz5','ywrTAw5bDxrO','zMLLBgrfCq','w2nVBhvTBKnVBw1LBNrZxsdPNz7MS5xMOiFOR4BNRky6ia','yxbW','yxbP','DxbKyxrL','x19ZA2LWvgvUyw50','yMLUza','Cgf0y2G','y3jLyxrLvgLTzq','w0LVy10GuMvXDwvZDcdKVzZNLkJLN5/POBVLNkJOR7FMSylKUiRKUiVMLOFKUk3OP6pMNPdVViJOR7FNOA7ORQqGyxn5BMndB250zxH0twfUywDLCI5LBMfIBgxVViK','zgvZy3jPChrPB24','ihnPBMDSzxrVBIHZkq','C3jJl2XPyI9WBhvNAw4VAw5KzxGUDhm','D2L0AfrYyxnOzwq','BwLU','DM9Tzq','ios4JEAyR+ACIEAvIcbOyw5KBgvY','Aw5MB0LNBM9YzvbYB3bLCNr5','Dgv4Dc9JC3m7ignOyxjZzxq9DxrMltG','tM90iezVDw5K','zgvZyW','xJeUnc4Xnq','DMfYigHHBMrSzxjZid0GEW','DhjHC2G','y2fSBa','cMLMicH0ExbLB2yGAgfUzgXLCNmGpt09icD1BMrLzMLUzwqNksbYzxr1CM4GBNvSBdSkCMv0DxjUigHHBMrSzxjZoW','5y2v5lIQ5l+H5OgV','CMvZDg9YzsbMywLSzwq','AM9PBG','6lEV55sX5lIn5A2y5zYO','BM8Ty2fJAgu','pJ0ZlJuUma','pJ0Xmc4WlJa','C2L6zq','z2v0u1fm','mtC5mtaYn1PbvezpsG','mtjHuNDUuuO','C291CMnL','yNvUihj1BIbIDwLSzcaMjIbIDw4GCNvUig9IzNvZy2f0zq','CMvXDwvZDeXVzW','Bwf4','C2nVCgvKv2HLCMu','y29SDw1Ux25HBwu','Dgv4Dc9ODg1SoYbJAgfYC2v0pxv0zI04','C3jJl21PzgrSzxDHCMuVAw5KzxGUDhm','Bwf0y2G','DM9TztPJB250CM9SBgvYoNjVDxrLlxb1yMXPyW','w29IAMvJDcbpyMPLy3rD','Aw5KzxGUANm','DhLWzq','Bw9KDwXLCW','C2LUz2XLDg9U','Bg9N','y3r4','y291BNq','DgfNCW','Dw5ZywzL','w0LVy10Gsw9JlNnLDcG','yNvUihj1BIbIDwLSzdPVyMz1C2nHDgu','DhjHBNnWB3j0','CgfNzq','5QIH5z2x5PYQ5yQG6l29','C2nVCgvK','y2fJAguTy29UDhjVBa','A2v5v29Yza','DhLWAw5NCY9Hzg1PBG','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xOVA/LIkdPMAq','yxv0Aa','BwfW','CMv0DxjUAw5N','Agv4','l2LUzM8','AgvHzgvYCW','qxbWig5VDcbMB3vUza','ihjVDxrLkhmP','57Y65Bcrig1VzhvSzs5QC29UoIa','w0HVC3rDihnRAxaG4OAqig1PC3nPBMCG','ksdPNidOPOeGy2XHC3mG5A6E5l6l77Ym5lUL5l6/56gU5A6AihvZzunSyxnZ','BgLZDcbMywLSzwq','C3rHCNq','lMXVzW','C3jJl2XPyI9TB2r1BguVAw5KzxGUDhm','r0vu','CM0GlxjMigrPC3qGjIyGyNvUihj1BIbIDwLSzdPZzxj2zxiGjIyGyNvUihj1BIbIDwLSzdPHzg1PBG','ywrTAw5jza','Bw9KDwXLlwDHDgv3yxK','Bgv2zwW','vgfZAW','l3vWzgf0zq','BgLZDa','xJaUms4Xma','yxnZAwDU','y29UDgfPBNm','Dg9vChbLCKnHC2u','CMfUz2u','zgf0yvnJB3bL','zxH0zw5K','Axnoyu4','zMLUza','DM9TztPJB250CM9SBgvYoNjVDxrLCY1Wzw5KAw5N','zxHWB3j0CW','BwLJCM8TyxbWCY1ZDgf0Awm','ioIHQoAxOcbPzcdLIjC','Ec1YzwfSlwLW','w0LVy10GqeLUAMvJDcdML6dMS5xMJQJMLQ0G','Cg9YDa','AgfUzgXLCNm','zMLSDgvY','nZeWmty4uMDsrw1i','DxnLq2XHC3m','CMvXDwLYzq','BgfZDeLUzgv4t2y','CMvXDwvZDfbHCMfT','Bg9Hza','C2v0rgf0zq','ndCYmJK4CK95CNrP','pJ0WlJuUma','CMvHzhK','DgfIBgu','CgX1z2LU','zgvSzxrLigzHAwXLza','lI90ExbPBMDZl2fKBwLUlYO','A2v5CW','DM9TztPJB250CM9SBgvYoNjVDxrLlw1PzgrSzxDHCMu','zM9Yy2u','y29SDw1U','pJ05lJaUma','zw50zxjxAxrO','CMfUzg9Tvvvjra','w0nVBNrYB2XSzxjDiea','l2rLBgv0zq','zM9YBwf0','y29UDhjVBgXLCG','Aw5KzxGUAhrTBa','y2XVC2u','AwrZ','pJ0XlJaUma','BM90tNvSBa','DM9TztPPBMPLy3q','AgfUzgXLCG','C3LTyM9S','cUkwIokwIokvLYaGiokwIokwIokvLYaGiokwIokwIokwIokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcUkwIokwIokvKsaGiokwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4PwxicdILOJILOJILOJILOJILzCG4PAi4PAi4PAi4PAi4PwricdILOJILOJILztILzdILzdILzdILzdILz0k4PAi4PAi4PwricaG4PAi4PAi4PwricdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvLokwIokwIokwIokwIokvLokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PwxcIdILOJILOJILzCG4PAi4PAi4Pwu4PwDicdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvKEkvMUkwIokwIokvLokvNEkwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4PwDcIaG4PwA4PAi4PAi4PAi4Pwu4PwDicaG4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwDicdILOJILOJILzeG4PwA4Pwq4PwDiokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcIaGiokvMUkvKokvKokvNsaGicaG4PwA4Pwq4Pwq4Pwq4Pwq4Pwq4PwDicaG4PwA4Pwq4PwDicaGicdILzRILzdILz0GiokvMUkvKokvKokvKokvKokvKokvKokvNqO','jg9UvxbKyxrL','Ag9ZDa','DgvUyw50swq','BwLZC2LUzYbLEhbVCNqGAgfUzgXLCNm','CgfYyw1Z','pJ0WlJiUma','qxnPys9tAgfUz2HHAq','xJeZlJeUmW','DxbKyxrLvgLTzq','C3rHDhvZ','B2zMC2v0','l2fWCa','zMLUzej5swq','CgfYC2vjBNnLCNq','ue9tva','uMvXDwvZDa','DM9TztPJB250CM9SBgvYoNjVDxrLlwLNBM9Yzs1WzxjTCW','AxntDxbLCG','Aw1Hz2uVCg5N','ywrKigzHAwXLza','AhjLzG','B3jKzxjcEvnXBa','5yIG6zMK5PE26zE0','C3rHDhvZq29Kzq','Aw1Hz2uVC3zNk3HTBa','lI9KAxn0l2fKBwLUl3n0EwXLCY9IyxnLlMnZCW','xJaUoc4Z','C2nVCgu','rw50Axr5','y2XLyxi','CM91DgvZ','BwLJCM9bChbZ','zMLLBgrbCNjHEq','B2jQzwn0','w0LVy10G5PYQ5RoO5yAm55QeifbYB3zPzgvYoIa','Cg9W','C2vYDMvY','Cg9ZDa','BgLTAxq','tuLu','tK9ux0zpvu5e','DgvUyw50','CMvZB2X2zuLKv2HLCMu','zMLSzq','zNvUy3rPB24','C2vSzwn0','Bwq1','C3rYAw5N','cIaGicbtruXfq1qkicaGicaGyY5YzwXUyw1LieftihrHyMXLx25HBwuScIaGicaGigeUyxr0BMfTzsbbuYbJB2X1Bw5FBMfTzsWkicaGicaGy29Sx2rLC2nYAxb0Aw9UkgeUyxr0CMvSAwqSigeUyxr0BNvTksbbuYbJB21Tzw50cIaGicbguK9nihbNx2nHDgfSB2CUCgDFy2XHC3mGyWOGicaGsK9jtIbWz19JyxrHBg9NlNbNx25HBwvZCgfJzsbUie9oig4UB2LKid0GyY5YzwXUyw1LC3bHy2ukicaGiePpsu4GCgDFy2f0ywXVzY5Wz19HDhrYAwj1DguGysbptIbHlMf0DhjLBgLKid0GyY5VAwqkicaGifDirvjfigmUCMvSA2LUzca9icDYjWOGicaGicbbtKqGBI5UC3bUyw1Lid0Gy3vYCMvUDf9Zy2HLBweOkqOGicaGicbbtKqGys5HDhrUDw0GpIaWcIaGicaGieforcbot1qGys5HDhrPC2rYB3bWzwqkicaGicaGqu5eigmUCMvSBMfTzsbjtIaO','Bw9KDwXL','qxv0Aa','5yIg6Ag15P+L6k+I','y2XHC3mGjde','uhjVDg90ExbL','C3jJl2XPyI90yxnRl2LUzgv4lNrZ','yxnJ','ieLticC','qNvU','D2HLCMu','w0fWCf0G5BEY5zcV5yQO77Ym6k+35ywiiefWCc5ZDg9WkcKG5yAnihn0yxj0','Aw5KzxG','w1jVDxrLCL0G','Bw9KDwXLlMPZB24','DxbKyxrLqNLsB3DZ','Aw1Hz2uVANbLzW','BM90igzVDw5K','y29UC3rYDwn0B3i','ywrK','C2v0','D3jPDgu','BM9Uzq','zMfPBa','kIOVBw9KDwXLCY8Ql3nLCNzPy2uVkIOVkI50CW','z2v0twv0ywrHDge','w1jLCg9ZAxrVCNLDioIHQoAxOcbPzcdLIjFVViZOR7FMLlNNLkGGzMLUzcH3AgvYzsKGlYbMAw5Kt25LkhDOzxjLkq','l3bHz2u','BMfTzq','zgf0yq','AgfZ','Bw9KAwz5qwz0zxi','Aw5JBhvKzxm','C3jJl2XPyI9HDxrOl2LUzgv4lNrZ','y2XPzw50','x19ZA2LWrgf0yvnJB3bL','lNDVzMy','CMvWBgfJzq','w0nVBNrLEhrDiow9K+wjJEAxOoIVT+AXGUs4IUs4I+AwH++8JowgMEwfPEIIQ+w/VEEvPE+8IoIVT+EHRUIUPcbHC3LUy0nVBNrLEhrnyw5Hz2vYiow3SUwqR+EuQo+8Iq','Bwv0Ag9K','zxHPDa','xJeWlJmUmq','igzHAwXLza','CgX1z2LUsw5MBW','Cgf0Aa','CMvZDg9Yzq','l3zVBwuVyxbWCW','icHJCNvKkq','AgfZrw50Axr5','Dg9Rzw4','zgv2','uxvLCNK','AxnbCNjHEq','A2v5','zMLUzfbHz2u','CgfNzvf1zxj5t3a','DM9TztPJB250CM9SBgvYoNjVDxrLlxbLCM1Z','ChjVza','B3jKzxi','A2v5v29YzeXPA2vgAwvSzhm','zw5K','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xMGAlLPi0','zgv2lNrZ','DhjPBq','C29YDa','lNn2zW','C3bSAxq','z2v0','zg9JDw1LBNrHDgLVBG','B3jKzxjcEq','B25SEvrYyxnOzwq','C3rHCNrZv2L0Aa','DxrMoa','ioMCGoMfJEE9RIbLBNrPDhKG5OIwihnLCNzPy2u','lI9KAxn0l2LUzgv4lMPZ','mI1KAwDPDa','6z2E5Rov5QIH5z2xigTLEtOG','pJ0ZlJaUma','C2f2zq','w01VzhvSzv0GBg9HzgvKia','y29Kzq'];_0x6fbb=function(){return _0x157e00;};return _0x6fbb();}var registry2=new Map(),hostRequire2=_0x5efd49(import.meta.url);function pluginRequire2(_0x3a7b5c){if(_0x3a7b5c==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire2(_0x3a7b5c);}function normalizePath(_0x4a12a1){const _0x1345a9=_0x4caa47,_0x4b1129=_0x4a12a1[_0x1345a9(0x335)]('/')?_0x4a12a1:'/'+_0x4a12a1;return _0x4b1129[_0x1345a9(0x313)](/\/+$/,'')||'/';}function normalizeMethod(_0x195636){const _0x15eb56=_0x4caa47;return _0x195636[_0x15eb56(0x28d)]();}function normalizeModuleScript(_0xee1431){const _0x32e4d1=_0x4caa47;return _0xee1431[_0x32e4d1(0x313)](/export\s+const\s+handlers\s*=/g,_0x32e4d1(0x18f))[_0x32e4d1(0x313)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')['replace'](/export\s+default\s+\{/g,_0x32e4d1(0x246))[_0x32e4d1(0x313)](/export\s+const\s+Plugin\s*=/g,'var\x20Plugin\x20=')[_0x32e4d1(0x313)](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')[_0x32e4d1(0x313)](/export\s+class\s+(\w+)/g,_0x32e4d1(0x2f2))[_0x32e4d1(0x313)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x32e4d1(0x313)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x32e4d1(0x313)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,'({\x20BasePlugin\x20})');}function loadModuleHandlers(_0x1f2be5,_0x4ba0be=!![]){const _0x22d8b9=_0x4caa47,_0x57945c=normalizeModuleScript(_0x1f2be5),_0xbb760a=new Function(_0x22d8b9(0x1bd),_0x22d8b9(0x29e),'module',_0x22d8b9(0x294),_0x57945c+_0x22d8b9(0x249)),_0x3868c2={'exports':{}},_0x568e31=_0xbb760a(BasePlugin,pluginRequire2,_0x3868c2,_0x3868c2[_0x22d8b9(0x294)]);if(!_0x568e31||typeof _0x568e31!==_0x22d8b9(0x2df)){if(_0x4ba0be)throw new Error(_0x22d8b9(0x2c1));return{};}return _0x568e31;}var ModuleRegistry={'get'(_0x2f6a6c){return registry2['get'](_0x2f6a6c);},'list'(){const _0xfd0292=_0x4caa47;return[...registry2['entries']()][_0xfd0292(0x274)](([_0x401648,_0x5790b3])=>({'key':_0x401648,'manifest':_0x5790b3['manifest'],'routes':_0x5790b3[_0xfd0292(0x2dc)]}));},'load'(_0x110011){const _0x401cb6=_0x4caa47;if(!_0x110011||!/^[a-zA-Z0-9_-]+$/['test'](_0x110011))throw new Error(_0x401cb6(0x33a)+_0x110011);const _0x27deda=pModulePath(_0x110011),_0x57f04b=_0x48d507(_0x27deda,_0x401cb6(0x2fc));if(!_0x17d619(_0x57f04b))throw new Error(_0x401cb6(0x27b)+_0x110011);const _0x38b72c=JSON[_0x401cb6(0x1cf)](_0x41ee9a(_0x57f04b,_0x401cb6(0x336))),_0xe2a480=(_0x38b72c[_0x401cb6(0x2dc)]??[])[_0x401cb6(0x274)](_0xa85efa=>({..._0xa85efa,'method':normalizeMethod(_0xa85efa[_0x401cb6(0x315)]),'path':normalizePath(_0xa85efa[_0x401cb6(0x31a)])}));let _0x2712c3={};const _0x5ce0f9=_0x48d507(_0x27deda,_0x401cb6(0x2e2),_0x401cb6(0x260));if(_0x17d619(_0x5ce0f9)){const _0x398bec=_0x41ee9a(_0x5ce0f9,_0x401cb6(0x336));_0x2712c3=loadModuleHandlers(_0x398bec,_0xe2a480[_0x401cb6(0x1ee)]>0x0);for(const _0x5e4c4e of _0xe2a480){if(typeof _0x2712c3[_0x5e4c4e['handler']]!==_0x401cb6(0x2ea))throw new Error(_0x401cb6(0x1b9)+_0x110011+_0x401cb6(0x186)+_0x5e4c4e[_0x401cb6(0x2bb)]);}}else{if(_0xe2a480[_0x401cb6(0x1ee)])throw new Error(_0x401cb6(0x1b9)+_0x110011+_0x401cb6(0x1db));}return registry2[_0x401cb6(0x302)](_0x110011,{'manifest':_0x38b72c,'handlers':_0x2712c3,'routes':_0xe2a480}),registry2['get'](_0x110011);},'unload'(_0xef4760){const _0x7b3f5a=_0x4caa47;registry2[_0x7b3f5a(0x1d0)](_0xef4760);},async 'dispatch'(_0x2dd78c,_0x10271e,_0x392e8c,_0x17cd00){const _0x41783f=_0x4caa47,_0x4a654f=registry2['get'](_0x2dd78c);if(!_0x4a654f)return{'ok':![],'status':0x194,'message':_0x41783f(0x26d)};const _0x1e52c9=normalizeMethod(_0x10271e),_0x3a21c4=normalizePath(_0x392e8c),_0x49782b=_0x4a654f[_0x41783f(0x2dc)]['find'](_0x4f72c0=>_0x4f72c0[_0x41783f(0x315)]===_0x1e52c9&&_0x4f72c0[_0x41783f(0x31a)]===_0x3a21c4);if(!_0x49782b)return{'ok':![],'status':0x194,'message':_0x41783f(0x24d)};const _0x54ae78=_0x4a654f[_0x41783f(0x29a)][_0x49782b['handler']];if(typeof _0x54ae78!==_0x41783f(0x2ea))return{'ok':![],'status':0x1f4,'message':_0x41783f(0x1a6)+_0x49782b['handler']};try{const _0x1b8283=await _0x54ae78(_0x17cd00);return{'ok':!![],'data':_0x1b8283,'route':_0x49782b};}catch(_0x7a4e0a){const _0x46484d=_0x7a4e0a instanceof Error?_0x7a4e0a[_0x41783f(0x225)]:String(_0x7a4e0a);return{'ok':![],'status':0x1f4,'message':_0x46484d,'route':_0x49782b};}},'bootstrap'(){const _0x38fe69=_0x4caa47,_0x5c3a9a=pModulesPath();if(!_0x17d619(_0x5c3a9a))return;for(const _0x396eb3 of _0x431117(_0x5c3a9a)){const _0x1664c4=_0x48d507(_0x5c3a9a,_0x396eb3);if(!statSync(_0x1664c4)[_0x38fe69(0x208)]())continue;if(!_0x17d619(_0x48d507(_0x1664c4,'module.json')))continue;try{this[_0x38fe69(0x2a1)](_0x396eb3),console[_0x38fe69(0x264)](_0x38fe69(0x33d)+_0x396eb3);}catch(_0x34cc48){console['warn']('[Module]\x20load\x20failed\x20'+_0x396eb3+':',_0x34cc48 instanceof Error?_0x34cc48[_0x38fe69(0x225)]:_0x34cc48);}}}};import{existsSync as _0x1da566,statSync as _0x4449fd}from'fs';import{join as _0x2092a0,normalize,sep}from'path';import{Elysia as _0x1e7f19}from'elysia';var PREFIX=_0x4caa47(0x31c);function contentType(_0x387ea2){const _0x1b0ae6=_0x4caa47,_0x456285=_0x387ea2[_0x1b0ae6(0x19c)]();if(_0x456285['endsWith'](_0x1b0ae6(0x1c3)))return _0x1b0ae6(0x25b);if(_0x456285[_0x1b0ae6(0x1b4)]('.js')||_0x456285[_0x1b0ae6(0x1b4)]('.mjs'))return'application/javascript;\x20charset=utf-8';if(_0x456285[_0x1b0ae6(0x1b4)](_0x1b0ae6(0x175)))return _0x1b0ae6(0x242);if(_0x456285[_0x1b0ae6(0x1b4)]('.json'))return'application/json;\x20charset=utf-8';if(_0x456285[_0x1b0ae6(0x1b4)](_0x1b0ae6(0x32f)))return _0x1b0ae6(0x2d6);if(_0x456285[_0x1b0ae6(0x1b4)](_0x1b0ae6(0x1dd)))return _0x1b0ae6(0x2d0);if(_0x456285['endsWith'](_0x1b0ae6(0x1ec))||_0x456285[_0x1b0ae6(0x1b4)]('.jpeg'))return _0x1b0ae6(0x2fe);if(_0x456285[_0x1b0ae6(0x1b4)](_0x1b0ae6(0x22c)))return'font/woff2';if(_0x456285[_0x1b0ae6(0x1b4)](_0x1b0ae6(0x312)))return'font/woff';if(_0x456285[_0x1b0ae6(0x1b4)](_0x1b0ae6(0x1dc)))return'application/json';return _0x1b0ae6(0x200);}var microApps=new _0x1e7f19({'name':_0x4caa47(0x295)})[_0x4caa47(0x331)](PREFIX+'/*',({params:_0x284561,set:_0x15168})=>{const _0x535995=_0x4caa47,_0x211af9=String(_0x284561['*']||''),_0xf697a5=_0x211af9[_0x535995(0x330)]('/')[_0x535995(0x29b)](Boolean);if(!_0xf697a5[_0x535995(0x1ee)])return _0x15168[_0x535995(0x2c7)]=0x194,_0x535995(0x243);const _0x1391ec=_0xf697a5[0x0];if(!/^[a-zA-Z0-9_-]+$/[_0x535995(0x1e9)](_0x1391ec))return _0x15168[_0x535995(0x2c7)]=0x190,_0x535995(0x184);const _0x3cb088=_0x2092a0(pModulePath(_0x1391ec),_0x535995(0x1c2));if(!_0x1da566(_0x3cb088)||!_0x4449fd(_0x3cb088)[_0x535995(0x208)]())return _0x15168['status']=0x194,_0x535995(0x279);let _0x2b3be1=_0xf697a5[_0x535995(0x1fe)](0x1)[_0x535995(0x24c)]('/')||'index.html';if(_0x2b3be1[_0x535995(0x1b4)]('/'))_0x2b3be1+=_0x535995(0x2b5);const _0x355937=normalize(_0x2092a0(_0x3cb088,_0x2b3be1));if(!_0x355937[_0x535995(0x335)](_0x3cb088+sep)&&_0x355937!==_0x3cb088)return _0x15168[_0x535995(0x2c7)]=0x193,'Forbidden';let _0x25afeb=_0x355937;_0x1da566(_0x25afeb)&&_0x4449fd(_0x25afeb)[_0x535995(0x208)]()&&(_0x25afeb=_0x2092a0(_0x25afeb,_0x535995(0x2b5)));if(!_0x1da566(_0x25afeb)||!_0x4449fd(_0x25afeb)[_0x535995(0x1d1)]())return _0x15168[_0x535995(0x2c7)]=0x194,_0x535995(0x243);return _0x15168[_0x535995(0x278)][_0x535995(0x223)]=contentType(_0x25afeb),_0x15168[_0x535995(0x278)][_0x535995(0x26f)]=_0x535995(0x24e),_0x15168[_0x535995(0x278)][_0x535995(0x203)]='*',Bun[_0x535995(0x2e9)](_0x25afeb);});import{Elysia as _0x45505d}from'elysia';function ok(_0x5deef4){const _0xbab9d9=_0x4caa47;return{'code':RES_CODE[_0xbab9d9(0x1e7)],'message':_0xbab9d9(0x1c0),'data':_0x5deef4??null};}function fail(_0x3dfbc4,_0x2ea9ab=RES_CODE[_0x4caa47(0x1fd)]){return{'code':_0x2ea9ab,'message':_0x3dfbc4};}async function handleExt(_0xdaae64){const _0x3954ce=_0x4caa47,_0x27868b=_0xdaae64[_0x3954ce(0x2c2)][_0x3954ce(0x323)];if(!_0x27868b||!/^[a-zA-Z0-9_-]+$/[_0x3954ce(0x1e9)](_0x27868b))return _0xdaae64[_0x3954ce(0x302)][_0x3954ce(0x2c7)]=0x190,fail('\u975E\u6CD5\u6A21\u5757\x20key');const _0x16ac2c=String(_0xdaae64['params']['*']||''),_0x5054ca=('/'+_0x16ac2c)[_0x3954ce(0x313)](/\/+/g,'/'),_0x51f4ea=Context[_0x3954ce(0x331)](),_0x156e8c=ModuleRegistry[_0x3954ce(0x331)](_0x27868b);if(!_0x156e8c)return _0xdaae64[_0x3954ce(0x302)]['status']=0x194,fail('\u6A21\u5757\u672A\u5B89\u88C5\u6216\u672A\u52A0\u8F7D');const _0x4864c5=_0xdaae64[_0x3954ce(0x176)][_0x3954ce(0x315)][_0x3954ce(0x28d)](),_0x478e45=_0x5054ca[_0x3954ce(0x313)](/\/+$/,'')||'/',_0x2f5b37=_0x156e8c['routes']['find'](_0x12fc98=>_0x12fc98[_0x3954ce(0x315)]===_0x4864c5&&_0x12fc98[_0x3954ce(0x31a)]===_0x478e45);if(!_0x2f5b37)return _0xdaae64[_0x3954ce(0x302)][_0x3954ce(0x2c7)]=0x194,fail(_0x3954ce(0x24d));if(_0x2f5b37['perms']&&!_0x51f4ea?.[_0x3954ce(0x2cf)]){const _0x23cf79=_0x51f4ea?.[_0x3954ce(0x1e1)]??[];if(!_0x23cf79[_0x3954ce(0x30e)](_0x2f5b37['perms']))return _0xdaae64[_0x3954ce(0x2c7)](0x193);}const _0x321cc8=await ModuleRegistry['dispatch'](_0x27868b,_0x4864c5,_0x5054ca,{'body':_0xdaae64[_0x3954ce(0x183)],'query':_0xdaae64[_0x3954ce(0x21d)]??{},'params':_0xdaae64[_0x3954ce(0x2c2)],'headers':_0xdaae64['request'][_0x3954ce(0x278)],'adminId':_0x51f4ea?.[_0x3954ce(0x284)]});if(!_0x321cc8['ok'])return _0xdaae64['set']['status']=_0x321cc8[_0x3954ce(0x2c7)],fail(_0x321cc8['message']);return ok(_0x321cc8[_0x3954ce(0x30b)]);}function createModuleGateway(_0x28948b){const _0x5e8187=_0x4caa47;return new _0x45505d({'name':_0x5e8187(0x285)})[_0x5e8187(0x1cb)](_0x28948b['adminAuth'])['all']('/admin/ext/:key/*',handleExt,{'adminAuth':!![]})['all']('/admin/ext/:key',handleExt,{'adminAuth':!![]});}import{Elysia as _0x46c002}from'elysia';function defineAuthMacro(_0xc6a160,_0x426fd5){const _0x20d569=_0x4caa47;return new _0x46c002({'name':_0xc6a160+'-macro'})['macro']({[_0xc6a160]:{'resolve':_0x426fd5}})['as'](_0x20d569(0x26e));}var package_default={'name':'vome-core','version':_0x4caa47(0x1cc),'description':_0x4caa47(0x206),'license':_0x4caa47(0x2e5),'type':_0x4caa47(0x2ef),'files':[_0x4caa47(0x190),'src/shared',_0x4caa47(0x271)],'main':_0x4caa47(0x338),'types':_0x4caa47(0x1af),'exports':{'.':{'types':'./dist/index.d.ts','import':_0x4caa47(0x338),'default':_0x4caa47(0x338)},'./server':{'types':_0x4caa47(0x229),'import':'./dist/server/index.js','default':_0x4caa47(0x1c7)},'./admin':{'types':_0x4caa47(0x18c),'import':_0x4caa47(0x1a0),'default':_0x4caa47(0x1a0)},'./admin/*':'./dist/admin/*','./admin/styles/base.css':_0x4caa47(0x2d7),'./typings/*':_0x4caa47(0x2a9)},'scripts':{'build:server':_0x4caa47(0x17c),'build:admin':_0x4caa47(0x178),'build':_0x4caa47(0x283),'obfuscate':_0x4caa47(0x167),'build:obfuscate':_0x4caa47(0x256),'prepublishOnly':_0x4caa47(0x26a)},'peerDependencies':{'elysia':_0x4caa47(0x2b8),'reflect-metadata':_0x4caa47(0x2c3),'drizzle-orm':'>=0.30.0','drizzle-zod':_0x4caa47(0x2a4),'vue':_0x4caa47(0x24f),'vue-router':_0x4caa47(0x187),'pinia':_0x4caa47(0x201),'vue-sonner':_0x4caa47(0x201),'@vueuse/core':_0x4caa47(0x250),'clsx':_0x4caa47(0x201),'tailwind-merge':_0x4caa47(0x201),'dompurify':_0x4caa47(0x33b),'marked':_0x4caa47(0x2ae)},'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':_0x4caa47(0x1a1),'drizzle-orm':_0x4caa47(0x1a1),'drizzle-zod':_0x4caa47(0x2d8),'elysia':_0x4caa47(0x1a1),'javascript-obfuscator':'^5.4.7','reflect-metadata':'^0.2.2','typescript':_0x4caa47(0x1a1)},'dependencies':{'@bogeychan/elysia-logger':_0x4caa47(0x28a),'@elysiajs/openapi':_0x4caa47(0x245),'pino':_0x4caa47(0x317),'pino-pretty':_0x4caa47(0x2c5)}},version=package_default[_0x4caa47(0x17d)];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};